/* ===========================================================================
 * PKM directory home (Explore Henderson design system).
 * Home-specific layout only. The search band (.pkm-sb-*), the listing card
 * (.pkmh-card) and the grid (.pkmh-grid) are SHARED components living in
 * css/pkm-design.css (loaded site-wide), so the home, the listings archive,
 * and AJAX load-more appends all render them identically.
 * ======================================================================== */

.pkm-home{font-family:var(--pkm-font-body);color:var(--pkm-ink);line-height:1.6;}
.pkm-home .pkmh-wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.pkm-home h2,.pkm-home h3{font-family:var(--pkm-font-display);font-weight:600;line-height:1.18;margin:0;color:var(--pkm-ink);}
/* NB: no `color:inherit` here — it would beat the shared component link colors
 * (.pkmh-view, .pkm-sb-reset) on specificity. The global `a{color:inherit}` in
 * pkm-design.css covers default links at lower specificity. */
.pkm-home a{text-decoration:none;}

/* ---------- Map hero ---------- */
.pkm-home .pkmh-map-hero{position:relative;height:440px;background:#dfe6df;border-bottom:1px solid var(--pkm-line);}
.pkm-home .pkmh-map-hero iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.96);}
.pkm-home .pkmh-hero-tag{position:absolute;top:24px;left:50%;transform:translateX(-50%);z-index:5;background:rgba(21,42,73,.92);color:#fff;backdrop-filter:blur(6px);padding:10px 20px;border-radius:30px;font-weight:600;font-size:14px;display:flex;align-items:center;gap:9px;box-shadow:var(--pkm-shadow-lg);max-width:calc(100% - 36px);}
.pkm-home .pkmh-hero-tag svg{width:16px;height:16px;color:#f7d774;flex:none;}

/* ---------- Section heads ---------- */
.pkm-home .pkmh-featured{padding:46px 0 6px;}
.pkm-home .pkmh-listings{padding:48px 0 64px;}
.pkm-home .pkmh-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:12px;}
.pkm-home .pkmh-eyebrow{font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--pkm-sage);margin-bottom:7px;}
.pkm-home .pkmh-eyebrow--rust{color:var(--pkm-rust);}
.pkm-home .pkmh-head h2{font-size:32px;letter-spacing:-.01em;}
.pkm-home .pkmh-count{font-size:14.5px;color:var(--pkm-muted);font-weight:600;}
.pkm-home .pkmh-see-all{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--pkm-navy-1);transition:gap .15s,color .15s;}
.pkm-home .pkmh-see-all:hover{gap:11px;color:var(--pkm-rust);}
.pkm-home .pkmh-see-all svg{width:15px;height:15px;}

/* ---------- Sponsored slot ---------- */
.pkm-home .pkmh-promo-band{padding:24px 0 0;}
.pkm-home .pkmh-promo-slot{position:relative;border-radius:var(--pkm-radius);border:1px dashed #cfc6b2;background:repeating-linear-gradient(135deg,#efe9dc 0 18px,#f4eee2 18px 36px);display:flex;align-items:center;gap:26px;padding:26px 30px;}
.pkm-home .pkmh-promo-tag{position:absolute;top:12px;right:14px;font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9a8f78;background:rgba(255,255,255,.75);padding:4px 9px;border-radius:6px;}
.pkm-home .pkmh-promo-ico{width:64px;height:64px;flex:none;border-radius:14px;background:#fff;display:grid;place-items:center;color:var(--pkm-rust);box-shadow:var(--pkm-shadow);}
.pkm-home .pkmh-promo-ico svg{width:30px;height:30px;}
.pkm-home .pkmh-promo-txt{flex:1;min-width:0;}
.pkm-home .pkmh-promo-title{font-family:var(--pkm-font-display);font-weight:600;font-size:20px;color:var(--pkm-ink);}
.pkm-home .pkmh-promo-sub{font-size:14.5px;color:var(--pkm-ink-soft);margin-top:3px;max-width:560px;}
.pkm-home .pkmh-promo-cta{flex:none;display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:10px;background:var(--pkm-navy-2);color:#fff;font-weight:700;font-size:13px;letter-spacing:.03em;cursor:pointer;transition:transform .15s;white-space:nowrap;}
.pkm-home .pkmh-promo-cta:hover{transform:translateY(-1px);color:#fff;}
.pkm-home .pkmh-promo-cta svg{width:15px;height:15px;}

/* ---------- Browse all ---------- */
.pkm-home .pkmh-browse{display:flex;justify-content:center;margin-top:44px;}
.pkm-home .pkmh-browse a{display:inline-flex;align-items:center;gap:10px;border:1.5px solid var(--pkm-blue);color:var(--pkm-blue);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:15px 34px;border-radius:40px;transition:background .15s,color .15s;}
.pkm-home .pkmh-browse a:hover{background:var(--pkm-blue);color:#fff;}
.pkm-home .pkmh-browse svg{width:16px;height:16px;}

/* ---------- Accessibility ---------- */
.pkm-home a:focus-visible,
.pkm-home button:focus-visible{outline:3px solid var(--pkm-rust);outline-offset:2px;border-radius:8px;}
@media (prefers-reduced-motion:reduce){.pkm-home *{transition:none!important;animation:none!important;}}

/* ---------- Responsive (home-specific) ---------- */
@media (max-width:880px){
  .pkm-home .pkmh-promo-slot{flex-wrap:wrap;}
}
@media (max-width:620px){
  .pkm-home .pkmh-wrap{padding:0 18px;}
}

/* ---- "From the Blog" — home-section card treatment (matches New Listings) */
.pkm-home .pkmh-blog{padding:8px 0 64px;}
.pkm-home .pkmh-bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;margin-top:26px;}
.pkm-home .pkmh-bcard{display:flex;flex-direction:column;background:var(--pkm-card,#fff);border:1px solid var(--pkm-line,#ece6da);border-radius:var(--pkm-radius,14px);box-shadow:var(--pkm-shadow,0 1px 2px rgba(33,48,63,.04),0 8px 24px rgba(33,48,63,.06));overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;}
.pkm-home .pkmh-bcard:hover{transform:translateY(-3px);box-shadow:var(--pkm-shadow-lg,0 4px 12px rgba(21,42,73,.10),0 24px 48px rgba(21,42,73,.10));}
.pkm-home .pkmh-bmedia{aspect-ratio:16/9;background:linear-gradient(160deg,var(--pkm-line-soft,#f0ebe1),var(--pkm-sage-bg,#e6efe9));display:grid;place-items:center;overflow:hidden;}
.pkm-home .pkmh-bmedia img{width:100%;height:100%;object-fit:cover;display:block;}
.pkm-home .pkmh-bbody{display:flex;flex-direction:column;gap:7px;padding:16px 18px 18px;}
.pkm-home .pkmh-bcat{font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--pkm-sage,#287059);}
.pkm-home .pkmh-btitle{font-family:var(--pkm-font-display,"Bitter",serif);font-weight:600;font-size:18px;line-height:1.3;color:var(--pkm-ink,#21303f);margin:0;}
.pkm-home .pkmh-bcard:hover .pkmh-btitle{color:var(--pkm-rust,#b5442b);}
.pkm-home .pkmh-bdate{font-size:13.5px;color:var(--pkm-muted,#5b6976);font-weight:600;}
@media (prefers-reduced-motion:reduce){.pkm-home .pkmh-bcard{transition:none;}.pkm-home .pkmh-bcard:hover{transform:none;}}
