:root{
  --ink:#211a2b; --ink-soft:#5c5566; --muted:#938c9e;
  --accent:#7c2d91; --accent-dark:#5f2270; --violet:#a24bb8;
  --lilac:#f4eef8; --cream:#f7f5fa; --card:#ffffff;
  --line:#ece6f1; --line-strong:#dbd2e4; --star:#f5a623;
  --shadow:0 1px 2px rgba(33,26,43,.04),0 8px 24px rgba(124,45,145,.07);
  --shadow-lg:0 18px 50px rgba(124,45,145,.16);
  --r:18px; --r-sm:11px; --maxw:1200px;
  --font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  --display:'Space Grotesk',var(--font);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--card);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.16;color:var(--ink);margin:0;letter-spacing:-.02em}
.hmst-wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.hmst-wrap-narrow{max-width:780px}
.hmst-eyebrow{display:inline-block;font-family:var(--display);font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;color:var(--accent)}
.hmst-sec-head{max-width:660px;margin:0 0 36px}
.hmst-sec-head.hmst-center{margin-left:auto;margin-right:auto;text-align:center}
.hmst-sec-head h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-top:.5rem}
.hmst-sec-head p{color:var(--ink-soft);margin:.6rem 0 0;font-size:1.05rem}

/* Buttons */
.hmst-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:var(--accent);color:#fff;font-family:var(--display);font-weight:600;font-size:.95rem;padding:.78rem 1.4rem;border-radius:999px;border:0;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s}
.hmst-btn:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 10px 22px rgba(124,45,145,.3)}
.hmst-btn-lg{padding:1rem 1.9rem;font-size:1.04rem}
.hmst-btn-ghost{background:transparent;color:var(--accent);border:1.5px solid var(--line-strong)}
.hmst-btn-ghost:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.hmst-btn-light{background:#fff;color:var(--accent)}
.hmst-btn-light:hover{background:var(--ink);color:#fff;box-shadow:none}

/* Top announcement bar */
.hmst-topbar{background:var(--ink);color:#fff}
.hmst-topbar-in{display:flex;align-items:center;justify-content:center;gap:.6rem;height:40px;font-size:.82rem;letter-spacing:.01em}
.hmst-topbar b{font-family:var(--display);font-weight:600}
.hmst-topbar .hmst-dot{width:4px;height:4px;border-radius:50%;background:var(--violet);display:inline-block}

/* Header */
.hmst-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hmst-header-inner{display:flex;align-items:center;justify-content:space-between;height:74px;gap:1rem}
.hmst-brand{display:inline-flex;align-items:flex-end;gap:.12rem}
.hmst-brand-house{width:30px;height:34px;flex:none;display:block}
.hmst-brand-word{font-family:var(--display);font-weight:700;font-size:1.62rem;letter-spacing:.04em;color:var(--accent);line-height:1;transform:translateY(1px)}
.hmst-nav{display:flex;gap:1.7rem;align-items:center}
.hmst-nav a{font-family:var(--display);font-weight:500;font-size:.95rem;color:var(--ink-soft);position:relative}
.hmst-nav a:hover{color:var(--accent)}
.hmst-nav-cta{margin-left:.4rem}
.hmst-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.hmst-burger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}

/* Hero (split, light) */
.hmst-hero{padding:64px 0 72px;background:radial-gradient(120% 120% at 85% 0,var(--lilac) 0,#fff 55%)}
.hmst-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hmst-hero-copy h1{font-size:clamp(2.3rem,5vw,3.6rem);line-height:1.05}
.hmst-hero-copy h1 .hmst-grad{background:linear-gradient(92deg,var(--accent),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.hmst-hero-copy .hmst-lede{color:var(--ink-soft);font-size:1.15rem;max-width:520px;margin:1.2rem 0 1.8rem}
.hmst-hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.hmst-hero-meta{display:flex;gap:1.6rem;margin-top:1.9rem;flex-wrap:wrap}
.hmst-hero-meta div{display:flex;flex-direction:column}
.hmst-hero-meta b{font-family:var(--display);font-weight:700;font-size:1.5rem;color:var(--accent)}
.hmst-hero-meta span{font-size:.82rem;color:var(--muted)}
.hmst-hero-visual{position:relative}
.hmst-hero-frame{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line);background:#fff}
.hmst-hero-frame img{width:100%;height:auto;display:block}
.hmst-hero-badge{position:absolute;left:-18px;bottom:24px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:.85rem 1.05rem;display:flex;align-items:center;gap:.65rem}
.hmst-hero-badge .hmst-hb-ic{width:38px;height:38px;border-radius:10px;background:var(--lilac);color:var(--accent);display:grid;place-items:center}
.hmst-hero-badge .hmst-hb-ic svg{width:20px;height:20px}
.hmst-hero-badge b{font-family:var(--display);font-size:.92rem}
.hmst-hero-badge span{display:block;font-size:.76rem;color:var(--muted)}

/* Marquee benefits ribbon */
.hmst-marquee{background:var(--accent);color:#fff;overflow:hidden;border-top:1px solid var(--accent-dark)}
.hmst-marquee-track{display:flex;gap:2.4rem;white-space:nowrap;padding:14px 0;animation:scroll 26s linear infinite;font-family:var(--display);font-weight:500;font-size:.95rem;letter-spacing:.02em}
.hmst-marquee-track span{display:inline-flex;align-items:center;gap:.7rem;opacity:.95}
.hmst-marquee-track span::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;opacity:.7}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Category showcase — bento */
.hmst-showcase{padding:78px 0}
.hmst-bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:18px}
.hmst-bento-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:1.4rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;min-height:178px;transition:.18s;box-shadow:var(--shadow);overflow:hidden}
.hmst-bento-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.hmst-bento-card.hmst-feature{grid-row:span 2;background:linear-gradient(160deg,var(--accent),var(--accent-dark));border:0;color:#fff;justify-content:flex-end}
.hmst-bento-card.hmst-feature .hmst-bc-title,.hmst-bento-card.hmst-feature .hmst-bc-count{color:#fff}
.hmst-bento-card.hmst-feature .hmst-bc-ic{background:rgba(255,255,255,.16)}
.hmst-bento-card.hmst-feature .hmst-bc-ic img{filter:brightness(0) invert(1)}
.hmst-bc-ic{width:54px;height:54px;border-radius:14px;background:var(--lilac);display:grid;place-items:center}
.hmst-bc-ic img{width:30px;height:30px}
.hmst-bc-title{font-family:var(--display);font-weight:700;font-size:1.18rem;letter-spacing:-.01em}
.hmst-bc-desc{color:var(--ink-soft);font-size:.92rem;margin:.35rem 0 0}
.hmst-bento-card.hmst-feature .hmst-bc-desc{color:rgba(255,255,255,.82)}
.hmst-bc-count{font-size:.82rem;color:var(--muted);font-weight:600;margin-top:.5rem;display:inline-flex;align-items:center;gap:.35rem}
.hmst-bc-arrow{margin-left:auto;color:var(--accent);transition:transform .18s}
.hmst-bento-card:hover .hmst-bc-arrow{transform:translateX(4px)}
.hmst-bento-card.hmst-feature .hmst-bc-arrow{color:#fff}

/* Product rail (bestsellers carousel) */
.hmst-rail-sec{padding:30px 0 78px}
.hmst-rail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:24px}
.hmst-rail-nav{display:flex;gap:.5rem;flex:none}
.hmst-rail-btn{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:.15s}
.hmst-rail-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.hmst-rail-btn svg{width:18px;height:18px}
.hmst-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(266px,1fr);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px;-ms-overflow-style:none;scrollbar-width:none}
.hmst-rail::-webkit-scrollbar{display:none}
.hmst-rail>*{scroll-snap-align:start}

/* Product grid */
.hmst-products{padding:30px 0 78px}
.hmst-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.hmst-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.18s;box-shadow:var(--shadow)}
.hmst-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--line-strong)}
.hmst-card-img{position:relative;background:var(--lilac);aspect-ratio:1/1;padding:14px}
.hmst-card-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.hmst-card-tag{position:absolute;top:12px;left:12px;font-family:var(--display);font-size:.66rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--accent);padding:.22rem .55rem;border-radius:999px}
.hmst-card-body{display:flex;flex-direction:column;flex:1;padding:18px}
.hmst-card-cat{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--violet)}
.hmst-card-title{font-family:var(--display);font-size:1.02rem;font-weight:600;letter-spacing:-.01em;margin:.3rem 0 .1rem;min-height:2.5em}
.hmst-card-desc{font-size:.86rem;color:var(--ink-soft);margin:.25rem 0 .1rem;line-height:1.45}
.hmst-card-rating{display:flex;align-items:center;gap:.35rem;margin:.5rem 0;font-size:.84rem}
.hmst-cr-stars{color:var(--star);letter-spacing:1px}
.hmst-cr-num{font-weight:600}
.hmst-cr-count{color:var(--muted)}
.hmst-price{display:flex;align-items:baseline;gap:.5rem;margin-top:auto;padding-top:.6rem}
.hmst-price .hmst-now{font-family:var(--display);font-weight:700;font-size:1.32rem;color:var(--ink)}
.hmst-price .hmst-price-na{font-size:.98rem;font-weight:600;color:var(--muted)}
.hmst-card .hmst-btn{margin-top:.85rem;width:100%}

/* Zig-zag brand story */
.hmst-story{padding:78px 0;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hmst-story-row{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.hmst-story-row+.hmst-story-row{margin-top:56px}
.hmst-story-row:nth-child(even) .hmst-story-media{order:2}
.hmst-story-text h3{font-size:clamp(1.4rem,2.6vw,1.95rem);margin:.6rem 0 .6rem}
.hmst-story-text p{color:var(--ink-soft);margin:0 0 1rem}
.hmst-story-text .hmst-ticks{list-style:none;margin:.4rem 0 0;padding:0}
.hmst-story-text .hmst-ticks li{position:relative;padding-left:1.7rem;margin:.5rem 0;color:var(--ink-soft)}
.hmst-story-text .hmst-ticks li::before{content:"";position:absolute;left:0;top:.45em;width:11px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.hmst-story-media{border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#fff;aspect-ratio:4/3;display:grid;place-items:center}
.hmst-story-media img{width:100%;height:100%;object-fit:cover}
.hmst-story-media .hmst-ph{width:46%;height:46%;color:var(--accent);opacity:.85}

/* Feature icon grid */
.hmst-features{padding:78px 0}
.hmst-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hmst-feat{display:flex;gap:1rem;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow);transition:.16s}
.hmst-feat:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.hmst-feat-ic{flex:none;width:46px;height:46px;border-radius:12px;background:var(--lilac);color:var(--accent);display:grid;place-items:center}
.hmst-feat-ic svg{width:24px;height:24px}
.hmst-feat h3{font-size:1.06rem;margin-bottom:.3rem}
.hmst-feat p{color:var(--ink-soft);margin:0;font-size:.92rem}

/* Buyer's guide */
.hmst-guide{padding:78px 0;background:var(--ink);color:#fff}
.hmst-guide .hmst-eyebrow{color:var(--violet)}
.hmst-guide h2{color:#fff}
.hmst-guide .hmst-sec-head p{color:rgba(255,255,255,.68)}
.hmst-guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px}
.hmst-guide-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:26px;transition:.16s}
.hmst-guide-card:hover{background:rgba(255,255,255,.09);border-color:rgba(162,75,184,.6)}
.hmst-guide-card .hmst-gc-n{font-family:var(--display);font-weight:700;font-size:.92rem;color:var(--violet);letter-spacing:.04em}
.hmst-guide-card h3{color:#fff;font-size:1.18rem;margin:.5rem 0 .4rem}
.hmst-guide-card p{color:rgba(255,255,255,.72);margin:0;font-size:.94rem}

/* Review wall */
.hmst-wall-sec{padding:78px 0}
.hmst-wall{columns:3;column-gap:20px}
.hmst-wall-card{break-inside:avoid;margin:0 0 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow)}
.hmst-wall-stars{color:var(--star);letter-spacing:1px;margin-bottom:.6rem}
.hmst-wall-card p{margin:0;color:var(--ink-soft);font-size:.95rem}
.hmst-wall-foot{margin-top:1rem;display:flex;align-items:center;gap:.7rem}
.hmst-wall-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(150deg,var(--accent),var(--violet));color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:.92rem}
.hmst-wall-name{font-family:var(--display);font-weight:600;font-size:.92rem;line-height:1.1}
.hmst-wall-badge{font-size:.76rem;color:var(--accent);font-weight:600}

/* CTA band */
.hmst-cta{padding:30px 0 86px}
.hmst-cta-box{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--accent),var(--accent-dark));border-radius:26px;padding:56px;color:#fff;text-align:center}
.hmst-cta-box::before,.hmst-cta-box::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.hmst-cta-box::before{width:280px;height:280px;top:-120px;right:-60px}
.hmst-cta-box::after{width:200px;height:200px;bottom:-110px;left:-40px}
.hmst-cta-box h2{color:#fff;font-size:clamp(1.7rem,3.2vw,2.4rem);position:relative}
.hmst-cta-box p{color:rgba(255,255,255,.85);max-width:540px;margin:.8rem auto 1.7rem;position:relative}
.hmst-cta-box .hmst-btn{position:relative}

/* FAQ two-column */
.hmst-faq{padding:78px 0}
.hmst-faq-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 40px}
.hmst-faq-item{border-bottom:1px solid var(--line)}
.hmst-faq-item summary{cursor:pointer;list-style:none;padding:1.1rem 2.2rem 1.1rem 0;font-family:var(--display);font-weight:600;font-size:1rem;position:relative}
.hmst-faq-item summary::-webkit-details-marker{display:none}
.hmst-faq-item summary::after{content:"";position:absolute;right:.4rem;top:1.35rem;width:9px;height:9px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:.2s}
.hmst-faq-item[open] summary::after{transform:rotate(-135deg)}
.hmst-faq-item p{margin:0 0 1.1rem;color:var(--ink-soft);font-size:.95rem}

/* Page hero / crumbs / prose */
.hmst-page-hero{background:radial-gradient(120% 140% at 90% 0,var(--lilac) 0,#fff 60%);border-bottom:1px solid var(--line);padding:48px 0}
.hmst-page-hero h1{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-top:.5rem}
.hmst-page-hero p{color:var(--ink-soft);margin:.6rem 0 0;max-width:640px}
.hmst-crumbs{display:flex;gap:.5rem;align-items:center;font-size:.85rem;color:var(--muted)}
.hmst-crumbs a:hover{color:var(--accent)}
.hmst-crumbs span{color:var(--line-strong)}
.hmst-page{padding:54px 0 82px}
.hmst-prose .hmst-lead{font-size:1.18rem;color:var(--ink);font-weight:500;line-height:1.55}
.hmst-prose h2{font-family:var(--display);font-size:1.4rem;letter-spacing:-.01em;color:var(--ink);margin:2.3rem 0 .65rem}
.hmst-prose h2:first-child{margin-top:0}
.hmst-prose .hmst-legal-meta+h2,.hmst-prose .hmst-lead+h2{margin-top:1.8rem}
.hmst-prose p,.hmst-prose li{color:var(--ink-soft)}
.hmst-prose ul,.hmst-prose ol{padding-left:1.2rem}
.hmst-prose li{margin:.3rem 0}
.hmst-prose a{color:var(--accent);font-weight:600}
.hmst-prose strong{color:var(--ink)}
.hmst-legal-meta{display:inline-block;font-size:.8rem;color:var(--accent);background:var(--lilac);border:1px solid var(--line);border-radius:999px;padding:.32rem .85rem;margin-bottom:1.5rem}

/* Category page chips */
.hmst-more-cats{padding:0 0 82px}
.hmst-more-cats h2{font-size:1.3rem;margin-bottom:1rem}
.hmst-chips{display:flex;flex-wrap:wrap;gap:.6rem}
.hmst-chip{background:var(--lilac);border:1px solid var(--line);border-radius:999px;padding:.5rem 1.05rem;font-size:.88rem;font-weight:500;transition:.15s}
.hmst-chip:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

/* Footer */
.hmst-site-footer{background:var(--ink);color:rgba(255,255,255,.66);padding:58px 0 26px}
.hmst-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:34px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.12)}
.hmst-foot-brand .hmst-brand-word{color:#fff}
.hmst-foot-brand>p{margin:.9rem 0 0;font-size:.92rem;max-width:280px}
.hmst-foot-tag{color:rgba(255,255,255,.45)!important;font-size:.84rem!important}
.hmst-site-footer h4{color:#fff;font-family:var(--display);font-size:.95rem;margin-bottom:.9rem}
.hmst-site-footer ul{list-style:none;margin:0;padding:0}
.hmst-site-footer li{margin:.45rem 0}
.hmst-site-footer a{font-size:.9rem;transition:.15s}
.hmst-site-footer a:hover{color:#fff}
.hmst-foot-bottom{display:flex;flex-direction:column;gap:.5rem;padding-top:22px;font-size:.82rem;color:rgba(255,255,255,.45)}
.hmst-disclosure{max-width:780px}

@media(max-width:960px){
  .hmst-hero-grid{grid-template-columns:1fr;gap:34px}
  .hmst-hero-visual{order:-1}
  .hmst-bento{grid-template-columns:repeat(2,1fr)}
  .hmst-bento-card.hmst-feature{grid-row:auto}
  .hmst-feat-grid{grid-template-columns:1fr 1fr}
  .hmst-guide-grid{grid-template-columns:1fr}
  .hmst-wall{columns:2}
  .hmst-grid{grid-template-columns:repeat(2,1fr)}
  .hmst-faq-cols{grid-template-columns:1fr;gap:0}
  .hmst-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .hmst-nav{position:fixed;inset:74px 0 auto;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);padding:1rem 22px;gap:0;transform:translateY(-140%);transition:transform .25s;box-shadow:var(--shadow-lg)}
  .hmst-nav.hmst-open{transform:none}
  .hmst-nav a{padding:.85rem 0;border-bottom:1px solid var(--line)}
  .hmst-nav-cta{margin:.8rem 0 0}
  .hmst-burger{display:flex}
}
@media(max-width:620px){
  .hmst-story-row{grid-template-columns:1fr;gap:24px}
  .hmst-story-row:nth-child(even) .hmst-story-media{order:-1}
  .hmst-bento,.hmst-feat-grid,.hmst-grid,.hmst-wall{grid-template-columns:1fr;columns:1}
  .hmst-wall{columns:1}
  .hmst-cta-box{padding:40px 24px}
  .hmst-hero-meta{gap:1.1rem}
}
