:root{--font-editorial:"DM Serif Display",Georgia,"Times New Roman",serif;--font-ui:"Inter","Helvetica Neue",Arial,sans-serif}
body{font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.serif,h1,h2,h3{font-family:var(--font-editorial)!important;font-weight:400}
h1,h2,h3{letter-spacing:-.025em}
.hero h1,.hero-meta h1{font-family:var(--font-editorial);font-size:clamp(60px,7.4vw,108px);font-weight:400;line-height:1.05;letter-spacing:-.035em}
.hero h1 em{font-style:normal;font-weight:400;color:inherit}
.hero h2,.hero-panel h2,.hero-card h2{font-size:clamp(30px,3vw,40px);font-weight:400;line-height:1.12}
section h2{font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1.1}
section h3.serif,.path h3,.step h3,.product-item strong,.story h3,.service h3{font-family:var(--font-editorial);font-weight:400;line-height:1.15}
.nav a,.foot nav a{font-family:var(--font-ui);font-weight:400;letter-spacing:.025em}
.eyebrow{font-family:var(--font-ui);font-size:11px;font-weight:500;letter-spacing:.16em;color:#a92158!important}
.form-grid>*{min-width:0}.form-grid .trust{overflow-wrap:anywhere}
.hero .eyebrow{color:#fff!important}.hero .hero-card .eyebrow,.hero .hero-panel .eyebrow{color:#a92158!important}
.btn,.more{font-family:var(--font-ui);font-weight:500;letter-spacing:.1em}
input,select,textarea,button{font-family:var(--font-ui)}
.box input,.box select,.field input,.field textarea,.app-form input,.app-form select,.app-form textarea{font-family:var(--font-ui)}
.calc-card .field input{font-family:var(--font-ui);font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.result strong{font-family:var(--font-ui);font-size:clamp(23px,2vw,28px);font-weight:500;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.result small,.field label{font-family:var(--font-ui);font-weight:500;letter-spacing:.08em}
.prose{font-family:var(--font-ui);font-size:16px;line-height:1.85}
.prose h2{font-family:var(--font-editorial);font-size:clamp(28px,3vw,40px);line-height:1.2}
.ynm-article .hero h1{font-size:clamp(46px,6vw,82px);line-height:1.1}
@media(max-width:700px){
 .hero h1,.hero-meta h1{font-size:clamp(42px,10.5vw,64px)!important;line-height:1.08!important;letter-spacing:-.025em}
 .ynm-article .hero h1{font-size:clamp(38px,9vw,54px)!important}
 section h2{font-size:clamp(32px,8vw,44px);line-height:1.12}
 .hero-card h2,.hero-panel h2{font-size:32px}
 .hero p{font-size:16px;line-height:1.7}
 .nav a{font-size:12px}
 .eyebrow{font-size:10px}
 .prose{font-size:16px;line-height:1.8}
}
/* Prices and property measurements use clear, substantial numerals. */
.price,.price strong,.property-price,.listing-price,.listing-card-copy>p:not(.listing-status),.fact strong,.finance-card strong{font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;font-weight:600!important;font-variant-numeric:lining-nums tabular-nums;letter-spacing:0!important;text-shadow:none!important}
.price strong{font-size:clamp(26px,3vw,40px);line-height:1.2}
.hero .price,.hero-meta .price,.property figure .price{background:#fff;color:#07172f;padding:16px 20px}

/* Substantial serif strokes and stronger separation from photography. */
.hero h1,.service h3,.cta h2{text-shadow:0 2px 14px rgba(0,0,0,.4)}
.hero h1{letter-spacing:-.02em}
.hero:after{background:linear-gradient(90deg,rgba(5,15,31,.82),rgba(5,15,31,.48) 58%,rgba(5,15,31,.12)),linear-gradient(180deg,rgba(5,15,31,.04),rgba(5,15,31,.42))}

/* Visible keyboard focus and readable text on brand pink. */
.btn.pink{color:#07172f!important}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b32963;outline-offset:3px}
