/** Shopify CDN: Minification failed

Line 274:1 Expected "}" to go with "{"

**/
.hh-sec { --hh-gold: #BD9C60; --hh-gold-text: #8A6F3E; color: #111111; }
.hh-wrap { max-width: var(--page-width, 120rem); margin: 0 auto; padding: 0 2rem; }
@media screen and (min-width: 750px) { .hh-wrap { padding: 0 5rem; } }

.hh-eyebrow { margin: 0 0 1.4rem; font-size: 1.2rem; font-weight: 600; letter-spacing: .4em; text-transform: uppercase; color: var(--hh-gold-text); }
.hh-bg .hh-eyebrow { color: var(--hh-gold); margin-bottom: 0; }
.hh-h2 { margin: 0; font-family: var(--font-heading-family); font-weight: 400; font-size: 3rem; line-height: 1.18; color: inherit; }
@media screen and (min-width: 750px) { .hh-h2 { font-size: 4.4rem; } }
.hh-center { text-align: center; margin-bottom: 3.6rem; }
@media screen and (min-width: 750px) { .hh-center { margin-bottom: 5.6rem; } }

/* Background image sections: photo (0) < gradient (1) < text (2) */
.hh-sec.hh-bg { position: relative; isolation: isolate; overflow: hidden; background: #1A1A1A; color: #FFFFFF; }
.hh-sec .hh-bg__img { position: absolute; top: 0; left: 0; z-index: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.hh-sec .hh-bg__overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; pointer-events: none; }
.hh-sec .hh-bg__content { position: relative; z-index: 2; width: 100%; }

/* Buttons and links */
.hh-btns { display: flex; flex-wrap: wrap; gap: 1.4rem; margin-top: 1rem; }
.hh-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 5.2rem; padding: 0 3.4rem; font-size: 1.3rem; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; transition: background .25s ease, color .25s ease; }
.hh-btn--gold { background: var(--hh-gold); color: #000000; font-weight: 600; }
.hh-btn--gold:hover { background: #FFFFFF; }
.hh-btn--ghost { border: 1px solid rgba(255, 255, 255, .7); color: #FFFFFF; }
.hh-btn--ghost:hover { background: #FFFFFF; color: #000000; }
@media screen and (max-width: 749px) { .hh-btn { flex: 1 1 100%; } }
.hh-textlink { align-self: flex-start; margin-top: .8rem; padding-bottom: .6rem; font-size: 1.3rem; letter-spacing: .2em; text-transform: uppercase; text-decoration: none; color: var(--hh-gold); border-bottom: 1px solid var(--hh-gold); }
.hh-rule { width: 6.4rem; height: 1px; margin: 0; border: 0; background: var(--hh-gold); }

/* Hero */
.hh-hero { min-height: 60rem; display: flex; align-items: flex-end; }
.hh-sec.hh-hero .hh-bg__overlay { background: linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.6) 40%, rgba(0,0,0,.9) 100%); }
.hh-hero .hh-bg__content { padding: 8rem 0 4.4rem; }
.hh-hero__inner { max-width: 60rem; display: flex; flex-direction: column; gap: 1.8rem; }
.hh-crumb { display: flex; gap: .8rem; font-size: 1.3rem; color: rgba(255,255,255,.75); }
.hh-crumb a { color: inherit; text-decoration: none; }
.hh-hero__title { margin: 0; font-family: var(--font-heading-family); font-weight: 400; font-size: 4.6rem; line-height: 1.05; color: #FFFFFF; }
.hh-hero__text { max-width: 50rem; font-size: 1.7rem; line-height: 1.65; color: rgba(255,255,255,.92); }
.hh-hero__text p { margin: 0; }
@media screen and (min-width: 750px) {
  .hh-hero { min-height: 68rem; align-items: center; }
  .hh-sec.hh-hero .hh-bg__overlay { background: linear-gradient(90deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.6) 40%, rgba(0,0,0,.15) 75%, rgba(0,0,0,0) 100%); }
  .hh-hero .hh-bg__content { padding: 9.6rem 0; }
  .hh-hero__inner { gap: 2.4rem; }
  .hh-hero__title { font-size: 7.6rem; }
  .hh-hero__text { font-size: 2rem; }
}

/* Ritual */
.hh-ritual .hh-bg__content { padding: 6.4rem 0; }
.hh-steps { display: grid; grid-template-columns: 1fr; }
.hh-step { display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 2.8rem 0; text-align: center; border-bottom: 1px solid rgba(189,156,96,.4); }
.hh-step:first-child { padding-top: 0; }
.hh-step:last-child { border-bottom: 0; padding-bottom: 0; }
.hh-step__num { font-family: var(--font-heading-family); font-size: 4.4rem; line-height: 1; color: var(--hh-gold); }
.hh-step__title { margin: 0; font-family: var(--font-heading-family); font-weight: 400; font-size: 2.2rem; color: #FFFFFF; }
.hh-step__text { max-width: 28rem; font-size: 1.6rem; line-height: 1.6; color: rgba(255,255,255,.85); }
.hh-step__text p { margin: 0; }
@media screen and (min-width: 750px) {
  .hh-ritual .hh-bg__content { padding: 10.4rem 0; }
  .hh-steps { grid-template-columns: repeat(var(--hh-cols, 3), minmax(0, 1fr)); }
  .hh-step, .hh-step:first-child, .hh-step:last-child { padding: .8rem 4rem; border-bottom: 0; border-right: 1px solid rgba(189,156,96,.4); }
  .hh-step:last-child { border-right: 0; }
  .hh-step__num { font-size: 5.6rem; }
  .hh-step__title { font-size: 2.6rem; }
  .hh-step__text { font-size: 1.7rem; }
}

/* Founder */
.hh-founder { min-height: 62rem; display: flex; align-items: flex-end; }
.hh-sec.hh-founder .hh-bg__overlay { background: linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.6) 40%, rgba(0,0,0,.92) 100%); }
.hh-founder .hh-bg__content { padding: 8rem 0 4.8rem; }
.hh-founder__inner { max-width: 56rem; display: flex; flex-direction: column; gap: 2rem; }
.hh-quote-mark { height: 3.2rem; font-family: var(--font-heading-family); font-size: 7.2rem; line-height: .9; color: var(--hh-gold); }
.hh-quote { margin: 0; font-family: var(--font-heading-family); font-style: italic; font-size: 2.4rem; line-height: 1.45; color: #FFFFFF; }
.hh-byline { display: flex; align-items: center; gap: 1.4rem; font-size: 1.5rem; letter-spacing: .06em; color: rgba(255,255,255,.85); }
.hh-byline::before { content: ''; width: 4rem; height: 1px; background: var(--hh-gold); }
@media screen and (min-width: 750px) {
  .hh-founder { min-height: 56rem; align-items: center; }
  .hh-sec.hh-founder .hh-bg__overlay { background: linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.7) 50%, rgba(0,0,0,.1) 100%); }
  .hh-founder .hh-bg__content { padding: 9.6rem 0; }
  .hh-quote { font-size: 3.2rem; }
}

/* Collection tiles */
.hh-tiles-sec { padding: 6rem 0 2rem; }
.hh-tiles { display: flex; gap: 1.4rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .8rem; }
.hh-tiles::-webkit-scrollbar { display: none; }
.hh-tile { position: relative; isolation: isolate; flex: 0 0 72%; display: block; aspect-ratio: 3 / 4; border-radius: .6rem; overflow: hidden; background: #222222; color: #FFFFFF; text-decoration: none; scroll-snap-align: start; }
.hh-tile img { position: absolute; top: 0; left: 0; z-index: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .8s ease; }
.hh-tile:hover img { transform: scale(1.05); }
.hh-tile::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.78) 100%); }
.hh-tile__body { position: absolute; left: 0; right: 0; bottom: 2.8rem; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 0 1.6rem; text-align: center; }
.hh-tile__title { font-family: var(--font-heading-family); font-size: 2.2rem; line-height: 1.2; }
.hh-tile__cta { padding-bottom: .4rem; font-size: 1.1rem; letter-spacing: .24em; text-transform: uppercase; color: var(--hh-gold); border-bottom: 1px solid var(--hh-gold); }
@media screen and (min-width: 750px) {
  .hh-tiles-sec { padding: 10.4rem 0 5.6rem; }
  .hh-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.8rem; overflow: visible; }
  .hh-tile { flex: none; }
  .hh-tile__body { bottom: 4rem; }
  .hh-tile__title { font-size: 2.8rem; }
  .hh-tile__cta { font-size: 1.2rem; }
}

/* FAQ */
.hh-faq-sec { padding: 5rem 0 7rem; }
.hh-faq { max-width: 82rem; margin: 0 auto; border-top: 1px solid #E5E5E5; }
.hh-faq details { border-bottom: 1px solid #E5E5E5; }
.hh-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 1.6rem; padding: 2.2rem 0; cursor: pointer; list-style: none; font-family: var(--font-heading-family); font-size: 1.8rem; line-height: 1.4; color: #111111; }
.hh-faq summary::-webkit-details-marker { display: none; }
.hh-faq summary::after { content: '+'; flex-shrink: 0; font-family: var(--font-body-family); font-size: 2.4rem; line-height: 1; color: var(--hh-gold); }
.hh-faq details[open] summary::after { content: '\2212'; }
.hh-faq__a { padding: 0 0 2.4rem; font-size: 1.6rem; line-height: 1.7; color: #444444; }
.hh-faq__a p { margin: 0 0 1em; }
.hh-faq__a p:last-child { margin-bottom: 0; }
@media screen and (min-width: 750px) {
  .hh-faq-sec { padding: 7.2rem 0 11.2rem; }
  .hh-faq summary { font-size: 2rem; padding: 2.6rem 0; }
  .hh-sec .hh-bg__overlay { display: block !important; }

  /* Section heading */
.hh-heading-sec { padding: 6.4rem 0 0; }
.hh-heading--center { text-align: center; }
@media screen and (min-width: 750px) { .hh-heading-sec { padding: 8.8rem 0 0; } }

/* H+H product cards: only on pages with the H+H hero */
body:has(.hh-hero) #ProductGridContainer .card .media { background: #F5F3EF !important; }
body:has(.hh-hero) #ProductGridContainer .card__media .media img {
  object-fit: contain !important;
  padding: 10%;
  mix-blend-mode: multiply;
  transition: transform .6s ease;
}
body:has(.hh-hero) #ProductGridContainer .card-wrapper:hover .card__media .media img { transform: scale(1.04); }

/* Hide Dawn's duplicate title that sits on the image */
body:has(.hh-hero) #ProductGridContainer .card__inner .card__content { display: none !important; }

/* Name left, price right, under the image */
body:has(.hh-hero) #ProductGridContainer .card > .card__content { padding: 0 !important; text-align: left !important; }
body:has(.hh-hero) #ProductGridContainer .card > .card__content > .card__information {
  display: flex !important;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline;
  gap: 1.2rem;
  padding: 1.6rem 0 0 !important;
  text-align: left !important;
}
body:has(.hh-hero) #ProductGridContainer .card > .card__content .card__heading {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-family: var(--font-heading-family);
  font-weight: 400;
  font-size: 1.7rem;
  line-height: 1.3;
  text-align: left !important;
  word-break: normal;
}
body:has(.hh-hero) #ProductGridContainer .card__heading a { text-decoration: none; }
body:has(.hh-hero) #ProductGridContainer .card > .card__content .card-information {
  flex: 0 0 auto;
  width: auto !important;
  text-align: right !important;
}
body:has(.hh-hero) #ProductGridContainer .price { margin: 0; font-size: 1.5rem; letter-spacing: .02em; color: #111111; }

body:has(.hh-hero) #ProductGridContainer .card__badge .badge {
  border: 0;
  border-radius: 0;
  padding: .5rem 1rem;
  background: #000000;
  color: #FFFFFF;
  font-size: 1rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body:has(.hh-hero) #ProductGridContainer .quick-add { margin: 0; padding: 1.4rem 0 0; }
body:has(.hh-hero) #ProductGridContainer .quick-add__submit {
  min-height: 4.6rem;
  border: 1px solid #111111;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #111111;
  font-size: 1.2rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  transition: background .25s ease, color .25s ease;
}
body:has(.hh-hero) #ProductGridContainer .quick-add__submit::before,
body:has(.hh-hero) #ProductGridContainer .quick-add__submit::after { display: none; }
body:has(.hh-hero) #ProductGridContainer .quick-add__submit:hover { background: #111111; color: #FFFFFF; }

@media screen and (min-width: 750px) {
  body:has(.hh-hero) #ProductGridContainer .card > .card__content .card__heading { font-size: 2.1rem; }
  body:has(.hh-hero) #ProductGridContainer .price { font-size: 1.6rem; }
  body:has(.hh-hero) #ProductGridContainer .quick-add__submit { font-size: 1.3rem; }

body:has(.hh-hero) #ProductGridContainer .product-grid {
  --grid-mobile-horizontal-spacing: 1.6rem;
  --grid-mobile-vertical-spacing: 4.8rem;
  --grid-desktop-horizontal-spacing: 4rem;
  --grid-desktop-vertical-spacing: 6.4rem;
}

/* Stack name over price */
body:has(.hh-hero) #ProductGridContainer .card > .card__content > .card__information {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .6rem !important;
  padding-top: 1.8rem !important;
}

/* Name: smaller, lighter, a touch of tracking */
body:has(.hh-hero) #ProductGridContainer .card > .card__content .card__heading {
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: .02em !important;
  color: #111111;
}
body:has(.hh-hero) #ProductGridContainer .card__heading a { color: inherit; }
body:has(.hh-hero) #ProductGridContainer .card > .card__content .card-information { text-align: left !important; }

/* Price: small, muted, airy */
body:has(.hh-hero) #ProductGridContainer .price,
body:has(.hh-hero) #ProductGridContainer .price-item {
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  letter-spacing: .14em !important;
  color: #6B6B6B !important;
}

/* Slimmer button */
body:has(.hh-hero) #ProductGridContainer .quick-add { padding-top: 1.6rem !important; }
body:has(.hh-hero) #ProductGridContainer .quick-add__submit {
  min-height: 4.2rem !important;
  font-size: 1.1rem !important;
  letter-spacing: .22em !important;
  border-width: 1px !important;
}

@media screen and (min-width: 750px) {
  body:has(.hh-hero) #ProductGridContainer .card > .card__content .card__heading { font-size: 1.8rem !important; }
  body:has(.hh-hero) #ProductGridContainer .price,
  body:has(.hh-hero) #ProductGridContainer .price-item { font-size: 1.3rem !important; }
  body:has(.hh-hero) #ProductGridContainer .quick-add__submit { min-height: 4.4rem !important; }
}
/* Anchor jumps land below the sticky header */
html { scroll-behavior: smooth; }
#hh-shop,
#hh-ritual,
#ProductGridContainer {
  scroll-margin-top: calc(var(--header-height, 7rem) + 1.6rem);
}
@media screen and (min-width: 990px) {
  #hh-shop,
  #hh-ritual,
  #ProductGridContainer {
    scroll-margin-top: calc(var(--header-height, 11rem) + 1.6rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

}