:root {
  --jouman-rose: #ab5778;
  --jouman-blush: #f9e6ef;
  --jouman-pearl: #fffdf8;
}
body:not(.admin-body) {
  background:
    radial-gradient(ellipse at 8% 14%, #fae8f0 0, transparent 35%),
    radial-gradient(ellipse at 90% 48%, #f5eee2 0, transparent 40%), #fffdf9;
}
#main {
  isolation: isolate;
}
.maison-hero {
  background:
    radial-gradient(ellipse at 15% 35%, #f0cbdc90, transparent 55%),
    linear-gradient(120deg, #fff7f8, #f6ede4);
}
.page-hero {
  background:
    radial-gradient(ellipse at 9% 65%, #ecc9d8a0, transparent 45%),
    linear-gradient(115deg, #fff7fa, #f7eee6);
}
.hero-copy .hero-description,
.detail-description {
  font-size: 19px !important;
  line-height: 1.95 !important;
}
.product-detail details p,
.product-detail ul,
.product-detail label,
.prose p,
.prose li,
.faq-list p,
.faq-answer,
.shop-description {
  font-size: 18px !important;
  line-height: 1.95;
}
.product-name {
  font-size: 21px !important;
}
.product-card .product-price,
.product-info p {
  font-size: 17px;
}
.detail-notes span,
.product-sku,
.product-assurances,
.spec-grid,
.breadcrumbs,
.filter-btn,
.shop-toolbar select,
.product-english {
  font-size: 15px !important;
}
.prose h2 {
  font-size: clamp(26px, 3vw, 35px);
}
.magic-word {
  position: relative;
  isolation: isolate;
  font-style: normal;
  color: var(--jouman-rose);
}
.magic-word:after {
  content: "";
  position: absolute;
  inset: auto -3px 3px;
  height: 0.3em;
  border-radius: 50%;
  z-index: -1;
  background: linear-gradient(90deg, #eed9a160, #f0c7d6b0, #eed9a160);
  transform: rotate(-2deg);
}
.magic-word:before {
  content: "✧";
  position: absolute;
  font: 18px Arial;
  left: -18px;
  top: -5px;
  color: #bd8198;
  animation: word-sparkle 3.8s ease-in-out infinite;
}
.wordmark {
  display: inline-block;
  transform-origin: center;
  animation: logo-breathe 5s ease-in-out infinite;
}
.wordmark:after {
  content: "✦";
  display: inline-block;
  font: 12px Arial;
  color: #b97893;
  margin-inline-start: 7px;
  animation: word-sparkle 3.2s ease-in-out infinite;
}
.jouman-sparkles {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  overflow: hidden;
}
.jouman-sparkles span {
  position: absolute;
  left: var(--spark-x);
  top: var(--spark-y);
  font-size: var(--spark-size);
  color: #bd7d9760;
  animation: sparkle-drift 8s ease-in-out var(--spark-delay) infinite;
}
.sparkles-paused span {
  animation-play-state: paused;
}
.love-orbit {
  width: 120px;
  height: 120px;
  position: absolute;
  right: 20px;
  bottom: 80px;
  background: #fff9f4ee;
  border: 1px solid #d7a9bd90;
  border-radius: 50%;
  box-shadow: 0 8px 25px #6a375a16;
  pointer-events: none;
  z-index: 5;
  display: grid;
  place-items: center;
}
.love-orbit svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  animation: orbit-love 24s linear infinite;
}
.love-orbit text {
  font-family: Tajawal, Arial;
  font-size: 11.3px;
  letter-spacing: 0.8px;
  fill: #9d5b75;
}
.love-orbit > span {
  font: 35px Amiri;
  color: #a75779;
}
.orbit-small {
  width: 82px;
  height: 82px;
  right: 13px;
  bottom: 15px;
}
.orbit-small > span {
  font-size: 27px;
}
.product-gallery {
  position: relative;
}
.product-gallery > .love-orbit {
  bottom: 55px;
}
.maison-slideshow {
  position: relative;
  overflow: hidden;
  min-height: inherit;
}
.maison-slide {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  will-change: opacity;
  pointer-events: none;
  transform: scale(1.03);
}
.maison-slide.is-current {
  animation: image-journey 7s ease-out forwards;
}
.maison-slide-controls {
  position: absolute;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
  align-items: center;
  z-index: 6;
  background: #fff8f1dd;
  backdrop-filter: blur(12px);
  padding: 9px 12px;
  border: 1px solid #ffffffb0;
  border-radius: 30px;
  box-shadow: 0 8px 25px #66314f15;
}
.maison-slide-controls > button {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #824964;
  font-size: 17px;
  cursor: pointer;
}
.maison-slide-controls > div {
  display: flex;
  gap: 8px;
}
.maison-slide-controls [data-slide] {
  width: 8px;
  height: 8px;
  border: 0;
  padding: 0;
  border-radius: 50%;
  background: #d5b6c4;
  cursor: pointer;
  transition:
    width 0.4s,
    background 0.4s;
}
.maison-slide-controls [aria-pressed="true"][data-slide] {
  width: 23px;
  border-radius: 10px;
  background: #a75779;
}
.maison-slide-controls button:focus-visible {
  outline: 2px solid #a75779;
  outline-offset: 4px;
}
.magic-stack {
  padding-top: 90px;
  padding-bottom: 70px;
  max-width: 1330px;
}
.magic-stack-card {
  position: sticky;
  top: calc(100px + var(--stack-index) * 14px);
  min-height: 440px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #e6cbd8;
  border-radius: 28px;
  overflow: hidden;
  margin-bottom: 30px;
  z-index: calc(3 + var(--stack-index));
  box-shadow: 0 18px 50px #7b4b6312;
  background: #fff9f6;
}
.magic-stack-card:nth-child(3) {
  background: #f5eced;
}
.magic-stack-card:nth-child(4) {
  background: #f5e5ed;
}
.stack-copy {
  padding: 55px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.stack-number {
  font:
    12px "DM Sans",
    Arial;
  letter-spacing: 2px;
  color: #a36f85;
  margin-bottom: 30px;
}
.stack-copy h3 {
  font-size: 38px;
  font-weight: 500;
  line-height: 1.45;
  margin: 0 0 20px;
  font-family: Amiri, serif;
}
.stack-copy h3 em {
  display: block;
  font-size: 28px;
}
.stack-copy p {
  font-size: 18px;
  max-width: 390px;
  line-height: 1.9;
  margin-bottom: 28px;
}
.stack-photo {
  position: relative;
  min-width: 0;
  overflow: hidden;
}
.stack-photo > .editorial-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transition: transform 1.5s;
}
.magic-stack-card:hover .stack-photo > .editorial-photo {
  transform: scale(1.04);
}
.stack-photo .love-orbit {
  bottom: 25px;
  right: 25px;
}
.luxury-reveal {
  transition:
    translate 0.9s cubic-bezier(0.2, 0.65, 0.2, 1),
    filter 0.9s;
}
.luxury-reveal:not(.luxury-visible) {
  translate: 0 18px;
}
.luxury-reveal.luxury-visible {
  translate: 0 0;
}
.product-art .editorial-photo {
  transition:
    transform 1.2s cubic-bezier(0.2, 0.65, 0.2, 1),
    filter 1.2s;
}
.product-card:hover .product-art .editorial-photo {
  transform: scale(1.07);
  filter: saturate(1.08);
}
.product-card:hover .love-orbit svg {
  animation-duration: 12s;
}
.newsletter {
  background:
    radial-gradient(ellipse at 80% 20%, #fff3f8a0, transparent 60%),
    linear-gradient(120deg, #eed6e1, #f5e8db);
}
@keyframes logo-breathe {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-2px) scale(1.025);
  }
}
@keyframes orbit-love {
  to {
    transform: rotate(360deg);
  }
}
@keyframes word-sparkle {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.8) rotate(-12deg);
  }
  50% {
    opacity: 1;
    transform: scale(1.12) rotate(12deg);
  }
}
@keyframes sparkle-drift {
  0%,
  100% {
    opacity: 0;
    transform: translateY(12px) scale(0.6);
  }
  35%,
  65% {
    opacity: 0.8;
  }
  50% {
    transform: translateY(-16px) scale(1.15);
  }
}
@keyframes image-journey {
  from {
    transform: scale(1.03);
  }
  to {
    transform: scale(1.1) translateY(-1%);
  }
}
@media (max-width: 760px) {
  .hero-copy .hero-description,
  .detail-description {
    font-size: 17px !important;
  }
  .product-detail details p,
  .product-detail ul,
  .prose p,
  .prose li,
  .faq-list p,
  .faq-answer {
    font-size: 17px !important;
  }
  .product-name {
    font-size: 18px !important;
  }
  .product-english,
  .spec-grid,
  .product-sku,
  .detail-notes span {
    font-size: 14px !important;
  }
  .love-orbit {
    width: 94px;
    height: 94px;
    right: 12px;
    bottom: 70px;
  }
  .orbit-small {
    width: 64px;
    height: 64px;
    right: 9px;
    bottom: 10px;
  }
  .orbit-small > span {
    font-size: 23px;
  }
  .maison-slide-controls {
    bottom: 18px;
    gap: 8px;
  }
  .magic-stack {
    padding-top: 55px;
    padding-bottom: 45px;
  }
  .magic-stack-card {
    top: calc(82px + var(--stack-index) * 9px);
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .stack-copy {
    padding: 25px;
  }
  .stack-number {
    margin-bottom: 14px;
    font-size: 11px;
  }
  .stack-copy h3 {
    font-size: 29px;
    margin-bottom: 12px;
  }
  .stack-copy h3 em {
    font-size: 23px;
  }
  .stack-copy p {
    font-size: 16px;
    margin-bottom: 18px;
  }
  .stack-photo {
    height: 250px;
  }
  .stack-photo .love-orbit {
    bottom: 18px;
    right: 18px;
  }
  .jouman-sparkles span:nth-child(n + 7) {
    display: none;
  }
  .magic-word:before {
    font-size: 14px;
    left: -12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .wordmark,
  .wordmark:after,
  .magic-word:before,
  .love-orbit svg,
  .jouman-sparkles span,
  .maison-slide.is-current {
    animation: none !important;
  }
  .jouman-sparkles {
    display: none;
  }
  .luxury-reveal,
  .product-art .editorial-photo,
  .stack-photo > .editorial-photo {
    transition: none !important;
  }
  .luxury-reveal {
    translate: none !important;
  }
  .magic-stack-card {
    position: relative;
    top: auto;
  }
  .maison-slide {
    transform: none !important;
  }
}
/* Preserve the header and the inset editorial image frame. */
.wordmark {
  display: flex;
  position: relative;
}
.wordmark:after {
  position: absolute;
  left: -9px;
  top: 0;
  margin: 0;
}
.hero-art-frame.maison-slideshow {
  position: absolute;
  min-height: 0;
}
.product-bottom .price {
  font-size: 19px;
}
.product-bottom .price small,
.product-badge,
.quick-view,
.catalog-toolbar button {
  font-size: 14px !important;
}
.catalog-toolbar .filters {
  flex-wrap: wrap;
}
.product-english {
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  .product-bottom .price {
    font-size: 18px;
  }
  .product-bottom .price small {
    font-size: 13px !important;
  }
  .wordmark:after {
    left: -5px;
    font-size: 10px;
  }
  .catalog-toolbar button {
    font-size: 14px !important;
  }
}
/* Generous typography and carefully framed details. */
.faq-preview details summary,
#faq-list details summary {
  font-size: 20px !important;
  line-height: 1.8;
  padding: 23px 26px;
}
.faq-preview details p,
#faq-list details p {
  font-size: 18px !important;
  line-height: 2;
  padding: 0 26px 25px !important;
}
.newsletter > div > p:not(.eyebrow) {
  font-size: 19px !important;
  line-height: 1.9;
}
.newsletter small {
  font-size: 16px !important;
  line-height: 1.8;
  display: block;
  margin-top: 14px;
}
.newsletter h2 {
  font-size: clamp(34px, 4vw, 51px);
}
.newsletter .email-field input {
  font-size: 18px;
}
.footer-brand p {
  font-size: 18px !important;
  line-height: 1.9;
}
.footer-main h3 {
  font-size: 21px !important;
}
.footer-main > div > a:not(.wordmark),
.footer-main > div > button {
  font-size: 17px !important;
  line-height: 1.9;
  padding-block: 5px;
}
.footer-brand .wordmark small {
  font-size: 12px !important;
  letter-spacing: 2px;
}
.payment-pill,
.footer-bottom {
  font-size: 14px !important;
}
.benefits {
  padding-block: 35px;
  gap: 20px;
  background: linear-gradient(100deg, #fcf3f8, #fff9ef, #fcf3f8);
}
.benefits > div {
  padding: 14px;
  border-radius: 18px;
  transition:
    background 0.4s,
    transform 0.4s;
}
.benefits > div:hover {
  background: #ffffff90;
  transform: translateY(-4px);
}
.benefits > div > span {
  font-size: 34px;
  color: #ac5c7c;
  animation: benefit-glow 4s ease-in-out infinite;
  text-shadow: 0 0 16px #d09eb47a;
}
.benefits > div:nth-child(2) > span {
  animation-delay: -1s;
}
.benefits > div:nth-child(3) > span {
  animation-delay: -2s;
}
.benefits b {
  font-size: 19px !important;
  line-height: 1.7;
}
.benefits small {
  font-size: 16px !important;
  line-height: 1.8;
}
.gift-editorial {
  max-width: 1240px;
  margin: 40px auto 65px;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid #ead6df;
  background: radial-gradient(ellipse at 70% 15%, #fffaf2, #f5e6ee);
  grid-template-columns: 0.95fr 1.05fr;
  box-shadow: 0 20px 55px #925b7612;
  min-height: 430px;
}
.gift-editorial > .editorial-photo {
  min-height: 430px;
  border-radius: 0;
  transition: transform 1.5s;
}
.gift-editorial:hover > .editorial-photo {
  transform: scale(1.035);
}
.gift-editorial > div:not(.editorial-photo) {
  padding: 50px;
}
.gift-editorial h2 {
  font-size: clamp(34px, 3.8vw, 47px);
  line-height: 1.5;
}
.gift-editorial p:not(.eyebrow) {
  font-size: 19px !important;
  line-height: 1.95;
}
.gift-tags {
  font-size: 16px !important;
  gap: 15px;
  flex-wrap: wrap;
}
.gift-tags span {
  padding: 9px 13px;
  background: #ffffffb0;
  border: 1px solid #ecd3de;
  border-radius: 30px;
}
.product-card {
  background: #fffaf7;
  border: 1px solid #eedce4;
  border-radius: 24px;
  padding: 12px;
  box-shadow: 0 7px 25px #89536807;
  transition:
    box-shadow 0.5s,
    translate 0.6s,
    border-color 0.5s;
}
.product-card:hover {
  border-color: #d6a6ba;
  box-shadow: 0 15px 40px #89536819;
  translate: 0 -5px;
}
.product-art {
  border-radius: 18px;
  overflow: hidden;
  isolation: isolate;
}
.product-art:after {
  content: "";
  position: absolute;
  inset: -30%;
  background: linear-gradient(
    115deg,
    transparent 30%,
    #fff5 48%,
    transparent 63%
  );
  transform: translateX(110%) rotate(-10deg);
  transition: transform 1.1s;
  pointer-events: none;
  z-index: 2;
}
.product-card:hover .product-art:after {
  transform: translateX(-110%) rotate(-10deg);
}
.product-meta {
  padding: 20px 5px 8px;
}
.product-name {
  font-family: Amiri, serif;
  font-size: 25px !important;
  color: #694151;
  display: block;
  line-height: 1.5;
  margin: 8px 0;
}
.product-name:hover {
  color: #a95076;
}
.product-meta .product-notes {
  font-size: 16px !important;
  line-height: 1.8;
}
.product-bottom {
  align-items: center;
  gap: 8px;
  margin-top: 18px;
}
.product-bottom .price {
  font-size: 24px !important;
  color: #92516d;
  font-weight: 600;
  line-height: 1.5;
}
.product-bottom .price small {
  display: block;
  font-size: 14px !important;
  font-weight: 400;
  color: #8c727e;
  white-space: normal;
  line-height: 1.8;
}
.add-product {
  background: #f7e7ef !important;
  border: 1px solid #dfbccc !important;
  color: #9d5375 !important;
  width: 43px;
  height: 43px;
  border-radius: 50% !important;
  flex-shrink: 0;
  transition:
    background 0.3s,
    rotate 0.4s;
}
.add-product:hover {
  background: #ebcddb !important;
  rotate: 90deg;
}
.catalog-toolbar {
  background: #fff8fb;
  border: 1px solid #ecd5e0;
  border-radius: 20px;
  padding: 20px;
  gap: 18px;
}
.filters button.selected {
  background: #9f5576;
  color: white;
  border-radius: 24px;
}
.shop-tools input {
  font-size: 17px;
}
.product-page .product-detail {
  gap: 55px;
  align-items: start;
}
.product-gallery {
  border-radius: 30px;
  background: #f8e8f0;
  padding: 15px;
  border: 1px solid #ead3df;
  overflow: hidden;
  box-shadow: 0 15px 45px #87556610;
}
.product-gallery > .editorial-photo {
  border-radius: 20px;
  overflow: hidden;
  transition:
    transform 1.2s,
    filter 1.2s;
}
.product-gallery:hover > .editorial-photo {
  transform: scale(1.025);
  filter: saturate(1.08);
}
.product-gallery > span:not(.love-orbit) {
  display: block;
  font-size: 14px !important;
  line-height: 1.8;
  margin-top: 15px;
}
.product-detail > div:last-child {
  background: linear-gradient(145deg, #fffcfa, #fff5f9);
  border: 1px solid #efdbe4;
  border-radius: 26px;
  padding: 35px;
}
.product-detail h1 {
  font-size: clamp(34px, 3.3vw, 48px) !important;
  line-height: 1.5;
  color: #6c4355;
}
.product-detail .detail-description {
  font-size: 20px !important;
  line-height: 2 !important;
}
.detail-price {
  font-size: 38px !important;
  padding: 17px 0;
  color: #a35477;
}
.detail-price small {
  font-size: 18px !important;
}
.detail-notes {
  gap: 10px;
  flex-wrap: wrap;
}
.detail-notes span {
  font-size: 16px !important;
  padding: 10px 15px;
  border-radius: 25px;
  background: #f4e3ec;
  border: 1px solid #e7c9d8;
}
.size-picker button {
  font-size: 17px !important;
  min-height: 48px;
  border-radius: 13px;
}
.product-detail details {
  background: #fffdfb;
  border: 1px solid #ecd9e2;
  border-radius: 15px;
  margin-top: 14px;
  overflow: hidden;
}
.product-detail details summary {
  padding: 18px;
  font-size: 20px !important;
}
.product-detail details p,
.product-detail details ul {
  font-size: 18px !important;
  line-height: 2;
  padding: 0 20px 20px;
}
.spec-grid {
  padding: 12px 18px;
  font-size: 17px !important;
  line-height: 1.8;
}
.spec-grid > div {
  border-bottom: 1px solid #f1e1e9;
  padding: 10px 0;
}
.product-assurances {
  font-size: 16px !important;
  padding: 20px 0;
}
.faq-intro {
  max-width: 720px;
  margin-bottom: 30px;
}
.faq-intro p {
  font-size: 18px;
}
.faq-topics {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 25px;
}
.faq-topics button {
  border: 1px solid #e2bfd0;
  border-radius: 30px;
  padding: 12px 18px;
  background: #fffafc;
  color: #82546a;
  font-size: 16px;
  cursor: pointer;
  transition:
    background 0.3s,
    box-shadow 0.3s;
}
.faq-topics button[aria-pressed="true"] {
  background: #a55778;
  color: white;
  box-shadow: 0 6px 18px #ac55752b;
}
.faq-page #faq-search {
  border-radius: 18px;
  border-color: #dfbdcd;
  font-size: 18px;
  padding: 18px 22px;
  margin-bottom: 30px;
}
#faq-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}
#faq-list details {
  border: 1px solid #e8cedb;
  border-radius: 20px;
  background: #fffaf7;
  box-shadow: 0 8px 24px #975d7610;
  overflow: hidden;
}
#faq-list details[open] {
  background: linear-gradient(130deg, #fffafa, #fbecf2);
  border-color: #d5a4ba;
}
#faq-list details summary span {
  display: none;
}
.faq-preview details {
  border: 1px solid #e8cedb !important;
  border-radius: 16px;
  padding: 0 !important;
  margin-bottom: 14px;
  background: #fffaf7;
}
.faq-contact {
  border-radius: 24px;
  background: linear-gradient(110deg, #f5e1ec, #fff3e4);
  padding: 35px !important;
  margin-top: 40px;
}
.reviews-section {
  background: radial-gradient(ellipse at 10% 25%, #f8e2ed80, transparent 50%);
  border-block: 1px solid #f1e0e8;
}
.review-track {
  gap: 24px;
  padding: 18px 0 30px;
}
.review-card {
  border-radius: 24px;
  border: 1px solid #e6ccda;
  background: linear-gradient(145deg, #fffdf9, #fff4f8);
  box-shadow: 0 13px 35px #8d536b10;
  padding: 30px;
}
.review-card:nth-child(2) {
  background: linear-gradient(145deg, #fff9f1, #f8e9ef);
}
.review-card blockquote {
  font-size: 25px !important;
  line-height: 1.9;
  font-family: Amiri, serif;
}
.review-card-top {
  font-size: 16px !important;
}
.review-demo-badge {
  font-size: 13px !important;
}
.review-card-bottom b {
  font-size: 16px !important;
  line-height: 1.7;
}
.review-card-bottom small,
.reviews-disclosure,
.review-controls {
  font-size: 15px !important;
  line-height: 1.8;
}
.review-avatar {
  background: #eecfdd;
  font-size: 17px;
}
.review-quote-mark {
  color: #c291a7;
  font-size: 65px;
}
.review-controls button {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #dcb8ca;
  background: #fff8fb;
  font-size: 22px;
}
@keyframes benefit-glow {
  0%,
  100% {
    opacity: 0.7;
    transform: translateY(0);
    text-shadow: 0 0 6px #ce9eb3;
  }
  50% {
    opacity: 1;
    transform: translateY(-4px);
    text-shadow: 0 0 22px #c1789c;
  }
}
@media (max-width: 760px) {
  .faq-preview details summary,
  #faq-list details summary {
    font-size: 18px !important;
    padding: 20px;
  }
  .faq-preview details p,
  #faq-list details p {
    font-size: 17px !important;
    padding: 0 20px 20px !important;
  }
  .newsletter small {
    font-size: 15px !important;
  }
  .newsletter > div > p:not(.eyebrow) {
    font-size: 17px !important;
  }
  .footer-brand p {
    font-size: 17px !important;
  }
  .footer-main > div > a:not(.wordmark),
  .footer-main > div > button {
    font-size: 16px !important;
  }
  .footer-main h3 {
    font-size: 20px !important;
  }
  .benefits {
    gap: 8px;
    padding: 20px 12px;
  }
  .benefits > div {
    padding: 12px 7px;
  }
  .benefits b {
    font-size: 16px !important;
  }
  .benefits small {
    font-size: 15px !important;
  }
  .benefits > div > span {
    font-size: 28px;
  }
  .gift-editorial {
    margin: 30px 18px 45px;
    grid-template-columns: 1fr;
    min-height: 0;
    border-radius: 24px;
  }
  .gift-editorial > .editorial-photo {
    min-height: 280px;
    aspect-ratio: 1.3;
  }
  .gift-editorial > div:not(.editorial-photo) {
    padding: 27px;
  }
  .gift-editorial h2 {
    font-size: 33px !important;
  }
  .gift-editorial p:not(.eyebrow) {
    font-size: 17px !important;
  }
  .gift-tags {
    font-size: 15px !important;
  }
  .product-card {
    padding: 8px;
    border-radius: 19px;
  }
  .product-art {
    border-radius: 13px;
  }
  .product-meta {
    padding: 15px 3px 5px;
  }
  .product-name {
    font-size: 22px !important;
  }
  .product-meta .product-notes {
    font-size: 14px !important;
  }
  .product-bottom .price {
    font-size: 22px !important;
  }
  .product-bottom .price small {
    font-size: 14px !important;
  }
  .add-product {
    width: 34px;
    height: 34px;
  }
  .product-bottom {
    flex-wrap: wrap;
  }
  .catalog-toolbar {
    padding: 15px;
  }
  .product-detail > div:last-child {
    padding: 23px;
  }
  .product-page .product-detail {
    gap: 25px;
  }
  .product-detail h1 {
    font-size: 33px !important;
  }
  .product-detail .detail-description {
    font-size: 18px !important;
  }
  .detail-price {
    font-size: 34px !important;
  }
  .detail-notes span {
    font-size: 15px !important;
  }
  .product-detail details summary {
    font-size: 18px !important;
  }
  .spec-grid {
    font-size: 16px !important;
  }
  .size-picker button {
    font-size: 16px !important;
  }
  .product-assurances {
    font-size: 15px !important;
  }
  #faq-list {
    grid-template-columns: 1fr;
  }
  .faq-topics {
    gap: 9px;
  }
  .faq-topics button {
    font-size: 15px;
    padding: 11px 15px;
  }
  .review-card {
    padding: 25px;
  }
  .review-card blockquote {
    font-size: 24px !important;
  }
  .reviews-disclosure {
    font-size: 15px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .benefits > div > span {
    animation: none;
  }
  .product-art:after {
    display: none;
  }
  .gift-editorial > .editorial-photo,
  .product-gallery > .editorial-photo {
    transition: none;
  }
  .product-card:hover {
    translate: none;
  }
}
.benefits small{background:linear-gradient(110deg,#886779 20%,#b37290 40%,#f0c5db 50%,#886779 65%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent!important;animation:subtitle-gleam 6s ease-in-out infinite}.benefits>div:nth-child(2) small{animation-delay:-1.5s}.benefits>div:nth-child(3) small{animation-delay:-3s}.benefits>div:nth-child(4) small{animation-delay:-4.5s}.quantity span{font-size:18px}.maison-slide.is-current{animation:image-journey 7s ease-out forwards,slide-clarity 1.2s ease-out forwards}@keyframes subtitle-gleam{0%,100%{background-position:100% 50%;translate:0 0}50%{background-position:0 50%;translate:0 -2px}}@keyframes slide-clarity{from{filter:blur(2px) brightness(.92)}to{filter:blur(0) brightness(1)}}@media(prefers-reduced-motion:reduce){.benefits small{animation:none;color:#886779!important;background:none}.maison-slide.is-current{animation:none!important}}
.product-page .product-gallery{position:sticky;top:120px}@media(max-width:760px){.product-page .product-gallery{position:relative!important;top:auto}}
