:root {
  --brown-deep: #5f4036;
  --cream: #e8dccf;
  --tan: #c8a592;
  --blush: #f6ede7;
  --gold: #bea176;
  --gold-dark: #7b5a3e;
  --sage: #b1ae8b;
  --ink: #3a2a22;
  --font-display: "Lora", serif;
  --font-body: "DM Sans", sans-serif;
  --ease: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-soft: cubic-bezier(0.22, 1, 0.36, 1);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; color: var(--ink); background: var(--blush); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button, input, textarea, select { font: inherit; }
button { border: 0; cursor: pointer; background: none; }
::selection { color: #fff; background: var(--gold); }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 10px 14px; color: var(--cream); background: var(--brown-deep); transform: translateY(-150%); }.skip-link:focus { transform: none; }
#story,#how,#collection,#reviews,#faq,#contact { scroll-margin-top: 88px; }

h1, h2, h3, h4 { color: var(--brown-deep); font-family: var(--font-display); font-weight: 600; letter-spacing: -0.01em; line-height: 1.12; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; color: var(--gold); font-size: 12.5px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; }
.eyebrow::before { content: ""; display: inline-block; width: 28px; height: 1.5px; background: var(--gold); }
.section-title { margin-bottom: 20px; font-size: clamp(32px, 4.2vw, 52px); }
.section-lead { max-width: 560px; color: #6b564c; font-size: 17px; line-height: 1.7; }
.section-head { max-width: 680px; margin-bottom: 64px; }
.section-head.center { margin-right: auto; margin-left: auto; text-align: center; }
.section-head.center .section-lead { margin-right: auto; margin-left: auto; }
.section-head.center .eyebrow { justify-content: center; }
.section-head.center .eyebrow::before { display: none; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 17px 34px; border-radius: 100px; font-size: 14.5px; font-weight: 700; letter-spacing: 0.02em; white-space: nowrap; transition: transform .5s var(--ease-soft), box-shadow .5s var(--ease-soft), background .4s var(--ease); }
.btn-primary { color: var(--cream); background: var(--brown-deep); box-shadow: 0 8px 24px -8px rgba(95,64,54,.55); }
.btn-primary:hover { background: #4c332b; box-shadow: 0 16px 32px -10px rgba(95,64,54,.6); transform: translateY(-3px); }
.btn-secondary { border: 1px solid rgba(95,64,54,.28); color: var(--brown-deep); background: rgba(255,255,255,.3); }
.btn-secondary:hover { border-color: rgba(95,64,54,.48); background: var(--cream); transform: translateY(-2px); }
.btn-light { color: var(--brown-deep); background: var(--cream); }
.btn-light:hover { box-shadow: 0 16px 32px -10px rgba(0,0,0,.25); transform: translateY(-3px); }
.btn-outline-light { border: 1px solid rgba(246,237,231,.4); color: var(--cream); background: transparent; }
.btn-outline-light:hover { border-color: var(--cream); background: rgba(246,237,231,.08); transform: translateY(-3px); }
.link-quiet { display: inline-flex; align-items: center; gap: 6px; padding: 4px 0; border-bottom: 1px solid rgba(107,86,76,.28); color: #6b564c; font-size: 14.5px; font-weight: 600; transition: color .35s var(--ease), border-color .35s var(--ease), gap .35s var(--ease-soft); }
.link-quiet:hover { gap: 10px; border-color: var(--brown-deep); color: var(--brown-deep); }

.nav { position: fixed; z-index: 500; top: 0; right: 0; left: 0; padding: 26px 0; transition: padding .5s var(--ease), background .5s var(--ease), box-shadow .5s var(--ease); }
.today-promotion-banner { position: fixed; z-index: 610; top: 0; right: 0; left: 0; display: flex; height: 48px; align-items: center; justify-content: center; gap: 15px; padding: 8px 20px; color: var(--brown-deep); background: #eee3d8; border-bottom: 1px solid rgba(180,135,82,.55); font-size: 12px; letter-spacing: .01em; }
.today-promotion-banner strong { color: var(--brown-deep); font-family: var(--font-display); font-size: 19px; font-weight: 600; letter-spacing: .02em; white-space: nowrap; }.today-promotion-banner b { color: var(--brown-deep); font-size: 11px; letter-spacing: .08em; text-decoration: underline; text-decoration-color: #b48752; text-decoration-thickness: 1px; text-underline-offset: 5px; text-transform: uppercase; }
body.today-promotion-active .nav { top: 48px; }.store-preview-mode.today-promotion-active .nav { top: 82px; }
.preview-banner { position: fixed; z-index: 600; top: 0; right: 0; left: 0; display: flex; height: 34px; align-items: center; justify-content: center; gap: 16px; padding: 7px 18px; color: var(--cream); background: var(--brown-deep); font-size: 12px; letter-spacing: .02em; }.preview-banner a { color: var(--cream); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }.store-preview-mode .nav { top: 34px; }.store-preview-mode.today-promotion-active .preview-banner { top: 48px; }
.nav.is-scrolled, body:not(.store-home) .nav { padding: 14px 0; background: rgba(246,237,231,.9); box-shadow: 0 8px 30px -12px rgba(95,64,54,.18); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; }
.logo-mark { display: flex; align-items: center; gap: 10px; }
.logo-icon { width: auto; height: 26px; flex-shrink: 0; }
.logo-word { width: auto; height: 15px; }
.nav-links { display: flex; align-items: center; gap: 40px; }
.nav-links a { position: relative; padding: 4px 0; color: var(--brown-deep); font-size: 14px; font-weight: 600; }
.nav-links a::after { content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 1.5px; background: var(--gold); transition: width .4s var(--ease-soft); }
.nav-links a:hover::after { width: 100%; }
.nav-cta-group { display: flex; align-items: center; gap: 16px; }
.nav-utilities { display: flex; align-items: center; gap: 5px; padding-right: 14px; border-right: 1px solid rgba(95,64,54,.18); }
.nav-signout-form { display: flex; }
.nav-icon { position: relative; display: inline-flex; width: 42px; height: 42px; flex: 0 0 42px; align-items: center; justify-content: center; border-radius: 50%; color: var(--brown-deep); background: rgba(95,64,54,.06); transition: color .25s var(--ease), background .25s var(--ease), transform .25s var(--ease-soft); }
.nav-icon:hover { color: var(--brown-deep); background: rgba(95,64,54,.14); transform: translateY(-2px); }
.nav-icon svg { width: 21px; height: 21px; }
.nav-cta-group .btn { padding: 13px 26px; font-size: 13px; }
.cart-nav__count { position: absolute; top: -4px; right: -5px; display: inline-flex; min-width: 19px; height: 19px; align-items: center; justify-content: center; padding: 0 5px; border-radius: 999px; color: var(--cream); background: var(--brown-deep); font-size: 10px; }
.cart-nav__count[hidden] { display: none; }
.hamburger { display: none; position: relative; z-index: 610; width: 26px; height: 18px; cursor: pointer; }
.hamburger span { position: absolute; right: 0; left: 0; height: 2px; background: var(--brown-deep); transition: transform .4s var(--ease), opacity .3s var(--ease), top .4s var(--ease); }
.hamburger span:nth-child(1) { top: 0; }.hamburger span:nth-child(2) { top: 8px; }.hamburger span:nth-child(3) { top: 16px; }
.mobile-menu-shell { position: fixed; z-index: 800; inset: 0; }
.mobile-menu-shell[hidden] { display: none; }
.mobile-menu-overlay { position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(36,24,17,.42); animation: menu-overlay-in .35s var(--ease) both; }
.mobile-menu { position: absolute; top: 0; right: 0; display: flex; width: min(420px,86vw); height: 100%; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0; padding: calc(env(safe-area-inset-top,0px) + 96px) 40px calc(env(safe-area-inset-bottom,0px) + 40px); overflow-y: auto; background: var(--cream); box-shadow: -24px 0 70px rgba(36,24,17,.25); animation: mobile-menu-in .4s var(--ease-soft) both; }
.mobile-menu__collection-cta { width: 100%; margin: 0 0 18px !important; }
.mobile-menu__content-links { display: grid; width: 100%; gap: 20px; margin-top: 10px; padding-top: 26px; border-top: 1px solid rgba(95,64,54,.14); }
.mobile-menu__content-links a { color: var(--brown-deep); font-family: var(--font-display); font-size: clamp(27px,7vw,34px); font-weight: 600; }
.mobile-menu__commerce { display: grid; width: 100%; gap: 16px; padding-top: 26px; }
.mobile-menu__utility-icons { display: flex; align-items: center; gap: 14px; }
.mobile-menu__utility-icons .nav-icon { width: 48px; height: 48px; flex-basis: 48px; }
.mobile-signout-form { margin: 0; }
.mobile-signout { padding: 4px 0; color: #7b685d; font-size: 16px; font-weight: 700; text-decoration: underline; text-decoration-color: rgba(95,64,54,.3); text-underline-offset: 4px; }
.mobile-signout:hover { color: var(--brown-deep); text-decoration-color: var(--brown-deep); }
.mobile-menu .btn { font-family: var(--font-body); font-size: 14.5px; }
.mobile-menu > .btn-primary,.mobile-menu > .btn-primary:hover,.mobile-menu > .btn-primary:focus-visible { color: var(--cream); }
.mobile-menu-close { position: absolute; top: 26px; right: 26px; display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 50%; color: var(--brown-deep); background: rgba(95,64,54,.08); font-size: 30px; cursor: pointer; }
@keyframes mobile-menu-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes menu-overlay-in { from { opacity: 0; } to { opacity: 1; } }
.hamburger.is-active span:nth-child(1) { top: 8px; transform: rotate(45deg); }.hamburger.is-active span:nth-child(2) { opacity: 0; }.hamburger.is-active span:nth-child(3) { top: 8px; transform: rotate(-45deg); }
body.menu-open { overflow: hidden; }
body.cart-drawer-open { overflow: hidden; }

.cart-drawer-shell { position: fixed; z-index: 900; inset: 0; }
.cart-drawer-shell[hidden] { display: none; }
.cart-drawer-overlay { position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(36,24,17,.45); opacity: 0; transition: opacity .35s var(--ease); }
.cart-drawer { position: absolute; top: 0; right: 0; display: flex; width: min(470px,100%); height: 100%; flex-direction: column; padding: 30px; overflow-y: auto; background: var(--blush); box-shadow: -24px 0 70px rgba(36,24,17,.22); transform: translateX(100%); transition: transform .35s var(--ease-soft); }
.cart-drawer-shell.is-open .cart-drawer-overlay { opacity: 1; }
.cart-drawer-shell.is-open .cart-drawer { transform: translateX(0); }
.cart-drawer__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid rgba(95,64,54,.14); }
.cart-drawer__header .eyebrow { margin-bottom: 8px; }.cart-drawer__header h2 { font-size: 29px; }
.cart-drawer__close { display: flex; width: 42px; height: 42px; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 50%; color: var(--brown-deep); background: rgba(95,64,54,.08); font-size: 26px; }
.cart-drawer__content { display: flex; flex: 1; flex-direction: column; padding-top: 22px; }
.cart-drawer__loading,.cart-drawer__empty { margin: auto; color: #6b564c; text-align: center; }
.cart-drawer__notice { margin-bottom: 18px; padding: 12px 14px; border-radius: 10px; color: #46533f; background: rgba(177,174,139,.25); font-size: 13px; }
.cart-drawer__error { margin-bottom: 18px; padding: 12px 14px; border-radius: 10px; color: #8c342c; background: rgba(157,73,61,.1); font-size: 13px; }
.cart-drawer__lines { display: grid; gap: 18px; }
.cart-drawer-line { display: grid; grid-template-columns: 82px 1fr auto; align-items: start; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid rgba(95,64,54,.1); }
.cart-drawer-line img { width: 82px; aspect-ratio: 1; border-radius: 12px; object-fit: cover; }
.cart-drawer-line h3 { margin: 3px 0 5px; font-size: 17px; }.cart-drawer-line p,.cart-drawer-line span { color: #6b564c; font-size: 12px; line-height: 1.5; }.cart-drawer-line > strong { font-family: var(--font-display); font-size: 14px; white-space: nowrap; }
.cart-drawer__total { display: flex; justify-content: space-between; margin-top: auto; padding: 24px 0 18px; font-size: 18px; }.cart-drawer__total strong { font-family: var(--font-display); }
.cart-drawer__checkout { width: 100%; }
.cart-drawer__cancel-payment { margin-top: 10px; }.cart-drawer__cancel-payment .btn { width: 100%; }
.cart-drawer__empty { display: grid; gap: 22px; justify-items: center; }

.store-messages { position: fixed; z-index: 700; top: 92px; right: 24px; width: min(360px, calc(100% - 48px)); max-height: calc(100dvh - 110px); overflow-y: auto; pointer-events: none; }
.store-message { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 8px; padding: 12px 12px 12px 16px; border: 1px solid rgba(190,161,118,.35); border-radius: 12px; color: var(--brown-deep); background: rgba(246,237,231,.96); box-shadow: 0 12px 30px -16px rgba(95,64,54,.4); font-size: 13px; line-height: 1.5; pointer-events: auto; }
.store-message p { flex: 1; margin: 0; }
.store-message__close { display: inline-flex; width: 28px; height: 28px; flex: 0 0 28px; align-items: center; justify-content: center; margin: -4px -4px -4px 0; border-radius: 50%; color: var(--brown-deep); font-size: 22px; line-height: 1; cursor: pointer; }
.store-message__close:hover,.store-message__close:focus-visible { background: rgba(95,64,54,.12); }

.hero { position: relative; display: flex; min-height: 100vh; align-items: center; padding: 150px 0 90px; overflow: hidden; background: radial-gradient(1200px 600px at 82% 10%, rgba(190,161,118,.2), transparent 60%), linear-gradient(180deg, var(--cream), var(--blush)); }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 60px; }
.hero-copy { text-align: left; }
.hero-title { overflow: hidden; font-size: clamp(40px,5.6vw,74px); }
.hero-title__line { display: block; overflow: hidden; padding-bottom: 4px; }.hero-title__line > span { display: inline-block; }
.hero-sub { max-width: 480px; margin-top: 26px; color: #6b564c; font-size: 18px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 40px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 22px; }
.trust-row li { display: flex; align-items: center; gap: 7px; color: #8a7466; font-size: 13px; font-weight: 500; }
.tick-sm { display: flex; width: 15px; height: 15px; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 50%; color: var(--gold); background: rgba(190,161,118,.22); font-size: 9px; }
.hero-visual { position: relative; aspect-ratio: 4/5; overflow: hidden; border-radius: 28px; }
.hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; animation: hero-photo-rotation 18s ease-in-out infinite; }
.hero-slide--one { animation-delay: 0s; }.hero-slide--two { animation-delay: 6s; }.hero-slide--three { animation-delay: 12s; }
@keyframes hero-photo-rotation { 0%,27% { opacity: 1; } 33%,100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .hero-slide { animation: none; }.hero-slide--one { opacity: 1; } }
.hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(95,64,54,.55)); }
.hero-badge { position: absolute; z-index: 2; right: 26px; bottom: 26px; left: 26px; display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: 16px; background: rgba(246,237,231,.92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.hero-badge__dot { display: flex; width: 38px; height: 38px; flex-shrink: 0; align-items: center; justify-content: center; }
.hero-badge__dot img { width: 32px; height: 32px; object-fit: contain; }
.hero-badge p { color: var(--brown-deep); font-size: 13px; font-weight: 600; line-height: 1.4; }
.hero-badge span { color: #8a7466; font-size: 11.5px; }

.store-strip { padding: 18px 0; overflow: hidden; background: var(--brown-deep); }
.store-strip__track { display: flex; width: max-content; align-items: center; gap: 64px; white-space: nowrap; animation: marquee 26s linear infinite; }
.store-strip__item { display: flex; min-width: 190px; position: relative; align-items: center; flex-direction: column; justify-content: center; gap: 3px; padding-right: 64px; text-align: center; }
.store-strip__item::after { position: absolute; top: 50%; right: 0; color: var(--gold); content: "✦"; font-size: 14px; transform: translateY(-50%); }
.store-strip__item b { display: block; color: var(--cream); font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.1; }
.store-strip__item small { display: block; color: rgba(232,220,207,.68); font-family: var(--font-body); font-size: 12px; font-weight: 500; letter-spacing: .04em; }
@keyframes marquee { to { transform: translateX(-50%); } }

.story { padding: 140px 0 52px; background: var(--blush); }
.story-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 80px; }
.story-grid--copy-only { display: block; max-width: 720px; margin: 0 auto; }.story-grid--copy-only .story-copy { max-width: 640px; margin: 0 auto; }
.story-copy > p:not(.eyebrow) { max-width: 560px; margin-bottom: 20px; color: #5c4a40; font-size: 17px; line-height: 1.85; }
.story-copy > p:nth-of-type(2) { color: var(--brown-deep); font-family: var(--font-display); font-size: 24px; font-style: italic; line-height: 1.55; }
.story-signature { display: flex; align-items: center; gap: 16px; margin-top: 36px; }
.story-signature__name { color: var(--gold); font-family: var(--font-display); font-size: 30px; font-style: italic; }
.story-signature span:last-child { color: #8a7466; font-size: 13px; }

.how { padding: 104px 0 60px; background: linear-gradient(180deg, var(--cream), var(--blush)); }
.how-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; }
.how-step { padding: 44px 32px 36px; border: 1px solid rgba(95,64,54,.1); border-radius: 20px; background: rgba(246,237,231,.6); text-align: center; transition: transform .5s var(--ease-soft), box-shadow .5s var(--ease-soft), background .5s var(--ease); }
.how-step:hover { background: var(--blush); box-shadow: 0 24px 50px -20px rgba(95,64,54,.25); transform: translateY(-8px); }
.how-step__number { margin-bottom: 18px; color: var(--gold); font-family: var(--font-display); font-size: 46px; font-style: italic; opacity: .9; }
.how-step h3 { margin-bottom: 12px; font-size: 21px; }
.how-step p { color: #6b564c; font-size: 15px; line-height: 1.7; }
.how-showcase { display: flex; flex-direction: column; align-items: center; gap: 18px; margin-top: 44px; }
.how-showcase img { width: 100%; max-width: 320px; border-radius: 22px; box-shadow: 0 30px 60px -24px rgba(95,64,54,.35); }
.how-showcase p { max-width: 440px; color: #8a7466; font-family: var(--font-display); font-size: 15.5px; font-style: italic; text-align: center; }

.scan-demo { position: relative; padding: 60px 0 150px; overflow: hidden; color: var(--cream); background: var(--brown-deep); }
.scan-demo::before { content: ""; position: absolute; top: -20%; left: -10%; width: 60%; height: 140%; background: radial-gradient(circle,rgba(190,161,118,.16),transparent 65%); }
.scan-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 90px; }
.scan-demo .section-title { color: var(--cream); }
.scan-demo .section-lead { color: rgba(232,220,207,.75); }
.scan-demo-list { display: flex; flex-direction: column; gap: 18px; margin-top: 34px; }
.scan-demo-list li { display: flex; align-items: flex-start; gap: 14px; color: rgba(232,220,207,.85); font-size: 15px; line-height: 1.6; }
.scan-demo-list li b { color: var(--cream); }
.scan-demo-list .tick { display: flex; width: 20px; height: 20px; flex-shrink: 0; align-items: center; justify-content: center; margin-top: 2px; border-radius: 50%; color: var(--brown-deep); background: var(--gold); font-size: 11px; }
.phone-mock { position: relative; width: 280px; aspect-ratio: 9/18.5; margin: 0 auto; padding: 10px; border-radius: 46px; background: linear-gradient(155deg,#2e2019,#1a1108 60%); box-shadow: 0 50px 100px -30px rgba(0,0,0,.7),inset 0 0 0 1.5px rgba(255,255,255,.06); }
.phone-btn { position: absolute; border-radius: 3px; background: #120b06; }
.phone-btn--power { top: 118px; right: -3px; width: 3px; height: 64px; }.phone-btn--volume-one { top: 96px; left: -3px; width: 3px; height: 34px; }.phone-btn--volume-two { top: 138px; left: -3px; width: 3px; height: 34px; }
.phone-screen { position: relative; display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; overflow: hidden; border-radius: 38px; color: var(--ink); background: var(--cream); box-shadow: inset 0 0 0 2px rgba(0,0,0,.25); }
.phone-notch { position: absolute; z-index: 5; top: 16px; left: 50%; width: 9px; height: 9px; border-radius: 50%; background: #1a1108; box-shadow: 0 0 0 3px rgba(0,0,0,.05); transform: translateX(-50%); }
.phone-home-indicator { position: absolute; z-index: 5; bottom: 12px; left: 50%; width: 100px; height: 4px; border-radius: 3px; background: rgba(95,64,54,.25); transform: translateX(-50%); }
.phone-state { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; text-align: center; transition: opacity .6s var(--ease), transform .6s var(--ease); }
.phone-state--idle { width: 100%; border: 0; color: inherit; background: transparent; cursor: pointer; }
.phone-state b { color: #8a7466; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }.phone-state small { margin-top: 8px; color: var(--gold); font-size: 11px; font-weight: 700; }
.tap-object { position: relative; width: 88px; height: 88px; margin-bottom: 22px; }.tap-object img { position: relative; z-index: 2; width: 100%; height: 100%; border: 2px solid var(--gold); border-radius: 50%; object-fit: cover; box-shadow: 0 10px 24px -10px rgba(95,64,54,.4); }.pulse-ring { position: absolute; inset: 0; border: 1.5px solid var(--gold); border-radius: 50%; animation: pulse-ring 2.2s ease-out infinite; }.pulse-ring--delayed { animation-delay: 1.1s; }@keyframes pulse-ring { from { opacity: .8; transform: scale(1); } to { opacity: 0; transform: scale(1.7); } }
.phone-state--scanning,.phone-state--verse { opacity: 0; pointer-events: none; transform: scale(.95); }
.scan-spinner { width: 46px; height: 46px; margin-bottom: 18px; border: 2.5px solid rgba(95,64,54,.15); border-top-color: var(--brown-deep); border-radius: 50%; animation: spin .9s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.phone-screen.is-scanning .phone-state--idle,.phone-screen.is-revealed .phone-state--idle,.phone-screen.is-revealed .phone-state--scanning { opacity: 0; pointer-events: none; }
.phone-screen.is-scanning .phone-state--scanning,.phone-screen.is-revealed .phone-state--verse { opacity: 1; pointer-events: auto; transform: scale(1); }
.phone-verse-mark { margin-bottom: 10px; color: var(--gold); font-family: var(--font-display); font-size: 28px; }
.phone-state--verse q { margin-bottom: 12px; color: var(--brown-deep); font-family: var(--font-display); font-size: 14.5px; font-style: italic; line-height: 1.48; }
.phone-state--verse b { color: var(--gold); font-size: 10px; }
.phone-state--verse[data-scan-url]:not([data-scan-url=""]) { cursor: pointer; }
.phone-verse-link { max-width: 100%; margin-top: 14px; overflow-wrap: anywhere; color: var(--brown-deep); font-size: 11px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.phone-scan-reset { margin-top: 10px; color: var(--gold); font-size: 11px; font-weight: 700; cursor: pointer; }

.collection { padding: 60px 0; background: var(--blush); }
.collection .section-head { max-width: 840px; }
.collection-description { display: grid; gap: 14px; max-width: 780px; color: #6b564c; font-size: 16px; line-height: 1.75; }
.collection-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.product-card { overflow: hidden; border-radius: 22px; background: var(--cream); transition: transform .55s var(--ease-soft), box-shadow .55s var(--ease-soft); }
.product-card:hover { box-shadow: 0 30px 60px -24px rgba(95,64,54,.3); transform: translateY(-10px); }
.product-img { position: relative; display: block; aspect-ratio: 1; overflow: hidden; }
.product-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-soft); }
.product-card:hover .product-img img { transform: scale(1.06); }
.product-tag { position: absolute; top: 16px; left: 16px; padding: 6px 14px; border-radius: 100px; color: var(--brown-deep); background: rgba(246,237,231,.92); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.product-body { padding: 26px 26px 30px; }
.product-body h3 { margin-bottom: 8px; font-size: 20px; }
.product-body p { margin-bottom: 18px; color: #6b564c; font-size: 14px; line-height: 1.6; }
.product-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.product-price { color: var(--brown-deep); font-family: var(--font-display); font-size: 19px; font-weight: 600; }
.product-link { display: inline-flex; align-items: center; gap: 7px; padding: 10px 14px; border-radius: 999px; color: var(--cream); background: var(--brown-deep); box-shadow: 0 7px 16px -10px rgba(95,64,54,.9); font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: background .35s var(--ease), box-shadow .35s var(--ease), transform .35s var(--ease-soft); }
.product-link:hover { color: var(--cream); background: #4c332b; box-shadow: 0 12px 22px -11px rgba(95,64,54,.85); transform: translateY(-2px); }
.product-link svg { width: 14px; height: 14px; transition: transform .4s var(--ease-soft); }.product-card:hover .product-link svg { transform: translateX(4px); }
.collection-empty { padding: 48px; border: 1px solid rgba(95,64,54,.1); border-radius: 22px; background: var(--cream); text-align: center; }.collection-empty h3 { margin-bottom: 10px; }.collection-empty p { color: #6b564c; }

.value { padding: 140px 0; background: linear-gradient(180deg,var(--cream),var(--blush)); }
.value-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.value-copy > p:not(.eyebrow) { max-width: 520px; margin-bottom: 20px; color: #5c4a40; font-size: 16.5px; line-height: 1.85; }
.value-reassure { display: flex; gap: 16px; padding: 20px 0; border-top: 1px solid rgba(95,64,54,.14); }
.value-reassure__icon { display: flex; width: 38px; height: 38px; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 10px; color: var(--cream); background: var(--brown-deep); font-size: 15px; }
.value-reassure b { display: block; margin-bottom: 3px; color: var(--brown-deep); font-size: 14.5px; }.value-reassure p { color: #8a7466; font-size: 13.5px; }
.value-card { position: relative; padding: 52px 44px; overflow: hidden; border-radius: 28px; color: var(--cream); background: var(--brown-deep); }
.value-card::after { content: ""; position: absolute; top: -30%; right: -20%; width: 60%; height: 60%; background: radial-gradient(circle,rgba(190,161,118,.25),transparent 70%); }
.value-card .eyebrow { position: relative; z-index: 1; }.value-card h3 { position: relative; z-index: 1; color: var(--cream); font-size: 30px; }
.value-price { position: relative; z-index: 1; display: flex; align-items: baseline; gap: 10px; margin: 18px 0 26px; }.value-price b { font-family: var(--font-display); font-size: 52px; }
.value-list { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 14px; margin: 0 0 32px; }.value-list li { display: flex; align-items: flex-start; gap: 12px; color: rgba(232,220,207,.9); font-size: 14.5px; }.value-list li span { display: flex; width: 18px; height: 18px; flex-shrink: 0; align-items: center; justify-content: center; margin-top: 2px; border-radius: 50%; color: var(--brown-deep); background: var(--gold); font-size: 10px; }
.value-card .btn { position: relative; z-index: 1; width: 100%; }

.faq { padding: 44px 0 104px; background: var(--blush); }
.reviews { padding: 96px 0; background: linear-gradient(180deg, var(--cream), var(--blush)); }
.reviews .section-head { max-width: 820px; margin-bottom: 64px; }.reviews .section-title { font-size: clamp(38px,5vw,62px); }
.how .section-head,.collection .section-head,.faq .section-head,.reviews .section-head { margin-bottom: 44px; }
.reviews-grid { display: grid; grid-template-columns: 1fr; gap: 22px; }
.review-card { display: flex; min-height: 230px; flex-direction: column; padding: 40px; border: 1px solid rgba(95,64,54,.1); border-radius: 20px; background: rgba(246,237,231,.6); transition: transform .5s var(--ease-soft), box-shadow .5s var(--ease-soft), background .5s var(--ease); }
.review-card:hover { background: var(--blush); box-shadow: 0 24px 50px -20px rgba(95,64,54,.25); transform: translateY(-8px); }
.review-stars { margin-bottom: 22px; color: var(--gold); font-size: 18px; letter-spacing: .14em; }
.review-card h3 { margin-bottom: 12px; font-size: 21px; }
.review-card blockquote { flex: 1; color: #5c4a40; font-size: 16px; line-height: 1.85; }
.review-author { display: flex; align-items: center; gap: 13px; margin-top: 24px; color: var(--brown-deep); }
.review-author__avatar { display: flex; width: 46px; height: 46px; align-items: center; justify-content: center; border-radius: 50%; color: var(--cream); background: var(--brown-deep); font-family: var(--font-display); font-size: 18px; }
.review-author p { display: grid; gap: 3px; font-size: 13px; }.review-author small { color: #8a7466; font-size: 11px; font-weight: 500; }
.review-launch { margin-top: 22px; padding: 42px; border: 1px solid rgba(95,64,54,.1); border-radius: 20px; background: rgba(246,237,231,.6); transition: transform .5s var(--ease-soft), box-shadow .5s var(--ease-soft), background .5s var(--ease); }.review-launch:hover { background: var(--blush); box-shadow: 0 24px 50px -20px rgba(95,64,54,.25); transform: translateY(-8px); }.reviews-grid + .review-launch { margin-top: 22px; }.review-launch__label { margin-bottom: 18px; color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }.review-launch h3 { margin-bottom: 14px; font-size: clamp(25px,3vw,34px); }.review-launch > p:not(.review-launch__label) { max-width: 820px; color: #5c4a40; font-size: 16px; line-height: 1.75; }.review-launch__note { margin-top: 14px; color: #806b5f !important; font-size: 12px !important; }
.faq-list { max-width: 780px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid rgba(95,64,54,.15); }
.faq-question { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; padding: 26px 4px; color: var(--brown-deep); font-family: var(--font-display); font-size: 19px; text-align: left; cursor: pointer; list-style: none; }.faq-question::-webkit-details-marker { display: none; }
.faq-plus { position: relative; display: flex; width: 26px; height: 26px; flex-shrink: 0; align-items: center; justify-content: center; border: 1.5px solid var(--gold); border-radius: 50%; }
.faq-plus::before,.faq-plus::after { content: ""; position: absolute; background: var(--gold); transition: transform .4s var(--ease), opacity .4s var(--ease); }.faq-plus::before { width: 10px; height: 1.5px; }.faq-plus::after { width: 1.5px; height: 10px; }
.faq-answer p { max-width: 640px; padding: 0 4px 28px; color: #6b564c; font-size: 15px; line-height: 1.75; }
.faq-item[open] .faq-plus::after { opacity: 0; transform: rotate(90deg); }

.final-cta { position: relative; padding: 150px 0; overflow: hidden; background: var(--brown-deep); text-align: center; }
.final-cta::before { content: ""; position: absolute; inset: 0; background: radial-gradient(700px 400px at 50% 0%,rgba(190,161,118,.25),transparent 70%); }
.final-cta h2 { position: relative; max-width: 780px; margin: 0 auto 26px; color: var(--cream); font-size: clamp(34px,5vw,58px); }
.final-cta p { position: relative; max-width: 480px; margin: 0 auto 40px; color: rgba(232,220,207,.75); font-size: 17px; }.final-cta .btn { position: relative; }
.final-cta__actions { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }

.contact-section { padding: 100px 0; color: var(--cream); background: #241811; }
.contact-section__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: start; }
.contact-section__intro h2 { margin-bottom: 20px; color: var(--cream); font-size: clamp(31px,4vw,46px); }
.contact-section__intro > p:last-child { color: rgba(232,220,207,.65); font-size: 15px; line-height: 1.8; }
.contact-form { display: grid; gap: 22px; }
.contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-field { display: grid; gap: 9px; }
.contact-field label { color: rgba(232,220,207,.72); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-field input,.contact-field textarea { width: 100%; padding: 15px 16px; border: 1px solid rgba(232,220,207,.18); border-radius: 12px; color: var(--cream); background: rgba(246,237,231,.06); }
.contact-field textarea { min-height: 150px; resize: vertical; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color: rgba(232,220,207,.34); }
.contact-form__privacy { color: rgba(232,220,207,.48); font-size: 12px; line-height: 1.6; }
.contact-form__privacy a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }
.contact-form .btn { justify-self: start; }

.site-footer { padding: 90px 0 0; color: var(--cream); background: #241811; }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-bottom: 70px; border-bottom: 1px solid rgba(232,220,207,.12); }
.footer-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }.footer-logo img:first-child { width: auto; height: 26px; }.footer-logo .footer-wordmark { width: auto; height: 15px; }
.footer-intro p { max-width: 430px; color: rgba(232,220,207,.65); font-size: 15px; line-height: 1.8; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }.footer-links > div { display: flex; flex-direction: column; gap: 12px; }.footer-links h2 { margin-bottom: 8px; color: var(--cream); font-family: var(--font-body); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }.footer-links a { color: rgba(232,220,207,.7); font-size: 14px; }.footer-links a:hover { color: var(--gold); }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding: 28px 32px 34px; }.footer-bottom span { color: rgba(232,220,207,.45); font-size: 12.5px; }

/* Commerce inner pages */
.store-content { min-height: 70vh; padding: 150px 0 110px; background: linear-gradient(180deg,var(--cream),var(--blush) 260px); }
.product-detail { display: grid; max-width: 1180px; grid-template-columns: 1fr 1fr; align-items: start; gap: 70px; margin: 0 auto; padding: 150px 32px 110px; }
.product-detail__media { position: sticky; top: 110px; min-width: 0; }.product-gallery__main { aspect-ratio: 1; overflow: hidden; border-radius: 26px; background: var(--cream); }.product-gallery__main img { width: 100%; height: 100%; object-fit: cover; }.product-gallery__thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }.product-gallery__thumb { width: 88px; aspect-ratio: 1; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 12px; cursor: pointer; background: var(--cream); opacity: .72; transition: border-color .2s ease,opacity .2s ease; }.product-gallery__thumb:hover,.product-gallery__thumb:focus-visible,.product-gallery__thumb.is-active { border-color: var(--gold); opacity: 1; }.product-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-detail__body { padding-top: 24px; }.product-detail__body h1 { margin-bottom: 22px; font-size: clamp(38px,5vw,58px); }.product-detail__description { margin-bottom: 34px; color: #5c4a40; font-size: 16px; line-height: 1.8; }.product-detail__description p { margin-bottom: 14px; }
.product-inspiration { margin: 0 0 34px; padding: 26px 28px; border: 1px solid rgba(184,139,74,.24); border-radius: 18px; background: rgba(255,255,255,.42); }.product-inspiration__eyebrow { margin-bottom: 8px; color: var(--gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.product-inspiration h2 { margin-bottom: 12px; font-size: clamp(23px,3vw,30px); line-height: 1.25; }.product-inspiration > p:not(.product-inspiration__eyebrow) { color: #5c4a40; font-size: 14px; line-height: 1.7; }.product-inspiration blockquote { margin-top: 20px; padding: 18px 20px; border-left: 3px solid var(--gold); background: rgba(232,220,207,.45); }.product-inspiration blockquote p { color: var(--brown-deep); font-family: var(--font-display); font-size: 17px; line-height: 1.55; }.product-inspiration cite { display: block; margin-top: 10px; color: #7b685d; font-size: 12px; font-style: normal; font-weight: 700; }
.variant-list { display: grid; gap: 12px; margin: 0 0 28px; border: 0; }.variant-list legend { margin-bottom: 14px; color: var(--brown-deep); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.variant-option { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 17px 18px; border: 1px solid rgba(95,64,54,.14); border-radius: 14px; cursor: pointer; background: rgba(255,255,255,.34); }.variant-option:has(input:checked) { border-color: var(--gold); background: rgba(232,220,207,.55); }.variant-option input { accent-color: var(--brown-deep); }.variant-option span { font-size: 14px; }.variant-option strong { font-family: var(--font-display); font-size: 16px; }
.primary-button { display: inline-flex; align-items: center; justify-content: center; padding: 17px 34px; border: 0; border-radius: 100px; color: var(--cream); background: var(--brown-deep); box-shadow: 0 8px 24px -8px rgba(95,64,54,.55); font-size: 14.5px; font-weight: 700; cursor: pointer; }
.primary-button { transition: transform .5s var(--ease-soft), box-shadow .5s var(--ease-soft), background .4s var(--ease); }.primary-button:hover { background: #4c332b; box-shadow: 0 16px 32px -10px rgba(95,64,54,.6); transform: translateY(-3px); }.product-detail form > .primary-button { width: 100%; }
.product-detail__notice { margin: 16px 0; color: #8a7466; font-size: 13px; line-height: 1.6; }
.product-detail__sold-out { margin: 8px 0 24px; padding: 19px 20px; border: 1px solid rgba(95,64,54,.18); border-radius: 14px; background: rgba(95,64,54,.06); }
.product-detail__sold-out .eyebrow { margin-bottom: 7px; color: var(--brown-deep); }.product-detail__sold-out p:last-child { margin: 0; color: #5c4a40; line-height: 1.6; }
.product-tag--sold-out { color: #5b4439; background: rgba(255,248,242,.94); }
.product-link--availability { margin-left: auto; }
.stock-alert { display: grid; grid-template-columns: 1fr auto; gap: 9px; align-items: end; margin-top: 17px; }.stock-alert label { grid-column: 1 / -1; color: var(--brown-deep); font-size: 12px; font-weight: 700; }.stock-alert input { min-width: 0; padding: 12px 13px; border: 1px solid rgba(95,64,54,.25); border-radius: 8px; color: var(--brown-deep); background: #fffaf6; }.stock-alert .btn { padding: 12px 17px; white-space: nowrap; }.stock-alert__privacy,.stock-alert__success { margin-top: 12px !important; font-size: 12px; }.stock-alert__success { color: #46533f !important; font-weight: 700; }.stock-alert__privacy a { color: var(--brown-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.stock-alert__account { grid-column: 1 / -1; margin: 0; color: #5c4a40; font-size: 13px; }
.stock-alert__account + .btn { grid-column: 1 / -1; justify-self: start; }
.purchase-assurances { display: grid; gap: 0; margin-top: 22px; border-top: 1px solid rgba(95,64,54,.14); border-bottom: 1px solid rgba(95,64,54,.14); }.purchase-assurance { display: grid; grid-template-columns: 24px 1fr; align-items: start; gap: 13px; padding: 15px 2px; }.purchase-assurance + .purchase-assurance { border-top: 1px solid rgba(95,64,54,.1); }.purchase-assurance > svg { width: 22px; height: 22px; margin-top: 1px; color: var(--gold-dark); }.purchase-assurance div { display: grid; gap: 3px; }.purchase-assurance strong { color: var(--brown-deep); font-size: 13px; }.purchase-assurance span { color: #7b685d; font-size: 12px; line-height: 1.5; }.purchase-assurance a { color: var(--brown-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.variant-option span small { display: block; margin-top: 4px; color: #8a7466; font-size: 10px; font-weight: 600; letter-spacing: .04em; }
.product-safety { margin-top: 38px; padding-top: 32px; border-top: 1px solid rgba(95,64,54,.15); }.product-safety > h2 { margin-bottom: 20px; font-size: 25px; }.product-safety__data { display: grid; border-top: 1px solid rgba(95,64,54,.12); }.product-safety__data div { display: grid; grid-template-columns: 145px 1fr; gap: 18px; padding: 11px 0; border-bottom: 1px solid rgba(95,64,54,.12); }.product-safety__data dt { color: #8a7466; font-size: 12px; font-weight: 700; }.product-safety__data dd { color: #5c4a40; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }.product-safety__data a { color: var(--brown-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }.product-safety__warnings { margin-top: 24px; padding: 20px 22px; border-radius: 14px; color: #5c4a40; background: rgba(232,220,207,.52); }.product-safety__warnings h3 { margin-bottom: 12px; color: var(--brown-deep); font-size: 17px; }.product-safety__warnings ul { display: grid; gap: 8px; padding-left: 19px; list-style: disc; }.product-safety__warnings li { font-size: 13px; line-height: 1.55; }.product-safety__trace { margin-top: 14px; color: #8a7466; font-size: 12px; line-height: 1.55; }

.cart,.checkout,.empty-state,.review-page { max-width: 1120px; min-height: 70vh; margin: 0 auto; padding: 150px 32px 110px; }.cart > h1,.checkout h1,.empty-state h1,.review-page h1 { margin-bottom: 36px; font-size: clamp(38px,5vw,58px); }
.cart-lines { display: grid; gap: 16px; }.cart-line { display: grid; grid-template-areas: "image details subtotal" "image actions actions"; grid-template-columns: 110px minmax(0,1fr) auto; align-items: start; gap: 12px 24px; padding: 20px; border-radius: 18px; background: var(--cream); }.cart-line img,.cart-line__placeholder { grid-area: image; width: 110px; aspect-ratio: 1; border-radius: 13px; object-fit: cover; background: var(--tan); }.cart-line__details { grid-area: details; padding-top: 4px; }.cart-line h2 { margin-bottom: 6px; font-size: 20px; }.cart-line p { color: #6b564c; font-size: 14px; }.cart-line__actions { grid-area: actions; display: grid; gap: 8px; justify-items: start; }.quantity-stepper { display: grid; flex: 0 0 114px; grid-template-columns: 34px 46px 34px; inline-size: 114px; overflow: hidden; border: 1px solid rgba(95,64,54,.2); border-radius: 9px; background: var(--blush); }.quantity-stepper button { display: grid; width: 34px; min-width: 0; padding: 0; height: 36px; place-items: center; color: var(--brown-deep); font-size: 20px; line-height: 1; }.quantity-stepper button:hover { background: rgba(95,64,54,.1); }.quantity-stepper input { width: 100%; height: 36px; padding: 0; border: 0; border-right: 1px solid rgba(95,64,54,.15); border-left: 1px solid rgba(95,64,54,.15); border-radius: 0; background: transparent; color: var(--brown-deep); font: inherit; font-weight: 700; text-align: center; }.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }.quantity-stepper--compact { flex-basis: 94px; grid-template-columns: 28px 38px 28px; inline-size: 94px; margin-top: 9px; }.quantity-stepper--compact button { width: 28px; }.quantity-stepper--compact button,.quantity-stepper--compact input { height: 30px; }.quantity-stepper--compact button { font-size: 17px; }.cart-remove { color: #8c342c; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }.cart-remove--icon { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(157,73,61,.18); border-radius: 50%; text-decoration: none; transition: background .2s ease, color .2s ease; }.cart-remove--icon:hover { color: #fff; background: #8c342c; }.cart-remove--icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }.cart-remove--icon-compact { width: 30px; height: 30px; margin-top: 7px; }.cart-remove--icon-compact svg { width: 15px; height: 15px; }.cart-line__subtotal { grid-area: subtotal; padding-top: 5px; font-family: var(--font-display); font-size: 18px; white-space: nowrap; }.cart-total { display: flex; justify-content: space-between; margin: 28px 0 12px; padding-top: 24px; border-top: 1px solid rgba(95,64,54,.15); font-size: 20px; }.cart-total strong { font-family: var(--font-display); }
.cart-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 24px; }
.cart-actions__continue { border: 1px solid rgba(95,64,54,.15); }
.cart-actions__cancel-payment { display: inline-block; }
.cart-unavailable { margin-top: 54px; padding: 30px; border: 1px solid rgba(95,64,54,.11); border-radius: 22px; background: rgba(232,220,207,.32); }.cart-unavailable > h2 { margin-bottom: 8px; font-size: 25px; }.cart-unavailable > p { max-width: 570px; margin-bottom: 24px; color: #6b564c; font-size: 13px; line-height: 1.6; }.cart-line--unavailable { grid-template-areas: "image details"; grid-template-columns: 120px 1fr; min-height: 144px; gap: 28px; padding: 22px; background: rgba(255,255,255,.46); }.cart-line--unavailable img { width: 120px; }.cart-unavailable__meta { display: flex; align-items: center; gap: 9px; margin-top: 12px; }.cart-unavailable__status { display: inline-flex; padding: 5px 9px; border-radius: 999px; color: #8c342c; background: rgba(157,73,61,.1); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }.cart-remove--icon-inline { width: 28px; height: 28px; }.cart-remove--icon-inline svg { width: 14px; height: 14px; }.cart-drawer__unavailable { margin-top: 28px; padding: 20px; border-radius: 14px; background: rgba(232,220,207,.3); }.cart-drawer__unavailable > h3 { margin-bottom: 5px; color: var(--brown-deep); font-size: 16px; }.cart-drawer__unavailable > p { margin-bottom: 15px; color: #6b564c; font-size: 12px; line-height: 1.5; }.cart-drawer-line--unavailable { grid-template-columns: 82px 1fr; padding-bottom: 0; border-bottom: 0; opacity: .82; }.cart-drawer-line--unavailable > strong { display: none; }.cart-drawer-line--unavailable .cart-unavailable__meta { margin-top: 4px; }.cart-drawer-line--unavailable .cart-unavailable__meta p { margin: 0; }
.checkout { display: grid; grid-template-columns: 1.3fr .7fr; gap: 60px; }.checkout-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; }.checkout-form > * { grid-column: 1/-1; }.form-field { display: grid; gap: 7px; }.form-field label { color: var(--brown-deep); font-size: 12px; font-weight: 700; letter-spacing: .04em; }.form-field input:not([type="checkbox"]):not([type="radio"]),.form-field textarea,.form-field select { width: 100%; padding: 14px 15px; border: 1px solid rgba(95,64,54,.17); border-radius: 11px; color: var(--ink); background: rgba(255,255,255,.5); }.field-error,.form-errors { color: #9d493d; font-size: 12px; }.field-help { color: #7b685d; font-size: 12px; line-height: 1.5; }.checkout-invoice { overflow: hidden; border: 1px solid rgba(95,64,54,.14); border-radius: 14px; background: rgba(255,255,255,.38); }.checkout-invoice__toggle { display: grid; grid-template-columns: 22px 1fr 16px; gap: 12px; align-items: center; padding: 17px 18px; cursor: pointer; }.checkout-invoice__toggle input,.checkout-consent input { width: 18px; height: 18px; margin: 0; accent-color: var(--brown-deep); }.checkout-invoice__toggle strong { display: block; color: var(--brown-deep); font-size: 14px; }.checkout-invoice__toggle small { display: block; margin-top: 3px; color: #7b685d; font-size: 12px; line-height: 1.45; }.checkout-invoice__indicator { position: relative; width: 14px; height: 14px; }.checkout-invoice__indicator::before,.checkout-invoice__indicator::after { position: absolute; top: 6px; left: 0; width: 14px; height: 1px; background: var(--brown-deep); content: ""; }.checkout-invoice__indicator::after { transform: rotate(90deg); transition: transform .2s ease; }.checkout-invoice.is-open .checkout-invoice__indicator::after { transform: rotate(0); }.checkout-invoice__details { padding: 0 18px 20px; border-top: 1px solid rgba(95,64,54,.11); }.checkout-invoice__details > p { margin: 14px 0; color: #6b564c; font-size: 13px; line-height: 1.5; }.checkout-invoice__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.checkout-consent { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; padding: 17px 18px; border: 1px solid rgba(95,64,54,.18); border-radius: 14px; background: rgba(255,255,255,.45); }.checkout-consent label { color: var(--brown-deep); font-size: 13px; line-height: 1.55; }.checkout-consent .field-error { grid-column: 2; }.checkout-consent a { color: var(--brown-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }.checkout-discount { padding: 18px; border: 1px dashed rgba(95,64,54,.26); border-radius: 14px; background: rgba(255,255,255,.25); }.checkout-summary { align-self: start; padding: 30px; border-radius: 20px; background: var(--cream); }.checkout-summary h2 { margin-bottom: 24px; }.checkout-summary__line { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid rgba(95,64,54,.1); font-size: 14px; }.checkout-summary__shipping-options { padding: 14px 0 2px; color: #6b564c; font-size: 13px; line-height: 1.55; }.checkout-summary__shipping-options p { margin-bottom: 12px; }.checkout-summary__prompt { margin: 15px 0 3px; padding: 12px; border-radius: 10px; color: #6b564c; background: rgba(255,255,255,.42); font-size: 12px; line-height: 1.5; }.checkout-summary__total { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0 3px; color: var(--brown-deep); font-size: 18px; }.checkout-summary__total strong { font-family: var(--font-display); font-size: 24px; }.empty-state { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }.empty-state p { margin-bottom: 18px; color: #6b564c; font-size: 17px; line-height: 1.7; }
.order-summary-list { margin: 0 0 20px; padding: 16px 20px; border-radius: 14px; list-style: none; background: var(--cream); color: var(--brown-deep); }
.order-edit-cart-form { display: inline-block; margin: 12px 10px 12px 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.review-panel { max-width: 680px; margin: 0 auto; }
.review-page__intro { margin: -18px 0 32px; color: #6b564c; font-size: 16px; line-height: 1.7; }
.review-form { display: grid; gap: 18px; }
.review-form .primary-button { justify-self: start; }
.privacy-summary { padding: 20px; border: 1px solid rgba(95,64,54,.14); border-radius: 14px; background: rgba(232,220,207,.45); }
.privacy-summary h2 { margin-bottom: 10px; font-family: var(--font-body); font-size: 14px; }
.privacy-summary p { margin-top: 6px; color: #6b564c; font-size: 12px; line-height: 1.6; }
.privacy-summary a { color: var(--brown-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

.legal-page { max-width: 920px; margin: 0 auto; padding: 150px 32px 110px; }
.legal-page__header { margin-bottom: 48px; }.legal-page__header h1 { margin-bottom: 14px; font-size: clamp(40px,6vw,64px); }.legal-page__header > p:last-child { color: #8a7466; }
.legal-page section,.legal-page__sources { margin-top: 42px; }.legal-page section h2,.legal-page__sources h2 { margin-bottom: 16px; font-size: 27px; }.legal-page section h3 { margin: 24px 0 9px; font-size: 19px; }
.legal-page section p,.legal-page section li,.legal-page__sources p { color: #5c4a40; font-size: 15px; line-height: 1.8; }.legal-page section p + p { margin-top: 12px; }.legal-page section a { color: var(--brown-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.legal-page section ul { display: grid; gap: 10px; padding-left: 22px; list-style: disc; }
.legal-data { display: grid; border-top: 1px solid rgba(95,64,54,.14); }.legal-data div { display: grid; grid-template-columns: 180px 1fr; gap: 20px; padding: 13px 0; border-bottom: 1px solid rgba(95,64,54,.14); }.legal-data dt { color: #8a7466; font-size: 13px; font-weight: 700; }.legal-data dd { color: var(--brown-deep); font-size: 14px; }
.legal-table-wrap { margin: 22px 0; overflow-x: auto; }.legal-table { width: 100%; border-collapse: collapse; }.legal-table th,.legal-table td { padding: 15px; border: 1px solid rgba(95,64,54,.14); color: #5c4a40; font-size: 13px; line-height: 1.55; text-align: left; vertical-align: top; }.legal-table th { color: var(--brown-deep); background: var(--cream); }
.legal-page__sources { padding-top: 30px; border-top: 1px solid rgba(95,64,54,.14); }
.legal-form-example { padding: 22px; border: 1px solid rgba(95,64,54,.14); border-radius: 14px; background: var(--cream); }
.legal-page section ol { display: grid; gap: 10px; padding-left: 22px; list-style: decimal; }
.form-field a { color: var(--brown-deep); text-decoration: underline; text-underline-offset: 2px; }

/* Optional customer accounts */
.account-context { margin: 18px 0 28px; padding: 14px 16px; border-left: 3px solid var(--gold); color: #6b564c; background: rgba(232,220,207,.42); font-size: 13px; line-height: 1.6; }
.account-context a,.account-invitation a:not(.primary-button),.auth-card a,.account-page a { color: var(--brown-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.account-invitation { width: min(100%,620px); margin: 18px 0 30px; padding: 26px; border: 1px solid rgba(95,64,54,.14); border-radius: 18px; background: var(--cream); }
.account-invitation h2 { margin-bottom: 8px; font-size: 24px; }.account-invitation .primary-button { margin: 4px 0 16px; color: var(--cream); text-decoration: none; }
.auth-page,.account-page { min-height: 70vh; padding: 150px 32px 110px; background: linear-gradient(180deg,var(--cream),var(--blush) 300px); }
.auth-card { width: min(100%,520px); margin: 0 auto; padding: 42px; border: 1px solid rgba(95,64,54,.11); border-radius: 24px; background: rgba(255,255,255,.58); box-shadow: 0 25px 60px -42px rgba(95,64,54,.55); }
.auth-card--wide { width: min(100%,680px); }.auth-card h1 { margin-bottom: 12px; font-size: clamp(36px,5vw,50px); }.auth-card h2 { margin: 32px 0 14px; font-size: 24px; }.auth-card > p:not(.eyebrow) { color: #6b564c; line-height: 1.7; }
.today-promotion-page .auth-card { width: min(100%,560px); }.today-promotion-page .auth-form .btn { width: 100%; margin-top: 6px; }.today-promotion-page__terms { margin-top: 23px; padding-top: 18px; border-top: 1px solid rgba(95,64,54,.12); color: #7b685d; font-size: 12px; line-height: 1.6; }.today-promotion-page__terms a { color: var(--brown-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }.today-promotion-page__success { margin-top: 26px; padding: 22px; border-radius: 14px; color: #46533f; background: rgba(177,174,139,.22); }.today-promotion-page__success h2 { margin: 0 0 8px; font-size: 25px; }.today-promotion-page__success p { color: #52604b; font-size: 14px; line-height: 1.6; }
.auth-form { display: grid; gap: 16px; margin-top: 28px; }.auth-form > p { display: grid; gap: 7px; }.auth-form label { color: var(--brown-deep); font-size: 12px; font-weight: 700; }.auth-form input:not([type="checkbox"]):not([type="radio"]) { width: 100%; padding: 14px 15px; border: 1px solid rgba(95,64,54,.17); border-radius: 11px; color: var(--ink); background: rgba(255,255,255,.72); }.auth-form ul.errorlist { color: #9d493d; font-size: 12px; }.auth-form .helptext,.auth-form p > span { color: #7b685d; font-size: 12px; line-height: 1.5; }.auth-form .primary-button { justify-self: start; }
.auth-form > p:has(> input[type="checkbox"]) { display: flex; align-items: center; gap: 9px; }
.auth-form > p:has(> input[type="checkbox"]) input[type="checkbox"] { order: -1; width: 16px; height: 16px; margin: 0; flex: 0 0 auto; accent-color: var(--brown-deep); }
.auth-form > p:has(> input[type="checkbox"]) label { line-height: 16px; cursor: pointer; }
.auth-card__links { display: grid; gap: 12px; margin-top: 24px; font-size: 13px; }.auth-card__foot,.auth-card__privacy { margin-top: 24px; font-size: 13px; }.auth-card__privacy { padding-top: 18px; border-top: 1px solid rgba(95,64,54,.1); }
.account-page { max-width: 1120px; margin: 0 auto; background: transparent; }.account-page__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding-bottom: 32px; border-bottom: 1px solid rgba(95,64,54,.14); }.account-page__header h1 { margin-bottom: 8px; font-size: clamp(40px,6vw,62px); }.account-page__header > div > p:last-child { color: #6b564c; }
.account-link-button { padding: 10px 0; color: var(--brown-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }.account-actions { display: flex; flex-wrap: wrap; gap: 20px; padding: 24px 0; }.account-orders { margin-top: 30px; }.account-orders > h2 { margin-bottom: 22px; font-size: 30px; }.account-order-list { display: grid; gap: 16px; }.account-order-card { display: grid; grid-template-columns: 1fr auto; gap: 18px 30px; padding: 24px; border: 1px solid rgba(95,64,54,.11); border-radius: 18px; background: var(--cream); }.account-order-card > div:nth-child(2) { display: flex; align-items: flex-end; flex-direction: column; gap: 6px; }.account-order-card__reference { color: var(--brown-deep); font-weight: 700; }.account-order-card time,.account-order-card__status { color: #7b685d; font-size: 12px; }.account-order-card ul { grid-column: 1/-1; display: grid; gap: 6px; padding-top: 15px; border-top: 1px solid rgba(95,64,54,.1); color: #6b564c; font-size: 13px; }.account-empty { padding: 32px; border-radius: 18px; background: var(--cream); }.account-empty p { margin-bottom: 18px; color: #6b564c; }
.account-profile { max-width: 920px; }.profile-notice { margin: 28px 0 0; padding: 16px 18px; border: 1px solid rgba(95,64,54,.15); border-radius: 12px; color: var(--brown-deep); background: var(--cream); }.profile-form { display: grid; gap: 28px; margin-top: 34px; }.profile-section { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 28px; border: 1px solid rgba(95,64,54,.12); border-radius: 20px; background: rgba(255,255,255,.48); }.profile-section legend { padding: 0 10px; color: var(--brown-deep); font-family: var(--font-display); font-size: 25px; font-weight: 600; }.profile-field { display: grid; gap: 7px; }.profile-field:first-of-type,.profile-field:nth-of-type(2),.profile-section--marketing { grid-column: 1/-1; }.profile-field label,.profile-country span,.profile-checkbox label { color: var(--brown-deep); font-size: 12px; font-weight: 700; letter-spacing: .04em; }.profile-field input { width: 100%; padding: 14px 15px; border: 1px solid rgba(95,64,54,.17); border-radius: 11px; color: var(--ink); background: rgba(255,255,255,.72); }.profile-field--error input { border-color: #9d493d; }.profile-country { display: grid; gap: 7px; }.profile-country strong { padding: 14px 15px; border-radius: 11px; color: #6b564c; background: rgba(95,64,54,.06); }.profile-section--marketing { display: block; }.profile-checkbox { display: grid; grid-template-columns: auto 1fr; gap: 11px; align-items: start; }.profile-checkbox input { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--brown-deep); }.profile-checkbox .field-help { margin-top: 5px; }.profile-form > .primary-button { justify-self: start; }
.account-dashboard { max-width: 860px; }.account-dashboard__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding-bottom: 26px; border-bottom: 1px solid rgba(95,64,54,.12); }.account-dashboard__identity h1 { margin-bottom: 12px; font-size: clamp(36px,5vw,48px); }.account-dashboard__identity > p { color: #7b685d; font-size: 14px; }.account-dashboard__identity .account-dashboard__name { margin-bottom: 3px; color: var(--ink); font-size: 16px; font-weight: 600; }.account-dashboard__actions { display: flex; align-items: center; gap: 20px; padding-top: 8px; }.account-dashboard__actions > a { padding: 9px 15px; border: 1px solid rgba(95,64,54,.18); border-radius: 999px; text-decoration: none; }.account-dashboard__actions .account-link-button { font-size: 13px; }.account-dashboard .account-orders { margin-top: 46px; }.account-dashboard .account-orders > h2 { margin-bottom: 10px; font-size: 23px; }.account-dashboard .account-order-list { gap: 0; }.account-dashboard .account-order-card { grid-template-columns: 1fr auto; gap: 15px 24px; padding: 22px 0; border: 0; border-bottom: 1px solid rgba(95,64,54,.11); border-radius: 0; background: transparent; }.account-dashboard .account-order-card:first-child { border-top: 1px solid rgba(95,64,54,.11); }.account-order-card__summary { display: flex; align-items: flex-end; flex-direction: column; gap: 5px; }.account-dashboard .account-order-card__status { padding: 3px 8px; border-radius: 999px; background: rgba(95,64,54,.07); }.account-order-card__details { grid-column: 1/-1; }.account-order-card__details summary { width: fit-content; color: #6b564c; font-size: 12px; font-weight: 600; cursor: pointer; }.account-dashboard .account-order-card__details ul { margin-top: 12px; padding: 12px 0 0 18px; border-top: 1px solid rgba(95,64,54,.08); }.account-empty--quiet { padding: 28px 0; border-radius: 0; background: transparent; }
.account-email-list { display: grid; gap: 10px; }.account-email-list label { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 13px; border: 1px solid rgba(95,64,54,.14); border-radius: 11px; }.account-email-list small { color: #7b685d; }.account-email-actions { display: flex; flex-wrap: wrap; gap: 12px; }.account-email-actions button { color: var(--brown-deep); font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 1000px) {
  .nav-inner { justify-content: flex-start; }
  .logo-mark { margin-right: auto; }
  .nav-links,.nav-cta-group { display: none; }.hamburger { display: block; }
}

@media (max-width: 1024px) {
  .hero-grid,.story-grid,.scan-grid,.value-grid,.contact-section__grid,.footer-grid,.product-detail,.checkout { grid-template-columns: 1fr; gap: 50px; }
  .hero-grid { display: flex; flex-direction: column; align-items: stretch; gap: 0; }.hero-copy { display: contents; }.hero-copy .eyebrow { order: 1; justify-content: center; }.hero-title { order: 2; }.hero-sub { order: 3; }.hero-copy .eyebrow,.hero-title,.hero-sub { margin-right: auto; margin-left: auto; text-align: center; }.hero-visual { order: 4; width: min(680px,100%); margin: 34px auto 0; }.hero-actions { order: 5; }.trust-row { order: 6; }.hero-actions,.trust-row { justify-content: center; }
  .story-grid { display: flex; flex-direction: column-reverse; }.story-grid.story-grid--copy-only { display: block; max-width: 720px; margin: 0 auto; }
  .how-steps { grid-template-columns: 1fr; gap: 24px; }.collection-grid { grid-template-columns: repeat(2,1fr); }
  .product-detail__media { position: static; width: min(680px,100%); margin: 0 auto; }
}

@media (max-width: 700px) {
  .container { padding: 0 22px; }
  .today-promotion-banner { height: 54px; justify-content: space-between; gap: 9px; padding: 8px 14px; font-size: 10px; line-height: 1.28; }.today-promotion-banner strong { font-size: 16px; }.today-promotion-banner span { flex: 1; }.today-promotion-banner b { font-size: 9px; line-height: 1.2; white-space: nowrap; }
  body.today-promotion-active .nav { top: 54px; }.store-preview-mode.today-promotion-active .nav { top: 88px; }.store-preview-mode.today-promotion-active .preview-banner { top: 54px; }
  .hero,.story,.how,.scan-demo,.collection,.value,.reviews,.faq,.final-cta,.contact-section { padding-top: 90px; padding-bottom: 90px; }.hero { padding-top: 130px; }
  .how,.collection,.faq { padding-top: 70px; padding-bottom: 70px; }.reviews { padding-top: 64px; padding-bottom: 64px; }
  .how { padding-bottom: 44px; }.collection { padding-top: 44px; padding-bottom: 50px; }
  .story { padding-bottom: 44px; }.faq { padding-top: 44px; }
  .scan-demo { padding-top: 60px; }
  .how .section-head,.collection .section-head,.faq .section-head,.reviews .section-head { margin-bottom: 34px; }
  .scan-grid { display: flex; flex-direction: column; gap: 32px; }.scan-demo-content { display: contents; }.scan-demo-copy { order: 0; }.scan-demo .phone-mock { order: 1; }.scan-demo-list { order: 2; margin-top: 0; }
  .hero-title { font-size: clamp(38px,12vw,58px); }.hero-sub { font-size: 16px; }.hero-actions,.trust-row { align-items: center; flex-direction: column; }
  .section-head { margin-bottom: 44px; }
  .collection-grid { grid-template-columns: 1fr; }.product-foot { align-items: flex-end; }
  .reviews-grid { grid-template-columns: 1fr; }
  .review-card,.review-launch { padding: 30px 24px; }
  .final-cta__actions,.contact-form__row { grid-template-columns: 1fr; flex-direction: column; }.final-cta__actions .btn,.contact-form .btn { width: 100%; }
  .store-strip__track { gap: 44px; }.store-strip__item { min-width: 165px; padding-right: 44px; }.store-strip__item b { font-size: 19px; }.value-card { padding: 38px 28px; }
  .footer-grid { gap: 45px; padding-bottom: 50px; }.footer-links { gap: 24px; }.footer-bottom { align-items: flex-start; flex-direction: column; padding-right: 22px; padding-left: 22px; }
  .product-detail,.cart,.checkout,.empty-state,.review-page { padding: 120px 22px 80px; }.product-detail { gap: 28px; }.product-detail__body { padding-top: 0; }.product-safety__data div { grid-template-columns: 1fr; gap: 3px; }
  .legal-page { padding: 120px 22px 80px; }.legal-data div { grid-template-columns: 1fr; gap: 4px; }
  .cart-line { grid-template-areas: "image details" "image subtotal" "image actions"; grid-template-columns: 80px 1fr; align-items: start; }.cart-line img,.cart-line__placeholder { width: 80px; }.cart-line--unavailable { grid-template-areas: "image details"; grid-template-columns: 80px 1fr; min-height: 0; gap: 18px; padding: 18px; }.cart-line--unavailable img { width: 80px; }.cart-line__actions { align-items: flex-start; flex-direction: column; }.cart-line__subtotal { padding-top: 0; }
  .cart-actions { align-items: stretch; flex-direction: column; }.cart-actions .btn,.cart-actions .primary-button { width: 100%; }
  .checkout-form,.checkout-invoice__grid { grid-template-columns: 1fr; }.phone-mock { width: 260px; }
  .cart-drawer { padding: 24px 20px; }.cart-drawer-line { grid-template-columns: 70px 1fr; }.cart-drawer-line img { width: 70px; }.cart-drawer-line > strong { grid-column: 2; }.cart-drawer__actions { grid-template-columns: 1fr; }
  .auth-page,.account-page { padding: 120px 22px 80px; }.auth-card { padding: 30px 22px; }.account-page__header,.account-dashboard__header { align-items: flex-start; flex-direction: column; }.account-dashboard__actions { width: 100%; justify-content: space-between; padding-top: 0; }.account-order-card { grid-template-columns: 1fr; }.account-order-card > div:nth-child(2),.account-order-card__summary { align-items: flex-start; }.account-order-card ul { grid-column: 1; }.account-dashboard .account-order-card { grid-template-columns: 1fr auto; }.profile-section { grid-template-columns: 1fr; padding: 22px 18px; }.profile-field:first-of-type,.profile-field:nth-of-type(2),.profile-section--marketing { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* The mobile checkout summary is placed immediately before the payment action. */
.checkout-summary--mobile { display: none; }

.checkout-consent.form-field--error {
  border-color: #b46659;
  background: rgba(250,237,233,.8);
}
.checkout-consent { scroll-margin-top: 120px; }

.checkout-consent.form-field--error label { color: #6f2921; }
.checkout-consent.form-field--error input { outline: 1px solid #b46659; outline-offset: 2px; }
.checkout-consent.is-client-error { border-color: #b46659; background: rgba(250,237,233,.8); }
.checkout-consent.is-client-error input { outline: 1px solid #b46659; outline-offset: 2px; }
.checkout-consent__error {
  grid-column: 2;
  margin: -5px 0 0;
  color: #8c342c !important;
  font-weight: 700;
  line-height: 1.45;
}

@media (max-width: 1024px) {
  .checkout-summary--desktop { display: none; }
  .checkout-summary--mobile { display: block; }
}
.language-picker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border: 1px solid rgba(95,64,54,.14);
  border-radius: 999px;
  color: var(--brown-deep);
  background: rgba(246,237,231,.48);
}

.language-picker__options {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.language-picker__option {
  min-width: 34px;
  height: 34px;
  padding: 0 7px;
  border-radius: 999px;
  color: #6b564c;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  transition: color .25s var(--ease), background .25s var(--ease), transform .25s var(--ease-soft);
}

.language-picker__option:hover {
  color: var(--brown-deep);
  background: rgba(95,64,54,.09);
}

.language-picker__option.is-active {
  color: var(--cream);
  background: var(--brown-deep);
  box-shadow: 0 5px 14px -7px rgba(95,64,54,.75);
}

.language-picker--mobile {
  width: fit-content;
  margin-top: 22px;
}

.language-picker--mobile .language-picker__option {
  min-width: 48px;
  height: 36px;
}

.language-picker--nav-mobile { display: none; }

@media (max-width: 1000px) {
  .language-picker--nav-mobile { display: inline-flex; flex: 0 0 auto; margin-right: 15px; padding: 3px; }
  .language-picker--nav-mobile .language-picker__option { min-width: 28px; height: 28px; padding: 0 5px; font-size: 9px; }
}

@media (max-width: 460px) {
  .today-promotion-banner { justify-content: center; }
  .today-promotion-banner span { display: none; }
  .stock-alert { grid-template-columns: 1fr; }
  .stock-alert .btn { width: 100%; }
}

@media (max-width: 360px) {
  .logo-word { display: none; }
  .language-picker--nav-mobile { margin-right: 9px; }
  .language-picker--nav-mobile .language-picker__option { min-width: 25px; padding: 0 4px; }
}

/* Account order history: calmer, product-led cards rather than an admin-style list. */
.account-dashboard .account-order-list { gap: 14px; }
.account-dashboard .account-order-card,
.account-dashboard .account-order-card:first-child {
  grid-template-columns: minmax(0,1fr) auto;
  gap: 16px 24px;
  padding: 22px 24px;
  border: 1px solid rgba(95,64,54,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.48);
  box-shadow: 0 15px 30px -30px rgba(67,43,35,.55);
}
.account-dashboard .account-order-card__reference {
  margin-bottom: 5px;
  color: var(--brown-deep);
  font-family: var(--font-display);
  font-size: 20px;
  letter-spacing: .01em;
}
.account-dashboard .account-order-card time {
  display: block;
  color: #806d62;
  font-size: 12px;
}
.account-dashboard .account-order-card__summary { gap: 8px; }
.account-dashboard .account-order-card__summary > strong {
  order: -1;
  color: var(--brown-deep);
  font-family: var(--font-display);
  font-size: 21px;
}
.account-dashboard .account-order-card__status {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  max-width: 230px;
  padding: 0;
  color: #685448;
  background: transparent;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1.35;
  text-align: right;
}
.account-dashboard .account-order-card__status::before {
  display: block;
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold-dark);
  content: "";
}
.account-dashboard .account-order-card__details {
  margin-top: 2px;
  padding-top: 14px;
  border-top: 1px solid rgba(95,64,54,.1);
}
.account-dashboard .account-order-card__details summary {
  color: var(--brown-deep);
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(95,64,54,.32);
  text-underline-offset: 4px;
}
.account-dashboard .account-order-card__details ul {
  margin-top: 14px;
  padding: 14px 16px;
  border: 0;
  border-radius: 10px;
  background: rgba(232,220,207,.42);
}
.account-dashboard .account-order-card__returns { grid-column: 1 / -1; }
.account-dashboard .account-order-card__returns a {
  display: inline-block;
  padding: 9px 11px;
  border-radius: 9px;
  color: var(--brown-deep);
  background: rgba(232,220,207,.45);
  font-size: 12px;
  text-decoration: none;
}
.account-dashboard .account-order-card > .btn {
  grid-column: 1 / -1;
  justify-self: start;
  margin-top: 0;
  font-size: 12px;
}
.account-dashboard .account-order-card__actions {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(95,64,54,.1);
}
.account-dashboard .account-order-card__actions .account-order-card__details {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  border: 0;
}
.account-dashboard .account-order-card__actions .account-order-card__details[open] { flex-basis: 100%; }
.account-dashboard .account-order-card__actions .btn {
  flex: 0 0 auto;
  margin: 0;
  padding: 10px 16px;
  font-size: 12px;
  text-decoration: none;
}

.account-form-card { margin-top: 28px; padding: 28px; border: 1px solid rgba(95,64,54,.12); border-radius: 20px; background: rgba(255,255,255,.48); box-shadow: 0 22px 48px -42px rgba(67,43,35,.55); }
.account-form-card h2 { margin: 26px 0 12px; font-size: 24px; }.account-form-card h2:first-child { margin-top: 0; }
.account-form-card ul { display: grid; gap: 8px; margin: 12px 0 22px; padding: 16px 18px; border-radius: 12px; background: rgba(232,220,207,.42); }
.account-form-card > p { margin-top: 14px; color: #5c4a40; line-height: 1.7; }

@media (max-width: 700px) {
  .account-dashboard .account-order-card,
  .account-dashboard .account-order-card:first-child { padding: 20px 18px; }
  .account-dashboard .account-order-card__status { max-width: 145px; }
}

.account-request-page { max-width: 760px; }
.account-request-page__header { margin-bottom: 30px; }
.account-request-page__header > p:first-child { margin-bottom: 20px; font-size: 13px; }
.account-request-page__header > p:first-child a { color: var(--brown-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.account-request-page__reference { color: #7b685d; font-size: 14px; }
.cancellation-request { overflow: hidden; border: 1px solid rgba(95,64,54,.13); border-radius: 20px; background: rgba(255,255,255,.48); box-shadow: 0 22px 48px -40px rgba(67,43,35,.6); }
.cancellation-request__intro { padding: 24px 26px 20px; background: rgba(232,220,207,.42); }
.cancellation-request__intro p { max-width: 610px; color: #5c4a40; font-size: 14px; line-height: 1.65; }
.cancellation-request__intro p + p { margin-top: 10px; color: #7b685d; font-size: 13px; }
.cancellation-request__form { display: grid; gap: 20px; padding: 26px; }
.cancellation-request__form .form-field { display: grid; gap: 8px; }
.cancellation-request__form .form-field label { color: var(--brown-deep); font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.cancellation-request__form textarea { width: 100%; min-height: 98px; padding: 13px 14px; border: 1px solid rgba(95,64,54,.17); border-radius: 11px; resize: vertical; color: var(--ink); background: rgba(255,255,255,.62); font: inherit; line-height: 1.55; }
.cancellation-request__form textarea:focus { border-color: rgba(95,64,54,.42); outline: 2px solid rgba(190,161,118,.24); outline-offset: 2px; }
.cancellation-request__actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 4px; }
.cancellation-request__actions > a { color: #6b564c; font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Return request: the same quiet structure as cancellation, with the item choice made explicit. */
.return-request { overflow: hidden; border: 1px solid rgba(95,64,54,.13); border-radius: 20px; background: rgba(255,255,255,.48); box-shadow: 0 22px 48px -40px rgba(67,43,35,.6); }
.return-request__intro { padding: 24px 26px 20px; background: rgba(232,220,207,.42); }
.return-request__intro p { max-width: 620px; color: #5c4a40; font-size: 14px; line-height: 1.65; }
.return-request__form { display: grid; gap: 30px; padding: 26px; }
.return-request__section { display: grid; gap: 17px; }
.return-request__section + .return-request__section { padding-top: 28px; border-top: 1px solid rgba(95,64,54,.11); }
.return-request__section-heading .eyebrow { margin-bottom: 6px; }
.return-request__section-heading h2 { color: var(--brown-deep); font-size: 24px; }
.return-request__items { display: grid; gap: 10px; }
.return-request__item { display: grid; grid-template-columns: 1fr 92px; gap: 9px 18px; align-items: center; padding: 15px 16px; border: 1px solid rgba(95,64,54,.12); border-radius: 13px; background: rgba(255,255,255,.38); }
.return-request__item label { color: var(--brown-deep); font-size: 14px; font-weight: 700; line-height: 1.4; }
.return-request__item small { display: block; margin-top: 4px; color: #7b685d; font-size: 12px; }
.return-request__item input { width: 100%; min-height: 42px; padding: 8px 9px; border: 1px solid rgba(95,64,54,.18); border-radius: 9px; color: var(--ink); background: rgba(255,255,255,.68); font: inherit; text-align: center; }
.return-request__item .field-error { grid-column: 1/-1; }
.return-request__form .form-field { display: grid; gap: 8px; }
.return-request__form .form-field label { color: var(--brown-deep); font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.return-request__form select,.return-request__form textarea { width: 100%; padding: 13px 14px; border: 1px solid rgba(95,64,54,.17); border-radius: 11px; color: var(--ink); background: rgba(255,255,255,.62); font: inherit; line-height: 1.55; }
.return-request__form textarea { min-height: 105px; resize: vertical; }
.return-request__form input[type="file"] { width: 100%; padding: 9px; border: 1px dashed rgba(95,64,54,.28); border-radius: 11px; color: #6b564c; background: rgba(255,255,255,.32); font: inherit; }
.return-request__form input[type="file"]::file-selector-button { margin-right: 11px; padding: 8px 11px; border: 0; border-radius: 7px; color: var(--brown-deep); background: rgba(232,220,207,.82); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.return-request__form select:focus,.return-request__form textarea:focus,.return-request__item input:focus { border-color: rgba(95,64,54,.42); outline: 2px solid rgba(190,161,118,.24); outline-offset: 2px; }
.return-request__actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 2px; }
.return-request__actions > a { color: #6b564c; font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 700px) {
  .cancellation-request__intro,.cancellation-request__form { padding: 22px 18px; }
  .cancellation-request__actions { align-items: stretch; flex-direction: column-reverse; }
  .cancellation-request__actions .btn { width: 100%; }
  .return-request__intro,.return-request__form { padding: 22px 18px; }
  .return-request__item { grid-template-columns: 1fr 78px; gap: 9px 12px; padding: 14px; }
  .return-request__actions { align-items: stretch; flex-direction: column-reverse; }
  .return-request__actions .btn { width: 100%; }
}
/* First-party analytics consent */
.cookie-banner {
  position: fixed;
  z-index: 1200;
  right: 14px;
  bottom: 14px;
  left: 14px;
  display: flex;
  max-width: 760px;
  margin: 0 auto;
  padding: 13px 14px 13px 17px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid rgba(190, 161, 118, .42);
  border-radius: 12px;
  background: rgba(250, 244, 238, .98);
  box-shadow: 0 12px 32px rgba(58, 42, 34, .14);
  color: #5f4036;
}
.cookie-banner__copy { max-width: 520px; }
.cookie-banner__copy h2 { margin: 0 0 3px; font-family: "Lora", serif; font-size: 16px; font-weight: 600; }
.cookie-banner__copy p { margin: 0; color: #725c51; font-size: 12.5px; line-height: 1.45; }
.cookie-banner__copy a { color: #5f4036; font-weight: 700; text-underline-offset: 2px; }
.cookie-banner__actions { display: flex; flex: 0 0 auto; gap: 7px; }
.cookie-banner__button { min-width: 76px; padding: 8px 11px; border: 1px solid rgba(95,64,54,.3); border-radius: 8px; color: #5f4036; background: transparent; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.cookie-banner__button:hover,.cookie-banner__button:focus-visible { border-color: #5f4036; background: rgba(190,161,118,.13); }
@media (max-width: 720px) {
  .cookie-banner { right: 9px; bottom: 9px; left: 9px; align-items: stretch; flex-direction: column; gap: 10px; padding: 14px; }
  .cookie-banner__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cookie-banner__button { width: 100%; }
}
