/*
 * hqt-home.css — homepage styling (Unit 3 · home-v3 contract).
 * Purpose : all visual rules for the rebuilt front page, layered on hqt-tokens.css.
 * Refs    : mockups/home.html · template-parts/hqt-home/*.php.
 * Index   : 1 hero + buy-box · 2 finder + USP band · 3 sections/cards ·
 *           4 clusters · 5 capture/manifesto/gift · 6 testimonials/blog · 7 mobile.
 */

/* ---- 1 · hero banner carousel (founder-directed: banners, not one product) ---- */
.hqt-home__hero { position: relative; color: #fff; overflow: hidden; }
/* WCAG 2.2.2 pause control — injected by hqt-home.js only when the rotation
   timer actually runs. Dark pill so it clears 3:1 against ANY of the three
   slide gradients, rather than depending on which banner happens to be up. */
.hqt-home__bpause {
  position: absolute; right: 16px; bottom: 16px; z-index: 3;
  width: 34px; height: 34px; padding: 0; border-radius: 50%;
  display: grid; place-items: center; cursor: pointer;
  background: rgba(16, 26, 9, .66); color: #fff;
  border: 1px solid rgba(255, 255, 255, .55);
}
/* Astra's inline CSS carries `button:focus, button:hover { background-color:
   var(--ast-global-color-1) }` — its blue. That is (0,1,1); these are (0,2,0),
   so they win. The background MUST be restated on :focus, not only :hover:
   the first version set outline alone on :focus-visible, and Astra's focus
   background turned the pill blue the moment it was tabbed to. */
.hqt-home__bpause:hover,
.hqt-home__bpause:focus,
.hqt-home__bpause:focus-visible {
  background: rgba(16, 26, 9, .86); color: #fff; border-color: rgba(255, 255, 255, .75);
}
.hqt-home__bpause:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.hqt-home__bpause svg { display: block; width: 12px; height: 12px; fill: currentColor; }
@media (max-width: 768px) { .hqt-home__bpause { right: 10px; bottom: 10px; } }

.hqt-home__slide { display: none; }
.hqt-home__slide.is-on { display: block; animation: hqt-slidein 0.5s ease; }
@keyframes hqt-slidein { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .hqt-home__slide.is-on { animation: none; } }
.hqt-home__slide--brand { background: radial-gradient(1200px 600px at 78% -10%, #4a7a26 0%, transparent 55%), linear-gradient(135deg, #16290a 0%, #243f12 45%, #2d5016 100%); }
.hqt-home__slide--sleep { background: radial-gradient(900px 500px at 85% -20%, #46548f 0%, transparent 55%), linear-gradient(130deg, #232b46, #31406b); }
.hqt-home__slide--gift { background: linear-gradient(120deg, #1f3a0e, #2d5016 60%, #3c6a1e); }
.hqt-home__slidegrid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 44px; align-items: center; padding-top: 56px; padding-bottom: 62px; min-height: 480px; }
.hqt-home__slideart { display: flex; align-items: center; justify-content: center; position: relative; }
/* Composed-scene banners: AI scene photograph fills the slide; copy sits over a
   left legibility scrim; the pack CUTOUT stands in the scene's staged empty zone.
   Framed art (real photographs like the gift boxes) keeps a card treatment. */
.hqt-home__slide--scene { background-size: cover; background-position: center right; position: relative; }
.hqt-home__slide--scene::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,18,6,0.78) 0%, rgba(10,18,6,0.55) 34%, rgba(10,18,6,0.12) 62%, transparent 78%); }
.hqt-home__slide--scene .hqt-wrap { position: relative; }
.hqt-home__slide--scene .hqt-home__lead { color: rgba(255,255,255,0.88); }
.hqt-home__slideart img { position: relative; max-height: 420px; width: auto; max-width: 100%; border-radius: 16px; box-shadow: 0 28px 70px rgba(0,0,0,0.4); }
.hqt-home__slideart--cut img { border-radius: 0; box-shadow: none; filter: drop-shadow(0 34px 38px rgba(0,0,0,0.5)); max-height: 400px; }
.hqt-home__slideart--leaf { color: rgba(255, 255, 255, 0.16); }
/* .hqt-home__bdots rules removed 2026-07-27 — the banner dots are gone (founder) */
.hqt-home__eyebrow { color: var(--hqt-leaf); font-size: 12px; letter-spacing: 3px; text-transform: uppercase; font-weight: 700; margin-bottom: 14px; }
.hqt-home__hero .hqt-home__h1 { font-family: var(--hqt-ff-display); color: #fff; font-size: 46px; line-height: 1.12; margin-bottom: 14px; letter-spacing: -0.5px; font-weight: 600; }
.hqt-home__h1 em { font-style: italic; color: var(--hqt-leaf); }
.hqt-home__lead { color: #d4e3c2; font-size: 16px; max-width: 450px; margin-bottom: 22px; }
.hqt-home__cta { background: var(--hqt-leaf); color: var(--hqt-deep); padding: 14px 30px; font-size: 14.5px; }
.hqt-home__cta:hover { background: #a5d465; color: var(--hqt-deep); }
.hqt-home__trustchips { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.hqt-home__trustchips span { background: rgba(255, 255, 255, 0.10); border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 99px; padding: 6px 14px; font-size: 12px; color: #dcead0; font-weight: 600; }

/* ---- 2 · finder + USP band ---- */
.hqt-home__usp { background: var(--hqt-forest); color: #dcead0; font-size: 12.5px; letter-spacing: 1.5px; text-transform: uppercase; padding: 11px 0; overflow: hidden; white-space: nowrap; }
.hqt-home__usptrack { display: inline-block; animation: hqt-marquee 30s linear infinite; }
.hqt-home__usptrack span { margin: 0 26px; }
@keyframes hqt-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .hqt-home__usptrack { animation: none; } }

/* ---- 3 · sections + product cards ---- */
.hqt-home__sec { padding: 56px 0; }
.hqt-home__sec--tight { padding-top: 8px; }
.hqt-home__sechead { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.hqt-home__sechead h2 { font-family: var(--hqt-ff-display); font-size: 29px; color: var(--hqt-forest); letter-spacing: -0.3px; }
.hqt-home__sechead a { font-size: 13.5px; color: var(--hqt-forest); font-weight: 700; }
.hqt-home__seclead { color: var(--hqt-soft); font-size: 14.5px; margin-bottom: 24px; max-width: 620px; }
.hqt-home__cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.hqt-home__pc { background: var(--hqt-white); border-radius: 10px; box-shadow: var(--hqt-shadow); overflow: hidden; transition: all 0.25s ease; display: flex; flex-direction: column; }
.hqt-home__pc:hover { transform: translateY(-4px); box-shadow: var(--hqt-shadow-hover); }
.hqt-home__pcph { display: block; position: relative; aspect-ratio: 1 / 1; background: #fff; border-bottom: 1px solid var(--hqt-line); line-height: 0; overflow: hidden; }
/* Product shots carry baked-in white padding — a gentle crop-zoom trims it so cards
   read dense like the mock; full density arrives with the full-bleed asset kit. */
.hqt-home__pcph img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); transition: transform 0.3s ease; }
.hqt-home__pc:hover .hqt-home__pcph img { transform: scale(1.17); }
/* Badge chip sits above the product name (packs carry printed labels — overlays collide). */
.hqt-home__pcbadge { align-self: flex-start; font-size: 9.5px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; padding: 3px 9px; border-radius: 4px; background: var(--hqt-cream); color: var(--hqt-forest); border: 1px solid var(--hqt-leaf); margin-bottom: 6px; }
.hqt-home__pcbadge--new { background: #eaf3dd; color: var(--hqt-deep); border-color: var(--hqt-mid); }
.hqt-home__pcbadge--lot { background: #f7efdd; color: #7a5c17; border-color: var(--hqt-gold); }
.hqt-home__pcbd { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.hqt-home__pcnm { font-weight: 700; font-size: 15px; color: var(--hqt-ink); }
.hqt-home__pctg { color: var(--hqt-forest); font-size: 12px; font-weight: 600; margin: 2px 0 4px; }
.hqt-home__pcpr { font-size: 14.5px; margin: 7px 0 10px; font-weight: 600; }
.hqt-home__pcpr s { color: var(--hqt-mut); font-size: 12.5px; font-weight: 400; }
.hqt-home__pcpr em { color: var(--hqt-pink); font-size: 11px; font-weight: 800; font-style: normal; }
.hqt-home__pcadd { margin-top: auto; text-align: center; padding: 11px; font-size: 13px; }

/* ---- 4 · manifesto media + offer strip ---- */
.hqt-home__manifvid--photo { line-height: 0; padding: 0; }
.hqt-home__manifvid--photo img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
/* Gift-ladder offer strip (founder creative, B7). */
.hqt-home__offerstrip { display: block; border-radius: 16px; overflow: hidden; box-shadow: var(--hqt-shadow); line-height: 0; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.hqt-home__offerstrip:hover { transform: translateY(-3px); box-shadow: var(--hqt-shadow-hover); }
/* Shop-by-type photographic tiles (B2 · Octavius Trending Categories). */
.hqt-home__tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.hqt-home__tile { position: relative; border-radius: 14px; overflow: hidden; background: var(--hqt-white); box-shadow: var(--hqt-shadow); aspect-ratio: 4 / 5; display: block; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.hqt-home__tile:hover { transform: translateY(-4px); box-shadow: var(--hqt-shadow-hover); }
.hqt-home__tile img { width: 100%; height: 100%; object-fit: cover; }
.hqt-home__tile span { position: absolute; left: 0; right: 0; bottom: 0; padding: 34px 16px 14px; background: linear-gradient(transparent, rgba(12,20,6,0.72)); color: #fff; font-family: var(--hqt-ff-display); font-size: 19px; }
.hqt-home__tile em { display: block; font-style: normal; font-family: var(--hqt-ff-body); font-size: 12px; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: var(--hqt-leaf); margin-top: 2px; }
/* Discover-gifting collage (B3 · real photographs, overlapped). */
.hqt-home__gcollage { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 40px; align-items: center; background: linear-gradient(120deg, #f6f2e6, #efe7d2); border-radius: 18px; padding: 40px 44px; }
.hqt-home__gcbody small { color: #9a7a2e; font-size: 11.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; }
.hqt-home__gcbody h2 { font-family: var(--hqt-ff-display); font-size: 32px; color: var(--hqt-forest); margin: 8px 0 10px; }
.hqt-home__gcbody p { color: var(--hqt-soft); font-size: 14.5px; margin-bottom: 18px; }
.hqt-home__gcphotos { position: relative; min-height: 340px; }
.hqt-home__gcph { position: absolute; border-radius: 12px; overflow: hidden; box-shadow: 0 18px 44px rgba(40,30,10,0.25); margin: 0; line-height: 0; }
.hqt-home__gcph img { width: 100%; height: 100%; object-fit: cover; }
.hqt-home__gcph--0 { width: 58%; height: 74%; left: 0; top: 0; z-index: 1; }
.hqt-home__gcph--1 { width: 48%; height: 62%; right: 0; top: 16%; z-index: 2; transform: rotate(2deg); }
.hqt-home__gcph--2 { width: 44%; height: 52%; left: 22%; bottom: 0; z-index: 3; transform: rotate(-2deg); }
@media (max-width: 900px) {
	.hqt-home__tiles { grid-template-columns: 1fr 1fr; }
	.hqt-home__gcollage { grid-template-columns: 1fr; padding: 28px 22px; }
	.hqt-home__gcphotos { min-height: 260px; }
}
.hqt-home__mc { background: rgba(255, 255, 255, 0.96); border-radius: 10px; padding: 12px; font-size: 12px; color: var(--hqt-ink); display: flex; flex-direction: column; }
.hqt-home__mc a { color: inherit; }
.hqt-home__mc b { font-size: 12.5px; }
/* Minis show the WHOLE pack — the crop-zoom made them unrecognizable at this size. */
.hqt-home__mcph { height: 124px; border-radius: 6px; overflow: hidden; background: #fff; border: 1px solid var(--hqt-line); margin-bottom: 8px; line-height: 0; }
.hqt-home__mcph img { width: 100%; height: 100%; object-fit: contain; }
.hqt-home__mcp { margin: 3px 0 7px; font-weight: 600; }
/* Two classes: .hqt-home__mc a { inherit } outranked the single-class rule and made
   the label ink-on-forest (invisible) — found via matched-rules dump, Unit-3 polish. */
.hqt-home__mc .hqt-home__mcadd { margin-top: auto; background: var(--hqt-forest); color: #fff; border-radius: 5px; padding: 8px; font-weight: 700; font-size: 11.5px; text-align: center; letter-spacing: 0.5px; }
.hqt-home__mc .hqt-home__mcadd:hover { background: #3a6420; color: #fff; }

/* ---- 5 · capture / manifesto / gift ---- */
.hqt-home__capture { background: linear-gradient(120deg, #eaf3dd, #f6f8f2); border: 1px solid var(--hqt-line); border-radius: 14px; padding: 26px 30px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.hqt-home__capture b { font-family: var(--hqt-ff-display); font-size: 20px; color: var(--hqt-forest); }
.hqt-home__capsub { font-size: 12.5px; color: var(--hqt-soft); }
.hqt-home__manif { background: linear-gradient(#fff, #fbfcf8); border-top: 1px solid var(--hqt-line); border-bottom: 1px solid var(--hqt-line); padding: 56px 0; }
.hqt-home__manifgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.hqt-home__manif h2 { font-family: var(--hqt-ff-display); font-size: 31px; color: var(--hqt-forest); margin-bottom: 14px; }
.hqt-home__manif h2 em { font-style: italic; color: var(--hqt-mid); }
.hqt-home__manif p { color: var(--hqt-soft); font-size: 15px; margin-bottom: 12px; }
.hqt-home__stats { display: flex; gap: 30px; margin-top: 20px; }
.hqt-home__stats b { display: block; font-family: var(--hqt-ff-display); font-size: 29px; color: var(--hqt-forest); }
.hqt-home__stats span { font-size: 12px; color: var(--hqt-soft); }
.hqt-home__manifvid { height: 310px; border-radius: 14px; background: linear-gradient(140deg, #dfeccb, #c4dba4); display: flex; align-items: center; justify-content: center; color: var(--hqt-forest); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; box-shadow: inset 0 0 0 1px rgba(45, 80, 22, 0.15); }
.hqt-home__gift { background: linear-gradient(120deg, #1f3a0e, #2d5016 60%, #3c6a1e); border-radius: 18px; color: #fff; padding: 42px; display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 30px; align-items: center; position: relative; overflow: hidden; }
.hqt-home__gift::before { content: ""; position: absolute; right: -60px; top: -60px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(201, 162, 75, 0.28), transparent 65%); }
.hqt-home__gift small { color: var(--hqt-gold); letter-spacing: 2.5px; text-transform: uppercase; font-size: 11.5px; font-weight: 700; }
.hqt-home__sec .hqt-home__gift h2 { font-family: var(--hqt-ff-display); color: #fff; font-size: 29px; margin: 8px 0 10px; } /* two classes: outranks tokens' body.hqt h2 */
.hqt-home__gift p { color: #d4e3c2; font-size: 14px; margin-bottom: 20px; max-width: 430px; }
.hqt-home__giftbtn { background: var(--hqt-gold); color: #241c07; }
.hqt-home__giftbtn:hover { background: #d9b662; color: #241c07; }
.hqt-home__giftph { display: flex; align-items: center; justify-content: center; height: 165px; border-radius: 10px; background: rgba(255, 255, 255, 0.10); border: 1px dashed rgba(255, 255, 255, 0.3); color: #e6d9b8; }

/* ---- 6 · blog cards ---- */
/* Decorative quote lives in the padded top band — it no longer overlaps the title. */
.hqt-home__blog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.hqt-home__bc { background: var(--hqt-white); border-radius: 10px; overflow: hidden; box-shadow: var(--hqt-shadow); color: inherit; display: block; }
.hqt-home__bcph { height: 145px; background: linear-gradient(140deg, #eaf3dd, #d0e2b6); overflow: hidden; line-height: 0; }
.hqt-home__bcph img { width: 100%; height: 100%; object-fit: cover; }
.hqt-home__bcbd { padding: 16px; }
.hqt-home__bcbd small { color: var(--hqt-forest); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.hqt-home__bcbd b { display: block; font-family: var(--hqt-ff-display); font-size: 16px; color: var(--hqt-forest); margin-top: 4px; font-weight: 600; }

/* ---- 7 · mobile ---- */
@media (max-width: 960px) {
	.hqt-home__slidegrid, .hqt-home__manifgrid, .hqt-home__gift { grid-template-columns: 1fr; }
	.hqt-home__slideart { display: none; }
	.hqt-home__cards { grid-template-columns: 1fr 1fr; }
	.hqt-home__blog { grid-template-columns: 1fr 1fr; }
	.hqt-home__h1 { font-size: 34px; }
}
@media (max-width: 600px) {
	.hqt-home__cards, .hqt-home__blog { grid-template-columns: 1fr; }
}

/* ---- reels band: "Drinkers, on camera" (real UGC — unhidden 2026-07-26) ---- */
.hqt-home__reels { background: var(--hqt-deep); padding: 56px 0 60px; color: #fff; }
.hqt-home__reels .hqt-home__sechead h2 { color: #fff; }
.hqt-home__reels .hqt-home__seclead { color: #bcd0a8; }
.hqt-home__reelrow { display: flex; gap: 16px; margin-top: 18px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 8px; scrollbar-width: none; }
.hqt-home__reelrow::-webkit-scrollbar { display: none; }
.hqt-home__reel { flex: 0 0 272px; scroll-snap-align: start; border-radius: 16px; overflow: hidden; background: #16220e; display: flex; flex-direction: column; }
.hqt-home__reel .hqt-vid--tap { aspect-ratio: 9 / 16; }
.hqt-home__reelbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; line-height: 1.3; }
.hqt-home__reelbar > a:first-child { text-decoration: none; min-width: 0; }
.hqt-home__reelbar b { display: block; font-size: 12.5px; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hqt-home__reelbar span { font-size: 12px; color: #bcd0a8; }
.hqt-home__reelbar .hqt-btn--add { padding: 8px 12px; font-size: 12px; flex: none; }
@media (max-width: 640px) { .hqt-home__reel { flex-basis: 66%; } }
/* shared reel-row arrows (desktop) */
.hqt-reelwrap { position: relative; }
.hqt-reelwrap .hqt-reelarrow { position: absolute; top: 42%; z-index: 2; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.92); color: #1e2b12; border: none; font-size: 22px; font-weight: 800; cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,.35); display: flex; align-items: center; justify-content: center; }
.hqt-reelwrap .hqt-reelarrow--l { left: -10px; }
.hqt-reelwrap .hqt-reelarrow--r { right: -10px; }
.hqt-reelwrap .hqt-reelarrow[hidden] { display: none; }
@media (max-width: 768px) { .hqt-reelwrap .hqt-reelarrow { display: none; } }
/* manifesto film loop fills the panel exactly like the photo did */
.hqt-home__manifvid--photo video { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

/* /shop/ archive — type quick-links + grid breathing room */
/* Shop toolbar: Woo's result count + ordering select, on the theme's own type scale. */
.hqt-shop__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 22px; }
.hqt-shop__bar .woocommerce-result-count { margin: 0; font-size: 14px; color: var(--hqt-forest); }
.hqt-shop__bar .woocommerce-ordering { margin: 0; }
.hqt-shop__bar .woocommerce-ordering select { padding: 9px 14px; border: 1.5px solid var(--hqt-line); border-radius: 999px; background: #fff; font-size: 13.5px; font-weight: 600; color: var(--hqt-forest); }

.hqt-shop__types { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.hqt-shop__types a { padding: 9px 18px; border-radius: 999px; border: 1.5px solid var(--hqt-forest); color: var(--hqt-forest); font-weight: 700; font-size: 13.5px; text-decoration: none; transition: background 0.2s ease, color 0.2s ease; }
.hqt-shop__types a:hover { background: var(--hqt-forest); color: #fff; }
.hqt-shop__grid { margin-top: 6px; }

/* ---- jump-map: "What are we fixing for you?" (restored 2026-07-27) ---- */
.hqt-home__jumpmap { padding: 34px 0 8px; }
.hqt-home__jumprow { display: grid; grid-template-columns: repeat(8, 1fr); gap: 10px; margin-top: 16px; }
.hqt-home__jump { display: flex; flex-direction: column; align-items: center; gap: 3px; background: var(--jc); color: #fff; border-radius: 12px; padding: 12px 6px 10px; text-decoration: none; text-align: center; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.hqt-home__jump:hover { transform: translateY(-3px); box-shadow: var(--hqt-shadow-hover); color: #fff; }
/* the chips' icon rule died with the icons (2026-07-27, founder) */
.hqt-home__jump b { font-size: 12.5px; }
.hqt-home__jump small { font-size: 10px; opacity: 0.85; font-weight: 500; line-height: 1.2; }
@media (max-width: 1024px) { .hqt-home__jumprow { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 480px) { .hqt-home__jumprow { grid-template-columns: repeat(2, 1fr); } }

/* ---- ritual panels (Option D lead rituals → founder tabs 2026-07-27) ---- */
.hqt-home__ritual { border-radius: 16px; margin: 26px auto; max-width: 1180px; scroll-margin-top: 130px; color: #fff; }
.hqt-home__ritual--sleep { background: linear-gradient(120deg, #232b46, #31406b); }
.hqt-home__ritual--skin { background: linear-gradient(120deg, #5c2b3c, #8a4a5c); }
.hqt-home__ritual--gut { background: linear-gradient(120deg, #24501f, #3c6a1e); }
.hqt-home__ritualgrid { display: grid; grid-template-columns: 1.05fr 1.6fr; gap: 32px; align-items: center; padding: 30px 34px; }
.hqt-home__ritualtx small { color: var(--hqt-leaf); font-weight: 800; letter-spacing: 2px; font-size: 11px; text-transform: uppercase; }
.hqt-home__ritualtx h2 { color: #fff !important; font-size: 25px; margin: 8px 0 8px; line-height: 1.25; }
.hqt-home__ritualtx p { color: rgba(255, 255, 255, 0.78); font-size: 13.5px; }
.hqt-home__ritualsteps { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.hqt-home__ritualst { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 12px; padding: 12px; text-align: center; text-decoration: none; color: #fff; display: block; transition: background 0.2s ease; }
.hqt-home__ritualst:hover { background: rgba(255, 255, 255, 0.15); color: #fff; }
.hqt-home__ritualn { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--hqt-leaf); color: #16220e; font-weight: 900; font-size: 12px; margin-bottom: 7px; }
.hqt-home__ritualph { display: block; border-radius: 8px; overflow: hidden; background: rgba(255, 255, 255, 0.1); margin-bottom: 8px; }
.hqt-home__ritualph img { width: 100%; height: 110px; object-fit: contain; display: block; }
.hqt-home__ritualst b { display: block; font-size: 13px; }
.hqt-home__ritualst i { font-style: normal; display: block; font-size: 11px; opacity: 0.75; margin: 2px 0 3px; }
.hqt-home__ritualpr { font-size: 13px; font-weight: 700; }
.hqt-home__ritualbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: rgba(139, 195, 74, 0.15); border: 1.5px dashed rgba(139, 195, 74, 0.55); border-radius: 12px; padding: 11px 16px; margin-top: 13px; }
.hqt-home__ritualbar b { font-size: 14.5px; }
.hqt-home__ritualbar s { opacity: 0.6; font-size: 12.5px; font-weight: 400; margin-left: 7px; }
.hqt-home__ritualbar .hqt-btn { background: var(--hqt-leaf); color: #16220e; font-weight: 900; padding: 11px 20px; font-size: 13.5px; flex: none; }
@media (max-width: 760px) {
	.hqt-home__ritual { margin: 20px 14px; }
	.hqt-home__ritualgrid { grid-template-columns: 1fr; padding: 22px 20px; gap: 18px; }
	.hqt-home__ritualbar { flex-wrap: wrap; }
}

/* ---- marketplace testimonial strip (mockups/reviews.html B · approved 2026-07-26) ---- */
.hqt-mstrip__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 14px; margin-bottom: 22px; }
.hqt-mstrip__big { font-family: var(--hqt-ff-display); font-size: clamp(22px, 2.8vw, 30px); font-weight: 600; color: var(--hqt-forest); margin: 0; }
.hqt-mstrip__pill { font-size: 11.5px; font-weight: 600; letter-spacing: .05em; padding: 5px 12px; border-radius: 99px; background: var(--hqt-cream); border: 1px solid var(--hqt-line); color: var(--hqt-forest); }
.hqt-mstrip__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
.hqt-mstrip__card { border: 1px solid var(--hqt-line); border-left: 3px solid var(--hqt-leaf); border-radius: 10px; padding: 16px 18px; background: var(--hqt-white); }
.hqt-mstrip__q { font-size: 13.5px; line-height: 1.6; }
.hqt-mstrip__m { margin-top: 10px; font-size: 12px; color: var(--hqt-forest); font-weight: 600; }
@media (max-width: 640px) { .hqt-mstrip__row { grid-template-columns: 1fr; } }

/* ---- reels bar polish (founder 2026-07-27: button looked boxy, strip text too dim) ---- */
.hqt-home__reels .hqt-home__seclead { color: #dfe9d2; }
.hqt-home__reelbar { padding: 10px 12px 13px; }
.hqt-home__reelbar .hqt-btn--add { display: inline-flex; align-items: center; justify-content: center; line-height: 1; padding: 11px 16px; font-size: 12.5px; font-weight: 800; letter-spacing: .04em; border-radius: 10px; background: var(--hqt-leaf); color: #16220e; }
.hqt-home__reelbar .hqt-btn--add:hover { background: #7db83c; color: #16220e; }
.hqt-home__reelbar b { font-size: 13.5px; }
.hqt-home__reelbar span { font-size: 13.5px; font-weight: 700; color: #dfe9d2; }

/* ritual panel: full-shelf link (founder "show all" 2026-07-27 — link, not cram) */
.hqt-home__ritualall { display: inline-block; margin-top: 14px; color: var(--hqt-leaf); font-weight: 700; font-size: 14px; text-decoration: none; border-bottom: 1px dashed currentColor; padding-bottom: 2px; }
.hqt-home__ritualall:hover { color: #9fd45e; }

/* gifting banner section (founder creative 2026-07-27) */
.hqt-home__giftbanner a { display: block; border-radius: var(--hqt-r-lg); overflow: hidden; box-shadow: var(--hqt-shadow); }
.hqt-home__giftbanner img { display: block; width: 100%; height: auto; }

/* ritual tabs (founder-approved 3-2-3 · mockups/ritual-tabs.html) */
.hqt-home__rtabs { display: flex; gap: 8px; margin-bottom: 18px; flex-wrap: wrap; }
.hqt-home__rtab { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); color: #c6cde2; font-family: var(--hqt-ff-body); font-weight: 700; font-size: 13px; letter-spacing: .03em; padding: 10px 18px; border-radius: 99px; cursor: pointer; transition: all .2s; }
.hqt-home__rtab[aria-selected="true"] { background: var(--hqt-leaf); border-color: var(--hqt-leaf); color: #16220e; }
.hqt-home__rtab:hover:not([aria-selected="true"]) { border-color: rgba(139,195,74,.6); color: #fff; }
.hqt-home__rpane { display: none; }
.hqt-home__rpane.is-on { display: block; }
