/* 三个胖子商城 v53 storefront layer: warm cream / responsive / reduced-motion aware */
:root {
  --v53-color-bg: #f6f8f3;
  --v53-color-surface: #fffdf8;
  --v53-color-surface-soft: #edf3ef;
  --v53-color-ink: #21322f;
  --v53-color-muted: #66736f;
  --v53-color-line: rgba(42, 67, 61, .16);
  --v53-color-accent: #b56837;
  --v53-color-accent-soft: #d8a16f;
  --v53-color-dark: #21322f;
  --v53-color-dark-2: #39574f;
  --v53-shadow: 0 18px 60px rgba(45, 75, 65, .12);
  --v53-radius: 2px;
  --v53-container: 1360px;
  --v53-font-sans: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --v53-font-serif: "Noto Serif SC", "Songti SC", "STSong", Georgia, serif;
}

html { background: var(--v53-color-bg); scroll-behavior: smooth; }
body.v53-page { margin: 0; min-width: 320px; background: var(--v53-color-bg); color: var(--v53-color-ink); font-family: var(--v53-font-sans); font-size: 16px; line-height: 1.65; }
body.v53-page *, body.v53-page *::before, body.v53-page *::after { box-sizing: border-box; }
body.v53-page a { color: inherit; text-decoration: none; }
body.v53-page button, body.v53-page input { font: inherit; }
body.v53-page button { cursor: pointer; }
.v53-shell { overflow: clip; }
.v53-container { width: min(calc(100% - 64px), var(--v53-container)); margin: 0 auto; }
.sr-only, .v53-page .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; }
.v53-skip-link { position: fixed; z-index: 100; left: 16px; top: -60px; padding: 10px 16px; background: var(--v53-color-dark); color: #fff; transition: top .2s ease; }
.v53-skip-link:focus { top: 16px; }
.v53-eyebrow, .v53-footer-label { margin: 0; color: var(--v53-color-accent); font-size: 13px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.v53-section-heading h2, .v53-service-band h2, .v53-merchant-card h2 { margin: 14px 0 0; font-family: var(--v53-font-serif); font-size: clamp(32px, 4vw, 58px); font-weight: 400; line-height: 1.16; letter-spacing: -.04em; }
.v53-section-heading h2 em, .v53-service-band h2 em, .v53-merchant-card h2 em, .v53-hero h1 em { color: var(--v53-color-accent); font-style: normal; }

/* Shared storefront header */
.v53-site-header { position: sticky; z-index: 30; top: 0; border-bottom: 1px solid var(--v53-color-line); background: rgba(247, 243, 235, .94); backdrop-filter: blur(18px); transition: box-shadow .25s ease, background .25s ease; }
.v53-site-header.is-scrolled { box-shadow: 0 10px 30px rgba(77, 49, 26, .09); }
.v53-header-inner { display: flex; align-items: center; gap: 28px; min-height: 78px; width: min(calc(100% - 64px), var(--v53-container)); margin: 0 auto; }
.v53-brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.v53-brand-mark { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(168, 96, 45, .28); border-radius: 10px; background: linear-gradient(145deg, #fffdf8, #eadcc8); box-shadow: inset 0 1px #fff, 0 4px 14px rgba(65, 39, 18, .08); }
.v53-brand-mark img { display: block; width: 29px; height: 29px; object-fit: contain; }
.v53-brand-copy { display: grid; gap: 0; line-height: 1.2; }
.v53-brand-copy strong { font-family: var(--v53-font-serif); font-size: 21px; font-weight: 600; letter-spacing: .03em; }
.v53-brand-copy small { color: var(--v53-color-muted); font-size: 11px; letter-spacing: .14em; }
.v53-desktop-nav { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 38px); margin-left: auto; }
.v53-desktop-nav a, .v53-mobile-menu a { position: relative; padding: 24px 0; color: var(--v53-color-muted); font-size: 14px; white-space: nowrap; transition: color .2s ease; }
.v53-desktop-nav a::after { position: absolute; right: 0; bottom: 17px; left: 0; height: 1px; background: var(--v53-color-accent); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.v53-desktop-nav a:hover, .v53-desktop-nav a:focus-visible, .v53-desktop-nav a.is-active { color: var(--v53-color-ink); }
.v53-desktop-nav a:hover::after, .v53-desktop-nav a:focus-visible::after, .v53-desktop-nav a.is-active::after { transform: scaleX(1); }
.v53-header-actions { display: flex; align-items: center; gap: 10px; margin-left: 4px; }
.v53-search { display: flex; align-items: center; width: 155px; border-bottom: 1px solid var(--v53-color-line); }
.v53-search input { width: 100%; min-width: 0; padding: 8px 4px; border: 0; outline: 0; background: transparent; color: var(--v53-color-ink); font-size: 14px; }
.v53-search input::placeholder { color: var(--v53-color-muted); }
.v53-search button { width: 30px; border: 0; background: transparent; color: var(--v53-color-accent); font-size: 22px; line-height: 1; }
.v53-icon-action, .v53-account-action { display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; background: transparent; color: var(--v53-color-ink); }
.v53-icon-action { position: relative; width: 34px; height: 34px; font-size: 19px; }
.v53-icon-action:hover, .v53-icon-action:focus-visible { border-color: var(--v53-color-line); background: rgba(255,255,255,.58); }
.v53-cart-action span { position: absolute; top: -3px; right: -3px; display: grid; width: 16px; height: 16px; place-items: center; border-radius: 50%; background: var(--v53-color-accent); color: #fff; font-size: 10px; line-height: 1; }
.v53-account-action { padding: 8px 0 8px 7px; color: var(--v53-color-accent); font-size: 13px; white-space: nowrap; }
.v53-mobile-toggle { display: none; width: 42px; height: 38px; padding: 8px; border: 1px solid var(--v53-color-line); background: transparent; }
.v53-mobile-toggle span { display: block; width: 100%; height: 1px; margin: 5px 0; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.v53-mobile-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.v53-mobile-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.v53-mobile-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.v53-mobile-menu { display: none; border-top: 1px solid var(--v53-color-line); background: var(--v53-color-surface); }
.v53-mobile-menu a { display: block; padding: 13px 32px; border-bottom: 1px solid rgba(71, 52, 38, .10); }

/* Hero */
.v53-hero { position: relative; min-height: min(710px, calc(100vh - 78px)); overflow: hidden; background: linear-gradient(120deg, #f8f3e9 0%, #efe1d1 54%, #d7b79b 100%); }
.v53-hero-backdrop { position: absolute; inset: 0; pointer-events: none; }
.v53-hero-backdrop::before, .v53-hero-backdrop::after { position: absolute; border: 1px solid rgba(168, 96, 45, .18); border-radius: 50%; content: ""; }
.v53-hero-backdrop::before { width: 78vw; height: 78vw; top: -42vw; right: -10vw; }
.v53-hero-backdrop::after { width: 53vw; height: 53vw; top: -19vw; right: 5vw; }
.v53-hero-backdrop span { position: absolute; top: 14%; right: 8%; width: 27vw; height: 27vw; border-radius: 50%; background: radial-gradient(circle at 40% 37%, rgba(255,255,255,.88), rgba(210,148,88,.5) 21%, rgba(125,73,33,.16) 50%, transparent 71%); filter: blur(3px); animation: v53-float 9s ease-in-out infinite; }
.v53-hero-backdrop i { position: absolute; right: 39%; bottom: 8%; width: 1px; height: 55%; background: linear-gradient(transparent, rgba(168,96,45,.45), transparent); transform: rotate(24deg); }
.v53-hero-backdrop b { position: absolute; bottom: -16%; left: 24%; width: 66vw; height: 32vw; border: 1px solid rgba(168,96,45,.12); border-radius: 50%; transform: rotate(-9deg); }
.v53-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); align-items: center; gap: 7vw; min-height: min(710px, calc(100vh - 78px)); padding-top: 64px; padding-bottom: 64px; }
.v53-hero-copy { max-width: 590px; }
.v53-hero h1 { margin: 18px 0 22px; font-family: var(--v53-font-serif); font-size: clamp(48px, 7vw, 92px); font-weight: 400; line-height: 1.03; letter-spacing: -.07em; }
.v53-hero-lead { max-width: 510px; margin: 0; color: var(--v53-color-muted); font-size: 17px; line-height: 1.95; }
.v53-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 23px; margin-top: 32px; }
.v53-button { display: inline-flex; align-items: center; justify-content: center; gap: 30px; min-height: 48px; padding: 10px 18px 10px 23px; border: 1px solid transparent; font-size: 14px; letter-spacing: .04em; transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.v53-button span, .v53-text-link span, .v53-heading-link span { font-size: 18px; }
.v53-button:hover, .v53-button:focus-visible { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(80, 46, 20, .15); }
.v53-button-dark { background: var(--v53-color-dark); color: #fff !important; }
.v53-button-dark:hover, .v53-button-dark:focus-visible { background: var(--v53-color-accent); }
.v53-button-light { border-color: rgba(255,255,255,.48); color: #fff !important; }
.v53-button-light:hover, .v53-button-light:focus-visible { background: #fff; color: var(--v53-color-dark) !important; }
.v53-text-link, .v53-heading-link { display: inline-flex; align-items: center; gap: 9px; color: var(--v53-color-accent); font-size: 14px; }
.v53-text-link:hover, .v53-heading-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.v53-hero-note { display: flex; align-items: center; gap: 9px; margin-top: 44px; color: var(--v53-color-muted); font-size: 13px; }
.v53-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #679b6f; box-shadow: 0 0 0 5px rgba(103,155,111,.14); }
.v53-hero-product { position: relative; min-height: 500px; }
.v53-hero-image-wrap { position: absolute; top: 50%; right: 8%; width: min(440px, 62%); aspect-ratio: 1; overflow: hidden; transform: translateY(-50%) rotate(4deg); box-shadow: 20px 26px 50px rgba(76,43,20,.2); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.v53-hero-image-wrap::after { position: absolute; inset: 0; border: 12px solid rgba(255,255,255,.22); content: ""; pointer-events: none; }
.v53-hero-image-wrap img { display: block; width: 100%; height: 100%; object-fit: cover; }
.v53-hero-product:hover .v53-hero-image-wrap { transform: translateY(-50%) rotate(0deg) scale(1.025); }
.v53-orbit { position: absolute; border: 1px solid rgba(168,96,45,.45); border-radius: 50%; transform: rotate(-22deg); }
.v53-orbit-a { top: 18%; right: -7%; width: 75%; height: 31%; }
.v53-orbit-b { top: 35%; right: -20%; width: 112%; height: 43%; border-color: rgba(255,255,255,.65); }
.v53-hero-product-card { position: absolute; z-index: 2; right: 0; bottom: 9%; display: grid; gap: 2px; width: 190px; padding: 16px; border: 1px solid rgba(108,67,36,.36); background: rgba(255,253,248,.78); backdrop-filter: blur(12px); box-shadow: var(--v53-shadow); }
.v53-hero-product-card span, .v53-hero-product-card small { color: var(--v53-color-muted); font-size: 11px; }
.v53-hero-product-card strong { font-family: var(--v53-font-serif); font-size: 25px; font-weight: 500; }
.v53-hero-product-stamp { position: absolute; top: 6%; left: 4%; color: rgba(111,67,38,.6); font-size: 11px; font-weight: 700; letter-spacing: .22em; line-height: 1.7; }
.v53-hero-scroll { position: absolute; right: 32px; bottom: 28px; display: flex; align-items: center; gap: 12px; color: var(--v53-color-muted); font-size: 11px; letter-spacing: .12em; writing-mode: vertical-rl; }
.v53-hero-scroll i { display: block; width: 1px; height: 56px; background: var(--v53-color-accent); }

/* Home content */
.v53-intro-strip { border-bottom: 1px solid var(--v53-color-line); background: var(--v53-color-surface); }
.v53-intro-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding: 25px 0; }
.v53-intro-grid p { display: grid; grid-template-columns: max-content 1fr; align-items: baseline; gap: 12px; margin: 0; }
.v53-intro-grid strong { font-family: var(--v53-font-serif); font-size: 17px; font-weight: 600; }
.v53-intro-grid span { color: var(--v53-color-muted); font-size: 13px; }
.v53-section { padding: 112px 0; }
.v53-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 46px; }
.v53-heading-link { margin-bottom: 9px; }
.v53-heading-meta { display: grid; gap: 8px; justify-items: end; margin-bottom: 8px; color: var(--v53-color-muted); font-size: 13px; }
.v53-heading-meta a { color: var(--v53-color-accent); }
.v53-category-section { background: #ede4d8; }
.v53-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.v53-category-card { position: relative; display: flex; min-height: 260px; flex-direction: column; justify-content: space-between; padding: 22px; overflow: hidden; border: 1px solid var(--v53-color-line); background: var(--v53-color-surface); transition: transform .25s ease, box-shadow .25s ease, color .25s ease; }
.v53-category-card::before { position: absolute; right: -20%; bottom: -36%; width: 78%; height: 78%; border: 1px solid rgba(168,96,45,.25); border-radius: 50%; content: ""; transition: transform .35s ease; }
.v53-category-card:hover, .v53-category-card:focus-visible { color: #fff; transform: translateY(-6px); box-shadow: var(--v53-shadow); }
.v53-category-card:hover::before, .v53-category-card:focus-visible::before { transform: scale(1.22); }
.v53-category-kitchen:hover, .v53-category-kitchen:focus-visible { background: linear-gradient(145deg, #7b482d, #3e2b23); }
.v53-category-air:hover, .v53-category-air:focus-visible { background: linear-gradient(145deg, #668077, #263c39); }
.v53-category-tea:hover, .v53-category-tea:focus-visible { background: linear-gradient(145deg, #a2743a, #4b3422); }
.v53-category-curation:hover, .v53-category-curation:focus-visible { background: linear-gradient(145deg, #76635b, #2f2724); }
.v53-category-index { color: var(--v53-color-accent); font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.v53-category-card:hover .v53-category-index, .v53-category-card:focus-visible .v53-category-index { color: #f6c38c; }
.v53-category-card h3 { margin: 0 0 8px; font-family: var(--v53-font-serif); font-size: 30px; font-weight: 500; line-height: 1.1; }
.v53-category-card p { max-width: 190px; margin: 0; color: var(--v53-color-muted); font-size: 14px; line-height: 1.7; }
.v53-category-card:hover p, .v53-category-card:focus-visible p { color: rgba(255,255,255,.78); }
.v53-category-arrow { align-self: end; color: var(--v53-color-accent); font-size: 24px; }
.v53-category-card:hover .v53-category-arrow, .v53-category-card:focus-visible .v53-category-arrow { color: #fff; }
.v53-products-section { background: var(--v53-color-bg); }
.v53-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 19px; }
.v53-product-card { min-width: 0; background: var(--v53-color-surface); border: 1px solid var(--v53-color-line); transition: transform .25s ease, box-shadow .25s ease; }
.v53-product-card:hover, .v53-product-card:focus-within { transform: translateY(-5px); box-shadow: var(--v53-shadow); }
.v53-product-media { position: relative; display: block; aspect-ratio: 1 / .91; overflow: hidden; background: #eee5da; }
.v53-product-media::after { position: absolute; inset: 0; background: linear-gradient(120deg, transparent 40%, rgba(255,255,255,.35), transparent 63%); content: ""; transform: translateX(-120%); transition: transform .55s ease; }
.v53-product-card:hover .v53-product-media::after { transform: translateX(120%); }
.v53-product-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.v53-product-card:hover .v53-product-media img { transform: scale(1.04); }
.v53-product-media > span { position: absolute; top: 12px; left: 12px; padding: 3px 8px; background: rgba(255,253,248,.88); color: var(--v53-color-accent); font-size: 11px; letter-spacing: .08em; }
.v53-product-info { padding: 17px 17px 15px; }
.v53-product-info p { margin: 0 0 6px; color: var(--v53-color-muted); font-size: 12px; }
.v53-product-info h3 { min-height: 30px; margin: 0; font-family: var(--v53-font-serif); font-size: 22px; font-weight: 500; line-height: 1.35; }
.v53-product-info h3 a:hover { color: var(--v53-color-accent); }
.v53-product-info > div { display: flex; align-items: center; justify-content: space-between; margin-top: 13px; }
.v53-product-info strong { color: var(--v53-color-accent); font-size: 21px; font-weight: 600; }
.v53-product-more { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid var(--v53-color-line); border-radius: 50%; color: var(--v53-color-accent); font-size: 18px; transition: background .2s ease, color .2s ease; }
.v53-product-more:hover, .v53-product-more:focus-visible { background: var(--v53-color-accent); color: #fff; }
.v53-product-footer { display: flex; justify-content: space-between; gap: 18px; margin-top: 23px; padding-top: 16px; border-top: 1px solid var(--v53-color-line); color: var(--v53-color-muted); font-size: 13px; }
.v53-product-footer a { color: var(--v53-color-accent); }
.v53-service-band { padding: 92px 0; background: #332921; color: #fff; }
.v53-service-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 9vw; }
.v53-service-band .v53-eyebrow { color: #e1ab73; }
.v53-service-band h2 { color: #fffaf0; }
.v53-service-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; padding-top: 8px; }
.v53-service-items div { padding-left: 15px; border-left: 1px solid rgba(255,255,255,.26); }
.v53-service-items span { color: #dda870; font-size: 12px; }
.v53-service-items strong { display: block; margin-top: 17px; color: #fff; font-family: var(--v53-font-serif); font-size: 21px; font-weight: 500; }
.v53-service-items p { margin: 7px 0 0; color: rgba(255,255,255,.66); font-size: 14px; line-height: 1.7; }
.v53-merchant-cta { padding: 82px 0 96px; background: var(--v53-color-bg); }
.v53-merchant-card { display: flex; align-items: end; justify-content: space-between; gap: 50px; padding: 58px clamp(25px, 7vw, 90px); background: linear-gradient(120deg, #4b3023, #271e19); color: #fff; box-shadow: var(--v53-shadow); }
.v53-merchant-card .v53-eyebrow { color: #e4b078; }
.v53-merchant-card h2 { color: #fff; }
.v53-merchant-card > div > p:last-child { max-width: 590px; margin: 24px 0 0; color: rgba(255,255,255,.75); font-size: 16px; }
.v53-footer { padding: 62px 0 26px; border-top: 1px solid var(--v53-color-line); background: #e9dfd1; }
.v53-footer-grid { display: grid; grid-template-columns: 1.65fr repeat(3, 1fr); gap: 40px; }
.v53-footer-grid > div:first-child > p { max-width: 285px; margin: 21px 0 0; color: var(--v53-color-muted); font-size: 14px; }
.v53-footer-grid > div:not(:first-child) { display: grid; align-content: start; gap: 8px; }
.v53-footer-label { margin-bottom: 7px; color: var(--v53-color-muted); font-size: 12px; }
.v53-footer-grid a:not(.v53-brand) { width: max-content; color: var(--v53-color-ink); font-size: 14px; }
.v53-footer-grid a:not(.v53-brand):hover { color: var(--v53-color-accent); }
.v53-footer-grid p { margin: 0; color: var(--v53-color-muted); font-size: 14px; }
.v53-footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 55px; padding-top: 17px; border-top: 1px solid var(--v53-color-line); color: var(--v53-color-muted); font-size: 12px; }
.v53-toast { position: fixed; z-index: 60; right: 20px; bottom: 20px; max-width: min(360px, calc(100% - 40px)); padding: 13px 17px; background: var(--v53-color-dark); color: #fff; box-shadow: var(--v53-shadow); font-size: 14px; }
.v53-toast[hidden] { display: none; }
.v53-reveal { opacity: 1; transform: none; }
.v53-reveal.v53-reveal-pending { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.v53-reveal.v53-reveal-pending.is-visible { opacity: 1; transform: none; }

/* Light/dark theme choice follows the system until the user toggles it. */
html[data-v53-theme="dark"] { --v53-color-bg: #1c1713; --v53-color-surface: #272019; --v53-color-surface-soft: #35271f; --v53-color-ink: #f3eadd; --v53-color-muted: #c3b5a6; --v53-color-line: rgba(235, 207, 175, .22); --v53-color-dark: #f0d0a3; --v53-color-dark-2: #5a4030; --v53-shadow: 0 18px 60px rgba(0, 0, 0, .28); }
html[data-v53-theme="dark"] body.v53-page { background: var(--v53-color-bg); }
html[data-v53-theme="dark"] .v53-site-header { background: rgba(28, 23, 19, .94); }
html[data-v53-theme="dark"] .v53-brand-mark { background: linear-gradient(145deg, #49372b, #201913); }
html[data-v53-theme="dark"] .v53-brand-mark img { filter: saturate(.75) brightness(1.6); }
html[data-v53-theme="dark"] .v53-hero { background: linear-gradient(120deg, #1e1915, #3d2c22 57%, #684a34); }
html[data-v53-theme="dark"] .v53-hero-lead, html[data-v53-theme="dark"] .v53-intro-grid span, html[data-v53-theme="dark"] .v53-category-card p { color: #d2c4b6; }
html[data-v53-theme="dark"] .v53-intro-strip, html[data-v53-theme="dark"] .v53-product-card, html[data-v53-theme="dark"] .v53-mobile-menu { background: var(--v53-color-surface); }
html[data-v53-theme="dark"] .v53-category-section { background: #2b211b; }
html[data-v53-theme="dark"] .v53-footer { background: #281e18; }
html[data-v53-theme="dark"] .v53-footer-grid > div:first-child > p, html[data-v53-theme="dark"] .v53-footer-grid p { color: #c3b5a6; }
html[data-v53-theme="dark"] .v53-footer-grid a:not(.v53-brand) { color: #f3eadd; }
html[data-v53-theme="dark"] .v53-button-dark { background: #f0d0a3; color: #271c15 !important; }
html[data-v53-theme="dark"] .v53-button-dark:hover, html[data-v53-theme="dark"] .v53-button-dark:focus-visible { background: #fff2d9; }
html[data-v53-theme="dark"] .v53-hero-product-card { background: rgba(38, 30, 24, .8); }

/* Existing commerce/auth surfaces keep working under the new site palette. */
body:not(.v53-page) { background: #f7f3eb; color: #2e2822; font-family: var(--v53-font-sans); }
body:not(.v53-page) .site-shell { background: #f7f3eb; }
body:not(.v53-page) .topbar { border-bottom: 1px solid rgba(71,52,38,.18); background: rgba(247,243,235,.94); color: #2e2822; }
body:not(.v53-page) .brand, body:not(.v53-page) .brand-wordmark, body:not(.v53-page) .brand-submark, body:not(.v53-page) .nav-links a { color: #2e2822; }
body:not(.v53-page) .nav-links a:hover, body:not(.v53-page) .nav-links a.active { color: #a8602d; }
body:not(.v53-page) .button-primary, body:not(.v53-page) .request-access, body:not(.v53-page) .concierge-primary { background: #2e2822; color: #fff !important; }
body:not(.v53-page) .button-primary:hover, body:not(.v53-page) .request-access:hover { background: #a8602d; }
body:not(.v53-page) .section-label, body:not(.v53-page) .eyebrow, body:not(.v53-page) .product-hero .eyebrow { color: #a8602d; }
body:not(.v53-page) .product-hero, body:not(.v53-page) .account-hero, body:not(.v53-page) .about-hero-section, body:not(.v53-page) .sub-hero { background: #ede4d8; color: #2e2822; }
body:not(.v53-page) .product-card, body:not(.v53-page) .panel, body:not(.v53-page) .account-identity-card, body:not(.v53-page) .account-quick-card, body:not(.v53-page) .login-card, body:not(.v53-page) .site-login-card { border-color: rgba(71,52,38,.18); background: #fffdf8; color: #2e2822; box-shadow: 0 14px 44px rgba(66,41,22,.08); }
body:not(.v53-page) .product-card h3, body:not(.v53-page) .product-card strong, body:not(.v53-page) h1, body:not(.v53-page) h2, body:not(.v53-page) h3 { color: #2e2822; }
body:not(.v53-page) .product-card p, body:not(.v53-page) .product-card small, body:not(.v53-page) .section-note, body:not(.v53-page) .account-hero p { color: #746b61; }
body:not(.v53-page) .footer { border-top-color: rgba(71,52,38,.18); background: #e9dfd1; color: #2e2822; }
body:not(.v53-page) .mobile-nav-toggle { border-color: rgba(71,52,38,.18); color: #2e2822; }
body:not(.v53-page) input, body:not(.v53-page) textarea, body:not(.v53-page) select { border-color: rgba(71,52,38,.24); background: #fffdf8; color: #2e2822; }
body:not(.v53-page) :focus-visible, body.v53-page :focus-visible { outline: 3px solid rgba(168,96,45,.52); outline-offset: 3px; }

@keyframes v53-float { 0%, 100% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(-12px, 14px, 0) scale(1.03); } }

@media (min-width: 1280px) {
  .v53-container, .v53-header-inner { width: min(calc(100% - 96px), var(--v53-container)); }
  .v53-hero h1 { font-size: 92px; }
  .v53-product-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }
  .v53-category-grid { gap: 20px; }
}

@media (max-width: 1100px) {
  .v53-header-inner { gap: 16px; }
  .v53-desktop-nav { gap: 18px; }
  .v53-search { width: 125px; }
  .v53-account-action { display: none; }
  .v53-hero-grid { gap: 30px; grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr); }
  .v53-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .v53-container { width: min(calc(100% - 40px), var(--v53-container)); }
  .v53-header-inner { width: calc(100% - 40px); min-height: 68px; }
  .v53-brand-copy strong { font-size: 18px; }
  .v53-brand-copy small { font-size: 9px; }
  .v53-brand-mark { width: 36px; height: 36px; }
  .v53-brand-mark img { width: 25px; height: 25px; }
  .v53-desktop-nav, .v53-search { display: none; }
  .v53-header-actions { margin-left: auto; }
  .v53-mobile-toggle { display: block; }
  .v53-mobile-menu[data-v53-open="true"] { display: block; }
  .v53-mobile-menu[hidden] { display: none; }
  .v53-hero { min-height: auto; }
  .v53-hero-grid { display: flex; min-height: auto; flex-direction: column; align-items: stretch; gap: 16px; padding-top: 68px; padding-bottom: 90px; }
  .v53-hero h1 { font-size: clamp(48px, 15vw, 70px); }
  .v53-hero-lead { font-size: 16px; }
  .v53-hero-note { margin-top: 30px; font-size: 12px; }
  .v53-hero-product { min-height: 330px; margin-top: 6px; }
  .v53-hero-image-wrap { right: 7%; width: 72%; }
  .v53-hero-product-card { right: 0; bottom: 2%; width: 170px; }
  .v53-hero-product-stamp { top: 2%; left: 0; }
  .v53-hero-scroll { display: none; }
  .v53-intro-grid { grid-template-columns: 1fr; gap: 0; padding: 0; }
  .v53-intro-grid p { padding: 16px 0; border-bottom: 1px solid var(--v53-color-line); }
  .v53-section { padding: 70px 0; }
  .v53-section-heading { align-items: start; flex-direction: column; gap: 16px; margin-bottom: 28px; }
  .v53-section-heading h2, .v53-service-band h2, .v53-merchant-card h2 { font-size: 39px; }
  .v53-heading-meta { justify-items: start; }
  .v53-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .v53-category-card { min-height: 210px; padding: 16px; }
  .v53-category-card h3 { font-size: 25px; }
  .v53-category-card p { font-size: 13px; }
  .v53-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .v53-product-info { padding: 12px; }
  .v53-product-info h3 { min-height: 50px; font-size: 18px; }
  .v53-product-info strong { font-size: 18px; }
  .v53-product-footer { align-items: flex-start; flex-direction: column; gap: 8px; font-size: 12px; }
  .v53-service-band { padding: 68px 0; }
  .v53-service-grid { display: block; }
  .v53-service-items { grid-template-columns: 1fr; gap: 20px; margin-top: 36px; }
  .v53-service-items div { padding: 0 0 0 14px; }
  .v53-merchant-cta { padding: 50px 0 70px; }
  .v53-merchant-card { align-items: flex-start; flex-direction: column; gap: 30px; padding: 35px 24px; }
  .v53-merchant-card > div > p:last-child { font-size: 15px; }
  .v53-footer { padding-top: 45px; }
  .v53-footer-grid { grid-template-columns: repeat(2, 1fr); gap: 30px 18px; }
  .v53-footer-grid > div:first-child { grid-column: 1 / -1; }
  .v53-footer-bottom { align-items: flex-start; flex-direction: column; gap: 5px; margin-top: 35px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .v53-reveal.v53-reveal-pending { opacity: 1; transform: none; }
}
/* v54 guest checkout: same direct-payment contract as service product pages. */
[data-v54-guest-checkout] { margin: 32px auto 0; }
.v54-checkout-panel { display:grid; grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr); gap:clamp(24px,5vw,84px); padding:clamp(24px,4vw,54px); border:1px solid var(--v53-color-line); background:linear-gradient(135deg, rgba(255,255,255,.76), rgba(246,239,229,.86)); box-shadow:var(--v53-shadow); }
html[data-v53-theme="dark"] .v54-checkout-panel { background:linear-gradient(135deg, rgba(35,30,25,.95), rgba(24,28,28,.96)); }
.v54-checkout-heading h2 { margin:16px 0 14px; font-family:var(--v53-font-serif); font-size:clamp(36px,5vw,62px); font-weight:400; line-height:1.04; letter-spacing:-.05em; }
.v54-checkout-heading h2 em { color:var(--v53-color-accent); font-style:normal; }
.v54-checkout-heading p { max-width:31em; margin:0; color:var(--v53-color-muted); font-size:15px; line-height:1.9; }
.v54-checkout-form { display:grid; gap:16px; align-content:start; }
.v54-order-selected { display:grid; grid-template-columns:1fr auto; gap:4px 16px; padding:16px 18px; border:1px solid var(--v53-color-line); background:rgba(255,255,255,.5); }
html[data-v53-theme="dark"] .v54-order-selected { background:rgba(255,255,255,.06); }
.v54-order-selected span { grid-column:1/-1; color:var(--v53-color-muted); font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.v54-order-selected strong { font-family:var(--v53-font-serif); font-size:25px; font-weight:400; }
.v54-order-selected b { align-self:end; color:var(--v53-color-accent); font-size:20px; }
.v54-checkout-form label { display:grid; gap:8px; color:var(--v53-color-ink); font-size:14px; }
.v54-checkout-form label > span { font-weight:600; }
.v54-checkout-form input[type="email"], .v54-checkout-form textarea { width:100%; border:1px solid var(--v53-color-line); border-radius:0; background:var(--v53-color-surface); color:var(--v53-color-ink); padding:13px 14px; font:inherit; outline:none; }
.v54-checkout-form textarea { min-height:84px; resize:vertical; }
.v54-checkout-form input:focus, .v54-checkout-form textarea:focus { border-color:var(--v53-color-accent); box-shadow:0 0 0 3px rgba(177,103,44,.12); }
.v54-checkout-form [data-v54-guest-email-field][hidden] { display:none; }
.v54-payment-methods { display:grid; gap:8px; margin:0; padding:0; border:0; }
.v54-payment-methods legend { margin-bottom:6px; color:var(--v53-color-ink); font-size:14px; font-weight:600; }
.v54-payment-method { display:flex !important; grid-template-columns:none !important; align-items:center; gap:10px !important; padding:13px 14px; border:1px solid var(--v53-color-line); background:var(--v53-color-surface); cursor:pointer; }
.v54-payment-method input { accent-color:var(--v53-color-accent); }
.v54-payment-method small { margin-left:auto; color:var(--v53-color-muted); }
.v54-checkout-submit { width:100%; border:1px solid var(--v53-color-ink); background:var(--v53-color-ink); color:var(--v53-color-surface); padding:15px 18px; font:inherit; font-weight:700; cursor:pointer; transition:transform .2s ease, opacity .2s ease, background .2s ease; }
.v54-checkout-submit:hover { transform:translateY(-2px); background:var(--v53-color-accent); border-color:var(--v53-color-accent); }
.v54-checkout-submit:disabled { cursor:wait; opacity:.55; transform:none; }
.v54-checkout-hint { color:var(--v53-color-muted); font-size:12px; line-height:1.7; }
.v54-checkout-status { display:grid; gap:7px; padding:15px 16px; border-left:3px solid var(--v53-color-accent); background:rgba(177,103,44,.09); color:var(--v53-color-ink); line-height:1.65; }
.v54-checkout-status strong { font-family:var(--v53-font-serif); font-size:22px; font-weight:400; }
.v54-checkout-status.is-success { border-left-color:#4e9b71; background:rgba(78,155,113,.12); }
.v54-checkout-status.is-error { border-left-color:#b14d3c; background:rgba(177,77,60,.1); }
.v54-checkout-status a { color:var(--v53-color-accent); font-weight:700; }
@media (max-width:767px) { .v54-checkout-panel { grid-template-columns:1fr; gap:28px; padding:22px 18px; } .v54-checkout-heading h2 { font-size:44px; } .v54-payment-method small { display:none; } }

/* v54 homepage refresh: product-led category cards with a lighter, fresher rhythm. */
body.v53-storefront .v53-hero { background: linear-gradient(118deg, #f8fbf6 0%, #e7f1eb 56%, #d7e9e1 100%); }
body.v53-storefront .v53-hero-backdrop::before, body.v53-storefront .v53-hero-backdrop::after { border-color: rgba(61, 125, 107, .19); }
body.v53-storefront .v53-hero-backdrop span { background: radial-gradient(circle at 40% 37%, rgba(255,255,255,.92), rgba(164,211,193,.56) 23%, rgba(65,128,108,.14) 52%, transparent 72%); }
body.v53-storefront .v53-hero-backdrop i, body.v53-storefront .v53-hero-backdrop b { background-color: transparent; border-color: rgba(61,125,107,.14); }
body.v53-storefront .v53-category-section { background: #edf5ef; }
body.v53-storefront .v53-products-section { background: #f8faf6; }
body.v53-storefront .v53-product-media { background: #edf4ef; }
body.v53-storefront .v53-service-band { background: linear-gradient(135deg, #2e5148, #244039); }
body.v53-storefront .v53-merchant-card { background: linear-gradient(120deg, #3a6055, #244039); }
body.v53-storefront .v53-footer { background: #e6f0ea; }
.v53-category-card { min-height: 322px; padding: 22px; background: rgba(255,255,255,.86); }
.v53-category-card > div:not(.v53-category-card-visual) { position: relative; z-index: 2; max-width: 64%; margin-top: 26px; }
.v53-category-card-visual { position: absolute; z-index: 1; right: 0; bottom: 0; display: block; width: 57%; height: 58%; overflow: hidden; border-top-left-radius: 78% 34%; background: #e2ece6; }
.v53-category-card-visual::after { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.2), transparent 38%, rgba(33,50,47,.12)); content: ""; pointer-events: none; }
.v53-category-card-visual img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .9; mix-blend-mode: multiply; transition: transform .45s ease, opacity .35s ease; }
.v53-category-card:hover .v53-category-card-visual img, .v53-category-card:focus-visible .v53-category-card-visual img { opacity: 1; transform: scale(1.07); mix-blend-mode: normal; }
.v53-category-card:hover .v53-category-card-visual::after, .v53-category-card:focus-visible .v53-category-card-visual::after { background: linear-gradient(135deg, rgba(255,255,255,.1), transparent 38%, rgba(16,34,30,.2)); }
.v53-category-card .v53-category-arrow { position: relative; z-index: 3; }
@media (max-width: 767px) {
  .v53-category-card { min-height: 270px; padding: 17px; }
  .v53-category-card > div:not(.v53-category-card-visual) { max-width: 66%; margin-top: 16px; }
  .v53-category-card-visual { width: 58%; height: 55%; }
}

/* v54 unified secondary-page layer: keep existing interactions, align every secondary surface with the fresh storefront. */
body.v54-unified-page {
  --ink: #21322f;
  --ink-2: #39574f;
  --muted: #66736f;
  --line: rgba(42, 67, 61, .16);
  --canvas: #f6f8f3;
  --paper: #fffdf8;
  --violet: #b56837;
  --violet-2: #f3e7da;
  --mint: #6a9f86;
  --mint-2: #e8f2ec;
  --amber: #c48645;
  --shadow: 0 18px 50px rgba(45, 75, 65, .12);
  background: var(--canvas);
  color: var(--ink);
}
body.v54-unified-page .site-shell,
body.v54-unified-page .site-login-shell { background: var(--canvas); }
body.v54-unified-page .topbar {
  min-height: 78px;
  height: auto;
  padding: 0 max(5%, calc((100% - 1360px) / 2));
  border-bottom-color: var(--line);
  background: rgba(255, 253, 248, .94) !important;
  color: var(--ink) !important;
  box-shadow: 0 8px 24px rgba(45, 75, 65, .05);
}
body.v54-unified-page .brand,
body.v54-unified-page .brand-wordmark,
body.v54-unified-page .brand > span:last-child { color: var(--ink) !important; }
body.v54-unified-page .brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(181, 104, 55, .24);
  border-radius: 13px;
  background: linear-gradient(145deg, #fffdf8, #e6f0ea);
  box-shadow: inset 0 1px #fff, 0 7px 18px rgba(45, 75, 65, .10);
}
body.v54-unified-page .brand-mark img { width: 30px; height: 30px; object-fit: contain; }
body.v54-unified-page .brand-wordmark,
body.v54-unified-page .brand > span:last-child {
  font-family: var(--v53-font-serif);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: .04em;
}
body.v54-unified-page .brand-submark {
  margin-left: 2px;
  padding-left: 12px;
  border-left: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  letter-spacing: .12em;
}
body.v54-unified-page .nav-links { gap: clamp(18px, 2.2vw, 34px); color: var(--muted); }
body.v54-unified-page .nav-links a {
  position: relative;
  padding: 29px 0;
  color: var(--muted);
  font-size: 14px;
  white-space: nowrap;
  transition: color .2s ease;
}
body.v54-unified-page .nav-links a::after {
  position: absolute;
  right: 0;
  bottom: 20px;
  left: 0;
  height: 1px;
  background: var(--violet);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
body.v54-unified-page .nav-links a:hover,
body.v54-unified-page .nav-links a.active { color: var(--ink); }
body.v54-unified-page .nav-links a:hover::after,
body.v54-unified-page .nav-links a.active::after { transform: scaleX(1); }
body.v54-unified-page .button-primary {
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--ink);
  color: #fff !important;
  box-shadow: none;
}
body.v54-unified-page .button-primary:hover { background: var(--violet); border-color: var(--violet); }
body.v54-unified-page .button-light {
  border: 1px solid rgba(181, 104, 55, .28);
  border-radius: 0;
  background: var(--paper);
  color: var(--violet) !important;
}
body.v54-unified-page .button-light:hover { background: var(--violet-2); }
body.v54-unified-page .section-label,
body.v54-unified-page .eyebrow,
body.v54-unified-page .breadcrumb { color: var(--violet); }
body.v54-unified-page .section,
body.v54-unified-page .product-detail-introduction,
body.v54-unified-page .product-order-section { background: transparent; }
body.v54-unified-page .sub-hero,
body.v54-unified-page .product-detail-hero,
body.v54-unified-page .product-hero,
body.v54-unified-page .account-hero,
body.v54-unified-page .about-hero-section {
  background: linear-gradient(118deg, #f8fbf6 0%, #e7f1eb 56%, #d7e9e1 100%);
  color: var(--ink);
}
body.v54-unified-page .sub-hero { color: var(--ink); }
body.v54-unified-page .sub-hero p,
body.v54-unified-page .product-hero p,
body.v54-unified-page .account-hero p { color: var(--muted); }
body.v54-unified-page .product-card,
body.v54-unified-page .panel,
body.v54-unified-page .catalog-card,
body.v54-unified-page .account-identity-card,
body.v54-unified-page .account-quick-card,
body.v54-unified-page .login-card,
body.v54-unified-page .site-login-card,
body.v54-unified-page .store-hero,
body.v54-unified-page .dash-panel,
body.v54-unified-page .side-panel {
  border-color: var(--line);
  border-radius: 2px;
  background: var(--paper);
  color: var(--ink);
  box-shadow: var(--shadow);
}
body.v54-unified-page .product-card h3,
body.v54-unified-page .catalog-card h3,
body.v54-unified-page .account-identity-card strong,
body.v54-unified-page .account-quick-card strong,
body.v54-unified-page .site-login-card h2,
body.v54-unified-page .store-hero h2,
body.v54-unified-page .dash-panel h2,
body.v54-unified-page .side-panel h3 { color: var(--ink); }
body.v54-unified-page .product-card p,
body.v54-unified-page .catalog-card p,
body.v54-unified-page .section-note,
body.v54-unified-page .account-hero p,
body.v54-unified-page .account-quick-card span,
body.v54-unified-page .store-hero p { color: var(--muted); }
body.v54-unified-page .product-card:hover,
body.v54-unified-page .catalog-card:hover,
body.v54-unified-page .account-quick-card:hover { transform: translateY(-4px); box-shadow: 0 22px 56px rgba(45, 75, 65, .16); }
body.v54-unified-page .product-tag,
body.v54-unified-page .pill,
body.v54-unified-page .status.published { background: var(--mint-2); color: #36735b; }
body.v54-unified-page .filter,
body.v54-unified-page .market-filter,
body.v54-unified-page .tiny-button { border-color: var(--line); border-radius: 0; background: var(--paper); color: var(--muted); }
body.v54-unified-page .filter.active,
body.v54-unified-page .market-filter[aria-pressed="true"],
body.v54-unified-page .market-filter:hover,
body.v54-unified-page .tiny-button.violet { border-color: var(--violet); background: var(--violet); color: #fff; }
body.v54-unified-page .join-card.mint { border: 1px solid var(--line); border-radius: 2px; background: #edf5ef; color: var(--ink); }
body.v54-unified-page .join-card.mint p { color: var(--muted); }
body.v54-unified-page .join-card.mint a { color: var(--violet); }
body.v54-unified-page .footer {
  margin-top: 74px;
  border-top-color: var(--line);
  background: #e6f0ea !important;
  color: var(--muted) !important;
}
html[data-theme="dark"] body.v54-unified-page .topbar { background: rgba(39, 31, 25, .94) !important; }
html[data-theme="dark"] body.v54-unified-page .brand,
html[data-theme="dark"] body.v54-unified-page .brand-wordmark,
html[data-theme="dark"] body.v54-unified-page .brand > span:last-child { color: #f3eadd !important; }
html[data-theme="dark"] body.v54-unified-page .footer { background: #281e18 !important; color: #c3b5a6 !important; }
body.v54-unified-page input,
body.v54-unified-page textarea,
body.v54-unified-page select { border-color: var(--line); border-radius: 0; background: var(--paper); color: var(--ink); }
body.v54-unified-page input:focus,
body.v54-unified-page textarea:focus,
body.v54-unified-page select:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(181, 104, 55, .12); }

/* Merchant workspace follows the storefront palette without changing its data/operation layout. */
body.v54-unified-page .sidebar { background: var(--ink); color: #eef6f1; }
body.v54-unified-page .side-label { color: #a8c0b4; }
body.v54-unified-page .side-link { color: #d3e2da; border-radius: 0; }
body.v54-unified-page .side-link.active,
body.v54-unified-page .side-link:hover { background: #39574f; color: #fff; }
body.v54-unified-page .side-link span { background: #4b7466; }
body.v54-unified-page .dashboard-main { background: var(--canvas); }
body.v54-unified-page .dash-stat,
body.v54-unified-page .dashboard-settings { border-color: var(--line); border-radius: 2px; background: var(--paper); box-shadow: var(--shadow); }
body.v54-unified-page .dash-stat strong { color: var(--ink); }
body.v54-unified-page .dash-stat em { color: #4e9272; }
body.v54-unified-page .demo-pill { border-radius: 0; background: var(--mint-2); color: #36735b; }
body.v54-unified-page .profile-dot,
body.v54-unified-page .side-mark,
body.v54-unified-page .store-logo { background: linear-gradient(135deg, #b56837, #e1b276); }
body.v54-unified-page .h-dot { background: #6a9f86; box-shadow: 0 0 0 5px #e8f2ec; }

/* Login and payment return keep their meaning but use the same cream / mint visual language. */
body.site-login-page.v54-unified-page .site-login-topbar-meta { color: var(--muted); }
body.site-login-page.v54-unified-page .site-login-topbar-meta a { color: var(--violet); }
body.site-login-page.v54-unified-page .site-login-atmosphere { background: linear-gradient(145deg, #21322f, #315b50 62%, #487362); color: #fff; }
body.site-login-page.v54-unified-page .site-login-atmosphere .section-label { color: #e2b77f; }
body.site-login-page.v54-unified-page .site-login-atmosphere h1 { color: #fff !important; }
body.site-login-page.v54-unified-page .site-login-atmosphere h1 em { color: #efbf7d !important; }
body.site-login-page.v54-unified-page .site-login-atmosphere p,
body.site-login-page.v54-unified-page .site-login-atmosphere .login-atmosphere-points,
body.site-login-page.v54-unified-page .site-login-atmosphere .login-atmosphere-footer { color: rgba(255,255,255,.78) !important; }
body.site-login-page.v54-unified-page .site-login-card { box-shadow: none; }
body.v54-unified-page .payment-return-card { border-color: var(--line); background: linear-gradient(135deg, #edf5ef, #fffdf8); }
body.v54-unified-page .payment-return-card h1 { color: var(--ink); }
body.v54-unified-page .payment-return-card p,
body.v54-unified-page .payment-return-detail { color: var(--muted); }

.v54-unified-menu-toggle {
  display: none;
  width: 42px;
  height: 38px;
  padding: 8px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
}
.v54-unified-menu-toggle span { display: block; width: 100%; height: 1px; margin: 5px 0; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.v54-unified-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.v54-unified-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.v54-unified-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.v54-unified-mobile-menu { display: none; }
@media (max-width: 767px) {
  body.v54-unified-page .topbar { padding: 0 20px; }
  body.v54-unified-page .brand-wordmark,
  body.v54-unified-page .brand > span:last-child { font-size: 18px; }
  body.v54-unified-page .brand-submark { display: none; }
  body.v54-unified-page .nav-links { display: none; }
  body.v54-unified-page .v54-unified-menu-toggle { display: block; margin-left: 4px; }
  body.v54-unified-page .topbar:has(.v54-unified-menu-toggle) { position: relative; }
  body.v54-unified-page .v54-unified-mobile-menu[data-v54-open="true"] { position: absolute; z-index: 30; top: 100%; right: 0; left: 0; display: grid; border-top: 1px solid var(--line); background: var(--paper); box-shadow: 0 18px 30px rgba(45, 75, 65, .12); }
  body.v54-unified-page .v54-unified-mobile-menu a { padding: 14px 20px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 14px; }
  body.v54-unified-page .v54-unified-mobile-menu a.active { color: var(--violet); }
  body.v54-unified-page .footer { margin-top: 48px; }
  body.v54-unified-page .product-grid,
  body.v54-unified-page .catalog-grid,
  body.v54-unified-page .merchant-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.v54-unified-page .store-hero { padding: 20px; }
}
@media (max-width: 520px) {
  body.v54-unified-page .product-grid,
  body.v54-unified-page .catalog-grid,
  body.v54-unified-page .merchant-grid { grid-template-columns: 1fr; }
}

/* v55 secondary-page content alignment: every legacy route now reads as a mall route. */
.v54-about-container { width: min(calc(100% - 96px), 1360px); margin: 0 auto; }
.v54-about-page .topbar { border-bottom-color: rgba(55, 92, 78, .16); background: rgba(247, 250, 246, .94); }
.v54-about-hero { position: relative; overflow: hidden; padding: clamp(76px, 10vw, 140px) 0 94px; background: linear-gradient(116deg, #f8fbf6 0%, #e9f3ed 58%, #d5e7df 100%); }
.v54-about-hero::after { position: absolute; right: -10vw; bottom: -20vw; width: 48vw; height: 48vw; border: 1px solid rgba(181, 104, 55, .2); border-radius: 50%; content: ""; box-shadow: 0 0 0 28px rgba(181, 104, 55, .045), 0 0 0 58px rgba(181, 104, 55, .03); }
.v54-about-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 260px; align-items: end; gap: 70px; }
.v54-about-kicker { margin: 0; color: var(--violet); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.v54-about-hero h1 { max-width: 760px; margin: 21px 0 18px; color: var(--ink); font-family: var(--v53-font-serif); font-size: clamp(46px, 7vw, 96px); font-weight: 400; letter-spacing: -.07em; line-height: 1.02; }
.v54-about-lead { max-width: 620px; margin: 0; color: var(--muted); font-size: clamp(19px, 2.1vw, 27px); line-height: 1.65; }
.v54-about-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 32px; }
.v54-about-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--violet); font-size: 14px; }
.v54-about-text-link:hover, .v54-about-text-link:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.v54-about-index { display: grid; gap: 20px; align-self: stretch; align-content: end; padding: 22px 0 3px 25px; border-left: 1px solid rgba(181, 104, 55, .35); }
.v54-about-index span, .v54-about-index small { color: var(--violet); font-size: 11px; letter-spacing: .14em; }
.v54-about-index strong { color: var(--ink); font-family: var(--v53-font-serif); font-size: 29px; font-weight: 400; line-height: 1.28; }
.v54-about-section { padding: clamp(72px, 9vw, 128px) 0; }
.v54-about-philosophy { background: var(--paper); }
.v54-about-two-column { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); gap: clamp(45px, 9vw, 150px); align-items: start; }
.v54-about-copy { max-width: 700px; }
.v54-about-copy h2, .v54-about-section-head h2, .v54-about-merchant h2 { margin: 18px 0 26px; color: var(--ink); font-family: var(--v53-font-serif); font-size: clamp(42px, 6vw, 78px); font-weight: 400; letter-spacing: -.07em; line-height: 1.06; }
.v54-about-copy h2 em, .v54-about-section-head h2 em, .v54-about-merchant h2 em { color: var(--violet); font-style: normal; }
.v54-about-copy > p:not(.v54-about-kicker) { max-width: 620px; margin: 0; color: var(--muted); font-size: 18px; line-height: 2; }
.v54-about-copy blockquote { margin: 48px 0 0; padding-left: 24px; border-left: 1px solid var(--violet); color: var(--ink-2); font-family: var(--v53-font-serif); font-size: 23px; font-style: italic; line-height: 1.65; }
.v54-about-principles { display: grid; gap: 0; border-top: 1px solid var(--line); }
.v54-about-principles article { display: grid; grid-template-columns: 48px 1fr; gap: 14px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.v54-about-principles article > span { color: var(--violet); font-size: 14px; letter-spacing: .12em; }
.v54-about-principles h3 { margin: 0; color: var(--ink); font-family: var(--v53-font-serif); font-size: 26px; font-weight: 500; }
.v54-about-principles p { grid-column: 2; margin: -4px 0 0; color: var(--muted); font-size: 15px; line-height: 1.85; }
.v54-about-collection { background: #edf5ef; }
.v54-about-section-head { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 44px; }
.v54-about-section-head h2 { margin-bottom: 0; }
.v54-about-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.v54-about-product-grid article { border: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow); transition: transform .25s ease, box-shadow .25s ease; }
.v54-about-product-grid article:hover { transform: translateY(-5px); box-shadow: 0 24px 56px rgba(45, 75, 65, .15); }
.v54-about-product-grid article > a { display: block; height: 100%; padding-bottom: 24px; }
.v54-about-product-image { aspect-ratio: 1.28 / 1; overflow: hidden; background: var(--mint-2); }
.v54-about-product-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.v54-about-product-grid article:hover img { transform: scale(1.04); }
.v54-about-product-grid article p, .v54-about-product-grid article h3, .v54-about-product-grid article span { margin-left: 22px; margin-right: 22px; }
.v54-about-product-grid article p { margin-top: 22px; margin-bottom: 7px; color: var(--violet); font-size: 12px; letter-spacing: .1em; }
.v54-about-product-grid article h3 { margin-top: 0; margin-bottom: 13px; color: var(--ink); font-family: var(--v53-font-serif); font-size: 29px; font-weight: 500; }
.v54-about-product-grid article span { color: var(--muted); font-size: 14px; }
.v54-about-proof { display: flex; flex-wrap: wrap; gap: 18px 40px; margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.v54-about-proof span::before { display: inline-block; width: 7px; height: 7px; margin: 0 9px 1px 0; border-radius: 50%; background: var(--violet); content: ""; }
.v54-about-merchant { padding: clamp(66px, 8vw, 110px) 0; background: var(--ink); color: #f4f7f2; }
.v54-about-merchant-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr); gap: clamp(40px, 9vw, 150px); align-items: end; }
.v54-about-merchant .v54-about-kicker { color: #d7ad79; }
.v54-about-merchant h2 { color: #f4f7f2; }
.v54-about-merchant h2 em { color: #e4b47a; }
.v54-about-merchant-grid > div:last-child > p { margin: 0; color: rgba(244, 247, 242, .72); font-size: 17px; line-height: 2; }
.v54-about-merchant .v54-about-text-link { color: #f0c991; }
.v54-about-merchant .button-primary { border-color: #f1c98f; background: #f1c98f; color: #27302c !important; }
.v54-about-merchant .button-primary:hover { background: #fff3db; }
.v54-marketplace-page .market-product-art, .v54-merchant-store-page .market-product-art { display: block; padding: 0; }
.market-product-image { display: block; width: 100%; height: 100%; min-height: 210px; object-fit: cover; transition: transform .45s ease; }
.market-card:hover .market-product-image, .store-product-card:hover .market-product-image { transform: scale(1.04); }
.v54-marketplace-page .catalog-card h3, .v54-merchant-store-page .catalog-card h3 { margin-top: 20px; }
html[data-theme="dark"] .v54-about-page .topbar { background: rgba(31, 46, 42, .94); }
html[data-theme="dark"] .v54-about-hero { background: linear-gradient(120deg, #17231f, #203d35 65%, #2f5a4c); }
html[data-theme="dark"] .v54-about-hero h1, html[data-theme="dark"] .v54-about-index strong, html[data-theme="dark"] .v54-about-copy h2, html[data-theme="dark"] .v54-about-section-head h2, html[data-theme="dark"] .v54-about-principles h3 { color: #f3f7f2; }
html[data-theme="dark"] .v54-about-lead, html[data-theme="dark"] .v54-about-copy > p:not(.v54-about-kicker), html[data-theme="dark"] .v54-about-principles p { color: #b9c9c0; }
html[data-theme="dark"] .v54-about-philosophy { background: #18221f; }
html[data-theme="dark"] .v54-about-collection { background: #1d3029; }
html[data-theme="dark"] .v54-about-product-grid article { background: #22342e; }
html[data-theme="dark"] .v54-about-product-grid article h3 { color: #f3f7f2; }
html[data-theme="dark"] .v54-about-product-grid article span, html[data-theme="dark"] .v54-about-proof { color: #b9c9c0; }
@media (max-width: 900px) {
  .v54-about-hero-grid, .v54-about-two-column, .v54-about-merchant-grid { grid-template-columns: 1fr; }
  .v54-about-index { grid-template-columns: max-content 1fr max-content; align-items: center; padding: 20px 0 0; border-top: 1px solid rgba(181, 104, 55, .35); border-left: 0; }
  .v54-about-index strong { font-size: 24px; }
  .v54-about-index small { text-align: right; }
}
@media (max-width: 767px) {
  .v54-about-container { width: min(calc(100% - 40px), 1360px); }
  .v54-about-hero { padding: 54px 0 58px; }
  .v54-about-hero h1 { font-size: 48px; }
  .v54-about-lead { font-size: 18px; }
  .v54-about-section { padding: 62px 0; }
  .v54-about-section-head { display: block; }
  .v54-about-section-head .v54-about-text-link { margin-top: 18px; }
  .v54-about-product-grid { grid-template-columns: 1fr; gap: 12px; }
  .v54-about-product-grid article > a { display: grid; grid-template-columns: 38% 1fr; padding: 0; }
  .v54-about-product-grid article .v54-about-product-image { grid-row: 1 / span 4; aspect-ratio: 1; }
  .v54-about-product-grid article p, .v54-about-product-grid article h3, .v54-about-product-grid article span { margin-left: 18px; margin-right: 16px; }
  .v54-about-product-grid article p { margin-top: 20px; }
  .v54-about-product-grid article h3 { font-size: 25px; }
  .v54-about-proof { gap: 11px 18px; font-size: 12px; }
  .v54-about-copy blockquote { margin-top: 34px; font-size: 19px; }
  .v54-about-merchant { padding: 62px 0; }
  .market-product-image { min-height: 180px; }
}
/* v55 mall contrast correction: dark merchant CTA stays readable in light and dark themes. */
body.v54-unified-page.v54-about-page .v54-about-merchant h2 { color: #f4f7f2 !important; }
body.v54-unified-page.v54-about-page .v54-about-merchant h2 em { color: #e4b47a !important; }
body.v54-unified-page.v54-about-page .v54-about-merchant .v54-about-kicker { color: #f0c991 !important; }
body.v54-unified-page.v54-about-page .v54-about-merchant-grid > div:last-child > p { color: rgba(244, 247, 242, .82) !important; }
.v54-marketplace-page .sub-hero::after { content: "CURATED GOODS" !important; }
