/* DM Sans + Playfair Display, as used by the LYSS reference.
   Storefront only: readable type, fluid headings, and space for longer labels. */
/* Lower the desktop crop by ~2 CSS cm, keeping the image full bleed. */
@media(min-width:901px) and (max-width:1199px){.hero-photo{object-position:center top}}
@media(min-width:1200px){.hero-photo{object-position:center calc(56% + 76px)}}
@media(min-width:1600px){.hero-photo{object-position:center calc(57% + 76px)}}
:root{--sans:'DM Sans',Arial,sans-serif;--serif:'DM Sans',Arial,sans-serif;--highlight:'Playfair Display',Georgia,serif;--muted:#68585f}
body{font-size:18px;line-height:1.6}
p{line-height:1.65}
h1,h2{font-weight:500;letter-spacing:-.045em;line-height:1.12;text-wrap:balance}
h1 em,h2 em{font-family:var(--highlight);font-weight:500;letter-spacing:-.035em}
.brand{font-family:var(--highlight)}
.hero h1{font-size:clamp(48px,4.5vw,72px);line-height:1.08;letter-spacing:-.05em}
.hero h1 em{white-space:normal}
.hero-copy{width:58%;padding-block:58px 70px}
.hero p{font-size:18px;max-width:470px;line-height:1.65;color:#51434a}
.hero-footnote{font-size:14px}
.hero-product{min-width:280px}
.hero-product strong{font-size:16px}
.hero-number{font-size:12px}
.announcement{font-size:14px;gap:24px;padding-block:10px}
.header-main{height:100px}.header-note{font-size:14px;max-width:300px}
.desktop-nav{height:auto;min-height:58px;gap:18px;font-size:15px}
.desktop-nav>div{gap:22px;min-height:58px}.desktop-nav>div:last-child{gap:18px}
.desktop-nav a{min-height:58px;gap:7px}
.trust-strip{gap:18px;padding-block:28px}.trust-strip>div{font-size:15px;line-height:1.45;padding-inline:10px}
.section-head h2{font-size:clamp(32px,3vw,44px)}
.section-head p{font-size:17px}.section-head{align-items:center}
.category-tile{padding-bottom:25px}.category-tile h3{font-size:18px;line-height:1.35;margin-bottom:7px;padding-right:12px}
.category-tile span:not(.category-arrow){font-size:14px;display:block;line-height:1.5;padding-right:12px}
.category-arrow{display:none}
.product-card{display:flex;flex-direction:column}.product-image{flex-shrink:0}
.product-card h3,.catalog-grid .product-card h3{font-size:17px;line-height:1.5;font-weight:500;min-height:3em}
.product-meta{font-size:13px;line-height:1.45;letter-spacing:.04em}
.product-card .product-bottom{margin-top:auto;padding-top:14px;gap:8px;align-items:center}.product-bottom strong{font-size:21px;white-space:nowrap}
.product-bottom del{font-size:15px;display:block;margin:2px 0 0}
.round-add{width:42px;height:42px;flex-shrink:0}.round-add .icon{width:19px;height:19px}
.badge{font-size:12px}.button{font-size:16px;min-height:54px}.text-link{font-size:15px;white-space:normal;line-height:1.5}
.editorial{gap:60px;overflow:hidden}.editorial h2{font-size:44px}.editorial-copy{font-size:17px}.editorial-signature{font-family:var(--highlight);font-size:24px}
.collection-card{min-height:330px;padding:36px 30px}.collection-card h2{font-size:36px;line-height:1.15}
.collection-card p{font-size:16px;max-width:240px}.collection-card .text-link{font-size:15px;max-width:230px}
.collection-card>div{width:65%}.collection-card>img{width:34%;right:0}.wellness-collection>img{width:28%;right:2%}
.faq-section{gap:70px}.faq-section h2{font-size:42px}.faq-list summary{font-size:17px;font-weight:500}
.faq-list details p{font-size:16px}.newsletter h2{font-size:34px}.newsletter p{font-size:16px}.newsletter small{font-size:13px}
.footer-main{gap:32px;grid-template-columns:1.2fr 1fr 1.2fr 1fr}.footer-main h3{font-size:16px}.footer-main>div>a:not(.brand),.footer-main p,.footer-main .text-button{font-size:15px}
.footer-bottom{font-size:13px}.breadcrumb{font-size:13px;flex-wrap:wrap}
.page-heading h1,.prose-page>h1{font-size:clamp(36px,4.3vw,60px)}
.catalog-layout{grid-template-columns:235px minmax(0,1fr);gap:36px}.filter-radio{font-size:15px}.filter-radio input{width:17px;height:17px;flex-shrink:0}
.filter-heading h3{font-size:17px}.sort-label select{font-size:15px;max-width:190px}.catalog-toolbar{flex-wrap:wrap;row-gap:16px}
.detail-info h1{font-size:clamp(30px,2.8vw,42px);line-height:1.2}.detail-short{font-size:18px;line-height:1.65}
.detail-price{flex-wrap:wrap}.detail-price strong{font-size:32px}.detail-price del{font-size:18px}
.detail-type{font-size:13px}.detail-buy .button{font-size:16px}.detail-info summary{font-size:17px}
.detail-promises span{font-size:14px}.product-description,.product-description p{font-size:16px;line-height:1.8}
.product-description h2,.product-description h3{font-family:var(--sans);font-size:22px;line-height:1.4}
.gallery-thumbs>span,.catalog-end{font-family:var(--highlight)}
.cart-item h2{font-family:var(--sans);font-size:17px;line-height:1.4;letter-spacing:0}
.cart-item-price{font-size:17px}.order-summary h2{font-size:28px}.order-summary .button{font-size:16px}
.summary-row,.summary-products>div{font-size:16px}.summary-tax,.summary-secure,.summary-discreet p{font-size:14px}
.form-field{font-size:15px}.form-field>input,.form-field>select{font-size:16px}.checkout-steps{flex-wrap:wrap}.checkout-steps button{font-size:14px}
.radio-options strong{font-size:16px}.radio-options small{font-size:14px}.original-text{font-size:17px;line-height:1.8}
.modal-copy p,.age-content>p{font-size:16px}.age-content small{font-size:13px}.age-content .button{font-size:16px}.age-exit{font-size:14px}
.search-result{font-size:16px}.search-result strong{font-size:16px}.search-result small{font-size:13px}
.search-modal h2,.modal-copy h2{font-size:36px}.mobile-menu>a:not(.brand){font-size:18px}
.sr-only{top:0;left:0}
@media(max-width:1190px){
  .desktop-nav>div:last-child{display:none}.desktop-nav{justify-content:center}
  .header-note{display:none}.product-grid{gap:22px}.editorial{padding:40px;gap:40px}
  .collection-card h2{font-size:31px}.footer-main{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-main>div:last-child{grid-column:1/-1}
}
@media(min-width:681px) and (max-width:1000px){
  .desktop-nav{overflow-x:auto;justify-content:start}.desktop-nav>div{gap:20px}
  .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-tile h3{font-size:17px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial{grid-template-columns:1fr}.collections{grid-template-columns:1fr}
  .cart-layout,.checkout-layout{grid-template-columns:1fr}.order-summary{position:static}.faq-section{gap:35px}
}
@media(max-width:680px){
  body{font-size:16px}.announcement{font-size:12px;padding-block:9px}.header-main{height:80px}
  .hero,.hero-content{min-height:700px}.hero-copy{width:100%;padding:36px 0 0}
  .hero h1{font-size:clamp(36px,10.5vw,52px);line-height:1.12;letter-spacing:-.045em;margin-bottom:20px}
  .hero p{font-size:17px;max-width:340px;line-height:1.6;margin-bottom:24px}
  .hero .button{font-size:16px;min-height:52px}.hero-footnote{font-size:13px;margin-top:17px}
  .hero-photo{height:52%}.hero-shade{background:linear-gradient(180deg,#f6efe4 0%,#f6efe4 44%,#f6efe4df 55%,#f6efe400 74%)}
  .hero-product{width:auto;min-width:230px;bottom:24px}.hero-product>span:first-child{font-size:12px}.hero-product strong{font-size:14px}.hero-number{display:none}
  .trust-strip{gap:18px 10px}.trust-strip>div{font-size:13px;line-height:1.5;padding-left:0;align-items:flex-start}.trust-strip .icon{margin-top:2px}
  .section-head{align-items:start;flex-wrap:wrap}.section-head h2{font-size:32px}.section-head p{font-size:16px}.section-head .text-link{font-size:15px}
  .category-tile{flex-basis:180px;padding:16px}.category-tile h3{font-size:17px}.category-tile span:not(.category-arrow){font-size:13px}
  .product-card h3,.catalog-grid .product-card h3{font-size:16px;line-height:1.5;min-height:4.5em}.product-meta{font-size:12px}
  .product-bottom strong{font-size:19px}.product-bottom del{font-size:14px}.round-add{width:38px;height:38px}.badge{font-size:11px}
  .editorial{padding:36px 24px;gap:28px}.editorial h2,.faq-section h2{font-size:34px}.editorial-copy{font-size:16px}.editorial .text-link{font-size:15px}
  .collection-card{padding:30px 23px;min-height:300px}.collection-card h2{font-size:30px}.collection-card>div{width:67%}
  .collection-card p{font-size:15px;max-width:190px}.collection-card .text-link{font-size:14px;max-width:180px}
  .faq-section>div>p{font-size:16px}.faq-section .text-link{font-size:15px}.faq-list summary{font-size:16px}.faq-list details p{font-size:16px}
  .newsletter h2{font-size:28px}.newsletter input{font-size:16px}.footer-main{grid-template-columns:1fr 1fr;gap:28px 18px}
  .footer-main>div:last-child{display:block}.footer-brand p{font-size:15px}.footer-bottom{font-size:12px}
  .breadcrumb{font-size:12px}.page-heading h1,.prose-page>h1{font-size:38px}.page-heading p{font-size:16px}
  .catalog-layout{display:block}.catalog-toolbar>span{font-size:14px}.filter-mobile{font-size:14px;min-height:42px;padding:8px 12px}
  .sort-label select{font-size:14px;max-width:175px}.detail-info h1{font-size:32px;line-height:1.2}.detail-short{font-size:17px}
  .detail-buy{flex-wrap:wrap}.detail-buy .button{font-size:16px;min-height:54px;flex-basis:100%}.detail-buy .quantity{height:48px}
  .detail-promises span{font-size:14px}.detail-info summary{font-size:16px}.product-description,.product-description p{font-size:16px}
  .cart-item{grid-template-columns:60px minmax(0,1fr) auto 18px}.cart-image{width:60px}.cart-item h2{font-size:15px}.cart-item-price{font-size:15px}.cart-item-info>.small{font-size:13px}
  .cart-item .quantity{height:40px}.shipping-progress{font-size:14px}.shipping-progress>span{align-items:start}
  .order-summary .button{font-size:16px}.form-grid{grid-template-columns:1fr}.form-field{font-size:15px}.form-field>input,.form-field>select{height:50px}
  .checkout-steps button{font-size:13px}.demo-notice{font-size:14px}.summary-products>div{font-size:14px}
  .original-text,.prose p{font-size:16px}.contact-main>a{font-size:clamp(20px,6vw,28px);overflow-wrap:anywhere}.contact-details h3,.contact-details p{font-size:16px}
  .age-content h2,.modal-copy h2,.search-modal h2{font-size:30px}.age-content>p,.modal-copy p{font-size:16px}.age-content small{font-size:12px}
  .age-content .button{font-size:15px}.search-result{font-size:14px}.search-result strong{font-size:14px}.search-result small{font-size:12px}
  .mobile-filters select{font-size:16px}.filter-radio{font-size:16px}.toast{font-size:14px}
}

