.hub-grid{grid-template-columns:repeat(3,1fr)}
.hub-card{min-height:330px;border-radius:16px;position:relative;overflow:hidden}
.hub-card:nth-child(2){background:#fff;color:var(--ink)}
.hub-card:nth-child(2) small{color:var(--sea)}
.hub-card:nth-child(2) p{color:var(--muted)}
.hub-card:nth-child(2) a{color:var(--night)}
.hub-card:nth-child(1),.hub-card:nth-child(6){background:var(--deep);color:#fff}
.hub-card:nth-child(1) small,.hub-card:nth-child(6) small{color:var(--gold)}
.hub-card:nth-child(1) p,.hub-card:nth-child(6) p{color:#c9d7d5}
.hub-card:nth-child(1) a,.hub-card:nth-child(6) a{color:#fff}
.hub-card__icon{font-size:1.55rem;line-height:1;margin-top:18px}
.hub-card__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:auto;padding-top:22px}
.hub-card__actions a{margin-top:0}
.hub-card__review{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:700;color:var(--green)}
.hub-card:nth-child(1) .hub-card__review,.hub-card:nth-child(6) .hub-card__review{color:#b8ded2}
.hub-card__review::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.hub-review{margin-top:24px;padding:19px 22px;border-left:4px solid var(--gold);background:#fff;color:var(--muted)}
.hub-review strong{color:var(--night)}
.local-listings{background:#fff}
.listing-card{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--gold);box-shadow:0 22px 65px #07191f12;overflow:hidden}
.listing-card+.listing-card{margin-top:28px}
.listing-media{background:var(--night);display:flex;align-items:center}
.listing-media img{width:100%;height:auto;display:block;object-fit:contain}
.listing-content{padding:42px;display:flex;flex-direction:column;justify-content:center}
.listing-tags{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:17px}
.listing-tags span{display:inline-flex;padding:7px 11px;border-radius:999px;background:var(--ice);color:var(--deep);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.listing-tags span+span{background:var(--deep);color:#fff}
.listing-content h3{font:600 clamp(2rem,3.8vw,3.25rem)/1.08 "Playfair Display",serif;color:var(--night);margin:0 0 24px}
.listing-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 25px}
.listing-facts div{padding:14px;background:#fff;border:1px solid var(--line)}
.listing-facts dt{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.listing-facts dd{margin:4px 0 0;font-weight:700;color:var(--night)}
.listing-description p{color:var(--muted);margin:0 0 12px}
.listing-contact{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:22px;border-top:1px solid var(--line)}
.listing-contact small{display:block;color:var(--muted);font-weight:700;margin-bottom:3px}
.listing-contact div>a{color:var(--deep);font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.listing-contact .btn{white-space:nowrap}
.listing-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.listing-actions .secondary{border-color:var(--deep);color:var(--deep)}
@media(max-width:920px){.hub-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.listing-card{grid-template-columns:1fr}.listing-media img{max-height:720px}.listing-contact{align-items:flex-start;flex-direction:column}.listing-actions{justify-content:flex-start}}
@media(max-width:620px){.hub-grid{grid-template-columns:1fr}.hub-card{min-height:290px}.listing-content{padding:25px}.listing-facts{grid-template-columns:1fr}.listing-contact .btn{width:100%;white-space:normal;text-align:center}}
