/* Shopping refinement: keep the atelier imagery and three signature motion scenes. */
:root { --intro-height: 310px; --dur-scene: 500ms; }
.site-header .topline { min-height: 36px; height: 36px; font-size: 11px; }
.site-header .masthead { height: 86px; }
.site-header .brand { height: 78px; }
.site-header .brand img { width: 65px; height: 73px; }
.site-header .category-nav, .site-header .category-nav :is(button,a) { min-height: 44px; }
.site-header .category-nav :is(button,a) { font-size: 12px; }
.header-kicker { font-size: 10px; }
.story-rail { padding-block: 14px; gap: 26px; }
.story-rail-intro { width: 164px; }
.story-rail-intro .eyebrow { font-size: 10px; }
.story-rail h2 { font-size: 28px; }
.story-tile-caption { font-size: 12px; line-height: 1.35; inset-inline: 10px; }
.story-tile-index { font-size: 9px; }
.story-tile::after { inset-block-start: 15%; background: linear-gradient(transparent 15%, #000d); }
.hero { height: min(620px, calc(100svh - var(--intro-height))); min-height: 390px; }
.hero h1, .hero h2 { font-size: clamp(58px, 6vw, 86px); }
.hero-edition { margin-bottom: 24px; font-size: 11px; }
.hero .eyebrow, .hero-feature-tag, .stage-signature { font-size: 11px; }
.hero-description { font-size: 14px; max-width: 34ch; }
.hero-feature bdi { font-size: 13px; }
.hero-slide--collection .hero-feature { inset-block-start: 78px; }
.care-universe { padding-block: 46px 50px; }
.care-intro { margin-bottom: 24px; }
.care-intro .eyebrow, .care-section-index { font-size: 11px; }
.category-photo { aspect-ratio: 1.1; }
.category-description { font-size: 12px; letter-spacing: 0; }
.category-heading { font-size: clamp(30px, 3vw, 44px); }
.category-number { font-size: 11px; }
.collection .collection-eyebrow, .collection-currency { font-size: 11px; }
.collection-introduction > p { font-size: 14px; }
.collection .view-all { font-size: 13px; }
.collection .product-type { font-size: 11px; letter-spacing: .025em; flex-wrap: wrap; }
.collection .product-price { font-size: 14px; }
.collection .product-meta h3 a { display: inline-block; white-space: normal; }
.collection .product-meta h3 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.product-name-line { flex-direction: column; gap: 10px; min-height: 85px; }
.product-edition { font-size: 9px; }
.product-add, .collection .quick-view { font-size: 13px; }
.filter-count { font-size: 10px; color: #555; }
.collection-position { font-size: 11px; color: #555; }
.collection .product-card { animation: none !important; }
.ritual-scene--pinned { height: 145svh; }
.ritual-masthead .eyebrow, .ritual-masthead > span { font-size: 11px; }
.ritual-scene-copy .featured-description { font-size: 14px; }
.ritual-set-name { font-size: 14px; }
.ritual-set-name bdi, .chapter-size, .chapter-index { font-size: 11px; }
.ritual-price { font-size: 16px; }
.ritual-cta { font-size: 14px; }
.scene-sample, .ritual-footnote { font-size: 11px; }
.texture-copy .eyebrow, .story-copy .eyebrow { font-size: 11px; }
.texture-copy > p:not(.eyebrow), .texture-copy .text-link { font-size: 14px; }
.texture-section + .story-section { margin-block-start: clamp(32px,4vw,72px); }
.story-section .portrait-interactive { height: auto; min-height: 580px; aspect-ratio: 1.35; }
.story-copy { padding-block: 40px; }
.story-copy h2 { font-size: clamp(45px, 4.9vw, 70px); }
.story-copy > p:not(.eyebrow) { font-size: 14px; max-width: 40ch; }
.story-location, .story-image-note, .portrait-hint { font-size: 11px; letter-spacing: .03em; }
.story-location { line-height: 1.8; }
.story-signature { width: 58px; margin-top: 24px; }
.portrait-hint { max-width: calc(100% - 48px); white-space: normal; }

/* A useful care index replaces the repeated aspirational three-step copy. */
.care-guide { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px clamp(36px,7vw,100px); padding-block: 68px; }
.guide-introduction { grid-column: 1; grid-row: 1; }
.guide-introduction > .eyebrow { font-size: 11px; margin-bottom: 14px; }
.guide-introduction h2 { font-size: clamp(42px,4.3vw,62px); line-height: 1.05; letter-spacing: -.035em; max-width: 12ch; margin-bottom: 20px; }
.guide-introduction > p:not(.eyebrow) { color: var(--color-muted); font-size: 14px; max-width: 36ch; }
.guide-steps { grid-column: 1; grid-row: 2; }
.guide-steps li { display: flex; gap: 18px; padding-block: 16px; border-top: 1px solid var(--color-rule); }
.guide-steps li > span { font-size: 12px; color: var(--color-muted); padding-top: 2px; }
.guide-steps h3 { font: 500 14px/1.7 var(--font-body); margin-bottom: 5px; }
.guide-steps p { font-size: 13px; color: var(--color-muted); max-width: 43ch; }
.guide-picker { align-self: center; min-width: 0; grid-column: 2; grid-row: 1 / span 2; }
.guide-tabs { display: flex; border-bottom: 1px solid var(--color-rule); gap: 26px; }
.guide-tabs button { min-height: 52px; font-size: 13px; white-space: normal; text-align: start; border-bottom: 2px solid transparent; }
.guide-tabs [aria-pressed=true] { border-color: var(--color-ink); }
.guide-results { padding-top: 26px; }
.guide-results > .eyebrow { font-size: 11px; letter-spacing: .06em; margin-bottom: 12px; }
.guide-products a { display: flex; align-items: center; gap: 16px; min-height: 100px; padding-block: 12px; border-bottom: 1px solid var(--color-rule); white-space: normal; }
.guide-products img { width: 62px; height: 76px; object-fit: cover; }
.guide-products a > span { flex: 1; font: 400 25px/1.15 var(--font-display); }
.guide-products a > span bdi { display: block; font: 400 11px/1.6 var(--font-body); color: var(--color-muted); margin-top: 7px; }
.guide-products a > bdi { font-size: 12px; }
.guide-products .icon { width: 18px; }
.guide-products a:hover > span { text-decoration: underline; text-underline-offset: 5px; }
.guide-results > .text-link { margin-top: 20px; font-size: 13px; }

/* Independent product destination, with quick view retained in the catalogue. */
.product-page { padding: 24px var(--page-gutter) 64px; }
.product-breadcrumb { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 12px; margin-bottom: 24px; color: var(--color-muted); }
.product-breadcrumb a { min-height: 44px; display: inline-flex; align-items: center; white-space: normal; }
.product-breadcrumb > span { display: inline-flex; align-items: center; }
.product-breadcrumb [aria-current] { color: var(--color-ink); }
.product-page-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(36px,6vw,96px); align-items: start; }
.product-gallery { min-width: 0; }
.gallery-stage { width: 100%; display: block; position: relative; aspect-ratio: 1; overflow: clip; background: #eeede7; cursor: zoom-in; }
.gallery-stage > img { width: 100%; height: 100%; object-fit: cover; transition: transform 420ms var(--ease-out); }
.gallery-stage > img.is-cropped { transform: scale(1.65); }
.gallery-stage[aria-pressed=true] { cursor: zoom-out; }
.gallery-stage[aria-pressed=true] > img { transform: scale(2); }
.gallery-stage[aria-pressed=true] > img.is-cropped { transform: scale(2.3); }
.gallery-zoom-label { position: absolute; bottom: 18px; inset-inline-end: 18px; display: flex; align-items: center; gap: 10px; padding: 10px 14px; min-height: 44px; font-size: 12px; color: #191919; background: #fffffff0; }
.gallery-zoom-label .icon { width: 17px; height: 17px; }
.gallery-controls { display: flex; justify-content: space-between; gap: 20px; font-size: 12px; padding-block: 14px; }
.gallery-controls > span { color: var(--color-muted); direction: ltr; }
.gallery-thumbnails { display: flex; gap: 14px; }
.gallery-thumbnails button { flex: 1; min-width: 0; padding: 5px; border: 1px solid transparent; text-align: start; white-space: normal; }
.gallery-thumbnails [aria-pressed=true] { border-color: var(--color-ink); }
.gallery-thumbnails img { width: 100%; height: 100px; object-fit: cover; }
.gallery-thumbnails img.is-cropped { object-fit: none; object-position: center; }
.gallery-thumbnails span { display: block; font-size: 11px; margin-top: 8px; line-height: 1.5; }
.product-page-copy { padding-top: 16px; }
.product-page-copy > .eyebrow { font-size: 11px; letter-spacing: .1em; }
.product-page h1 { font-size: clamp(48px,5vw,76px); line-height: 1; letter-spacing: -.04em; margin-block: 18px 25px; outline: none; }
.product-page-price { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-bottom: 22px; border-bottom: 1px solid var(--color-rule); }
.product-page-price > bdi { font-size: 20px; }
.product-page-price > span { align-self: center; font-size: 13px; color: var(--color-muted); }
.product-page-description { font-size: 15px; line-height: 1.9; margin-block: 22px 28px; max-width: 42ch; }
.page-purchase { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px 20px; align-items: end; }
.page-purchase .quantity-label { grid-column: 1 / -1; font-size: 12px; }
.page-purchase .quantity-control { margin: 0; height: 52px; }
.page-purchase .button { width: 100%; min-height: 52px; font-size: 14px; white-space: normal; text-align: start; line-height: 1.6; gap: 12px; }
.product-preview-label { font-size: 11px; color: var(--color-muted); line-height: 1.9; margin-block: 18px 24px; }
.product-information { border-top: 1px solid var(--color-rule); }
.product-information details { border-bottom: 1px solid var(--color-rule); }
.product-information summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 56px; font-size: 14px; cursor: pointer; list-style: none; }
.product-information summary::-webkit-details-marker, .footer-group summary::-webkit-details-marker { display: none; }
.product-information summary .icon { width: 16px; height: 16px; }
.product-information details[open] summary .icon { rotate: 45deg; }
.product-information details p { font-size: 13px; color: var(--color-muted); line-height: 1.9; padding-bottom: 20px; }
.product-policy-links { display: flex; gap: 20px; flex-wrap: wrap; padding-bottom: 16px; }
.product-policy-links button { font-size: 12px; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; white-space: normal; text-align: start; }
.product-question { margin-top: 20px; font-size: 13px; white-space: normal; }
.page-duo-contents { margin-bottom: 24px; }
.page-duo-contents > p { font-size: 11px; margin-bottom: 8px; }
.page-duo-contents a { display: flex; gap: 15px; align-items: center; min-height: 48px; border-bottom: 1px solid var(--color-rule); font-size: 13px; white-space: normal; }
.page-duo-contents bdi { margin-inline-start: auto; font-size: 11px; }
.page-duo-contents .icon { width: 17px; height: 17px; }
.product-related { margin-top: 64px; border-top: 1px solid var(--color-rule); padding-top: 44px; }
.product-related h2 { font-size: clamp(36px,4vw,56px); }
.product-related .section-heading p { font-size: 13px; margin: 0 0 12px; }
.related-products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 28px; }
.related-product { display: block; white-space: normal; min-width: 0; }
.related-product > img { width: 100%; aspect-ratio: 4/5; height: auto; object-fit: cover; }
.related-product > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; font: 400 30px/1.15 var(--font-display); margin-block: 18px 10px; }
.related-product > bdi { font-size: 13px; }
.related-product .icon { width: 18px; height: 18px; }
.full-product-link { font-size: 13px; margin-block: 12px; white-space: normal; }
.quick-product-note { font-size: 12px !important; color: var(--color-muted); }
.detail-copy { font-size: 14px; }
.detail-copy > p:not(.detail-price) { font-size: 14px; }
.line-price, .cart-item-copy > p, .remove-link { font-size: 12px; }
.cart-summary > p, .cart-summary .cart-preview-note { font-size: 12px; }
.search-form label, .search-count { font-size: 13px; }
.detail-copy .quantity-label { display: block; font-size: 12px; margin-bottom: 8px; }
.detail-copy .detail-size { white-space: normal; }

/* Native disclosures keep mobile customer care compact and keyboard operable. */
.footer-group { min-width: 0; }
.footer-group summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; list-style: none; min-height: 44px; font-size: 13px; cursor: pointer; }
.footer-group summary .icon { width: 14px; height: 14px; }
.footer-group[open] summary .icon { rotate: 45deg; }
.commerce-footer-links :is(a,button) { font-size: 12px; color: #c6c6c1; }
.commerce-footer-brand > span, .footer-contact .eyebrow, .footer-market-label { font-size: 11px; }
.footer-contact > p:not(.eyebrow), .footer-contact a { font-size: 13px; }
.footer-market p, .footer-payments > p, .commerce-footer .footer-bottom, .footer-legal-links button, .motion-control, .commerce-footer .preview-note { font-size: 11px; }
.footer-payments > p { color: #bdbdb8; }
.commerce-footer .preview-note { opacity: 1; color: #bdbdb8; }
.customer-info > .eyebrow { font-size: 11px; }
.customer-info section p { font-size: 14px; }
[dir=rtl] .product-page h1 { font-family: var(--font-body); font-size: clamp(36px,4vw,56px); line-height: 1.5; letter-spacing: 0; }
[dir=rtl] .hero h1, [dir=rtl] .hero h2 { font-size: clamp(42px,4.5vw,64px); line-height: 1.4; }
[dir=rtl] .guide-products a > span, [dir=rtl] .related-product > span { font-family: var(--font-body); font-size: 19px; line-height: 1.7; }
[dir=rtl] .guide-introduction h2 { max-width: none; font-size: 38px; line-height: 1.5; }
@media (min-width:761px) and (max-width:1100px) {
  .product-page-layout { gap: 32px; }
  .commerce-footer-top { gap: 28px; }
  .commerce-footer-links { gap: 18px; }
}
@media (max-width:760px) {
  .site-header .topline { height: 36px; }
  .site-header .masthead { height: 64px; padding-block: 0; }
  .site-header .brand { width: 70px; height: 60px; }
  .site-header .brand img { width: 50px; height: 56px; }
  .site-header .brand::before, .site-header .brand::after { display: none; }
  .site-header .category-nav :is(button,a) { font-size: 11px; }
  .story-rail { padding-block: 6px 12px; }
  .story-rail-intro { width: 100%; gap: 8px; margin-bottom: 6px; }
  .story-rail h2 { font-size: 23px; }
  .story-rail-controls { flex-shrink: 0; }
  .story-tile { width: 96px; height: 96px; flex-basis: 96px; }
  .story-tile-caption { font-size: 11px; inset-inline: 7px; bottom: 7px; gap: 3px; }
  .story-tile-caption .icon { display: none; }
  .hero, [dir=rtl] .hero { min-height: 380px; height: calc(100svh - var(--intro-height)); max-height: 650px; }
  .hero-slide--collection > .product-stage { height: 62%; width: 100%; }
  .hero-slide--collection .hero-inner, .hero-slide--portrait .hero-inner { align-items: flex-end; padding: 20px var(--page-gutter) 74px; }
  .hero-slide--collection .hero-inner, [dir=rtl] .hero-slide--collection .hero-inner { background: linear-gradient(0deg,#101010 18%,#101010ed 38%,transparent 76%); }
  .hero-slide--collection .hero-copy, .hero-slide--portrait .hero-copy { width: 100%; max-width: 100%; }
  .hero h1, .hero h2 { font-size: clamp(40px,10vw,56px); margin-block: 10px; line-height: .98; }
  .hero .eyebrow { font-size: 10px; }
  .hero-description { font-size: 12px; max-width: 34ch; margin-bottom: 14px; line-height: 1.65; }
  .hero .button { font-size: 13px; min-height: 48px; white-space: normal; text-align: start; }
  .hero .stage-signature { font-size: 10px; }
  .hero .scene-serum { height: 91%; left: 0; bottom: 5%; }
  .hero .scene-cream { height: 56%; left: 49%; bottom: 5%; }
  .hero-bottom { bottom: 12px; }
  .hero-slide--portrait::after, [dir=rtl] .hero-slide--portrait::after { background: linear-gradient(0deg,#101010 0%,#101010e8 30%,transparent 85%); }
  .care-universe { padding-block: 32px; }
  .care-intro { gap: 16px; margin-bottom: 20px; }
  .care-intro h2 { font-size: 33px; max-width: none; }
  .care-intro .eyebrow { font-size: 10px; }
  .care-categories { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
  .category-photo { aspect-ratio: .62; }
  .category-caption { inset-inline: 10px; bottom: 12px; }
  .category-description, .category-number, .category-arrow { display: none; }
  .category-heading { font-size: 25px; line-height: 1.1; align-items: flex-end; }
  .collection .collection-eyebrow, .collection-title-mark { font-size: 10px; }
  .collection-introduction > p { font-size: 12px; max-width: 24ch; }
  .collection .view-all { font-size: 12px; }
  .collection .category-tabs { gap: 20px; }
  .collection .category-tabs button { font-size: 12px; }
  .filter-count { font-size: 10px; }
  .collection .product-type { font-size: 11px; }
  .collection .product-price { font-size: 14px; }
  .collection .product-meta h3 { font-size: 30px; }
  .collection-position { font-size: 10px; }
  .product-name-line { min-height: 85px; }
  .ritual-masthead .eyebrow, .ritual-masthead > span, .scene-sample, .ritual-footnote { font-size: 10px; }
  .ritual-scene-copy .featured-description { font-size: 13px; }
  .ritual-set-name { font-size: 13px; }
  .chapter-name { font-size: 24px; }
  .chapter-size { font-size: 11px; }
  .story-copy { padding: 34px var(--page-gutter); }
  .story-section .portrait-interactive { height: 370px; min-height: 0; aspect-ratio: auto; }
  .story-copy h2 { font-size: 48px; }
  .story-copy > p:not(.eyebrow) { font-size: 14px; }
  .story-signature { margin-top: 24px; }
  .story-location { font-size: 11px; }
  .portrait-hint { top: 16px; inset-inline-start: 16px; font-size: 10px; }
  .care-guide { grid-template-columns: minmax(0,1fr); gap: 32px; padding-block: 42px; }
  .guide-picker { grid-column: 1; grid-row: 2; align-self: start; }
  .guide-steps { grid-column: 1; grid-row: 3; }
  .guide-introduction h2 { font-size: 43px; max-width: 13ch; }
  .guide-introduction > p:not(.eyebrow) { max-width: none; }
  .guide-tabs { gap: 24px; }
  .guide-tabs button { font-size: 12px; }
  .guide-products a { gap: 12px; }
  .guide-products a > span { font-size: 25px; }
  .guide-products a > bdi { font-size: 12px; }
  .guide-products a > .icon { display: none; }
  .product-page { padding-top: 12px; padding-bottom: 40px; }
  .product-breadcrumb { gap: 4px 9px; font-size: 11px; margin-bottom: 14px; }
  .product-page-layout { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .gallery-stage { aspect-ratio: 1; }
  .gallery-thumbnails { gap: 10px; }
  .gallery-thumbnails img { height: 76px; }
  .gallery-thumbnails span { font-size: 11px; }
  .gallery-zoom-label { bottom: 12px; inset-inline-end: 12px; font-size: 11px; }
  .product-page-copy { padding-top: 0; }
  .product-page h1 { font-size: 52px; margin-block: 14px 20px; }
  .product-page-price > bdi { font-size: 20px; }
  .page-purchase { gap: 10px 14px; }
  .page-purchase .button { font-size: 13px; padding-inline: 16px; }
  .product-related { margin-top: 40px; padding-top: 30px; }
  .product-related .section-heading { align-items: flex-start; flex-direction: column; }
  .product-related h2 { font-size: 40px; }
  .product-related .text-link { font-size: 13px; white-space: normal; }
  .related-products { gap: 22px 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .related-product:last-child { display: none; }
  .related-product > span { font-size: 25px; margin-top: 12px; }
  .related-product .icon { display: none; }
  .related-product > bdi { font-size: 12px; }
  .commerce-footer-links { display: block; padding-top: 10px; border: 0; }
  .footer-group { border-top: 1px solid #ffffff30; }
  .footer-group:last-child { border-bottom: 1px solid #ffffff30; }
  .footer-group summary { min-height: 56px; font-size: 14px; }
  .footer-group nav { padding-bottom: 16px; }
  .commerce-footer-links :is(a,button) { font-size: 13px; width: 100%; }
  .commerce-footer-top { gap: 22px; padding-bottom: 24px; }
  .footer-contact { border: 0; padding-top: 0; }
  .footer-contact h2 { font-size: 32px; margin-block: 10px; }
  .footer-contact > p:not(.eyebrow) { font-size: 12px; margin-bottom: 10px; }
  .footer-market p, .footer-payments > p { font-size: 11px; }
  .footer-commerce-row { gap: 18px; padding-block: 22px; }
  .footer-payment-heading { font-size: 12px; }
  .commerce-footer .preview-note { text-align: start; }
  [dir=rtl] .hero h1, [dir=rtl] .hero h2 { font-size: 34px; line-height: 1.4; }
  [dir=rtl] .category-heading { font-size: 18px; line-height: 1.5; }
  [dir=rtl] .care-intro h2 { font-size: 27px; }
  [dir=rtl] .product-page h1 { font-size: 36px; }
}
@media (max-width:375px) {
  .site-header .topline { font-size: 10px; }
  .story-rail h2 { font-size: 21px; }
  .care-intro h2 { font-size: 30px; }
  .category-heading { font-size: 22px; }
  .collection .category-tabs { gap: 14px; }
  .collection .category-tabs button { font-size: 11px; gap: 5px; }
  .guide-tabs { gap: 16px; }
  .guide-tabs button { font-size: 11px; }
  .page-purchase .button { gap: 12px; }
}
@media (max-width:760px) and (max-height:740px) {
  .hero, [dir=rtl] .hero { min-height: 340px; }
  .hero h1, .hero h2 { font-size: 38px; }
  .hero .eyebrow { display: none; }
  .hero-description { margin-bottom: 10px; }
  .hero-slide--collection > .product-stage { height: 70%; }
}
@media (prefers-reduced-motion:reduce) { .gallery-stage > img { transition: none !important; } }
html[data-motion=reduce] .gallery-stage > img { transition: none !important; }
