/* A quieter, more tactile finish, keeping the original mobile silhouette. */
:root { --paper: #f7f7f4; --line: #ddded8; --ink: #242623; }
html { background: #e4e5df; }
body { box-shadow: 0 12px 90px #25292013; }
.site-header { background: #f7f7f4ed; border-bottom-color: #dadcd3a6; }
.wordmark { font-weight: 500; }
.cart-link { border: 1px solid #d5d8cd; border-radius: 99px; padding: 0 12px; gap: 9px; min-width: 66px; background: #ffffff65; }
.menu-toggle { border-radius: 50%; }
.menu-toggle:active { background: #e6e8df; }
.announcement { letter-spacing: .025em; }
.hero-content { padding-top: 42px; padding-bottom: 38px; }
.hero .eyebrow { border: 1px solid #d3d8c8; border-radius: 99px; padding: 6px 12px; letter-spacing: .06em; margin-bottom: 24px; font-size: 12px; }
.hero h1 { line-height: 1.06; }
.hero h1 em { color: #666f57; }
.hero-description { margin-top: 22px; color: #65695e; }
.button-dark { background: linear-gradient(135deg,#30362c,#20241e); border-radius: 99px; box-shadow: 0 6px 15px #25292010; }
.button-dark:hover { background: #414b35; }
.button-dark:active { transform: scale(.985); box-shadow: none; }
.button-dark:disabled { opacity: .55; transform: none; }
.hero .button { min-height: 56px; padding: 15px 22px; }
.hero-visual { width: 92%; margin: 0 auto; border-radius: 100px 100px 24px 24px; aspect-ratio: 1 / 1.03; isolation: isolate; }
.image-signature { top: 26px; left: 9%; font-size: 25px; }
.hero-visual figcaption { bottom: 22px; left: 22px; right: 22px; }
.hero-visual::after { inset: 55% 0 0; background: linear-gradient(transparent,#272b2570); }
.material-strip { border-bottom: 0; padding: 26px 5% 10px; color: #626957; gap: 8px; }
.material-strip>span:not(.strip-star):not(.strip-last) { padding: 6px 8px; background: #ecefe5; border-radius: 7px; text-align: center; }
.strip-star { font-size: 12px; }
.collection { padding-top: 48px; }
.collection-heading { max-width: 360px; }
.product-grid { gap: 26px; }
.product-card { background: #fff; padding: 10px 10px 0; border: 1px solid #e1e4da; border-radius: 26px; box-shadow: 0 5px 24px #2b332805; }
.product-image { border-radius: 19px; aspect-ratio: 1 / 1.04; }
.product-number { border: 1px solid #ffffff88; border-radius: 99px; background: #fbfcf4b3; backdrop-filter: blur(10px); padding: 6px 10px; top: 14px; left: 14px; }
.product-open { background: #f9faf4e8; border: 1px solid #fff; width: 44px; height: 44px; box-shadow: 0 3px 14px #171d1614; }
.product-title-row { margin: 17px 8px 5px; gap: 10px; }
.product-title-row h3 { font-size: 23px; }
.product-card .price { font-size: 16px; }
.product-notes { margin: 0 8px; color: #767d6b; }
.product-caption { margin: 14px 8px 0; border-color: #ebede5; padding-top: 12px; }
.product-select { min-height: 54px; margin-top: 4px; padding: 10px 8px 14px; }
.product-select>span { width: 29px; height: 29px; display: grid; place-items: center; background: #f0f2e9; border-radius: 50%; font-size: 18px; }
.philosophy { margin: 0 4%; padding: 36px 6%; border-radius: 24px; background: linear-gradient(135deg,#30362d,#21271e); }
.philosophy-content h2 { font-size: 42px; }
.philosophy-description { color: #c5ccbd; }
.care { padding-top: 52px; }
.care-questions details { margin-bottom: 10px; padding: 0 16px; background: #fff; border: 1px solid #e0e3d8; border-radius: 14px; }
.care-questions details:first-child { border-top: 1px solid #e0e3d8; }
.care-questions summary { padding: 18px 0; }
.care-questions details[open] { background: #f0f2e9; }
.site-footer { background: #e9ede1; border-top: 0; border-radius: 28px 28px 0 0; }
.shop-page { padding-top: 28px; }
.page-heading { margin-bottom: 30px; }
.page-heading h1 em { color: #555f48; }
.checkout-steps { background: #eceee6; border: 1px solid #e0e3d8; border-radius: 99px; padding: 12px 10px; margin-top: 16px; gap: 5px; }
.checkout-steps span { background: #fafbf7; border-color: #d7dccd; }
.checkout-steps li { gap: 5px; }
.checkout-steps [aria-current] span { background: #343d2c; border-color: #343d2c; }
.cart-item { background: #fff; border: 1px solid #e1e4da; border-radius: 20px; padding: 15px 12px; margin-bottom: 14px; gap: 13px; }
.cart-item-photo { border-radius: 12px; overflow: hidden; }
.quantity { border-radius: 99px; background: #f6f7f2; border-color: #e0e4d6; }
.continue-link { border: 1px dashed #c2c9b5; border-radius: 16px; justify-content: center; padding: 11px; color: #5c6850; }
.cart-summary { background: #edf0e5; border: 0; border-radius: 22px; padding: 22px 18px 12px; margin-top: 22px; }
.summary-total { border-color: #d4dbca; }
.cart-summary .summary-row.muted { gap: 12px; }
.empty-cart { margin-top: 16px; background: #fff; border: 1px solid #e1e4da; border-radius: 24px; padding: 38px 22px 28px; }
.empty-cart .full-button { font-size: 15px; }
.order-overview { border: 1px solid #dce2d0; background: #edf0e5; border-radius: 18px; }
.form-section { padding: 0 0 26px; margin-bottom: 26px; }
.section-index { color: #758264; }
.field input { border-radius: 12px; border-color: #daddd2; background: #fff; padding: 14px; transition: border-color .18s, box-shadow .18s; }
.field input:focus { border-color: #7a8765; box-shadow: 0 0 0 3px #dce2d15c; }
.delivery-option { border-radius: 14px; border-color: #daddd2; background: #fff; }
.payment-option { border-radius: 15px; border-color: #daddd2; background: #fff; }
.delivery-option:has(:checked), .payment-option:has(:checked) { background: #edf1e4; border-color: #7b8868; }
input:checked+.radio-marker { background: #586448; border-color: #586448; box-shadow: inset 0 0 0 4px #edf1e4; }
.checkout-final { padding: 23px 18px 20px; border: 1px solid #dce2d0; border-radius: 22px; background: #edf0e5; }
.checkout-final .full-button { gap: 10px; }
.checkout-final .checkout-notice { color: #5d6651; }
.receipt { border: 1px solid #e0e4d6; border-radius: 22px; padding: 22px 18px; margin-bottom: 24px; background: #fff; }
.success-mark { background: #e9eedc; box-shadow: 0 0 0 9px #f1f4e9; }
.complete-page h1 em { color: #687752; }
.product-dialog { border-radius: 26px 26px 0 0; }
.dialog-close { backdrop-filter: blur(10px); background: #ffffffc9; }
.dialog-image-wrap { aspect-ratio: 4 / 3; }
.dialog-content { padding-left: 6%; padding-right: 6%; }
.dialog-content h2 { color: #353d2d; }
.select-wrap select { border-radius: 13px; border-color: #bac4ab; background: #fff; }
.scent-notes { color: #657454; }
.dialog-purchase { padding-left: 6%; padding-right: 6%; background: #f7f9f1f2; }
.dialog-purchase .button { min-width: 51%; padding-left: 22px; padding-right: 22px; }
.product-facts>div { border-color: #e1e4d9; }
.product-facts dd { color: #454e3a; }
@media (max-width: 359px) {
  .hero .eyebrow { font-size: 12px; letter-spacing: .02em; padding: 6px 9px; }
  .cart-item { padding: 13px 10px; grid-template-columns: 67px minmax(0,1fr); gap: 10px; }
  .cart-item-heading h2 { font-size: 18px; }
  .cart-item-bottom { flex-wrap: wrap; }
  .checkout-steps { padding: 11px 7px; }
  .checkout-steps li { gap: 3px; }
  .checkout-steps span { min-width: 20px; height: 20px; }
  .cart-summary, .checkout-final, .receipt { padding-left: 13px; padding-right: 13px; }
  .checkout-final .full-button { font-size: 14px; padding-left: 14px; padding-right: 14px; }
  .philosophy-content h2 { font-size: 36px; }
}
@media (prefers-reduced-motion: no-preference) {
  .shop-page:not([hidden]) .page-heading, .complete-page:not([hidden]) .success-mark { animation: arrive .3s ease-out; }
  @keyframes arrive { from { opacity: .5; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}
