/* ============================================================
   HOME PAGE v2  (loaded after home.css; everything is scoped to .hv)
   Palette and fonts come from style.css:
   forest #0B3B2F · botanical #6B8E7B · gold #D4A843 · cream #F9F9F6
   Type scale: h1 34-58 · h2 28-40 · card title 18-20 · body 15-17 · small 12-14
   ============================================================ */

.hv {
    --hx-adult: #2bb37f;
    --hx-medical: #6fa3c9;
    --hx-cbd: #D4A843;
    --hx-illegal: #c9705d;
    --hx-radius: 16px;
    color: var(--readable-ink);
}
.hv a { text-decoration: none; }
.hv .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Buttons ---------- */
.hv .hx-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Manrope', sans-serif;
    font-weight: 800;
    font-size: 15px;
    padding: 14px 26px;
    border-radius: 10px;
    border: 2px solid transparent;
    transition: transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition);
}
.hv .hx-btn i { font-size: 18px; }
.hv .hx-btn-gold { background: var(--insight-highlight); color: var(--forest-authority); box-shadow: 0 10px 26px rgba(212, 168, 67, .28); }
.hv .hx-btn-gold:hover { background: #e6bd56; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(212, 168, 67, .4); color: var(--forest-authority); }
.hv .hx-btn-ghost { color: #fff; border-color: rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .06); }
.hv .hx-btn-ghost:hover { background: rgba(255, 255, 255, .16); border-color: #fff; transform: translateY(-2px); }

/* ============================================================
   HERO  (photo of leaves, copy on the left, tilted data cards on the right)
   ============================================================ */
.hv .hx-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #061c17;
    color: #fff;
    padding: 0;
}
.hv .hx-hero-img {
    position: absolute;
    inset: -20px;
    z-index: -4;
    width: calc(100% + 40px);
    height: calc(100% + 40px);
    max-width: none;
    object-fit: cover;
    object-position: center 40%;
    filter: blur(5px) saturate(1.15);
}
.hv .hx-hero-shade {
    position: absolute;
    inset: 0;
    z-index: -3;
    background:
        linear-gradient(90deg, rgba(4, 26, 20, .94) 0%, rgba(6, 40, 31, .86) 42%, rgba(8, 52, 40, .62) 70%, rgba(8, 52, 40, .5) 100%),
        linear-gradient(180deg, rgba(4, 26, 20, .35) 0%, rgba(4, 26, 20, 0) 40%, rgba(4, 26, 20, .6) 100%);
}
.hv .hx-bars {
    position: absolute;
    right: 0;
    bottom: 70px;
    width: 46%;
    height: 46%;
    z-index: -2;
    display: flex;
    align-items: flex-end;
    justify-content: space-evenly;
    gap: 14px;
    padding: 0 24px;
    pointer-events: none;
    opacity: .5;
}
.hv .hx-bars i { flex: 1; max-width: 34px; border-radius: 4px 4px 0 0; background: linear-gradient(180deg, rgba(212, 168, 67, .55), rgba(212, 168, 67, 0)); }
.hv .hx-bars i:nth-child(1) { height: 28%; }
.hv .hx-bars i:nth-child(2) { height: 38%; }
.hv .hx-bars i:nth-child(3) { height: 34%; }
.hv .hx-bars i:nth-child(4) { height: 52%; }
.hv .hx-bars i:nth-child(5) { height: 46%; }
.hv .hx-bars i:nth-child(6) { height: 68%; }
.hv .hx-bars i:nth-child(7) { height: 60%; }
.hv .hx-bars i:nth-child(8) { height: 86%; }

.hv .hx-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
    gap: 28px;
    align-items: center;
    padding-top: 72px;
    padding-bottom: 64px;
}
.hv .hx-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--insight-highlight);
    background: rgba(212, 168, 67, .1);
    border: 1px solid rgba(212, 168, 67, .4);
    border-radius: 999px;
    padding: 8px 16px;
    margin-bottom: 22px;
}
.hv .hx-eyebrow b { width: 7px; height: 7px; border-radius: 50%; background: var(--insight-highlight); animation: hx-pulse 2s ease-in-out infinite; }
@keyframes hx-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.hv .hx-hero h1 {
    font-family: 'Manrope', sans-serif;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.025em;
    margin: 0 0 20px;
    text-wrap: balance;
}
.hv .hx-h1-a { display: block; font-size: clamp(32px, 3.6vw, 48px); color: #fff; }
.hv .hx-h1-b { display: block; font-size: clamp(26px, 2.8vw, 37px); color: var(--insight-highlight); margin-top: 6px; }
.hv .hx-sub { font-size: clamp(16px, 1.4vw, 18px); line-height: 1.65; color: rgba(255, 255, 255, .85); max-width: 600px; margin: 0 0 28px; }
.hv .hx-sub small { font-size: inherit; color: rgba(255, 255, 255, .85); }
.hv .hx-cta-row { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 36px; }

.hv .hx-features { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 22px; margin: 0; padding: 0; max-width: 560px; }
.hv .hx-features a { display: flex; align-items: center; gap: 13px; color: #fff; }
.hv .hx-fi {
    flex: none;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1.5px solid rgba(212, 168, 67, .6);
    color: var(--insight-highlight);
    font-size: 22px;
    transition: background var(--transition), color var(--transition);
}
.hv .hx-features a:hover .hx-fi { background: var(--insight-highlight); color: var(--forest-authority); }
.hv .hx-features strong { display: block; font-size: 13.5px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; color: #fff; }
.hv .hx-features em { display: block; font-style: normal; font-size: 13px; color: rgba(255, 255, 255, .68); margin-top: 2px; }

/* ---- tilted data cards ---- */
.hv .hx-stage { perspective: 1500px; min-width: 0; }
.hv .hx-deck {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    grid-template-areas: "map size" "map trends" "news trends";
    gap: 14px;
    transform: rotateY(-13deg) rotateX(3deg) rotateZ(-1.5deg);
    transform-origin: 30% 50%;
    transform-style: preserve-3d;
}
.hv .hx-pcard {
    position: relative;
    display: block;
    min-width: 0;
    color: #fff;
    background: linear-gradient(160deg, rgba(14, 70, 54, .78), rgba(6, 36, 29, .86));
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 16px;
    padding: 16px 18px;
    box-shadow: 0 22px 44px rgba(0, 0, 0, .35);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transition: border-color var(--transition), transform var(--transition);
}
.hv a.hx-pcard:hover { border-color: var(--insight-highlight); transform: translateZ(18px); }
.hv .hx-p-map { grid-area: map; }
.hv .hx-p-size { grid-area: size; }
.hv .hx-p-news { grid-area: news; }
.hv .hx-p-trends { grid-area: trends; }
.hv .hx-p-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.hv .hx-p-head strong { font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #fff; }
.hv .hx-p-head > i { font-size: 17px; color: rgba(255, 255, 255, .8); }
.hv .hx-p-head em, .hv .hx-p-head a { white-space: nowrap; font-style: normal; font-size: 12px; font-weight: 700; color: var(--insight-highlight); display: inline-flex; align-items: center; gap: 4px; }
.hv .hx-p-size .hx-p-head { justify-content: flex-start; }
.hv .hx-p-size .hx-p-head i { font-size: 18px; color: var(--insight-highlight); }
.hv .hx-p-size .hx-p-head strong { text-transform: none; letter-spacing: 0; font-size: 14px; }
.hv .hx-p-mapimg { display: block; width: 100%; height: auto; margin: 4px 0 10px; }
.hv .hx-p-legend { display: flex; flex-wrap: wrap; gap: 5px 12px; }
.hv .hx-p-legend em { font-style: normal; font-size: 11px; font-weight: 700; color: rgba(255, 255, 255, .8); display: inline-flex; align-items: center; gap: 6px; }
.hv .hx-p-legend em::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #2F8F5B; }
.hv .hx-p-legend .b-medical::before { background: #4E83B8; }
.hv .hx-p-legend .b-cbd::before { background: #D4A843; }
.hv .hx-p-legend .b-illegal::before { background: #A94F4F; }
.hv .hx-p-big { display: block; font-family: 'Manrope', sans-serif; font-size: 44px; line-height: 1; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.hv .hx-p-note { display: block; font-size: 12.5px; color: rgba(255, 255, 255, .7); margin-top: 8px; }
.hv .hx-p-newsrow { display: flex; gap: 12px; align-items: flex-start; }
.hv .hx-p-newsrow img { flex: none; width: 64px; height: 64px; border-radius: 10px; object-fit: cover; }
.hv .hx-p-newsrow strong { display: block; font-size: 13.5px; line-height: 1.35; font-weight: 800; color: #fff; }
.hv .hx-p-newsrow small { display: block; font-size: 12px; color: rgba(255, 255, 255, .65); margin-top: 5px; }
.hv .hx-p-trends { display: flex; flex-direction: column; }
.hv .hx-p-trends ul { list-style: none; margin: 0; padding: 0; flex: 1; display: flex; flex-direction: column; }
.hv .hx-p-trends li { flex: 1; display: flex; }
.hv .hx-p-trends li + li { border-top: 1px solid rgba(255, 255, 255, .1); }
.hv .hx-p-trends li a { flex: 1; display: flex; align-items: center; gap: 10px; padding: 11px 0; font-size: 14px; font-weight: 600; color: #fff; }
.hv .hx-p-trends li a > i { font-size: 19px; color: var(--insight-highlight); }
.hv .hx-p-trends li b { margin-left: auto; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(43, 179, 127, .18); color: #4fd6a0; font-size: 14px; }
.hv .hx-p-trends li a:hover { color: var(--insight-highlight); }

/* ---- stat bar ---- */
.hv .hx-statbar { background: rgba(3, 18, 14, .9); border-top: 1px solid rgba(212, 168, 67, .35); border-left: 5px solid var(--insight-highlight); }
.hv .hx-statbar-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hv .hx-stat { display: flex; align-items: center; gap: 14px; padding: 20px 22px; color: #fff; min-width: 0; }
.hv .hx-stat + .hx-stat { border-left: 1px solid rgba(255, 255, 255, .1); }
.hv .hx-stat > i { flex: none; font-size: 30px; color: var(--insight-highlight); }
.hv .hx-stat span { display: block; min-width: 0; }
.hv .hx-stat em { display: block; font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .6); margin-bottom: 3px; }
.hv .hx-stat b { font-family: 'Manrope', sans-serif; font-size: 24px; font-weight: 800; color: var(--insight-highlight); letter-spacing: -.01em; }
.hv .hx-stat small { font-size: 13px; color: rgba(255, 255, 255, .72); }
.hv .hx-stat strong { display: block; font-size: 14.5px; line-height: 1.3; font-weight: 700; color: #fff; }
.hv .hx-stat-link { padding-right: 18px; }
.hv .hx-stat-arrow { margin-left: auto; font-size: 20px !important; }
.hv a.hx-stat:hover strong { color: var(--insight-highlight); }

/* ============================================================
   SECTION SYSTEM
   ============================================================ */
.hv .hx-sec { position: relative; padding: clamp(64px, 8vw, 104px) 0; overflow: hidden; }
.hv .hx-sec-white { background: #fff; border: 0; }
.hv .hx-sec-cream { background: var(--data-clarity); border: 0; }
.hv .hx-sec-mint { background: #F1F6F3; border: 0; }
.hv .hx-sec > .container { position: relative; z-index: 1; }

.hv .hx-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(30px, 4vw, 48px); }
.hv .hx-head > div { max-width: 700px; }
.hv .hx-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #a47d1c;
    margin-bottom: 12px;
}
.hv .hx-kicker::before { content: ""; width: 30px; height: 2px; background: var(--insight-highlight); }
.hv .hx-head h2 {
    font-family: 'Manrope', sans-serif;
    font-weight: 800;
    font-size: clamp(28px, 3.3vw, 40px);
    line-height: 1.14;
    letter-spacing: -.02em;
    color: var(--forest-authority);
    margin: 0 0 12px;
}
.hv .hx-head p { font-size: 17px; line-height: 1.65; color: #34463f; margin: 0; }
.hv .hx-more {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14.5px;
    font-weight: 800;
    color: var(--forest-authority);
    padding-bottom: 4px;
    border-bottom: 2px solid var(--insight-highlight);
}
.hv .hx-more i { transition: transform var(--transition); }
.hv .hx-more:hover i { transform: translateX(4px); }
.hv .hx-link { display: inline-flex; align-items: center; gap: 7px; font-style: normal; font-size: 14px; font-weight: 800; color: var(--forest-authority); }
.hv .hx-link i { transition: transform var(--transition); }

/* ============================================================
   INDUSTRY GUIDANCE
   ============================================================ */
.hv .guidance::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(11, 59, 47, .07) 1.2px, transparent 1.2px);
    background-size: 26px 26px;
    -webkit-mask-image: linear-gradient(180deg, #000, transparent 70%);
    mask-image: linear-gradient(180deg, #000, transparent 70%);
    pointer-events: none;
}
.hv .hx-gguide-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.hv .hx-gcard {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--card-border);
    border-radius: var(--hx-radius);
    overflow: hidden;
    color: inherit;
    box-shadow: 0 6px 20px rgba(11, 59, 47, .06);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hv .hx-gcard:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(11, 59, 47, .16); border-color: var(--insight-highlight); }
.hv .hx-gimg { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--forest-authority); }
.hv .hx-gimg img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.hv .hx-gcard:hover .hx-gimg img { transform: scale(1.08); }
.hv .hx-gimg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(6, 28, 22, .6)); }
.hv .hx-gimg em {
    position: absolute;
    z-index: 1;
    left: 16px;
    bottom: 14px;
    font-style: normal;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--forest-authority);
    background: var(--insight-highlight);
    border-radius: 999px;
    padding: 5px 12px;
}
.hv .hx-gbody { display: flex; flex-direction: column; gap: 10px; padding: 22px 22px 24px; flex: 1; }
.hv .hx-gbody strong { font-size: 20px; line-height: 1.25; font-weight: 800; color: var(--forest-authority); letter-spacing: -.01em; }
.hv .hx-gbody > span:not(.hx-link) { font-size: 15px; line-height: 1.6; color: #4a5c56; flex: 1; }
.hv .hx-gcard:hover .hx-link i, .hv .hx-strain:hover .hx-link i { transform: translateX(5px); }

/* ============================================================
   INDUSTRY INTELLIGENCE (dark band)
   ============================================================ */
.hv .intelligence {
    background: linear-gradient(135deg, #061c17 0%, #0b2e25 55%, #0f3a2e 100%);
    border: 0;
    color: #fff;
}
.hv .intelligence::before {
    content: "";
    position: absolute;
    top: -20%;
    right: -10%;
    width: 640px;
    height: 640px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(212, 168, 67, .13), transparent 68%);
    transform: none;
    left: auto;
    pointer-events: none;
}
.hv .hx-hex-dark { opacity: .55; -webkit-mask-image: radial-gradient(70% 90% at 90% 0%, #000, transparent); mask-image: radial-gradient(70% 90% at 90% 0%, #000, transparent); }
.hv .intelligence .hx-kicker { color: var(--insight-highlight); }
.hv .intelligence .hx-head h2 { color: #fff; }
.hv .intelligence .hx-head p { color: rgba(255, 255, 255, .72); }
.hv .hx-intel-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.hv .intelligence .intel-card {
    position: relative;
    border: 1px solid rgba(255, 255, 255, .1);
    border-top: 3px solid var(--insight-highlight);
    border-radius: var(--hx-radius);
    background: rgba(255, 255, 255, .045);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    padding: 26px 24px 24px;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .2);
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}
.hv .intelligence .intel-card:hover { transform: translateY(-5px); background: rgba(255, 255, 255, .08); border-color: rgba(212, 168, 67, .6); border-top-color: var(--insight-highlight); }
.hv .intelligence .intel-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(212, 168, 67, .14);
    border: 1px solid rgba(212, 168, 67, .3);
    font-size: 24px;
    margin-bottom: 16px;
    text-shadow: none;
}
.hv .intelligence .intel-category { font-size: 19px; margin-bottom: 14px; letter-spacing: -.01em; }
.hv .intelligence .intel-links { gap: 0; }
.hv .intelligence .intel-links li { border-top: 1px solid rgba(255, 255, 255, .09); }
.hv .intelligence .intel-links li a { font-size: 14.5px; line-height: 1.5; padding: 11px 0; color: rgba(255, 255, 255, .78); }
.hv .intelligence .intel-links li a i { opacity: .7; }

/* ============================================================
   STRAIN MATRIX
   ============================================================ */
.hv .hx-strain-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.hv .hx-strain {
    --c: #2e8b57;
    position: relative;
    display: block;
    aspect-ratio: 3 / 4.5;
    border-radius: 18px;
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    background: var(--forest-authority);
    box-shadow: 0 10px 28px rgba(11, 59, 47, .18);
    transition: transform .3s ease, box-shadow .3s ease;
}
.hv .hx-strain-indica { --c: #8a56d6; }
.hv .hx-strain-sativa { --c: #e0a31f; }
.hv .hx-strain-hybrid { --c: #2fa56a; }
.hv .hx-strain-popular { --c: #2a94b3; }
.hv .hx-strain-trending { --c: #cf4d6c; }
.hv .hx-strain:hover { transform: translateY(-8px); box-shadow: 0 24px 48px rgba(11, 59, 47, .3), 0 0 0 2px var(--c); }
.hv .hx-strain img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.hv .hx-strain:hover img { transform: scale(1.09); }
.hv .hx-strain-shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(6, 28, 22, .15) 0%, rgba(6, 28, 22, 0) 30%, rgba(6, 28, 22, .78) 68%, rgba(6, 28, 22, .95) 100%);
}
.hv .hx-strain::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--c); }
.hv .hx-strain-pill {
    position: absolute;
    top: 14px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fff;
    background: var(--c);
    border-radius: 999px;
    padding: 6px 12px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .3);
}
.hv .hx-strain-pill i { font-size: 15px; }
.hv .hx-strain-info { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 8px; padding: 20px 18px 22px; }
.hv .hx-strain-info strong { font-size: 20px; line-height: 1.2; font-weight: 800; letter-spacing: -.01em; color: #fff; }
.hv .hx-strain-info > span { font-size: 13.5px; line-height: 1.55; color: rgba(255, 255, 255, .84); }
.hv .hx-strain .hx-link { color: var(--insight-highlight); margin-top: 2px; }

/* ============================================================
   REMAINING SECTIONS: align type and spacing with the system
   ============================================================ */
.hv .home-guide-categories { padding-top: clamp(64px, 8vw, 104px); padding-bottom: clamp(64px, 8vw, 104px); }
.hv .news .news-featured-card,
.hv .news .news-split-list-card,
.hv .news .news-full-width-card { border-radius: var(--hx-radius); }
.hv .legal-map { background: #fff; }
.hv .faq-section { padding: clamp(64px, 8vw, 104px) 0; }
.hv .faq-section .section-header h2 { font-size: clamp(28px, 3.3vw, 40px); line-height: 1.14; letter-spacing: -.02em; }
.hv .faq-section .section-header p { font-size: 17px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1180px) {
    .hv .hx-gguide-grid, .hv .hx-intel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hv .hx-strain-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hv .hx-strain { aspect-ratio: 3 / 3.8; }
}
@media (max-width: 960px) {
}
@media (max-width: 720px) {
    .hv .hx-head { flex-direction: column; align-items: flex-start; gap: 16px; }
    .hv .hx-gguide-grid, .hv .hx-intel-grid { grid-template-columns: minmax(0, 1fr); }
    .hv .hx-strain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .hv .hx-strain { aspect-ratio: 3 / 4.4; border-radius: 14px; }
    .hv .hx-strain-info { padding: 14px 12px 16px; }
    .hv .hx-strain-info strong { font-size: 16px; }
    .hv .hx-strain-info > span:not(.hx-link) { display: none; }
    .hv .hx-strain-pill { top: 10px; left: 10px; font-size: 10px; padding: 5px 9px; }
}
@media (max-width: 420px) {
    .hv .hx-strain-grid { grid-template-columns: minmax(0, 1fr); }
    .hv .hx-strain { aspect-ratio: 16 / 11; }
    .hv .hx-strain-info > span:not(.hx-link) { display: block; }
}
@media (prefers-reduced-motion: reduce) {
    .hv .hx-eyebrow b { animation: none; }
}


/* ============================================================
   THE PULSE (deep-dive) SECTION
   ============================================================ */
.hv .hx-pulse { padding: clamp(64px, 8vw, 104px) 0; border: 0; }
.hv .hx-pulse-feature {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(135deg, #061c17 0%, #0b2e25 60%, #0f3a2e 100%);
    box-shadow: 0 28px 60px rgba(11, 59, 47, .22);
    margin-bottom: 26px;
}
.hv .hx-pulse-copy { padding: clamp(32px, 4.5vw, 60px); color: #fff; }
.hv .hx-pulse .hx-kicker { color: var(--insight-highlight); }
.hv .hx-pulse-copy h2 {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(27px, 3.1vw, 38px);
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -.02em;
    color: #fff;
    margin: 0 0 18px;
}
.hv .hx-pulse-copy p { font-size: 17px; line-height: 1.75; color: rgba(255, 255, 255, .8); margin: 0 0 28px; max-width: 600px; }
.hv .hx-pulse-stats { list-style: none; display: flex; flex-wrap: wrap; gap: 14px 38px; margin: 0 0 30px; padding: 22px 0 0; border-top: 1px solid rgba(255, 255, 255, .14); }
.hv .hx-pulse-stats b { display: block; font-family: 'Manrope', sans-serif; font-size: 34px; line-height: 1; font-weight: 800; color: var(--insight-highlight); letter-spacing: -.02em; }
.hv .hx-pulse-stats span { display: block; font-size: 13.5px; color: rgba(255, 255, 255, .7); margin-top: 6px; }
.hv .hx-pulse-photo { position: relative; margin: 0; min-height: 360px; }
.hv .hx-pulse-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hv .hx-pulse-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #0b2e25 0%, rgba(11, 46, 37, 0) 38%), linear-gradient(0deg, rgba(6, 28, 22, .55), transparent 40%); }
.hv .hx-pulse-photo figcaption {
    position: absolute;
    z-index: 1;
    right: 18px;
    bottom: 18px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    font-weight: 800;
    color: var(--forest-authority);
    background: var(--insight-highlight);
    border-radius: 999px;
    padding: 8px 14px;
}
.hv .hx-pulse-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.hv .hx-pcell {
    position: relative;
    background: #fff;
    border: 1px solid var(--card-border);
    border-radius: 20px;
    padding: 30px 32px 32px;
    box-shadow: 0 8px 26px rgba(11, 59, 47, .07);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hv .hx-pcell:hover { transform: translateY(-4px); box-shadow: 0 22px 44px rgba(11, 59, 47, .13); border-color: var(--insight-highlight); }
.hv .hx-pcell-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.hv .hx-pcell-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--forest-authority); color: var(--insight-highlight); font-size: 26px; }
.hv .hx-pcell-top em { font-style: normal; font-family: 'Manrope', sans-serif; font-size: 40px; line-height: 1; font-weight: 800; color: rgba(11, 59, 47, .1); }
.hv .hx-pcell h3 { font-family: 'Manrope', sans-serif; font-size: 23px; line-height: 1.2; font-weight: 800; letter-spacing: -.015em; color: var(--forest-authority); margin: 0 0 12px; }
.hv .hx-pcell p { font-size: 16px; line-height: 1.75; color: #34463f; margin: 0 0 14px; }
.hv .hx-pcell p small, .hv .hx-pcell li small { font-size: 13px; color: var(--subtle-ui); }
.hv .hx-pcell sup a { color: #a47d1c; font-weight: 800; font-size: 11px; margin-left: 1px; }
.hv .hx-pcell-list, .hv .hx-pcell-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: step; }
.hv .hx-pcell-list li, .hv .hx-pcell-steps li { font-size: 15.5px; line-height: 1.65; color: #34463f; background: var(--data-clarity); border: 1px solid var(--card-border); border-radius: 12px; padding: 13px 16px; }
.hv .hx-pcell-list strong, .hv .hx-pcell-steps strong { color: var(--forest-authority); }
.hv .hx-pcell-steps li { position: relative; padding-left: 52px; counter-increment: step; }
.hv .hx-pcell-steps li::before { content: counter(step); position: absolute; left: 14px; top: 13px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--forest-authority); color: var(--insight-highlight); font-size: 13px; font-weight: 800; }
.hv .hx-pcell .hx-link { margin-top: 4px; }

/* ============================================================
   RESPONSIVE: hero and pulse
   ============================================================ */
@media (max-width: 1100px) {
    .hv .hx-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 44px; padding-top: 56px; padding-bottom: 48px; }
    .hv .hx-deck { transform: none; max-width: 640px; }
    .hv .hx-bars { display: none; }
    .hv .hx-statbar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hv .hx-stat:nth-child(3) { border-left: 0; }
    .hv .hx-stat:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .1); }
    .hv .hx-pulse-feature { grid-template-columns: minmax(0, 1fr); }
    .hv .hx-pulse-photo { min-height: 280px; order: -1; }
    .hv .hx-pulse-photo::after { background: linear-gradient(0deg, #0b2e25 0%, rgba(11, 46, 37, 0) 45%); }
}
@media (max-width: 720px) {
    .hv .hx-cta-row .hx-btn { flex: 1 1 100%; justify-content: center; }
    .hv .hx-features { grid-template-columns: minmax(0, 1fr); }
    .hv .hx-deck { grid-template-columns: minmax(0, 1fr); grid-template-areas: "map" "size" "news" "trends"; }
    .hv .hx-statbar { border-left-width: 4px; }
    .hv .hx-stat { padding: 14px 14px; gap: 10px; }
    .hv .hx-stat > i { font-size: 24px; }
    .hv .hx-stat b { font-size: 20px; }
    .hv .hx-pulse-grid { grid-template-columns: minmax(0, 1fr); }
    .hv .hx-pcell { padding: 24px 22px 26px; }
}
@media (max-width: 480px) {
    .hv .hx-statbar-grid { grid-template-columns: minmax(0, 1fr); }
    .hv .hx-stat + .hx-stat { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .1); }
}

@media (min-width: 1101px) {
    .hv .hx-cta-row { flex-wrap: nowrap; gap: 12px; }
    .hv .hx-cta-row .hx-btn { padding: 13px 20px; font-size: 14.5px; white-space: nowrap; }
}

@media (max-width: 720px) {
    .hv .home-guide-panel-header { flex-direction: column; align-items: flex-start; }
}
