/* Editorial text and a catalogue-driven disclosure navigation. */
:root {
  --ink: #46515b;
  --muted: #69747d;
  --copy: #46515b;
  --copy-soft: #626f79;
  --heading: #43515d;
  --action: #526776;
}
body, a, h1, h2, h3, h4, h5, h6 { color: var(--copy); }
a:hover, a:focus-visible { color: #526776; }
.hero-copy h1, .hero-label strong, .discovery-card h3, .home-fragrance h3,
.category-heading h1, .manifesto h2, #product-info h1 { color: var(--heading); }
.hero-copy h1 em, .hero-label strong em, .manifesto h2 em { color: #73808a; }
.eyebrow, .hero-copy .eyebrow, .hero-label>span, .manifesto .eyebrow,
.category-heading .eyebrow, .hero-edition { color: #626e78; }
.hero-description, .hero-footnote, .discovery-card p, .home-fragrance p,
.category-intro, .manifesto p:not(.eyebrow), .category-story, .care-strip>span { color: var(--copy-soft); }
.category-pills a, .category-pills a:nth-child(3n+2), .category-pills a:nth-child(3n+3),
.category-pills a:hover, .breadcrumb li:last-child a, .category-story summary,
.list-group-item.active, .ritual-product h4 a:hover { color: var(--copy); }
.ritual-product .price, .ritual-product .price-new { color: #435a6b; font-weight: 600; }
.ritual-product .price-old { color: #66737d; font-weight: 400; }
.btn-primary, .hero-copy .editorial-button, .ritual-product .button .product-add {
  background: var(--action); border-color: var(--action); color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .hero-copy .editorial-button:hover,
.ritual-product .button .product-add:hover { background: #3e5868!important; border-color: #3e5868!important; color: #fff!important; }
.product-badge { color: #fff; background: #587b4c; border-color: #587b4c; }
.ritual-product .button .product-wish, .ritual-product .button .product-wish:hover,
.discovery-card .circle-arrow, .home-fragrance .circle-arrow, .round-stamp { color: #5b6d75; }
.ritual-footer, .ritual-footer h5, .ritual-footer a, .ritual-footer a:hover { color: #f5f7f8; }

.navigation-row { position: relative; gap: 24px; }
.mega-navigation { flex: 1; min-width: 0; }
.mega-catalog { display: flex; align-items: center; gap: 12px; min-height: 62px; }
.mega-topics { display: flex; align-items: stretch; gap: 12px; list-style: none; margin: 0; padding: 0; }
.mega-all { display: inline-flex; align-items: center; gap: 9px; font-size: 12.00325px; font-weight: 600; white-space: nowrap; padding: 10px 12px; background: #f0f4ec; border: 1px solid #e4eadf; border-radius: 6px; color: var(--copy); }
.mega-all:hover { background: #e7efdf; color: var(--copy); }
.mega-all i { color: #779568; font-size: 11.145875px; }
.mega-trigger { position: relative; display: flex; align-items: center; gap: 7px; padding: 21px 0; background: transparent; border: 0; color: var(--copy); font-size: 13.718px; line-height: 24px; white-space: nowrap; cursor: pointer; }
.mega-trigger:after { content: ''; position: absolute; height: 3px; left: 0; right: 13px; bottom: 4px; background: #83a86e; transform: scaleX(0); transform-origin: left; transition: transform .18s; border-radius: 3px; }
.mega-trigger:hover, .mega-trigger[aria-expanded=true] { color: #435965; }
.mega-trigger:hover:after, .mega-trigger[aria-expanded=true]:after { transform: scaleX(1); }
.mega-chevron { font-size: 6.859px; color: #8a959b; transition: transform .2s; }
.mega-trigger[aria-expanded=true] .mega-chevron { transform: rotate(180deg); }
.mega-topic-icon { display: none; }
.mega-mobile-toggle, .mega-mobile-heading, .mega-mobile-intro, .mega-mobile-footer { display: none; }
.mega-panel[hidden], .mega-scrim[hidden] { display: none!important; }
.mega-panel { position: absolute; top: 100%; left: 36px; right: 36px; padding: 0; background: #fff; border: 1px solid #e2e7e7; border-top: 3px solid #91ad7e; border-radius: 0 0 14px 14px; box-shadow: 0 22px 42px #35475321; max-height: var(--mega-available-height,calc(100dvh - 230px)); overflow-y: auto; overscroll-behavior: contain; z-index: 1030; }
.mega-panel-body { display: grid; grid-template-columns: 175px minmax(0,1fr) 250px; gap: 30px; padding: 31px; }
.mega-kicker { display: block; color: #68747d; font-size: 9.431125px; line-height: 1.6; letter-spacing: 1.65px; font-weight: 400; }
.mega-intro { padding-right: 17px; border-right: 1px solid #e9ece9; }
.mega-category-mark { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 14px; color: #78926b; background: #eef3e8; margin: 21px 0 14px; font-size: 16.290125px; }
.mega-intro h2 { font-family: Georgia,serif; font-size: 23.149125px; line-height: 1.18; margin: 0 0 13px; color: #485662; }
.mega-intro p { font-size: 12.00325px; line-height: 1.85; color: #66737d; margin-bottom: 20px; }
.mega-explore { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 11px 0; border-bottom: 1px solid #b7c7ac; font-size: 12.00325px; font-weight: 600; color: #536774; }
.mega-explore span { font-size: 16.290125px; font-weight: 400; }
.mega-link-area { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.mega-link-groups { display: grid; grid-template-columns: repeat(var(--group-count),minmax(0,1fr)); gap: 24px; }
.mega-group h3 { font-family: Arial,Helvetica,sans-serif; font-size: 11.145875px; font-weight: 600; line-height: 1.7; margin: 1px 0 16px; color: #687782; letter-spacing: .3px; }
.mega-group ul { list-style: none; padding: 0; margin: 0; }
.mega-group li { margin: 0; padding: 0; }
.mega-group>ul>li>a { display: flex; justify-content: space-between; gap: 5px; color: #4f5a65; font-size: 13.718px; line-height: 1.5; padding: 8px 0; border-bottom: 1px solid #f1f3f0; }
.mega-link-arrow { color: #899b91; opacity: 0; transform: translateX(-4px); transition: opacity .15s,transform .15s; flex-shrink: 0; }
.mega-group a:hover, .mega-group a:focus-visible { color: #435965; background: #f4f7f0; }
.mega-group a:hover span, .mega-group a:focus-visible span { opacity: 1; transform: none; }
.mega-grandchildren { padding: 3px 0 7px 10px!important; border-left: 1px solid #dce7d3; margin: 5px 0!important; }
.mega-grandchildren a { display: block; padding: 6px 0; font-size: 12.00325px; color: #667580; }
.mega-brands { padding-top: 17px; border-top: 1px solid #e5ebe0; }
.mega-brands>span { display: block; font-size: 10.2885px; color: #68747d; margin-bottom: 10px; }
.mega-brands>div { display: flex; flex-wrap: wrap; gap: 7px; }
.mega-brands a { border: 1px solid #e4e9e5; border-radius: 5px; background: #f8faf7; padding: 7px 11px; font-size: 11.145875px; color: #5f6d77; }
.mega-brands a:hover { background: #edf3e8; color: #485e6b; }
.mega-feature { display: flex; flex-direction: column; align-self: stretch; min-width: 0; background: #f5eddd; border-radius: 65px 8px 8px 8px; overflow: hidden; color: #53616a; }
.mega-feature-photo { height: 177px; overflow: hidden; background: #f5f4eb; }
.mega-feature-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.mega-feature-caption { position: relative; padding: 21px 24px 25px; flex: 1; }
.mega-feature-caption>span:first-child { display: block; font-size: 9.431125px; letter-spacing: 1.6px; color: #696c63; margin-bottom: 11px; }
.mega-feature-caption strong { display: block; font-family: Georgia,serif; font-weight: 400; font-size: 21.434375px; line-height: 1.18; color: #5b625f; padding-right: 15px; }
.mega-feature-arrow { position: absolute; right: 18px; bottom: 18px; font-size: 18.86225px; color: #849080; }
.mega-feature-home { background: #e6eeed; }
.mega-feature-makeup { background: #f2e6e5; }
.mega-feature-jewelry { background: #e7ebef; }
.mega-feature-cars { background: #e6edef; }
.mega-feature-sale { background: #f4e9da; }
.mega-feature-makeup .mega-feature-photo img, .mega-feature-cars .mega-feature-photo img, .mega-feature-sale .mega-feature-photo img { object-fit: contain; mix-blend-mode: multiply; }
.mega-feature-art { position: relative; display: grid; place-items: center; height: 170px; background: #f8f6f0; overflow: hidden; }
.mega-feature-art>i { font-size: 47.155625px; color: #819288; }
.mega-feature-art>span { position: absolute; right: -15px; top: -25px; font-family: Georgia,serif; font-size: 120.0325px; color: #e2e9db; }
.mega-no-subcategories { padding-top: 18px; max-width: 350px; }
.mega-no-subcategories h3 { font-family: Georgia,serif; font-size: 28.293375px; line-height: 1.2; margin: 19px 0; }
.mega-no-subcategories p { font-size: 12.00325px; color: #66737d; }
.mega-no-subcategories>a { display: inline-flex; gap: 35px; font-size: 12.00325px; border-bottom: 1px solid #afc29e; padding-bottom: 8px; margin-top: 10px; }
.mega-panel-footer { display: flex; justify-content: space-between; gap: 20px; padding: 14px 31px; border-top: 1px solid #e8ece6; background: #f7f9f5; }
.mega-panel-footer>span { font-size: 11.145875px; color: #68747d; }
.mega-panel-footer>span i { margin-right: 8px; color: #88a079; }
.mega-panel-footer>a { font-size: 11.145875px; color: #5e7280; }
.mega-panel-footer>a span { margin-left: 20px; }
.mega-scrim { position: fixed; inset: 0; background: #35434e38; backdrop-filter: blur(2px); z-index: 1010; }
.mega-more-panel { padding: 29px 31px 31px; }
.mega-extra-heading h2 { font-size: 25.72125px; margin: 9px 0 25px; }
.mega-extra-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 16px; }
.mega-extra-grid>a { display: flex; align-items: center; gap: 15px; padding: 24px 20px; background: #f2f5ed; border: 1px solid #e4e9de; border-radius: 7px; color: #526570; }
.mega-extra-grid>a:nth-child(2n) { background: #eef2f4; border-color: #e1e7e9; }
.mega-extra-grid>a>i { color: #89a075; font-size: 19.719625px; }
.mega-extra-grid strong { font-size: 13.718px; font-weight: 400; flex: 1; }
.mega-extra-grid>a:hover { border-color: #9db68c; background: #e9f0e1; }

@media (min-width: 1400px) {
  .mega-catalog,.mega-topics { gap: 14px; }
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .mega-catalog,.mega-topics { gap: 13px; }
  .mega-trigger { font-size: 12.00325px; }
  .mega-all { font-size: 11.145875px; padding: 9px; gap: 6px; }
  .header-search { width: 155px; }
  .mega-panel-body { grid-template-columns: 155px minmax(0,1fr) 210px; gap: 23px; padding: 25px; }
  .mega-link-groups { gap: 17px; }
}
@media (max-width: 1199px) {
  .masthead { height: 90px; }
  .navigation-row { min-height: 57px; align-items: center; }
  .mega-mobile-toggle { display: inline-flex; align-items: center; gap: 11px; padding: 15px 0; border: 0; background: transparent; color: #53626e; font-size: 13.718px; }
  .mega-mobile-toggle i { font-size: 15.43275px; color: #6b7f70; }
  .mega-catalog { display: none; position: fixed; top: 0; left: 0; bottom: 0; width: min(440px,92vw); padding: 23px 24px 30px; background: #fff; overflow-y: auto; overscroll-behavior: contain; border-right: 1px solid #e1e7dd; box-shadow: 20px 0 55px #35434e29; z-index: 1040; }
  .mega-catalog.is-open { display: block; }
  .mega-mobile-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding-bottom: 24px; border-bottom: 1px solid #e5ebe0; }
  .mega-mobile-heading>img { width: 170px; height: auto; }
  .mega-mobile-close { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #dfe5dc; border-radius: 50%; color: #6b7b85; background: #f7f9f4; }
  .mega-mobile-intro { display: block; font-family: Georgia,serif; font-size: 24.0065px; color: #526470; margin: 24px 0 20px; }
  .mega-all { display: flex; justify-content: center; font-size: 12.860625px; padding: 12px; margin-bottom: 20px; }
  .mega-topics { display: block; }
  .mega-item { border-bottom: 1px solid #e9ece5; }
  .mega-trigger { width: 100%; padding: 17px 0; font-size: 14.575375px; line-height: 1.5; gap: 13px; text-align: left; }
  .mega-trigger>span { flex: 1; }
  .mega-trigger:after { display: none; }
  .mega-topic-icon { display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0; border-radius: 10px; font-size: 12.860625px; background: #eef3e8; color: #819572; }
  .mega-item[data-kind=makeup] .mega-topic-icon { background: #f4eae8; color: #a08684; }
  .mega-item[data-kind=home] .mega-topic-icon { background: #eaf1ef; color: #7d9c91; }
  .mega-item[data-kind=jewelry] .mega-topic-icon { background: #edf0f4; color: #8799a8; }
  .mega-item[data-kind=cars] .mega-topic-icon { background: #edf1f3; color: #879ca4; }
  .mega-item[data-kind=sale] .mega-topic-icon { background: #f7eddd; color: #b29b71; }
  .mega-chevron { font-size: 8.57375px; }
  .mega-more .mega-trigger { padding-left: 47px; }
  .mega-panel { position: static; border: 0; border-radius: 0; box-shadow: none; max-height: none; overflow: visible; margin: 0 0 16px; background: #fbfcf9; }
  .mega-panel-body { display: block; padding: 0 16px 16px; }
  .mega-intro { border: 0; padding: 13px 0 18px; margin-bottom: 5px; }
  .mega-intro>.mega-kicker,.mega-category-mark,.mega-intro h2 { display: none; }
  .mega-intro p { font-size: 12.00325px; margin-bottom: 10px; }
  .mega-explore { padding: 9px 0; font-size: 12.00325px; }
  .mega-link-groups { display: block; }
  .mega-group { margin: 19px 0; }
  .mega-group h3 { margin-bottom: 7px; font-size: 11.145875px; color: #677780; }
  .mega-group>ul>li>a { padding: 11px 0; font-size: 13.718px; min-height: 46px; }
  .mega-link-arrow { opacity: 1; transform: none; font-size: 9.431125px; }
  .mega-feature { display: none; }
  .mega-brands { margin-top: 19px; }
  .mega-brands a { padding: 9px 11px; }
  .mega-panel-footer { padding: 12px 16px; }
  .mega-panel-footer>span { display: none; }
  .mega-panel-footer>a { display: flex; justify-content: space-between; width: 100%; padding: 5px 0; }
  .mega-no-subcategories { padding: 10px 0; }
  .mega-no-subcategories h3 { font-size: 23.149125px; }
  .mega-no-subcategories .mega-kicker { display: none; }
  .mega-more-panel { padding: 18px 14px; }
  .mega-extra-heading h2 { font-size: 21.434375px; margin-bottom: 18px; }
  .mega-extra-grid { grid-template-columns: 1fr; gap: 10px; }
  .mega-extra-grid>a { padding: 17px 13px; }
  .mega-mobile-footer { display: block; padding: 26px 0 0; }
  .mega-mobile-footer a { display: flex; justify-content: space-between; padding: 13px 0; font-size: 12.860625px; color: #62737e; }
  body.catalog-open { overflow: hidden; }
  .header-search { padding-top: 0; width: 235px; }
}
@media (max-width: 575px) {
  .masthead { height: 80px; }
  .navigation-row { gap: 20px; min-height: 51px; }
  .header-search { width: 180px; }
  .mega-mobile-toggle { font-size: 13.718px; gap: 9px; }
  .mega-mobile-toggle i { font-size: 13.718px; }
  .mega-catalog { padding: 21px 20px 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .mega-trigger:after,.mega-chevron,.mega-link-arrow { transition: none; }
}

/* Colour emoji are decorative; source catalogue labels stay intact. */
.category-emoji { display: inline-block; flex: 0 0 auto; font-family: "Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; font-size: 1.1em; font-weight: 400; line-height: 1.3; margin-inline-end: .4em; vertical-align: -.04em; letter-spacing: normal; }
.mega-trigger>.category-emoji { margin: 0; flex: 0 0 auto; }
.mega-all>.category-emoji { margin: 0; }
.mega-category-mark .category-emoji { margin: 0; font-size: 21.434375px; }
.mega-link-label { display: flex; align-items: baseline; min-width: 0; }
.mega-link-label>.category-emoji { font-size: 15.43275px; }
.mega-grandchildren .category-emoji { font-size: 12.860625px; }
.mega-extra-grid>.category-emoji { margin: 0; }
.mega-extra-grid>a>.category-emoji { margin: 0; font-size: 21.434375px; }
.care-strip>span>.category-emoji { font-size: 18.004875px; margin-inline-end: 10px; }
.category-pills .category-emoji { font-size: 14.575375px; }
.category-heading h1 .category-emoji { font-size: .75em; }
@media (max-width: 1199px) {
  .mega-trigger>.category-emoji { display: grid; place-items: center; width: 34px; min-height: 34px; border-radius: 10px; background: #f1f5ed; font-size: 18.86225px; }
  .mega-more .mega-trigger { padding-left: 0; }
}

@media (min-width: 1200px) and (max-width: 1499px) {
  .navigation-row { gap: 16px; }
  .mega-catalog,.mega-topics { gap: 10px; }
  .header-search { width: 140px; flex-shrink: 0; }
}

/* Give search its own masthead space instead of squeezing the category row. */
.masthead>.header-search { width: min(100%,320px); padding: 0; }
.header-search form { display: flex; align-items: stretch; min-width: 0; border: 1px solid #dce4df; border-radius: 9px; background: #f7f9f5; overflow: hidden; }
.header-search form:focus-within { border-color: #82979f; box-shadow: 0 0 0 3px #52677615; }
.header-search .form-control { flex: 1 1 0%; width: 0; min-width: 0; height: 46px; padding: 10px 12px; font-size: 13.718px; line-height: 24px; color: #46515b; }
.header-search .form-control::placeholder { color: #626f79; opacity: 1; }
.header-search .form-control:focus { outline: 0; box-shadow: none; background: transparent; }
.header-search .btn { flex: 0 0 44px; width: 44px; padding: 0; font-size: 15.43275px; color: #526776; border-radius: 0; }
.header-search .btn:hover { background: #eaf0e5; }
@media (max-width: 1199px) {
  .masthead { grid-template-columns: 1fr 1fr; }
  .masthead>.brand-logo { justify-self: start; }
  .masthead>.header-search { position: absolute; right: 28px; bottom: 6px; width: min(235px,55vw); }
  .header-search .form-control { height: 44px; }
}
@media (max-width: 575px) {
  .masthead>.header-search { right: 20px; bottom: 5px; width: min(220px,55vw,calc(100% - 140px)); }
  .header-search .form-control { height: 40px; padding: 8px 10px; }
}
