/* Mobile-only font family preserves v4.0.0 desktop/tablet typography. */
@font-face { font-family: "DM Mobile Nineties"; src: url('../fonts/perfectly-nineties-semibold.otf') format('opentype'); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "DM Mobile Nineties"; src: url('../fonts/perfectly-nineties-semibolditalic.otf') format('opentype'); font-style: italic; font-weight: 600; font-display: swap; }
@font-face { font-family: "DM Mobile Nineties"; src: url('../fonts/perfectly-nineties-bold.otf') format('opentype'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "DM Mobile Nineties"; src: url('../fonts/perfectly-nineties-bolditalic.otf') format('opentype'); font-style: italic; font-weight: 700; font-display: swap; }
.dm-mobile-picture { display: contents; }
.dm-mobile-picture > source { display: none; }
@media (min-width: 768px) { .dmi-v4-site .dm-mobile-only { display: none; } }
/* Dear Mom, It's Okay — exact mobile compositions from Figma
 * Home 173:8147 | About 173:9820 | FAQ 173:12395 | Pricing 174:13531
 * Applies only below the user-approved 768px tablet boundary.
 */
@media (max-width: 767px) {
  /* ------------------------------------------------------------------
     Global mobile header — 402 x 51 Figma reference
     ------------------------------------------------------------------ */
  body.admin-bar .dm-header { top: 46px; }
  .dm-header {
    height: 51px;
    background: var(--dm-warm);
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .dm-header.is-scrolled { box-shadow: 0 5px 18px rgba(45,41,38,.055); }
  .dm-header__inner {
    width: 100%;
    height: 51px;
    padding: 0 16px;
  }
  .dm-header__left {
    width: auto;
    min-width: 0;
    height: 37.9667px;
    justify-content: flex-start;
  }
  .dm-menu-toggle {
    order: 0;
    width: 39.5539px;
    height: 21.0926px;
    padding: 0 16.4643px 0 0;
    flex: 0 0 39.5539px;
  }
  .dm-menu-toggle__fallback {
    width: 23.0895px;
    height: 21.0926px;
    gap: 4.5px;
  }
  .dm-menu-toggle__fallback i {
    width: 23.0895px;
    height: 1.25px;
  }
  .dm-menu-toggle[aria-expanded="true"] .dm-menu-toggle__fallback i:nth-child(1){transform:translateY(5.75px) rotate(45deg)}
  .dm-menu-toggle[aria-expanded="true"] .dm-menu-toggle__fallback i:nth-child(3){transform:translateY(-5.75px) rotate(-45deg)}
  .dm-brand {
    order: 0;
    width: 172.5843px;
    height: 37.9667px;
    gap: 8.437px;
    margin: 0;
  }
  .dm-brand__mark {
    width: 22.1472px;
    height: 31.6389px;
    object-fit: cover;
    flex: 0 0 22.1472px;
  }
  .dm-brand__copy {
    width: 142px;
    min-width: 142px;
    height: 32.6935px;
  }
  .dm-brand__name {
    font-size: 17.929px;
    line-height: 1.2;
    letter-spacing: -.02em;
  }
  .dm-brand__tagline {
    margin-top: .527px;
    font-size: 5.273px;
    line-height: 1.2;
    letter-spacing: .9492px;
  }
  .dm-header__nav {
    order: 0;
    width: 16.7919px;
    height: 25.8337px;
    flex: 0 0 16.7919px;
    gap: 0;
  }
  .dm-header__nav > a:not(.dm-header__bag) { display: none; }
  .dm-header__bag {
    display: grid;
    width: 16.7919px;
    height: 18.0836px;
  }
  .dm-header__bag svg { width: 16.7919px; height: 18.0836px; }

  /* Functional drawer is a state outside the static Figma header. */
  .dm-drawer {
    top: 59px;
    left: 12px;
    width: calc(100vw - 24px);
    max-height: calc(100dvh - 71px);
  }
  body.admin-bar .dm-drawer { top: 105px; }

  /* ------------------------------------------------------------------
     Shared mobile primitives
     ------------------------------------------------------------------ */
  .dm-page { width: 100%; }
  .dm-split { display: flex; flex-direction: column; grid-template-columns: none; width: 100%; }
  .dm-photo { min-height: 0; }
  .dm-copy { min-height: 0; }
  .dm-button {
    min-height: 0;
    white-space: nowrap;
    letter-spacing: 0;
    box-shadow: none;
    transform: none;
  }
  .dm-button:hover { transform: none; box-shadow: none; }
  .dm-eyebrow { font-size: 10px !important; line-height: 1.2 !important; }
  .dm-eyebrow--terracotta { font-size: 10px !important; letter-spacing: 1.4px !important; }

  /* ------------------------------------------------------------------
     HOME — mobile node 173:8147
     ------------------------------------------------------------------ */
  .dm-home-hero {
    display: flex;
    flex-direction: column;
    height: 526.9071px;
  }
  .dm-home-hero .dm-photo {
    width: 100%;
    height: 256px;
    min-height: 256px;
  }
  .dm-home-hero .dm-photo img {
    inset: auto;
    left: -40.64%;
    top: -.01%;
    width: 161.26%;
    max-width: none;
    height: 130.4%;
    object-fit: cover;
    transform: translate3d(0,var(--parallax-y,0),0);
  }
  .dm-home-hero__copy {
    width: 100%;
    height: 270.9071px;
    min-height: 270.9071px;
    padding: 27.8618px 46.436px 23.218px 35.9881px;
    gap: 8.7068px;
  }
  .dm-home-hero__copy .dm-eyebrow {
    width: min(325.0538px,100%);
    font-size: 12px !important;
    letter-spacing: 1.44px;
  }
  .dm-home-hero__copy h1 {
    width: min(301.8357px,100%);
    margin: 0;
    font-size: 33.666px;
    line-height: 1.2;
  }
  .dm-home-hero__copy p:not(.dm-eyebrow) {
    width: min(290.2266px,100%);
    margin: 0;
    font-size: 14px;
    line-height: 1.35;
  }
  .dm-home-hero__copy .dm-button {
    width: 119px;
    height: 34px;
    padding: 0 16px;
    border-radius: 579.873px;
    font-size: 8px;
    line-height: 1.2;
  }
  .dm-botanical--hero {
    display: block;
    left: auto;
    right: 43.1916px;
    top: 73.6831px;
    width: 52.2408px;
    height: 75.4589px;
    opacity: .72;
  }

  .dm-home-page .dm-arrivals {
    width: 100%;
    height: 627.4009px;
    min-height: 627.4009px;
    padding: 24px;
    gap: 12px;
    overflow: hidden;
  }
  .dm-home-page .dm-arrivals > h2 {
    width: 251.25px;
    max-width: 100%;
    font-size: 32px;
    line-height: 1.2;
  }
  .dm-home-page .dm-floral-divider {
    width: 289.7043px;
    max-width: 86%;
    height: 15.5995px;
    grid-template-columns: 100.2822px 11.1425px 100.2822px;
    justify-content: center;
    gap: 7.8px;
  }
  .dm-home-page .dm-floral-divider img {
    width: 11.1425px;
    height: 15.5995px;
  }
  .dm-home-page .dm-arrivals__grid {
    width: 379.0832px;
    max-width: calc(100vw - 22.9168px);
    display: grid;
    grid-template-columns: repeat(2,minmax(0,183.5416px));
    gap: 12px;
    align-items: start;
    justify-content: center;
  }
  .dm-home-page .dm-arrival-card {
    width: 183.5416px;
    max-width: 100%;
    height: auto;
    min-height: 0;
    padding: 0;
    overflow: hidden;
  }
  .dm-home-page .dm-arrival-card img {
    width: 100%;
    height: 144.8239px;
    aspect-ratio: auto;
    object-fit: cover;
  }
  .dm-home-page .dm-arrival-card h3 {
    width: 100%;
    margin: 6.0384px 0 0;
    font-size: 16px;
    line-height: 1.25;
  }
  .dm-home-page .dm-arrival-card p {
    width: 100%;
    margin: 6.0384px 0 0;
    font-size: 10px;
    line-height: 1.25;
  }

  .dm-home-page .dm-process {
    width: 100%;
    height: 587.6611px;
    min-height: 587.6611px;
    padding: 24px;
    gap: 24px;
    justify-content: center;
  }
  .dm-home-page .dm-process > h2 {
    width: auto;
    font-size: 33.161px;
    line-height: 1.25;
    white-space: nowrap;
  }
  .dm-home-page .dm-process__grid {
    width: 354px;
    max-width: 100%;
    height: 474.6611px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 27.6345px;
  }
  .dm-home-page .dm-process__step {
    width: 218.7553px;
    max-width: 100%;
    height: auto;
    min-height: 0;
    gap: 6.909px;
  }
  .dm-home-page .dm-process__icon {
    width: 54.0454px;
    height: 62.3135px;
    border-width: 1.05px;
  }
  .dm-home-page .dm-process__icon svg { width: 24.4491px; height: 28.1894px; }
  .dm-home-page .dm-process__step h3 {
    width: auto;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 1.68px;
    white-space: nowrap;
  }
  .dm-home-page .dm-process__step p {
    width: 218.7553px;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.2;
  }

  .dm-home-page .dm-mercy {
    width: 100%;
    height: 539.6167px;
  }
  .dm-home-page .dm-mercy .dm-photo {
    width: 100%;
    height: 262.4167px;
    min-height: 262.4167px;
  }
  .dm-home-page .dm-mercy .dm-photo img {
    inset: auto;
    left: -41.42%;
    top: -.02%;
    width: 164.37%;
    max-width: none;
    height: 141.393%;
    transform: translate3d(0,var(--parallax-y,0),0);
  }
  .dm-home-page .dm-mercy .dm-copy {
    width: 100%;
    height: 277.2px;
    min-height: 277.2px;
    padding: 24px;
    gap: 13.4px;
  }
  .dm-home-page .dm-mercy .dm-copy .dm-eyebrow {
    width: 290.3333px;
    max-width: 100%;
    font-size: 12px !important;
    letter-spacing: 1.44px;
  }
  .dm-home-page .dm-mercy .dm-copy h2 {
    width: 279.1667px;
    max-width: 100%;
    font-size: 36px;
    line-height: 1.25;
  }
  .dm-home-page .dm-mercy .dm-copy p:not(.dm-eyebrow) {
    width: 298.7083px;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.3;
  }
  .dm-home-page .dm-mercy .dm-button {
    width: 96px;
    height: 34px;
    padding: 0 16px;
    font-size: 8px;
    line-height: 1.2;
  }
  .dm-home-page .dm-mercy .dm-botanical--corner {
    left: 271px;
    right: auto;
    top: 28.5835px;
    bottom: auto;
    width: 39.0833px;
    height: 57.5083px;
    opacity: .72;
  }

  .dm-home-page .dm-reader-note {
    width: 100%;
    height: 137.4216px;
    min-height: 137.4216px;
    padding: 24px;
    gap: 6px;
    justify-content: center;
  }
  .dm-home-page .dm-reader-note img {
    width: 20px;
    height: 28.4216px;
  }
  .dm-home-page .dm-reader-note .dm-eyebrow {
    width: 201px;
    font-size: 10px !important;
    letter-spacing: 1.4px !important;
  }
  .dm-home-page .dm-reader-note h2 {
    width: 354px;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.22;
  }
  .dm-home-page .dm-reader-note > p:not(.dm-eyebrow) {
    width: 240.0833px;
    font-size: 10px;
    line-height: 1.4;
  }

  .dm-home-page .dm-rhythm {
    width: 100%;
    height: 528.7176px;
    margin: 0;
    overflow: hidden;
  }
  .dm-home-page .dm-rhythm .dm-photo {
    width: calc(100% + 4px);
    max-width: none;
    height: 367.9253px;
    min-height: 367.9253px;
  }
  .dm-home-page .dm-rhythm .dm-photo img {
    inset: auto;
    left: -40.64%;
    top: -.01%;
    width: 161.26%;
    max-width: none;
    height: 100.01%;
    transform: translate3d(0,var(--parallax-y,0),0);
  }
  .dm-home-page .dm-rhythm .dm-copy {
    width: 401.5793px;
    max-width: 100%;
    height: 160.7923px;
    min-height: 160.7923px;
    padding: 24px;
    gap: 7.5974px;
  }
  .dm-home-page .dm-rhythm .dm-copy .dm-eyebrow {
    width: 325.6049px;
    max-width: 100%;
    font-size: 10px !important;
    letter-spacing: 1.4px !important;
  }
  .dm-home-page .dm-rhythm .dm-copy h2 {
    width: 336.4584px;
    max-width: 100%;
    font-size: 24.963px;
    line-height: 1.2;
  }
  .dm-home-page .dm-rhythm .dm-copy p:not(.dm-eyebrow) {
    width: 336.4584px;
    max-width: 100%;
    font-size: 10px;
    line-height: 1.35;
  }
  .dm-home-page .dm-rhythm .dm-button {
    width: 136px;
    height: 34px;
    padding: 0 16px;
    font-size: 8px;
  }

  .dm-home-page .dm-gift {
    width: 100%;
    height: 588.4615px;
    margin-top: 16px;
    overflow: hidden;
  }
  .dm-home-page .dm-gift .dm-photo {
    width: calc(100% + 4px);
    max-width: none;
    height: 367.9253px;
    min-height: 367.9253px;
  }
  .dm-home-page .dm-gift .dm-photo img {
    inset: auto;
    left: -40.64%;
    top: -.01%;
    width: 161.26%;
    max-width: none;
    height: 100.01%;
    transform: translate3d(0,var(--parallax-y,0),0);
  }
  .dm-home-page .dm-gift .dm-copy {
    width: 401.5793px;
    max-width: 100%;
    height: 220.5363px;
    min-height: 220.5363px;
    padding: 24px;
    gap: 0;
  }
  .dm-home-page .dm-gift .dm-copy h2 {
    width: 303.8979px;
    max-width: 100%;
    margin: 0 0 6.5121px;
    font-size: 24px;
    line-height: 1.25;
  }
  .dm-home-page .dm-gift .dm-copy p:not(.dm-eyebrow) {
    width: 309.3246px;
    max-width: 100%;
    margin: 0;
    font-size: 10px;
    line-height: 1.25;
  }
  .dm-home-page .dm-gift .dm-copy p:not(.dm-eyebrow):nth-of-type(2) { margin-bottom: 6.5121px; }
  .dm-home-page .dm-gift .dm-button {
    width: 138px;
    height: 34px;
    padding: 0 16px;
    margin-bottom: 6.5121px;
    font-size: 8px;
  }
  .dm-home-page .dm-gift .dm-copy small {
    width: 303.8979px;
    max-width: 100%;
    font-size: 8px;
    line-height: 1.2;
  }
  .dm-home-page .dm-gift .dm-botanical--corner {
    left: 254px;
    right: auto;
    top: 83.0413px;
    bottom: auto;
    width: 43.9567px;
    height: 63.493px;
    opacity: .72;
  }

  .dm-home-page .dm-quiet-note {
    width: 100%;
    height: 222.8918px;
    min-height: 222.8918px;
    padding: 24px 64.2083px;
    gap: 0;
    justify-content: flex-start;
  }
  .dm-home-page .dm-quiet-note img {
    width: 29.4794px;
    height: 41.8918px;
    margin-bottom: 8px;
  }
  .dm-home-page .dm-quiet-note .dm-eyebrow {
    width: 201px;
    max-width: 100%;
    margin: 0;
    font-size: 10px !important;
    letter-spacing: 1.4px !important;
  }
  .dm-home-page .dm-quiet-note h2 {
    width: 273.5833px;
    max-width: 100%;
    margin: 0 0 4px;
    font-size: 24px;
    line-height: 1.22;
  }
  .dm-home-page .dm-quiet-note > p:not(.dm-eyebrow) {
    width: 240.0833px;
    max-width: 100%;
    margin: 0 0 12px;
    font-size: 12px;
    line-height: 1.4;
  }
  .dm-home-page .dm-quiet-note .dm-button {
    width: 136px;
    height: 34px;
    padding: 0 16px;
    font-size: 8px;
  }

  /* ------------------------------------------------------------------
     ABOUT — mobile node 173:9820
     ------------------------------------------------------------------ */
  .dm-about-page .dm-about-why {
    width: 100%;
    height: 234.1583px;
    min-height: 234.1583px;
    padding: 17.8665px 53.0417px 19.5417px;
    gap: 5.583px;
  }
  .dm-about-page .dm-about-why .dm-eyebrow {
    width: 212.1667px;
    max-width: 100%;
    font-size: 10px !important;
    letter-spacing: 1.4px !important;
  }
  .dm-about-page .dm-about-why h1 {
    width: 273.5833px;
    max-width: 100%;
    font-size: 32px;
    line-height: 1.2;
  }
  .dm-about-page .dm-about-why > p:not(.dm-eyebrow):not(.dm-script) {
    width: 251.25px;
    max-width: 100%;
    font-size: 10px;
    line-height: 1.4;
  }
  .dm-about-page .dm-about-why__line { display: none; }
  .dm-about-page .dm-about-why .dm-script {
    width: 212.1667px;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.25;
    letter-spacing: .28px;
  }

  .dm-about-page .dm-mercy {
    width: 100%;
    height: 524.8333px;
  }
  .dm-about-page .dm-mercy .dm-photo {
    width: 100%;
    height: 262.4167px;
    min-height: 262.4167px;
  }
  .dm-about-page .dm-mercy .dm-photo img {
    inset: auto;
    left: -42.23%;
    top: -.01%;
    width: 167.56%;
    max-width: none;
    height: 144.266%;
    transform: translate3d(0,var(--parallax-y,0),0);
  }
  .dm-about-page .dm-mercy .dm-copy {
    width: 100%;
    height: 262.4167px;
    min-height: 262.4167px;
    padding: 24px;
    gap: 13.4px;
  }
  .dm-about-page .dm-mercy .dm-copy .dm-eyebrow {
    width: 290.3333px;
    max-width: 100%;
    font-size: 10px !important;
    letter-spacing: 1.2px;
  }
  .dm-about-page .dm-mercy .dm-copy h2 {
    width: 279.1667px;
    max-width: 100%;
    font-size: 36px;
    line-height: 1.25;
  }
  .dm-about-page .dm-mercy .dm-copy p:not(.dm-eyebrow) {
    width: 298.7083px;
    max-width: 100%;
    font-size: 10px;
    line-height: 1.3;
  }
  .dm-about-page .dm-mercy .dm-button {
    width: 109.2667px;
    height: 26.75px;
    padding: 0 15.633px;
    border-radius: 123.95px;
    font-size: 8px;
  }
  .dm-about-page .dm-mercy .dm-botanical--corner {
    left: auto;
    right: 52.4831px;
    top: 188.1582px;
    bottom: auto;
    width: 39.0833px;
    height: 57.5083px;
    opacity: .72;
  }

  .dm-about-page .dm-themes {
    width: 100%;
    height: 357.5997px;
    min-height: 357.5997px;
    padding: 7.8165px 24px;
    gap: 5.025px;
  }
  .dm-about-page .dm-themes > h2 {
    width: 268px;
    max-width: 100%;
    font-size: 24px;
    line-height: 1.25;
  }
  .dm-about-page .dm-themes__grid {
    width: 335.2465px;
    max-width: 100%;
    height: 243.9163px;
    display: grid;
    grid-template-columns: repeat(2,159.0759px);
    grid-template-rows: repeat(2,121.9582px);
    column-gap: 17.0945px;
    row-gap: 0;
    justify-content: center;
  }
  .dm-about-page .dm-themes article {
    width: 159.0759px;
    max-width: 100%;
    height: 121.9582px;
    min-height: 121.9582px;
    gap: 5.3025px;
  }
  .dm-about-page .dm-themes article img {
    width: 18.0286px;
    height: 25.4521px;
  }
  .dm-about-page .dm-themes article h3 {
    width: 153.7733px;
    max-width: 100%;
    font-size: 10.605px;
    line-height: 1.25;
  }
  .dm-about-page .dm-themes article p {
    width: 153.7733px;
    max-width: 100%;
    font-size: 9.014px;
    line-height: 1.25;
  }
  .dm-about-page .dm-themes__note {
    width: 354px;
    max-width: 100%;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: normal;
  }

  /* ------------------------------------------------------------------
     FAQ — mobile node 173:12395
     ------------------------------------------------------------------ */
  .dm-faq-page .dm-faq-hero {
    width: 100%;
    height: 244.6338px;
    min-height: 244.6338px;
    padding: 32px 50.25px;
    gap: 17px;
  }
  .dm-faq-page .dm-faq-hero img {
    width: 35.4437px;
    height: 50.6338px;
  }
  .dm-faq-page .dm-faq-hero .dm-eyebrow {
    width: 212.1667px;
    max-width: 100%;
    font-size: 10px !important;
    letter-spacing: 1.4px !important;
  }
  .dm-faq-page .dm-faq-hero h1 {
    width: 268px;
    max-width: 100%;
    margin: -17px 0 0;
    font-size: 24px;
    line-height: 1.18;
  }
  .dm-faq-page .dm-faq-hero h1 em {
    display: block;
    font-size: 24px;
    line-height: 1.18;
  }
  .dm-faq-page .dm-faq-hero > p:not(.dm-eyebrow) {
    width: 237.2917px;
    max-width: 100%;
    font-size: 10px;
    line-height: 1.38;
  }

  .dm-faq-page .dm-process {
    width: 100%;
    height: 554.2174px;
    min-height: 554.2174px;
    padding: 24px;
    gap: 16px;
  }
  .dm-faq-page .dm-process > h2 {
    width: 212.1667px;
    font-size: 24px;
    line-height: 1.25;
  }
  .dm-faq-page .dm-process__grid {
    width: 218.76px;
    max-width: 100%;
    height: 460.2174px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 25.7365px;
  }
  .dm-faq-page .dm-process__step {
    width: 218.76px;
    max-width: 100%;
    height: auto;
    min-height: 0;
    gap: 6.434px;
  }
  .dm-faq-page .dm-process__icon {
    width: 54.0466px;
    height: 54.0466px;
    border-width: 1.05px;
  }
  .dm-faq-page .dm-process__icon svg { width: 24.4496px; height: 24.4496px; }
  .dm-faq-page .dm-process__step h3 {
    width: 218.76px;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 1.68px;
  }
  .dm-faq-page .dm-process__step p {
    width: 218.76px;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.2;
  }

  .dm-faq-page .dm-faq-library {
    width: 100%;
    height: 1192.9427px;
    min-height: 1192.9427px;
    padding: 17.8665px 25.125px 20.1px;
    display: flex;
    flex-direction: column;
    gap: 13.4px;
    overflow: hidden;
  }
  .dm-faq-page .dm-faq-topics {
    position: relative;
    top: auto;
    width: 343.875px;
    max-width: 100%;
    height: 356.7475px;
    padding: 24px;
    border-width: 1.146px;
    border-radius: 2.293px;
    display: flex;
    flex-direction: column;
    gap: 16.048px;
  }
  .dm-faq-page .dm-faq-topics .dm-eyebrow {
    width: 284.27px;
    max-width: 100%;
    font-size: 10px !important;
    letter-spacing: 1.3px !important;
  }
  .dm-faq-page .dm-faq-topics h2 {
    width: 284.27px;
    max-width: 100%;
    margin: 0;
    font-size: 14px;
    line-height: 1.2;
  }
  .dm-faq-page .dm-faq-topics nav {
    width: 284.27px;
    max-width: 100%;
    display: grid;
    gap: 16.048px;
  }
  .dm-faq-page .dm-faq-topics nav a {
    width: 100%;
    height: 38.2925px;
    padding: 12px 16px;
    border-width: 1.146px;
    border-radius: 24.071px;
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: .3px;
  }
  .dm-faq-page .dm-faq-topics > p:last-child {
    width: 284.27px;
    max-width: 100%;
    margin: 0;
    font-size: 10px;
    line-height: 1.35;
  }
  .dm-faq-page .dm-faq-content {
    width: 351.75px;
    max-width: 100%;
    height: 784.8286px;
    display: flex;
    flex-direction: column;
    gap: 14.529px;
  }
  .dm-faq-page .dm-faq-category {
    width: 351.75px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 5.353px;
    scroll-margin-top: 64px;
  }
  .dm-faq-page .dm-faq-category > h2 {
    width: 351.75px;
    max-width: 100%;
    margin: 0;
    font-size: 14px;
    line-height: 1.2;
  }
  .dm-faq-page .dm-faq-category__intro {
    width: 100%;
    margin: 0;
    font-size: 10px;
    line-height: 1.35;
  }
  .dm-faq-page .dm-faq-list {
    width: 351.875px;
    max-width: 100%;
    display: grid;
    gap: 5.353px;
  }
  .dm-faq-page .dm-faq-item {
    width: 351.875px;
    max-width: 100%;
    min-height: 33.471px;
    border-width: .429px;
    border-radius: 2px;
  }
  .dm-faq-page .dm-faq-item button {
    width: 100%;
    min-height: 32.613px;
    padding: 0 12.015px;
    gap: 10px;
    font-size: 10px;
    line-height: 1.2;
  }
  .dm-faq-page .dm-faq-item button span { width: 287.508px; max-width: calc(100% - 22px); }
  .dm-faq-page .dm-faq-item button i {
    width: 9.441px;
    height: 9.441px;
  }
  .dm-faq-page .dm-faq-item button i::before,
  .dm-faq-page .dm-faq-item button i::after {
    left: 1px;
    right: 1px;
    top: 4px;
    height: .7px;
  }
  .dm-faq-page .dm-faq-answer { padding: 0 12.015px 10.299px; }
  .dm-faq-page .dm-faq-answer p {
    font-size: 10px;
    line-height: 1.4;
  }
  /* The initial Figma state is fixed-height. If a visitor opens another item,
     release that height so accordion content remains fully usable. */
  .dm-faq-page .dm-faq-library:has(.dm-faq-category:first-child .dm-faq-item:nth-child(n+2).is-open),
  .dm-faq-page .dm-faq-library:has(.dm-faq-category:not(:first-child) .dm-faq-item.is-open) {
    height: auto;
    overflow: visible;
  }
  .dm-faq-page .dm-faq-content:has(.dm-faq-category:first-child .dm-faq-item:nth-child(n+2).is-open),
  .dm-faq-page .dm-faq-content:has(.dm-faq-category:not(:first-child) .dm-faq-item.is-open) {
    height: auto;
  }

  .dm-faq-page .dm-faq-support {
    width: 100%;
    height: 285.3734px;
    min-height: 285.3734px;
    padding: 15.075px 50.25px 16.1917px;
    gap: 0;
    justify-content: flex-start;
  }
  .dm-faq-page .dm-faq-support img {
    width: 62.0011px;
    height: 88.1068px;
    margin-bottom: 8px;
  }
  .dm-faq-page .dm-faq-support .dm-eyebrow {
    width: 195.4167px;
    max-width: 100%;
    margin: 0;
    font-size: 10px !important;
    letter-spacing: 1.4px !important;
  }
  .dm-faq-page .dm-faq-support h2 {
    width: 228.9167px;
    max-width: 100%;
    margin: 0 0 8px;
    font-size: 24px;
    line-height: 1.2;
  }
  .dm-faq-page .dm-faq-support > p:not(.dm-eyebrow) {
    width: 228.9167px;
    max-width: 100%;
    margin: 0 0 12px;
    font-size: 10px;
    line-height: 1.38;
  }
  .dm-faq-page .dm-faq-support .dm-button {
    width: 94px;
    height: 26px;
    padding: 0 16px;
    border-radius: 278.888px;
    font-size: 8px;
  }

  /* ------------------------------------------------------------------
     PRICING — mobile node 174:13531
     ------------------------------------------------------------------ */
  .dm-pricing-page .dm-pricing-hero {
    display: flex;
    flex-direction: column-reverse;
    width: 100%;
    height: 580.6666px;
  }
  .dm-pricing-page .dm-pricing-hero .dm-photo {
    width: 100%;
    height: 377.15px;
    min-height: 377.15px;
  }
  .dm-pricing-page .dm-pricing-hero .dm-photo img {
    inset: auto;
    left: -40.64%;
    top: -.01%;
    width: 161.26%;
    max-width: none;
    height: 110.6%;
    transform: translate3d(0,var(--parallax-y,0),0);
  }
  .dm-pricing-page .dm-pricing-hero .dm-copy {
    width: 100%;
    height: 203.5167px;
    min-height: 203.5167px;
    padding: 34.6167px 31.2667px 29.0333px 42.4333px;
    gap: 8.933px;
    justify-content: center;
  }
  .dm-pricing-page .dm-pricing-hero .dm-copy .dm-eyebrow {
    width: 290.3333px;
    max-width: 100%;
    font-size: 10px !important;
    letter-spacing: 1.4px !important;
  }
  .dm-pricing-page .dm-pricing-hero .dm-copy h1 {
    width: 312.6667px;
    max-width: 100%;
    font-size: 32.383px;
    line-height: 1.18;
  }
  .dm-pricing-page .dm-pricing-hero .dm-copy h1 em {
    font-size: 32.383px;
    line-height: 1.18;
  }
  .dm-pricing-page .dm-pricing-hero .dm-copy p:not(.dm-eyebrow) {
    width: 301.5px;
    max-width: 100%;
    font-size: 12.283px;
    line-height: 1.38;
  }

  .dm-pricing-page .dm-plans {
    width: 100%;
    height: 1004.2203px;
    min-height: 1004.2203px;
    padding: 14.5169px 20.1001px 17.308px;
    gap: 6.1417px;
  }
  .dm-pricing-page .dm-plans > .dm-eyebrow {
    width: 251.25px;
    max-width: 100%;
    font-size: 10px !important;
    letter-spacing: 1.4px !important;
  }
  .dm-pricing-page .dm-plans > h2 {
    width: 290.3333px;
    max-width: 100%;
    font-size: 16px;
    line-height: 1.23;
  }
  .dm-pricing-page .dm-plans__intro {
    width: 245.6667px;
    max-width: 100%;
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.38 !important;
  }
  .dm-pricing-page .dm-plans__grid {
    width: 361.7997px;
    max-width: 100%;
    height: 839.8287px;
    display: flex;
    flex-direction: column;
    gap: 20.2878px;
    align-items: stretch;
    justify-content: flex-start;
  }
  .dm-pricing-page .dm-plan {
    width: 361.7997px;
    max-width: 100%;
    height: 266.4177px;
    min-height: 266.4177px;
    padding: 27.0504px 45.6476px;
    gap: 0;
    align-items: flex-start;
  }
  .dm-pricing-page .dm-plan__label {
    width: 253.5979px;
    max-width: 100%;
    margin: 0 0 0 8.4533px !important;
    font-size: 12px !important;
    line-height: 14px !important;
    letter-spacing: 1.44px;
  }
  .dm-pricing-page .dm-plan__price {
    width: 253.5979px;
    max-width: 100%;
    height: 60px;
    margin-left: 8.4533px;
    font-size: 48px;
    line-height: 1.25;
  }
  .dm-pricing-page .dm-plan__unit {
    width: 253.5979px;
    max-width: 100%;
    margin: 8.4533px 0 0 8.4533px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
  .dm-pricing-page .dm-plan__button {
    width: 270.5045px;
    max-width: 100%;
    height: 39.3598px;
    min-height: 39.3598px;
    margin-top: 8.4533px;
    padding: 0 23.669px;
    border-radius: 3.381px;
    font-size: 12px;
    line-height: 1.2;
  }
  .dm-pricing-page .dm-plan ul {
    width: 200.5576px;
    margin: 20.2878px 0 0 !important;
    font-size: 14px;
    line-height: 1.25;
  }
  .dm-pricing-page .dm-plan li {
    min-height: 18px;
    margin: 0 0 6.7626px;
    padding-left: 22.1937px;
    white-space: nowrap;
  }
  .dm-pricing-page .dm-plan li:last-child { margin-bottom: 0; }
  .dm-pricing-page .dm-plan li::before {
    top: 1px;
    width: 12.0498px;
    height: 12.0498px;
    font-size: 10px;
    line-height: 12px;
  }
  .dm-pricing-page .dm-plan--featured ul { align-self: center; }
  .dm-pricing-page .dm-plans__reassurance {
    width: 279.1667px;
    max-width: 100%;
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.38 !important;
  }

  .dm-pricing-page .dm-gift {
    width: 100%;
    height: 457.7189px;
    overflow: hidden;
  }
  .dm-pricing-page .dm-gift .dm-photo {
    width: 380.2703px;
    max-width: none;
    height: 211.8649px;
    min-height: 211.8649px;
  }
  .dm-pricing-page .dm-gift .dm-photo img {
    inset: auto;
    left: -43.43%;
    top: -.01%;
    width: 172.35%;
    max-width: none;
    height: 173.84%;
    transform: translate3d(0,var(--parallax-y,0),0);
  }
  .dm-pricing-page .dm-gift .dm-copy {
    width: 100%;
    height: 245.8541px;
    min-height: 245.8541px;
    padding: 24px;
    gap: 0;
  }
  .dm-pricing-page .dm-gift .dm-copy h2 {
    width: 304.2162px;
    max-width: 100%;
    margin: 0 0 6.5189px;
    font-size: 24px;
    line-height: 1.25;
  }
  .dm-pricing-page .dm-gift .dm-copy p:not(.dm-eyebrow) {
    width: 309.6487px;
    max-width: 100%;
    margin: 0;
    font-size: 12px;
    line-height: 1.25;
  }
  .dm-pricing-page .dm-gift .dm-copy p:not(.dm-eyebrow):nth-of-type(2) { margin-bottom: 6.5189px; }
  .dm-pricing-page .dm-gift .dm-button {
    width: 131.4216px;
    height: 25.2973px;
    padding: 0 15.211px;
    margin-bottom: 6.5189px;
    font-size: 7.6054px;
  }
  .dm-pricing-page .dm-gift .dm-copy small {
    width: 304.2162px;
    max-width: 100%;
    font-size: 7.605px;
    line-height: 1.2;
  }
  .dm-pricing-page .dm-gift .dm-botanical--corner {
    left: 275px;
    right: auto;
    top: 16.248px;
    bottom: auto;
    width: 44.0027px;
    height: 63.5595px;
    opacity: .72;
  }

  .dm-pricing-page .dm-pricing-close {
    width: 100%;
    height: 195.5083px;
    min-height: 195.5083px;
    padding: 14.5167px 50.25px 16.1917px;
    gap: 3.908px;
  }
  .dm-pricing-page .dm-pricing-close img {
    width: 10.6083px;
    height: 15.075px;
  }
  .dm-pricing-page .dm-pricing-close .dm-eyebrow {
    width: 201px;
    max-width: 100%;
    font-size: 10px !important;
    letter-spacing: 1.4px !important;
  }
  .dm-pricing-page .dm-pricing-close h2 {
    width: 273.5833px;
    max-width: 100%;
    font-size: 24px;
    line-height: 1.22;
  }
  .dm-pricing-page .dm-pricing-close > p:not(.dm-eyebrow) {
    width: 240.0833px;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.4;
  }

  /* ------------------------------------------------------------------
     Exact mobile footer — shared across all WordPress surfaces
     ------------------------------------------------------------------ */
  .dm-footer {
    width: 100%;
    height: 204.22995px;
    min-height: 204.22995px;
    padding: 24px;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7.258px;
    overflow: hidden;
  }
  .dm-footer__inner {
    width: 354px;
    max-width: 100%;
    height: 124.9716px;
    margin: 0;
    display: grid;
    grid-template-columns: 37px 134.4033px 40px;
    justify-content: space-between;
    align-items: start;
    gap: 0;
  }
  .dm-footer__column h2 {
    margin: 0 0 11.053px;
    font-size: 12px;
    line-height: 1.2;
  }
  .dm-footer__column nav {
    display: flex;
    flex-direction: column;
    gap: 8.4px;
  }
  .dm-footer__column a {
    font-size: 6px;
    line-height: 1.4;
    letter-spacing: .6px;
  }
  .dm-footer__explore { width: 37px; }
  .dm-footer__details { width: 40px; }
  .dm-footer__brand {
    width: 134.4033px;
    height: 124.9716px;
  }
  .dm-brand--footer {
    width: 134.4033px;
    height: auto;
    gap: 0;
  }
  .dm-brand--footer .dm-brand__mark {
    width: 24.3828px;
    height: 35.1566px;
  }
  .dm-brand--footer .dm-brand__copy {
    width: 134.4033px;
    min-width: 134.4033px;
    height: 21px;
  }
  .dm-brand--footer .dm-brand__name {
    font-size: 12.527px;
    line-height: 1.2;
  }
  .dm-brand--footer .dm-brand__tagline {
    margin-top: 0;
    font-size: 5px;
    line-height: 1.2;
    letter-spacing: .9px;
  }
  .dm-footer__brand > p {
    width: 134.4033px;
    margin: 5.527px 0 0;
    font-size: 8px;
    line-height: 1.3;
  }
  .dm-footer__social {
    margin-top: 16.58px;
    gap: 11.053px;
  }
  .dm-footer__social a {
    width: 6.5563px;
    height: 6.7085px;
    font-size: 6.2px;
    line-height: 1;
  }
  .dm-footer__social a span { line-height: 1; }
  .dm-footer__copyright {
    margin: 0;
    font-size: 8px;
    line-height: 1.2;
  }

  /* Standard WP / WooCommerce pages still use the exact mobile shell. */
  .content-shell,.shell,.woocommerce-shell {
    width: calc(100% - 36px);
    padding-top: 40px;
  }
  .post-grid { grid-template-columns: 1fr; }
  .entry-content { font-size: 17px; }

  /* Dark mode keeps the mobile geometry exactly the same. */
  html[data-theme="dark"] .dm-footer { background: var(--dm-warm); }
}

/* Narrow phones retain the 402px Figma composition without horizontal overflow. */
@media (max-width: 380px) {
  .dm-home-page .dm-arrival-card { width: calc((100vw - 34px)/2); }
  .dm-home-page .dm-arrivals__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dm-home-page .dm-arrival-card img { height: auto; aspect-ratio: 183.5416/144.8239; }
  .dm-about-page .dm-themes__grid { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 12px; }
  .dm-about-page .dm-themes article { width: auto; }
  .dm-pricing-page .dm-plan { padding-left: 36px; padding-right: 36px; }
  .dm-pricing-page .dm-plan__button { width: 100%; }
  .dm-footer { padding-left: 18px; padding-right: 18px; }
  .dm-footer__inner { width: 100%; grid-template-columns: 37px minmax(120px,134.4033px) 40px; }
}


/* Verified mobile export corrections. Wider-screen rules remain in v4.css. */
@media (max-width: 767px) {
  .dmi-v4-site, .dmi-v4-site *, .dmi-v4-site *::before, .dmi-v4-site *::after { box-sizing: border-box; }
  :root { --dm-mobile-display: "DM Mobile Nineties", Cormorant, Georgia, serif; --dm-mobile-surface: #fff; }
  html[data-theme="dark"] { --dm-mobile-surface: var(--dm-warm); }
  .dm-page h1, .dm-page h2, .dm-page h3, .dm-brand__name, .dm-plan__price, .dm-faq-item button { font-family: var(--dm-mobile-display); }
  .dm-page h2 { font-weight: 700; }
  .dm-home-hero__copy h1, .dm-arrivals > h2, .dm-about-why h1, .dm-pricing-hero h1 { font-weight: 600; }
  .dm-page .dm-process__step h3 { font-family: var(--dm-ui); }
  .dm-page .dm-process__step p { color: var(--dm-white); font-weight: 500; }
  .dm-faq-content .dm-faq-category__intro { color: var(--dm-muted); }
  .dm-home-hero, .dm-home-hero .dm-copy,
  .dm-mercy, .dm-mercy .dm-copy,
  .dm-home-page .dm-rhythm, .dm-home-page .dm-rhythm .dm-copy,
  .dm-home-page .dm-gift, .dm-home-page .dm-gift .dm-copy { background: var(--dm-mobile-surface); }
  .dm-home-page .dm-mercy .dm-copy p:not(.dm-eyebrow) + p,
  .dm-about-page .dm-mercy .dm-copy p:not(.dm-eyebrow) + p { margin-top: 2.2px; }
  .dm-about-page .dm-mercy .dm-copy p:not(.dm-eyebrow) + p { margin-top: -.4px; }
  .dm-home-page .dm-arrivals { padding-left: 11.4584px; padding-right: 11.4584px; }
  .dm-home-page .dm-arrivals__grid { width: 100%; max-width: 379.0832px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dm-home-page .dm-arrival-card { width: 100%; }
  .dm-home-page .dm-arrival-card h3 { margin-bottom: 0; }
  .dm-home-page .dm-arrival-card p { margin-bottom: 0; }
  .dm-home-page .dm-floral-divider { display: block; position: relative; max-width: 100%; }
  .dm-home-page .dm-floral-divider > span, .dm-home-page .dm-floral-divider > .dm-mobile-picture { display: none; }
  .dm-home-page .dm-floral-divider .dm-mobile-divider { display: block; width: auto; height: auto; max-width: none; }
  .dm-process__icon { border: 0; border-radius: 0; background: transparent; flex-shrink: 0; }
  .dm-process__icon > svg { display: none; }
  .dm-process__figma { display: block; }
  .dm-process__figma img { width: auto; height: auto; max-width: none; }
  .dm-home-page .dm-botanical--hero { left: 254px; right: auto; transform: scaleX(-1); }
  .dm-botanical, .dm-brand__mark, .dm-center-note img, .dm-faq-hero img, .dm-themes article img { mix-blend-mode: normal; opacity: 1; object-fit: contain; }
  .dm-brand__name { letter-spacing: 0; }
  .dm-brand__copy { justify-content: flex-start; padding-top: 2.6366px; }
  .dm-menu-toggle { position: relative; }
  .dm-menu-toggle__fallback { display: none; }
  .dm-menu-toggle__figma { width: auto; height: auto; max-width: none; }
  .dm-menu-toggle[aria-expanded="true"] .dm-menu-toggle__figma { display: none; }
  .dm-menu-toggle[aria-expanded="true"] .dm-menu-toggle__fallback { display: flex; }
  .dm-header__bag > svg { display: none; }
  .dm-bag__figma { width: auto; height: auto; max-width: none; }
  .dm-footer .dm-brand__copy { padding-top: 0; }
  .dm-footer .dm-brand--footer .dm-brand__name { color: var(--dm-blue-dark); }
  .dm-footer .dm-brand--footer .dm-brand__tagline { text-transform: uppercase; }
  .dm-footer__social a > span { display: none; }
  .dm-footer__social img { width: auto; height: auto; max-width: none; }
  .dm-footer__column h2 { height: 14px; }
  .dm-footer__copyright { margin-top: 0; }
  .dm-footer__inner { flex-shrink: 0; }
  .dm-home-page .dm-quiet-note { padding-left: 24px; padding-right: 24px; }
  .dm-home-page .dm-quiet-note > p:not(.dm-eyebrow) { width: 240.0833px; }
  .dm-home-page .dm-rhythm .dm-copy p:not(.dm-eyebrow),
  .dm-home-hero__copy .dm-eyebrow { max-width: none; }
  .dm-about-page .dm-themes > h2 { width: 268px; max-width: 100%; }
  .dm-about-page .dm-themes article h3, .dm-about-page .dm-themes article p { margin-bottom: 0; }
  .dm-about-page .dm-themes article h3 { font-weight: 700; }
  .dm-about-page .dm-themes__note { font-style: italic; }
  .dm-faq-page .dm-faq-library { background: var(--dm-warm); height: auto; overflow: visible; }
  .dm-faq-page .dm-faq-content { height: auto; }
  .dm-faq-page .dm-faq-topics { flex-shrink: 0; }
  .dm-faq-page .dm-faq-topics h2 { font-weight: 700; }
  .dm-faq-page .dm-faq-topics > p:last-child { font-style: italic; }
  .dm-faq-page .dm-faq-category:first-child .dm-faq-category__intro { width: min(313.5163px,100%); }
  .dm-faq-page .dm-faq-category > h2 { line-height: 17px; }
  .dm-faq-page .dm-faq-category__intro { line-height: 14px; }
  .dm-faq-page .dm-faq-item h3 { margin: 0; }
  .dm-faq-page .dm-faq-item { border: 0; padding: .429px; box-shadow: inset 0 0 0 .429px var(--dm-line); }
  .dm-faq-page .dm-faq-item button { font-weight: 700; border: 0; background: transparent; }
  .dm-faq-page .dm-faq-item button i { flex: 0 0 9.44055px; background: url('../figma-mobile/f5d56.svg') center no-repeat; }
  .dm-faq-page .dm-faq-item.is-open button i { background-image: url('../figma-mobile/1e99d.svg'); }
  .dm-faq-page .dm-faq-item button i::before, .dm-faq-page .dm-faq-item button i::after { display: none; }
  .dm-faq-page .dm-faq-answer p { margin: 0; font-weight: 500; }
  .dm-faq-page .dm-faq-support { background: var(--dm-paper); }
  .dm-faq-page .dm-faq-support .dm-button { flex-shrink: 0; }
  .dm-pricing-page .dm-plans > h2 { min-height: 40px; }
  .dm-pricing-page .dm-plan { border-radius: 1.691px; flex-shrink: 0; }
  .dm-pricing-page .dm-plan__button { color: var(--dm-ink); }
  .dm-pricing-page .dm-plan__button.is-featured { color: var(--dm-white); }
  .dm-pricing-page .dm-plan li::before { content: ''; background: url('../figma-mobile/17f3e.svg') center no-repeat; }
  .dm-pricing-page .dm-gift .dm-copy .dm-gift__body-first + p { margin-bottom: 6.5189px; }
  .dm-pricing-page .dm-gift .dm-button { flex-shrink: 0; border-radius: 22px; }
  .dm-pricing-page .dm-plans__reassurance a { border: 0; }
  html[data-theme="dark"] .dm-process__figma,
  html[data-theme="dark"] .dm-menu-toggle__figma,
  html[data-theme="dark"] .dm-bag__figma,
  html[data-theme="dark"] .dm-footer__social img { filter: brightness(1.4); }
  .dm-home-page .dm-home-hero,
  .dm-home-page .dm-mercy,
  .dm-home-page .dm-rhythm,
  .dm-home-page .dm-gift,
  .dm-about-page .dm-mercy,
  .dm-pricing-page .dm-pricing-hero,
  .dm-pricing-page .dm-gift { height: auto; }
  .dm-copy, .dm-copy > *, .dm-process__step > *, .dm-center-note > * { flex-shrink: 0; }
  .dm-photo img { object-fit: fill; }
  .dm-home-hero__copy .dm-eyebrow { line-height: 14px !important; }
  .dm-home-hero__copy h1 { line-height: 40px; }
  .dm-home-hero__copy p:not(.dm-eyebrow) { line-height: 19px; }
  .dm-home-page .dm-process > h2 { line-height: 41px; }
  .dm-page .dm-process__step h3 { line-height: 17px; }
  .dm-page .dm-process__step p { line-height: 14px; }
  .dm-home-page .dm-mercy .dm-eyebrow { line-height: 14px !important; }
  .dm-home-page .dm-mercy .dm-copy p:not(.dm-eyebrow) { line-height: 16px; }
  .dm-home-page .dm-mercy .dm-copy p:not(.dm-eyebrow) + p { margin-top: 2.6px; }
  .dm-about-page .dm-about-why h1 { line-height: 38px; }
  .dm-about-page .dm-about-why .dm-script { line-height: 18px; }
  .dm-about-page .dm-themes article h3 { line-height: 13px; }
  .dm-about-page .dm-themes article p { line-height: 11px; font-weight: 500; }
  .dm-pricing-page .dm-pricing-hero .dm-copy h1,
  .dm-pricing-page .dm-pricing-hero .dm-copy h1 em { line-height: 38px; }
  .dm-pricing-page .dm-pricing-hero .dm-copy p:not(.dm-eyebrow) { line-height: 17px; }
  .dm-pricing-page .dm-plan__unit { line-height: 19px !important; }
  .dm-pricing-page .dm-plan__button { display: flex; align-items: center; justify-content: center; }
  .dm-pricing-page .dm-plan li { line-height: 18px; font-weight: 500; }
  .dm-pricing-page .dm-gift .dm-photo { width: 100%; }
  .dm-pricing-page .dm-gift .dm-photo img { left: -41.089%; width: 163.036%; height: 368.3475px; }
  .dm-desktop-only { display: none; }
  .dmi-v4-site:has(.dm-pricing-page) { min-height: 2632px; background: var(--dm-mobile-surface); }
}

@media (max-width: 401px) {
  .dm-home-hero__copy, .dm-copy, .dm-about-why, .dm-center-note,
  .dm-about-page .dm-mercy .dm-copy, .dm-home-page .dm-mercy .dm-copy,
  .dm-home-page .dm-rhythm .dm-copy, .dm-home-page .dm-gift .dm-copy,
  .dm-pricing-page .dm-pricing-hero .dm-copy, .dm-pricing-page .dm-gift .dm-copy { height: auto; }
  .dm-home-hero__copy p:not(.dm-eyebrow), .dm-home-page .dm-mercy .dm-copy p:not(.dm-eyebrow),
  .dm-home-page .dm-rhythm .dm-copy p:not(.dm-eyebrow) { max-width: 100%; }
  .dm-home-hero__copy .dm-eyebrow { width: 100%; max-width: 100%; font-size: 10px !important; }
  .dm-botanical--hero { opacity: .7; }
  .dm-home-page .dm-quiet-note { height: auto; min-height: 222.8918px; }
  .dm-pricing-page .dm-plan { padding-left: 24px; padding-right: 24px; }
  .dm-pricing-page .dm-plan li { white-space: normal; }
  .dm-pricing-page .dm-plan ul { width: 100%; }
  .dm-about-page .dm-about-why { height: auto; min-height: 234.1583px; padding-left: 24px; padding-right: 24px; }
}

/* FAQ columns expand with the available phone width. */
@media (max-width: 767px) {
  .dm-faq-page .dm-faq-topics,
  .dm-faq-page .dm-faq-topics .dm-eyebrow,
  .dm-faq-page .dm-faq-topics h2,
  .dm-faq-page .dm-faq-topics nav,
  .dm-faq-page .dm-faq-topics > p:last-child,
  .dm-faq-page .dm-faq-content,
  .dm-faq-page .dm-faq-category,
  .dm-faq-page .dm-faq-category > h2,
  .dm-faq-page .dm-faq-category .dm-faq-category__intro,
  .dm-faq-page .dm-faq-list,
  .dm-faq-page .dm-faq-item { width: 100%; min-width: 0; }
  .dm-faq-page .dm-faq-item button span { width: auto; flex: 1; }
}
@media (max-width: 767px) {
  .dm-faq-page .dm-faq-category:first-child .dm-faq-category__intro { width: 100%; }
}

/* Responsive mobile footer with slightly larger, readable content. */
@media (max-width: 767px) {
  .dm-footer { height: auto; min-height: 235px; padding: 26px 18px; gap: 18px; overflow: visible; }
  .dm-footer__inner { width: 100%; height: auto; grid-template-columns: minmax(54px,1fr) minmax(140px,2.6fr) minmax(62px,1fr); gap: 10px; }
  .dm-footer__explore, .dm-footer__details, .dm-footer__brand { width: 100%; height: auto; min-width: 0; }
  .dm-footer__details { text-align: right; }
  .dm-footer__column h2 { height: auto; font-size: 14px; margin-bottom: 13px; }
  .dm-footer__column a { font-size: 8px; letter-spacing: .4px; }
  .dm-footer__column nav { gap: 10px; }
  .dm-brand--footer, .dm-brand--footer .dm-brand__copy, .dm-footer__brand > p { width: 100%; min-width: 0; height: auto; }
  .dm-brand--footer .dm-brand__mark { width: 29px; height: 42px; }
  .dm-brand--footer .dm-brand__name { font-size: clamp(14px,3.5vw,18px); white-space: normal; }
  .dm-brand--footer .dm-brand__tagline { font-size: 6px; letter-spacing: .65px; }
  .dm-footer__brand > p { font-size: 10px; line-height: 1.4; margin-top: 8px; }
  .dm-footer__social { margin-top: 15px; gap: 14px; }
  .dm-footer__social a { width: 12px; height: 12px; display: flex; align-items: center; justify-content: center; }
  .dm-footer__social img { max-width: 12px; max-height: 12px; width: auto; height: auto; }
  .dm-footer__copyright { width: 100%; font-size: 9px; line-height: 1.4; text-align: center; }
}

/* Standard mobile reading size; content containers grow with the copy. */
@media (max-width: 767px) {
  .dmi-v4-site .dm-page p:not(.dm-eyebrow):not(.dm-plan__price):not(.dm-plan__unit),
  .dmi-v4-site .dm-footer__brand > p { font-size: 16px !important; line-height: 1.5 !important; }
  .dmi-v4-site .dm-page small { font-size: 14px !important; line-height: 1.5 !important; }
  .dmi-v4-site .dm-page > section,
  .dmi-v4-site .dm-page .dm-copy,
  .dmi-v4-site .dm-page .dm-process__grid,
  .dmi-v4-site .dm-page .dm-process__step,
  .dmi-v4-site .dm-page .dm-themes__grid,
  .dmi-v4-site .dm-page .dm-themes article,
  .dmi-v4-site .dm-page .dm-faq-topics,
  .dmi-v4-site .dm-page .dm-faq-content,
  .dmi-v4-site .dm-page .dm-plan { height: auto !important; min-height: 0 !important; overflow: visible; }
  .dmi-v4-site .dm-page .dm-themes__grid { grid-template-rows: auto auto; row-gap: 28px; }
  .dmi-v4-site .dm-page .dm-themes article { padding-bottom: 8px; }
  .dmi-v4-site .dm-page .dm-process__grid { gap: 28px; }
  .dmi-v4-site .dm-page .dm-process__step p { width: 100%; max-width: 290px; }
  .dmi-v4-site .dm-page .dm-plan ul { margin-top: 20px; }
  .dmi-v4-site .dm-page .dm-plan li { font-size: 16px; line-height: 1.5; white-space: normal; }
  .dmi-v4-site .dm-page .dm-plan li::before { top: 6px; }
  .dmi-v4-site .dm-page .dm-faq-topics > p:last-child { margin-top: 0; }
}

@media (max-width: 767px) {
  .dm-footer__social { width: 100%; justify-content: center; gap: 8px; flex-wrap: wrap; }
  .dm-footer__social a { width: 28px; height: 28px; flex: 0 0 28px; }
  .dm-footer__social img { width: 26.22504px; height: 26.834px; max-width: none; max-height: none; }
}

@media (max-width: 767px) {
  .dmi-v4-site .dm-footer__brand > p { font-size: 12px !important; line-height: 1.5 !important; }
}

@media (max-width: 767px) {
  .dm-about-page .dm-themes article h3 { font-size: 14.605px; line-height: 1.25; }
}

/* Mobile pricing: clear hierarchy, comfortable controls and an annual recommendation. */
@media (max-width: 767px) {
  .dm-pricing-page .dm-plans { padding: 32px 20px 36px; gap: 16px; }
  .dm-pricing-page .dm-plans > h2 { width: 100%; font-size: 28px; line-height: 1.2; }
  .dm-pricing-page .dm-plans > .dm-eyebrow,
  .dm-pricing-page .dm-plans__intro,
  .dm-pricing-page .dm-plans__reassurance { width: 100%; }
  .dm-pricing-page .dm-plans__grid { width: 100%; height: auto; gap: 24px; margin: 8px 0; }
  .dm-pricing-page .dm-plan { position: relative; width: 100%; padding: 28px 24px; border: 1px solid var(--dm-line); border-radius: 18px; background: var(--dm-warm); box-shadow: 0 6px 22px rgba(38,65,82,.07); text-align: left; align-items: stretch; }
  .dm-pricing-page .dm-plan__label { width: 100%; margin: 0 0 12px !important; font-size: 14px !important; line-height: 1.4 !important; letter-spacing: 1.3px; order: 1; }
  .dm-pricing-page .dm-plan__price { width: 100%; height: auto; margin: 0; font-size: 54px; line-height: 1.1; order: 2; }
  .dm-pricing-page .dm-plan__unit { width: 100%; margin: 8px 0 0 !important; font-size: 16px !important; line-height: 1.5 !important; order: 3; }
  .dm-pricing-page .dm-plan ul { width: 100%; margin: 24px 0 !important; order: 4; align-self: stretch; }
  .dm-pricing-page .dm-plan li { margin-bottom: 12px; padding-left: 26px; }
  .dm-pricing-page .dm-plan li:last-child { margin-bottom: 0; }
  .dm-pricing-page .dm-plan__button { width: 100%; min-height: 48px; height: auto; margin: 0; padding: 14px 16px; border-radius: 10px; font-size: 13px; line-height: 1.4; order: 5; transition: box-shadow .2s, transform .2s; }
  .dm-pricing-page .dm-plan__button:focus-visible { outline: 3px solid var(--dm-terracotta); outline-offset: 4px; }
  .dm-pricing-page .dm-plan__button:active { transform: translateY(1px); }
  .dm-pricing-page .dm-plan--featured { border: 2px solid var(--dm-blue-dark); padding-top: 66px; background: var(--dm-paper); box-shadow: 0 10px 30px rgba(38,65,82,.14); }
  .dm-pricing-page .dm-plan__ribbon { position: absolute; top: -1px; left: -1px; right: -1px; height: 38px; border-radius: 16px 16px 0 0; display: flex; align-items: center; justify-content: center; background: var(--dm-blue-dark); color: #fff; font: 700 12px/1.4 var(--dm-ui); letter-spacing: 1.4px; text-transform: uppercase; }
  .dm-pricing-page .dm-plan--featured .dm-plan__button { background: var(--dm-blue-dark); color: #fff; }
  html[data-theme="dark"] .dm-pricing-page .dm-plan--featured { border-color: #a9c8db; }
  html[data-theme="dark"] .dm-pricing-page .dm-plan__ribbon,
  html[data-theme="dark"] .dm-pricing-page .dm-plan--featured .dm-plan__button { background: #a9c8db; color: #172c39; }
}

@media (max-width: 767px) {
  .dm-faq-page .dm-faq-item button { font-size: 14px; line-height: 1.4; height: auto; min-height: 40px; padding-top: 10px; padding-bottom: 10px; }
}

@media (max-width: 767px) {
  .dm-faq-page .dm-faq-category > h2 { font-size: 18px; line-height: 1.3; }
}

@media (max-width: 767px) {
  .dmi-v4-site .dm-page .dm-button { font-size: 12px !important; line-height: 1.4; width: auto; max-width: 100%; height: auto; min-height: 40px; padding: 10px 20px; white-space: normal; flex-shrink: 0; }
  .dmi-v4-site .dm-pricing-page .dm-gift .dm-button { font-size: 11.6054px !important; }
  .dmi-v4-site .dm-pricing-page .dm-plan__button { font-size: 17px; line-height: 1.4; white-space: normal; }
}

/* About themes use readable cards instead of narrow, forced text columns. */
@media (max-width: 767px) {
  .dm-about-page .dm-themes { padding: 32px 20px; gap: 24px; }
  .dm-about-page .dm-themes > h2 { width: 100%; max-width: 420px; font-size: 28px; line-height: 1.25; }
  .dm-about-page .dm-themes__grid { width: 100%; grid-template-columns: 1fr; grid-template-rows: none; gap: 16px; }
  .dm-about-page .dm-themes article { width: 100%; display: grid; grid-template-columns: 28px minmax(0,1fr); align-content: start; align-items: start; gap: 8px 14px; padding: 20px; text-align: left; background: var(--dm-warm); border: 1px solid var(--dm-line); border-radius: 14px; }
  .dm-about-page .dm-themes article .dm-mobile-picture { display: contents; }
  .dm-about-page .dm-themes article img { grid-column: 1; grid-row: 1 / span 2; width: 28px; height: 40px; margin: 0; }
  .dm-about-page .dm-themes article h3 { grid-column: 2; width: 100%; font-size: 18px; line-height: 1.3; margin: 0; }
  .dm-about-page .dm-themes article p { grid-column: 2; width: 100%; margin: 0; text-align: left; }
  .dm-about-page .dm-themes__note { width: 100%; max-width: 520px; padding: 0 4px; text-align: center; }
}
@media (min-width: 600px) and (max-width: 767px) {
  .dm-about-page .dm-themes__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .dmi-v4-site .dm-about-page .dm-themes article { padding: 20px; }
  .dmi-v4-site .dm-about-page .dm-themes__grid { row-gap: 16px; }
}

@media (max-width: 767px) {
  .dm-pricing-page .dm-plan__label,
  .dm-pricing-page .dm-plan__price,
  .dm-pricing-page .dm-plan__unit { text-align: center; }
}

/* Theme control beside the shopping bag on every screen size. */
.dm-header__theme { width: 36px; height: 36px; flex: 0 0 36px; padding: 0; border: 1px solid var(--dm-line); border-radius: 50%; background: var(--dm-paper); color: var(--dm-ink); display: grid; place-items: center; cursor: pointer; }
.dm-header__theme:hover { background: var(--dm-warm); }
.dm-header__theme:focus-visible { outline: 2px solid var(--dm-blue-dark); outline-offset: 3px; }
.dm-header__theme .dm-header__sun { display: none; }
html[data-theme="dark"] .dm-header__theme .dm-header__sun { display: block; }
html[data-theme="dark"] .dm-header__theme .dm-header__moon { display: none; }
@media (max-width: 767px) {
  .dm-header__nav { width: 66px; flex: 0 0 66px; height: 40px; gap: 6px; }
  .dm-header__theme { width: 32px; height: 32px; flex-basis: 32px; }
  .dm-header__bag { width: 28px; height: 36px; flex: 0 0 28px; }
}

@media (max-width: 767px) {
  .dm-home-page .dm-gift .dm-botanical--corner { top: -70px; bottom: auto; left: auto; right: 24px; pointer-events: none; }
}

@media (max-width: 767px) {
  .dm-home-page .dm-gift .dm-copy { padding-top: 94px; }
  .dm-home-page .dm-gift .dm-botanical--corner { top: 16px; bottom: auto; left: auto; right: 24px; }
}

@media (max-width: 767px) {
  .dm-home-page .dm-gift .dm-copy,
  .dm-home-page .dm-gift .dm-photo,
  .dm-home-page .dm-gift .dm-copy h2,
  .dm-home-page .dm-gift .dm-copy p:not(.dm-eyebrow),
  .dm-home-page .dm-gift .dm-copy small,
  .dmi-v4-site .dm-home-page .dm-gift .dm-button { width: 100%; max-width: 100%; min-width: 0; }
}

@media (max-width: 767px) {
  .dm-home-page .dm-rhythm .dm-copy,
  .dm-home-page .dm-rhythm .dm-photo,
  .dm-home-page .dm-rhythm .dm-copy .dm-eyebrow,
  .dm-home-page .dm-rhythm .dm-copy h2,
  .dm-home-page .dm-rhythm .dm-copy p:not(.dm-eyebrow),
  .dmi-v4-site .dm-home-page .dm-rhythm .dm-button { width: 100%; max-width: 100%; min-width: 0; }
}

/* Gift botanical sits alongside the heading, above the paragraph. */
@media (max-width: 767px) {
  .dm-home-page .dm-gift .dm-copy { padding-top: 24px; display: grid; grid-template-columns: minmax(0,400px) 56px minmax(0,1fr); column-gap: 12px; row-gap: 8px; align-items: start; }
  .dm-home-page .dm-gift .dm-copy h2 { grid-column: 1; grid-row: 1; margin: 0; }
  .dm-home-page .dm-gift .dm-copy > .dm-mobile-picture { display: contents; }
  .dm-home-page .dm-gift .dm-botanical--corner { position: static; grid-column: 2; grid-row: 1; width: 50px; height: 72px; align-self: start; justify-self: center; margin: 0; }
  .dm-home-page .dm-gift .dm-copy p,
  .dm-home-page .dm-gift .dm-copy small,
  .dmi-v4-site .dm-home-page .dm-gift .dm-button { grid-column: 1 / -1; }
}

/* New mobile Home hero has its own composition, without the old image zoom. */
@media (max-width: 767px) {
  .dm-home-page .dm-home-hero .dm-photo img { left: 0; top: -8px; width: 100%; height: calc(100% + 16px); object-fit: cover; object-position: center; }
}

/* Current photo exports keep their proportions inside the approved mobile frames. */
@media (max-width: 767px) {
  .dmi-v4-site .dm-page .dm-photo img {
    inset: auto;
    left: 0;
    top: -8px;
    width: 100%;
    max-width: none;
    height: calc(100% + 16px);
    object-fit: cover;
    object-position: center;
    transform: translate3d(0,var(--parallax-y,0),0);
  }
}

/* Shared mobile/tablet footer — Figma 173:11101, with bottom-aligned columns. */
@media (max-width: 1199px) {
  .dmi-v4-site footer.dm-footer {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    min-height: 204.22995px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7.258px;
    overflow: visible;
    background-color: var(--dmi-section-solid, #fff) !important;
    background-image: none !important;
  }
  .dmi-v4-site .dm-footer * { box-sizing: border-box; }
  .dmi-v4-site .dm-footer__inner {
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px;
  }
  .dmi-v4-site .dm-footer__column { flex: 0 0 auto; height: auto; min-width: 0; }
  .dmi-v4-site .dm-footer__explore { width: 37px; text-align: left; }
  .dmi-v4-site .dm-footer__details { width: 40px; text-align: right; }
  .dmi-v4-site .dm-footer__column h2 {
    height: 14px;
    margin: 0 0 11.053px;
    font: 600 12px/1.2 var(--dm-body);
    color: var(--dm-blue-dark);
  }
  .dmi-v4-site .dm-footer__column nav { display: flex; flex-direction: column; gap: 8px; }
  .dmi-v4-site .dm-footer__column a {
    position: relative;
    height: 8px;
    font: 500 6px/1.4 var(--dm-ui);
    letter-spacing: .6px;
    text-decoration: none;
    white-space: nowrap;
  }
  .dmi-v4-site .dm-footer__column a::after { content: ''; position: absolute; inset: -4.2px -4px; }
  .dmi-v4-site .dm-footer__brand {
    flex: 0 0 135px;
    width: 135px;
    min-width: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .dmi-v4-site .dm-brand--footer {
    width: 134.4033px;
    min-width: 0;
    height: auto;
    flex-direction: column;
    gap: 0;
  }
  .dmi-v4-site .dm-brand--footer > picture { display: block; width: 24.3828px; height: 35.1566px; }
  .dmi-v4-site .dm-brand--footer .dm-brand__mark {
    width: 24.3828px;
    height: 35.1566px;
    object-fit: contain;
    mix-blend-mode: normal;
    opacity: 1;
  }
  .dmi-v4-site .dm-brand--footer .dm-brand__copy {
    width: 134.4033px;
    min-width: 0;
    height: 21px;
    padding: 0;
    justify-content: flex-start;
  }
  .dmi-v4-site .dm-brand--footer .dm-brand__name {
    height: 15px;
    font-family: "DM Mobile Nineties", Cormorant, Georgia, serif;
    font-size: 12.527px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--dm-blue-dark);
  }
  .dmi-v4-site .dm-brand--footer .dm-brand__tagline {
    width: 100%;
    height: 6px;
    margin: 0;
    font: 500 5px/1.2 var(--dm-ui);
    letter-spacing: .9px;
    white-space: nowrap;
    text-transform: uppercase;
    color: var(--dm-muted);
  }
  .dmi-v4-site .dm-footer__brand > p {
    width: 134.4033px;
    height: 40px;
    margin: 5.527px 0 0;
    font-family: var(--dm-body);
    font-weight: 500;
    font-size: 8px !important;
    line-height: 1.3 !important;
    color: var(--dm-muted);
  }
  .dmi-v4-site .dm-footer .dm-footer__social {
    width: 135px;
    height: 15.2505px;
    margin-top: 16.58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    flex-wrap: nowrap;
  }
  .dmi-v4-site .dm-footer .dm-footer__social a,
  .dmi-v4-site .dm-footer .dm-footer__social a.dm-footer__social-link--custom {
    position: relative;
    flex: 0 0 14.9044px;
    width: 14.9044px;
    height: 15.2505px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .dmi-v4-site .dm-footer__social a::after { content: ''; position: absolute; width: 40px; height: 40px; left: 50%; top: 50%; transform: translate(-50%,-50%); }
  .dmi-v4-site .dm-footer__social-link--facebook { order: 1; }
  .dmi-v4-site .dm-footer__social-link--instagram { order: 2; }
  .dmi-v4-site .dm-footer__social-link--youtube { order: 3; }
  .dmi-v4-site .dm-footer__social-link--tiktok { order: 4; }
  .dmi-v4-site .dm-footer__social a > span { display: none; }
  .dmi-v4-site .dm-footer__social picture { display: block; width: 14.9044px; height: 15.2505px; }
  .dmi-v4-site .dm-footer .dm-footer__social img {
    display: block;
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
    object-fit: contain;
  }
  .dmi-v4-site .dm-footer .dm-footer__social img.dm-footer__social-icon--custom { width: 14.9044px; height: 15.2505px; }
  .dmi-v4-site .dm-footer__copyright { width: 100%; height: 10px; margin: 0; font: 500 8px/1.2 var(--dm-body); color: var(--dm-muted); text-align: center; }
  .dmi-v4-site .dm-footer a:focus-visible { outline: 2px solid var(--dm-blue-dark); outline-offset: 3px; }
  .dmi-v4-site .dm-back-to-top {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    right: calc(14px + env(safe-area-inset-right, 0px));
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    padding: 0;
    font: 500 20px/1 var(--dm-ui);
  }
  .dmi-v4-site .dm-back-to-top:focus-visible { outline: 2px solid var(--dm-blue-dark); outline-offset: 3px; }
  html[data-theme="dark"] .dmi-v4-site .dm-footer__social img:not(.dm-footer__social-icon--custom) { filter: brightness(1.4); }
}
