/* Content-driven layouts and compact controls across theme and commerce pages. */
.dmi-v4-site { --dm-gutter: clamp(16px, 4vw, 48px); }
.dmi-v4-site .dm-header .dm-brand__mark { object-fit: contain; mix-blend-mode: normal; opacity: 1; }
.dmi-v4-site img[src$="/e0080.svg"] { object-fit: contain; mix-blend-mode: normal; }
.dmi-v4-site :is(main, section, article, .dm-copy, .entry-content, .summary) { min-width: 0; }
.dmi-v4-site :is(h1, h2, h3, p, li, small) { overflow-wrap: anywhere; }
.dmi-v4-site .dm-page :is(.dm-split, .dm-copy, .dm-center-note, .dm-about-why, .dm-faq-hero, .dm-process, .dm-arrivals, .dm-themes, .dm-plans) { height: auto; }
.dmi-v4-site .dm-page :is(.dm-process__grid, .dm-process__step, .dm-themes__grid, .dm-themes article, .dm-arrival-card, .dm-plans__grid, .dm-plan) { height: auto; }
.dmi-v4-site .dm-page :is(h1, h2, h3, p, .dm-eyebrow) { max-width: 100%; }
.dmi-v4-site .dm-page :is(.dm-process > h2, .dm-themes__note) { white-space: normal; }
.dmi-v4-site .dm-faq-library { min-height: 0; }
.dmi-v4-site .dm-home-page .dm-arrivals__grid { align-items: start; }
.dmi-v4-site .dm-page .dm-process__grid { align-items: start; }

/* Full text reserves the heading's space while a decorative layer types over it. */
.dmi-v4-site .dm-home-hero__copy [data-typewriter-line] { position: relative; }
.dmi-v4-site .dm-home-hero__copy .dm-typewriter__full { visibility: hidden; user-select: none; }
.dmi-v4-site .dm-home-hero__copy .dm-typewriter__text { position: absolute; inset: 0; pointer-events: none; }
.dmi-v4-site .dm-home-hero__copy .is-typing > .dm-typewriter__text::after { content: ""; display: inline-block; height: .8em; border-left: 1.5px solid currentColor; transform: translateX(3px); animation: dm-typewriter-caret .8s step-end infinite; }
@keyframes dm-typewriter-caret { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .dmi-v4-site .dm-home-hero__copy .dm-typewriter__full { visibility: visible; }
  .dmi-v4-site .dm-home-hero__copy .dm-typewriter__text { display: none; }
}

/* Reader quotes share one stable-height viewport, with no animation work offscreen. */
.dmi-v4-site .dm-home-page .dm-testimonials { height: auto; min-height: 240px; padding: clamp(32px, 5vw, 52px) var(--dm-gutter); gap: 16px; }
.dmi-v4-site .dm-testimonials__viewport { width: min(760px, 100%); overflow: hidden; touch-action: pan-y pinch-zoom; }
.dmi-v4-site .dm-testimonials__track { display: flex; align-items: stretch; transition: transform .45s var(--dm-ease); }
.dmi-v4-site .dm-testimonials__slide { flex: 0 0 100%; min-width: 0; margin: 0; padding: 0 8px; display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.dmi-v4-site .dm-testimonials__slide blockquote { margin: 0; padding: 0; border: 0; }
.dmi-v4-site .dm-testimonials__slide blockquote p { margin: 0; color: var(--dm-blue-dark); font: italic 700 clamp(22px, 2.8vw, 34px)/1.3 var(--dm-display); text-wrap: balance; }
.dmi-v4-site .dm-testimonials__slide figcaption { color: var(--dm-muted); font: 400 16px/1.5 var(--dm-body); }
.dmi-v4-site .dm-testimonials__slide blockquote p { font-size: clamp(20px, 2.3vw, 28px); line-height: 1.45; }
.dmi-v4-site .dm-testimonials__controls { display: flex; justify-content: center; align-items: center; gap: 2px; }
.dmi-v4-site .dm-testimonials__controls[hidden] { display: none; }
.dmi-v4-site .dm-testimonials__controls button { display: grid; place-items: center; width: 44px; height: 44px; min-width: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--dm-blue-dark); cursor: pointer; }
.dmi-v4-site .dm-testimonials__dot span { width: 7px; height: 7px; border: 1px solid var(--dm-blue-dark); border-radius: 50%; }
.dmi-v4-site .dm-testimonials__dot[aria-current="true"] span { background: var(--dm-blue-dark); }
.dmi-v4-site .dm-testimonials__controls button:hover { background: var(--dm-warm); }
@media (prefers-reduced-motion: reduce) { .dmi-v4-site .dm-testimonials__track { transition: none; } }

/* Labels wrap when needed; icon controls and accordion rows keep their own sizing. */
.dmi-v4-site :is(.dm-button, .dm-plan__button, .button, .wp-element-button, .wp-block-button__link, .wc-block-components-button, input[type="submit"], .submit) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  height: auto;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--dm-blue);
  color: var(--dm-white) !important;
  font: 600 15px/1.35 var(--dm-ui) !important;
  letter-spacing: .01em;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.dmi-v4-site :is(.dm-copy .dm-button, .dm-plan__button) { flex-shrink: 0; }
.dmi-v4-site .dm-plan .dm-plan__button { width: 100%; padding: 10px 16px; background: var(--dm-line); color: var(--dm-ink) !important; }
.dmi-v4-site .dm-plan .dm-plan__button.is-featured { background: var(--dm-blue-dark); color: var(--dm-white) !important; }
.dmi-v4-site .dm-plan { position: relative; border: 1px solid var(--dm-line); border-radius: 16px; background: var(--dm-warm); }
.dmi-v4-site .dm-plan--featured { padding-top: 64px; border: 2px solid var(--dm-blue-dark); box-shadow: 0 8px 24px rgba(45, 41, 38, .08); }
.dmi-v4-site .dm-plan__ribbon.dm-mobile-only { position: absolute; display: flex !important; align-items: center; justify-content: center; top: 12px; left: 50%; right: auto; transform: translateX(-50%); width: max-content; max-width: calc(100% - 32px); height: auto; padding: 6px 12px; border-radius: 999px; background: var(--dm-blue-dark); color: var(--dm-white); font: 700 11px/1.3 var(--dm-ui); letter-spacing: .08em; }
.dmi-v4-site .dm-home-page .dm-home-subscription .dm-home-subscription__button { max-width: 360px; min-height: 44px; padding: 10px 16px; line-height: 1.35 !important; }
.dmi-v4-site :is(.dm-button, .dm-plan__button, .button, .wp-element-button, .wp-block-button__link, .wc-block-components-button, input[type="submit"], .submit):is(:disabled, [aria-disabled="true"], .disabled) { cursor: not-allowed; transform: none; box-shadow: none; }
.dmi-v4-site :is(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid var(--dm-blue-dark); outline-offset: 3px; }
html[data-theme="dark"] .dmi-v4-site :is(.dm-button, .button, .wp-element-button, .wp-block-button__link, .wc-block-components-button, input[type="submit"], .submit) { background: var(--dm-blue-dark) !important; color: #172c39 !important; }
html[data-theme="dark"] .dmi-v4-site :is(.dm-plan__button.is-featured, .dm-plan__ribbon.dm-mobile-only) { background: var(--dm-blue-dark) !important; color: #172c39 !important; }

/* Keep the header usable before the desktop navigation has room. */
.dmi-v4-site .dm-header__inner { min-width: 0; gap: 12px; }
.dmi-v4-site .dm-header__left { min-width: 0; }
.dmi-v4-site :is(.dm-menu-toggle, .dm-header__theme, .dm-header__bag) { width: 44px; height: 44px; min-width: 44px; flex: 0 0 44px; padding: 0; }
.dmi-v4-site .dm-menu-toggle { justify-content: center; }
.dmi-v4-site .dm-header__theme { position: relative; background: transparent; border: 0; }
.dmi-v4-site .dm-header__theme::before { content: ""; position: absolute; inset: 6px; border: 1px solid var(--dm-line); border-radius: 50%; background: var(--dm-paper); z-index: -1; }
.dmi-v4-site .dm-header__bag :is(svg, img) { width: 22px; height: 24px; }
.dmi-v4-site .dm-header:focus-within { transform: none; }
.dmi-v4-site .dm-drawer { max-height: calc(100dvh - 128px); overscroll-behavior: contain; }
body.admin-bar .dmi-v4-site .dm-drawer { top: 136px; max-height: calc(100dvh - 160px); }
.dmi-v4-site .dm-drawer a { display: flex; align-items: center; min-height: 44px; font-size: 13px; }
.dmi-v4-site .dm-drawer__mode { gap: 12px; font-size: 11px; }
.dmi-v4-site .dm-theme-toggle { min-height: 44px; padding: 10px 14px; font-size: 12px; }
.dmi-v4-site .dm-footer__navigation a { font-size: 13px; }
.dmi-v4-site .dm-footer__legal a { font-size: 12px; }

/* One gutter per page, including WordPress blocks and classic WooCommerce. */
.dmi-v4-site main.content-shell { width: min(1120px, calc(100% - 2 * var(--dm-gutter))); max-width: 1120px; margin: 0 auto; padding: clamp(36px, 5vw, 64px) 0 clamp(48px, 6vw, 80px); }
.dmi-v4-site main.woocommerce-shell { width: min(1200px, calc(100% - 2 * var(--dm-gutter))); max-width: 1200px; }
.dmi-v4-site .entry-content .woocommerce { width: 100%; max-width: none; margin: 0; padding: 0; }
body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .dmi-v4-site .entry-content { max-width: none; }
.dmi-v4-site :is(.entry-content, .woocommerce-shell) { overflow-wrap: anywhere; }
.dmi-v4-site .entry-content :is(figure, .alignwide, .alignfull, iframe, video) { max-width: 100%; margin-left: 0; margin-right: 0; }
.dmi-v4-site .entry-content img { height: auto; }
.dmi-v4-site .wp-block-table { max-width: 100%; overflow-x: auto; }
.dmi-v4-site .entry-content :is(pre, code) { white-space: pre-wrap; overflow-wrap: anywhere; }
.dmi-v4-site :is(.editorial-page__header, .archive-header, .journal-entry__header) { margin: 0 0 32px; }
.dmi-v4-site :is(.editorial-page__header, .archive-header, .journal-entry__header, .not-found) h1 { margin: 8px 0 16px; color: var(--dm-blue-dark); font: 700 clamp(32px, 4.5vw, 58px)/1.15 var(--dm-display); text-wrap: balance; }
.dmi-v4-site .journal-entry__header { text-align: center; }
.dmi-v4-site .journal-entry__header .eyebrow { font: 600 12px/1.4 var(--dm-ui); letter-spacing: .1em; color: var(--dm-muted); }
.dmi-v4-site .journal-entry__hero { margin: 0 0 32px; }
.dmi-v4-site .journal-entry__hero img { width: 100%; height: auto; border-radius: 12px; }
.dmi-v4-site .not-found { text-align: center; }
.dmi-v4-site .post-grid > .navigation { grid-column: 1 / -1; }
.dmi-v4-site .nav-links { flex-wrap: wrap; gap: 8px; }
.dmi-v4-site .nav-links :is(a, span) { display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 8px; }

/* Product grids, forms and account controls use the same small-screen rhythm. */
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 24px 0; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) ul.products::before,
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) ul.products::after { display: none; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) ul.products li.product { float: none; width: auto !important; min-width: 0; margin: 0 !important; padding: 16px; border: 1px solid var(--dm-line); border-radius: 12px; display: flex; flex-direction: column; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) ul.products li.product .button { margin-top: auto; align-self: flex-start; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) ul.products li.product .woocommerce-loop-product__title { font-size: clamp(22px, 2vw, 26px); line-height: 1.25; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) .woocommerce-loop-category__title { font-size: clamp(22px, 2vw, 26px); line-height: 1.25; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) .woocommerce-loop-category__title .count { background: transparent; color: var(--dm-muted); font: 500 14px/1.4 var(--dm-ui); }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) .price { color: var(--dm-blue-dark) !important; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) ul.products li.product img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) .onsale { top: 12px !important; right: 12px !important; left: auto !important; margin: 0 !important; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) .onsale { min-width: 0; min-height: 0; padding: 6px 10px; border-radius: 999px; background: var(--dm-blue); color: var(--dm-white); font: 600 11px/1.3 var(--dm-ui); }
.dmi-v4-site :is(.entry-content, .woocommerce-shell) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]), select, textarea) { min-width: 0; max-width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--dm-line); border-radius: 8px; background: var(--dm-warm); color: var(--dm-ink); font: 400 16px/1.4 var(--dm-ui); }
.dmi-v4-site :is(.entry-content, .woocommerce-shell) textarea { width: 100%; min-height: 120px; resize: vertical; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) .password-input { position: relative; width: 100%; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) .password-input input { padding-right: 48px; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) .show-password-input { top: 0; right: 0; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) .show-password-input::after { margin: 0; }
.dmi-v4-site :is(.entry-content, .woocommerce-shell) :is(input[type="checkbox"], input[type="radio"]) { width: 18px; height: 18px; vertical-align: middle; accent-color: var(--dm-blue-dark); }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) .quantity .qty { width: 76px; text-align: center; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) :is(form.cart:not(.variations_form):not(.grouped_form), .woocommerce-variation-add-to-cart) { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) form.cart .quantity { margin: 0; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) :is(.woocommerce-result-count, .woocommerce-ordering) { float: none; margin: 0 0 16px; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) .woocommerce-ordering select { width: 100%; max-width: 300px; }
.dmi-v4-site .woocommerce-cart-form a.remove { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; color: var(--dm-terracotta) !important; font-size: 22px; }
.dmi-v4-site :is(.woocommerce-shell, .woocommerce) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { overflow-wrap: anywhere; }
.dmi-v4-site :is(.wc-block-grid__products, .wc-block-components-sidebar-layout, .wc-block-components-main, .wc-block-components-sidebar) { min-width: 0; }
.dmi-v4-site .wc-block-grid__product-add-to-cart .wp-block-button { max-width: 100%; }
.dmi-v4-site .woocommerce-MyAccount-navigation ul { margin: 0 0 24px; padding: 0; list-style: none; }
.dmi-v4-site .woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; border-bottom: 1px solid var(--dm-line); font: 500 14px/1.4 var(--dm-ui); }

@media (min-width: 768px) {
  .dmi-v4-site .dm-split { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
  .dmi-v4-site .dm-split .dm-photo { height: auto; min-height: 360px; }
  .dmi-v4-site .dm-page .dm-copy { padding: clamp(32px, 4vw, 56px); }
  .dmi-v4-site .dm-plans__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
  .dmi-v4-site .dm-plan { padding: 32px clamp(20px, 3vw, 40px); min-height: 0; }
  .dmi-v4-site .dm-plan--featured { padding-top: 64px; }
  .dmi-v4-site .dm-plan ul { margin-bottom: 0; }
  .dmi-v4-site .dm-themes__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .dmi-v4-site .dm-themes article :is(h3, p) { width: 100%; }
  .dmi-v4-site .dm-process__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .dmi-v4-site .dm-page :is(.dm-process__step, .dm-themes article) { min-height: 0; }
  .dmi-v4-site .dm-process { padding-bottom: 40px; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .dmi-v4-site .dm-page .dm-copy :is(h1, h1 em, h2) { font-size: clamp(36px, 4.5vw, 50px); line-height: 1.2; }
  .dmi-v4-site .dm-page :is(.dm-about-why, .dm-center-note, .dm-faq-hero) { padding: 48px var(--dm-gutter); min-height: 0; }
  .dmi-v4-site .dm-themes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dmi-v4-site .dm-faq-library { padding: 40px var(--dm-gutter); grid-template-columns: 230px minmax(0, 1fr); gap: 24px; }
}
@media (min-width: 1200px) {
  .dmi-v4-site .dm-home-hero { grid-template-columns: 51.9546% 48.0454%; }
  .dmi-v4-site :is(.dm-rhythm, .dm-gift) { grid-template-columns: 48.6111% 51.3889%; }
}
@media (max-width: 1023px) {
  .dmi-v4-site .dm-header__inner { padding: 0 20px; }
  .dmi-v4-site .dm-header__left { flex: 1; gap: 12px; }
  .dmi-v4-site .dm-header__nav { width: auto; flex: 0 0 auto; gap: 4px; }
  .dmi-v4-site .dm-header__nav > a:not(.dm-header__bag) { display: none; }
  .dmi-v4-site .dm-menu-toggle { margin: 0; }
  .dmi-v4-site .dm-brand__copy { min-width: 0; }
  .dmi-v4-site :is(.woocommerce-shell, .woocommerce) ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 899px) {
  .dmi-v4-site .dm-plans__grid { grid-template-columns: 1fr; width: min(480px, 100%); }
  .dmi-v4-site .dm-plan { padding: 28px; }
  .dmi-v4-site .dm-plan--featured { padding-top: 64px; }
  .dmi-v4-site .dm-faq-library { grid-template-columns: 1fr; }
  .dmi-v4-site .dm-faq-topics { position: static; }
  .dmi-v4-site .dm-faq-topics nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
  body.admin-bar .dmi-v4-site .dm-header { top: 46px; }
}
@media (min-width: 768px) and (max-width: 782px) {
  body.admin-bar .dmi-v4-site .dm-drawer { top: 150px; max-height: calc(100dvh - 174px); }
}
@media (max-width: 767px) {
  .dmi-v4-site { --dm-gutter: clamp(16px, 5vw, 24px); }
  .dmi-v4-site .dm-header,
  .dmi-v4-site .dm-header__inner { height: 64px; }
  .dmi-v4-site .dm-header__inner { padding: 0 12px; gap: 4px; }
  .dmi-v4-site .dm-header__left { width: auto; flex: 1 1 auto; gap: 4px; }
  .dmi-v4-site .dm-brand { width: auto; margin: 0; gap: 6px; height: auto; min-width: 0; }
  .dmi-v4-site .dm-brand__mark { width: 20px; height: 29px; }
  .dmi-v4-site .dm-header .dm-brand__mark { flex: 0 0 auto; }
  .dmi-v4-site .dm-header .dm-brand__copy { width: auto; height: auto; }
  .dmi-v4-site .dm-header .dm-brand__name { font-size: clamp(16px, 4.6vw, 24px); line-height: 1.2; }
  .dmi-v4-site .dm-header .dm-brand__tagline { font-size: clamp(5px, 1.35vw, 7px); letter-spacing: .07em; line-height: 1.4; }
  .dmi-v4-site .dm-header :is(.dm-brand__name, .dm-brand__tagline) { width: auto; height: auto; }
  .dmi-v4-site .dm-drawer { top: 72px; left: 12px; width: calc(100vw - 24px); max-height: calc(100dvh - 84px); }
  body.admin-bar .dmi-v4-site .dm-drawer { top: 118px; max-height: calc(100dvh - 130px); }
  .dmi-v4-site .dm-drawer__inner { padding: 16px 20px 20px; }
  .dmi-v4-site .dm-page :is(.dm-copy, .dm-about-why, .dm-center-note, .dm-faq-hero, .dm-process, .dm-arrivals, .dm-themes, .dm-plans) { padding-left: var(--dm-gutter); padding-right: var(--dm-gutter); min-height: 0; }
  .dmi-v4-site .dm-page .dm-copy { padding-top: 32px; padding-bottom: 32px; }
  .dmi-v4-site .dm-page :is(h1, h2, h3, p, .dm-eyebrow, .dm-copy small) { width: auto; height: auto; min-width: 0; }
  .dmi-v4-site .dm-page :is(.dm-copy p:not(.dm-eyebrow), .dm-center-note > p:not(.dm-eyebrow)) { font-size: 17px !important; line-height: 1.5 !important; }
  .dmi-v4-site .dm-page .dm-eyebrow { font-size: 10px !important; line-height: 1.5 !important; white-space: normal; }
  .dmi-v4-site .dm-page .dm-copy small { font-size: 14px; line-height: 1.5; }
  .dmi-v4-site :is(.dm-button, .dm-plan__button, .button, .wp-element-button, .wp-block-button__link, .wc-block-components-button, input[type="submit"], .submit) { font-size: clamp(10px, 3.6vw, 14px) !important; padding: 10px 16px; }
  .dmi-v4-site .dm-page :is(.dm-copy, .dm-center-note) .dm-button { width: fit-content; max-width: 100%; min-height: 44px; padding: 10px 16px; font-size: clamp(10px, 3.6vw, 14px) !important; }
  .dmi-v4-site .dm-home-page .dm-home-hero__copy { gap: 14px; }
  .dmi-v4-site .dm-home-page .dm-home-hero__copy h1 { width: calc(100% - 48px); font-size: clamp(30px, 7.8vw, 36px); line-height: 1.2; }
  .dmi-v4-site .dm-home-page .dm-botanical--hero { left: auto; right: var(--dm-gutter); top: 64px; width: 42px; height: 62px; pointer-events: none; }
  .dmi-v4-site .dm-mercy .dm-botanical--corner { left: auto; right: var(--dm-gutter); bottom: 16px; top: auto; width: 32px; height: 46px; pointer-events: none; }
  .dmi-v4-site .dm-pricing-page .dm-gift .dm-botanical--corner { left: auto; right: var(--dm-gutter); bottom: 16px; top: auto; width: 32px; height: 46px; pointer-events: none; }
  .dmi-v4-site .dm-home-page .dm-gift .dm-copy { grid-template-columns: minmax(0, 1fr) 44px; column-gap: 12px; }
  .dmi-v4-site .dm-home-page .dm-gift .dm-botanical--corner { width: 40px; height: 58px; }
  .dmi-v4-site .dm-home-page .dm-home-subscription { padding: 20px 16px; gap: 12px; }
  .dmi-v4-site .dm-home-page .dm-home-subscription--hero { padding: 16px 14px; }
  .dmi-v4-site .dm-home-page .dm-home-subscription .dm-home-subscription__button { min-height: 44px; padding: 10px 12px; font-size: clamp(10px, 3.6vw, 14px) !important; line-height: 1.35 !important; }
  .dmi-v4-site .dm-home-page .dm-home-subscription .dm-home-subscription__body { font-size: 17px !important; line-height: 1.5 !important; }
  .dmi-v4-site .dm-home-page > .dm-home-subscription--process { width: calc(100% - 2 * var(--dm-gutter)); }
  .dmi-v4-site .dm-page .dm-process > h2 { font-size: clamp(28px, 7vw, 34px); line-height: 1.2; white-space: normal; }
  .dmi-v4-site .dm-page .dm-process__grid { width: 100%; gap: 28px; }
  .dmi-v4-site .dm-page .dm-process__step { width: 100%; min-height: 0; gap: 12px; }
  .dmi-v4-site .dm-page .dm-process__step :is(h3, p) { width: 100%; height: auto; line-height: 1.45; white-space: normal; }
  .dmi-v4-site .dm-page .dm-arrivals__grid { gap: 24px 16px; }
  .dmi-v4-site .dm-arrival-card :is(h3, p) { height: auto; }
  .dmi-v4-site .dm-page .dm-themes__grid { gap: 16px; }
  .dmi-v4-site .dm-page .dm-themes article { min-height: 0; padding: 20px 16px; }
  .dmi-v4-site .dm-page .dm-themes article br { display: none; }
  .dmi-v4-site .dm-page .dm-themes__note { font-size: 18px !important; line-height: 1.5 !important; }
  .dmi-v4-site .dm-faq-topics nav a { display: flex; align-items: center; min-height: 44px; height: auto; padding: 10px 14px; font-size: 13px; line-height: 1.4; }
  .dmi-v4-site .dm-faq-page .dm-faq-item button { min-height: 48px; height: auto; padding: 14px 16px; gap: 12px; font-size: 16px; line-height: 1.35; }
  .dmi-v4-site .dm-faq-item button span { min-width: 0; flex: 1; }
  .dmi-v4-site .dm-faq-item button:focus-visible { outline-offset: -3px; }
  .dmi-v4-site .dm-faq-page .dm-faq-answer { padding: 0 16px 16px; }
  .dmi-v4-site .dm-plan { width: 100%; min-height: 0; }
  .dmi-v4-site .dm-plan__button { width: 100%; }
  .dmi-v4-site .dm-footer__navigation a { font-size: 12px; }
  .dmi-v4-site :is(.woocommerce-shell, .woocommerce) ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .dmi-v4-site :is(.woocommerce-shell, .woocommerce) :is(div.product div.images, div.product div.summary, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content, .col2-set .col-1, .col2-set .col-2) { float: none; width: 100%; min-width: 0; margin-bottom: 24px; }
  .dmi-v4-site :is(.woocommerce-shell, .woocommerce) .col2-set { width: 100%; }
  .dmi-v4-site .woocommerce-cart-form .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
  .dmi-v4-site .woocommerce-cart-form .coupon :is(input, .button) { width: 100% !important; float: none; }
  .dmi-v4-site .woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; }
  .dmi-v4-site :is(.woocommerce-shell, .woocommerce) table.shop_table { table-layout: fixed; overflow-wrap: anywhere; }
}
@media (max-width: 479px) {
  .dmi-v4-site .dm-page .dm-themes__grid { grid-template-columns: 1fr; }
  .dmi-v4-site .dm-home-page .dm-arrival-card img { height: auto; aspect-ratio: 600 / 474; }
  .dmi-v4-site :is(.woocommerce-shell, .woocommerce) ul.products { grid-template-columns: 1fr; }
  .dmi-v4-site .dm-page .dm-themes article { padding: 24px; }
}
@media (max-width: 359px) {
  .dmi-v4-site .dm-header__inner { padding-left: 8px; padding-right: 8px; gap: 2px; }
  .dmi-v4-site .dm-header__left { gap: 2px; }
  .dmi-v4-site .dm-brand { gap: 4px; }
  .dmi-v4-site .dm-header .dm-brand__mark { width: 14px; height: 23px; }
  .dmi-v4-site .dm-header .dm-brand__name { font-size: 16px; }
  .dmi-v4-site .dm-header .dm-brand__tagline { font-size: 5px; letter-spacing: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .dmi-v4-site :is(.dm-plan__button, .button, .wp-element-button, .wp-block-button__link, .wc-block-components-button) { transition: none !important; transform: none !important; }
}

/* Home mailbox cards retain two columns on mobile and tablet. */
@media (max-width: 1199px) {
  .dmi-v4-site .dm-home-page .dm-arrivals { padding: 36px var(--dm-gutter); gap: 24px; overflow: visible; }
  .dmi-v4-site .dm-home-page .dm-arrivals > h2 { width: 100%; max-width: 640px; font-size: clamp(30px, 4.5vw, 38px); line-height: 1.2; }
  .dmi-v4-site .dm-home-page .dm-arrivals__grid { width: 100%; max-width: 900px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
  .dmi-v4-site .dm-home-page .dm-arrival-card { width: 100%; min-width: 0; min-height: 0; padding: 0; border: 1px solid var(--dm-line); border-radius: 14px; background: var(--dmi-section-solid); overflow: hidden; }
  .dmi-v4-site .dm-home-page .dm-arrival-card picture { display: block; width: 100%; }
  .dmi-v4-site .dm-home-page .dm-arrival-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
  .dmi-v4-site .dm-home-page .dm-arrival-card h3 { width: auto; margin: 18px 20px 0; font-size: 22px; line-height: 1.25; letter-spacing: -.015em; text-wrap: balance; }
  .dmi-v4-site .dm-home-page .dm-arrival-card p { width: auto; margin: 10px 20px 22px; font-size: 18px; line-height: 1.5; font-weight: 400; }
}
@media (max-width: 767px) {
  .dmi-v4-site .dm-home-page .dm-arrival-card img { aspect-ratio: 600 / 474; }
}
@media (max-width: 599px) {
  .dmi-v4-site .dm-home-page .dm-arrivals__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(10px, 3vw, 18px); }
  .dmi-v4-site .dm-home-page .dm-arrival-card h3 { margin: 12px clamp(8px, 2.5vw, 14px) 0; font-size: clamp(16px, 3.8vw, 21px); line-height: 1.25; overflow-wrap: anywhere; }
  .dmi-v4-site .dm-home-page .dm-arrival-card p { margin: 8px clamp(8px, 2.5vw, 14px) 16px; font-size: clamp(14px, 3.3vw, 17px) !important; line-height: 1.5; overflow-wrap: anywhere; }
}

/* Hero copy scales to its column so the opening sentence stays on one line. */
.dmi-v4-site .dm-arrival-card__image-button { display: block; width: 100%; padding: 0; margin: 0; border: 0; background: transparent; cursor: zoom-in; }
.dm-arrival-card__image-button:focus-visible { outline: 3px solid var(--dm-blue-dark); outline-offset: -3px; }
html.dm-mailbox-modal-open, html.dm-mailbox-modal-open body { overflow: hidden; }
.dmi-v4-site .dm-mailbox-modal { box-sizing: border-box; position: fixed; width: min(920px, calc(100% - 32px)); max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid var(--dm-line); border-radius: 16px; background: var(--dm-paper); color: var(--dm-ink); overflow: hidden; }
.dm-mailbox-modal[open] { display: flex; flex-direction: column; }
.dm-mailbox-modal__header { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 16px; padding: 8px 12px 8px 20px; border-bottom: 1px solid var(--dm-line); font: 500 13px/1.5 var(--dm-ui); color: var(--dm-muted); }
.dm-mailbox-modal__body { display: grid; min-height: 0; overflow: auto; overscroll-behavior: contain; }
.dm-mailbox-modal__photo { display: grid; place-items: center; min-width: 0; padding: clamp(12px, 2vw, 24px); background: var(--dm-warm); }
.dm-mailbox-modal::backdrop { background: rgba(24,32,37,.65); }
.dmi-v4-site .dm-mailbox-modal__close { position: static; display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--dm-line); border-radius: 50%; background: var(--dm-paper); color: var(--dm-blue-dark); font: 400 28px/1 var(--dm-ui); cursor: pointer; }
.dm-mailbox-modal__close:focus-visible { outline: 2px solid var(--dm-blue-dark); outline-offset: 2px; }
.dmi-v4-site .dm-mailbox-modal__image { display: block; position: static; width: 100%; height: auto; max-height: min(46vh, 480px); max-height: min(46dvh, 480px); object-fit: contain; }
.dm-mailbox-modal__copy { padding: clamp(20px, 4vw, 32px); }
.dmi-v4-site .dm-mailbox-modal__copy h2 { margin: 0 0 12px; font: 700 clamp(24px, 4vw, 32px)/1.25 var(--dm-display); color: var(--dm-blue-dark); }
.dmi-v4-site .dm-mailbox-modal__copy p { margin: 0; font: 400 clamp(16px, 2vw, 18px)/1.6 var(--dm-body); }
@media (min-width: 700px), (min-width: 560px) and (max-height: 500px) {
  .dm-mailbox-modal__body { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: start; }
  .dm-mailbox-modal__copy { min-width: 0; }
  .dmi-v4-site .dm-mailbox-modal__image { max-height: calc(100vh - 140px); max-height: calc(100dvh - 140px); }
}

.dmi-v4-site .dm-arrival-card__description { width: 100%; }
.dmi-v4-site .dm-arrival-card__description summary { margin: 10px 0 18px; list-style: none; cursor: pointer; font: 400 17px/1.5 var(--dm-body); color: var(--dm-ink); }
.dm-arrival-card__description summary::-webkit-details-marker { display: none; }
.dm-arrival-card__preview { display: block; }
.dm-arrival-card__more, .dm-arrival-card__less { display: inline-flex; align-items: center; min-height: 44px; color: var(--dm-blue-dark); font: 600 13px/1.4 var(--dm-ui); text-decoration: underline; text-underline-offset: 3px; }
.dm-arrival-card__less { display: none; }
.dm-arrival-card__description[open] .dm-arrival-card__preview,
.dm-arrival-card__description[open] .dm-arrival-card__more { display: none; }
.dm-arrival-card__description[open] .dm-arrival-card__less { display: inline-flex; }
.dm-arrival-card__description summary:focus-visible { outline: 2px solid var(--dm-blue-dark); outline-offset: 3px; }
@media (max-width: 1199px) {
  .dmi-v4-site .dm-arrival-card__description summary { margin: 10px 20px 16px; font-size: 18px; }
}
@media (max-width: 599px) {
  .dmi-v4-site .dm-arrival-card__description summary { margin: 8px clamp(8px, 2.5vw, 14px) 12px; font-size: 16px; }
}

@media (max-width: 767px) {
  .dmi-v4-site .dm-home-page .dm-mercy .dm-copy p { width: 100%; max-width: none; align-self: stretch; }
  .dmi-v4-site .dm-home-page .dm-mercy .dm-copy p:not(.dm-eyebrow) { text-align: justify; text-align-last: left; }
}
.dmi-v4-site .dm-mercy__more { width: 100%; }
.dmi-v4-site .dm-mercy__more summary { display: flex; align-items: center; width: fit-content; min-height: 44px; list-style: none; cursor: pointer; color: var(--dm-blue-dark); font: 600 14px/1.4 var(--dm-ui); text-decoration: underline; text-underline-offset: 3px; }
.dm-mercy__more summary::-webkit-details-marker { display: none; }
.dm-mercy__collapse { display: none; }
.dm-mercy__more[open] .dm-mercy__expand { display: none; }
.dm-mercy__more[open] .dm-mercy__collapse { display: inline; }
.dmi-v4-site .dm-mercy .dm-copy .dm-mercy__more p { margin: 14px 0 0; }
.dm-mercy__more summary:focus-visible { outline: 2px solid var(--dm-blue-dark); outline-offset: 3px; }

.dmi-v4-site .dm-home-page .dm-home-hero__copy { container-type: inline-size; gap: 14px; }
.dmi-v4-site .dm-home-page .dm-home-hero__copy h1 { width: 100%; max-width: 100%; font-size: clamp(16px, 6cqi, 42px) !important; line-height: 1.25; }
.dmi-v4-site .dm-home-page .dm-home-hero__copy h1 > span { white-space: nowrap; }
.dmi-v4-site .dm-home-page .dm-home-hero__copy h1 > em.dm-phrase-cycle { display: grid; }
.dmi-v4-site .dm-phrase-cycle__item { grid-area: 1 / 1; position: relative; visibility: hidden; }
.dmi-v4-site .dm-phrase-cycle__item.is-current { visibility: visible; }
.dmi-v4-site .dm-phrase-cycle__full { visibility: hidden; }
.dmi-v4-site .dm-phrase-cycle__text { position: absolute; inset: 0; }
.dmi-v4-site .dm-phrase-cycle__item.is-typing .dm-phrase-cycle__text::after { content: ''; display: inline-block; height: .8em; border-left: 1px solid currentColor; margin-left: 2px; animation: dm-typewriter-caret .8s step-end infinite; }
@media (prefers-reduced-motion: reduce) { .dmi-v4-site .dm-phrase-cycle__item { transition: none; } }
.dmi-v4-site .dm-home-page .dm-home-hero__copy h1 > em { margin-top: 10px; font-family: var(--dm-body); font-size: clamp(15px, 3.3cqi, 20px); font-style: normal; font-weight: 400; line-height: 1.5; color: var(--dm-muted); }
.dmi-v4-site .dm-home-page .dm-home-hero__copy p.dm-hero-question { margin-top: 14px; margin-bottom: 0; font-family: var(--dm-display); font-size: clamp(21px, 4.4cqi, 28px) !important; font-weight: 700; line-height: 1.25 !important; color: var(--dm-blue-dark); }
.dmi-v4-site .dm-home-page .dm-home-hero__copy p.dm-hero-intro { margin: 0; font-size: 17px !important; line-height: 1.5 !important; }
.dmi-v4-site .dm-home-page .dm-home-hero__copy p.dm-hero-description { margin: 0; font-size: clamp(16px, 3cqi, 18px) !important; line-height: 1.6 !important; }
.dmi-v4-site .dm-home-page .dm-home-hero__copy p.dm-hero-signoff { margin: 0; font-size: 16px !important; line-height: 1.5 !important; font-style: italic; color: var(--dm-muted); }
.dmi-v4-site .dm-home-page .dm-home-hero__actions { max-width: none; margin-top: 12px; }
.dmi-v4-site .dm-home-page .dm-home-subscription--hero { max-width: none; padding: 0; border: 0; background: transparent; border-radius: 0; }
.dmi-v4-site .dm-home-page .dm-home-subscription--hero .dm-home-subscription__button { width: 100%; max-width: none; min-height: 54px; padding: 16px 18px; font-size: 16px !important; }
@media (max-width: 767px) {
  .dmi-v4-site .dm-home-page .dm-home-subscription--hero .dm-home-subscription__button { white-space: nowrap; overflow-wrap: normal; padding: 14px 10px; font-size: clamp(10px, 4cqi, 16px) !important; }
}
.dmi-v4-site .dm-home-page .dm-home-subscription--hero p.dm-home-subscription__body { width: 100%; margin: 0; font-size: 14px !important; line-height: 1.5 !important; text-align: center; }

/* Quiet interaction feedback without changing control sizes or page layout. */
@media (max-width: 767px) {
  .dmi-v4-site :is(.dm-button, .dm-plan__button, .button, .wp-element-button, .wp-block-button__link, .wc-block-components-button, input[type="submit"], .submit) {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal;
    min-width: 0;
    max-width: 100%;
    padding-inline: 10px !important;
    font-size: clamp(10px, 3.6vw, 14px) !important;
  }
  .dmi-v4-site .dm-home-page .dm-home-subscription .dm-home-subscription__button {
    width: 100%;
    font-size: clamp(10px, 3.6vw, 14px) !important;
  }
}

.dmi-v4-site :is(.dm-button, .dm-plan__button, .button, .wp-element-button, .wp-block-button__link, .wc-block-components-button, input[type="submit"], .submit) {
  transition: transform .18s var(--dm-ease), box-shadow .18s var(--dm-ease), background-color .18s var(--dm-ease), border-color .18s var(--dm-ease);
}
.dmi-v4-site :is(.dm-header__nav > a, .dm-drawer a, .dm-footer__socials a, .dm-header__theme, .dm-header__bag, .dm-menu-toggle, .dm-back-to-top, .dm-faq-topics nav a) {
  transition: color .18s var(--dm-ease), background-color .18s var(--dm-ease), transform .18s var(--dm-ease), box-shadow .18s var(--dm-ease), opacity .18s var(--dm-ease), visibility .18s;
}
.dmi-v4-site .dm-header__nav > a:not(.dm-header__bag) { border-radius: 8px; }
.dmi-v4-site .dm-header__nav > a[aria-current="page"] { color: var(--dm-blue-dark); background: rgba(71, 108, 135, .1); }
.dmi-v4-site .dm-header__nav > a[aria-current="page"]::after { height: 2px; transform: scaleX(1); }
.dmi-v4-site .dm-drawer a { padding-inline: 12px; border-radius: 4px; }
.dmi-v4-site .dm-drawer a[aria-current="page"] { color: var(--dm-blue-dark); background: rgba(71, 108, 135, .1); box-shadow: inset 3px 0 var(--dm-blue-dark); }
html[data-theme="dark"] .dmi-v4-site :is(.dm-header__nav > a, .dm-drawer a)[aria-current="page"] { background: rgba(168, 203, 226, .12); }
.dmi-v4-site :is(.dm-footer__navigation a, .dm-footer__legal a, .text-link) {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 4px;
  transition: color .18s var(--dm-ease), text-decoration-color .18s var(--dm-ease);
}
.dmi-v4-site :is(.dm-footer__navigation a, .dm-footer__legal a, .text-link):focus-visible { text-decoration-color: currentColor; }
.dmi-v4-site .dm-faq-item button { transition: background-color .18s var(--dm-ease); }
.dmi-v4-site .dm-faq-item button:active { background: var(--dm-paper); }
.dmi-v4-site :is(input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) { transition: border-color .18s var(--dm-ease); }
.dmi-v4-site :is(input:not([type="submit"]):not([type="button"]), select, textarea):focus-visible { border-color: var(--dm-blue-dark); }
@media (hover: hover) and (pointer: fine) {
  .dmi-v4-site :is(.dm-button, .dm-plan__button, .button, .wp-element-button, .wp-block-button__link, .wc-block-components-button, input[type="submit"], .submit):hover:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.loading) { transform: translateY(-2px); box-shadow: 0 5px 14px rgba(45, 41, 38, .12); }
  .dmi-v4-site :is(.dm-header__nav > a:not(.dm-header__bag), .dm-drawer a):hover { color: var(--dm-blue-dark); background-color: rgba(71, 108, 135, .1); }
  .dmi-v4-site :is(.dm-footer__navigation a, .dm-footer__legal a, .text-link):hover { color: var(--dm-blue-dark); text-decoration-color: currentColor; }
  .dmi-v4-site .dm-footer__socials a:hover { transform: translateY(-2px); background: var(--dm-warm); }
  .dmi-v4-site :is(.dm-header__theme, .dm-header__bag, .dm-menu-toggle, .dm-back-to-top):hover { color: var(--dm-blue-dark); background-color: var(--dm-warm); }
  .dmi-v4-site .dm-faq-item button:hover { background: var(--dm-paper); }
}
.dmi-v4-site :is(.dm-button, .dm-plan__button, .button, .wp-element-button, .wp-block-button__link, .wc-block-components-button, input[type="submit"], .submit, .dm-header__theme, .dm-header__bag, .dm-menu-toggle, .dm-footer__socials a):active:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.loading) { transform: translateY(1px) scale(.98); box-shadow: none; }
@media (prefers-reduced-motion: reduce) {
  .dmi-v4-site :is(.dm-button, .dm-plan__button, .button, .wp-element-button, .wp-block-button__link, .wc-block-components-button, input[type="submit"], .submit, .dm-header__nav > a, .dm-drawer a, .dm-footer__socials a, .dm-header__theme, .dm-header__bag, .dm-menu-toggle, .dm-back-to-top) { transition: none !important; transform: none !important; }
  .dmi-v4-site .dm-header__nav > a::after,
  .dmi-v4-site :is(.dm-footer__navigation a, .dm-footer__legal a, .text-link, .dm-faq-item button, .dm-faq-topics nav a, input, select, textarea) { transition: none !important; }
}

/* Account access stays visible beside the shopping bag at every breakpoint. */
.dmi-v4-site .dm-header__nav { width: auto; }
.dmi-v4-site .dm-header__nav > a.dm-header__account { display: grid; place-items: center; width: 44px; height: 44px; min-width: 44px; flex: 0 0 44px; padding: 0; position: relative; isolation: isolate; border: 0; border-radius: 50%; color: var(--dm-blue-dark); background: transparent; font: 600 11px/1 var(--dm-ui); letter-spacing: .02em; text-decoration: none; }
.dmi-v4-site .dm-header__nav > a.dm-header__account::before { content: ""; position: absolute; inset: 6px; border: 1px solid var(--dm-line); border-radius: 50%; background: var(--dm-warm); z-index: -1; }
.dmi-v4-site .dm-header__account svg { width: 18px; height: 18px; }
.dmi-v4-site .dm-header__nav > a.dm-header__account::after { display: none; }
.dmi-v4-site .dm-header__account:focus-visible { outline: 2px solid var(--dm-blue-dark); outline-offset: 3px; }
.dmi-v4-site .dm-header__account:hover { color: var(--dm-ink); }
@media (max-width: 480px) {
  .dmi-v4-site .dm-header__theme { display: grid; place-items: center; }
  .dmi-v4-site .dm-header__nav { gap: 2px; }
  .dmi-v4-site .dm-header .dm-brand__name { font-size: clamp(13px, 4.1vw, 20px); }
  .dmi-v4-site .dm-header .dm-brand__tagline { font-size: 4.5px; }
  .dmi-v4-site .dm-header__inner { padding-inline: 8px; }
}
@media (max-width: 360px) {
  .dmi-v4-site .dm-header .dm-brand__mark { display: none; }
}
