/* Shared styling for interest-vertical landing pages, see vertical-landing.js */
.hv-container { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.hv-hero { padding: 64px 0 52px; text-align: center; }
.hv-hero h1 { font-size: 2.3rem; font-weight: 900; margin: 0 0 12px; letter-spacing: -0.5px; }
.hv-tagline { font-size: 1.05rem; opacity: 0.85; margin: 0 auto 26px; max-width: 560px; line-height: 1.6; }
.hv-cta { display: inline-block; background: #f7c844; color: #1a1a2e; font-weight: 800; padding: 13px 28px; border-radius: 6px; text-decoration: none; font-size: 15px; }
.hv-cta:hover { opacity: 0.9; }

.hv-map-strip { background: #f0f4f8; border-bottom: 1px solid #dce4ee; }
.hv-map-tease { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; font-size: 14px; color: #445; flex-wrap: wrap; gap: 10px; }
.hv-map-cta { color: #1a3a5c; font-weight: 700; text-decoration: none; }
.hv-map-cta:hover { text-decoration: underline; }

.hv-section { padding: 32px 0; }
.hv-quicklinks { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.hv-quicklink { padding: 10px 18px; border: 2px solid #1a3a5c; border-radius: 6px; color: #1a3a5c; font-weight: 700; text-decoration: none; font-size: 14px; }
.hv-quicklink:hover { background: #1a3a5c; color: #fff; }

.hv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.hv-card { display: block; border: 1px solid #e0e0e0; background: #fff; padding: 16px 18px; text-decoration: none; transition: box-shadow .15s; border-radius: 6px; }
.hv-card:hover { box-shadow: 0 2px 12px rgba(0,0,0,.09); border-color: #1a3a5c; }
.hv-card-name { font-size: 15px; font-weight: 700; color: #1a3a5c; margin: 0 0 4px; }
.hv-card-tagline { font-size: 13px; color: #555; margin: 0 0 6px; }
.hv-card-meta { font-size: 11px; color: #888; }
.hv-loading, .hv-empty { text-align: center; color: #888; padding: 24px; grid-column: 1 / -1; }

.hv-back { text-align: center; padding: 18px 0 40px; }
.hv-back a { color: #888; font-size: 13px; text-decoration: none; }
.hv-back a:hover { text-decoration: underline; }

@media (max-width: 600px) {
  .hv-hero { padding: 44px 0 36px; }
  .hv-hero h1 { font-size: 1.7rem; }
}
