/* Danimonie experience layer — loaded after the historic theme stylesheet. */
:root {
  --dm-plum: #6d2947;
  --dm-plum-dark: #512038;
  --dm-powder: #e8c6cf;
  --dm-rose-light: #f8edef;
  --dm-champagne: #c6a15b;
  --dm-anthracite: #242124;
  --dm-gray: #6e686c;
  --dm-border: #eee9e7;
  --dm-ink: var(--dm-anthracite);
  --dm-warm-ink: var(--dm-plum);
  --dm-gold: var(--dm-champagne);
  --dm-gold-soft: #efdcae;
  --dm-ivory: #fff9f5;
  --dm-cream: var(--dm-rose-light);
  --dm-rose: var(--dm-powder);
  --dm-line: var(--dm-border);
  --dm-container-wide: 1360px;
  --dm-radius-sm: 10px;
  --dm-radius-md: 18px;
  --dm-radius-lg: 30px;
  --dm-ease: cubic-bezier(.22, 1, .36, 1);
}

body {
  background: #fff;
  color: var(--dm-ink);
  text-rendering: optimizeLegibility;
}

.dm-picture {
  display: block;
  margin: 0;
}

.dm-picture img {
  object-position: var(--dm-focus-x, 50%) var(--dm-focus-y, 50%);
}

.dm-container {
  width: min(var(--dm-container-wide), calc(100% - 64px));
}

.dm-section {
  padding-block: clamp(72px, 8vw, 118px);
}

.dm-section--cream {
  background: var(--dm-ivory);
}

.dm-section--ink {
  background: var(--dm-plum);
  color: #fff;
}

.dm-btn {
  min-height: 48px;
  padding: 14px 24px;
  border-radius: 999px;
}

.dm-btn--gold {
  border-color: var(--dm-plum);
  background: var(--dm-plum);
  color: #fff;
}

.dm-btn--gold:hover {
  border-color: var(--dm-plum-dark);
  background: var(--dm-plum-dark);
  color: #fff;
}

.dm-section--ink .dm-btn--gold,
.dm-home-newsletter .dm-btn--gold {
  border-color: var(--dm-champagne);
  background: var(--dm-champagne);
  color: var(--dm-anthracite);
}

.dm-section--ink .dm-btn--gold:hover,
.dm-home-newsletter .dm-btn--gold:hover {
  border-color: #ead19d;
  background: #ead19d;
  color: var(--dm-anthracite);
}

.dm-btn--outline {
  border-color: currentColor;
  background: transparent;
  color: inherit;
}

.dm-btn--glass {
  border-color: rgba(255, 255, 255, .7);
  background: rgba(255, 255, 255, .08);
  color: #fff;
  backdrop-filter: blur(10px);
}

.dm-btn--glass:hover {
  border-color: #fff;
  background: #fff;
  color: var(--dm-ink);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid #1576d2 !important;
  outline-offset: 3px;
}

.dm-skip-link:focus {
  position: fixed !important;
  z-index: 100000;
  top: 12px;
  left: 12px;
  width: auto;
  height: auto;
  clip: auto;
  padding: 12px 18px;
  border-radius: 8px;
  background: #fff;
  color: #111;
}

/* Announcement and header */
.dm-announcement {
  min-height: 34px;
  background: var(--dm-plum);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dm-announcement__track {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: clamp(28px, 6vw, 96px);
}

.dm-announcement__track span::before {
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 10px;
  border-radius: 50%;
  background: var(--dm-gold);
  content: "";
  vertical-align: 2px;
}

.dm-site-header.dm-header {
  position: sticky;
  z-index: 9000;
  top: 0;
  padding: 0;
  border: 0;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .08);
  backdrop-filter: blur(16px);
  transition: box-shadow .25s ease;
}

body.admin-bar .dm-site-header.dm-header {
  top: 32px;
}

.dm-site-header.is-compact {
  box-shadow: 0 12px 34px rgba(31, 21, 15, .11);
}

.dm-site-header__main {
  min-height: 80px;
  transition: min-height .25s var(--dm-ease);
}

.dm-site-header.is-compact .dm-site-header__main {
  min-height: 62px;
}

.dm-site-header .dm-header__inner {
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(320px, 1.5fr) minmax(220px, .72fr);
  min-height: inherit;
  align-items: center;
  gap: 32px;
}

.dm-site-header .dm-logo {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 12px;
}

.dm-site-header .dm-logo img {
  width: 106px;
  height: 40px;
  object-fit: contain;
  transition: width .25s var(--dm-ease), height .25s var(--dm-ease);
}

.dm-site-header.is-compact .dm-logo img {
  width: 86px;
  height: 32px;
}

.dm-site-header .dm-logo span {
  font-family: var(--dm-font-display);
  font-size: 26px;
  font-weight: 800;
  letter-spacing: .02em;
}

.dm-header__search--primary {
  min-width: 0;
}

.dm-header__search--primary .dm-product-search-form,
.dm-header__search--primary form {
  width: 100%;
}

.dm-header__search--primary .dm-product-search-shell,
.dm-header__search--primary .dm-search-form {
  min-height: 48px;
  border: 1px solid rgba(35, 29, 25, .18);
  border-radius: 999px;
  background: #faf8f5;
}

.dm-header__search--primary input[type="search"] {
  min-height: 46px;
  padding-inline: 22px 56px;
  border: 0;
  background: transparent;
  font-size: 15px;
}

/*
 * Critical header-search styles live with the header itself.
 * This prevents a partially cached legacy stylesheet from exposing raw SVGs.
 */
.dm-site-header .dm-header__search--primary {
  position: relative;
  width: 100%;
  overflow: visible;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__field {
  position: relative;
  display: flex !important;
  width: 100%;
  min-height: 48px;
  max-height: 48px;
  padding: 4px;
  border: 1px solid rgba(35, 29, 25, .18);
  border-radius: 14px;
  align-items: center;
  gap: 6px;
  background: #faf8f5;
  box-shadow: none;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__icon {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 15px;
  display: grid;
  width: 19px;
  height: 19px;
  margin: 0;
  padding: 0;
  place-items: center;
  color: #6f655f;
  pointer-events: none;
  transform: translateY(-50%);
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__icon svg,
.dm-site-header .dm-header__search--primary .dm-product-search-form__icon circle,
.dm-site-header .dm-header__search--primary .dm-product-search-form__icon path,
.dm-site-header .dm-header__search--primary .dm-product-search-form__submit svg,
.dm-site-header .dm-header__search--primary .dm-product-search-form__submit path,
.dm-site-header .dm-header__search--primary .dm-product-search-form__clear svg,
.dm-site-header .dm-header__search--primary .dm-product-search-form__clear path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__icon svg {
  display: block;
  width: 19px !important;
  height: 19px !important;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__input {
  display: block;
  width: auto !important;
  min-width: 0;
  min-height: 38px;
  max-height: 38px;
  margin: 0;
  padding: 0 8px 0 40px !important;
  border: 0 !important;
  border-radius: 10px;
  flex: 1 1 auto;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--dm-ink);
  font-size: 14px;
  line-height: 38px;
  outline: 0;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__clear {
  display: inline-grid;
  width: 34px;
  min-width: 34px;
  height: 34px;
  min-height: 34px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  place-items: center;
  background: transparent;
  color: #6f655f;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__clear[hidden] {
  display: none !important;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__clear svg {
  width: 16px !important;
  height: 16px !important;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__submit {
  display: inline-grid !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  margin: 0;
  padding: 0 !important;
  border: 0;
  border-radius: 10px;
  overflow: hidden;
  flex: 0 0 40px;
  place-items: center;
  background: var(--dm-ink) !important;
  color: #fff !important;
  line-height: 1;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__submit span {
  display: none !important;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__submit::before,
.dm-site-header .dm-header__search--primary .dm-product-search-form__submit::after {
  display: none !important;
  content: none !important;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__submit svg {
  display: block;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  flex: none;
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__popover {
  position: absolute;
  z-index: 9500;
  top: calc(100% + 10px);
  right: 0;
  left: 0;
  max-height: min(520px, 72vh);
  overflow: auto;
  border: 1px solid rgba(35, 29, 25, .12);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 58px rgba(35, 27, 21, .18);
}

.dm-site-header .dm-header__search--primary .dm-product-search-form__popover[hidden] {
  display: none !important;
}

.dm-site-header .dm-header__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.dm-site-header .dm-header__icon {
  display: inline-flex;
  min-width: 48px;
  min-height: 48px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: var(--dm-ink);
  font-size: 10px;
  font-weight: 700;
}

.dm-site-header .dm-header__icon:hover {
  background: var(--dm-cream);
}

.dm-site-header .dm-header__count {
  top: 3px;
  right: 4px;
}

.dm-menu-toggle,
.dm-mobile-search-trigger {
  display: none !important;
}

.dm-site-header__navigation {
  position: relative;
  border-top: 1px solid rgba(35, 29, 25, .08);
  background: #fff;
}

.dm-commerce-nav__list {
  display: flex;
  min-height: 46px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.5vw, 40px);
  list-style: none;
}

.dm-commerce-nav__item > a {
  position: relative;
  display: flex;
  min-height: 46px;
  align-items: center;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .025em;
}

.dm-commerce-nav__item > a::after {
  position: absolute;
  right: 50%;
  bottom: 0;
  left: 50%;
  height: 2px;
  background: var(--dm-gold);
  content: "";
  transition: left .2s ease, right .2s ease;
}

.dm-commerce-nav__item:hover > a::after,
.dm-commerce-nav__item.is-open > a::after {
  right: 0;
  left: 0;
}

.dm-mega-menu {
  position: absolute;
  z-index: 100;
  top: 100%;
  right: 0;
  left: 0;
  visibility: hidden;
  padding: 30px 0 34px;
  border-top: 1px solid var(--dm-line);
  background: #fff;
  box-shadow: 0 28px 60px rgba(29, 18, 11, .16);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}

.dm-commerce-nav__item.is-open .dm-mega-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.dm-mega-menu__grid {
  display: grid;
  grid-template-columns: .9fr 1.5fr .8fr;
  gap: 44px;
}

.dm-mega-menu__intro > span,
.dm-home-eyebrow {
  color: var(--dm-plum);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.dm-section--ink .dm-home-eyebrow,
.dm-home-campaign .dm-home-eyebrow,
.dm-home-contact .dm-home-eyebrow,
.dm-home-newsletter .dm-home-eyebrow,
.dm-experience-hero .dm-home-eyebrow {
  color: var(--dm-gold-soft);
}

.dm-mega-menu__intro h2 {
  margin: 8px 0 12px;
  font: 800 36px/1.05 var(--dm-font-display);
}

.dm-mega-menu__intro p {
  margin: 0 0 16px;
  color: #6e635d;
  font-size: 14px;
}

.dm-mega-menu__intro a,
.dm-text-link {
  font-weight: 800;
}

.dm-mega-menu__intro a span,
.dm-text-link {
  transition: transform .2s ease;
}

.dm-mega-menu__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 2px 28px;
}

.dm-mega-menu__links a {
  padding: 10px 0;
  border-bottom: 1px solid var(--dm-line);
  font-size: 14px;
  font-weight: 650;
}

.dm-mega-menu__links a:hover {
  color: #946e00;
}

.dm-mega-menu__visual {
  position: relative;
  display: flex;
  min-height: 178px;
  overflow: hidden;
  padding: 20px;
  border-radius: 18px;
  align-items: flex-end;
  background: var(--dm-warm-ink);
  color: #fff;
}

.dm-mega-menu__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--dm-focus-x, 50%) var(--dm-focus-y, 50%);
  opacity: .72;
  transition: transform .4s var(--dm-ease);
}

.dm-mega-menu__visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, .72));
  content: "";
}

.dm-mega-menu__visual strong,
.dm-mega-menu__visual > span {
  position: relative;
  z-index: 1;
}

.dm-mega-menu__visual:hover img {
  transform: scale(1.04);
}

.dm-trending {
  border-top: 1px solid rgba(35, 29, 25, .08);
  background: var(--dm-ivory);
  color: #6c5c52;
  font-size: 12px;
}

.dm-trending .dm-container {
  display: flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.dm-trending strong {
  color: var(--dm-ink);
}

.dm-mobile-panel,
.dm-mobile-panel-overlay {
  display: none;
}

.dm-checkout-header {
  border-bottom: 1px solid var(--dm-line);
  background: #fff;
}

.dm-checkout-header__inner {
  display: grid;
  min-height: 76px;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.dm-checkout-header__inner > a:last-child {
  justify-self: end;
  font-size: 14px;
  font-weight: 750;
}

.dm-checkout-header__trust {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 750;
}

.dm-checkout-header__trust svg {
  width: 20px;
  fill: #17844b;
}

.dm-checkout-footer {
  padding: 22px 0;
  border-top: 1px solid rgba(255, 255, 255, .1);
  background: var(--dm-plum-dark);
  color: rgba(255, 255, 255, .72);
}

.dm-checkout-footer__inner {
  display: flex;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 30px;
  font-size: 12px;
}

.dm-checkout-footer__inner p {
  margin: 0;
}

.dm-checkout-footer__inner a {
  color: rgba(255, 255, 255, .82);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woocommerce-checkout .anna {
  display: none !important;
}

/* Hero */
.dm-experience-hero {
  position: relative;
  min-height: clamp(560px, 65vw, 690px);
  overflow: hidden;
  background: var(--dm-plum-dark);
  color: #fff;
}

.dm-experience-hero__slides,
.dm-experience-hero__slide {
  position: absolute;
  inset: 0;
}

.dm-experience-hero__slide {
  visibility: hidden;
  opacity: 0;
  transform: scale(1.015);
  transition: opacity .65s ease, transform .9s var(--dm-ease), visibility .65s;
}

.dm-experience-hero__slide.is-active {
  visibility: visible;
  opacity: 1;
  transform: scale(1);
}

.dm-experience-hero__media,
.dm-experience-hero__media picture,
.dm-experience-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.dm-experience-hero__media img {
  object-fit: cover;
  object-position: var(--dm-focus-x, 50%) var(--dm-focus-y, 38%);
}

.dm-experience-hero__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(36, 33, 36, .9) 0%, rgba(81, 32, 56, .68) 38%, rgba(36, 33, 36, .08) 72%);
}

.dm-experience-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: clamp(560px, 65vw, 690px);
  max-width: none;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.dm-experience-hero__content > * {
  width: min(100%, 650px);
  max-width: 650px;
}

.dm-experience-hero__content h1,
.dm-experience-hero__content h2 {
  margin: 14px 0 22px;
  color: #fff;
  font: 800 clamp(52px, 6.4vw, 92px)/.94 var(--dm-font-display);
  letter-spacing: -.035em;
}

.dm-experience-hero__content > p:not(.dm-home-eyebrow) {
  max-width: 600px;
  margin: 0;
  color: rgba(255, 255, 255, .88);
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.65;
}

.dm-experience-hero__actions {
  display: flex;
  margin-top: 32px;
  flex-wrap: wrap;
  gap: 12px;
}

.dm-experience-hero__controls {
  position: absolute;
  z-index: 5;
  right: max(32px, calc((100vw - var(--dm-container-wide)) / 2));
  bottom: 28px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.dm-experience-hero__controls > button,
.dm-experience-hero__controls [role="tablist"] {
  display: flex;
  min-width: 40px;
  min-height: 40px;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .18);
  color: #fff;
  backdrop-filter: blur(8px);
}

.dm-experience-hero__controls [role="tablist"] {
  padding: 0 12px;
  gap: 7px;
}

.dm-experience-hero__controls [data-dm-hero-dot] {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .5);
}

.dm-experience-hero__controls [data-dm-hero-dot].is-active {
  width: 22px;
  border-radius: 10px;
  background: var(--dm-gold);
}

/* Trust */
.dm-home-assurance {
  border-bottom: 1px solid var(--dm-line);
  background: #fff;
}

.dm-home-assurance__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dm-home-assurance__grid > * {
  display: flex;
  min-height: 92px;
  padding: 18px 24px;
  align-items: center;
  gap: 14px;
  border-right: 1px solid var(--dm-line);
}

.dm-home-assurance__grid > *:last-child {
  border-right: 0;
}

.dm-home-assurance__grid > * > span {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 50%;
  place-items: center;
  background: var(--dm-cream);
}

.dm-home-assurance svg {
  width: 20px;
  fill: #8f6d0d;
}

.dm-home-assurance strong,
.dm-home-assurance small {
  display: block;
}

.dm-home-assurance strong {
  font-size: 14px;
}

.dm-home-assurance small {
  margin-top: 2px;
  color: #776c65;
  font-size: 12px;
  line-height: 1.35;
}

.dm-experience-heading {
  display: grid;
  margin-bottom: clamp(32px, 4vw, 54px);
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr);
  align-items: end;
  gap: 40px;
}

.dm-experience-heading h2 {
  max-width: 850px;
  margin: 10px 0 0;
  font: 800 clamp(38px, 5vw, 68px)/.98 var(--dm-font-display);
  letter-spacing: -.03em;
}

.dm-experience-heading > p {
  max-width: 520px;
  margin: 0;
  color: #71655e;
  font-size: 16px;
}

/* Universe cards */
.dm-universe-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.dm-universe-card {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  border-radius: var(--dm-radius-md);
  color: #fff;
  isolation: isolate;
}

.dm-universe-card picture,
.dm-universe-card img,
.dm-universe-card__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.dm-universe-card img {
  object-fit: cover;
  object-position: var(--dm-focus-x, 50%) var(--dm-focus-y, 50%);
  transition: transform .55s var(--dm-ease);
}

.dm-universe-card__shade {
  z-index: 1;
  background: linear-gradient(180deg, transparent 30%, rgba(17, 12, 9, .82));
}

.dm-universe-card > div {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 28px;
}

.dm-universe-card small {
  color: var(--dm-gold-soft);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.dm-universe-card h3 {
  margin: 8px 0 5px;
  font: 800 32px/1 var(--dm-font-display);
}

.dm-universe-card p {
  margin: 0 0 14px;
  color: rgba(255, 255, 255, .82);
  font-size: 14px;
}

.dm-universe-card strong {
  font-size: 13px;
}

.dm-universe-card:hover img {
  transform: scale(1.045);
}

.dm-universe-card:hover strong span {
  display: inline-block;
  transform: translateX(4px);
}

/* Brands and campaign */
.dm-home-brands__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.dm-home-brands__grid a {
  display: grid;
  min-height: 86px;
  padding: 16px;
  border: 1px solid var(--dm-line);
  border-radius: 14px;
  place-items: center;
  background: #fff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.dm-home-brands__grid a:hover {
  border-color: var(--dm-gold);
  box-shadow: 0 14px 30px rgba(35, 27, 21, .08);
  transform: translateY(-2px);
}

.dm-home-campaign {
  padding-top: 0;
}

.dm-home-campaign__card {
  position: relative;
  display: grid;
  min-height: 480px;
  overflow: hidden;
  padding: clamp(34px, 6vw, 78px);
  border-radius: var(--dm-radius-lg);
  align-items: center;
  color: #fff;
  isolation: isolate;
}

.dm-home-campaign__card picture,
.dm-home-campaign__card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.dm-home-campaign__card img {
  object-fit: cover;
  object-position: var(--dm-focus-x, 50%) var(--dm-focus-y, 50%);
}

.dm-home-campaign__card::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(90deg, rgba(18, 12, 9, .87), rgba(18, 12, 9, .16));
  content: "";
}

.dm-home-campaign__card > div {
  position: relative;
  z-index: 1;
  max-width: 620px;
}

.dm-home-campaign__card h2 {
  margin: 12px 0 18px;
  font: 800 clamp(40px, 5vw, 66px)/.98 var(--dm-font-display);
}

.dm-home-campaign__card p:not(.dm-home-eyebrow) {
  max-width: 540px;
  margin: 0 0 26px;
  color: rgba(255, 255, 255, .84);
}

/* Studio */
.dm-studio__grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  align-items: center;
  gap: clamp(40px, 7vw, 110px);
}

.dm-studio h2 {
  margin: 14px 0 22px;
  font: 800 clamp(42px, 5.4vw, 72px)/.98 var(--dm-font-display);
}

.dm-studio p:not(.dm-home-eyebrow) {
  max-width: 560px;
  margin-bottom: 28px;
  color: rgba(255, 255, 255, .72);
  font-size: 17px;
}

.dm-studio__visual {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  border-radius: var(--dm-radius-lg);
}

.dm-studio__visual picture,
.dm-studio__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.dm-studio__visual img {
  object-fit: cover;
  object-position: var(--dm-focus-x, 50%) var(--dm-focus-y, 50%);
}

.dm-studio__visual > div {
  position: absolute;
  z-index: 2;
  right: 24px;
  bottom: 24px;
  left: 24px;
  display: grid;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 16px;
  grid-template-columns: auto 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  background: rgba(20, 14, 11, .68);
  backdrop-filter: blur(12px);
}

.dm-studio__visual > div span {
  display: grid;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  place-items: center;
  background: var(--dm-gold);
  color: #17120e;
  font-size: 11px;
  font-weight: 850;
}

.dm-studio__visual > div strong {
  font-size: 12px;
}

.dm-ritual-dialog {
  width: min(760px, calc(100% - 28px));
  max-height: min(820px, calc(100vh - 40px));
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 24px;
  background: #fff;
  color: var(--dm-ink);
  box-shadow: 0 40px 100px rgba(0, 0, 0, .32);
}

.dm-ritual-dialog::backdrop {
  background: rgba(16, 12, 10, .7);
  backdrop-filter: blur(7px);
}

.dm-ritual-dialog form > header {
  display: flex;
  padding: 28px 32px 20px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.dm-ritual-dialog h2 {
  margin: 5px 0 0;
  font: 800 34px/1 var(--dm-font-display);
}

.dm-ritual-dialog [data-dm-ritual-close] {
  width: 42px;
  height: 42px;
  border: 1px solid var(--dm-line);
  border-radius: 50%;
  background: #fff;
  font-size: 25px;
}

.dm-ritual-dialog__progress {
  display: grid;
  padding: 0 32px;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}

.dm-ritual-dialog__progress span {
  height: 4px;
  border-radius: 4px;
  background: #e4ddd6;
}

.dm-ritual-dialog__progress span.is-active {
  background: var(--dm-gold);
}

.dm-ritual-dialog__steps {
  min-height: 340px;
  padding: 32px;
}

.dm-ritual-dialog fieldset {
  display: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.dm-ritual-dialog fieldset.is-active {
  display: block;
}

.dm-ritual-dialog fieldset.has-error legend::after {
  display: block;
  margin-top: 8px;
  color: #af201b;
  content: "Choisissez une réponse pour continuer.";
  font: 650 13px/1.4 Inter, sans-serif;
}

.dm-ritual-dialog legend {
  margin-bottom: 24px;
  font: 800 clamp(28px, 4vw, 42px)/1 var(--dm-font-display);
}

.dm-ritual-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.dm-ritual-choices input {
  position: absolute;
  opacity: 0;
}

.dm-ritual-choices span {
  display: grid;
  min-height: 72px;
  padding: 14px 18px;
  border: 1px solid var(--dm-line);
  border-radius: 14px;
  place-items: center;
  background: #fff;
  font-weight: 750;
  text-align: center;
  cursor: pointer;
}

.dm-ritual-choices input:checked + span {
  border-color: var(--dm-gold);
  box-shadow: inset 0 0 0 2px var(--dm-gold);
  background: #fff9e5;
}

.dm-ritual-choices input:focus-visible + span {
  outline: 3px solid #1576d2;
  outline-offset: 2px;
}

.dm-ritual-dialog [data-dm-ritual-result] h3 {
  margin: 10px 0 18px;
  font: 800 34px/1.05 var(--dm-font-display);
}

.dm-ritual-dialog [data-dm-ritual-result] ol {
  padding-left: 22px;
}

.dm-ritual-dialog [data-dm-ritual-result] li {
  margin: 8px 0;
}

.dm-ritual-dialog form > footer {
  display: flex;
  padding: 20px 32px 28px;
  border-top: 1px solid var(--dm-line);
  align-items: center;
  justify-content: space-between;
}

.dm-ritual-dialog [data-dm-ritual-back] {
  min-height: 44px;
  border: 0;
  background: transparent;
  font-weight: 750;
}

/* Editorial, why, story, newsletter */
.dm-editorial-stories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.dm-editorial-stories > a {
  overflow: hidden;
  border: 1px solid var(--dm-line);
  border-radius: var(--dm-radius-md);
  background: #fff;
}

.dm-editorial-stories picture {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.dm-editorial-stories img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--dm-focus-x, 50%) var(--dm-focus-y, 50%);
  transition: transform .45s var(--dm-ease);
}

.dm-editorial-stories > a:hover img {
  transform: scale(1.035);
}

.dm-editorial-stories > a > div {
  padding: 26px;
}

.dm-editorial-stories small {
  color: #9a7300;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .15em;
}

.dm-editorial-stories h3 {
  margin: 9px 0;
  font: 800 30px/1.05 var(--dm-font-display);
}

.dm-editorial-stories p {
  min-height: 50px;
  margin: 0 0 16px;
  color: #756a63;
  font-size: 14px;
}

.dm-editorial-stories strong {
  font-size: 13px;
}

.dm-why-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.dm-home-why {
  position: relative;
  isolation: isolate;
}

.dm-home-why::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url('../danimonie/decor/dm-pattern.svg') center / min(760px, 70vw) auto repeat;
  content: '';
  opacity: .045;
  pointer-events: none;
}

.dm-why-grid article {
  min-height: 260px;
  padding: 28px;
  border: 1px solid rgba(45, 34, 28, .09);
  border-radius: var(--dm-radius-md);
  background: #fff;
  transition: transform .25s var(--dm-ease), box-shadow .25s ease;
}

.dm-why-grid article:hover {
  box-shadow: 0 20px 44px rgba(35, 27, 21, .08);
  transform: translateY(-3px);
}

.dm-why-grid article > span {
  color: #a67b00;
  font-size: 12px;
  font-weight: 850;
}

.dm-why-grid h3 {
  margin: 54px 0 12px;
  font: 800 28px/1.05 var(--dm-font-display);
}

.dm-why-grid p {
  margin: 0;
  color: #756a63;
  font-size: 14px;
}

/* Homepage contact conversion block */
.dm-home-contact {
  padding-top: 0;
}

.dm-home-contact__card {
  position: relative;
  display: grid;
  min-height: 220px;
  padding: clamp(30px, 5vw, 58px);
  overflow: hidden;
  border: 1px solid rgba(217, 175, 54, .3);
  border-radius: var(--dm-radius-lg);
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(22px, 4vw, 52px);
  background:
    radial-gradient(circle at 90% 20%, rgba(198, 161, 91, .25), transparent 32%),
    linear-gradient(125deg, var(--dm-plum-dark) 0%, var(--dm-plum) 64%, #7c3b5a 100%);
  box-shadow: 0 26px 70px rgba(39, 25, 20, .16);
  color: #fff;
}

.dm-home-contact__card::after {
  position: absolute;
  right: -82px;
  bottom: -132px;
  width: 270px;
  height: 270px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 30px rgba(255, 255, 255, .025), 0 0 0 68px rgba(255, 255, 255, .018);
  content: '';
  pointer-events: none;
}

.dm-home-contact__icon {
  position: relative;
  z-index: 1;
  display: grid;
  width: 72px;
  height: 72px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  place-items: center;
  background: rgba(255, 255, 255, .08);
  color: var(--dm-gold);
  backdrop-filter: blur(8px);
}

.dm-home-contact__icon svg {
  width: 30px;
  height: 30px;
}

.dm-home-contact__content,
.dm-home-contact__actions {
  position: relative;
  z-index: 1;
}

.dm-home-contact__content h2 {
  margin: 8px 0 12px;
  font: 800 clamp(34px, 4vw, 54px)/1 var(--dm-font-display);
}

.dm-home-contact__content > p:last-child {
  max-width: 670px;
  margin: 0;
  color: rgba(255, 255, 255, .72);
}

.dm-home-contact__actions {
  display: flex;
  min-width: 224px;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  text-align: center;
}

.dm-home-contact__actions .dm-text-link {
  color: #fff;
}

.dm-home-contact__actions .dm-text-link:hover {
  color: var(--dm-gold);
}

.dm-home-story__grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  align-items: center;
  gap: clamp(42px, 7vw, 110px);
}

.dm-home-story__media {
  display: block;
  min-width: 0;
  aspect-ratio: 1.2;
  overflow: hidden;
  border-radius: var(--dm-radius-lg);
}

.dm-home-story__media > .dm-picture {
  width: 100%;
  height: 100%;
}

.dm-home-story__grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--dm-focus-x, 50%) var(--dm-focus-y, 50%);
}

.dm-home-story h2 {
  margin: 12px 0 20px;
  font: 800 clamp(42px, 5vw, 70px)/.98 var(--dm-font-display);
}

.dm-home-story p:not(.dm-home-eyebrow) {
  margin: 0 0 28px;
  color: var(--dm-gray);
  font-size: 17px;
}

.dm-home-story p.dm-home-story__equation {
  display: inline-flex;
  margin: 0 0 30px;
  padding: 10px 15px;
  border: 1px solid var(--dm-powder);
  border-radius: 999px;
  background: var(--dm-rose-light);
  color: var(--dm-plum);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .14em;
}

.dm-home-newsletter {
  padding-top: 0;
}

.dm-home-newsletter__inner {
  display: grid;
  min-height: 360px;
  padding: clamp(24px, 3vw, 42px);
  overflow: hidden;
  border-radius: var(--dm-radius-lg);
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1fr) minmax(300px, 1.15fr);
  align-items: center;
  gap: clamp(28px, 4vw, 60px);
  background: var(--dm-plum);
  color: #fff;
}

.dm-home-newsletter__media {
  min-width: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: calc(var(--dm-radius-lg) - 8px);
}

.dm-home-newsletter__media > .dm-picture,
.dm-home-newsletter__media img {
  width: 100%;
  height: 100%;
}

.dm-home-newsletter__media img {
  object-fit: cover;
  object-position: var(--dm-focus-x, 50%) var(--dm-focus-y, 50%);
}

.dm-home-newsletter__copy,
.dm-home-newsletter .dm-newsletter-form {
  min-width: 0;
}

.dm-home-newsletter h2 {
  margin: 10px 0 12px;
  font: 800 clamp(36px, 4vw, 54px)/1 var(--dm-font-display);
}

.dm-home-newsletter p:not(.dm-home-eyebrow) {
  margin: 0;
  color: rgba(255, 255, 255, .72);
}

.dm-newsletter-form__row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}

.dm-newsletter-form__row input {
  width: 100%;
  min-height: 52px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.dm-newsletter-form__row input::placeholder {
  color: rgba(255, 255, 255, .68);
}

.dm-newsletter-form__row button {
  min-height: 52px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: var(--dm-gold);
  color: var(--dm-anthracite);
  font-weight: 850;
}

.dm-newsletter-form__consent {
  display: flex;
  margin-top: 12px;
  align-items: flex-start;
  gap: 8px;
  color: rgba(255, 255, 255, .67);
  font-size: 11px;
  line-height: 1.45;
}

.dm-newsletter-form__unsubscribe {
  width: max-content;
  max-width: 100%;
  margin-top: 8px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 0.75rem;
  cursor: pointer;
}

.dm-newsletter-form__notice {
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 13px;
}

.dm-newsletter-form__notice.is-success { background: rgba(24, 145, 81, .2); }
.dm-newsletter-form__notice.is-error { background: rgba(196, 57, 43, .2); }

/* Footer */
.dm-footer--experience.dm-footer {
  padding: clamp(72px, 8vw, 110px) 0 24px;
  background: var(--dm-plum-dark);
  color: rgba(255, 255, 255, .77);
}

.dm-footer--experience .dm-footer__grid {
  display: grid;
  grid-template-columns: 1.3fr .75fr .8fr .85fr 1.2fr;
  gap: clamp(26px, 4vw, 58px);
}

.dm-footer--experience .dm-footer__grid h2 {
  margin: 0 0 22px;
  color: #fff;
  font: 750 14px/1.2 Inter, sans-serif;
}

.dm-footer--experience .dm-footer__grid ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.dm-footer--experience .dm-footer__grid li {
  margin: 10px 0;
}

.dm-footer--experience .dm-footer__grid a,
.dm-footer--experience .dm-footer__grid button {
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .7);
  font-size: 13px;
  text-align: left;
}

.dm-footer--experience .dm-footer__grid a:hover,
.dm-footer--experience .dm-footer__grid button:hover {
  color: var(--dm-gold-soft);
}

.dm-footer__brand .dm-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
}

.dm-footer__brand .dm-logo img {
  width: 90px;
  height: 36px;
  object-fit: contain;
}

.dm-footer__brand .dm-logo span {
  font: 800 24px/1 var(--dm-font-display);
}

.dm-footer__brand > p {
  max-width: 300px;
  margin: 24px 0;
  font-size: 13px;
}

.dm-footer__socials {
  display: flex;
  gap: 12px;
}

.dm-footer__newsletter > p {
  margin: -8px 0 18px;
  font-size: 13px;
}

.dm-footer__newsletter .dm-newsletter-form__row {
  grid-template-columns: 1fr;
}

.dm-footer__newsletter .dm-newsletter-form__row button {
  min-height: 44px;
}

.dm-footer__confidence {
  display: grid;
  margin-top: 56px;
  padding: 22px 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.dm-footer__confidence strong,
.dm-footer__confidence span,
.dm-footer__confidence a {
  display: block;
}

.dm-footer__confidence strong {
  margin-bottom: 4px;
  color: #fff;
  font-size: 12px;
}

.dm-footer__confidence span,
.dm-footer__confidence a {
  font-size: 12px;
}

.dm-footer--experience .dm-footer__payments {
  display: flex;
  padding: 18px 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  border: 0;
}

.dm-footer--experience .dm-footer__payments > span {
  margin-right: 8px;
  font-size: 11px;
}

.dm-footer--experience .dm-footer__payments strong {
  padding: 5px 9px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 5px;
  color: #fff;
  font-size: 10px;
}

.dm-footer--experience .dm-footer__bottom {
  display: flex;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  justify-content: space-between;
  gap: 20px;
  color: rgba(255, 255, 255, .52);
  font-size: 11px;
}

.dm-mobile-dock {
  display: none;
}

/* Resource pages */
.dm-resource-hero {
  padding: clamp(74px, 9vw, 130px) 0 clamp(56px, 7vw, 92px);
  background: var(--dm-ivory);
  text-align: center;
}

.dm-resource-hero .dm-container {
  max-width: 980px;
}

.dm-resource-hero h1 {
  margin: 12px auto 20px;
  font: 800 clamp(48px, 7vw, 84px)/.96 var(--dm-font-display);
  letter-spacing: -.035em;
}

.dm-resource-hero p:not(.dm-home-eyebrow) {
  max-width: 700px;
  margin: 0 auto;
  color: #6f635d;
  font-size: 18px;
}

.dm-resource-search {
  display: block;
  max-width: 680px;
  margin: 34px auto 0;
}

.dm-resource-search input {
  width: 100%;
  min-height: 58px;
  padding: 0 24px;
  border: 1px solid var(--dm-line);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(38, 28, 20, .08);
}

.dm-resource-body {
  padding-block: clamp(60px, 7vw, 100px);
}

.dm-faq-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  align-items: start;
  gap: 54px;
}

.dm-faq-categories {
  position: sticky;
  top: 170px;
  display: grid;
  gap: 6px;
}

.dm-faq-categories button {
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #5f554f;
  font-weight: 700;
  text-align: left;
}

.dm-faq-categories button.is-active {
  border-color: var(--dm-line);
  background: var(--dm-ivory);
  color: var(--dm-ink);
}

.dm-faq-list details {
  border-bottom: 1px solid var(--dm-line);
}

.dm-faq-list summary {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
  font-size: 17px;
  font-weight: 750;
  list-style: none;
}

.dm-faq-list summary::-webkit-details-marker { display: none; }
.dm-faq-list summary span { font-size: 24px; transition: transform .2s ease; }
.dm-faq-list details[open] summary span { transform: rotate(45deg); }

.dm-faq-list details > p {
  max-width: 760px;
  margin: -5px 0 26px;
  color: #6e635d;
}

.dm-resource-callout {
  display: flex;
  margin-top: 70px;
  padding: 34px;
  border-radius: var(--dm-radius-md);
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background: var(--dm-warm-ink);
  color: #fff;
}

.dm-resource-callout h2 {
  margin: 7px 0;
  font: 800 34px/1 var(--dm-font-display);
}

.dm-brand-alphabet {
  display: flex;
  margin-bottom: 48px;
  flex-wrap: wrap;
  gap: 6px;
}

.dm-brand-alphabet a {
  display: grid;
  width: 36px;
  height: 36px;
  border: 1px solid var(--dm-line);
  border-radius: 50%;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
}

.dm-brand-group {
  display: grid;
  padding: 30px 0;
  border-top: 1px solid var(--dm-line);
  grid-template-columns: 80px 1fr;
  gap: 28px;
}

.dm-brand-group h2 {
  margin: 0;
  font: 800 42px/1 var(--dm-font-display);
}

.dm-brand-group__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 28px;
}

.dm-brand-group__grid a {
  display: flex;
  padding: 10px 0;
  border-bottom: 1px solid rgba(45, 34, 28, .08);
  justify-content: space-between;
  gap: 12px;
  font-weight: 650;
}

.dm-advice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.dm-advice-grid article {
  overflow: hidden;
  border: 1px solid var(--dm-line);
  border-radius: var(--dm-radius-md);
}

.dm-advice-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: var(--dm-focus-x, 50%) var(--dm-focus-y, 50%);
}

.dm-advice-grid article div {
  padding: 26px;
}

.dm-advice-grid h2 {
  margin: 0 0 12px;
  font: 800 30px/1.05 var(--dm-font-display);
}

.dm-advice-grid p { color: #6f635d; }

.dm-guide-section {
  margin-top: 90px;
  padding-top: 70px;
  border-top: 1px solid var(--dm-line);
}

.dm-guide-section > h2 {
  margin: 10px 0 34px;
  font: 800 clamp(40px, 5vw, 62px)/1 var(--dm-font-display);
}

.dm-routine-stepper {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
}

.dm-routine-stepper li {
  min-height: 220px;
  padding: 24px;
  border-radius: 16px;
  background: var(--dm-ivory);
}

.dm-routine-stepper li > span {
  display: grid;
  width: 34px;
  height: 34px;
  margin-bottom: 50px;
  border-radius: 50%;
  place-items: center;
  background: var(--dm-gold);
  font-weight: 850;
}

.dm-routine-stepper strong { display: block; font: 800 25px/1 var(--dm-font-display); }
.dm-routine-stepper p { color: #6f635d; font-size: 14px; }

.dm-guide-section--contrast {
  display: grid;
  padding: 48px;
  border: 0;
  border-radius: var(--dm-radius-lg);
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  background: var(--dm-warm-ink);
  color: #fff;
}

.dm-guide-section--contrast h2 {
  margin: 8px 0;
  font: 800 42px/1 var(--dm-font-display);
}

.dm-guide-section--contrast li { margin: 10px 0; color: rgba(255, 255, 255, .78); }

.dm-seven-day-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.dm-seven-day-grid article {
  min-height: 230px;
  padding: 28px;
  border: 1px solid var(--dm-line);
  border-radius: 16px;
}

.dm-seven-day-grid article:first-child { grid-column: span 2; background: var(--dm-ivory); }
.dm-seven-day-grid span { color: #987100; font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.dm-seven-day-grid h2 { margin: 34px 0 12px; font: 800 27px/1 var(--dm-font-display); }
.dm-seven-day-grid p { color: #6f635d; font-size: 14px; }

/* Internal navigation and states */
.dm-breadcrumbs {
  border-bottom: 1px solid var(--dm-line);
  background: #fff;
}

.dm-breadcrumbs .dm-container {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 9px;
  color: #7d7068;
  font-size: 12px;
}

.dm-breadcrumbs a { color: var(--dm-ink); font-weight: 700; }

.dm-commerce-page-hero {
  padding: 76px 0 58px;
  background: var(--dm-ivory);
}

.dm-commerce-page-hero h1 {
  margin: 8px 0 10px;
  font: 800 clamp(46px, 6vw, 72px)/1 var(--dm-font-display);
}

.dm-commerce-page-hero p:last-child { max-width: 680px; color: #6f635d; }

.dm-commerce-page .dm-page-panel { border-radius: var(--dm-radius-md); }

.dm-account-hub {
  margin-top: 42px;
  padding-top: 36px;
  border-top: 1px solid var(--dm-line);
}

.dm-account-hub h2 { margin: 8px 0 24px; font: 800 38px/1 var(--dm-font-display); }
.dm-account-hub__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dm-account-hub__grid a { position: relative; display: flex; min-height: 126px; padding: 24px; border: 1px solid var(--dm-line); border-radius: 14px; flex-direction: column; justify-content: center; }
.dm-account-hub__grid strong { font-size: 17px; }
.dm-account-hub__grid span { margin-top: 5px; color: #70645d; font-size: 13px; }
.dm-account-hub__grid i { position: absolute; right: 20px; top: 20px; font-style: normal; }

.dm-checkout-progress { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(3, auto); gap: 26px; list-style: none; font-size: 12px; font-weight: 750; }
.dm-checkout-progress li { position: relative; color: #83766f; }
.dm-checkout-progress li::before { display: inline-grid; width: 24px; height: 24px; margin-right: 7px; border: 1px solid currentColor; border-radius: 50%; place-items: center; content: ""; vertical-align: middle; }
.dm-checkout-progress li.is-complete { color: #17844b; }
.dm-checkout-progress li.is-complete::before { content: "✓"; }

.dm-404__hero {
  position: relative;
  overflow: hidden;
  padding: clamp(90px, 11vw, 160px) 0;
  background: var(--dm-ivory);
  text-align: center;
}

.dm-404__hero .dm-container { position: relative; max-width: 900px; }
.dm-404__hero .dm-container > span { position: absolute; z-index: 0; top: 50%; left: 50%; color: rgba(217, 175, 54, .1); font: 900 clamp(180px, 30vw, 420px)/1 var(--dm-font-display); transform: translate(-50%, -50%); }
.dm-404__hero .dm-container > *:not(span) { position: relative; z-index: 1; }
.dm-404__hero h1 { margin: 10px 0 18px; font: 800 clamp(48px, 7vw, 82px)/.98 var(--dm-font-display); }
.dm-404__hero p:not(.dm-home-eyebrow) { max-width: 620px; margin: 0 auto 28px; color: #6f635d; }
.dm-404__search { max-width: 660px; margin: 0 auto 22px; }
.dm-404__actions { display: flex; justify-content: center; gap: 10px; }
.dm-404__links .dm-container { display: grid; padding-block: 34px; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.dm-404__links a { padding: 17px; border: 1px solid var(--dm-line); border-radius: 12px; font-weight: 750; }

.dm-empty-state { padding: 72px 24px; border: 1px solid var(--dm-line); border-radius: 20px; background: var(--dm-ivory); text-align: center; }
.dm-empty-state > span { display: inline-grid; width: 58px; height: 58px; border-radius: 50%; place-items: center; background: #fff; }
.dm-empty-state svg { width: 28px; fill: #977000; }
.dm-empty-state h2 { margin: 18px 0 8px; font: 800 36px/1 var(--dm-font-display); }
.dm-empty-state p { color: #6f635d; }

/* Consent */
.dm-consent {
  position: fixed;
  z-index: 100000;
  right: 20px;
  bottom: 20px;
  width: min(620px, calc(100% - 40px));
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 20px;
  background: rgba(28, 21, 17, .98);
  color: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .3);
}

.dm-consent__main { display: grid; grid-template-columns: 1fr auto; gap: 28px; }
.dm-consent h2 { margin: 6px 0 8px; font: 800 28px/1 var(--dm-font-display); }
.dm-consent p:not(.dm-home-eyebrow) { margin: 0; color: rgba(255, 255, 255, .7); font-size: 12px; }
.dm-consent__actions { display: grid; min-width: 164px; gap: 7px; }
.dm-consent__actions .dm-btn { min-height: 42px; padding: 9px 14px; font-size: 12px; }
.dm-consent__customize { min-height: 36px; border: 0; background: transparent; color: #fff; font-size: 12px; text-decoration: underline; }
.dm-consent__preferences { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .16); }
.dm-consent__preferences > label { display: flex; padding: 10px 0; align-items: center; justify-content: space-between; gap: 20px; }
.dm-consent__preferences strong, .dm-consent__preferences small { display: block; }
.dm-consent__preferences small { color: rgba(255, 255, 255, .62); }
.dm-consent__preferences > div { display: flex; margin-top: 12px; align-items: center; gap: 18px; }
.dm-consent__preferences a { font-size: 12px; text-decoration: underline; }

@media (max-width: 1180px) {
  .dm-container { width: min(100% - 44px, var(--dm-container-wide)); }
  .dm-site-header .dm-header__inner { grid-template-columns: 220px 1fr 190px; gap: 20px; }
  .dm-commerce-nav__list { gap: 20px; }
  .dm-commerce-nav__item > a { font-size: 12px; }
  .dm-footer--experience .dm-footer__grid { grid-template-columns: 1.3fr repeat(3, .8fr); }
  .dm-footer__newsletter { grid-column: 1 / -1; }
  .dm-footer__newsletter .dm-newsletter-form__row { grid-template-columns: 1fr auto; }
  .dm-why-grid { grid-template-columns: repeat(2, 1fr); }
  .dm-home-newsletter__inner { grid-template-columns: minmax(230px, .75fr) minmax(0, 1.25fr); }
  .dm-home-newsletter .dm-newsletter-form { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  body.admin-bar .dm-site-header.dm-header { top: 46px; }
  .dm-container { width: min(100% - 32px, var(--dm-container-wide)); }
  .dm-section { padding-block: 64px; }
  .dm-announcement__track { position: relative; min-height: 34px; }
  .dm-announcement__track span { position: absolute; visibility: hidden; width: 100%; opacity: 0; text-align: center; transition: opacity .3s ease; }
  .dm-announcement__track span.is-active { visibility: visible; opacity: 1; }
  .dm-site-header__main { min-height: 62px; }
  .dm-site-header .dm-header__inner { display: grid; grid-template-columns: 44px 1fr auto; gap: 9px; }
  .dm-menu-toggle { display: inline-grid !important; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px; place-items: center; background: transparent; color: var(--dm-ink); }
  .dm-site-header .dm-logo { justify-self: center; }
  .dm-site-header .dm-logo img { width: 76px; height: 31px; }
  .dm-site-header .dm-logo span { font-size: 20px; }
  .dm-header__search--primary, .dm-site-header__navigation, .dm-trending, .dm-account-link, .dm-site-header .dm-header__icon > span:last-child { display: none !important; }
  .dm-site-header .dm-header__actions { gap: 0; }
  .dm-mobile-search-trigger { display: inline-grid !important; }
  .dm-site-header .dm-header__icon { min-width: 42px; min-height: 42px; }
  .dm-mobile-panel { position: fixed; z-index: 9200; top: 0; bottom: 0; left: 0; display: block !important; visibility: hidden; width: min(430px, 92vw); max-height: none; overflow: auto; padding: 0 20px 40px; background: #fff; box-shadow: 20px 0 70px rgba(0, 0, 0, .22); opacity: 0; transform: translateX(-103%); transition: transform .28s var(--dm-ease), opacity .2s ease, visibility .28s; }
  .dm-mobile-panel.is-open { visibility: visible; opacity: 1; transform: translateX(0); }
  .dm-mobile-panel-overlay { position: fixed; z-index: 9100; inset: 0; display: block; background: rgba(18, 13, 10, .55); }
  .dm-mobile-panel__head { display: flex; min-height: 72px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--dm-line); font: 800 22px/1 var(--dm-font-display); }
  .dm-mobile-panel__head button { display: grid; width: 42px; height: 42px; padding: 0; border: 1px solid var(--dm-line); border-radius: 50%; place-items: center; background: #fff; }
  .dm-mobile-panel__search { margin: 20px 0; }
  .dm-mobile-navigation > ul { margin: 0; padding: 0; list-style: none; }
  .dm-mobile-navigation > ul > li { border-bottom: 1px solid var(--dm-line); }
  .dm-mobile-navigation__row { display: flex; min-height: 58px; align-items: center; justify-content: space-between; }
  .dm-mobile-navigation__row > a { flex: 1; font-size: 16px; font-weight: 750; }
  .dm-mobile-navigation__row button { display: grid; width: 42px; height: 42px; padding: 0; border: 0; place-items: center; background: transparent; font-size: 24px; }
  .dm-mobile-navigation li > ul { margin: 0 0 14px; padding: 0 0 0 16px; list-style: none; }
  .dm-mobile-navigation li > ul a { display: block; padding: 8px 0; color: #6c6059; font-size: 14px; }
  .dm-mobile-navigation__utility { display: grid; margin-top: 24px; padding: 18px; border-radius: 14px; gap: 10px; background: var(--dm-ivory); font-size: 14px; font-weight: 700; }
  body.dm-mobile-menu-open { overflow: hidden; }
  .dm-experience-hero, .dm-experience-hero__content { min-height: 580px; }
  .dm-experience-hero__content h1, .dm-experience-hero__content h2 { max-width: 620px; font-size: clamp(48px, 9vw, 72px); }
  .dm-home-assurance__grid { grid-template-columns: repeat(2, 1fr); }
  .dm-home-assurance__grid > *:nth-child(2) { border-right: 0; }
  .dm-home-assurance__grid > *:nth-child(-n+2) { border-bottom: 1px solid var(--dm-line); }
  .dm-experience-heading { grid-template-columns: 1fr; gap: 16px; }
  .dm-universe-grid { display: flex; margin-inline: -16px; padding: 0 16px 8px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .dm-universe-card { min-width: min(72vw, 390px); min-height: 430px; scroll-snap-align: start; }
  .dm-home-brands__grid { grid-template-columns: repeat(2, 1fr); }
  .dm-home-contact__card { grid-template-columns: auto minmax(0, 1fr); }
  .dm-home-contact__actions { grid-column: 1 / -1; min-width: 0; flex-direction: row; align-items: center; justify-content: flex-start; text-align: left; }
  .dm-studio__grid, .dm-home-story__grid, .dm-home-newsletter__inner { grid-template-columns: 1fr; }
  .dm-home-newsletter .dm-newsletter-form { grid-column: auto; }
  .dm-studio__visual { min-height: 430px; }
  .dm-editorial-stories { display: flex; margin-inline: -16px; padding: 0 16px 8px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .dm-editorial-stories > a { min-width: min(78vw, 390px); scroll-snap-align: start; }
  .dm-footer--experience .dm-footer__grid { grid-template-columns: repeat(2, 1fr); }
  .dm-footer__brand, .dm-footer__newsletter { grid-column: 1 / -1; }
  .dm-footer__confidence { grid-template-columns: 1fr; }
  .dm-faq-layout { grid-template-columns: 1fr; gap: 26px; }
  .dm-faq-categories { position: static; display: flex; margin-inline: -16px; padding: 0 16px 6px; overflow-x: auto; }
  .dm-faq-categories button { flex: 0 0 auto; }
  .dm-brand-group__grid { grid-template-columns: repeat(2, 1fr); }
  .dm-advice-grid, .dm-seven-day-grid { grid-template-columns: 1fr; }
  .dm-seven-day-grid article:first-child { grid-column: auto; }
  .dm-routine-stepper { grid-template-columns: repeat(2, 1fr); }
  .dm-guide-section--contrast { grid-template-columns: 1fr; }
  .dm-mobile-dock { position: fixed; z-index: 8000; right: 0; bottom: 0; left: 0; display: grid; min-height: 64px; padding: 6px 12px max(6px, env(safe-area-inset-bottom)); border-top: 1px solid var(--dm-line); grid-template-columns: repeat(4, 1fr); background: rgba(255, 255, 255, .97); box-shadow: 0 -10px 30px rgba(30, 21, 15, .08); backdrop-filter: blur(14px); }
  .dm-mobile-dock > * { display: flex; min-width: 0; min-height: 48px; padding: 0; border: 0; flex-direction: column; align-items: center; justify-content: center; gap: 2px; background: transparent; color: var(--dm-ink); }
  .dm-mobile-dock svg { width: 19px; height: 19px; }
  .dm-mobile-dock small { font-size: 10px; font-weight: 700; }
  body { padding-bottom: 64px; }
  .dm-consent { bottom: 80px; }
}

@media (max-width: 640px) {
  .dm-container { width: min(100% - 24px, var(--dm-container-wide)); }
  .dm-section { padding-block: 54px; }
  .dm-site-header .dm-logo span { display: none; }
  .dm-experience-hero, .dm-experience-hero__content { min-height: 560px; }
  .dm-picture img,
  .dm-experience-hero__media img {
    object-position: var(--dm-focus-x-mobile, var(--dm-focus-x, 50%)) var(--dm-focus-y-mobile, var(--dm-focus-y, 50%));
  }
  .dm-experience-hero__veil { background: linear-gradient(0deg, rgba(36, 33, 36, .92), rgba(81, 32, 56, .1) 75%); }
  .dm-experience-hero__content { justify-content: flex-end; padding-bottom: 94px; }
  .dm-experience-hero__content h1, .dm-experience-hero__content h2 { margin: 10px 0 16px; font-size: clamp(40px, 12vw, 52px); overflow-wrap: anywhere; }
  .dm-experience-hero__content > p:not(.dm-home-eyebrow) { font-size: 15px; line-height: 1.5; }
  .dm-experience-hero__actions { margin-top: 22px; }
  .dm-experience-hero__actions .dm-btn { width: 100%; }
  .dm-experience-hero__controls { right: 12px; bottom: 18px; }
  .dm-experience-hero__controls > button:first-child, .dm-experience-hero__controls > button:nth-last-child(2) { display: none; }
  .dm-home-assurance__grid > * { min-height: 82px; padding: 14px 10px; gap: 9px; }
  .dm-home-assurance__grid > * > span { width: 32px; height: 32px; }
  .dm-home-assurance small { font-size: 10px; }
  .dm-experience-heading h2 { font-size: clamp(36px, 12vw, 50px); }
  .dm-universe-card { min-width: 82vw; min-height: 390px; }
  .dm-home-campaign__card { min-height: 520px; padding: 28px 22px; align-items: flex-end; }
  .dm-home-campaign__card::after { background: linear-gradient(0deg, rgba(18, 12, 9, .9), rgba(18, 12, 9, .12)); }
  .dm-home-campaign__card h2 { font-size: 40px; }
  .dm-home-contact__card { padding: 30px 22px; grid-template-columns: 1fr; gap: 18px; }
  .dm-home-contact__icon { width: 58px; height: 58px; }
  .dm-home-contact__content h2 { font-size: 38px; }
  .dm-home-contact__actions { display: grid; grid-column: auto; width: 100%; text-align: center; }
  .dm-home-contact__actions .dm-btn { width: 100%; }
  .dm-studio h2, .dm-home-story h2 { font-size: 42px; }
  .dm-home-story__media { aspect-ratio: 4 / 3; }
  .dm-studio__visual { min-height: 370px; }
  .dm-studio__visual > div { grid-template-columns: auto 1fr; }
  .dm-ritual-dialog form > header, .dm-ritual-dialog__steps, .dm-ritual-dialog form > footer { padding-right: 20px; padding-left: 20px; }
  .dm-ritual-dialog__progress { padding: 0 20px; }
  .dm-ritual-choices { grid-template-columns: 1fr; }
  .dm-why-grid { grid-template-columns: 1fr; }
  .dm-why-grid article { min-height: 210px; }
  .dm-why-grid h3 { margin-top: 36px; }
  .dm-home-newsletter__inner { padding: 30px 20px; gap: 28px; }
  .dm-home-newsletter__media { aspect-ratio: 16 / 10; }
  .dm-newsletter-form__row, .dm-footer__newsletter .dm-newsletter-form__row { grid-template-columns: 1fr; }
  .dm-footer--experience .dm-footer__grid { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
  .dm-footer__brand, .dm-footer__newsletter { grid-column: 1 / -1; }
  .dm-footer--experience .dm-footer__bottom { flex-direction: column; gap: 0; }
  .dm-resource-hero { padding: 72px 0 58px; }
  .dm-resource-hero h1 { font-size: 48px; }
  .dm-brand-group { grid-template-columns: 1fr; gap: 16px; }
  .dm-brand-group__grid { grid-template-columns: 1fr; }
  .dm-routine-stepper { grid-template-columns: 1fr; }
  .dm-guide-section--contrast { padding: 30px 22px; }
  .dm-resource-callout { align-items: flex-start; flex-direction: column; }
  .dm-account-hub__grid { grid-template-columns: 1fr; }
  .dm-checkout-header__inner { grid-template-columns: 1fr auto; }
  .dm-checkout-header__trust { display: none; }
  .dm-checkout-progress { display: none; }
  .dm-404__actions { flex-direction: column; }
  .dm-404__links .dm-container { grid-template-columns: repeat(2, 1fr); }
  .dm-consent { right: 10px; width: calc(100% - 20px); padding: 18px; }
  .dm-consent__main { grid-template-columns: 1fr; gap: 18px; }
  .dm-consent__actions { grid-template-columns: 1fr 1fr; }
  .dm-consent__customize { grid-column: 1 / -1; }
}

@media (max-width: 782px) {
  body.admin-bar .dm-mobile-panel { top: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .dm-experience-hero__slide,
  .dm-picture img,
  .dm-universe-card img,
  .dm-editorial-stories img,
  .dm-mega-menu,
  .dm-mobile-panel,
  [data-dm-reveal] {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transform: none !important;
  }
}
