.product-home { color:var(--ink); scrollbar-color:#b4a7ce #f7f5fa; }
.product-home ::selection { background:#e4d7ff; color:#251442; }
.product-home .wordmark { letter-spacing:-.04em; }
.product-home .site-header { min-height:88px; padding-block:20px; border-bottom:1px solid var(--line); }
.product-home :is(a,button,select,input):focus-visible { outline:3px solid var(--violet); outline-offset:3px; }
.product-home .home-products { padding-block:36px 56px; }
.home-products__heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:24px; }
.home-products__heading h1 { margin:0; font-size:32px; line-height:1.2; letter-spacing:-.03em; }
.home-products__heading p { margin:8px 0 0; color:var(--muted); font-size:14px; }
.home-products__heading .text-link { display:inline-flex; align-items:center; min-height:44px; margin:0; font-size:14px; }
.home-category-nav { display:flex; flex-wrap:wrap; gap:8px 24px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.home-category-nav a { display:inline-flex; align-items:center; min-height:44px; color:var(--violet-dark); font-size:14px; font-weight:600; text-underline-offset:5px; }
.home-category { margin-top:32px; scroll-margin-top:24px; }
.home-category+.home-category { margin-top:48px; }
.home-category__heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; margin-bottom:20px; }
.home-category__heading h2 { margin:0; font-size:24px; line-height:1.25; letter-spacing:-.025em; overflow-wrap:anywhere; }
.home-category__heading span { color:var(--muted); font-size:13px; }
.product-home .home-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.home-product-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--white); }
.product-home .home-product-card__media { display:block; height:240px; background:#f4f1f9; }
.home-product-card__media img { display:block; width:100%; height:100%; padding:24px; object-fit:contain; mix-blend-mode:multiply; }
.home-product-card__content { display:flex; flex-direction:column; padding:20px; }
.product-home .home-product-card h3 { margin:0 0 12px; min-height:48px; font-size:17px; line-height:1.4; letter-spacing:-.025em; font-weight:600; overflow-wrap:anywhere; }
.home-product-card h3 a { text-decoration:none; }
.home-product-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.product-home .home-product-card__description { min-height:48px; margin:0 0 16px; color:var(--muted); font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.home-product-card .purchase-controls { margin-top:auto; }
.home-product-card__link { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; color:var(--violet-dark); font-size:13px; font-weight:600; text-underline-offset:4px; }
.home-products__message { padding-block:32px; max-width:65ch; color:var(--muted); }
.home-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding-block:20px; color:var(--muted); font-size:13px; }
.home-footer a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; }
@media(max-width:1000px) { .product-home .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .product-home .site-header { min-height:76px; padding-block:0; } }
@media(max-width:600px) {
  .product-home .home-products { padding-block:24px 40px; }
  .home-products__heading { align-items:flex-start; gap:12px; margin-bottom:16px; }
  .home-products__heading h1 { font-size:28px; }
  .home-products__heading .text-link { max-width:115px; text-align:right; justify-content:flex-end; }
  .home-category-nav { gap:8px 20px; padding-bottom:12px; }
  .home-category__heading h2 { font-size:22px; }
  .home-category { margin-top:24px; }
  .home-category+.home-category { margin-top:36px; }
  .product-home .home-product-grid { grid-template-columns:1fr; gap:20px; }
  .product-home .home-product-card__media { height:220px; }
  .home-product-card__content { padding:18px; }
  .product-home .home-product-card h3 { min-height:0; }
  .product-home .home-product-card__description { min-height:0; }
}
