/* Grove Original retains DM Sans + Libre Caslon Display. The three statement
   versions use the Montserrat lettering Gabriel liked in the masthead.
   Cinzel remains licensed in the archive for future projects, not on the hero. */
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-medium.woff') format('woff');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-semibold.woff') format('woff');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Libre Caslon Display';src:url('/assets/fonts/libre-caslon-display.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat-semibold.woff') format('woff');font-style:normal;font-weight:600;font-display:swap}
html[data-palette]:not([data-palette="grove"]) body{font-family:Montserrat,Arial,sans-serif}
html[data-palette]:not([data-palette="grove"]) :is(h1,h2,h3,.serif,.property-price,.team-monogram){font-family:Montserrat,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.12;letter-spacing:-.035em}
html[data-palette]:not([data-palette="grove"]) :is(h1 em,h2 em){font-style:normal}
html[data-palette]:not([data-palette="grove"]) h1{font-size:clamp(44px,6.3vw,96px)}
html[data-palette]:not([data-palette="grove"]) h2{font-size:clamp(33px,3.8vw,58px)}
html[data-palette]:not([data-palette="grove"]) :is(h3,.card h3,.resource h3,.listrow h3){font-size:26px;line-height:1.25;letter-spacing:-.02em}
html[data-palette]:not([data-palette="grove"]) .logo{font-family:Montserrat,Arial,sans-serif;font-weight:400;font-size:16px;letter-spacing:.16em;max-width:190px}
html[data-palette]:not([data-palette="grove"]) :is(nav a,.button,.text-link,.tag,.eyebrow,.filter,.status){font-weight:600}
html[data-palette]:not([data-palette="grove"]) .button{letter-spacing:.08em}
html[data-palette]:not([data-palette="grove"]) .eyebrow{line-height:1.7}
html[data-palette]:not([data-palette="grove"]) .hero-copy{max-width:900px}
html[data-palette]:not([data-palette="grove"]) .hero-illustrated h1{font-size:clamp(54px,7vw,108px);line-height:1.04;letter-spacing:-.055em;margin:.24em 0}
html[data-palette]:not([data-palette="grove"]) .hero-illustrated h1 em{display:inline-block;border-bottom:4px solid #ff6200;padding-bottom:.06em}
html[data-palette]:not([data-palette="grove"]) .pagehero h1{font-size:clamp(43px,5.6vw,84px)}
html[data-palette]:not([data-palette="grove"]) .property-body h3{font-size:clamp(26px,2.6vw,38px)}
html[data-palette]:not([data-palette="grove"]) .property-price{font-size:30px}
html[data-palette]:not([data-palette="grove"]) .feature-art{font-family:Montserrat,Arial,sans-serif;font-size:clamp(48px,6vw,95px);letter-spacing:-.055em;font-weight:600;line-height:1.05}
html[data-palette]:not([data-palette="grove"]) .sold-teaser p{font-family:Montserrat,Arial,sans-serif;font-size:clamp(26px,3.2vw,46px);line-height:1.2;letter-spacing:-.035em}
.palette-switcher{font-family:Montserrat,Arial,sans-serif}.palette-heading h2{font-family:Montserrat,Arial,sans-serif;font-size:25px;letter-spacing:-.04em;line-height:1.15;font-weight:400}.palette-choice-copy strong{font-weight:600}.palette-choice-copy>span{line-height:1.4}
@media(max-width:650px){
 html[data-palette]:not([data-palette="grove"]) .logo{font-size:14px;letter-spacing:.12em}
 html[data-palette]:not([data-palette="grove"]) .hero-illustrated h1{font-size:clamp(35px,10vw,60px);line-height:1.08;letter-spacing:-.05em}
 html[data-palette]:not([data-palette="grove"]) .hero-actions .button{font-size:11px;letter-spacing:.05em}
 html[data-palette]:not([data-palette="grove"]) .pagehero h1{font-size:clamp(35px,9vw,54px)}
 html[data-palette]:not([data-palette="grove"]) h2{font-size:clamp(30px,8vw,43px)}
 html[data-palette]:not([data-palette="grove"]) .feature-art{font-size:clamp(40px,11vw,64px);min-height:310px}
 html[data-palette]:not([data-palette="grove"]) .team-strip{font-size:10px;letter-spacing:0}
 html[data-palette]:not([data-palette="grove"]) .team-strip>.wrap{padding-left:16px;padding-right:16px}
 html[data-palette]:not([data-palette="grove"]) .property-bottom{font-size:11px;letter-spacing:.035em}
 .palette-heading h2{font-size:24px}.palette-trigger{font-size:12px}
}
@media(max-width:360px){.palette-choice-copy strong{font-size:12px}.palette-choice-copy>span{font-size:10px}}
/* Final design: strong headline only; other chosen Montserrat text stays intact. */
html[data-palette="noir"][data-palette] .hero-illustrated h1{font-family:'DM Sans',Arial,sans-serif;font-weight:600;font-size:clamp(58px,7.2vw,112px);letter-spacing:-.055em;line-height:1.02}
/* Preserve Grove's original oversized, staggered serif composition, recolored. */
html[data-palette="noir"][data-palette] .feature-art{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:clamp(54px,7vw,120px);line-height:.9;letter-spacing:-.065em;flex-direction:row;min-height:460px;padding:35px;background:#000;color:#ff6200}
html[data-palette="noir"][data-palette] .feature-art span{color:#fff;font-size:.45em;align-self:center;margin:0 .1em}
@media(max-width:900px){html[data-palette="noir"][data-palette] .feature-art{min-height:280px}}
@media(max-width:650px){html[data-palette="noir"][data-palette] .hero-illustrated h1{font-size:clamp(37px,10.3vw,64px);line-height:1.06;letter-spacing:-.045em}html[data-palette="noir"][data-palette] .feature-art{font-size:clamp(44px,12vw,64px);padding:24px;min-height:230px}}
