/* =========================================================
   HOME HARMONY — v175 (2026-10-03). CSS only, scoped to .home-v2. Loaded LAST.
   Goal: the hero stat strip and everything below it read as ONE page.
   One scale for everything:
     width   : same container as header/footer (--hv-max, --hv-gut)
     columns : 6-col rhythm  (areas 3+3 / 2+2+2, deals+rank 4+2, stats 4 x 1.5)
     gap     : --hh-gap (16px; 12px tablet; 10px phone)
     radius  : --hh-r (18px; 16px phone) on every card
     rhythm  : --hh-sec between sections, --hh-head under every title
   ========================================================= */
.home-v2{--hh-gap:16px;--hh-r:18px;--hh-sec:32px;--hh-head:16px;--hh-pad:20px;}
@media(max-width:1100px){.home-v2{--hh-gap:12px;--hh-sec:28px;--hh-pad:16px;}}
@media(max-width:640px){.home-v2{--hh-gap:10px;--hh-r:16px;--hh-sec:22px;--hh-head:12px;--hh-pad:14px;}}

/* ---------- 1. HERO: same container as the sections ---------- */
.home-v2 .hero{padding:var(--hh-sec) var(--hv-gut) var(--hh-sec);}
.home-v2 .hero-inner,.home-v2 .hv2-hero-inner{max-width:var(--hv-max);width:100%;margin:0 auto;box-sizing:border-box;}
.home-v2 .hv2-hero-left{width:100%;}
.home-v2 .hero h1{font-size:clamp(30px,3.4vw,46px);line-height:1.08;}

/* ---------- 2. STAT STRIP: full container width, card-scale icons/numbers ---------- */
.home-v2 .ticker{max-width:none;width:100%;margin:22px 0 0;gap:var(--hh-gap);grid-template-columns:repeat(4,minmax(0,1fr));}
@media(min-width:641px){
  .home-v2 .ticker{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));}
  .home-v2 .ticker .t-item{min-height:96px;padding:18px 24px;column-gap:18px;row-gap:3px;border-radius:var(--hh-r);box-shadow:0 8px 22px rgba(22,45,76,.08);}
  .home-v2 .ticker .t-icon{width:56px;height:56px;border-radius:16px;font-size:22px;}
  .home-v2 .ticker .t-num{font-size:clamp(26px,2.4vw,34px);line-height:1;letter-spacing:-.01em;}
  .home-v2 .ticker .t-label{font-size:12px;letter-spacing:.08em;}
}
@media(min-width:641px) and (max-width:900px){
  .home-v2 .ticker{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-v2 .ticker .t-item{min-height:84px;padding:14px 18px;column-gap:14px;}
  .home-v2 .ticker .t-icon{width:48px;height:48px;font-size:19px;border-radius:14px;}
  .home-v2 .ticker .t-num{font-size:26px;}
}
@media(max-width:640px){
  .home-v2 .hero{padding:var(--hh-sec) var(--hv-gut);}
  .home-v2 .ticker{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px;}
  .home-v2 .ticker .t-item{padding:12px 4px 10px;gap:6px;border-radius:var(--hh-r);}
  .home-v2 .ticker .t-icon{width:34px;height:34px;font-size:14px;border-radius:11px;}
  .home-v2 .ticker .t-num{font-size:19px;}
  .home-v2 .ticker .t-label{font-size:8.5px;letter-spacing:.3px;}
}

/* quick-jump row: same width, same radius family */
.home-v2 .hv2-jumps{max-width:none;width:100%;margin-top:var(--hh-sec);padding-top:var(--hh-pad);}
.home-v2 .hv2-jump{padding:8px 8px 8px 14px;border-radius:12px;font-size:12.5px;}
.home-v2 .hv2-jump .ct{min-width:26px;padding:4px 7px;font-size:11.5px;}
.home-v2 .hv2-jump.all{padding:8px 14px;}
@media(max-width:640px){.home-v2 .hv2-jumps{margin-top:var(--hh-pad);}}

/* ---------- 3. SECTIONS: one rhythm ---------- */
.home-v2 .section,.home-v2 .section.tight{padding:var(--hh-sec) var(--hv-gut) 0;max-width:var(--hv-max);}
.home-v2 .section:last-of-type,.home-v2 .section.tight:last-of-type{padding-bottom:calc(var(--hh-sec) + 8px);}
.home-v2 .section-head{margin-bottom:var(--hh-head);gap:var(--hh-gap);}
.home-v2 .section-head h2{font-size:clamp(20px,1.9vw,26px);}
.home-v2 .link-more{padding:8px 14px;}

/* ---------- 4. AREAS: shorter cards, content scaled to the stat strip ---------- */
.home-v2 .ha-grid{gap:var(--hh-gap);}
.home-v2 .ha-card{min-height:244px;border-radius:var(--hh-r);}
.home-v2 .ha-card.ha-lg{min-height:256px;}
.home-v2 .ha-body{padding:0 var(--hh-pad) var(--hh-pad);gap:10px;}
.home-v2 .ha-body h3{font-size:clamp(22px,2vw,28px);}
.home-v2 .ha-lg .ha-body h3{font-size:clamp(26px,2.6vw,36px);}
.home-v2 .ha-top{top:var(--hh-pad);left:var(--hh-pad);right:var(--hh-pad);}
.home-v2 .ha-stats{gap:var(--hh-gap);}
.home-v2 .ha-stats li{padding:8px 12px;border-radius:12px;}
.home-v2 .ha-stats li b,.home-v2 .ha-lg .ha-stats li b{font-size:18px;}
.home-v2 .ha-go{width:40px;height:40px;}
@media(max-width:1100px){.home-v2 .ha-stats{gap:8px;}.home-v2 .ha-stats li{padding:7px 9px;}.home-v2 .ha-stats li b,.home-v2 .ha-lg .ha-stats li b{font-size:16px;}}
@media(max-width:860px){
  .home-v2 .ha-card{min-height:232px;}
  .home-v2 .ha-card:first-child{min-height:244px;}
  .home-v2 .ha-card.ha-lg{min-height:232px;}
  .home-v2 .ha-card.ha-lg:first-child{min-height:244px;}
  .home-v2 .ha-body{padding:0 var(--hh-pad) var(--hh-pad);}
  .home-v2 .ha-top{top:12px;left:12px;right:12px;}
}

/* ---------- 5. DEALS + MOST REQUESTED: 4 | 2 columns of the same 6-col rhythm ---------- */
.home-v2 .hv2-duo{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--hh-gap);align-items:stretch;}
@media(max-width:1200px){.home-v2 .hv2-duo{grid-template-columns:minmax(0,1fr);}}
.home-v2 .hv2-deal-grid.dk-deals,.pv-root .hv2-col-deals .hv2-deal-grid.dk-deals{gap:var(--hh-gap);}
.home-v2 .dk-d-in{border-radius:var(--hh-r);}
.home-v2 .dk-deal{--mh:clamp(168px,13vw,196px);}
.home-v2 .dk-d-body{padding:var(--hh-pad);gap:12px;}
.home-v2 .dk-d-head h4{font-size:20px;}
.home-v2 .dk-d-now b{font-size:clamp(24px,2.2vw,30px);}
@media(max-width:700px){.home-v2 .dk-deal{--mh:176px;}.home-v2 .dk-d-body{padding:var(--hh-pad);}}
.home-v2 .hv2-rank{border-radius:var(--hh-r);}
.home-v2 .hv2-rank li{padding:14px var(--hh-pad);gap:12px;}
.home-v2 .hv2-rank .rk{width:28px;height:28px;border-radius:9px;font-size:12px;}
.home-v2 .hv2-rank .tx b{font-size:13px;}
.home-v2 .hv2-rank .tx small{font-size:11px;}
.home-v2 .hv2-rank .pr{font-size:13px;}

/* other home strips (visitor preview): same radius + container */
.home-v2 .pv-invite,.home-v2 .pv-pulse,.home-v2 .pv-lv,.home-v2 .pv-tool{border-radius:var(--hh-r);}
.home-v2 .pv-tools-grid{gap:var(--hh-gap);}
