body { font-size: 16px; }
header nav a, header nav button { font-size: 14px; }
.language button { font-size: 12px; }
.hero-description { font-size: 15px; }
.hero-buttons .button, .button { font-size: 13px; }
.hero-buttons .link-button, .link-button { font-size: 13px; }
.eyebrow { font-size: 11px; }
.hero-bottom small { font-size: 10px; line-height: 1.6; }
.hero-bottom strong small { font-size: 13px; }
.confidence-strip strong { font-size: 13px; }
.confidence-strip small { font-size: 11px; }
.brand-caption { font-size: 10px; }
.heading-aside, .mood-stories .heading-aside { font-size: 13px; line-height: 1.8; max-width: 335px; }
.section-heading h2, .mood-stories h2 { font-size: 58px; }
.gender-tabs button { font-size: 14px; }
.search input { font-size: 14px; }
.filter-selects select, .result-count { font-size: 13px; }
.filter-selects .text-button { font-size: 12px; }
.product-brand { font-size: 10px; }
.product-gender { font-size: 11px; }
.product-card .product-name { font-size: 31px; height: 72px; }
.product-notes { font-size: 13px; height: 23px; }
.product-price { font-size: 14px; }
.product-price small { font-size: 11px; }
.product-price button { font-size: 12px; padding: 7px 10px; }
.catalog-note { font-size: 11px; }
.discovery-copy p:not(.eyebrow) { font-size: 15px; }
.discovery-copy small { font-size: 11px; }
.inside-intro { font-size: 15px; }
.inside-facts p { font-size: 12px; }
.inside-copy .link-button { font-size: 13px; }
.journey-grid h3 { font-size: 16px; }
.journey-grid p { font-size: 14px; }
.journey-contact p, .journey-contact a { font-size: 13px; }
.refill-copy p:not(.eyebrow) { font-size: 14px; }
.faq-list summary { font-size: 14px; }
.faq-list p { font-size: 13px; }
.contact > p:last-child { font-size: 12px; }
footer > div { font-size: 12px; }
footer > small { font-size: 10px; }
.mood-stories { padding-bottom: 60px; }
.mood-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 20px; align-items: stretch; }
.moment-card { padding: 23px 21px 18px; background: rgb(233, 238, 230); display: flex; flex-direction: column; min-width: 0px; transition: transform 0.25s, box-shadow 0.25s; }
.moment-card:hover { transform: translateY(-3px); box-shadow: rgba(28, 44, 23, 0.063) 0px 12px 28px; }
.moment-card.tone-linen { background: rgb(239, 238, 230); }
.moment-card.tone-petal { background: rgb(238, 229, 223); }
.moment-card.tone-forest { background: rgb(224, 231, 220); }
.moment-card.tone-amber { background: rgb(233, 223, 201); }
.moment-card.tone-sun { background: rgb(240, 236, 215); }
.moment-card.tone-slate { background: rgb(228, 232, 231); }
.moment-card.tone-rose { background: rgb(234, 223, 225); }
.moment-number { font-size: 10px; letter-spacing: 0.1em; color: rgb(129, 136, 115); line-height: 1.5; }
.moment-card h3 { font-family: var(--serif); font-size: 34px; line-height: 1.04; letter-spacing: -0.025em; font-weight: 400; margin: 23px 0px 17px; min-height: 71px; }
.moment-scene { font-size: 14px; line-height: 1.8; color: rgb(100, 110, 93); margin: 0px 0px 17px; }
.moment-feeling { font-size: 15px; line-height: 1.6; margin: 0px 0px 24px; color: rgb(54, 67, 46); }
.moment-feeling > span { display: block; font-size: 10px; color: rgb(135, 144, 118); line-height: 1.6; margin-bottom: 6px; }
.moment-product { display: grid; grid-template-columns: 70px minmax(0px, 1fr); align-items: center; gap: 10px; margin-top: auto; padding: 15px 0px; border-top: 1px solid rgba(99, 119, 82, 0.17); }
.moment-photo { width: 70px; mix-blend-mode: multiply; }
.moment-photo .bottle-visual { background: transparent; }
.moment-product .product-brand { font-size: 8px; white-space: normal; line-height: 1.6; letter-spacing: 0.06em; }
.moment-product .product-name { font-size: 25px; line-height: 1.1; display: block; margin-top: 5px; height: auto; overflow: visible; }
.moment-discover { display: flex; justify-content: space-between; gap: 10px; text-align: left; align-items: center; width: 100%; font-size: 11px; padding: 12px 0px 0px; border-top: 1px solid rgba(99, 119, 82, 0.17); background: none; line-height: 1.5; }
.moment-discover > span:last-child { font-size: 19px; }
.moment-discover:hover { color: rgb(154, 121, 70); }
.mood-editorial-note { font-size: 11px; line-height: 1.8; color: rgb(145, 150, 129); margin-top: 21px; max-width: 760px; }
.mood-scroll-hint { display: none; }
.modal-info { padding-top: 43px; }
.modal-info h2 { font-size: 51px; }
.modal-info .eyebrow { font-size: 10px; }
.modal-meta { font-size: 12px; }
.modal-description { font-size: 13px; }
.modal-atmosphere { margin: 0px 0px 22px; }
.modal-atmosphere > span { display: block; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: rgb(138, 148, 120); margin-bottom: 9px; }
.modal-atmosphere p { font-size: 13px; color: rgb(108, 119, 95); line-height: 1.8; }
.modal-atmosphere small { display: block; font-size: 12px; line-height: 1.7; color: rgb(82, 100, 69); margin-top: 10px; }
.volume-label { font-size: 12px; }
.volume-options { gap: 7px; }
.volume-options button { padding: 10px 7px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 62px; }
.volume-options button > span { font-size: 12px; white-space: nowrap; }
.volume-options button > small { font-size: 10px; line-height: 1.2; color: rgb(111, 128, 85); }
.volume-options button.active > small { color: rgb(216, 229, 191); }
.volume-options button .volume-no-saving { color: rgb(163, 170, 150); }
.volume-benefit { padding: 13px 14px; background: rgb(231, 237, 221); border: 1px solid rgb(207, 218, 189); margin-top: 13px; }
.benefit-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; }
.benefit-heading strong { font-size: 14px; font-weight: 600; color: rgb(66, 93, 46); }
.benefit-heading > span { font-size: 14px; color: rgb(66, 93, 46); white-space: nowrap; }
.volume-benefit p { font-size: 11px; line-height: 1.7; margin-top: 7px; color: rgb(121, 133, 106); }
.volume-benefit s { white-space: nowrap; text-decoration-color: rgb(170, 179, 157); }
.modal-buy strong { font-size: 21px; }
.modal-buy .button { font-size: 13px; }
.modal-info .note-pyramid { margin-top: 24px; margin-bottom: 0px; padding-top: 16px; }
.note-row { font-size: 12px; grid-template-columns: 74px 1fr; padding: 5px 0px; }
.modal-disclaimer { font-size: 11px; }
.quiz-subtitle { font-size: 13px; }
.quiz-option { font-size: 14px; }
.quiz-back { font-size: 12px; }
.quiz-step { font-size: 12px; }
.result-mini p { font-size: 12px; }
.cart-intro { font-size: 12px; }
.cart-item-meta { font-size: 12px; }
.quantity span { font-size: 12px; }
.quantity .remove-item { font-size: 11px; }
.cart-total { font-size: 14px; }
.cart-total strong { font-size: 23px; }
.checkout-form label { font-size: 12px; }
.checkout-form input, .checkout-form textarea { font-size: 14px; }
.checkout-form small { font-size: 11px; }
.copy-order { font-size: 12px; }
.toast { font-size: 13px; }
.noir-approach { background: rgb(38, 52, 39); color: rgb(240, 239, 223); padding-top: 80px; padding-bottom: 55px; }
.approach-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; align-items: end; }
.approach-heading .eyebrow { color: rgb(193, 199, 174); margin-bottom: 23px; }
.approach-heading h2 { font-size: 66px; }
.approach-heading h2 em { color: rgb(208, 188, 148); }
.approach-intro { font-size: 16px; line-height: 1.95; color: rgb(198, 205, 185); max-width: 480px; padding-bottom: 4px; }
.approach-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 37px; margin-top: 50px; }
.approach-principles article { border-top: 1px solid rgba(169, 182, 154, 0.282); padding-top: 23px; }
.approach-principles article > span { font-family: var(--serif); font-size: 35px; color: rgb(174, 183, 147); line-height: 1; }
.approach-principles h3 { font-size: 17px; line-height: 1.5; font-weight: 500; margin: 20px 0px 13px; }
.approach-principles p { font-size: 14px; line-height: 1.9; color: rgb(185, 196, 169); }
.approach-next { display: flex; align-items: center; justify-content: space-between; gap: 25px; border-top: 1px solid rgba(169, 182, 154, 0.282); margin-top: 40px; padding-top: 30px; }
.approach-next p { font-family: var(--serif); font-size: 31px; line-height: 1.2; }
.approach-next .button { font-size: 12px; flex-shrink: 0; }
@media (max-width: 1150px) {
  header nav { gap: 22px; }
  header nav a, header nav button { font-size: 13px; }
  .hero-buttons { flex-wrap: wrap; }
  .confidence-strip strong { font-size: 11px; }
  .confidence-strip small { font-size: 10px; }
  .mood-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .moment-card { padding: 26px; }
  .moment-card h3 { min-height: 0px; }
  .moment-product { grid-template-columns: 80px 1fr; }
  .moment-photo { width: 80px; }
  .product-price { font-size: 13px; }
  .inside-facts p { font-size: 11px; }
  .approach-heading h2 { font-size: 57px; }
  .approach-intro { font-size: 14px; }
  .approach-principles { gap: 27px; }
  .approach-principles h3 { font-size: 16px; }
  .approach-principles p { font-size: 13px; }
}
@media (max-width: 760px) {
  body { font-size: 15px; }
  .hero h1 { font-size: 61px; }
  .hero .eyebrow { font-size: 10px; }
  .hero-description { font-size: 14px; }
  .hero-buttons .button { font-size: 11px; }
  .hero-buttons .link-button { font-size: 11px; gap: 9px; }
  .hero-buttons { gap: 13px; flex-wrap: wrap; }
  .hero-bottom small { font-size: 9px; line-height: 1.6; }
  .hero-bottom strong { font-size: 27px; }
  .hero-bottom strong small { font-size: 11px; }
  .hero-bottom > span { max-width: 31%; }
  .hero-bottom { gap: 13px; }
  .confidence-strip strong { font-size: 11px; }
  .confidence-strip small { font-size: 10px; max-width: 145px; }
  .brand-caption { font-size: 8px; }
  .section-heading h2, .mood-stories h2, .collection h2 { font-size: 47px; }
  .mood-stories { padding-bottom: 40px; }
  .mood-grid { display: flex; gap: 14px; overflow-x: auto; align-items: stretch; scroll-snap-type: x mandatory; padding-bottom: 14px; }
  .moment-card { flex: 0 0 90%; padding: 25px 23px 20px; scroll-snap-align: start; min-width: 0px; }
  .moment-card h3 { font-size: 35px; min-height: 0px; margin-top: 20px; margin-bottom: 17px; }
  .moment-scene { font-size: 14px; line-height: 1.85; }
  .moment-feeling { font-size: 15px; margin-bottom: 22px; }
  .moment-feeling > span { font-size: 11px; }
  .moment-number { font-size: 10px; }
  .moment-photo { width: 70px; }
  .moment-product { grid-template-columns: 70px minmax(0px, 1fr); }
  .moment-product .product-brand { font-size: 9px; }
  .moment-product .product-name { font-size: 28px; }
  .moment-discover { font-size: 12px; padding-top: 14px; }
  .mood-scroll-hint { display: block; font-size: 11px; color: rgb(135, 146, 116); margin-top: 12px; }
  .mood-editorial-note { font-size: 10px; margin-top: 13px; }
  .gender-tabs button { font-size: 11px; }
  .search input { font-size: 13px; }
  .filter-selects select { font-size: 11px; max-width: 155px; }
  .filter-selects { gap: 9px; }
  .result-count { font-size: 10px; }
  .product-brand { font-size: 8px; }
  .product-gender { font-size: 9px; }
  .product-card .product-name { font-size: 27px; height: 62px; line-height: 1.1; }
  .product-notes { font-size: 11px; height: 20px; }
  .product-price { font-size: 12px; gap: 9px; }
  .product-price small { font-size: 10px; }
  .product-price button { font-size: 11px; padding: 5px 8px; }
  .catalog-note { font-size: 10px; }
  .discovery-copy p:not(.eyebrow) { font-size: 13px; }
  .discovery-copy small { font-size: 11px; }
  .inside-intro { font-size: 14px; }
  .inside-facts p { font-size: 11px; }
  .inside-copy .link-button { font-size: 12px; }
  .journey-grid h3 { font-size: 15px; }
  .journey-grid p { font-size: 13px; }
  .journey-contact p, .journey-contact a { font-size: 12px; }
  .refill-copy p:not(.eyebrow) { font-size: 14px; }
  .refill-copy .link-button { font-size: 12px; }
  .faq-list summary { font-size: 13px; }
  .faq-list p { font-size: 12px; }
  .contact .button { font-size: 12px; }
  .contact > p:last-child { font-size: 11px; }
  footer > div { font-size: 11px; }
  footer > small { font-size: 10px; }
  .modal-image { height: 200px; padding: 8px; }
  .modal-image .bottle-visual { width: 190px; height: 190px; }
  .modal-info { padding: 24px 22px; }
  .modal-info h2 { font-size: 45px; }
  .modal-meta { font-size: 11px; }
  .modal-info .eyebrow { font-size: 10px; }
  .modal-description, .modal-atmosphere p { font-size: 13px; }
  .modal-atmosphere small { font-size: 12px; }
  .modal-atmosphere > span { font-size: 10px; }
  .volume-label { font-size: 12px; }
  .volume-options { gap: 5px; }
  .volume-options button { padding: 10px 5px; min-height: 61px; }
  .volume-options button > span { font-size: 11px; }
  .volume-options button > small { font-size: 10px; }
  .volume-benefit { padding: 12px 11px; }
  .benefit-heading strong, .benefit-heading > span { font-size: 13px; }
  .volume-benefit p { font-size: 10px; }
  .modal-buy strong { font-size: 21px; }
  .modal-buy .button { font-size: 12px; padding: 13px 16px; }
  .note-row { font-size: 11px; grid-template-columns: 65px 1fr; }
  .modal-disclaimer { font-size: 10px; }
  .quiz-subtitle { font-size: 12px; }
  .quiz-option { font-size: 12px; }
  .quiz-back, .quiz-step { font-size: 11px; }
  .result-mini p { font-size: 11px; }
  .cart-intro { font-size: 12px; }
  .cart-item-meta { font-size: 11px; }
  .quantity span { font-size: 11px; }
  .quantity .remove-item { font-size: 10px; }
  .checkout-form label { font-size: 12px; }
  .checkout-form input, .checkout-form textarea { font-size: 16px; }
  .checkout-form small { font-size: 10px; }
  .copy-order { font-size: 11px; }
  .toast { font-size: 12px; white-space: normal; text-align: center; }
  .noir-approach { padding-top: 52px; padding-bottom: 38px; }
  .approach-heading { grid-template-columns: 1fr; gap: 25px; }
  .approach-heading h2 { font-size: 50px; }
  .approach-heading .eyebrow { font-size: 9px; margin-bottom: 19px; }
  .approach-intro { font-size: 14px; line-height: 1.9; }
  .approach-principles { grid-template-columns: 1fr; gap: 27px; margin-top: 30px; }
  .approach-principles article { padding-top: 19px; }
  .approach-principles article > span { font-size: 31px; }
  .approach-principles h3 { font-size: 17px; margin-top: 15px; margin-bottom: 10px; }
  .approach-principles p { font-size: 13px; }
  .approach-next { flex-direction: column; align-items: start; margin-top: 30px; padding-top: 25px; gap: 21px; }
  .approach-next p { font-size: 29px; }
  .approach-next .button { font-size: 12px; max-width: 100%; gap: 20px; }
}
@media (max-width: 360px) {
  .hero h1 { font-size: 55px; }
  .hero-buttons .button { font-size: 10px; }
  .hero-buttons .link-button { font-size: 10px; }
  .hero-bottom small { font-size: 8px; }
  .moment-card { flex-basis: 94%; }
  .product-card .product-name { font-size: 25px; }
  .product-price { font-size: 11px; }
  .product-price small { font-size: 9px; }
  .product-price button { font-size: 10px; }
  .volume-options button > span { font-size: 10px; }
  .volume-options button > small { font-size: 9px; }
}
.hero-bottom strong { white-space: nowrap; }
.volume-comparison-note { font-size: 10px; line-height: 1.6; color: rgb(139, 148, 124); margin-top: 9px; }
@media (prefers-reduced-motion: reduce) {
  .moment-card:hover { transform: none; }
}