/* =====================================================================
   ShopHR — Hero redesign variations (A/B/C). Loaded on top of
   design-system.css. Brand tokens reused; no new colors introduced.
   ===================================================================== */

/* compare-page chrome */
.hv-wrap{background:var(--bg-soft)}
.hv-label{max-width:var(--container);margin:0 auto;padding:40px 24px 14px;
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.hv-label .tag{font-family:var(--num);font-weight:700;font-size:13px;color:#fff;
  background:var(--brand);border-radius:var(--r-pill);padding:5px 13px;letter-spacing:.04em}
.hv-label h2{font-size:24px;font-weight:800}
.hv-label p{font-size:14px;color:var(--ink-500)}
.hv-frame{background:#fff;border-radius:var(--r-xl);margin:0 24px;overflow:hidden;
  box-shadow:var(--sh-2);max-width:calc(var(--container) + 48px);
  margin-inline:auto}
.hv-spacer{height:56px}

/* mini header inside each frame */
.hv-head{display:flex;align-items:center;gap:20px;height:60px;padding:0 28px;
  border-bottom:1px solid var(--line)}
.hv-head img{height:26px}
.hv-head .hv-nav{display:flex;gap:18px;font-size:13px;font-weight:600;color:var(--ink-500)}
.hv-head .hv-nav span:first-child{color:var(--brand)}
.hv-head .hv-r{margin-inline-start:auto;display:flex;gap:8px}
.hv-head .hv-r i{width:32px;height:32px;border-radius:50%;background:var(--bg-soft);display:block}

/* ===================== A · BENTO GRID ===================== */
.heroA{padding:48px}
.heroA-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.heroA-copy .eyebrow{margin-bottom:14px;display:block}
.heroA-copy h1{font-size:clamp(34px,4.4vw,60px);font-weight:800;line-height:1;letter-spacing:-.02em}
.heroA-copy h1 em{font-style:normal;color:var(--brand)}
.heroA-copy p{font-size:18px;color:var(--ink-500);max-width:46ch;margin:18px 0 26px}
.heroA-cta{display:flex;gap:12px;flex-wrap:wrap}
.heroA-mini{display:flex;gap:26px;margin-top:30px}
.heroA-mini .n{font-family:var(--num);font-weight:700;font-size:26px}
.heroA-mini .l{font-size:13px;color:var(--ink-500)}
/* bento */
.bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:118px;gap:14px}
.bt{border-radius:var(--r-lg);overflow:hidden;position:relative;background:var(--bg-soft);
  box-shadow:inset 0 0 0 1px var(--line)}
.bt img{width:100%;height:100%;object-fit:contain;padding:14px;mix-blend-mode:multiply}
.bt.big{grid-column:span 2;grid-row:span 2}
.bt.tall{grid-row:span 2}
.bt-cap{position:absolute;inset-inline:10px;bottom:10px;background:rgba(255,255,255,.72);
  backdrop-filter:blur(8px);border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;
  display:flex;justify-content:space-between;align-items:center;box-shadow:var(--sh-1)}
.bt-cap b{font-family:var(--num);color:var(--brand-700)}
.bt.brand{background:linear-gradient(150deg,var(--brand),var(--brand-700));color:#fff;
  box-shadow:var(--sh-brand);display:flex;flex-direction:column;justify-content:center;
  padding:18px;gap:2px}
.bt.brand .n{font-family:var(--num);font-weight:800;font-size:34px;line-height:1}
.bt.brand .l{font-size:13px;opacity:.9}
.bt.ink{background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center;
  padding:18px;gap:6px}
.bt.ink .pf{display:flex;align-items:center;gap:12px}
.bt.ink .ring{--p:68;width:46px;height:46px;border-radius:50%;flex:none;position:relative;
  background:conic-gradient(var(--brand) calc(var(--p)*1%),rgba(255,255,255,.18) 0)}
.bt.ink .ring::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--ink)}
.bt.ink .ring b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--num);
  font-weight:700;font-size:12px;z-index:1}
.bt.ink small{font-size:12px;opacity:.7}
.bt.ink b.t{font-size:13px}

/* ===================== B · EDITORIAL BIG-TYPE ===================== */
.heroB{position:relative;text-align:center;padding:64px 24px 0;overflow:hidden}
.heroB::before{content:"";position:absolute;top:-30%;inset-inline:0;height:80%;
  background:radial-gradient(60% 100% at 50% 0%,var(--bg-tint),transparent 70%);z-index:0}
.heroB>*{position:relative;z-index:1}
.heroB .kick{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;
  color:var(--brand);background:var(--brand-50);padding:7px 15px;border-radius:var(--r-pill);
  box-shadow:inset 0 0 0 1px var(--brand-100)}
.heroB h1{font-size:clamp(46px,8.5vw,116px);font-weight:800;line-height:.92;letter-spacing:-.03em;
  margin:22px auto 0;max-width:14ch}
.heroB h1 em{font-style:normal;color:var(--brand)}
.heroB p{font-size:19px;color:var(--ink-500);max-width:52ch;margin:22px auto 28px}
.heroB-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
/* marquee strip */
.strip{margin-top:52px;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
        mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.strip-track{display:flex;gap:16px;width:max-content;animation:strip 38s linear infinite;
  padding-bottom:48px}
.strip:hover .strip-track{animation-play-state:paused}
@keyframes strip{to{transform:translateX(50%)}} /* RTL: moves right→left visually */
.scard{width:188px;flex:none;background:var(--bg-soft);border-radius:var(--r-lg);
  box-shadow:inset 0 0 0 1px var(--line);padding:14px}
.scard .ph{display:block;height:130px;border-radius:10px;overflow:hidden;margin-bottom:10px;background:#fff}
.scard .ph img{width:100%;height:100%;object-fit:cover;display:block}
.scard .nm{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scard .pr{display:flex;align-items:baseline;gap:5px;margin-top:4px}
.scard .pr b{font-family:var(--num);font-size:18px;font-weight:700}
.scard .pr s{font-size:11px;color:var(--muted);text-decoration:none}
@media(prefers-reduced-motion:reduce){.strip-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}

/* ===================== C · PRODUCT-FORWARD / QUICK-ORDER ===================== */
.heroC{padding:52px 40px 44px;background:
  radial-gradient(120% 130% at 88% -10%,var(--bg-tint),#fff 50%)}
.heroC-top{text-align:center;max-width:680px;margin:0 auto}
.heroC-top h1{font-size:clamp(30px,3.6vw,46px);font-weight:800;line-height:1.05;letter-spacing:-.01em}
.heroC-top h1 em{font-style:normal;color:var(--brand)}
.heroC-top p{font-size:17px;color:var(--ink-500);margin:12px auto 0;max-width:46ch}
/* quick order bar */
.qbar{max-width:680px;margin:24px auto 0;background:#fff;border-radius:var(--r-pill);
  box-shadow:var(--sh-2),inset 0 0 0 1px var(--line);display:flex;align-items:center;
  padding:7px 7px 7px 22px;gap:10px}
.qbar svg{width:20px;height:20px;color:var(--muted);flex:none}
.qbar input{flex:1;border:0;outline:none;font-family:inherit;font-size:16px;background:none;color:var(--ink)}
.qbar .btn{flex:none}
.qpills{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:16px auto 0}
/* featured row */
.heroC-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
.fcard{background:#fff;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line);
  overflow:hidden;transition:.2s}
.fcard:hover{box-shadow:var(--sh-2);transform:translateY(-3px)}
.fcard .ph{aspect-ratio:1.25;background:var(--bg-soft);display:grid;place-items:center;padding:14px;position:relative}
.fcard .ph img{max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.fcard .ph .bdg{position:absolute;top:10px;inset-inline-end:10px}
.fcard .in{padding:12px 14px}
.fcard .nm{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcard .dp{font-size:12px;color:var(--muted)}
.fcard .pr{display:flex;align-items:baseline;gap:6px;margin-top:8px}
.fcard .pr b{font-family:var(--num);font-size:20px;font-weight:700}
.fcard .pr span{font-size:12px;color:var(--ink-500)}
.fcard .add{display:block;width:100%;margin-top:10px;text-align:center;font-weight:700;
  font-size:13px;color:var(--brand-700);background:var(--brand-50);border-radius:var(--r-pill);
  padding:8px;transition:.15s}
.fcard .add:hover{background:var(--brand);color:#fff}

/* responsive */
@media(max-width:920px){
  .heroA-grid{grid-template-columns:1fr;gap:28px}
  .heroA,.heroC{padding:32px}
  .heroC-row{grid-template-columns:repeat(2,1fr)}
  .heroB h1{font-size:clamp(40px,12vw,72px)}
}
@media(max-width:560px){
  .bento{grid-auto-rows:96px}
  .heroA-mini{gap:18px}
  .hv-frame{margin-inline:12px}
  .hv-head .hv-nav{display:none}
}
