/* Shared type and spacing rules for desktop, tablet, and phone. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
header,main,footer,section,article,nav,.split>*,.cards>*,.sales-grid>*,.agent-directory>*{min-width:0}
h1,h2,h3{line-height:1.12;text-wrap:balance}
p,li{overflow-wrap:break-word;text-wrap:pretty}
p{line-height:1.65}
h1{font-size:clamp(38px,6.2vw,82px)}
h2{font-size:clamp(32px,4vw,58px)}
h3{font-size:clamp(25px,2.4vw,34px)}
header{gap:28px}
header>.logo{flex:0 0 auto}
nav{display:flex;flex-wrap:wrap;justify-content:flex-end;column-gap:clamp(14px,2vw,30px);row-gap:10px;line-height:1.4}
nav a{white-space:nowrap;padding:8px 0}
.button,.text-link{max-width:100%;white-space:normal;line-height:1.5;overflow-wrap:anywhere}
.eyebrow,.mini,.profile-label{line-height:1.55;overflow-wrap:break-word}
.place-card .place-copy{left:clamp(20px,2vw,26px);right:clamp(20px,2vw,26px)}
.place-card h3{line-height:1.12;max-width:100%}
footer{align-items:flex-start;flex-wrap:wrap;column-gap:clamp(28px,5vw,80px);row-gap:28px;line-height:1.65}
footer>div{min-width:0}
@media(max-width:1050px){
 header{flex-direction:column;align-items:center;gap:12px;padding:18px 5%}
 nav{width:100%;justify-content:center;column-gap:22px;row-gap:6px;font-size:13px}
 nav a:nth-child(2){display:inline}
 header .logo img{width:110px;height:92px}
}
@media(max-width:760px){
 .split{grid-template-columns:1fr;gap:30px}
 .split .lead{font-size:clamp(18px,3vw,21px)}
 .section{padding:64px 6%}
 .cards{grid-template-columns:1fr;gap:28px}
 footer{padding:32px 6%;flex-direction:column;gap:24px;text-align:left}
 .guide-hero div{padding:38px 6%}
 .guide-hero h1{font-size:clamp(38px,8vw,58px);margin:12px 0 0}
}
@media(max-width:480px){
 nav{column-gap:17px;row-gap:3px;font-size:12px}
 nav a{padding:9px 0}
 .section{padding:52px 6%}
 h2{font-size:32px}
 .hero .hero-title h1{font-size:clamp(24px,6.4vw,29px)}
 .hero-copy h1{font-size:clamp(28px,7.5vw,34px)}
 .hero-copy .text-link{display:inline-block;margin-top:8px}
 .contact-options{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
 .contact-options .button{margin-top:8px}
}

/* One shared HAUS footer on every page. */
footer.haus-footer{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;padding:35px 5%;column-gap:clamp(28px,5vw,80px);row-gap:28px;margin:0;background:#faf9f6;color:#191919;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;letter-spacing:normal;line-height:1.65;text-align:left}
footer.haus-footer>div{min-width:0;max-width:100%;overflow-wrap:anywhere}
footer.haus-footer a{color:inherit;text-decoration:none}
footer.haus-footer a:hover{text-decoration:underline}
footer.haus-footer .logo{flex:0 0 auto}
footer.haus-footer .logo img{display:block;width:156px;height:130px;object-fit:contain;background:transparent}
@media(max-width:760px){footer.haus-footer{flex-direction:column;padding:32px 6%;gap:24px}}

/* Photograph-led neighborhood tiles. */
.place-card .place-copy{bottom:28px}
.place-card h3{margin:0;font-size:clamp(29px,3vw,38px);letter-spacing:-.025em;text-shadow:0 2px 16px rgba(0,0,0,.25)}
.place-card:after{background:linear-gradient(0deg,rgba(20,20,17,.62),rgba(20,20,17,.12) 42%,transparent 72%)}
.place-card:focus-visible{outline:3px solid #857042;outline-offset:5px}
@media(max-width:600px){.place-card .place-copy{bottom:24px}}

.neighborhood-hint{font-size:14px;color:#625f57;margin:24px 0 0}.neighborhood-hint + .neighborhood-grid{margin-top:20px}

/* Keep the seller introduction together when columns stack. */
@media(max-width:760px){#selling>.split{row-gap:24px}#selling>.split>div:first-child h2{margin-bottom:0}#selling>.split>div+div>.lead:first-child{margin-top:0}}

/* Match the About HAUS heading-to-copy spacing to the seller introduction. */
@media(max-width:760px){#nicole>.split{row-gap:24px}#nicole>.split>div:first-child h2{margin-bottom:0}#nicole>.split>div+div>.lead:first-child{margin-top:0}}


/* Anchor the navigation near the photograph with balanced header spacing. */
header{padding:14px 5% 8px;align-items:flex-end;gap:24px}
header nav{align-self:flex-end;margin:0 0 2px;column-gap:clamp(14px,1.8vw,26px);row-gap:4px}
header nav a{padding:10px 0}
@media(max-width:1050px){header{align-items:center;gap:6px;padding:12px 5% 6px}header nav{align-self:center;margin:0;justify-content:center;row-gap:2px}header .logo img{width:110px;height:92px}}
@media(max-width:480px){header{gap:4px;padding-top:10px}header nav{column-gap:17px;row-gap:0}header nav a{padding:10px 0}}

header{position:relative;z-index:3}header nav{min-width:0;flex-wrap:wrap}header nav a{line-height:1.4}

/* Interior-page headers blend into the warm cream canvas. */
header:not(.home-header){background:#faf9f6;border:0;box-shadow:none}
