/* nearlyhomeagent.com: plain, neutral blog. */
@font-face { font-family: "Cormorant"; src: url(/assets/fonts/cormorant.woff2) format("woff2"); font-weight: 400 700; font-display: swap; }
@font-face { font-family: "Jost"; src: url(/assets/fonts/jost.woff2) format("woff2"); font-weight: 300 700; font-display: swap; }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: #faf8f4; color: #23272c; font: 400 1.06rem/1.7 "Jost", system-ui, sans-serif; }
img { max-width: 100%; height: auto; display: block; }
a { color: #2d5b74; }
.hub-wrap { width: min(1100px, 100% - 40px); margin-inline: auto; }
.hub-top { border-bottom: 1px solid #e6e0d6; background: #fff; }
.hub-name { display: inline-block; padding: 18px 0; text-decoration: none; color: #23272c; font: 600 1.7rem/1.1 "Cormorant", Georgia, serif; }
.hub-name span { display: block; font: 500 .78rem/1.6 "Jost", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #7a7f86; }
main { padding: 40px 0 70px; min-height: 60vh; }
h1, .hub-h1 { font: 600 clamp(2rem, 4vw, 2.8rem)/1.15 "Cormorant", Georgia, serif; margin: 0 0 24px; }
.hub-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
@media (max-width: 900px) { .hub-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .hub-grid { grid-template-columns: 1fr; } }
.hub-card { display: grid; gap: 8px; text-decoration: none; color: inherit; }
.hub-card img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; background: #eee; }
.hub-title { font: 600 1.35rem/1.25 "Cormorant", Georgia, serif; }
.hub-card:hover .hub-title { text-decoration: underline; }
.hub-date { font-size: .85rem; color: #7a7f86; margin: 0; }
.hub-article { max-width: 760px; }
.hub-cover { border-radius: 12px; margin: 0 0 28px; }
.hub-prose h2 { font: 600 1.8rem/1.2 "Cormorant", Georgia, serif; margin: 1.6em 0 .5em; }
.hub-prose h3 { font: 600 1.35rem/1.3 "Cormorant", Georgia, serif; margin: 1.3em 0 .4em; }
.hub-prose img { border-radius: 10px; margin: 18px 0; }
.hub-prose figure { margin: 0; }
.hub-back { margin-top: 40px; }
.hub-pager { display: flex; gap: 20px; justify-content: center; align-items: center; margin-top: 40px; color: #7a7f86; }
.hub-foot { border-top: 1px solid #e6e0d6; padding: 22px 0; font-size: .9rem; color: #7a7f86; }
