/* ==========================================================================
   Hush — Homepage sections
   ========================================================================== */

/* ---------- HERO ---------- */
/* ===================== Hero slider (3 editable slides) ===================== */
.hush-hero-slider{position:relative;overflow:hidden;background:var(--hush-cream)}
.hush-hero-slider__viewport{overflow:hidden}
.hush-hero-slider__track{display:flex;transition:transform .6s var(--hush-ease)}
.hush-hero-slide{flex:0 0 100%;min-width:0;width:100%}
.hush-hero-slide__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,4vw,56px);
  align-items:center;min-height:min(78vh,640px);padding-block:clamp(2rem,5vw,4rem)}

.hush-hero-slide__copy{max-width:560px}
.hush-hero-slide__eyebrow{display:inline-block;font-size:.82rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--hush-blue);margin-bottom:1.1rem}
.hush-hero-slide__title{font-family:var(--hush-font-display);font-weight:600;color:var(--hush-ink);
  font-size:clamp(2.6rem,5.2vw,4.4rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 1.4rem}
.hush-hero-slide__title em{font-style:italic;color:var(--hush-pink);display:block}
.hush-hero-slide__lead{font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.6;color:var(--hush-ink-soft);
  margin:0 0 2rem;max-width:34ch}
.hush-hero-slide__cta{font-size:1rem;padding:1rem 2rem}

/* Dark background slide → light text. */
.hush-hero-slide--dark .hush-hero-slide__title{color:#fff}
.hush-hero-slide--dark .hush-hero-slide__lead{color:rgba(255,255,255,.82)}
.hush-hero-slide--dark .hush-hero-slide__eyebrow{color:var(--hush-lilac)}

.hush-hero-slide__visual{position:relative;display:grid;place-items:center;min-height:0}
.hush-hero-slide__media{position:relative;z-index:1;width:100%;max-width:560px;aspect-ratio:4/5;
  display:grid;place-items:center}
.hush-hero-slide__media img{width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 30px 60px rgba(28,19,64,.16))}

/* Arrows */
.hush-hero-slider__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:52px;height:52px;border:none;border-radius:50%;background:transparent;color:var(--hush-blue);
  display:grid;place-items:center;cursor:pointer;transition:background var(--hush-t),transform var(--hush-t)}
.hush-hero-slider__arrow:hover{background:rgba(5,84,255,.08);transform:translateY(-50%) scale(1.08)}
.hush-hero-slider__arrow--prev{inset-inline-start:clamp(.5rem,2vw,2rem)}
.hush-hero-slider__arrow--prev .hush-arrow{transform:rotate(180deg)}
.hush-hero-slider__arrow--next{inset-inline-end:clamp(.5rem,2vw,2rem)}

/* Dots */
.hush-hero-slider__dots{position:absolute;bottom:1.6rem;left:0;right:0;z-index:5;
  display:flex;justify-content:center;gap:.6rem}
.hush-hero-slider__dots button{width:10px;height:10px;padding:0;border:none;border-radius:50%;
  background:rgba(28,19,64,.18);cursor:pointer;transition:background var(--hush-t),width var(--hush-t)}
.hush-hero-slider__dots button.is-active{background:var(--hush-blue);width:28px;border-radius:6px}

/* Hero slider — responsive */
@media (max-width:900px){
  .hush-hero-slide__grid{grid-template-columns:1fr;text-align:center;min-height:auto;gap:1.5rem}
  .hush-hero-slide__copy{max-width:none;margin:0 auto;order:1}
  .hush-hero-slide__visual{order:2}
  .hush-hero-slide__lead{margin-inline:auto}
  .hush-hero-slide__title em{display:inline}
  .hush-hero-slide__media{max-width:340px;aspect-ratio:1/1}
  .hush-hero-slider__arrow{display:none}
  .hush-hero-slider__dots{position:static;margin-top:1.2rem;padding-bottom:1.5rem}
}
@media (max-width:520px){
  .hush-hero-slide__title{font-size:2.3rem}
  .hush-hero-slide__media{max-width:280px}
}


.hush-hero__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,4vw,56px);
  align-items:center;padding-block:clamp(40px,6vw,80px)}
.hush-hero__badge{display:inline-flex;align-items:center;gap:.55rem;background:#fff;
  border:1px solid var(--hush-line);border-radius:var(--hush-r-pill);padding:.45rem 1rem;
  font-size:.78rem;font-weight:700;color:var(--hush-ink);box-shadow:var(--hush-shadow-sm)}
.hush-hero__badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hush-pink);
  box-shadow:0 0 0 4px rgba(255,62,165,.18)}
.hush-hero h1{margin-top:1.4rem}
.hush-hero__lead{margin-top:1.3rem;font-size:1.08rem;max-width:42ch;color:var(--hush-ink-soft)}
.hush-hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hush-hero__stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2.4rem;
  background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);
  overflow:hidden;box-shadow:var(--hush-shadow-sm)}
.hush-hero__stat{padding:1.2rem 1rem;text-align:center;border-inline-start:1px solid var(--hush-line)}
.hush-hero__stat:first-child{border:none}
.hush-hero__stat b{display:block;font-family:var(--hush-font-display);font-size:1.7rem;color:var(--hush-ink)}
.hush-hero__stat span{font-size:.8rem;color:var(--hush-muted)}

.hush-hero__visual{position:relative;background:#fff;border-radius:var(--hush-r-xl);
  overflow:hidden;box-shadow:var(--hush-shadow-lg);min-height:440px;
  display:grid;grid-template-columns:1.15fr .85fr}
.hush-hero__products{position:relative;background:
  radial-gradient(120% 120% at 30% 0%,#fff 0%,#faf6ff 100%);overflow:hidden}
.hush-hero__products img{position:absolute;width:100%;height:100%;object-fit:cover}
.hush-hero__panel{padding:clamp(1.5rem,3vw,2.6rem);display:flex;flex-direction:column;
  justify-content:center;gap:.5rem;background:#fff}
.hush-hero__panel h3{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.hush-hero__panel .hush-pink-word{display:block}
.hush-hero__panel p{color:var(--hush-muted);font-size:.95rem;margin-top:.4rem}
.hush-hero__usps{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1.6rem}
.hush-usp{text-align:center}
.hush-usp__ring{width:52px;height:52px;margin-inline:auto;border-radius:50%;border:1.5px solid var(--hush-lilac);
  display:grid;place-items:center;color:var(--hush-lilac);margin-bottom:.5rem}
.hush-usp__ring svg{width:22px;height:22px}
.hush-usp small{font-size:.62rem;font-weight:800;letter-spacing:.04em;color:var(--hush-ink);text-transform:uppercase;line-height:1.3;display:block}
.hush-blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;pointer-events:none}
.hush-blob--1{width:120px;height:120px;background:var(--hush-lilac);top:-30px;inset-inline-end:-20px}
.hush-blob--2{width:90px;height:90px;background:var(--hush-pink-050);bottom:-20px;inset-inline-start:40%}

/* ---------- FEATURE STRIP ---------- */
.hush-features{border-top:1px solid var(--hush-line);border-bottom:1px solid var(--hush-line);background:var(--hush-cream-2)}
.hush-features__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hush-line)}
.hush-feature{background:var(--hush-cream-2);padding:2rem 1.6rem;text-align:center}
.hush-feature__ic{width:44px;height:44px;margin-inline:auto;margin-bottom:1rem;color:var(--hush-blue)}
.hush-feature h4{font-family:var(--hush-font-display);font-size:1.15rem;margin-bottom:.4rem}
.hush-feature p{font-size:.86rem;color:var(--hush-muted)}

/* ---------- REVIEWS ---------- */
.hush-reviews__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 2rem;margin-bottom:2.4rem}
.hush-reviews__intro{flex:1 1 auto}

/* Score panel (left) + carousel (right). */
.hush-reviews__layout{display:grid;grid-template-columns:.82fr 2fr;gap:2rem;align-items:start}

.hush-score{position:sticky;top:2rem;overflow:hidden;
  background:linear-gradient(160deg,#fff 0%,var(--hush-blue-050) 100%);
  border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);
  padding:2rem 1.8rem;text-align:center;box-shadow:var(--hush-shadow-sm);
  display:flex;flex-direction:column}
.hush-score::before{content:"";position:absolute;top:-40px;inset-inline-end:-40px;
  width:140px;height:140px;border-radius:50%;background:var(--hush-lilac-050);opacity:.5;pointer-events:none}
.hush-score > *{position:relative;z-index:1}
.hush-score__head{display:flex;flex-direction:column;align-items:center;gap:.3rem}
.hush-score__head-meta{display:flex;flex-direction:column;align-items:center;gap:.2rem}
.hush-score b{font-family:var(--hush-font-display);font-size:4rem;color:var(--hush-ink);line-height:1;letter-spacing:-.02em}
.hush-score small{color:var(--hush-muted);font-size:.84rem;font-weight:600}
.hush-score__bars{margin-top:1.6rem;display:grid;gap:.5rem;
  padding-top:1.4rem;border-top:1px solid var(--hush-line)}
.hush-score__bar{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--hush-muted);font-weight:600}
.hush-score__bar > span:first-child{width:1.8rem;text-align:start;white-space:nowrap}
.hush-score__bar > span:last-child{width:2.6rem;text-align:end}
.hush-score__bar i{flex:1;height:7px;background:rgba(0,0,0,.06);border-radius:4px;overflow:hidden}
.hush-score__bar i::before{content:"";display:block;height:100%;width:var(--w,80%);
  background:linear-gradient(90deg,var(--hush-gold),#ffcf4d);border-radius:4px}
.hush-stars{color:var(--hush-gold);font-size:1.15rem;letter-spacing:3px;margin:.6rem 0}

/* Testimonial carousel: 2 rows × 2 cols per page (transform-based slide). */
.hush-review-cards{position:relative;display:flex;flex-direction:column;min-width:0}
.hush-review-cards__viewport{overflow:hidden;border-radius:var(--hush-r-lg);flex:1}
.hush-review-cards__track{display:flex;height:100%;transition:transform .55s var(--hush-ease)}
.hush-review-cards__page{flex:0 0 100%;min-width:0;width:100%;
  display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1.2rem;padding:.2rem}
.hush-review-cards__nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}
.hush-review-cards__arrow{width:42px;height:42px;flex:none;border-radius:50%;border:1px solid var(--hush-line);
  background:#fff;color:var(--hush-ink);display:grid;place-items:center;cursor:pointer;box-shadow:var(--hush-shadow-sm);
  transition:background var(--hush-t),color var(--hush-t),transform var(--hush-t),border-color var(--hush-t)}
.hush-review-cards__arrow:hover{background:var(--hush-blue);color:#fff;border-color:var(--hush-blue);transform:scale(1.06)}
.hush-review-cards__arrow--prev .hush-arrow{transform:rotate(180deg)}
.hush-review-cards__dots{display:flex;justify-content:center;gap:.5rem}
.hush-review-cards__dots button{width:8px;height:8px;padding:0;border:none;border-radius:50%;
  background:var(--hush-line-2);cursor:pointer;transition:background var(--hush-t),width var(--hush-t)}
.hush-review-cards__dots button.is-active{background:var(--hush-blue);width:24px;border-radius:5px}

.hush-review{position:relative;background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);
  padding:1.6rem 1.7rem;box-shadow:var(--hush-shadow-sm);display:flex;flex-direction:column;min-width:0;overflow:hidden;
  transition:transform var(--hush-t) var(--hush-ease),box-shadow var(--hush-t),border-color var(--hush-t)}
.hush-review:hover{transform:translateY(-4px);box-shadow:var(--hush-shadow-md);border-color:var(--hush-blue-050)}
.hush-review__quote{position:absolute;top:1.1rem;inset-inline-end:1.3rem;color:var(--hush-blue-050);pointer-events:none}
.hush-review__quote svg{width:36px;height:36px}
.hush-review .hush-stars{font-size:.92rem;margin:0 0 .7rem}
.hush-review p{color:var(--hush-ink-soft);font-size:.98rem;line-height:1.62;margin:0 0 1.2rem;flex:1;
  position:relative;z-index:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.hush-review__foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  padding-top:1.1rem;border-top:1px solid var(--hush-line)}
.hush-review__who{display:flex;align-items:center;gap:.7rem;min-width:0}
.hush-review__ava{width:40px;height:40px;flex:none;border-radius:50%;
  background:linear-gradient(135deg,var(--hush-lilac-050),var(--hush-blue-050));
  color:var(--hush-lilac);display:grid;place-items:center;font-weight:800;font-size:.82rem}
.hush-review__who b{font-size:.88rem;color:var(--hush-ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hush-review__who span{font-size:.72rem;color:var(--hush-muted)}
.hush-verified{font-size:.7rem;font-weight:700;color:var(--hush-green);display:inline-flex;gap:.3rem;align-items:center;flex:none}





/* ---------- DEALS ---------- */
.hush-deals__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.8rem}
.hush-deals__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.hush-deal{position:relative;border-radius:var(--hush-r-lg);overflow:hidden;min-height:300px;
  display:flex;flex-direction:column;justify-content:flex-end;padding:1.6rem;color:#fff;isolation:isolate}
.hush-deal::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,transparent 30%,rgba(28,19,64,.55) 100%)}
.hush-deal img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.hush-deal--pink{background:var(--hush-wash-pink)}
.hush-deal--lilac{background:var(--hush-wash-lilac)}
.hush-deal__tag{position:absolute;top:1rem;inset-inline-start:1rem;background:#fff;color:var(--hush-ink);
  font-weight:800;font-size:.72rem;padding:.4em .8em;border-radius:var(--hush-r-pill);z-index:1}
.hush-deal__tag--sale{background:var(--hush-pink);color:#fff;inset-inline-start:auto;inset-inline-end:1rem}
.hush-deal h3{color:#fff;font-size:1.6rem}
.hush-deal h3 em{color:#ffd6ec}
.hush-deal p{color:rgba(255,255,255,.85);font-size:.9rem;margin:.3rem 0 1rem}

/* ---------- CATEGORY GRID ---------- */
.hush-cats__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.8rem}
.hush-cats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.hush-cat{position:relative;border-radius:var(--hush-r-lg);overflow:hidden;padding:1.6rem;
  min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;
  transition:transform var(--hush-t) var(--hush-ease),box-shadow var(--hush-t)}
.hush-cat:hover{transform:translateY(-5px);box-shadow:var(--hush-shadow-md)}
/* Coloured washes (used when a category has no image). */
.hush-cat--deo{background:var(--hush-wash-pink)}
.hush-cat--moist{background:var(--hush-wash-lilac)}
.hush-cat--mist{background:var(--hush-wash-mint)}

/* Full-cover background image + gradient overlay for text legibility. */
.hush-cat__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  z-index:0;transition:transform .6s var(--hush-ease)}
.hush-cat:hover .hush-cat__bg{transform:scale(1.05)}
.hush-cat__overlay{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(28,19,64,.72) 0%,rgba(28,19,64,.28) 45%,rgba(28,19,64,0) 75%)}
.hush-cat__body{position:relative;z-index:2}
/* When a card has a background image, its text sits on the dark overlay → white. */
.hush-cat.has-bg h4,
.hush-cat.has-bg .hush-cat__desc{color:#fff}
.hush-cat.has-bg .hush-cat__link{color:#fff}
.hush-cat.has-bg .hush-cat__link svg{stroke:#fff}

.hush-cat--wide{grid-column:1 / -1;min-height:220px;flex-direction:row;align-items:flex-end;
  justify-content:flex-start;background:linear-gradient(100deg,var(--hush-pink-050),#fff)}
.hush-cat--wide .hush-cat__body{max-width:60%}
.hush-cat--wide.has-bg .hush-cat__overlay{background:linear-gradient(90deg,rgba(28,19,64,.72) 0%,rgba(28,19,64,.35) 45%,rgba(28,19,64,0) 80%)}
.hush-cat h4{font-family:var(--hush-font-display);font-size:1.35rem;margin-bottom:.3rem;color:var(--hush-ink);line-height:1.2}
.hush-cat h4 em{font-style:italic;color:var(--hush-pink)}
.hush-cat.has-bg h4 em{color:var(--hush-lilac)}
.hush-cat__desc{font-size:.9rem;margin:.3rem 0 .8rem;color:var(--hush-muted)}
.hush-cat__link{font-size:.82rem;font-weight:800;color:var(--hush-blue);display:inline-flex;gap:.35rem;align-items:center}

/* ---------- BESTSELLERS ---------- */
.hush-best__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.5rem}
.hush-best__sub{color:var(--hush-muted);margin-bottom:1.6rem}
.hush-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.8rem}
.hush-tab{border:1px solid var(--hush-line-2);background:#fff;border-radius:var(--hush-r-pill);
  padding:.55em 1.15em;font-weight:700;font-size:.85rem;color:var(--hush-ink-soft);
  transition:all var(--hush-t)}
.hush-tab:hover{border-color:var(--hush-blue);color:var(--hush-blue)}
.hush-tab.is-active{background:var(--hush-blue);border-color:var(--hush-blue);color:#fff}
.hush-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}

/* ---------- INGREDIENTS ---------- */
.hush-ingredients{background:var(--hush-cream-2);border-block:1px solid var(--hush-line)}
.hush-ingredients__layout{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:center}
.hush-ingredients__media{border-radius:var(--hush-r-xl);overflow:hidden;box-shadow:var(--hush-shadow-md);background:var(--hush-wash-lilac);aspect-ratio:4/3}
.hush-ingredients__media img{width:100%;height:100%;object-fit:cover}
.hush-ingredients h2{margin:1rem 0 1.2rem}
.hush-ingredients h2 em{color:var(--hush-pink)}
.hush-chips{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1.6rem 0}
.hush-chip{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--hush-line);
  border-radius:var(--hush-r-pill);padding:.7em 1em;font-weight:600;font-size:.9rem}
.hush-chip::before{content:"✓";width:22px;height:22px;flex:none;border-radius:50%;background:var(--hush-blue-050);
  color:var(--hush-blue);display:grid;place-items:center;font-size:.75rem;font-weight:800}

/* ---------- BRAND STORY ---------- */
.hush-story{position:relative;color:#fff;overflow:hidden;
  background:linear-gradient(120deg,var(--hush-grad-1),var(--hush-grad-2))}
.hush-story__layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.hush-story__media{border-radius:var(--hush-r-xl);overflow:hidden;aspect-ratio:1/1;box-shadow:var(--hush-shadow-lg)}
.hush-story__media img{width:100%;height:100%;object-fit:cover}
.hush-story__q{font-family:var(--hush-font-display);font-style:italic;font-size:5rem;line-height:.6;opacity:.25}
.hush-story h2{color:#fff;margin:.4rem 0 1.2rem}
.hush-story h2 em{color:#ffd6ec}
.hush-story p{color:rgba(255,255,255,.88);max-width:46ch}
.hush-story__facts{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.6rem 0}
.hush-story__fact{background:rgba(255,255,255,.12);border-radius:var(--hush-r-pill);padding:.5em 1em;font-size:.82rem;font-weight:600;display:inline-flex;gap:.4rem;align-items:center}

/* ---------- NEWSLETTER ---------- */
.hush-news{position:relative;text-align:center;color:#fff;overflow:hidden;
  background:linear-gradient(120deg,var(--hush-grad-1),var(--hush-grad-2))}
.hush-news__inner{max-width:640px;margin-inline:auto;position:relative;z-index:1}
.hush-news h2{color:#fff;font-size:clamp(2rem,4vw,3rem)}
.hush-news h2 em{color:#ffd6ec}
.hush-news p{color:rgba(255,255,255,.85);margin:1rem 0 2rem}
.hush-news__form{display:flex;gap:.6rem;max-width:460px;margin-inline:auto;background:#fff;
  border-radius:var(--hush-r-pill);padding:.4rem;box-shadow:var(--hush-shadow-lg)}
.hush-news__form input{flex:1;border:none;background:transparent;padding:.7em 1.2em;font:inherit;color:var(--hush-ink);outline:none}
.hush-news__note{font-size:.75rem;color:rgba(255,255,255,.7);margin-top:1rem}
/* Subscribe thank-you / error message (homepage). */
.hush-news__msg{max-width:460px;margin:1rem auto 0;padding:.9rem 1.2rem;border-radius:var(--hush-r-md);
  font-weight:700;font-size:.95rem;background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(4px);
  text-align:center}
.hush-news__msg.is-error{background:rgba(255,62,165,.9);color:#fff}
.hush-news__msg.is-ok{background:rgba(143,209,79,.95);color:#1c1340}
.hush-news__blob{position:absolute;border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none}
.hush-news__blob--1{width:280px;height:280px;top:-100px;inset-inline-start:-80px}
.hush-news__blob--2{width:200px;height:200px;bottom:-80px;inset-inline-end:-40px}

/* ---------- Section header helper ---------- */
.hush-viewall{font-weight:700;font-size:.85rem;color:var(--hush-blue);display:inline-flex;gap:.35rem;align-items:center;white-space:nowrap}
.hush-viewall:hover{gap:.6rem}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .hush-hero__grid,.hush-ingredients__layout,.hush-story__layout{grid-template-columns:1fr}
  /* Hero visual keeps its two columns here but loses the fixed min-height, so
     anchor the image cell with an aspect ratio to stop it collapsing. */
  .hush-hero__visual{min-height:auto}
  .hush-hero__products{aspect-ratio:1/1}
  .hush-products-grid{grid-template-columns:repeat(3,1fr)}
  .hush-cats__grid{grid-template-columns:1fr 1fr}
  .hush-features__grid{grid-template-columns:1fr 1fr}
  /* Reviews: score becomes a compact horizontal bar above the carousel. */
  .hush-reviews__layout{grid-template-columns:1fr;gap:1.4rem}
  .hush-score{flex-direction:row;flex-wrap:wrap;align-items:center;gap:1rem 2rem;text-align:start}
  .hush-score__head{flex-direction:row;align-items:center;gap:1rem}
  .hush-score__head-meta{align-items:flex-start}
  .hush-score b{font-size:3rem}
  .hush-score__bars{margin-top:0;padding-top:0;border-top:none;flex:1 1 240px;min-width:200px}
}
@media (max-width:640px){
  .hush-hero__visual{grid-template-columns:1fr}
  /* When the visual stacks to one column, the products cell has no height of
     its own (the image is absolutely positioned), so give it an aspect ratio
     so the hero image actually shows instead of collapsing to nothing. */
  .hush-hero__products{aspect-ratio:4/3;min-height:260px}
  .hush-hero__usps{grid-template-columns:1fr 1fr;gap:.5rem}
  .hush-hero__stats{grid-template-columns:repeat(3,1fr);gap:.5rem}
  .hush-cats__grid,.hush-chips{grid-template-columns:1fr 1fr}
  /* Shop by category on mobile: give the regular boxes one consistent shape so
     they're all equal height (no short/tall mismatch), and let a lone 3rd box
     span the full width instead of leaving an empty cell beside it. */
  .hush-cats__grid .hush-cat:not(.hush-cat--wide){min-height:0;aspect-ratio:1/1}
  .hush-cats__grid .hush-cat--wide{grid-column:1 / -1}
  /* The 3rd category box (odd one out in a 2-col grid) goes full-width. */
  .hush-cats__grid .hush-cat:nth-child(3):not(.hush-cat--wide){grid-column:1 / -1;aspect-ratio:16/9}
  /* Offers / promotions: 1 per row, full width on mobile. The image is a cover
     background, so on a full-width card give it more height (a portrait-ish
     ratio) so the product isn't cropped tight. */
  .hush-deals__grid{grid-template-columns:1fr}
  .hush-deal{min-height:0;aspect-ratio:4/3}
  .hush-deal img{object-position:center}
  .hush-cat--wide{flex-direction:column;align-items:flex-start}
  .hush-cat--wide .hush-cat__body{max-width:100%}
  /* When the wide card stacks on mobile, use a bottom-up overlay like the others. */
  .hush-cat--wide.has-bg .hush-cat__overlay{background:linear-gradient(to top,rgba(28,19,64,.75) 0%,rgba(28,19,64,.3) 50%,rgba(28,19,64,.05) 100%)}
  .hush-news__form{flex-direction:column;border-radius:var(--hush-r-lg)}
  .hush-news__form .hush-btn{width:100%}

  /* ---------- Reviews on mobile → polished compact swipe carousel ---------- */
  .hush-reviews__layout{grid-template-columns:1fr;gap:1.3rem}

  /* Compact score card: score + stars on one line, tight rating bars below. */
  .hush-score{padding:1.4rem 1.4rem;text-align:start;top:auto}
  .hush-score::before{width:100px;height:100px;top:-30px;inset-inline-end:-30px}
  .hush-score b{font-size:2.6rem}
  .hush-score .hush-stars{font-size:1rem;letter-spacing:2px;margin:0}
  .hush-score__head{display:flex;align-items:center;gap:1rem}
  .hush-score__head-meta{display:flex;flex-direction:column;gap:.15rem}
  .hush-score small{font-size:.78rem}
  .hush-score__bars{margin-top:1rem;padding-top:1rem;gap:.45rem}
  .hush-score__bar{font-size:.7rem}
  .hush-score__bar i{height:6px}

  /* One review per view, next card peeking to signal swipe. */
  .hush-review-cards__viewport{overflow:visible;border-radius:0}
  .hush-review-cards__track{
    transform:none !important;
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:.9rem;
    margin-inline:calc(-1 * var(--hush-gutter,16px));
    padding-inline:var(--hush-gutter,16px);
    padding-block:.2rem .5rem;
    scroll-padding-inline:var(--hush-gutter,16px);
  }
  .hush-review-cards__track::-webkit-scrollbar{display:none}
  .hush-review-cards__page{display:contents}
  .hush-review-cards__track .hush-review{
    flex:0 0 88%;
    max-width:88%;
    scroll-snap-align:center;
    padding:1.5rem 1.5rem;
  }
  .hush-review p{-webkit-line-clamp:5}
  /* Nav (arrows + dots) is for the paged desktop carousel; the peeking next
     card already signals swipe on mobile, so hide it. */
  .hush-review-cards__nav{display:none}
}
@media (max-width:420px){
  .hush-cats__grid{grid-template-columns:1fr 1fr}
  .hush-features__grid{grid-template-columns:1fr}
  .hush-hero__stats{gap:.35rem}
  .hush-hero__stat{padding:.8rem .4rem}
  .hush-hero__stat b{font-size:1.15rem}
  .hush-hero__stat span{font-size:.68rem}
}
@media (max-width:340px){
  .hush-cats__grid{grid-template-columns:1fr}
}

/* ==========================================================================
   FAQ accordion (page-faq.php)
   ========================================================================== */
.hush-faq{display:flex;flex-direction:column;gap:.8rem}
.hush-faq__item{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-md);overflow:hidden;transition:border-color var(--hush-t),box-shadow var(--hush-t)}
.hush-faq__item.is-open{border-color:var(--hush-blue);box-shadow:var(--hush-shadow-sm)}
.hush-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:none;border:none;padding:1.25rem 1.4rem;text-align:start;font-family:var(--hush-font-display);
  font-size:1.05rem;font-weight:600;color:var(--hush-ink);cursor:pointer}
.hush-faq__icon{position:relative;width:20px;height:20px;flex:none}
.hush-faq__icon::before,.hush-faq__icon::after{content:"";position:absolute;background:var(--hush-blue);border-radius:2px;transition:transform var(--hush-t) var(--hush-ease)}
.hush-faq__icon::before{top:9px;left:2px;right:2px;height:2px}
.hush-faq__icon::after{left:9px;top:2px;bottom:2px;width:2px}
.hush-faq__item.is-open .hush-faq__icon::after{transform:scaleY(0)}
.hush-faq__a{max-height:0;overflow:hidden;transition:max-height var(--hush-t) var(--hush-ease)}
.hush-faq__a-inner{padding:0 1.4rem 1.3rem;color:var(--hush-ink-soft);font-size:.95rem;line-height:1.6}
[dir="rtl"] .hush-faq__q{text-align:right}

/* Contact form responsive */
@media (max-width:820px){
  .hush-contact-form>div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
}
@media (max-width:900px){
  section .hush-container[style*="grid-template-columns:1.3fr 1fr"]{grid-template-columns:1fr!important}
  section .hush-container[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr 1fr!important}
}
@media (max-width:560px){
  section .hush-container[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr!important}
}

/* ==========================================================================
   Careers — roles list
   ========================================================================== */
.hush-roles{display:flex;flex-direction:column;gap:.8rem}
.hush-role{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-md);padding:1.2rem 1.4rem;
  transition:transform var(--hush-t) var(--hush-ease),box-shadow var(--hush-t),border-color var(--hush-t)}
.hush-role:hover{transform:translateY(-2px);box-shadow:var(--hush-shadow-sm);border-color:var(--hush-line-2)}
.hush-role__title{font-family:var(--hush-font-display);font-size:1.15rem;color:var(--hush-ink);margin-bottom:.4rem}
.hush-role__meta{display:flex;flex-wrap:wrap;gap:.9rem;color:var(--hush-muted);font-size:.8rem;font-weight:600}
.hush-role__meta span{display:inline-flex;align-items:center;gap:.35rem}
.hush-role__meta svg{color:var(--hush-blue)}
.hush-role.is-hidden{display:none}

/* ==========================================================================
   Sustainability — progress bars
   ========================================================================== */
.hush-progress{height:10px;background:var(--hush-line);border-radius:999px;overflow:hidden}
.hush-progress__fill{display:block;height:100%;width:0;border-radius:999px;
  background:linear-gradient(90deg,var(--hush-blue),var(--hush-lilac));
  transition:width 1.1s var(--hush-ease)}
.hush-progress__fill.is-filled{width:var(--target)}

@media (max-width:560px){
  .hush-role{flex-direction:column;align-items:flex-start}
}

/* Ingredients page — ingredient card grid (responsive; fixes mobile overflow) */
.hush-ingredient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.hush-ingredient-card{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);padding:1.6rem;min-width:0}
.hush-ingredient-card__icon{width:48px;height:48px;border-radius:var(--hush-r-pill);background:var(--hush-wash-mint);color:var(--hush-green);display:grid;place-items:center;margin-bottom:1rem}
.hush-ingredient-card h3{overflow-wrap:break-word;word-break:break-word}
@media (max-width:900px){.hush-ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.hush-ingredient-grid{grid-template-columns:1fr}}
