    body {
      min-height: max(884px, 100dvh);
    }
    .bloom-cta {
      margin: 118px auto 26px;
      padding: 54px 24px 18px;
      border-radius: 0;
      background: transparent;
      border: 0;
      max-width: 920px;
    }
    .bloom-cta-inner {
      max-width: 760px;
      margin: 0 auto;
      display: grid;
      justify-items: center;
      text-align: center;
      gap: 18px;
    }
    .bloom-cta-title {
      margin: 0;
      font-family: "Cormorant Garamond", "YouYuan", "Noto Serif", serif;
      font-size: clamp(1.82rem, 2.4vw, 2.24rem);
      font-weight: 400;
      line-height: 1.08;
      letter-spacing: -0.016em;
      color: #252220;
    }
    .bloom-cta-title em { font-style: italic; }
    .bloom-cta-copy,
    .bloom-cta-footnote {
      margin: 0;
      font-family: "Cormorant Garamond", "YouYuan", "Noto Serif", serif;
      font-style: italic;
      font-size: clamp(0.88rem, 0.92vw, 0.96rem);
      line-height: 1.46;
      color: #9e826d;
    }
    .bloom-cta-button {
      margin-top: 10px;
      min-width: min(100%, 360px);
      padding: 18px 28px;
      border-radius: 0;
      background: #7e4358;
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      font-size: 0.92rem;
      font-weight: 700;
      transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
    }
    .bloom-cta-button:hover,
    .bloom-cta-button:focus-visible {
      transform: translateY(-2px);
      background: #714052;
      box-shadow: 0 16px 36px rgba(126,67,88,0.18);
    }
    .bloom-cta-icon {
      font-size: 1.8rem !important;
      line-height: 1;
      flex: 0 0 auto;
      opacity: 1 !important;
    }
    .bloom-cta-footnote {
      margin-top: 6px;
      font-size: clamp(0.88rem, 0.95vw, 0.94rem);
    }
    @media (max-width: 767px) {
      .bloom-cta {
        margin-top: 56px;
        padding: 26px 18px 0;
      }
      .bloom-cta-button {
        width: 100%;
        min-width: 0;
        font-size: 0.94rem;
        letter-spacing: 0.12em;
        padding: 16px 20px;
      }
    }
    .flora-page-loader {
      position: fixed;
      inset: 0;
      z-index: 99999;
      display: grid;
      place-items: center;
      background: #f9f9f9;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transition: opacity .22s ease, visibility .22s ease;
    }
    .flora-page-loader.is-hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }
    .flora-page-loader__dot {
      width: 42px;
      height: 42px;
      border-radius: 999px;
      border: 2px solid rgba(0,0,0,.14);
      border-top-color: rgba(0,0,0,.72);
      animation: flora-loader-spin .8s linear infinite;
    }
    @keyframes flora-loader-spin {
      to { transform: rotate(360deg); }
    }

    /* ©¤©¤ Mobile fixes (mirrors Customizer rules for home) ©¤©¤ */
    @media (max-width: 768px) {
      /* P0-1: hide overlapping Moments ribbon labels */
      #momentsPhotoLayer .ribbon-label,
      .moments-section .ribbon-label {
        display: none !important;
      }

      /* P0-2: kill shop-taxonomy dropdown overflow on mobile */
      .shop-taxonomy-item.has-children .shop-taxonomy-panel,
      .shop-taxonomy-item.has-children .shop-taxonomy-submenu {
        position: static !important;
        max-width: 100% !important;
        overflow: hidden !important;
      }
      body {
        overflow-x: hidden !important;
      }

      /* P1-1: bottom padding for sticky tab bar */
      body {
        padding-bottom: 84px !important;
      }

      /* Constrain top-bar icons on mobile */
      nav[aria-label="Top App Bar"] .material-symbols-outlined {
        font-size: 20px !important;
      }
      nav[aria-label="Top App Bar"] {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
      }
    }
