:root {
  --product-media-ratio: 4 / 5;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --header-height: 76px;
  --gutter: clamp(20px, 4vw, 68px);
  --radius: 22px;
  --ease: cubic-bezier(.22, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 108px; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--ivory);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.panel-open { overflow: hidden; }
::selection { color: var(--ivory); background: var(--plum); }
img { display: block; max-width: 100%; }
svg { width: 1.2em; height: 1.2em; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
a { color: inherit; text-decoration: none; }
button, input, textarea { color: inherit; font: inherit; }
button { border: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
input, textarea { min-width: 0; }
input[type="search"]::-webkit-search-cancel-button { display: none; -webkit-appearance: none; appearance: none; }
input[type="search"]::-ms-clear, input[type="search"]::-ms-reveal { display: none; width: 0; height: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
[hidden] { display: none !important; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 300; top: 8px; left: 8px; padding: 12px 18px; color: var(--ivory); background: var(--plum); transform: translateY(-150%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }

.announcement {
  position: relative;
  z-index: 82;
  min-height: 34px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 7px var(--gutter);
  color: var(--ivory);
  background: var(--plum-deep);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.announcement p { margin: 0; text-align: center; }
.announcement__mark { color: var(--gold-light); font-weight: 700; }
.announcement button { display: grid; place-items: center; padding: 2px; color: inherit; background: transparent; }
.announcement button svg { width: 15px; height: 15px; }

.site-header {
  position: sticky;
  z-index: 80;
  top: 0;
  height: var(--header-height);
  display: grid;
  grid-template-columns: minmax(170px, 1fr) auto minmax(170px, 1fr);
  align-items: center;
  gap: 24px;
  padding: 0 var(--gutter);
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--ivory) 92%, transparent);
  backdrop-filter: blur(18px);
}
.brand { width: 188px; display: inline-flex; align-items: center; }
.brand img { width: 100%; height: auto; }
.desktop-nav { display: flex; align-items: center; justify-content: center; gap: clamp(20px, 2.3vw, 40px); height: 100%; }
.desktop-nav > a, .nav-menu > summary {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  color: var(--plum);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
}
.desktop-nav > a::after, .nav-menu > summary::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 18px;
  left: 0;
  height: 1px;
  background: var(--plum);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .3s var(--ease);
}
.desktop-nav > a:hover::after, .site-header:not(.has-open-menu) .desktop-nav > a[aria-current="page"]::after, .nav-menu > summary:hover::after, .nav-menu[open] > summary::after { transform: scaleX(1); transform-origin: left; }
.site-header.has-open-menu .desktop-nav > a[aria-current="page"]::after { transform: scaleX(0); transform-origin: right; }
.nav-menu { position: relative; height: 100%; }
.nav-menu summary { list-style: none; cursor: pointer; gap: 6px; }
.nav-menu summary::-webkit-details-marker { display: none; }
.nav-menu summary svg { width: 12px; transition: transform .25s; }
.nav-menu[open] summary svg { transform: rotate(45deg); }
.nav-menu > div {
  position: absolute;
  top: calc(100% - 8px);
  left: 50%;
  min-width: 300px;
  padding: 12px;
  background: var(--paper);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  transform: translateX(-50%);
}
.nav-menu > div a { display: grid; grid-template-columns: 30px 1fr; gap: 12px; padding: 14px; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 18px; }
.nav-menu > div a:last-child { border-bottom: 0; }
.nav-menu > div a:hover { color: var(--ivory); background: var(--plum); }
.nav-menu > div span { padding-top: 5px; font-family: var(--sans); font-size: 9px; letter-spacing: .12em; }
.header-actions { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.header-icon, .icon-button { position: relative; width: 42px; height: 42px; display: grid; place-items: center; color: var(--plum); background: transparent; border: 1px solid transparent; border-radius: 50%; transition: background .2s, border-color .2s, transform .2s; }
.header-icon:hover, .icon-button:hover { background: color-mix(in srgb, var(--plum-deep) 7%, transparent); border-color: var(--line); }
.header-icon:active, .icon-button:active { transform: scale(.95); }
.header-icon i { position: absolute; top: 3px; right: 2px; min-width: 16px; height: 16px; display: grid; place-items: center; padding: 0 3px; color: white; background: var(--wine); border-radius: 20px; font: normal 9px/1 var(--sans); }
.account-popover { position: absolute; z-index: 95; top: calc(100% + 15px); right: 76px; width: min(310px, calc(100vw - 32px)); display: grid; gap: 0; padding: 12px; color: var(--plum); background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow-small); }
.account-popover::before { content: ""; position: absolute; top: -7px; right: 18px; width: 12px; height: 12px; background: var(--paper); border-top: 1px solid var(--line); border-left: 1px solid var(--line); transform: rotate(45deg); }
.account-popover > small { padding: 10px 12px 3px; color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.account-popover > strong { padding: 0 12px; font-family: var(--serif); font-size: 22px; font-weight: 400; line-height: 1.2; }
.account-popover > span { padding: 4px 12px 13px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 10px; overflow-wrap: anywhere; }
.account-popover > a, .account-popover > button { min-height: 44px; display: flex; align-items: center; padding: 10px 12px; color: var(--plum); background: transparent; border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 700; text-align: left; }
.account-popover > a:hover, .account-popover > button:hover { color: var(--ivory); background: var(--plum); }
.account-popover > :last-child { border-bottom: 0; }
.bag-button { min-width: 78px; height: 42px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 0 15px; color: var(--ivory); background: var(--plum); border-radius: 50px; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.count-pill { min-width: 20px; height: 20px; display: grid; place-items: center; padding: 0 5px; color: var(--plum); background: var(--gold-light); border-radius: 20px; font-size: 10px; }
.menu-button { display: none; }

main { min-height: 72vh; }
main > *:first-child { animation: routeIn .5s var(--ease) both; }
@keyframes routeIn { from { opacity: .2; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.section, .route-section { padding: clamp(82px, 10vw, 150px) var(--gutter); }
.route-section { max-width: 1600px; margin: 0 auto; }
.shop { scroll-margin-top: 100px; }
.route-section--tight { padding-top: 50px; }
.narrow-section { max-width: 850px; }
.eyebrow { display: inline-block; color: var(--plum-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow--light { color: var(--gold-light); }

.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 13px 22px; border: 1px solid var(--plum); border-radius: 0; font-size: 12px; font-weight: 800; letter-spacing: .08em; line-height: 1.1; text-transform: uppercase; transition: color .25s, background .25s, border-color .25s, transform .25s; }
.button svg { width: 17px; height: 17px; transition: transform .25s; }
.button:hover svg, .text-arrow:hover svg { transform: translateX(4px); }
.button:active { transform: translateY(1px); }
.button--primary { color: var(--ivory); background: var(--plum); }
.button--primary:hover { color: white; background: var(--wine); border-color: var(--wine); }
.button--ghost { color: var(--plum); background: transparent; }
.button--ghost:hover { color: var(--ivory); background: var(--plum); }
.button--light { color: var(--plum); background: var(--ivory); border-color: var(--ivory); }
.button--light:hover { color: var(--ivory); background: transparent; }
.button--full { width: 100%; }
.text-arrow { display: inline-flex; align-items: center; gap: 10px; color: inherit; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.text-arrow svg { width: 18px; transition: transform .25s; }
.js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--ease), transform .8s var(--ease); transition-delay: var(--delay, 0ms); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }

/* Home */
.home-hero { min-height: min(860px, calc(100svh - 110px)); display: grid; grid-template-columns: 46% 54%; background: var(--ivory); }
.home-hero__copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: clamp(70px, 8vw, 128px) clamp(30px, 6vw, 100px) clamp(70px, 8vw, 128px) var(--gutter); }
.hero-kicker { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 22px; border-bottom: 1px solid var(--line); color: var(--plum-soft); font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.home-hero h1 { margin: 36px 0 28px; color: var(--plum); font-family: var(--serif); font-size: clamp(74px, 9.2vw, 146px); font-weight: 400; line-height: .78; letter-spacing: -.06em; }
.home-hero h1 em { color: var(--wine); font-weight: 400; }
.home-hero__copy > p { max-width: 590px; margin-bottom: 36px; color: var(--muted); font-size: clamp(17px, 1.25vw, 21px); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 30px; color: var(--plum-soft); font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.hero-trust span { display: flex; align-items: center; gap: 8px; }
.hero-trust span::before { content: ""; width: 5px; height: 5px; background: var(--gold); border-radius: 50%; }
.hero-stage { position: relative; min-height: 660px; overflow: hidden; background: var(--rose); isolation: isolate; }
.hero-stage::before { content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none; background: linear-gradient(90deg, color-mix(in srgb, var(--plum-deep) 8%, transparent), transparent 30%), linear-gradient(0deg, color-mix(in srgb, var(--plum-deep) 24%, transparent), transparent 34%); }
.hero-carousel, .hero-slide { position: absolute; inset: 0; }
.hero-slide { margin: 0; opacity: 0; transform: scale(1.035); transition: opacity .9s var(--ease), transform 1.6s var(--ease); }
.hero-slide.is-active { z-index: 1; opacity: 1; transform: scale(1); }
.hero-slide picture { width: 100%; height: 100%; display: block; }
.hero-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; background: var(--product-media-bg); }
.hero-slide figcaption { position: absolute; z-index: 3; right: 30px; bottom: 28px; left: 30px; display: grid; grid-template-columns: 36px 1fr auto; align-items: end; gap: 14px; color: white; text-shadow: 0 1px 12px color-mix(in srgb, var(--plum-deep) 30%, transparent); }
.hero-slide figcaption span, .hero-slide figcaption small { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.hero-slide figcaption strong { font-family: var(--serif); font-size: clamp(20px, 2vw, 30px); font-weight: 400; }
.hero-dots { position: absolute; z-index: 6; bottom: 92px; left: 30px; display: flex; gap: 7px; }
.hero-dots button { width: 28px; height: 3px; padding: 0; background: color-mix(in srgb, var(--ivory) 45%, transparent); transition: width .3s, background .3s; }
.hero-dots button.is-active { width: 50px; background: white; }
.float-icon { --orb-size: clamp(56px, 5.5vw, 78px); --float-x: 8px; --float-y: -12px; --float-rotate: 4deg; --float-scale: 1.04; --float-duration: 4s; --float-delay: 0s; position: absolute; z-index: 7; width: var(--orb-size); height: var(--orb-size); display: grid; place-items: center; color: var(--plum); background: color-mix(in srgb, var(--ivory) 89%, transparent); border: 1px solid color-mix(in srgb, var(--ivory) 66%, transparent); border-radius: 50%; box-shadow: 0 15px 38px color-mix(in srgb, var(--plum-deep) 20%, transparent); backdrop-filter: blur(12px); animation: floatRandom var(--float-duration) ease-in-out var(--float-delay) infinite; will-change: transform; }
.float-icon svg { width: 34%; height: 34%; }
.float-icon > span { position: absolute; right: calc(100% + 10px); width: max-content; max-width: 180px; padding: 8px 11px; color: var(--ivory); background: var(--plum-deep); border-radius: 2px; font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; opacity: 0; transform: translateX(7px); pointer-events: none; transition: opacity .2s, transform .2s; }
.float-icon[data-tooltip-side="right"] > span { right: auto; left: calc(100% + 10px); transform: translateX(-7px); }
.float-icon:hover > span, .float-icon:focus-visible > span { opacity: 1; transform: none; }
.float-icon:hover { animation-play-state: paused; color: var(--white); background: var(--plum); }
.float-icon--1 { top: 10%; left: 8%; }
.float-icon--2 { top: 21%; right: 6%; }
.float-icon--3 { top: 46%; left: 5%; }
.float-icon--4 { top: 58%; right: 9%; }
.float-icon--5 { bottom: 9%; left: 18%; }
.float-icon--6 { top: 7%; right: 27%; }
@keyframes floatRandom { 0%,100% { transform: translate(0,0) rotate(0) scale(1); } 50% { transform: translate(var(--float-x), var(--float-y)) rotate(var(--float-rotate)) scale(var(--float-scale)); } }
.news-rail { min-height: 54px; display: grid; grid-template-columns: 170px 1fr 100px; align-items: center; gap: 20px; padding: 0 var(--gutter); color: var(--ivory); background: var(--wine); font-size: 11px; letter-spacing: .11em; text-transform: uppercase; }
.news-rail p { margin: 0; text-align: center; transition: opacity .22s, transform .22s; }
.news-rail p.is-changing { opacity: 0; transform: translateY(5px); }
.news-rail__label { color: var(--gold-light); font-weight: 800; }
.news-rail__counter { text-align: right; }
.section-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 50px; margin-bottom: clamp(40px, 6vw, 80px); }
.section-heading h2 { max-width: 730px; margin: 14px 0 0; color: var(--plum); font-family: var(--serif); font-size: clamp(44px, 5vw, 78px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.section-heading__aside { max-width: 480px; justify-self: end; }
.section-heading__aside p { color: var(--muted); }
.launch-chip { display: inline-block; padding: 8px 12px; color: var(--plum); border: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.3vw, 36px); }
.product-card { min-width: 0; display: flex; flex-direction: column; }
.product-card__image { position: relative; overflow: hidden; aspect-ratio: var(--product-media-ratio); background: var(--ivory-deep); cursor: pointer; }
.product-card__image::after { content: "View product"; position: absolute; right: 16px; bottom: 16px; padding: 8px 10px; color: var(--ivory); background: color-mix(in srgb, var(--plum-deep) 80%, transparent); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none; }
.product-card__image:hover::after { opacity: 1; transform: none; }
.product-card__image-link { width: 100%; height: 100%; display: block; }
.product-card__image img { width: 100%; height: 100%; object-fit: contain; object-position: center; padding: clamp(8px, 1.15vw, 18px); background: var(--product-media-bg); transition: transform .8s var(--ease); }
.product-card__image:hover img { transform: scale(1.025); }
.product-card__badge { position: absolute; top: 14px; left: 14px; padding: 7px 10px; color: var(--plum); background: color-mix(in srgb, var(--ivory) 90%, transparent); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; backdrop-filter: blur(8px); }
.wishlist-button { position: absolute; z-index: 2; top: 12px; right: 12px; width: 42px; height: 42px; display: grid; place-items: center; color: var(--plum); background: color-mix(in srgb, var(--ivory) 90%, transparent); border-radius: 50%; }
.wishlist-button svg { width: 18px; }
.wishlist-button[aria-pressed="true"] { color: white; background: var(--wine); }
.wishlist-button[aria-pressed="true"] svg { fill: currentColor; }
.product-card__info { flex: 1; display: flex; flex-direction: column; padding: 22px 2px 0; }
.product-card__topline { display: flex; justify-content: space-between; gap: 15px; color: var(--plum-soft); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.product-card h3 { min-height: 2.08em; margin: 12px 0 9px; color: var(--plum); font-family: var(--serif); font-size: clamp(23px, 1.85vw, 31px); font-weight: 400; line-height: 1.04; }
.product-card__short { min-height: 68px; margin-bottom: 8px; color: var(--muted); font-size: 14px; }
.product-card__short strong { color: var(--plum); font-size: 10px; letter-spacing: .1em; white-space: nowrap; }
.product-card__availability { min-height: 39px; margin-bottom: 18px; color: var(--plum-soft); font-size: 11px; }
.product-card__details { margin: auto 0 17px; padding-top: 5px; font-size: 9px; }
.product-card__actions { display: grid; grid-template-columns: 1fr 52px; gap: 9px; }
.quick-view-button { width: 52px; height: 52px; border-color: var(--line); border-radius: 0; }
@media (min-width: 931px) {
  .product-card h3 { min-height: 1.08em; font-size: clamp(15px, 1.45vw, 27px); letter-spacing: -.025em; white-space: nowrap; }
}
.system-section { display: grid; grid-template-columns: .85fr .8fr 1fr; align-items: center; gap: clamp(40px, 6vw, 100px); color: var(--ivory); background: var(--plum-deep); overflow: hidden; }
.system-orbit { position: relative; width: min(30vw, 430px); aspect-ratio: 1; display: grid; place-items: center; justify-self: center; }
.system-orbit::before { content: ""; position: absolute; inset: 14%; background: radial-gradient(circle at 38% 34%, color-mix(in srgb, var(--gold-light) 28%, transparent), transparent 26%), linear-gradient(145deg, var(--wine), var(--plum-deep)); border-radius: 50%; box-shadow: 0 0 100px color-mix(in srgb, var(--gold-light) 16%, transparent); }
.system-orbit__word { position: relative; z-index: 2; font-family: var(--serif); font-size: clamp(24px, 3vw, 42px); letter-spacing: -.04em; }
.system-orbit__ring { position: absolute; border: 1px solid color-mix(in srgb, var(--gold-light) 48%, transparent); border-radius: 50%; }
.system-orbit__ring--1 { inset: 0; animation: spin 18s linear infinite; }
.system-orbit__ring--2 { inset: 8%; border-style: dashed; animation: spinReverse 24s linear infinite; }
.system-orbit__dot { position: absolute; z-index: 3; width: 10px; height: 10px; background: var(--gold-light); border-radius: 50%; box-shadow: 0 0 20px var(--gold); }
.system-orbit__dot--1 { top: 11%; right: 22%; }
.system-orbit__dot--2 { right: 4%; bottom: 28%; }
.system-orbit__dot--3 { bottom: 8%; left: 27%; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes spinReverse { to { transform: rotate(-360deg); } }
.system-copy h2 { margin: 18px 0 25px; color: white; font-family: var(--serif); font-size: clamp(52px, 5vw, 80px); font-weight: 400; line-height: .86; letter-spacing: -.04em; }
.system-copy p { color: color-mix(in srgb, var(--ivory) 70%, transparent); }
.system-copy .text-arrow { margin-top: 20px; color: var(--gold-light); }
.system-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-light); }
.system-steps li { display: grid; grid-template-columns: 46px 1fr; gap: 15px; padding: 27px 0; border-bottom: 1px solid var(--line-light); }
.system-steps li > span { color: var(--gold-light); font-size: 10px; letter-spacing: .15em; }
.system-steps div { display: grid; gap: 4px; }
.system-steps strong { font-family: var(--serif); font-size: 23px; font-weight: 400; }
.system-steps small { color: color-mix(in srgb, var(--ivory) 55%, transparent); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.ritual-ticker { width: 100%; overflow: hidden; color: var(--ivory); background: var(--gold); border-top: 1px solid color-mix(in srgb, var(--ivory) 22%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--plum-deep) 14%, transparent); }
.ritual-ticker__track { width: max-content; display: flex; animation: ritualTicker 26s linear infinite; will-change: transform; }
.ritual-ticker__group { min-width: max-content; display: flex; align-items: center; gap: clamp(24px, 3vw, 54px); padding: 18px clamp(24px, 3vw, 54px) 17px 0; }
.ritual-ticker__group span { font-size: clamp(11px, 1.15vw, 16px); font-weight: 800; letter-spacing: .2em; line-height: 1; white-space: nowrap; }
.ritual-ticker__group i { font-style: normal; font-size: 17px; line-height: 1; }
.ritual-ticker:hover .ritual-ticker__track { animation-play-state: paused; }
@keyframes ritualTicker { to { transform: translateX(-50%); } }
.home-split { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px, 8vw, 120px); background: var(--paper); }
.home-split__copy { align-self: center; }
.home-split__copy h2 { margin: 18px 0 26px; color: var(--plum); font-family: var(--serif); font-size: clamp(48px, 5.2vw, 80px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.home-split__copy p { max-width: 540px; color: var(--muted); font-size: 17px; }
.home-split__copy .button { margin-top: 18px; }
.ingredient-preview { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.ingredient-mini { min-height: 275px; padding: clamp(24px, 3vw, 42px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: color .25s, background .25s; }
.ingredient-mini:hover { color: var(--ivory); background: var(--plum); }
.ingredient-mini__icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 34px; color: var(--plum); background: var(--ivory-deep); border-radius: 50%; }
.ingredient-mini:hover .ingredient-mini__icon { color: var(--plum); background: var(--gold-light); }
.ingredient-mini small { display: block; margin-bottom: 7px; color: var(--plum-soft); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ingredient-mini:hover small, .ingredient-mini:hover p { color: color-mix(in srgb, var(--ivory) 70%, transparent); }
.ingredient-mini strong { display: block; margin-bottom: 12px; font-family: var(--serif); font-size: 24px; font-weight: 400; line-height: 1.05; }
.ingredient-mini p { margin: 0; color: var(--muted); font-size: 13px; }
.standards-home { color: var(--ivory); background: var(--wine); }
.standards-home__heading { max-width: 820px; }
.standards-home__heading h2 { margin: 17px 0 22px; color: white; font-family: var(--serif); font-size: clamp(48px, 6vw, 88px); font-weight: 400; line-height: .96; letter-spacing: -.04em; }
.standards-home__heading p { max-width: 700px; color: color-mix(in srgb, var(--ivory) 75%, transparent); }
.standards-icons { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px; margin: 70px 0 44px; }
.standard-orb { min-width: 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.standard-orb > span { width: clamp(72px, 8vw, 120px); height: clamp(72px, 8vw, 120px); display: grid; place-items: center; margin-bottom: 18px; color: var(--plum); background: var(--ivory); border-radius: 50%; box-shadow: 0 14px 30px color-mix(in srgb, var(--plum-deep) 18%, transparent); transition: transform .35s var(--ease), background .25s; }
.standard-orb:hover > span { transform: translateY(-8px) rotate(4deg); background: var(--gold-light); }
.standard-orb svg { width: 30%; height: 30%; }
.standard-orb strong { font-family: var(--serif); font-size: 18px; font-weight: 400; }
.standard-orb small { margin-top: 5px; color: color-mix(in srgb, var(--ivory) 62%, transparent); font-size: 8px; letter-spacing: .11em; text-transform: uppercase; }
.launch-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 8vw, 130px); align-items: end; }
.launch-date { display: block; margin-top: 12px; color: var(--plum); font-family: var(--serif); font-size: clamp(65px, 9vw, 150px); font-weight: 400; line-height: .84; letter-spacing: -.07em; white-space: nowrap; }
.launch-date span { color: var(--gold); }
.launch-section h2 { color: var(--plum); font-family: var(--serif); font-size: clamp(38px, 4vw, 62px); font-weight: 400; line-height: 1; }
.launch-section p { max-width: 620px; color: var(--muted); }
.launch-section .text-arrow { margin-top: 14px; }

/* Page foundations */
.page-hero { position: relative; min-height: 530px; display: grid; grid-template-columns: minmax(180px, .45fr) 1.4fr; align-items: center; gap: clamp(35px, 7vw, 120px); padding: clamp(80px, 9vw, 135px) var(--gutter); overflow: hidden; color: var(--ivory); background: var(--plum); }
.page-hero::after { content: ""; position: absolute; right: -12vw; bottom: -27vw; width: 56vw; height: 56vw; border: 1px solid color-mix(in srgb, var(--gold-light) 20%, transparent); border-radius: 50%; box-shadow: inset 0 0 0 9vw color-mix(in srgb, var(--ivory) 1.8%, transparent), inset 0 0 0 18vw color-mix(in srgb, var(--ivory) 1.6%, transparent); }
.page-hero__icon { position: relative; z-index: 1; width: clamp(140px, 19vw, 280px); aspect-ratio: 1; display: grid; place-items: center; justify-self: center; color: var(--plum); background: var(--gold-light); border-radius: 50%; box-shadow: 0 30px 70px color-mix(in srgb, var(--plum-deep) 25%, transparent); }
.page-hero__icon svg { width: 34%; height: 34%; }
.page-hero__copy { position: relative; z-index: 1; max-width: 980px; }
.page-hero__copy .eyebrow { color: var(--gold-light); }
.page-hero h1 { margin: 20px 0 25px; color: white; font-family: var(--serif); font-size: clamp(55px, 7.4vw, 116px); font-weight: 400; line-height: .88; letter-spacing: -.055em; }
.page-hero h1 em { color: var(--gold-light); font-weight: 400; }
.page-hero__copy > p { max-width: 720px; color: color-mix(in srgb, var(--ivory) 73%, transparent); font-size: clamp(17px, 1.4vw, 21px); }
.page-hero__index { position: absolute; right: var(--gutter); bottom: 28px; color: color-mix(in srgb, var(--ivory) 44%, transparent); font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.status-note { max-width: 770px; display: grid; grid-template-columns: 20px 1fr; gap: 11px; align-items: start; margin-top: 24px; padding: 14px 16px; color: var(--plum); background: var(--gold-light); font-size: 12px; }
.status-note svg { margin-top: 1px; }

/* Ritual */
.ritual-stack { display: grid; gap: 22px; }
.ritual-card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); min-height: 620px; background: var(--paper); border: 1px solid var(--line); }
.ritual-card:nth-child(even) .ritual-card__image { order: 2; }
.ritual-card__image { min-height: 500px; overflow: hidden; }
.ritual-card__image img { width: 100%; height: 100%; object-fit: contain; object-position: center; background: var(--product-media-bg); transition: transform 1s var(--ease); }
.ritual-card:hover .ritual-card__image img { transform: scale(1.025); }
.ritual-card__copy { align-self: center; padding: clamp(35px, 6vw, 90px); }
.ritual-card__copy h2 { margin: 18px 0; color: var(--plum); font-family: var(--serif); font-size: clamp(43px, 5vw, 72px); font-weight: 400; line-height: .96; }
.ritual-card__copy > p { max-width: 620px; color: var(--muted); }
.ritual-card ol { margin: 32px 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.ritual-card li { display: grid; grid-template-columns: 30px 1fr; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.ritual-card li > span { width: 25px; height: 25px; display: grid; place-items: center; color: var(--ivory); background: var(--plum); border-radius: 50%; }
.ritual-card li svg { width: 13px; }
.ritual-card li div { display: grid; gap: 3px; }
.ritual-card li strong { color: var(--plum); font-family: var(--serif); font-size: 18px; font-weight: 400; }
.ritual-card li small { color: var(--muted); }
.bundle-card { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; padding: clamp(40px, 6vw, 80px); color: var(--ivory); background: var(--wine); }
.bundle-card h2 { margin: 15px 0; color: white; font-family: var(--serif); font-size: clamp(38px, 4.6vw, 68px); font-weight: 400; line-height: 1; }
.bundle-card p { margin: 0; color: color-mix(in srgb, var(--ivory) 72%, transparent); }

/* Ingredient index */
.ingredient-tools { display: grid; gap: 28px; margin-bottom: 44px; }
.search-field { min-height: 64px; display: grid; grid-template-columns: 25px 1fr; align-items: center; gap: 14px; padding: 0 20px; background: var(--paper); border: 1px solid var(--line); }
.search-field input { width: 100%; padding: 16px 0; background: transparent; border: 0; outline: 0; font-size: 17px; }
.filter-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-pills button { padding: 9px 14px; color: var(--plum-soft); background: transparent; border: 1px solid var(--line); border-radius: 50px; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.filter-pills button:hover, .filter-pills button.is-active { color: var(--ivory); background: var(--plum); border-color: var(--plum); }
.ingredient-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); align-items: stretch; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.ingredient-card { min-width: 0; min-height: 390px; display: flex; flex-direction: column; padding: clamp(25px, 3vw, 42px); background: color-mix(in srgb, var(--ivory) 45%, transparent); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ingredient-card__icon { width: 54px; height: 54px; flex: 0 0 auto; display: grid; place-items: center; margin-bottom: 32px; color: var(--plum); background: var(--ivory-deep); border-radius: 50%; }
.ingredient-card__icon svg { width: 22px; }
.ingredient-card > small { color: var(--plum-soft); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ingredient-card h2 { margin: 11px 0 14px; color: var(--plum); font-family: var(--serif); font-size: clamp(21px, 1.8vw, 25px); font-weight: 400; line-height: 1.05; overflow-wrap: anywhere; }
.ingredient-card p { flex: 1; margin: 0 0 22px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.ingredient-card p b { display: block; margin-bottom: 6px; color: var(--gold); font-size: 7px; letter-spacing: .13em; text-transform: uppercase; }
.empty-filter { padding: 70px 20px; text-align: center; color: var(--muted); border: 1px solid var(--line); }

/* Brand, values, standards */
.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 8vw, 120px); }
.story-lead h2 { margin: 18px 0 26px; color: var(--plum); font-family: var(--serif); font-size: clamp(48px, 5.4vw, 82px); font-weight: 400; line-height: .95; }
.story-lead p { max-width: 650px; color: var(--muted); font-size: 17px; }
.story-visual { position: relative; min-height: 650px; }
.story-visual img { width: 100%; height: 100%; object-fit: contain; object-position: center; background: var(--product-media-bg); }
.story-visual > span { position: absolute; right: -18px; bottom: 35px; padding: 20px 25px; color: var(--ivory); background: var(--plum); font-size: 10px; font-weight: 800; letter-spacing: .16em; line-height: 1.7; }
.principle-list { grid-column: 1 / -1; margin-top: 30px; border-top: 1px solid var(--line); }
.principle-list article { display: grid; grid-template-columns: 100px 1fr; gap: 35px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.principle-list article > span { color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.principle-list h3 { margin-bottom: 8px; color: var(--plum); font-family: var(--serif); font-size: 28px; font-weight: 400; }
.principle-list p { max-width: 780px; margin: 0; color: var(--muted); }
.value-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.value-grid article { min-height: 360px; display: flex; flex-direction: column; padding: clamp(28px, 4vw, 55px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.value-grid article > span { width: 66px; height: 66px; display: grid; place-items: center; margin-bottom: auto; color: var(--plum); background: var(--gold-light); border-radius: 50%; }
.value-grid article > small { margin-top: 44px; color: var(--gold); font-size: 10px; letter-spacing: .15em; }
.value-grid h2 { margin: 12px 0; color: var(--plum); font-family: var(--serif); font-size: 30px; font-weight: 400; line-height: 1.03; }
.value-grid p { margin: 0; color: var(--muted); font-size: 14px; }
.standards-page { max-width: 1350px; }
.gate-intro { max-width: 850px; margin-bottom: 60px; }
.gate-intro h2 { margin: 18px 0; color: var(--plum); font-family: var(--serif); font-size: clamp(42px, 5vw, 70px); font-weight: 400; line-height: 1; }
.gate-intro p { color: var(--muted); }
.gate-list { border-top: 1px solid var(--line); }
.gate-list article { display: grid; grid-template-columns: 70px 55px minmax(0,1fr) 170px; align-items: center; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.gate-icon { width: 52px; height: 52px; display: grid; place-items: center; color: var(--plum); background: var(--gold-light); border-radius: 50%; }
.gate-list article > small { color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.gate-list h3 { margin-bottom: 6px; color: var(--plum); font-family: var(--serif); font-size: 25px; font-weight: 400; }
.gate-list p { margin: 0; color: var(--muted); font-size: 14px; }
.gate-list article > strong { color: var(--plum-soft); font-size: 9px; letter-spacing: .12em; text-align: right; text-transform: uppercase; }
.mark-page { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: clamp(55px, 8vw, 120px); align-items: start; }
.mark-reference { position: sticky; top: 112px; min-height: 650px; display: grid; grid-template-rows: auto minmax(250px,1fr) auto auto auto; gap: 18px; margin: 0; padding: clamp(28px, 4vw, 52px); color: var(--ivory); background: var(--plum-deep); border: 1px solid color-mix(in srgb, var(--gold-light) 22%, transparent); }
.mark-reference header { display: flex; justify-content: space-between; gap: 18px; color: var(--gold-light); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.mark-reference__master { display: grid; place-items: center; align-content: center; gap: 24px; padding: clamp(28px,4vw,58px); text-align: center; background: var(--ivory); }
.mark-reference__master small { color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.mark-reference__master img { width: min(100%, 520px); height: auto; }
.mark-reference__master p { max-width: 430px; margin: 0; color: var(--muted); font-size: 13px; }
.mark-reference__variants { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid color-mix(in srgb, var(--ivory) 20%, transparent); border-left: 1px solid color-mix(in srgb, var(--ivory) 20%, transparent); }
.mark-reference__variants > div { display: grid; gap: 7px; padding: 18px; border-right: 1px solid color-mix(in srgb, var(--ivory) 20%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--ivory) 20%, transparent); }
.mark-reference__variants small { color: var(--gold-light); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.mark-reference__variants strong { font-family: var(--serif); font-size: 20px; font-weight: 400; letter-spacing: .08em; }
.mark-reference__variants span { color: color-mix(in srgb, var(--ivory) 68%, transparent); font-size: 12px; }
.mark-reference__palette { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.mark-reference__palette > span { display: grid; grid-template-rows: 22px auto; gap: 7px; }
.mark-reference__palette i { border: 1px solid color-mix(in srgb, var(--ivory) 20%, transparent); }
.mark-reference__palette span:nth-child(1) i { background: var(--plum); }
.mark-reference__palette span:nth-child(2) i { background: var(--ivory); }
.mark-reference__palette span:nth-child(3) i { background: var(--gold-light); }
.mark-reference__palette span:nth-child(4) i { background: var(--wine); }
.mark-reference__palette small { color: color-mix(in srgb, var(--ivory) 72%, transparent); font-size: 11px; line-height: 1.45; letter-spacing: .04em; }
.mark-reference figcaption { color: color-mix(in srgb, var(--ivory) 58%, transparent); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.mark-copy { display: grid; gap: 0; }
.mark-copy article { padding: 50px 0; border-bottom: 1px solid var(--line); }
.mark-copy article:first-child { padding-top: 0; }
.mark-copy h2 { margin: 16px 0; color: var(--plum); font-family: var(--serif); font-size: clamp(35px, 4vw, 54px); font-weight: 400; line-height: 1; }
.mark-copy p { color: var(--muted); }

/* Consultation */
.consultation { max-width: 1100px; }
.quiz-card { min-height: 650px; padding: clamp(28px, 6vw, 82px); background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow-small); }
.quiz-progress { display: flex; justify-content: space-between; gap: 25px; align-items: center; margin-bottom: 65px; }
.quiz-progress > span { flex: 1; height: 3px; overflow: hidden; background: var(--ivory-deep); }
.quiz-progress i { display: block; width: 20%; height: 100%; background: var(--wine); transition: width .35s var(--ease); }
.quiz-progress small { color: var(--plum-soft); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.quiz-question h2, .quiz-result h2 { max-width: 760px; margin: 17px 0 38px; color: var(--plum); font-family: var(--serif); font-size: clamp(40px, 5.5vw, 70px); font-weight: 400; line-height: .98; }
.quiz-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.quiz-options--two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.quiz-options--three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.quiz-options button { min-height: 120px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 18px; padding: 22px; text-align: left; background: transparent; border: 1px solid var(--line); transition: color .2s, background .2s, border-color .2s, transform .2s; }
.quiz-options button:hover, .quiz-options button.is-selected { color: var(--ivory); background: var(--plum); border-color: var(--plum); transform: translateY(-2px); }
.quiz-options button > svg { width: 30px; height: 30px; }
.quiz-options button > span { display: grid; gap: 4px; }
.quiz-options strong { font-family: var(--serif); font-size: 22px; font-weight: 400; }
.quiz-options small { color: var(--muted); font-size: 12px; }
.quiz-options button:hover small, .quiz-options button.is-selected small { color: color-mix(in srgb, var(--ivory) 70%, transparent); }
.quiz-options--three button { grid-template-columns: 1fr; text-align: center; }
.quiz-options--three strong { color: var(--gold); font-size: 38px; }
.quiz-controls { min-height: 35px; display: flex; justify-content: space-between; margin-top: 32px; }
.quiz-controls button { padding: 7px 0; background: transparent; }
.quiz-result__products { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin: 28px 0; }
.quiz-result__products article { display: grid; grid-template-columns: 84px 1fr; gap: 14px; align-items: center; padding: 10px; border: 1px solid var(--line); }
.quiz-result__products img { width: 84px; height: 105px; object-fit: contain; background: var(--product-media-bg); }
.quiz-result__products div { display: grid; gap: 3px; }
.quiz-result__products small, .quiz-result__products span { color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.quiz-result__products strong { color: var(--plum); font-family: var(--serif); font-size: 18px; font-weight: 400; }

/* Knowledge and editorial */
.knowledge-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(35px, 6vw, 90px); }
.knowledge-feature { background: var(--paper); border: 1px solid var(--line); }
.knowledge-feature > img { width: 100%; aspect-ratio: var(--product-media-ratio); object-fit: contain; background: var(--product-media-bg); }
.knowledge-feature > div { padding: clamp(28px, 4vw, 54px); }
.knowledge-feature h2 { margin: 14px 0; color: var(--plum); font-family: var(--serif); font-size: clamp(36px, 4vw, 58px); font-weight: 400; line-height: 1; }
.knowledge-feature p { color: var(--muted); }
.knowledge-links { border-top: 1px solid var(--line); }
.knowledge-links > a { display: grid; grid-template-columns: 35px 1fr 24px; gap: 16px; align-items: start; padding: 25px 0; border-bottom: 1px solid var(--line); }
.knowledge-links > a:hover h3 { color: var(--wine); }
.knowledge-links > a > span { padding-top: 5px; color: var(--gold); font-size: 10px; }
.knowledge-links h3 { margin-bottom: 5px; color: var(--plum); font-family: var(--serif); font-size: 23px; font-weight: 400; transition: color .2s; }
.knowledge-links p { margin: 0; color: var(--muted); font-size: 13px; }
.journal-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-bottom: 42px; padding-bottom: 18px; border-bottom: 1px solid var(--line); color: var(--plum-soft); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.journal-toolbar a { display: flex; align-items: center; gap: 10px; }
.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(22px, 3vw, 42px); }
.article-grid--large { grid-template-columns: repeat(2, minmax(0,1fr)); }
.article-card { min-width: 0; }
.article-card__image { position: relative; aspect-ratio: var(--product-media-ratio); overflow: hidden; margin-bottom: 22px; }
.article-card__image img { width: 100%; height: 100%; object-fit: contain; background: var(--product-media-bg); transition: transform .8s var(--ease); }
.article-card:hover .article-card__image img { transform: scale(1.035); }
.article-card__image span { position: absolute; top: 12px; left: 12px; padding: 7px 9px; color: var(--ivory); background: color-mix(in srgb, var(--plum-deep) 84%, transparent); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.article-card > div > small { color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.article-card h2 { margin: 10px 0; color: var(--plum); font-family: var(--serif); font-size: clamp(27px, 2.8vw, 40px); font-weight: 400; line-height: 1; }
.article-card p { color: var(--muted); font-size: 14px; }
.editorial { max-width: 1500px; margin: 0 auto; padding: clamp(70px, 9vw, 130px) var(--gutter); }
.editorial__header { max-width: 1000px; margin: 0 auto 65px; }
.editorial__header > .text-arrow { margin-bottom: 60px; }
.editorial__header h1 { margin: 18px 0 24px; color: var(--plum); font-family: var(--serif); font-size: clamp(55px, 7.8vw, 110px); font-weight: 400; line-height: .9; letter-spacing: -.05em; }
.editorial__header > p { max-width: 720px; color: var(--muted); font-size: 20px; }
.editorial__image { max-width: 720px; margin: 0 auto 80px; aspect-ratio: var(--product-media-ratio); }
.editorial__image img { width: 100%; height: 100%; object-fit: contain; background: var(--product-media-bg); }
.editorial__body { max-width: 780px; margin: 0 auto; }
.editorial__dek { padding-bottom: 42px; color: var(--plum); border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: clamp(25px, 3vw, 38px); line-height: 1.3; }
.editorial__body section { padding: 35px 0; border-bottom: 1px solid var(--line); }
.editorial__body h2 { color: var(--plum); font-family: var(--serif); font-size: 32px; font-weight: 400; }
.editorial__body section p { color: var(--muted); font-size: 17px; line-height: 1.8; }
.editorial__body aside { margin-top: 42px; padding: 28px; color: var(--ivory); background: var(--plum); }
.editorial__body aside p { margin: 8px 0 0; color: color-mix(in srgb, var(--ivory) 72%, transparent); font-size: 14px; }
.editorial__footer { max-width: 1000px; display: flex; justify-content: space-between; align-items: center; gap: 25px; margin: 80px auto 0; padding-top: 30px; border-top: 1px solid var(--line); color: var(--plum-soft); font-size: 9px; letter-spacing: .14em; }

/* FAQ, policy and support */
.faq-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: clamp(40px, 7vw, 100px); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: grid; grid-template-columns: 42px 1fr 24px; align-items: center; gap: 14px; padding: 25px 0; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary > span { color: var(--gold); font-size: 10px; letter-spacing: .12em; }
.faq-list summary strong { color: var(--plum); font-family: var(--serif); font-size: clamp(20px, 2.2vw, 29px); font-weight: 400; }
.faq-list summary svg { transition: transform .25s; }
.faq-list details[open] summary svg { transform: rotate(45deg); }
.faq-list details > p { max-width: 800px; margin: -4px 38px 28px 56px; color: var(--muted); }
.support-card { position: sticky; top: 110px; padding: 34px; color: var(--ivory); background: var(--wine); }
.support-card > span { width: 58px; height: 58px; display: grid; place-items: center; color: var(--plum); background: var(--gold-light); border-radius: 50%; }
.support-card h2 { margin: 35px 0 12px; font-family: var(--serif); font-size: 35px; font-weight: 400; }
.support-card p { color: color-mix(in srgb, var(--ivory) 72%, transparent); }
.support-card .button { margin-top: 16px; color: var(--plum); background: var(--ivory); border-color: var(--ivory); }
.policy-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); align-items: start; gap: clamp(50px, 8vw, 130px); }
.policy-nav { position: sticky; top: 115px; display: grid; border-top: 1px solid var(--line); }
.policy-nav a { padding: 15px 0; color: var(--plum-soft); border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.policy-nav a:hover { color: var(--wine); }
.policy-copy { max-width: 850px; }
.policy-copy section { scroll-margin-top: 120px; display: grid; grid-template-columns: 65px 1fr; gap: 0 24px; padding: 0 0 45px; margin-bottom: 45px; border-bottom: 1px solid var(--line); }
.policy-copy section > span { grid-row: span 2; color: var(--gold); font-size: 11px; letter-spacing: .12em; }
.policy-copy h2 { margin-bottom: 14px; color: var(--plum); font-family: var(--serif); font-size: clamp(32px, 4vw, 50px); font-weight: 400; line-height: 1; }
.policy-copy p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.75; }
.policy-body { display: grid; gap: 16px; }
.policy-bullets { display: grid; gap: 9px; margin: 0; padding-left: 20px; color: var(--muted); }
.policy-copy a { color: var(--wine); text-decoration: underline; text-underline-offset: 3px; }
.track-card, .profile-card, .checkout-card { display: grid; gap: 22px; padding: clamp(28px, 5vw, 60px); background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow-small); }
.track-card label, .profile-card label, .checkout-card label { display: grid; gap: 8px; }
.track-card label > span, .profile-card label > span, .checkout-card label > span { color: var(--plum-soft); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.track-card input, .profile-card input, .checkout-card input, .checkout-card textarea { width: 100%; padding: 14px 0; background: transparent; border: 0; border-bottom: 1px solid var(--line); outline: 0; }
.track-card input:focus, .profile-card input:focus, .checkout-card input:focus, .checkout-card textarea:focus { border-color: var(--wine); }
.form-response { margin: 0; padding: 13px 15px; color: var(--plum); background: var(--gold-light); font-size: 13px; }
.button:disabled, button:disabled { cursor: not-allowed; opacity: .58; }
.help-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.help-grid article { min-height: 300px; display: flex; flex-direction: column; padding: clamp(28px, 4vw, 48px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.help-grid article > span { width: 54px; height: 54px; display: grid; place-items: center; color: var(--plum); background: var(--gold-light); border-radius: 50%; }
.help-grid h2 { margin: 35px 0 10px; color: var(--plum); font-family: var(--serif); font-size: 30px; font-weight: 400; }
.help-grid p { flex: 1; color: var(--muted); font-size: 14px; }

/* App, corporate and account */
.app-layout { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(60px, 10vw, 160px); max-width: 1260px; }
.phone-frame { position: relative; width: min(100%, 370px); aspect-ratio: 9 / 18; justify-self: center; overflow: hidden; padding: 12px; background: var(--plum-deep); border: 2px solid var(--plum); border-radius: 48px; box-shadow: var(--shadow); }
.phone-frame__top { position: absolute; z-index: 4; top: 31px; right: 31px; left: 31px; height: 1px; background: color-mix(in srgb, var(--ivory) 38%, transparent); }
.phone-frame::before { content: ""; position: absolute; z-index: 5; top: 18px; left: 50%; width: 35%; height: 22px; background: var(--plum-deep); border-radius: 20px; transform: translateX(-50%); }
.phone-frame > img { width: 100%; height: 100%; object-fit: contain; background: var(--product-media-bg); border-radius: 37px; }
.phone-frame > div:last-child { position: absolute; right: 25px; bottom: 28px; left: 25px; padding: 22px; color: var(--ivory); background: color-mix(in srgb, var(--plum-deep) 83%, transparent); backdrop-filter: blur(15px); }
.phone-frame > div img { width: 120px; filter: brightness(0) invert(1); }
.phone-frame > div p { margin: 16px 0; font-size: 9px; letter-spacing: .15em; }
.phone-frame > div a { width: 100%; display: block; padding: 12px; color: var(--plum); background: var(--gold-light); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.app-copy h2 { margin: 16px 0 24px; color: var(--plum); font-family: var(--serif); font-size: clamp(48px, 5.5vw, 82px); font-weight: 400; line-height: .95; }
.app-copy > p { max-width: 650px; color: var(--muted); font-size: 17px; }
.app-copy .button { margin: 20px 0 13px; }
.install-status { font-size: 12px !important; }
.app-feature-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); margin-top: 35px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.app-feature-list div { display: flex; align-items: center; gap: 12px; padding: 20px; color: var(--plum); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 700; }
.native-roadmap { max-width: 1260px; padding-bottom: 130px; }
.native-roadmap > div { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin-top: 25px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.native-roadmap article { min-height: 150px; padding: 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.native-roadmap article span { color: var(--gold); font-size: 10px; }
.native-roadmap article p { margin: 30px 0 0; color: var(--plum); font-family: var(--serif); font-size: 19px; }
.fact-sheet { max-width: 1100px; }
.fact-sheet > div { display: grid; grid-template-columns: 260px 1fr; gap: 35px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.fact-sheet > div > span { color: var(--plum-soft); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fact-sheet strong { color: var(--plum); font-family: var(--serif); font-size: 22px; font-weight: 400; overflow-wrap: anywhere; }
.contact-feature { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(50px, 8vw, 120px); align-items: start; }
.contact-feature > div h2 { margin: 18px 0; color: var(--plum); font-family: var(--serif); font-size: clamp(46px, 5.5vw, 78px); font-weight: 400; line-height: .98; }
.contact-feature > div p { max-width: 660px; color: var(--muted); font-size: 17px; }
.contact-feature > div .button { margin-top: 18px; text-transform: none; letter-spacing: .03em; }
.contact-feature aside { padding: clamp(30px, 4vw, 52px); color: var(--ivory); background: var(--plum); }
.contact-feature aside > span { color: var(--gold-light); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.contact-feature aside h3 { margin: 25px 0 12px; font-family: var(--serif); font-size: 32px; font-weight: 400; }
.contact-feature aside ul { padding-left: 18px; color: color-mix(in srgb, var(--ivory) 75%, transparent); }
.contact-feature aside li { margin: 10px 0; }
.contact-feature .aside-note { margin: 25px 0 0; padding-top: 20px; color: color-mix(in srgb, var(--ivory) 66%, transparent); border-top: 1px solid color-mix(in srgb, var(--ivory) 18%, transparent); font-size: 12px; line-height: 1.65; }
.contact-feature aside .text-arrow { margin-top: 20px; color: var(--gold-light); background: transparent; }
.account-grid { display: grid; grid-template-columns: 390px 1fr; align-items: start; gap: 25px; }
.profile-card { grid-row: span 2; }
.profile-card h2 { margin: 0 0 12px; color: var(--plum); font-family: var(--serif); font-size: 35px; font-weight: 400; }
.account-panel { min-height: 220px; padding: 32px; background: var(--paper); border: 1px solid var(--line); }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 18px; margin-bottom: 22px; border-bottom: 1px solid var(--line); color: var(--plum-soft); font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.panel-heading a { color: var(--wine); text-decoration: underline; text-underline-offset: 3px; }
.saved-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.saved-item { display: grid; grid-template-columns: 70px 1fr; gap: 12px; align-items: center; padding: 8px; border: 1px solid var(--line); }
.saved-item img { width: 72px; height: 90px; object-fit: contain; background: var(--product-media-bg); }
.saved-item div { display: grid; gap: 4px; }
.saved-item small { color: var(--gold); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.saved-item strong { color: var(--plum); font-family: var(--serif); font-weight: 400; }
.saved-item button { width: fit-content; padding: 0; color: var(--wine); background: transparent; font-size: 10px; text-decoration: underline; }
.panel-empty { padding: 25px 0; color: var(--muted); }
.panel-empty > span { color: var(--gold); font-size: 10px; letter-spacing: .12em; }
.panel-empty a { color: var(--wine); font-size: 12px; font-weight: 700; text-decoration: underline; }
.account-ritual > p { color: var(--muted); }
.account-ritual > div { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0; }
.account-ritual > div span { padding: 8px 11px; color: var(--plum); background: var(--ivory-deep); font-size: 11px; }
.account-auth { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,.85fr) minmax(420px,1.15fr); gap: clamp(38px, 7vw, 110px); padding: clamp(30px, 5vw, 68px); color: var(--ivory); background: var(--plum); }
.account-auth h2 { margin: 14px 0 20px; font-family: var(--serif); font-size: clamp(42px, 5vw, 70px); font-weight: 400; line-height: .98; }
.account-auth h2 em { color: var(--gold-light); font-weight: 400; }
.account-auth p { max-width: 560px; color: color-mix(in srgb, var(--ivory) 70%, transparent); }
.account-auth__forms { min-width: 0; display: grid; gap: 18px; padding: clamp(22px, 3vw, 34px); color: var(--ink); background: var(--paper); }
.account-auth__forms form { min-width: 0; display: grid; gap: 15px; }
.account-auth__forms label, .account-profile label, .account-order label { min-width: 0; display: grid; gap: 7px; }
.account-auth__forms label > span, .account-profile label > span, .account-order label > span { color: var(--plum-soft); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.account-auth__forms input, .account-profile input, .account-profile textarea, .account-order select, .account-order textarea { width: 100%; min-height: 46px; padding: 12px 0; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; outline: 0; }
.account-auth__forms input:focus, .account-profile input:focus, .account-profile textarea:focus, .account-order select:focus, .account-order textarea:focus { border-color: var(--wine); }
.account-auth__divider { position: relative; color: var(--muted); font-size: 9px; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.account-auth__divider::before { content: ""; position: absolute; top: 50%; right: 0; left: 0; height: 1px; background: var(--line); }
.account-auth__divider span { position: relative; padding: 0 12px; background: var(--paper); }
.account-dashboard { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: 25px; }
.account-identity { display: grid; grid-template-columns: 100px minmax(0,1fr); align-items: center; gap: 22px; padding: 30px; color: var(--ivory); background: var(--plum); }
.account-identity h2 { margin: 8px 0 5px; font-family: var(--serif); font-size: 34px; font-weight: 400; line-height: 1; }
.account-identity p { margin: 0 0 16px; color: color-mix(in srgb, var(--ivory) 65%, transparent); font-size: 11px; overflow-wrap: anywhere; }
.account-identity .text-arrow { padding: 0; color: var(--gold-light); background: transparent; }
.account-avatar { display: grid; justify-items: center; gap: 10px; }
.account-avatar > span { width: 88px; height: 88px; display: grid; place-items: center; overflow: hidden; color: var(--plum); background: var(--gold-light); border-radius: 50%; }
.account-avatar > span svg { width: 34px; height: 34px; }
.account-avatar > span img { width: 100%; height: 100%; object-fit: cover; }
.account-avatar .button { min-height: 36px; padding: 8px 10px; color: var(--ivory); border-color: color-mix(in srgb, var(--ivory) 35%, transparent); font-size: 8px; cursor: pointer; }
.account-balance-grid { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.account-balance-grid article { min-width: 0; display: grid; align-content: start; gap: 8px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.account-balance-grid article > span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 10px; color: var(--plum); background: var(--gold-light); border-radius: 50%; }
.account-balance-grid small { color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.account-balance-grid strong { min-width: 0; color: var(--plum); font-family: var(--serif); font-size: clamp(23px, 2.7vw, 34px); font-weight: 400; overflow-wrap: anywhere; }
.account-balance-grid p { margin: 0; color: var(--muted); font-size: 11px; }
.account-balance-grid button { width: fit-content; min-height: 38px; padding: 6px 0; color: var(--wine); background: transparent; font-size: 9px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; text-transform: uppercase; }
.account-orders { grid-column: 1 / -1; padding: 30px; background: var(--paper); border: 1px solid var(--line); }
.account-order { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,.55fr); gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.account-order:last-child { border-bottom: 0; }
.account-order > div { min-width: 0; display: grid; align-content: start; gap: 5px; }
.account-order small { color: var(--gold); font-size: 8px; letter-spacing: .1em; }
.account-order strong { color: var(--plum); font-family: var(--serif); font-size: 22px; font-weight: 400; overflow-wrap: anywhere; }
.account-order span, .account-order em { color: var(--muted); font-size: 11px; font-style: normal; }
.account-order a { color: var(--wine); font-size: 10px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; text-transform: uppercase; }
.account-order details { margin-top: 10px; }
.account-order summary, .account-profile summary { color: var(--wine); cursor: pointer; font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.account-order form, .account-profile details { display: grid; gap: 12px; margin-top: 14px; }
.account-order .button { justify-self: start; min-height: 42px; font-size: 9px; }
.account-profile { grid-column: 1 / -1; display: grid; gap: 15px; padding: 32px; background: var(--paper); border: 1px solid var(--line); box-shadow: none; }
.account-profile h2 { margin: 5px 0 12px; color: var(--plum); font-family: var(--serif); font-size: 34px; font-weight: 400; }
.checkout-account-note { margin: 0; padding: 12px 14px; color: var(--plum); background: var(--ivory-deep); border-left: 3px solid var(--gold); font-size: 10px !important; line-height: 1.55; }

/* Cart */
.cart-page-layout { display: grid; grid-template-columns: minmax(0,1.2fr) 420px; align-items: start; gap: clamp(35px, 6vw, 90px); }
.cart-page-items { position: sticky; top: 105px; max-height: calc(100vh - 125px); overflow-y: auto; overscroll-behavior: contain; }
.cart-page-items > .panel-heading { margin-bottom: 0; }
.cart-page-empty { padding: 80px 30px; text-align: center; border: 1px solid var(--line); }
.cart-page-empty > span { color: var(--gold); font-size: 11px; letter-spacing: .13em; }
.cart-page-empty h2 { margin: 16px 0; color: var(--plum); font-family: var(--serif); font-size: 42px; font-weight: 400; }
.cart-page-empty p { color: var(--muted); }
.cart-page-empty .button { margin-top: 16px; }
.checkout-card { position: sticky; top: 105px; box-shadow: none; }
.checkout-total { display: flex; justify-content: space-between; align-items: center; padding-top: 22px; border-top: 1px solid var(--line); color: var(--plum); }
.checkout-total strong { font-family: var(--serif); font-size: 28px; font-weight: 400; }
.checkout-card > p { color: var(--muted); font-size: 12px; }
.checkout-offer { display: grid; gap: 8px; padding: 16px; background: var(--ivory-deep); border: 1px solid var(--line); }
.checkout-offer > label { gap: 3px; }
.checkout-offer input { text-transform: uppercase; }

/* Drawer, dialogs, footer */
.page-overlay { position: fixed; z-index: 110; inset: 0; visibility: hidden; opacity: 0; background: color-mix(in srgb, var(--plum-deep) 58%, transparent); backdrop-filter: blur(3px); transition: opacity .3s, visibility .3s; }
.page-overlay.is-open { visibility: visible; opacity: 1; }
.menu-drawer, .cart-drawer { position: fixed; z-index: 120; top: 0; bottom: 0; width: min(100%, 480px); display: flex; flex-direction: column; background: var(--paper); box-shadow: var(--shadow); visibility: hidden; transition: transform .42s var(--ease), visibility .42s; }
.menu-drawer { left: 0; transform: translateX(-105%); }
.cart-drawer { right: 0; transform: translateX(105%); }
.menu-drawer.is-open, .cart-drawer.is-open { visibility: visible; transform: translateX(0); }
.drawer-top { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 26px; border-bottom: 1px solid var(--line); }
.drawer-top h2 { margin: 5px 0 0; color: var(--plum); font-family: var(--serif); font-size: 30px; font-weight: 400; }
.menu-drawer nav { display: grid; padding: 10px 26px; overflow-y: auto; }
.menu-drawer nav a { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 17px 0; color: var(--plum); border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 22px; }
.menu-drawer nav a span { padding-top: 5px; color: var(--gold); font-family: var(--sans); font-size: 9px; }
.menu-drawer__base { display: flex; gap: 22px; margin-top: auto; padding: 22px 26px; color: var(--plum-soft); border-top: 1px solid var(--line); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.shipping-progress { padding: 18px 26px; background: var(--ivory); border-bottom: 1px solid var(--line); }
.shipping-progress p { margin: 0 0 10px; color: var(--plum-soft); font-size: 11px; }
.shipping-progress > span { display: block; height: 3px; overflow: hidden; background: var(--ivory-deep); }
.shipping-progress i { display: block; width: 0; height: 100%; background: var(--wine); transition: width .4s var(--ease); }
.cart-items { min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; }
.cart-item { display: grid; grid-template-columns: 84px minmax(0,1fr) auto; gap: 14px; padding: 20px 26px; border-bottom: 1px solid var(--line); }
.cart-item > img { width: 84px; height: 105px; object-fit: contain; background: var(--product-media-bg); }
.cart-item__copy small { color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cart-item__copy h3 { margin: 4px 0; color: var(--plum); font-family: var(--serif); font-size: 18px; font-weight: 400; }
.cart-item__meta { color: var(--muted); font-size: 10px; }
.cart-item__qty { width: fit-content; display: grid; grid-template-columns: 28px 28px 28px; align-items: center; margin-top: 10px; border: 1px solid var(--line); }
.cart-item__qty button { height: 28px; display: grid; place-items: center; background: transparent; }
.cart-item__qty svg { width: 12px; }
.cart-item__qty span { text-align: center; font-size: 11px; }
.cart-item__price { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; color: var(--plum); font-size: 12px; }
.cart-item__remove { padding: 0; color: var(--muted); background: transparent; font-size: 9px; text-decoration: underline; }
.cart-item--page { grid-template-columns: 120px minmax(0,1fr) auto; padding: 24px 0; }
.cart-item--page > img { width: 120px; height: 150px; }
.cart-item--page .cart-item__copy h3 { font-size: 26px; }
.cart-empty { margin: auto 0; padding: 50px 32px; text-align: center; }
.cart-empty > span { color: var(--gold); font-size: 10px; letter-spacing: .12em; }
.cart-empty h3 { margin: 15px 0 8px; color: var(--plum); font-family: var(--serif); font-size: 32px; font-weight: 400; }
.cart-empty p { color: var(--muted); }
.cart-empty .button { margin-top: 14px; }
.cart-summary { display: grid; gap: 12px; padding: 22px 26px max(24px, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: var(--ivory); }
.cart-summary__total { display: flex; justify-content: space-between; align-items: center; color: var(--plum); }
.cart-summary__total strong { font-family: var(--serif); font-size: 25px; font-weight: 400; }
.cart-summary > p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.cart-summary > p[data-cart-bundle-note] { padding: 8px 10px; color: var(--plum); background: var(--gold-light); font-weight: 700; }
.cart-summary__status { display: grid; gap: 4px; padding-top: 11px; border-top: 1px solid var(--line); }
.cart-summary__status > span { color: var(--plum); font-size: 11px; font-weight: 700; }
.cart-summary__status > small { display: block; color: var(--muted); font-size: 9px; line-height: 1.45; }
.cart-summary .cart-summary__review { display: inline-flex; align-items: center; gap: 9px; width: fit-content; margin: 0 0 3px; }
dialog { max-width: none; max-height: min(92vh, 920px); margin: auto; padding: 0; color: var(--ink); background: var(--paper); border: 0; box-shadow: var(--shadow); }
dialog::backdrop { background: color-mix(in srgb, var(--plum-deep) 62%, transparent); backdrop-filter: blur(4px); }
.dialog-close { position: absolute; z-index: 4; top: 16px; right: 16px; color: var(--plum); background: color-mix(in srgb, var(--ivory) 88%, transparent); border-color: var(--line); }
.product-dialog { width: min(1050px, calc(100% - 36px)); grid-template-columns: 1fr 1fr; }
.product-dialog[open] { display: grid; }
.product-dialog__image { min-height: 0; aspect-ratio: var(--product-media-ratio); background: var(--ivory-deep); }
.product-dialog__image img { width: 100%; height: 100%; object-fit: contain; object-position: center; background: var(--product-media-bg); }
.product-dialog__content { align-self: center; padding: clamp(32px, 5vw, 68px); }
.product-dialog__content h2, .checkout-dialog h2, .founding-offer-dialog h2 { margin: 14px 0; color: var(--plum); font-family: var(--serif); font-size: clamp(38px, 4vw, 58px); font-weight: 400; line-height: 1; }
.dialog-meta { display: flex; justify-content: space-between; padding: 13px 0; color: var(--plum-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 11px; }
.dialog-description { margin: 24px 0 10px; color: var(--muted); }
.availability-line { color: var(--wine); font-size: 11px; }
.dialog-tabs { display: flex; gap: 18px; margin-top: 25px; border-bottom: 1px solid var(--line); }
.dialog-tabs button { padding: 12px 0; color: var(--muted); background: transparent; border-bottom: 2px solid transparent; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.dialog-tabs button[aria-selected="true"] { color: var(--plum); border-color: var(--plum); }
.dialog-tab-panel { min-height: 112px; padding: 19px 0; color: var(--muted); font-size: 13px; }
.dialog-tab-panel ul { margin: 0; padding-left: 18px; }
.dialog-tab-panel li { margin: 5px 0; }
.checkout-dialog { width: min(600px, calc(100% - 36px)); padding: clamp(36px, 6vw, 70px); }
.checkout-dialog p { color: var(--muted); }
.founding-offer-dialog { width: min(920px, calc(100% - 32px)); padding: 0; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); overflow: visible; }
.founding-offer-dialog[open] { display: grid; }
.offer-dialog__close { position: absolute; z-index: 2; top: 18px; right: 18px; background: color-mix(in srgb, var(--ivory) 86%, transparent); border-color: var(--line); }
.offer-dialog__mark { position: relative; min-height: 590px; display: flex; align-items: center; justify-content: center; gap: 3px; overflow: hidden; color: var(--gold-light); background: radial-gradient(circle at 50% 42%, var(--plum-soft), var(--plum-deep) 72%); }
.offer-dialog__mark::before, .offer-dialog__mark::after { content: ""; position: absolute; width: min(310px, 33vw); aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--gold-light) 28%, transparent); border-radius: 50%; }
.offer-dialog__mark::after { width: min(210px, 23vw); }
.offer-dialog__mark span { position: relative; z-index: 1; font-family: var(--serif); font-size: clamp(78px, 10vw, 148px); line-height: .8; }
.offer-dialog__mark small { position: relative; z-index: 1; align-self: center; font-family: var(--serif); font-size: 34px; }
.offer-dialog__content { align-self: center; padding: clamp(52px, 7vw, 88px) clamp(34px, 6vw, 72px); }
.offer-dialog__content > p { max-width: 540px; margin-bottom: 28px; color: var(--muted); font-size: 16px; }
.offer-dialog__content > small { display: block; margin-top: 18px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.offer-dialog__content > small a { color: var(--wine); text-decoration: underline; text-underline-offset: 2px; }
.offer-form { display: grid; gap: 16px; }
.offer-form > label:first-child { display: grid; gap: 6px; }
.offer-form > label:first-child span { color: var(--plum-soft); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.offer-form input[type="email"] { width: 100%; padding: 14px 0; background: transparent; border: 0; border-bottom: 1px solid var(--line); outline: 0; }
.search-dialog { width: min(900px, calc(100% - 36px)); height: min(720px, calc(100vh - 50px)); }
.search-dialog__top { min-height: 84px; display: grid; grid-template-columns: 1fr 52px; align-items: center; padding: 0 20px 0 28px; border-bottom: 1px solid var(--line); }
.search-dialog__top label { display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 14px; }
.search-dialog__top input { width: 100%; padding: 20px 0; background: transparent; border: 0; outline: 0; font-family: var(--serif); font-size: clamp(22px, 3vw, 34px); }
.search-dialog__body { padding: 28px; overflow-y: auto; }
.search-results { margin-top: 20px; border-top: 1px solid var(--line); }
.search-results > a { display: grid; grid-template-columns: 45px 1fr 24px; gap: 14px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--line); }
.search-results > a > span { width: 40px; height: 40px; display: grid; place-items: center; color: var(--plum); background: var(--ivory-deep); border-radius: 50%; }
.search-results > a > div { display: grid; gap: 2px; }
.search-results strong { color: var(--plum); font-family: var(--serif); font-size: 19px; font-weight: 400; }
.search-results small { color: var(--muted); }
.search-empty { padding: 65px 20px; text-align: center; color: var(--muted); }
.search-empty span { color: var(--gold); font-size: 10px; letter-spacing: .13em; }
.whatsapp-chat { position: fixed; z-index: 75; right: 20px; bottom: 20px; min-height: 56px; display: grid; grid-template-columns: 38px auto; align-items: center; gap: 10px; padding: 8px 17px 8px 9px; color: var(--ivory); background: var(--plum); border: 1px solid color-mix(in srgb, var(--ivory) 22%, transparent); border-radius: 40px; box-shadow: 0 16px 38px color-mix(in srgb, var(--plum-deep) 24%, transparent); transition: transform .22s, background .22s, box-shadow .22s; }
.whatsapp-chat::after { content: ""; position: absolute; top: 7px; left: 42px; width: 8px; height: 8px; background: var(--gold-light); border: 2px solid var(--plum); border-radius: 50%; }
.whatsapp-chat > svg { width: 38px; height: 38px; padding: 9px; color: var(--plum); background: var(--gold-light); border-radius: 50%; }
.whatsapp-chat > span { display: grid; gap: 1px; }
.whatsapp-chat strong { font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.whatsapp-chat small { color: color-mix(in srgb, var(--ivory) 68%, transparent); font-size: 8px; letter-spacing: .06em; }
.whatsapp-chat:hover { background: var(--wine); box-shadow: 0 20px 46px color-mix(in srgb, var(--plum-deep) 30%, transparent); transform: translateY(-2px); }
.toast { position: fixed; z-index: 200; right: 22px; bottom: 92px; max-width: min(390px, calc(100% - 44px)); padding: 15px 19px; color: var(--ivory); background: var(--plum-deep); box-shadow: var(--shadow-small); font-size: 12px; opacity: 0; transform: translateY(20px); pointer-events: none; transition: opacity .25s, transform .25s; }
.toast.is-visible { opacity: 1; transform: none; }
.site-footer { color: var(--ivory); background: var(--plum-deep); }
.footer-intro { display: grid; grid-template-columns: 1fr .9fr; gap: 80px; padding: clamp(65px, 8vw, 110px) var(--gutter); border-bottom: 1px solid var(--line-light); }
.footer-intro img { width: min(260px, 70%); }
.footer-intro > div p { margin: 26px 0 0; color: color-mix(in srgb, var(--ivory) 58%, transparent); }
.footer-signup { align-self: center; }
.footer-signup > label { display: block; margin-bottom: 16px; font-family: var(--serif); font-size: 28px; }
.footer-signup > div { display: grid; grid-template-columns: 1fr 55px; border-bottom: 1px solid color-mix(in srgb, var(--ivory) 45%, transparent); }
.footer-signup input { width: 100%; padding: 15px 0; color: white; background: transparent; border: 0; outline: 0; }
.footer-signup input::placeholder { color: color-mix(in srgb, var(--ivory) 45%, transparent); }
.footer-signup button { display: grid; place-items: center; color: var(--gold-light); background: transparent; }
.footer-signup > p { margin: 12px 0 0; color: color-mix(in srgb, var(--ivory) 45%, transparent); font-size: 10px; }
.footer-signup > p a { color: var(--gold-light); text-decoration: underline; text-underline-offset: 2px; }
.footer-signup .footer-consent { display: flex; align-items: flex-start; gap: 8px; margin: 13px 0 0; color: color-mix(in srgb, var(--ivory) 58%, transparent); font-family: var(--sans); font-size: 9px; line-height: 1.45; }
.footer-signup .footer-consent input { flex: 0 0 16px; width: 16px; min-width: 16px; height: 16px; margin-top: 1px; padding: 0; accent-color: var(--gold-light); }
.footer-consent span { min-width: 0; }
.footer-consent a { color: var(--gold-light); text-decoration: underline; text-underline-offset: 2px; }
.footer-columns { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 40px; padding: clamp(55px, 7vw, 90px) var(--gutter); }
.footer-columns > div { display: grid; align-content: start; gap: 9px; }
.footer-columns span { margin-bottom: 12px; color: var(--gold-light); font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.footer-columns a { width: fit-content; color: color-mix(in srgb, var(--ivory) 67%, transparent); font-size: 13px; }
.footer-link-button { width: fit-content; padding: 0; color: color-mix(in srgb, var(--ivory) 67%, transparent); background: transparent; font: inherit; font-size: 13px; text-align: left; }
.footer-columns a:hover, .footer-link-button:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
.footer-base { min-height: 62px; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 15px var(--gutter); color: color-mix(in srgb, var(--ivory) 42%, transparent); border-top: 1px solid var(--line-light); font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.mobile-tabbar { display: none; }
.mobile-purchase-bar { display: none; }
.route-loading { min-height: 65vh; display: grid; place-items: center; align-content: center; gap: 25px; }
.route-loading img { width: 190px; }
.route-loading span { width: 70px; height: 2px; overflow: hidden; background: var(--ivory-deep); }
.route-loading span::after { content: ""; display: block; width: 30px; height: 100%; background: var(--wine); animation: loader 1.1s infinite var(--ease); }
@keyframes loader { from { transform: translateX(-35px); } to { transform: translateX(78px); } }
.not-found { min-height: 72vh; display: grid; place-items: center; align-content: center; padding: 90px var(--gutter); text-align: center; }
.not-found h1 { margin: 18px 0; color: var(--plum); font-family: var(--serif); font-size: clamp(55px, 8vw, 110px); font-weight: 400; line-height: .9; }
.not-found p { color: var(--muted); }
.not-found .button { margin-top: 20px; }
.noscript { position: fixed; z-index: 400; right: 0; bottom: 0; left: 0; margin: 0; padding: 16px; color: white; background: var(--plum); text-align: center; }

/* Shop archive and product detail */
.section-end-link { display: flex; justify-content: flex-end; margin-top: 38px; }
.shop-archive { padding-top: 55px; }
.shop-toolbar { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 24px; margin-bottom: 44px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.shop-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.shop-filter button { padding: 10px 15px; color: var(--plum-soft); background: transparent; border: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.shop-filter button.is-active { color: var(--ivory); background: var(--plum); border-color: var(--plum); }
.shop-sort { display: flex; align-items: center; gap: 10px; color: var(--plum-soft); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.shop-sort select { min-height: 40px; padding: 0 34px 0 12px; color: var(--plum); background: var(--paper); border: 1px solid var(--line); }
.shop-count { color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.route-shell { width: 100%; max-width: 1600px; margin-right: auto; margin-left: auto; padding-right: var(--gutter); padding-left: var(--gutter); }
.breadcrumbs { display: flex; align-items: center; gap: 9px; padding-top: 24px; padding-bottom: 24px; color: var(--muted); font-size: 10px; letter-spacing: .06em; }
.breadcrumbs a:hover { color: var(--wine); text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs span[aria-current="page"] { color: var(--plum); }
.product-detail { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); align-items: start; gap: clamp(45px, 7vw, 110px); padding-bottom: clamp(80px, 10vw, 150px); }
.product-gallery { position: relative; background: var(--ivory-deep); }
.product-gallery figure { position: relative; margin: 0; aspect-ratio: var(--product-media-ratio); overflow: hidden; background: var(--product-media-bg); }
.product-gallery figure img { width: 100%; height: 100%; object-fit: contain; }
.product-gallery figcaption { position: absolute; right: 20px; bottom: 18px; left: 20px; color: var(--plum-soft); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.product-gallery__status { position: absolute; top: 18px; left: 18px; padding: 8px 11px; color: var(--plum); background: color-mix(in srgb, var(--ivory) 90%, transparent); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; backdrop-filter: blur(8px); }
.product-purchase { position: sticky; top: 105px; align-self: start; padding-top: clamp(12px, 3vw, 38px); }
.product-purchase h1 { max-width: 650px; margin: 16px 0 27px; color: var(--plum); font-family: var(--serif); font-size: clamp(55px, 5.7vw, 88px); font-weight: 400; line-height: .9; letter-spacing: -.045em; }
.product-purchase__meta { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 17px 0; color: var(--plum); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-purchase__meta strong { font-family: var(--serif); font-size: 24px; font-weight: 400; }
.product-purchase__meta span { color: var(--plum-soft); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.product-purchase__short { margin: 25px 0; color: var(--muted); font-size: 17px; }
.product-highlights { display: grid; gap: 10px; margin: 0 0 25px; padding: 0; list-style: none; }
.product-highlights li { display: flex; align-items: center; gap: 10px; color: var(--plum-soft); font-size: 12px; }
.product-highlights svg { width: 16px; color: var(--gold); }
.release-card { display: grid; grid-template-columns: 46px 1fr; gap: 13px; align-items: start; margin-bottom: 24px; padding: 17px; color: var(--ivory); background: var(--plum); }
.release-card > span { width: 40px; height: 40px; display: grid; place-items: center; color: var(--plum); background: var(--gold-light); border-radius: 50%; }
.release-card strong { display: block; font-size: 11px; letter-spacing: .05em; }
.release-card p { margin: 5px 0 0; color: color-mix(in srgb, var(--ivory) 67%, transparent); font-size: 10px; }
.product-buy-row { display: grid; grid-template-columns: 116px 1fr; gap: 10px; }
.pdp-quantity { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; border: 1px solid var(--line); }
.pdp-quantity button { height: 100%; display: grid; place-items: center; background: transparent; }
.pdp-quantity button:hover { background: var(--ivory-deep); }
.pdp-quantity svg { width: 13px; }
.pdp-quantity span { text-align: center; font-size: 12px; }
.product-secondary-actions { display: flex; flex-wrap: wrap; gap: 18px; margin: 17px 0 26px; }
.product-secondary-actions button, .product-secondary-actions a { display: inline-flex; align-items: center; gap: 7px; padding: 0; color: var(--plum-soft); background: transparent; font-size: 10px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.product-secondary-actions svg { width: 15px; }
.pincode-card { margin-top: 5px; padding: 18px; background: var(--paper); border: 1px solid var(--line); }
.pincode-card > label { display: block; margin-bottom: 9px; color: var(--plum); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pincode-card > div { display: grid; grid-template-columns: 1fr auto; border-bottom: 1px solid var(--line); }
.pincode-card input { padding: 11px 0; background: transparent; border: 0; outline: 0; }
.pincode-card button { padding: 0 8px; color: var(--wine); background: transparent; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pincode-card > p { margin: 10px 0 0; color: var(--muted); font-size: 10px; }
.pincode-response { padding: 10px 12px; background: var(--ivory-deep); }
.pincode-response[data-state="success"] { color: var(--plum); background: var(--ivory-deep); }
.pincode-response[data-state="error"] { color: var(--plum); background: var(--rose); }
.payment-note { display: flex; gap: 9px; margin-top: 15px; color: var(--muted); font-size: 9px; }
.payment-note svg { flex: 0 0 auto; margin-top: 2px; }
.product-proof-link { display: grid; grid-template-columns: 27px minmax(0,1fr) 18px; align-items: center; gap: 11px; margin-top: 18px; padding: 15px 0; color: var(--plum); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-proof-link > svg:first-child { width: 23px; color: var(--gold); }
.product-proof-link > svg:last-child { width: 16px; }
.product-proof-link span { display: grid; gap: 2px; color: var(--muted); font-size: 9px; }
.product-proof-link strong { color: var(--plum); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.product-rationale, .product-use { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(50px, 9vw, 145px); align-items: start; }
.product-rationale { max-width: none; color: var(--ivory); background: var(--plum-deep); }
.product-rationale h2, .product-use h2 { margin: 14px 0 0; font-family: var(--serif); font-size: clamp(45px, 5.5vw, 80px); font-weight: 400; line-height: .95; }
.product-rationale > p, .product-use > div:last-child > p { color: color-mix(in srgb, var(--ivory) 72%, transparent); font-family: var(--serif); font-size: clamp(23px, 2.6vw, 37px); line-height: 1.4; }
.product-rationale .eyebrow { color: var(--gold-light); }
.product-information { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(45px, 8vw, 120px); }
.product-information__intro { position: sticky; top: 110px; align-self: start; }
.product-information__intro h2 { margin: 15px 0; color: var(--plum); font-family: var(--serif); font-size: clamp(43px, 5vw, 72px); font-weight: 400; line-height: .95; }
.product-information__intro p { color: var(--muted); }
.formula-groups { border-top: 1px solid var(--line); }
.formula-groups details { border-bottom: 1px solid var(--line); }
.formula-groups summary { display: grid; grid-template-columns: 42px 1fr 24px; align-items: center; gap: 12px; padding: 22px 0; cursor: pointer; list-style: none; }
.formula-groups summary::-webkit-details-marker { display: none; }
.formula-groups summary > span { color: var(--gold); font-size: 9px; }
.formula-groups summary strong { color: var(--plum); font-family: var(--serif); font-size: 23px; font-weight: 400; }
.formula-groups summary svg { transition: transform .25s; }
.formula-groups details[open] summary svg { transform: rotate(45deg); }
.formula-group__body { margin: -3px 0 25px 54px; }
.formula-group__body > small { display: block; margin-bottom: 12px; color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.formula-groups ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 20px; margin: 0 0 20px; padding: 0; color: var(--muted); list-style: none; }
.formula-groups li::before { content: "·"; margin-right: 8px; color: var(--gold); }
.formula-secret { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 11px; margin: 0; padding: 14px 16px; color: var(--plum-soft); background: var(--ivory-deep); font-size: 11px; line-height: 1.55; }
.formula-secret svg { width: 17px; margin-top: 2px; color: var(--gold); }
.formula-secret span { display: grid; gap: 3px; }
.formula-secret b { color: var(--plum); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.formula-clarity { grid-column: 2; display: grid; grid-template-columns: 25px 1fr; gap: 13px; margin-top: -65px; padding: 20px; color: var(--plum); background: var(--gold-light); }
.formula-clarity p { margin: 0; font-size: 12px; }
.product-use > div:last-child > p { color: var(--plum); }
.delivery-summary { display: flex; gap: 14px; margin-top: 30px; padding-top: 22px; color: var(--muted); border-top: 1px solid var(--line); font-size: 12px; }
.delivery-summary svg { width: 24px; color: var(--gold); }
.delivery-summary span { display: grid; gap: 4px; }
.delivery-summary strong { color: var(--plum); }
.product-faq { max-width: 1250px; }
.related-products { padding-top: 45px; }
.product-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1050px; }
.product-grid--related .product-card:last-child { grid-column: auto; width: auto; }
.ingredient-filter-row { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.ingredient-count { color: var(--plum-soft); font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; white-space: nowrap; }
.formula-jump { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin: 28px 0 42px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.formula-jump a { min-width: 0; min-height: 156px; display: grid; grid-template-columns: 58px minmax(0,1fr) 20px; align-items: center; gap: 16px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: color .2s, background .2s; }
.formula-jump a:hover { color: var(--ivory); background: var(--plum); }
.formula-jump__icon { width: 54px; height: 54px; display: grid; place-items: center; color: var(--plum); background: var(--gold-light); border-radius: 50%; }
.formula-jump__icon svg { width: 22px; height: 22px; }
.formula-jump__copy { min-width: 0; display: grid; align-content: center; gap: 8px; }
.formula-jump__copy small { color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.formula-jump__copy strong { min-height: 2.1em; display: flex; align-items: flex-start; color: var(--plum); font-family: var(--serif); font-size: clamp(19px, 1.7vw, 25px); font-weight: 400; line-height: 1.05; }
.formula-jump__arrow { width: 18px; align-self: center; color: var(--plum); }
.formula-jump a:hover .formula-jump__copy strong, .formula-jump a:hover .formula-jump__arrow { color: var(--ivory); }
.formula-jump a:hover .formula-jump__icon { color: var(--plum); background: var(--ivory); }
.ingredient-card__use { display: grid; gap: 5px; margin-top: auto; padding-top: 14px; color: var(--wine); border-top: 1px solid var(--line); font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ingredient-card__use b { color: var(--gold); font-size: 7px; letter-spacing: .13em; }

.certification-register { scroll-margin-top: 120px; margin-top: clamp(70px, 9vw, 125px); padding-top: clamp(55px, 7vw, 90px); border-top: 1px solid var(--line); }
.certification-register__heading { max-width: 820px; margin-bottom: 48px; }
.certification-register__heading h2 { margin: 15px 0 20px; color: var(--plum); font-family: var(--serif); font-size: clamp(42px, 5.3vw, 72px); font-weight: 400; line-height: .98; }
.certification-register__heading p { max-width: 720px; color: var(--muted); font-size: 16px; }
.certification-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.certification-grid article { min-height: 255px; display: grid; grid-template-columns: 132px minmax(0,1fr); align-items: center; gap: 28px; padding: clamp(24px, 3vw, 38px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.certification-mark { position: relative; width: 126px; aspect-ratio: 1; display: grid; place-items: center; color: var(--plum); background: radial-gradient(circle at 32% 28%, var(--paper), var(--ivory-deep) 72%); border: 1px solid color-mix(in srgb, var(--gold) 50%, transparent); border-radius: 50%; box-shadow: inset 0 0 0 8px color-mix(in srgb, var(--ivory) 50%, transparent); }
.certification-mark::before, .certification-mark::after { content: ""; position: absolute; border: 1px solid color-mix(in srgb, var(--gold) 30%, transparent); border-radius: 50%; }
.certification-mark::before { inset: 8px; }
.certification-mark::after { inset: 16px; border-style: dotted; }
.certification-mark svg { position: relative; z-index: 1; width: 62px; height: 62px; stroke-width: 1.4; }
.certification-grid article > div > small { color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.certification-grid h3 { margin: 8px 0 10px; color: var(--plum); font-family: var(--serif); font-size: 25px; font-weight: 400; line-height: 1.05; }
.certification-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.certification-register__note { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 12px; margin-top: 22px; padding: 18px 20px; color: var(--plum); background: var(--gold-light); }
.certification-register__note p { margin: 0; font-size: 11px; }

/* Accounts and checkout connections */
.account-access { grid-row: span 2; padding: clamp(28px, 4vw, 48px); color: var(--ivory); background: var(--plum); }
.account-access h2 { margin: 14px 0; font-family: var(--serif); font-size: 36px; font-weight: 400; line-height: 1; }
.account-access p { color: color-mix(in srgb, var(--ivory) 70%, transparent); }
.account-access > div { display: grid; gap: 9px; margin: 24px 0; }
.account-access .button--ghost { color: var(--ivory); border-color: color-mix(in srgb, var(--ivory) 42%, transparent); }
.account-access small { display: flex; gap: 8px; color: color-mix(in srgb, var(--ivory) 55%, transparent); font-size: 9px; }
.guest-profile { grid-row: auto; grid-column: 2; box-shadow: none; }
.consent-line { display: flex !important; grid-template-columns: none !important; align-items: flex-start; gap: 9px !important; }
.consent-line input { flex: 0 0 auto; margin-top: 3px; accent-color: var(--plum); }
.consent-line a { padding: 0; color: var(--wine); background: transparent; font: inherit; text-decoration: underline; text-underline-offset: 3px; }
.consent-line { color: var(--muted); font-size: 11px; }
.checkout-card .consent-line { display: grid !important; grid-template-columns: 18px minmax(0, 1fr) !important; align-items: start; column-gap: 12px !important; }
.checkout-card .consent-line input[type="checkbox"] { width: 16px; height: 16px; margin: 2px 0 0; padding: 0; border: 0; accent-color: var(--plum); }
.checkout-card .consent-line > span { min-width: 0; color: var(--plum-soft); font-size: 11px; font-weight: 700; letter-spacing: .055em; line-height: 1.55; overflow-wrap: anywhere; text-transform: uppercase; }
.checkout-readiness { margin: 0; padding: 12px 14px; color: var(--plum); background: var(--gold-light); border-left: 3px solid var(--gold); font-size: 11px; line-height: 1.5; }
.checkout-readiness[data-state="success"] { background: var(--ivory-deep); border-left-color: var(--wine); }
.inline-field { display: grid; grid-template-columns: 1fr auto; align-items: center; border-bottom: 1px solid var(--line); }
.inline-field input { border-bottom: 0 !important; }
.inline-field button { padding: 9px; color: var(--wine); background: transparent; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.payment-choice { display: flex; gap: 9px; margin: 0; padding: 0; border: 0; }
.payment-choice legend { width: 100%; margin-bottom: 9px; color: var(--plum-soft); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.payment-choice label { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 13px; border: 1px solid var(--line); font-size: 11px; }
.payment-choice input { accent-color: var(--plum); }
.payment-choice--provider { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 7px 18px; padding: 17px 18px; border: 1px solid var(--line); }
.payment-choice--provider > span { grid-row: 1 / span 2; color: var(--plum); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.payment-choice--provider small { color: var(--muted); font-size: 12px; line-height: 1.45; }
.checkout-security { display: flex; align-items: flex-start; gap: 8px; color: var(--muted); font-size: 9px; }
.checkout-security svg { flex: 0 0 auto; }
.dialog-full-link { margin-bottom: 17px; }

@media (max-width: 1180px) {
  .site-header { grid-template-columns: 180px 1fr auto; }
  .desktop-nav { gap: 18px; }
  .desktop-nav > a, .nav-menu > summary { font-size: 10px; }
  .home-hero { grid-template-columns: 48% 52%; }
  .standards-icons { grid-template-columns: repeat(3, minmax(0,1fr)); row-gap: 38px; }
  .ingredient-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .system-section { grid-template-columns: .9fr 1.1fr; }
  .system-steps { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
  .system-steps li { padding: 25px; border: 1px solid var(--line-light); }
  .saved-grid { grid-template-columns: 1fr; }
}

@media (max-width: 930px) {
  :root { --header-height: 68px; }
  .announcement { grid-template-columns: 1fr auto; gap: 12px; }
  .announcement__mark { display: none; }
  .announcement p { text-align: left; }
  .site-header { grid-template-columns: 44px 1fr auto; padding: 0 18px; }
  .menu-button { display: grid; }
  .brand { width: 155px; justify-self: center; }
  .desktop-nav, .desktop-account, .bag-button > span:first-child { display: none; }
  .bag-button { min-width: 42px; width: 42px; height: 42px; padding: 0; background: transparent; }
  .bag-button .count-pill { color: white; background: var(--wine); }
  .home-hero { min-height: 0; grid-template-columns: 1fr; }
  .home-hero__copy { min-height: 630px; padding-right: var(--gutter); }
  .home-hero h1 { font-size: clamp(76px, 15vw, 120px); }
  .hero-stage { min-height: min(90vw, 780px); }
  .float-icon { --orb-size: clamp(52px, 9vw, 72px); }
  .news-rail { grid-template-columns: auto 1fr auto; padding: 0 20px; }
  .product-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .product-card:last-child { grid-column: auto; width: auto; justify-self: stretch; }
  .product-card h3 { font-size: clamp(20px, 3vw, 26px); }
  .system-section { grid-template-columns: 1fr 1fr; }
  .system-orbit { width: min(65vw, 380px); }
  .home-split { grid-template-columns: 1fr; }
  .standards-icons { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .launch-section { grid-template-columns: 1fr; }
  .page-hero { grid-template-columns: 180px 1fr; }
  .ingredient-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .value-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ritual-card { min-height: 0; grid-template-columns: 1fr; }
  .ritual-card:nth-child(even) .ritual-card__image { order: 0; }
  .ritual-card__image { min-height: min(95vw, 650px); }
  .knowledge-grid, .story-grid, .mark-page, .app-layout, .contact-feature { grid-template-columns: 1fr; }
  .why-closing { grid-template-columns: 1fr; align-items: start; }
  .why-closing > .eyebrow { grid-column: auto; }
  .story-visual { min-height: min(110vw, 700px); }
  .mark-reference { position: relative; top: 0; }
  .faq-layout { grid-template-columns: 1fr; }
  .support-card { position: relative; top: 0; }
  .policy-layout { grid-template-columns: 1fr; }
  .policy-nav { position: relative; top: 0; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0 18px; }
  .account-grid, .cart-page-layout { grid-template-columns: 1fr; }
  .account-auth { grid-template-columns: 1fr; }
  .account-dashboard { grid-template-columns: 1fr; }
  .account-identity, .account-balance-grid, .account-orders, .account-profile { grid-column: auto; }
  .cart-page-items { position: relative; top: 0; max-height: none; overflow: visible; }
  .profile-card { grid-row: auto; }
  .account-access { grid-row: auto; }
  .guest-profile { grid-column: auto; }
  .checkout-card { position: relative; top: 0; }
  .product-detail { grid-template-columns: 1fr; }
  .founding-offer-dialog { max-height: calc(100vh - 24px); overflow-y: auto; }
  .founding-offer-dialog[open] { display: block; }
  .offer-dialog__mark { min-height: 185px; }
  .offer-dialog__mark::before { width: 220px; }
  .offer-dialog__mark::after { width: 145px; }
  .offer-dialog__mark span { font-size: 94px; }
  .offer-dialog__content { padding: 34px 24px 38px; }
  .product-purchase, .product-information__intro { position: relative; top: 0; }
  .product-rationale, .product-use, .product-information { grid-template-columns: 1fr; }
  .formula-clarity { grid-column: auto; margin-top: 0; }
  .help-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer-columns { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 780px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .product-card:last-child { grid-column: 1 / -1; width: calc(50% - 10px); justify-self: center; }
  .formula-jump { grid-template-columns: 1fr; }
  .certification-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .payment-choice--provider { grid-template-columns: 1fr; gap: 5px; }
  .payment-choice--provider > span { grid-row: auto; }
  :root { --gutter: 20px; }
  body { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  .announcement { min-height: 40px; padding: 8px 14px; font-size: 9px; line-height: 1.35; }
  .announcement button { padding: 6px; }
  .site-header { padding: 0 10px; }
  .brand { width: 136px; }
  .header-actions { gap: 0; }
  .section, .route-section { padding-top: 76px; padding-bottom: 76px; }
  .home-hero__copy { min-height: 580px; padding-top: 65px; padding-bottom: 65px; }
  .hero-kicker > span:last-child { display: none; }
  .home-hero h1 { margin: 30px 0 24px; font-size: clamp(69px, 24vw, 104px); }
  .home-hero__copy > p { font-size: 16px; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .hero-trust { display: grid; }
  .hero-stage { min-height: 128vw; max-height: 720px; }
  .hero-slide figcaption { right: 18px; bottom: 18px; left: 18px; grid-template-columns: 28px 1fr; }
  .hero-slide figcaption small { display: none; }
  .hero-dots { bottom: 76px; left: 18px; }
  .float-icon { --orb-size: 54px; }
  .float-icon > span { display: none; }
  .float-icon--1 { top: 9%; left: 5%; }
  .float-icon--2 { top: 18%; right: 4%; }
  .float-icon--3 { top: 44%; left: 4%; }
  .float-icon--4 { top: 54%; right: 5%; }
  .float-icon--5 { bottom: 10%; left: 15%; }
  .float-icon--6 { top: 6%; right: 25%; }
  .news-rail { min-height: 62px; grid-template-columns: 1fr auto; }
  .news-rail__label { display: none; }
  .news-rail p { text-align: left; font-size: 9px; }
  .section-heading { grid-template-columns: 1fr; gap: 24px; }
  .section-heading__aside { justify-self: start; }
  .section-heading h2 { font-size: 48px; }
  .product-grid { grid-template-columns: 1fr; gap: 52px; }
  .product-card:last-child { grid-column: auto; width: 100%; }
  .product-card h3 { min-height: 0; font-size: 32px; }
  .product-card__short, .product-card__availability { min-height: 0; }
  .product-card__details { margin-top: 0; }
  .shop-toolbar { grid-template-columns: 1fr auto; }
  .shop-filter { grid-column: 1 / -1; }
  .shop-count { grid-row: 2; grid-column: 2; }
  .shop-sort { grid-row: 2; grid-column: 1; }
  .breadcrumbs { overflow-x: auto; white-space: nowrap; }
  .product-detail { gap: 35px; padding-right: 0; padding-left: 0; }
  .product-gallery figure { aspect-ratio: var(--product-media-ratio); }
  .product-purchase { padding: 0 var(--gutter) 20px; }
  .product-purchase h1 { font-size: clamp(52px, 15vw, 75px); }
  .product-buy-row { grid-template-columns: 92px 1fr; }
  .product-buy-row .button { padding-right: 12px; padding-left: 12px; font-size: 9px; }
  .product-rationale, .product-use { gap: 30px; }
  .product-rationale > p, .product-use > div:last-child > p { font-size: 25px; }
  .formula-group__body { margin-left: 42px; }
  .formula-groups ul { grid-template-columns: 1fr; }
  .formula-jump { grid-template-columns: 1fr; }
  .formula-jump a { min-height: 132px; grid-template-columns: 52px minmax(0,1fr) 18px; gap: 13px; padding: 18px; }
  .formula-jump__icon { width: 48px; height: 48px; }
  .formula-jump__copy strong { min-height: 0; }
  .ingredient-filter-row { align-items: flex-start; flex-direction: column; }
  .product-grid--related { grid-template-columns: 1fr; }
  .product-grid--related .product-card:last-child { width: 100%; }
  .system-section { grid-template-columns: 1fr; }
  .system-orbit { width: min(82vw, 350px); }
  .system-steps { grid-column: auto; grid-template-columns: 1fr; width: 100%; }
  .system-steps li { padding: 22px 0; border-width: 1px 0 0; }
  .system-copy h2 { font-size: 60px; }
  .ingredient-preview { grid-template-columns: 1fr; }
  .ingredient-mini { min-height: 250px; }
  .standards-icons { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .standard-orb > span { width: 88px; height: 88px; }
  .launch-date { font-size: 23vw; }
  .page-hero { min-height: 570px; grid-template-columns: 1fr; align-content: center; gap: 35px; padding-top: 70px; padding-bottom: 70px; }
  .page-hero__icon { width: 120px; justify-self: start; }
  .page-hero h1 { font-size: clamp(53px, 16vw, 78px); }
  .page-hero__copy > p { font-size: 16px; }
  .page-hero__index { bottom: 16px; }
  .ritual-card__image { min-height: 120vw; }
  .ritual-card__copy { padding: 34px 22px 42px; }
  .ritual-card__copy h2 { font-size: 43px; }
  .bundle-card { grid-template-columns: 1fr; gap: 28px; }
  .bundle-card .button { width: 100%; }
  .ingredient-grid, .value-grid { grid-template-columns: 1fr; }
  .ingredient-card { min-height: 280px; }
  .certification-grid article { min-height: 0; grid-template-columns: 88px minmax(0,1fr); gap: 18px; padding: 24px 18px; }
  .certification-mark { width: 84px; }
  .certification-mark svg { width: 43px; height: 43px; }
  .story-visual { min-height: 128vw; }
  .story-visual > span { right: 0; }
  .principle-list article { grid-template-columns: 45px 1fr; gap: 15px; }
  .gate-list article { grid-template-columns: 52px 38px 1fr; gap: 12px; }
  .gate-list article > strong { grid-column: 3; text-align: left; }
  .gate-list h3 { font-size: 22px; }
  .mark-reference { min-height: 0; padding: 24px; }
  .mark-reference__master { min-height: 260px; padding: 28px 20px; }
  .mark-reference__variants { grid-template-columns: 1fr; }
  .mark-reference__palette { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quiz-card { min-height: 650px; padding: 28px 18px; }
  .quiz-progress { margin-bottom: 45px; }
  .quiz-progress small { white-space: nowrap; }
  .quiz-options, .quiz-options--three { grid-template-columns: 1fr; }
  .quiz-options button { min-height: 96px; }
  .quiz-result__products { grid-template-columns: 1fr; }
  .knowledge-feature h2 { font-size: 38px; }
  .article-grid, .article-grid--large { grid-template-columns: 1fr; gap: 55px; }
  .editorial { padding-top: 70px; }
  .editorial__header > .text-arrow { margin-bottom: 45px; }
  .editorial__header h1 { font-size: 57px; }
  .editorial__image { margin-right: calc(var(--gutter) * -1); margin-bottom: 55px; margin-left: calc(var(--gutter) * -1); }
  .editorial__footer { align-items: flex-start; flex-direction: column; }
  .faq-list summary { grid-template-columns: 32px 1fr 20px; }
  .faq-list details > p { margin-left: 46px; }
  .policy-nav { display: flex; overflow-x: auto; white-space: nowrap; }
  .policy-nav a { padding-right: 18px; }
  .policy-copy section { grid-template-columns: 38px 1fr; gap: 0 12px; }
  .help-grid { grid-template-columns: 1fr; }
  .phone-frame { width: min(88vw, 350px); }
  .app-feature-list { grid-template-columns: 1fr; }
  .native-roadmap > div { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .fact-sheet > div { grid-template-columns: 1fr; gap: 8px; }
  .account-panel, .profile-card, .checkout-card { padding: 24px 18px; }
  .account-auth { gap: 28px; padding: 30px 18px; }
  .account-auth h2 { font-size: 43px; }
  .account-auth__forms { padding: 22px 16px; }
  .account-auth__forms .button { width: 100%; min-height: 50px; }
  .account-identity { grid-template-columns: 76px minmax(0,1fr); gap: 15px; padding: 24px 18px; }
  .account-avatar > span { width: 70px; height: 70px; }
  .account-avatar .button { min-height: 32px; padding: 6px 7px; font-size: 7px; }
  .account-balance-grid { grid-template-columns: 1fr; }
  .account-balance-grid article { padding: 24px 18px; }
  .account-orders, .account-profile { padding: 24px 18px; }
  .account-order { grid-template-columns: 1fr; gap: 14px; }
  .account-order .button { width: 100%; }
  .saved-grid { grid-template-columns: 1fr; }
  .cart-item--page { grid-template-columns: 84px minmax(0,1fr); }
  .cart-item--page > img { width: 84px; height: 108px; }
  .cart-item--page .cart-item__price { grid-column: 2; align-items: flex-start; gap: 8px; }
  .product-dialog[open] { display: block; overflow-y: auto; }
  .product-dialog__image { min-height: 0; aspect-ratio: var(--product-media-ratio); }
  .product-dialog__content { padding: 32px 22px; }
  .search-dialog { width: calc(100% - 20px); height: calc(100vh - 20px); }
  .search-dialog__top { padding-left: 16px; }
  .search-dialog__body { padding: 20px 16px; }
  .footer-intro { grid-template-columns: 1fr; gap: 55px; }
  .footer-columns { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 44px 22px; }
  .footer-base { align-items: flex-start; flex-direction: column; padding-top: 24px; padding-bottom: 24px; }
  .mobile-tabbar { position: fixed; z-index: 79; right: 0; bottom: 0; left: 0; min-height: calc(64px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(3,1fr); padding-bottom: env(safe-area-inset-bottom); background: color-mix(in srgb, var(--ivory) 95%, transparent); border-top: 1px solid var(--line); backdrop-filter: blur(18px); }
  .mobile-tabbar a, .mobile-tabbar button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--plum); background: transparent; font-size: 9px; font-weight: 700; letter-spacing: .04em; }
  .mobile-tabbar svg { width: 19px; height: 19px; }
  .mobile-bag-icon { position: relative; display: grid; place-items: center; }
  .mobile-bag-icon i { position: absolute; top: -8px; right: -13px; min-width: 16px; height: 16px; display: grid; place-items: center; color: white; background: var(--wine); border-radius: 20px; font: normal 9px/1 var(--sans); }
  .whatsapp-chat { right: 12px; bottom: calc(76px + env(safe-area-inset-bottom)); width: 52px; min-height: 52px; grid-template-columns: 1fr; gap: 0; padding: 7px; }
  .whatsapp-chat > svg { width: 38px; height: 38px; }
  .whatsapp-chat > span { display: none; }
  .whatsapp-chat::after { top: 4px; right: 3px; left: auto; border-color: var(--plum); }
  .toast { bottom: calc(140px + env(safe-area-inset-bottom)); }
  body[data-route^="/products/"] { padding-bottom: calc(144px + env(safe-area-inset-bottom)); }
  body[data-route^="/products/"] .whatsapp-chat { bottom: calc(154px + env(safe-area-inset-bottom)); }
  body[data-route^="/products/"] .toast { bottom: calc(218px + env(safe-area-inset-bottom)); }
  .mobile-purchase-bar { position: fixed; z-index: 78; right: 0; bottom: calc(64px + env(safe-area-inset-bottom)); left: 0; min-height: 78px; display: grid; grid-template-columns: minmax(0,1fr) 42px auto; align-items: center; gap: 9px; padding: 10px 12px; color: var(--plum); background: color-mix(in srgb, var(--ivory) 97%, transparent); border-top: 1px solid var(--line); box-shadow: 0 -12px 32px color-mix(in srgb, var(--plum-deep) 10%, transparent); backdrop-filter: blur(18px); }
  .mobile-purchase-bar > div { min-width: 0; display: grid; line-height: 1.2; }
  .mobile-purchase-bar strong { overflow: hidden; font-family: var(--serif); font-size: 15px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-purchase-bar span { color: var(--plum-soft); font-size: 9px; }
  .mobile-purchase-bar small { color: var(--gold); font-size: 8px; }
  .mobile-purchase-bar > a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); }
  .mobile-purchase-bar > button { align-self: stretch; padding: 0 15px; color: var(--ivory); background: var(--plum); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .ritual-ticker__track { animation: none !important; transform: none !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
}

@media (forced-colors: active) {
  .float-icon, .standard-orb > span, .page-hero__icon { border: 2px solid currentColor; }
}

/* Founding drop, proof systems and launch-safe commerce */
.button[aria-disabled="true"], [data-preorder-dialog][aria-disabled="true"], .mobile-purchase-bar > button[aria-disabled="true"] { color: var(--plum); background: var(--gold-light); border-color: var(--gold-light); }
.product-purchase__meta { flex-wrap: wrap; }
.product-purchase__meta small { flex-basis: 100%; margin-top: 6px; color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bundle-card__actions { display: grid; justify-items: end; gap: 16px; }
.shop-collection-link { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 38px; padding: 22px 25px; color: var(--ivory); background: var(--plum); }
.shop-collection-link > span { display: flex; align-items: center; gap: 16px; }
.shop-collection-link small { color: var(--gold-light); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.shop-collection-link strong { font-family: var(--serif); font-size: 24px; font-weight: 400; }
.shop-collection-link > span:last-child { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.shop-collection-link svg { transition: transform .25s; }
.shop-collection-link:hover svg { transform: translateX(5px); }

.collection-intro { max-width: 850px; margin-bottom: 55px; }
.collection-intro h2, .formula-systems header h2, .founding-insight h2 { margin: 15px 0 20px; color: var(--plum); font-family: var(--serif); font-size: clamp(44px, 5.5vw, 76px); font-weight: 400; line-height: .96; }
.collection-intro p, .formula-systems header p, .founding-insight p { max-width: 720px; color: var(--muted); font-size: 16px; }
.collection-sequence { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(20px, 3vw, 42px); }
.collection-sequence article { min-width: 0; }
.collection-sequence__image { display: block; aspect-ratio: var(--product-media-ratio); overflow: hidden; background: var(--product-media-bg); }
.collection-sequence__image img { width: 100%; height: 100%; object-fit: contain; padding: clamp(8px, 1.15vw, 18px); transition: transform .7s var(--ease); }
.collection-sequence__image:hover img { transform: scale(1.025); }
.collection-sequence article > div { padding-top: 20px; }
.collection-sequence small, .collection-sequence article > div > span { color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.collection-sequence h3 { margin: 9px 0; color: var(--plum); font-family: var(--serif); font-size: clamp(26px, 2.8vw, 40px); font-weight: 400; line-height: 1; }
.collection-sequence p { min-height: 68px; color: var(--muted); font-size: 13px; }
.collection-summary { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(30px, 6vw, 95px); align-items: end; margin-top: clamp(65px, 8vw, 105px); padding: clamp(32px, 5vw, 65px); color: var(--ivory); background: var(--plum); }
.collection-summary h2 { margin: 12px 0; font-family: var(--serif); font-size: clamp(34px, 4vw, 56px); font-weight: 400; line-height: 1; }
.collection-summary p { margin-bottom: 10px; color: var(--gold-light); }
.collection-summary small, .collection-summary > div:last-child p { color: color-mix(in srgb, var(--ivory) 70%, transparent); font-size: 11px; }
.collection-summary .button { width: 100%; margin-top: 16px; }
.collection-proof { display: grid; grid-template-columns: 45px minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.collection-proof > svg { width: 35px; height: 35px; color: var(--gold); }
.collection-proof p { margin: 0; color: var(--muted); font-size: 13px; }
.collection-proof strong { display: block; color: var(--plum); }

.formula-systems { margin: clamp(65px, 8vw, 110px) 0; padding: clamp(50px, 6vw, 80px) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.formula-systems header { max-width: 850px; margin-bottom: 45px; }
.formula-systems > div { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.formula-systems article { min-height: 270px; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(28px, 4vw, 48px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.formula-systems article > span { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 28px; color: var(--plum); background: var(--gold-light); border-radius: 50%; }
.formula-systems article small { color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.formula-systems h3 { margin: 8px 0 12px; color: var(--plum); font-family: var(--serif); font-size: 28px; font-weight: 400; }
.formula-systems article p { margin: 0; color: var(--muted); font-size: 13px; }
.formula-systems aside { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 14px; margin-top: 20px; padding: 20px; color: var(--plum); background: var(--gold-light); }
.formula-systems aside p { margin: 0; font-size: 12px; }
.founding-insight { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(45px, 8vw, 120px); align-items: start; border-top: 1px solid var(--line); }
.founding-insight p { line-height: 1.8; }
.founding-insight .text-arrow { margin-top: 18px; }
.why-closing { max-width: none; display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px clamp(35px, 8vw, 120px); align-items: end; color: var(--ivory); background: var(--plum); }
.why-closing > .eyebrow { grid-column: 1 / -1; }
.why-closing h2 { margin: 0; font-family: var(--serif); font-size: clamp(48px, 6.5vw, 92px); font-weight: 400; line-height: .92; }
.why-closing > div { display: grid; gap: 9px; }
.why-closing > div p { margin: 0; color: color-mix(in srgb, var(--ivory) 72%, transparent); font-size: 16px; }
.why-closing > div strong { color: var(--gold-light); }
.why-closing .button { justify-self: start; }
.why-closing > small { align-self: center; color: color-mix(in srgb, var(--ivory) 50%, transparent); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.release-closing { margin-top: 55px; padding: clamp(30px, 5vw, 55px); color: var(--ivory); background: var(--plum); }
.release-closing .eyebrow { color: var(--gold-light); }
.release-closing p { margin: 16px 0 0; font-family: var(--serif); font-size: clamp(25px, 3vw, 38px); line-height: 1.25; }
.checkout-kicker { margin-bottom: 5px; padding: 13px 18px; color: var(--ivory); background: var(--plum); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.checkout-totals { display: grid; gap: 11px; padding-top: 20px; border-top: 1px solid var(--line); }
.checkout-totals > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--muted); font-size: 11px; }
.checkout-totals > div strong { color: var(--plum); font-weight: 600; text-align: right; }
.checkout-totals .checkout-total { padding-top: 12px; border-top: 1px solid var(--line); }
.checkout-totals .checkout-total strong { font-family: var(--serif); font-size: 28px; font-weight: 400; }
.mobile-checkout-bar { display: none; }
.order-confirmation { max-width: 980px; min-height: 72vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: clamp(80px, 11vw, 150px); padding-bottom: clamp(80px, 11vw, 150px); text-align: center; }
.order-confirmation__icon { width: 78px; height: 78px; display: grid; place-items: center; margin-bottom: 26px; color: var(--plum); background: var(--gold-light); border-radius: 50%; }
.order-confirmation h1 { margin: 20px 0; color: var(--plum); font-family: var(--serif); font-size: clamp(55px, 8vw, 100px); font-weight: 400; line-height: .9; }
.order-confirmation > p { max-width: 680px; color: var(--muted); font-size: 18px; }
.order-confirmation dl { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin: 35px 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.order-confirmation dl div { padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.order-confirmation dt { color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.order-confirmation dd { margin: 7px 0 0; color: var(--plum); font-family: var(--serif); font-size: 20px; }

@media (max-width: 930px) {
  .founding-insight { grid-template-columns: 1fr; }
  .collection-summary { grid-template-columns: 1fr; }
  .collection-proof { grid-template-columns: 42px 1fr; }
  .collection-proof .text-arrow { grid-column: 2; }
}

@media (max-width: 640px) {
  .shop-collection-link, .shop-collection-link > span { align-items: flex-start; flex-direction: column; }
  .shop-collection-link strong { font-size: 22px; }
  .collection-sequence, .formula-systems > div { grid-template-columns: 1fr; }
  .collection-sequence { gap: 50px; }
  .collection-sequence p { min-height: 0; }
  .collection-proof { grid-template-columns: 1fr; }
  .collection-proof .text-arrow { grid-column: auto; }
  .bundle-card__actions { justify-items: stretch; }
  .order-confirmation dl { grid-template-columns: 1fr; }
  .order-confirmation .button-pair { width: 100%; display: grid; }
  body[data-route="/cart"] { padding-bottom: calc(146px + env(safe-area-inset-bottom)); }
  body[data-route="/cart"] .whatsapp-chat { bottom: calc(154px + env(safe-area-inset-bottom)); }
  body[data-route="/cart"] .toast { bottom: calc(218px + env(safe-area-inset-bottom)); }
  .mobile-checkout-bar { position: fixed; z-index: 78; right: 0; bottom: calc(64px + env(safe-area-inset-bottom)); left: 0; min-height: 82px; display: grid; grid-template-columns: minmax(104px,1fr) minmax(148px,auto); align-items: center; gap: 10px; padding: 10px 12px; color: var(--plum); background: color-mix(in srgb, var(--ivory) 97%, transparent); border-top: 1px solid var(--line); box-shadow: 0 -12px 32px color-mix(in srgb, var(--plum-deep) 10%, transparent); backdrop-filter: blur(18px); }
  .mobile-checkout-bar > span { min-width: 0; display: grid; gap: 3px; line-height: 1.25; }
  .mobile-checkout-bar > span strong { font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
  .mobile-checkout-bar > span small { color: var(--muted); font-size: 8px; }
  .mobile-checkout-bar > button { min-height: 54px; align-self: stretch; padding: 0 14px; color: var(--ivory); background: var(--plum); font-size: 10px; font-weight: 800; white-space: nowrap; }
  .checkout-card input, .checkout-card textarea, .checkout-card .inline-field button { min-height: 44px; }
  .checkout-card .button { min-height: 54px; }
  .cart-drawer { width: 100%; max-width: 430px; }
  .cart-drawer .cart-item { grid-template-columns: 72px minmax(0,1fr); gap: 12px; padding: 16px 18px; }
  .cart-drawer .cart-item > img { width: 72px; height: 90px; }
  .cart-drawer .cart-item__price { grid-column: 2; flex-direction: row; align-items: center; gap: 12px; }
  .cart-item__qty { grid-template-columns: 44px 36px 44px; }
  .cart-item__qty button { min-width: 44px; height: 44px; }
  .cart-item__remove { min-height: 44px; display: inline-flex; align-items: center; }
  .cart-summary { gap: 10px; padding: 16px 18px max(18px, env(safe-area-inset-bottom)); }
  .cart-summary__status { display: grid; grid-template-columns: 1fr; gap: 5px; }
  .cart-summary__status > span, .cart-summary__status > small { width: 100%; display: block; line-height: 1.45; }
  .cart-summary .cart-summary__review { width: 100%; min-height: 42px; justify-content: space-between; margin: 0; }
  .cart-summary .button { min-height: 50px; }
  .mobile-purchase-bar > button { max-width: 150px; line-height: 1.2; }
}

/* v20 — shared accessible controls and responsive checkout */
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--plum); outline-offset: 4px; }
html { scroll-padding-top: 110px; }
.cart-summary__status { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.cart-summary__status > span, .cart-summary__status > small { display: block; min-width: 0; margin: 0; line-height: 1.55; white-space: normal; overflow-wrap: break-word; }
.cart-summary .cart-summary__review { display: flex; min-height: 44px; align-items: center; justify-content: space-between; width: 100%; gap: 16px; padding-block: 10px; line-height: 1.4; }
.cart-item__copy { min-width: 0; }
.cart-item__copy h3 { line-height: 1.18; overflow-wrap: break-word; }
.cart-item__qty button, .cart-item__remove { min-width: 44px; min-height: 44px; }
.cart-item__qty { grid-template-columns: 44px 36px 44px; }
.cart-item__qty button { height: 44px; }
.checkout-card, .account-auth, .account-dashboard, .profile-card, .cart-page-items { min-width: 0; }
.checkout-card .consent-line > span, .account-auth .consent-line > span { font-size: 12px; line-height: 1.6; letter-spacing: 0; text-transform: none; }
.consent-line input { flex: 0 0 auto; }
.checkout-wallet { min-width: 0; border: 1px solid var(--line); padding: 18px; margin: 0; }
.checkout-wallet legend { font-size: 13px; font-weight: 700; padding-inline: 8px; }
.checkout-wallet p, .checkout-wallet small { font-size: 12px; line-height: 1.6; }
.checkout-wallet input { max-width: 180px; }
.wallet-history { padding: 24px; background: var(--paper); border: 1px solid var(--line); overflow-x: auto; }
.wallet-history table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.wallet-history td, .wallet-history th { padding: 14px 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
.wallet-history small { display: block; max-width: 34ch; overflow-wrap: anywhere; color: var(--muted); }
.wallet-history td:last-child { white-space: nowrap; text-align: right; }
.account-auth form .consent-line { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 12px; }
.account-auth .consent-line input { width: 18px; min-height: 18px; height: 18px; padding: 0; margin: 3px 0; }
.account-avatar input[type=file] { display: block; position: absolute; width: 1px; height: 1px; opacity: 0; }
.account-avatar label:focus-within { outline: 2px solid var(--plum); outline-offset: 3px; }
.account-order form, .account-order details { min-width: 0; }
.account-order input, .account-order select, .account-order textarea { max-width: 100%; }
.profile-card textarea, .profile-card input, .account-auth input { max-width: 100%; }
.admin-page main { width: min(1160px, calc(100% - 40px)); margin: 50px auto; }
.admin-page h1 { font-size: clamp(32px, 5vw, 60px); }
.admin-page h2 { margin-top: 24px; font-size: 24px; }
.admin-page form { display: grid; align-content: start; gap: 16px; padding: 24px; border: 1px solid var(--line); }
.admin-page label { display: grid; gap: 8px; font-size: 14px; }
.admin-page input, .admin-page select, .admin-page textarea { width: 100%; min-height: 44px; padding: 10px; border: 1px solid var(--line); }
.admin-page pre { max-height: 460px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; padding: 16px; font: 13px/1.6 monospace; background: var(--paper); }
.admin-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 24px; }
.admin-nav button, #admin-prev, #admin-next { padding: 12px 20px; min-height: 44px; border: 1px solid var(--line); }
.admin-forms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
#admin-rows details { padding: 12px; border-bottom: 1px solid var(--line); }
#admin-rows summary { min-height: 44px; overflow-wrap: anywhere; cursor: pointer; }
@media (max-width: 930px) {
  .desktop-account { display: grid; }
  .account-popover { right: 0; top: calc(100% + 10px); }
  .header-actions { position: relative; gap: 4px; }
  .cart-item--page .cart-item__copy h3 { font-size: clamp(21px, 4vw, 26px); }
  .checkout-card { position: static; }
}
@media (max-width: 600px) {
  .site-header { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 8px; padding-inline: 14px; }
  .site-header .brand { width: min(126px, 100%); min-width: 0; }
  .site-header .brand img { width: 100%; height: auto; }
  .site-header .header-icon, .site-header .bag-button { width: 44px; min-width: 44px; height: 44px; flex: 0 0 44px; }
  .site-header .icon-button { width: 44px; min-width: 44px; height: 44px; padding: 10px; }
  .header-actions { gap: 0; }
  .cart-item { column-gap: 12px; }
  .cart-summary { gap: 12px; padding: 18px 20px max(20px, env(safe-area-inset-bottom)); }
  .cart-summary__status > span { font-size: 12px; }
  .cart-summary__status > small, .cart-summary > p { font-size: 11px; }
  .checkout-card input, .checkout-card textarea, .profile-card input, .profile-card textarea, .account-auth input, .account-order select, .account-order textarea { font-size: 16px; }
  .checkout-card { gap: 20px; }
  .checkout-totals > div { gap: 16px; }
  .checkout-totals > div > strong { white-space: nowrap; }
  .account-order { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .account-balance-grid { grid-template-columns: minmax(0, 1fr); }
  .wallet-history { padding: 18px 10px; }
  .mobile-checkout-bar { gap: 12px; align-items: center; padding: 12px 14px max(12px, env(safe-area-inset-bottom)); }
  .mobile-checkout-bar > span { min-width: 0; max-width: 42%; }
  .mobile-checkout-bar small { line-height: 1.5; }
  .mobile-checkout-bar button { min-height: 48px; padding: 12px; font-size: 12px; white-space: normal; }
  body[data-route="/cart"] main { padding-bottom: 110px; }
  .admin-forms { grid-template-columns: minmax(0,1fr); }
}
@media (max-height: 600px) {
  .cart-drawer { overflow-y: auto; overscroll-behavior: contain; }
  .cart-drawer > .cart-items { flex: 0 0 auto; overflow: visible; }
  .cart-drawer > .drawer-top, .cart-drawer > .shipping-progress, .cart-drawer > .cart-summary { flex-shrink: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Privacy controls live only in Your Space, with no interrupting overlay. */
.account-privacy { grid-column: 1 / -1; padding: clamp(24px,4vw,48px); border: 1px solid var(--line); background: var(--paper); scroll-margin-top: 120px; }
.account-privacy h2 { margin: 12px 0; font: 400 clamp(28px,4vw,40px)/1.15 var(--serif); color: var(--plum); }
.account-privacy p { max-width: 760px; line-height: 1.65; }
.account-privacy__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.account-privacy [aria-pressed="true"] { outline: 2px solid var(--wine); outline-offset: 3px; }
.account-privacy [data-privacy-status] { color: var(--muted); }
/* v21: compact learning cards, community, reviews and inline account access. */
.knowledge-grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items:start; }
.knowledge-feature > img { display:block; width:100%; height:260px; aspect-ratio:auto; object-fit:cover; object-position:center 62%; }
.knowledge-feature > div { padding:28px; }
.knowledge-feature h2 { font-size:clamp(30px,3vw,42px); line-height:1.12; }
body[data-route="/knowledge"] .article-card__image { height:190px; aspect-ratio:auto; }
body[data-route="/knowledge"] .article-card__image img { object-fit:cover; object-position:center 64%; }
.hero { min-height:min(740px,82vh); }
.dispatch-note { padding:12px 16px; border-left:2px solid var(--brand-wine); font-size:13px; line-height:1.7; }
.founding-notes { text-align:center; width:min(100%,820px); margin-inline:auto; padding-inline:clamp(20px,4vw,50px); }
.founding-notes h2 { margin:16px 0 28px; font:400 clamp(28px,3.2vw,42px)/1.2 var(--serif); }
.ritual-review { min-width:0; padding:clamp(24px,4vw,46px); border-block:1px solid var(--brand-gold); background:var(--paper); overflow-wrap:anywhere; }
.founding-notes .ritual-review { flex:0 0 100%; width:100%; max-width:none; min-height:260px; margin:0; padding:clamp(22px,3vw,34px); box-sizing:border-box; }
.founding-notes .ritual-review blockquote { font-size:clamp(22px,2.5vw,30px); }
[data-notes-stage] { overflow:hidden; }
.notes-track { display:flex; align-items:stretch; transition:transform 600ms ease; }
.notes-controls { flex-wrap:wrap; }
.notes-controls [data-notes-pause] { width:auto; padding-inline:14px; font-size:12px; }
.checkout-password { margin-top:20px; }
.checkout-password summary { cursor:pointer; font-size:13px; }
@media (prefers-reduced-motion:reduce) { .notes-track { transition:none; } }
.ritual-review blockquote { margin:24px 0; font:400 clamp(25px,3.4vw,40px)/1.4 var(--serif); }
.ritual-review blockquote p { margin:0; }
.review-provenance { display:inline-block; font-size:11px; letter-spacing:.1em; line-height:1.6; text-transform:uppercase; }
.ritual-review--demo .review-provenance { padding:8px 14px; background:var(--brand-gold); }
.review-author { font-weight:700; }
.review-author small,.review-incentive { display:block; font-weight:400; line-height:1.7; margin-top:10px; }
.review-stars { display:inline-flex; flex-wrap:wrap; align-items:center; gap:10px; margin:12px; color:var(--plum); }
.review-stars small { font-size:12px; }
.review-demo-badge { display:inline-block; padding:6px 12px; border:1px solid var(--line); font-size:11px; }
.review-photo { display:block; max-width:min(100%,400px); height:auto; margin:20px auto 0; }
.notes-controls { display:flex; align-items:center; justify-content:center; gap:22px; margin-block:28px; }
.notes-controls button { width:48px; height:48px; border:1px solid var(--line); display:grid; place-items:center; }
.notes-controls svg { width:20px; height:20px; }
[data-notes-disclosure] { max-width:72ch; margin:auto; font-size:12px; line-height:1.7; }
.coins-story { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(28px,6vw,90px); align-items:center; }
.coins-story h2 { margin:18px 0 26px; }
.coins-story p { max-width:56ch; line-height:1.8; }
.coins-story aside { padding:clamp(24px,4vw,50px); border:1px solid var(--line); background:var(--paper); }
.coins-story aside svg { width:44px; height:44px; }
.coins-story h3 { font:400 36px/1.3 var(--serif); margin-top:20px; }
.editorial-ticker { position:relative; display:flex; align-items:center; overflow:hidden; padding-block:24px; color:var(--ivory); background:var(--plum); }
.editorial-ticker__track { display:flex; width:max-content; animation:hrimeo-ticker 65s linear infinite; }
.editorial-ticker__track span { flex-shrink:0; white-space:nowrap; padding-right:30px; font-size:13px; letter-spacing:.13em; }
.editorial-ticker button { position:absolute; right:0; min-height:48px; padding:12px 20px; background:var(--plum); color:var(--ivory); border:1px solid var(--brand-gold); font-size:11px; }
.editorial-ticker:focus-within .editorial-ticker__track,.editorial-ticker:hover .editorial-ticker__track,.editorial-ticker.is-paused .editorial-ticker__track { animation-play-state:paused; }
@keyframes hrimeo-ticker { to {transform:translateX(-50%);} }
.home-explore h2 { margin:18px 0 30px; }
.home-explore > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-explore a { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:26px; border:1px solid var(--line); line-height:1.6; }
.home-explore svg { width:26px; height:26px; flex-shrink:0; }
.checkout-verification { min-width:0; margin:0; padding:18px; border:1px solid var(--line); }
.checkout-verification legend { font-size:13px; font-weight:700; padding-inline:8px; }
.checkout-verification p { font-size:13px; line-height:1.65; }
.checkout-verification label { margin-top:18px; }
.checkout-verification .button { min-height:44px; padding:12px 15px; font-size:11px; }
.checkout-verification .button-pair { display:flex; flex-wrap:wrap; gap:10px; }
.social-buttons { display:grid; gap:10px; margin-top:16px; }
[data-social-panel] { padding:18px 0; border-block:1px solid var(--line); margin:16px 0; }
[data-social-panel] .consent-line,.review-editor .consent-line,.community-compose .consent-line,.account-profile .consent-line { display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; align-items:start; }
[data-social-panel] .consent-line span { font-size:12px; line-height:1.65; text-transform:none; letter-spacing:0; }
.checkout-card input[type=checkbox],[data-social-panel] input[type=checkbox],.review-editor input[type=checkbox],.community-compose input[type=checkbox],.account-profile input[type=checkbox] { width:18px; min-height:18px; height:18px; margin-top:3px; padding:0; }
.checkout-card select,.review-editor select { width:100%; min-height:48px; border:1px solid var(--line); padding:12px; background:var(--paper); font-size:16px; }
[data-reward-estimate] { padding:16px; background:var(--paper); border:1px solid var(--brand-gold); font-size:13px; line-height:1.7; }
.order-timeline { grid-column:1/-1; list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0 0; }
.order-timeline li { border-top:2px solid var(--line); padding-top:12px; color:var(--muted); font-size:12px; line-height:1.65; }
.order-timeline .is-complete { border-color:var(--plum); color:var(--plum); }
.order-timeline [aria-current] { font-weight:700; }
.order-timeline small,.account-order small { display:block; margin-top:8px; }
.account-reviews { min-width:0; padding-block:24px; }
.review-editor { border:1px solid var(--line); padding:18px; margin-top:16px; }
.review-editor summary { min-height:44px; cursor:pointer; line-height:1.6; }
.review-editor form,.profile-card form,.community-compose form { min-width:0; display:grid; gap:16px; }
.review-editor label,.community-compose label { display:grid; gap:8px; font-size:13px; line-height:1.7; }
.review-editor input,.review-editor textarea,.community-compose input,.community-compose textarea,.community-compose select { width:100%; min-height:44px; padding:12px; border:1px solid var(--line); background:var(--paper); font-size:16px; }
.ritual-reviews > label { display:flex; align-items:center; gap:16px; margin-block:24px; }
.ritual-reviews select { padding:10px; min-height:44px; border:1px solid var(--line); }
[data-review-list] { display:grid; gap:20px; }
.saved-address { border-bottom:1px solid var(--line); padding-block:18px; }
.saved-address button,[data-copy-referral-link],[data-linked-social] button { min-height:44px; text-decoration:underline; margin-right:12px; }
.community-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:50px; align-items:start; }
.community-main { min-width:0; }
.community-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; padding-bottom:26px; border-bottom:1px solid var(--line); }
.community-toolbar label { display:grid; gap:8px; font-size:12px; }
.community-toolbar select { min-height:46px; border:1px solid var(--line); background:var(--paper); padding:10px; max-width:100%; }
.community-post { padding-block:30px; border-bottom:1px solid var(--line); }
.community-post h3 { font:400 clamp(25px,3vw,34px)/1.3 var(--serif); margin:12px 0; }
.community-post small { color:var(--muted); font-size:12px; }
.community-body { white-space:pre-line; overflow-wrap:anywhere; line-height:1.8; }
.community-post > div { display:flex; gap:24px; font-size:12px; }
.community-post button,.community-own button { min-height:44px; text-decoration:underline; }
.community-empty { padding:42px 28px; margin:28px 0; border:1px solid var(--line); background:var(--paper); }
.community-empty h3 { font:400 30px/1.3 var(--serif); }
.community-compose { padding:30px 0; }
.community-compose h2 { margin:14px 0 24px; }
.community-aside { padding:28px; background:var(--paper); border:1px solid var(--line); }
.community-aside > span svg { width:42px; height:42px; }
.community-aside h3 { font:400 32px/1.3 var(--serif); margin:20px 0; }
.community-aside p { font-size:13px; line-height:1.8; }
.community-aside .button { width:100%; white-space:normal; line-height:1.5; }
.community-aside .community-scope { padding-top:20px; border-top:1px solid var(--line); font-size:12px; }
.community-own { padding:20px; margin-top:12px; border:1px solid var(--line); }
@media (max-width:850px) { .community-layout,.knowledge-grid { grid-template-columns:minmax(0,1fr); } .community-aside { order:-1; } }
@media (max-width:700px) {
 .hero { min-height:auto; } .coins-story,.home-explore > div { grid-template-columns:minmax(0,1fr); }
 .knowledge-feature > img { height:210px; } .knowledge-feature > div { padding:24px; }
 .ritual-review { padding:24px 18px; } .founding-notes .ritual-review { min-height:320px; }
 .order-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); } .checkout-verification .button-pair { display:grid; }
 .mobile-checkout-bar > span { max-width:none; }
}
@media (prefers-reduced-motion:reduce) {
 .editorial-ticker__track { animation:none; width:100%; } .editorial-ticker__track span { white-space:normal; padding:0 24px; line-height:1.8; }
 .editorial-ticker__track span+span,.editorial-ticker button { display:none; }
}
@media (max-width: 600px) {
  .account-privacy__actions { display: grid; }
  .account-privacy__actions .button { width: 100%; min-height: 48px; }
  .mark-reference__palette { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
}
