@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("/fonts/manrope-latin.woff2") format("woff2");
}

:root {
    --font-storefront: "Manrope", ui-sans-serif, system-ui, sans-serif;
    --ink: #171c24;
    --ink-soft: #38424e;
    --muted: #5d6570;
    --paper: #ffffff;
    --panel: #ffffff;
    --surface: #f6f7f8;
    --line: #e1e4e8;
    --line-strong: #adb5bf;
    --border: var(--line);
    --accent: #0868d5;
    --accent-hover: #0757b3;
    --mint: #e8edf3;
    --mint-deep: var(--accent);
    --mint-wash: var(--surface);
    --orange-wash: #fff0e0;
    --danger: #b73939;
    --shadow: 0 4px 16px rgba(23, 28, 36, .035);
    --radius-sm: .25rem;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --space-sm: .75rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--paper);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--paper); line-height: 1.5; }
button, input, textarea { font: inherit; }
button { touch-action: manipulation; }
.container { width: min(1160px, calc(100% - 2rem)); margin: auto; }
a { color: inherit; }
.skip-link { position: absolute; left: -1000px; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 10; padding: .7rem; border-radius: .6rem; color: #fff; background: var(--ink); }

.site-header { position: sticky; top: 0; z-index: 5; border-bottom: 1px solid rgba(219,227,218,.82); background: rgba(246,247,242,.82); backdrop-filter: blur(16px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 4.8rem; gap: 1rem; }
.brand { display: flex; align-items: center; font-size: 1.05rem; font-weight: 800; letter-spacing: -.045em; text-decoration: none; }

.site-nav { display: flex; align-items: center; gap: 1.1rem; font-size: .88rem; font-weight: 650; }
.site-nav a { color: var(--muted); text-decoration: none; transition: color .16s ease; }
.site-nav a.active, .site-nav a:hover { color: var(--ink); }
.logout-form { margin: 0; }
.logout-form button { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; border: 0; padding: .35rem .5rem; color: var(--muted); background: transparent; cursor: pointer; font-size: inherit; font-weight: inherit; }
.logout-form button:hover { color: var(--ink); }
.badge { display: inline-grid; place-items: center; min-width: 1.35rem; height: 1.35rem; margin-left: .28rem; padding: 0 .25rem; border-radius: 10rem; color: #fff; background: var(--ink); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .68rem; }
main { padding: 4.9rem 0; }
main h1, main h2 { scroll-margin-top: 6rem; }
.site-footer { border-top: 1px solid var(--line); padding: 1.5rem 0; color: var(--muted); font-size: .84rem; }
.footer-inner { display: flex; justify-content: space-between; gap: 1rem; }

.hero { position: relative; max-width: 59rem; margin: 1rem 0 5rem; }
.hero:after { content: ""; position: absolute; right: -4rem; bottom: -3rem; width: 11rem; height: 11rem; border: 1px solid #cde7d5; border-radius: 50%; pointer-events: none; }
.hero-kicker, .eyebrow { display: flex; align-items: center; gap: .45rem; margin: 0 0 1rem; color: var(--mint-deep); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pulse-dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--mint-deep); box-shadow: 0 0 0 5px rgba(23,108,72,.13); }
.hero h1, .admin-heading h1, .page-heading h1 { position: relative; z-index: 1; margin: 0; max-width: 900px; font-size: clamp(3.15rem, 7vw, 6.3rem); line-height: .94; letter-spacing: -.085em; }
.hero h1 em { color: var(--mint-deep); font-style: normal; }
.hero > p:not(.eyebrow) { max-width: 37rem; margin: 1.7rem 0; color: var(--muted); font-size: 1.1rem; }
.conditions { display: flex; position: relative; z-index: 1; flex-wrap: wrap; gap: .55rem; }
.conditions span { padding: .5rem .7rem; border: 1px solid #bfd4c2; border-radius: .5rem; color: #385444; background: rgba(255,255,255,.68); font-size: .84rem; backdrop-filter: blur(4px); }
.conditions b { color: var(--mint-deep); }
.section-heading, .page-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.section-heading .eyebrow, .page-heading .eyebrow { margin-bottom: .35rem; }
.section-heading h2 { margin: 0; font-size: 1.55rem; letter-spacing: -.055em; }
.section-heading > p { margin: 0; color: var(--muted); font-size: .84rem; }
.text-link { color: var(--mint-deep); font-size: .88rem; font-weight: 750; text-decoration: underline; text-underline-offset: .2em; }
.catalog-tools { display: flex; align-items: center; gap: .7rem; }
.catalog-tools input { width: min(18rem, 42vw); border: 1px solid var(--line); border-radius: .65rem; padding: .62rem .75rem; color: var(--ink); background: #fff; }
.catalog-tools span { color: var(--muted); font-size: .82rem; white-space: nowrap; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.product-card, .panel, .cart-card, .checkout-form, .order-summary, .success-card, .empty-state { border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--panel); box-shadow: var(--shadow); }
.product-card { display: flex; position: relative; min-width: 0; min-height: 20rem; flex-direction: column; padding: 1.4rem; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.product-card:hover { border-color: #acd8b9; box-shadow: 0 22px 54px rgba(25,59,40,.13); transform: translateY(-4px); }
.product-heading { display: flex; align-items: start; justify-content: space-between; width: 100%; }
.product-heading h3, .panel h2, .checkout-form h2, .order-summary h2 { margin: 0; font-size: 1.08rem; letter-spacing: -.04em; }
.product-mark { display: grid; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: .7rem; color: #bd712d; background: var(--orange-wash); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .78rem; }
.product-card > p { max-width: 29rem; margin: 1rem 0 1.4rem; color: var(--muted); font-size: .9rem; line-height: 1.65; }
.variant-list { width: 100%; margin-top: auto; border-top: 1px solid var(--line); }
.variant { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .82rem 0; border-bottom: 1px solid var(--line); }
.variant:last-child { padding-bottom: 0; border: 0; }
.variant small, .cart-line span, .action-list small { display: block; color: var(--muted); font-size: .8rem; }
.variant-action { display: flex; align-items: center; gap: .65rem; white-space: nowrap; font-size: .86rem; }
.button { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: .45rem; border: 0; border-radius: .62rem; padding: .62rem .82rem; color: #fff; background: var(--ink); cursor: pointer; font-size: .84rem; font-weight: 800; text-decoration: none; transition: transform .16s ease, background .16s ease, box-shadow .16s ease; }
.button:hover { background: var(--mint-deep); box-shadow: 0 7px 16px rgba(23,108,72,.2); transform: translateY(-1px); }
.button:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #178a5a; outline-offset: 3px; }
.button:disabled { color: #7d8d83; background: #e8ede7; box-shadow: none; cursor: not-allowed; transform: none; }
.button-add b { display: grid; place-items: center; width: 1rem; height: 1rem; border-radius: 50%; color: var(--ink); background: var(--mint); font-size: .9rem; line-height: 1; }
.cart-toast { display: grid; position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 20; grid-template-columns: 1fr auto auto; align-items: center; gap: .8rem; width: min(30rem, calc(100% - 2rem)); padding: .9rem 1rem; border: 1px solid #9bc5a6; border-radius: .85rem; color: var(--ink); background: #fff; box-shadow: 0 18px 48px rgba(18,36,28,.2); font-size: .86rem; }
.cart-toast a { color: var(--mint-deep); font-weight: 800; white-space: nowrap; }
.cart-toast button { width: 2rem; height: 2rem; border: 0; border-radius: 50%; color: var(--muted); background: transparent; cursor: pointer; font-size: 1.2rem; }

.cart-card { max-width: 52rem; padding: 1.5rem; }
.shipping-progress { margin-bottom: .55rem; padding: .85rem 1rem; border: 1px solid #b7d7c0; border-radius: .8rem; background: var(--mint-wash); font-size: .84rem; }
.shipping-progress > div { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .45rem; }
.shipping-progress strong { color: var(--mint-deep); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .69rem; }
.shipping-progress progress { width: 100%; height: .35rem; overflow: hidden; border: 0; border-radius: 10rem; background: #caeacf; }
.shipping-progress progress::-webkit-progress-bar { background: #caeacf; }
.shipping-progress progress::-webkit-progress-value { border-radius: 10rem; background: var(--mint-deep); }
.shipping-progress progress::-moz-progress-bar { border-radius: 10rem; background: var(--mint-deep); }
.shipping-unlocked { color: var(--mint-deep); font-weight: 800; }
.cart-line { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.cart-product { min-width: 0; }
.remove-button { min-height: 2.75rem; border: 0; padding: .3rem 0; color: var(--danger); background: transparent; cursor: pointer; font-size: .78rem; font-weight: 750; text-decoration: underline; text-underline-offset: .18em; }
.quantity-control { display: flex; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: var(--panel); }
.quantity-control button { width: 2.75rem; min-height: 2.75rem; border: 0; color: var(--ink); background: transparent; cursor: pointer; font-size: 1.1rem; transition: background .15s ease; }
.quantity-control button:hover { background: var(--mint-wash); }
.quantity-control button:disabled { color: var(--muted); background: var(--surface); cursor: not-allowed; }
.quantity-control output { display: grid; min-width: 2.5rem; place-items: center; padding: .28rem .45rem; color: var(--ink); font-size: .9rem; font-weight: 750; text-align: center; }
.totals { display: grid; grid-template-columns: 1fr auto; gap: .55rem; padding-top: 1.1rem; font-size: .88rem; }
.totals strong { margin-top: .3rem; font-size: 1.18rem; }
.button-wide { width: 100%; margin-top: 1.3rem; padding: .92rem; }
.notice, .minimum-notice { margin: 0 0 1rem; padding: .8rem .9rem; border: 1px solid #d8bd98; border-radius: .7rem; color: #68451e; background: #fff6e9; font-size: .84rem; }
.minimum-notice { margin: 1rem 0 -.45rem; text-align: center; }

.checkout-grid { display: grid; grid-template-areas: "form summary"; grid-template-columns: minmax(0,1.35fr) minmax(290px,.78fr); align-items: start; gap: var(--space-lg); }
.checkout-form, .order-summary { padding: var(--space-lg); }
.checkout-form { grid-area: form; }
.order-summary { grid-area: summary; }
.form-heading { display: flex; align-items: center; gap: .75rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--line); }
.form-heading p { margin: .12rem 0 0; color: var(--muted); font-size: .82rem; }
.form-heading.confirmations { margin-top: 2rem; }
.step-number { display: grid; width: 1.85rem; height: 1.85rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: var(--panel); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .76rem; font-weight: 600; }
.field { margin: 1rem 0; }
.field label { display: block; margin-bottom: .35rem; font-size: .86rem; font-weight: 800; }
.field input, .field textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: var(--radius-md); padding: var(--space-sm); color: var(--ink); background: var(--panel); font-size: .94rem; transition: border-color .15s ease, box-shadow .15s ease; }
.field input:hover, .field textarea:hover { border-color: var(--muted); }
.field input:focus, .field textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px #0868d514; }
.field textarea { min-height: 6.5rem; resize: vertical; }
.field small { color: var(--muted); font-size: .8rem; }
.optional { color: var(--muted); font-weight: 500; }
.field-row { display: grid; grid-template-columns: 1fr 2fr; gap: .8rem; }
.check { display: flex; min-height: 2.75rem; align-items: flex-start; gap: var(--space-sm); margin: var(--space-md) 0; padding: var(--space-sm); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--panel); font-size: .86rem; transition: border-color .15s ease; }
.check:hover { border-color: var(--line-strong); }
.check input { width: 1.15rem; height: 1.15rem; margin-top: .1rem; accent-color: var(--mint-deep); }
.validation-message, .validation-summary-errors, .error { display: block; margin: .4rem 0; color: var(--danger); font-size: .82rem; font-weight: 650; }
.validation-summary-valid { display: none; }
.validation-overview:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.secure-note { padding: .45rem .65rem; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--ink-soft); background: var(--panel); font-size: .72rem; font-weight: 700; }
.heading-actions { display: flex; align-items: center; gap: .8rem; }
.order-summary { position: sticky; top: 5.8rem; }
.summary-heading { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: .55rem; }
.summary-heading span { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .76rem; }
.order-summary > div:not(.summary-heading) { display: flex; justify-content: space-between; gap: 1rem; padding: .78rem 0; border-bottom: 1px solid var(--line); font-size: .86rem; }
.summary-line > span { min-width: 0; }
.summary-line small { display: block; margin-top: .15rem; color: var(--muted); font-size: .77rem; }
.order-summary .total { padding-top: 1rem !important; border: 0 !important; font-size: 1.08rem !important; }
.summary-note, .submit-note { margin: .55rem 0 0; color: var(--muted); font-size: .8rem; line-height: 1.55; }
.submit-note { text-align: center; }
.checkout-submit { min-height: 3.1rem; }
.success-card, .empty-state { max-width: 38rem; margin: 3rem auto; padding: 3rem; text-align: center; }
.empty-state.compact { margin: 1rem auto; padding: 2rem; box-shadow: none; }
.success-icon { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; margin: 0 auto 1rem; border-radius: 50%; background: var(--mint); font-size: 1.6rem; }
.success-card h1 { letter-spacing: -.05em; }
.success-card p { color: var(--muted); }
.success-eyebrow { justify-content: center; margin-bottom: .3rem !important; }
.order-number { display: flex; align-items: center; justify-content: center; gap: var(--space-sm); margin: var(--space-md) 0 0; padding: var(--space-md); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--panel); }
.order-number strong { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 1.05rem; letter-spacing: .03em; overflow-wrap: anywhere; }
.order-number button { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; border: 1px solid var(--line); border-radius: var(--radius-md); padding: .5rem .65rem; color: var(--accent); background: var(--panel); cursor: pointer; font-size: .8rem; font-weight: 650; }
.copy-feedback { min-height: 1.3rem; margin: .35rem 0 !important; color: var(--mint-deep) !important; font-size: .8rem; font-weight: 750; }
.next-steps { margin: var(--space-lg) 0; padding: var(--space-md); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--panel); text-align: left; }
.next-steps h2 { margin: 0 0 .6rem; font-size: 1rem; }
.next-steps ol { margin: 0; padding-left: 1.25rem; color: #355345; font-size: .86rem; }
.next-steps li + li { margin-top: .4rem; }
.privacy-note { font-size: .8rem; }
.login-card { width: min(29rem, 100%); margin: var(--space-xl) auto; padding: var(--space-xl); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--panel); box-shadow: var(--shadow); }
.login-card h1 { margin: 0; font-size: clamp(2.5rem, 7vw, 4rem); letter-spacing: -.07em; }
.login-card > p:not(.eyebrow, .error) { color: var(--muted); }
.setup-card { width: min(34rem, 100%); }
.setup-card h1 { font-size: clamp(2.35rem, 6vw, 3.6rem); line-height: .98; }
.setup-card .notice strong { display: block; margin-bottom: .2rem; }
.setup-footnote { margin: 1rem 0 0; font-size: .8rem; text-align: center; }

.admin-heading { display: flex; align-items: start; justify-content: space-between; margin-bottom: 2.5rem; }
.admin-quick-nav { display: flex; flex-wrap: wrap; gap: .65rem; margin: -1.5rem 0 1rem; }
.admin-heading h1 { font-size: clamp(2.4rem,5vw,4.5rem); }
.status-pill { padding: .45rem .7rem; border-radius: 2rem; color: var(--mint-deep); background: var(--mint-wash); font-size: .8rem; font-weight: 800; }
.metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin-bottom: 1rem; }
.metrics article { padding: 1.25rem; border-radius: 1rem; background: #dcf3e2; }.metrics article:nth-child(2) { background: #fff0df; }.metrics article:nth-child(3) { background: #e9eee8; }.metrics article:nth-child(4) { background: #e4eef9; }
.metrics span, .metrics small { display: block; color: #40594b; font-size: .8rem; }.metrics strong { display: block; margin: .5rem 0; font-size: 1.8rem; letter-spacing: -.07em; }
.analytics-section { margin: 3rem 0 1rem; scroll-margin-top: 6rem; }
.analytics-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1rem; }
.analytics-heading .eyebrow { margin-bottom: .35rem; }
.analytics-heading h2 { max-width: 44rem; margin: 0; font-size: clamp(1.7rem, 3.5vw, 2.5rem); line-height: 1.05; letter-spacing: -.06em; }
.analytics-heading p:last-child { margin: .65rem 0 0; color: var(--muted); font-size: .82rem; }
.analytics-periods { display: inline-flex; flex: 0 0 auto; gap: .25rem; padding: .25rem; border: 1px solid var(--line); border-radius: .75rem; background: #fff; }
.analytics-periods a { padding: .48rem .7rem; border-radius: .5rem; color: var(--muted); font-size: .78rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.analytics-periods a:hover { color: var(--mint-deep); background: var(--mint-wash); }
.analytics-periods a.is-selected { color: #fff; background: var(--ink); }
.analytics-metrics article { min-width: 0; }
.analytics-metrics strong { overflow-wrap: anywhere; }
.analytics-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(17rem, .75fr); gap: 1rem; margin-bottom: 1rem; }
.analytics-chart-panel { min-width: 0; }
.analytics-chart-scroll { width: 100%; padding-bottom: .3rem; overflow-x: auto; scrollbar-color: #a8b9ac transparent; }
.analytics-bar-chart { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(1.55rem, 1fr); gap: .25rem; min-width: max(42rem, 100%); height: 13rem; padding-top: .35rem; border-bottom: 1px solid var(--line); }
.analytics-day { display: grid; grid-template-rows: minmax(0, 1fr) 1.45rem; min-width: 0; }
.analytics-day-track { display: flex; position: relative; min-height: 0; flex-direction: column; align-items: center; justify-content: flex-end; }
.analytics-day-track small { position: absolute; top: .1rem; z-index: 1; padding: .02rem .14rem; border-radius: .2rem; color: var(--muted); background: rgba(255,255,255,.84); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .62rem; }
.analytics-day-bar { display: block; flex: 0 0 auto; width: min(1.4rem, 72%); min-height: 0; border-radius: .32rem .32rem 0 0; background: linear-gradient(180deg, var(--mint), var(--mint-deep)); }
.analytics-height-0 { height: 0; }
.analytics-height-1 { height: 10%; }
.analytics-height-2 { height: 20%; }
.analytics-height-3 { height: 30%; }
.analytics-height-4 { height: 40%; }
.analytics-height-5 { height: 50%; }
.analytics-height-6 { height: 60%; }
.analytics-height-7 { height: 70%; }
.analytics-height-8 { height: 80%; }
.analytics-height-9 { height: 90%; }
.analytics-height-10 { height: 100%; }
.analytics-day time { align-self: end; color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .58rem; text-align: center; white-space: nowrap; }
.analytics-status-list { display: grid; gap: 1rem; }
.analytics-status-list > div { display: grid; gap: .35rem; }
.analytics-status-list span { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; font-size: .8rem; }
.analytics-status-list small { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .68rem; }
.analytics-status-list progress, .analytics-ranking progress { width: 100%; height: .5rem; overflow: hidden; border: 0; border-radius: 10rem; background: #dce5dd; color: var(--mint-deep); accent-color: var(--mint-deep); }
.analytics-status-list progress::-webkit-progress-bar, .analytics-ranking progress::-webkit-progress-bar { border-radius: 10rem; background: #dce5dd; }
.analytics-status-list progress::-webkit-progress-value, .analytics-ranking progress::-webkit-progress-value { border-radius: 10rem; background: var(--mint-deep); }
.analytics-status-list progress::-moz-progress-bar, .analytics-ranking progress::-moz-progress-bar { border-radius: 10rem; background: var(--mint-deep); }
.analytics-ranking-panel { margin-bottom: 1rem; }
.analytics-ranking { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: analytics-rank; }
.analytics-ranking li { display: grid; grid-template-columns: minmax(12rem, .9fr) minmax(10rem, 1.4fr) auto; align-items: center; gap: 1rem; padding: .75rem 0; border-top: 1px solid var(--line); counter-increment: analytics-rank; }
.analytics-ranking li > span { display: grid; grid-template-columns: 1.7rem minmax(0, 1fr); align-items: baseline; gap: .45rem; min-width: 0; }
.analytics-ranking li > span::before { content: counter(analytics-rank, decimal-leading-zero); grid-row: 1 / span 2; color: var(--mint-deep); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .72rem; font-weight: 800; }
.analytics-ranking li > span strong, .analytics-ranking li > span small { grid-column: 2; min-width: 0; overflow-wrap: anywhere; }
.analytics-ranking li > span small { color: var(--muted); font-size: .72rem; }
.analytics-ranking li > strong { font-size: .78rem; white-space: nowrap; }
.muted { color: var(--muted); font-size: .84rem; }
.admin-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1rem; margin-bottom: 1rem; }.panel { padding: 1.35rem; }.panel-title { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; margin-bottom: 1rem; }.panel-title > span { color: var(--muted); font-size: .72rem; }
.table-row { display: grid; grid-template-columns: 1.2fr 1.2fr .8fr .7fr; gap: .7rem; padding: .8rem 0; border-top: 1px solid var(--line); font-size: .84rem; }.table-head { color: var(--muted); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; }.status { color: var(--mint-deep); font-weight: 800; }
.admin-dashboard-order { color: inherit; text-decoration: none; }.admin-dashboard-order:hover { background: var(--mint-wash); }
.action-list { padding: 0; margin: 0; list-style: none; }.action-list li { display: flex; gap: .75rem; padding: .85rem 0; border-top: 1px solid var(--line); font-size: .8rem; }.task-icon { display: grid; flex: 0 0 1.8rem; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: .5rem; color: var(--mint-deep); background: var(--mint-wash); }.stock-list > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--line); font-size: .82rem; }.stock { color: var(--mint-deep); font-weight: 800; }.stock-low { color: #a05918; }

.button-secondary { border: 1px solid #9eb1a2; color: var(--ink); background: #fff; }
.button-secondary:hover { border-color: var(--mint-deep); color: #fff; background: var(--mint-deep); }
.success-notice { margin: 0 0 1.25rem; padding: .85rem 1rem; border: 1px solid #9bcbaa; border-radius: .75rem; color: #145c3e; background: var(--mint-wash); font-size: .88rem; font-weight: 750; }
.product-admin-heading > div:first-child > p:last-child { max-width: 42rem; margin: .8rem 0 0; color: var(--muted); }
.admin-heading-actions { display: flex; align-items: center; gap: 1rem; }
.admin-product-list { display: grid; gap: 1rem; }
.admin-product-card { min-width: 0; }
.admin-product-thumbnail { width: 5rem; height: 5rem; object-fit: contain; float: left; margin: 0 1rem .5rem 0; border: 1px solid var(--border); border-radius: .5rem; background: white; }
.admin-image-preview { display: block; width: 100%; height: 13rem; object-fit: contain; border: 1px solid var(--border); border-radius: .5rem; background: white; }
.product-image-field .remove-button { justify-self: start; text-align: left; }
.admin-image-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(8rem,1fr)); gap:.75rem; margin-top:.6rem; }
.admin-image-item { min-width:0; padding:.55rem; border:1px solid var(--line); border-radius:.65rem; background:#f8fafb; }
.admin-image-item .admin-image-preview { width:100%; height:7rem; object-fit:contain; border-radius:.4rem; background:#fff; }
.admin-image-actions { display:flex; align-items:center; gap:.45rem; margin-top:.45rem; }
.admin-image-actions .remove-button { min-height:2rem; padding:.25rem .4rem; }
.variant-image-field { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.admin-product-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.admin-product-card-heading > div { min-width: 0; }
.admin-product-card-heading p { max-width: 48rem; margin: .5rem 0 0; color: var(--muted); font-size: .86rem; overflow-wrap: anywhere; }
.admin-product-title { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; }
.admin-product-title h2 { margin: 0; font-size: 1.35rem; letter-spacing: -.04em; }
.status-pill-inactive { color: #59665e; background: #e8ece8; }
.admin-product-meta { display: flex; flex-wrap: wrap; gap: .45rem 1.1rem; margin: 1rem 0; color: var(--muted); font-size: .78rem; }
.warning-text { color: #8a551c; font-weight: 750; }
.admin-variant-list { border-top: 1px solid var(--line); }
.admin-variant-row { display: grid; grid-template-columns: minmax(9rem, 1.4fr) minmax(6rem, .65fr) minmax(9rem, 1fr) minmax(5rem, .6fr); align-items: center; gap: .8rem; padding: .72rem 0; border-bottom: 1px solid #e0e6df; font-size: .82rem; }
.admin-variant-row:last-child { padding-bottom: 0; border-bottom: 0; }
.admin-variant-row > span:last-child { color: var(--muted); text-align: right; }
.admin-variant-inactive { opacity: .62; }

.admin-edit-heading h1 { font-size: clamp(2.7rem, 6vw, 5rem); }
.admin-form-error { margin: 0 0 1rem; padding: .85rem 1rem; border: 1px solid #dfa5a5; border-radius: .75rem; background: #fff1f1; }
.admin-editor-grid { display: grid; grid-template-columns: minmax(17rem, .75fr) minmax(0, 1.5fr); align-items: start; gap: 1rem; }
.product-settings-panel { position: sticky; top: 5.8rem; }
.product-variants-section { min-width: 0; }
.variants-heading { align-items: center; margin: 0 0 1rem; }
.variants-heading h2 { margin: 0; font-size: 1.4rem; }
.variants-heading p { margin: .25rem 0 0; color: var(--muted); font-size: .82rem; }
.variant-editor-list { display: grid; gap: 1rem; }
.variant-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--line); }
.variant-editor-heading h3 { margin: 0; font-size: 1.05rem; }
.variant-id { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .72rem; }
.variant-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .8rem; }
.variant-toggles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.admin-toggle { cursor: pointer; }
.admin-toggle > span { display: grid; gap: .1rem; }
.admin-toggle strong { font-size: .84rem; }
.admin-toggle small { color: var(--muted); font-size: .75rem; line-height: 1.35; }
.admin-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; margin-top: 1rem; padding: 1rem 1.2rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.92); box-shadow: var(--shadow); }

.field select, .order-filters input, .order-filters select { width: 100%; border: 1px solid var(--line-strong); border-radius: var(--radius-md); padding: var(--space-sm); color: var(--ink); background: var(--panel); font: inherit; }
.field select:focus, .order-filters input:focus, .order-filters select:focus { border-color: var(--accent); outline: 3px solid #0868d514; outline-offset: 1px; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1rem; }
.settings-section { min-width: 0; }
.settings-template-section { grid-column: 1 / -1; }
.settings-intro { margin: -.35rem 0 1rem; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.security-callout { display: grid; gap: .18rem; margin-top: 1.15rem; padding: .9rem 1rem; border: 1px solid #b8d8c1; border-radius: .75rem; color: #22513a; background: var(--mint-wash); font-size: .82rem; }
.placeholder-help { margin: .75rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.9; }
.placeholder-help code, .variant-payment-code, .order-item-row code { padding: .12rem .3rem; border-radius: .3rem; color: var(--mint-deep); background: var(--mint-wash); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .72rem; }
.settings-confirmation { display: flex; align-items: end; justify-content: space-between; gap: 1.25rem; margin-top: 1rem; }
.settings-confirmation > div:first-child { flex: 1 1 24rem; }
.settings-confirmation label { display: block; margin-bottom: .35rem; font-size: .86rem; font-weight: 800; }
.settings-confirmation input { width: 100%; border: 1px solid #7f9182; border-radius: .65rem; padding: .76rem .8rem; font: inherit; }
.settings-confirmation small { display: block; margin-top: .3rem; color: var(--muted); font-size: .76rem; }
.settings-actions { display: flex; gap: .7rem; }
.settings-audit-panel { margin-top: 1rem; }
.audit-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.audit-list li { display: grid; grid-template-columns: minmax(9rem, .4fr) minmax(0, 1.6fr); gap: .8rem; padding: .7rem 0; border-top: 1px solid var(--line); font-size: .8rem; }
.audit-list time { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .72rem; }
.variant-payment-code { margin-left: .35rem; white-space: nowrap; }

.payment-box { margin: var(--space-lg) 0; padding: var(--space-lg); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--panel); text-align: left; }
.payment-box h2 { margin: .2rem 0 1rem; }
.payment-details, .detail-list { display: grid; gap: .55rem; margin: 0; }
.payment-details > div, .detail-list > div { display: grid; grid-template-columns: minmax(7rem, .7fr) minmax(0, 1.5fr); gap: var(--space-sm); padding-bottom: .5rem; border-bottom: 1px solid var(--line); }
.payment-details dt, .detail-list dt { color: var(--muted); font-size: .78rem; font-weight: 750; }
.payment-details dd, .detail-list dd { margin: 0; color: var(--ink); overflow-wrap: anywhere; }
.payment-reference-label { display: block; margin: 1rem 0 .35rem; color: var(--ink); font-size: .8rem; font-weight: 850; }
.payment-reference { margin: 0; background: #fff; }
.payment-reference strong { font-size: .88rem; }
.payment-instructions { margin: var(--space-sm) 0 0 !important; color: var(--ink-soft) !important; white-space: pre-wrap; }

.order-filters { display: grid; grid-template-columns: minmax(14rem, 1fr) minmax(10rem, .55fr) auto; align-items: end; gap: .8rem; margin-bottom: 1rem; }
.order-filters .field { margin: 0; }
.admin-orders-panel { overflow: hidden; }
.admin-orders-table { overflow-x: auto; }
.admin-order-row { display: grid; grid-template-columns: minmax(16rem, 1.45fr) minmax(8rem, .75fr) minmax(5rem, .45fr) minmax(7rem, .6fr) minmax(7rem, .65fr) minmax(9rem, .8fr); align-items: center; gap: .75rem; min-width: 66rem; padding: .78rem .25rem; border-top: 1px solid var(--line); color: var(--ink); font-size: .8rem; text-decoration: none; }
.admin-order-row:not(.admin-order-head):hover { background: var(--mint-wash); }
.admin-order-row > span:first-child { display: grid; gap: .2rem; min-width: 0; }
.admin-order-row small { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .66rem; overflow-wrap: anywhere; }
.admin-order-head { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.admin-order-row .status-pill { justify-self: start; }
.mail-status { color: var(--muted); font-size: .75rem; font-weight: 750; }
.mail-sent { color: var(--mint-deep); }
.mail-failed { color: var(--danger); }
.mail-pending { color: #8a551c; }
.status-cancelled { color: #59665e; background: #e8ece8; }
.status-paid, .status-shipped { color: var(--mint-deep); background: var(--mint-wash); }
.pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1rem; color: var(--muted); font-size: .8rem; }

.order-detail-heading h1 { overflow-wrap: anywhere; }
.order-detail-badges { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: .75rem; }
.order-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.order-item-list { display: grid; }
.order-item-row, .order-total-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-top: 1px solid var(--line); font-size: .84rem; }
.order-item-row > div { display: grid; gap: .2rem; }
.order-item-row small { color: var(--muted); }
.order-grand-total { font-size: 1rem; }
.pre-wrap { white-space: pre-wrap; }
.reference-admin-value { padding: .8rem; border: 1px solid var(--line); border-radius: .65rem; background: #f8faf7; overflow-wrap: anywhere; }
.reference-admin-value code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .8rem; }
.status-actions, .settings-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.button-danger { background: var(--danger); }
.button-danger:hover { background: #7b2222; }
.notification-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--line); }
.notification-row > div { display: grid; gap: .2rem; }
.notification-row small { color: var(--muted); font-size: .74rem; }

.admin-faq-list { display: grid; gap: .8rem; }
.admin-faq-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.admin-faq-card > div { min-width: 0; }
.admin-faq-card h2 { overflow-wrap: anywhere; }
.admin-faq-card p { margin: .45rem 0 0; color: var(--muted); font-size: .78rem; }
.promotion-editor { margin-bottom: 1.5rem; }
.promotion-editor > p { color: var(--muted); }
.promotion-editor fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.promotion-editor .field { margin-bottom: 1rem; }
.promotion-scope { margin: 1rem 0 !important; }
.promotion-scope legend { font-weight: 700; margin-bottom: .5rem; }
.promotion-scope > label, .promotion-products label, .promotion-active { display: block; margin: .45rem 0; cursor: pointer; }
.promotion-products { border: 1px solid var(--line); border-radius: .75rem; padding: .7rem 1rem; max-height: 15rem; overflow: auto; margin-top: .7rem; }
.promotion-list { display: grid; gap: .7rem; }
.promotion-list h2 { margin-bottom: .2rem; }
.promotion-entry { display: grid !important; gap: .35rem; padding: .8rem 0; border-top: 1px solid var(--line); }
.promotion-entry label { font-weight: 700; }
.promotion-entry-row { display: flex; gap: .45rem; }
.promotion-entry-row input { min-width: 0; flex: 1; padding: var(--space-sm); border: 1px solid var(--line-strong); border-radius: var(--radius-md); color: var(--ink); background: var(--panel); font: inherit; text-transform: uppercase; }
.promotion-entry small { color: var(--muted); }
.promotion-remove { justify-self: start; }
.promotion-discount { color: var(--success, #277044); }
.promotion-discount > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.promotion-discount > span:last-child { flex-shrink: 0; white-space: nowrap; }
.faq-editor { width: min(52rem, 100%); }
.faq-editor .field textarea { min-height: 18rem; }
.faq-sort-field { max-width: 15rem; }
.faq-editor-actions { width: min(52rem, 100%); }
.faq-editor-spacer { flex: 1; }

@media (max-width: 1000px) { .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.metrics { grid-template-columns: repeat(2, 1fr); }.settings-grid { grid-template-columns: 1fr; }.settings-template-section { grid-column: auto; } }
@media (max-width: 900px) { .admin-editor-grid { grid-template-columns: 1fr; }.product-settings-panel { position: static; }.admin-variant-row { grid-template-columns: minmax(8rem, 1fr) repeat(3, auto); } }
@media (max-width: 760px) { main { padding: 2.8rem 0; }.hero { margin-bottom: 3rem; }.hero:after { display: none; }.admin-grid, .order-detail-grid { grid-template-columns: 1fr; }.checkout-grid { grid-template-areas: "summary" "form"; grid-template-columns: 1fr; }.product-card { min-height: 18rem; }.order-summary { position: static; }.admin-heading { flex-direction: column; gap: 1rem; }.table-row { grid-template-columns: 1fr .9fr .8fr; }.table-row span:nth-child(2) { display: none; }.table-head span:nth-child(2) { display: none; }.footer-inner { flex-direction: column; }.heading-actions { align-items: flex-start; flex-direction: column; }.catalog-heading { align-items: flex-start; flex-direction: column; }.catalog-tools { width: 100%; }.catalog-tools input { width: 100%; }.admin-product-card-heading { align-items: stretch; flex-direction: column; }.admin-product-card-heading .button { align-self: flex-start; }.admin-variant-row { grid-template-columns: 1fr 1fr; }.admin-variant-row > span:last-child { text-align: left; }.admin-heading-actions { align-items: flex-start; flex-wrap: wrap; }.settings-confirmation { align-items: stretch; flex-direction: column; }.order-filters { grid-template-columns: 1fr 1fr; }.order-filters .button { grid-column: 1 / -1; } }
@media (max-width: 640px) { .product-grid, .metrics { grid-template-columns: 1fr; }.site-nav { gap: .75rem; }.admin-catalog-link, .admin-orders-link, .admin-settings-link { display: none; }.variant { align-items: flex-start; flex-direction: column; }.variant-action { width: 100%; justify-content: space-between; white-space: normal; }.variant-fields, .variant-toggles { grid-template-columns: 1fr; }.variants-heading { align-items: stretch; flex-direction: column; }.variants-heading .button { align-self: flex-start; }.admin-form-actions { align-items: stretch; flex-direction: column-reverse; }.admin-form-actions .button { width: 100%; }.admin-form-actions .text-link { text-align: center; }.settings-actions { width: 100%; flex-direction: column; }.settings-actions .button { width: 100%; }.payment-details > div, .detail-list > div { grid-template-columns: 1fr; gap: .15rem; }.order-filters { grid-template-columns: 1fr; }.order-filters .button { grid-column: auto; }.notification-row { align-items: stretch; flex-direction: column; }.admin-faq-card { align-items: stretch; flex-direction: column; }.admin-faq-card .button { align-self: flex-start; }.faq-editor-spacer { display: none; } }
@media (max-width: 480px) { .header-inner { min-height: 4.25rem; }.brand { max-width: 7rem; font-size: .78rem; line-height: 1.1; }.site-nav { gap: .55rem; font-size: .76rem; }.site-nav > a:first-child { display: none; }.hero h1, .page-heading h1 { font-size: 2.75rem; }.conditions { display: grid; }.section-heading, .page-heading { align-items: start; flex-direction: column; }.cart-line { grid-template-columns: 1fr auto; }.cart-product { grid-column: 1 / -1; }.cart-line > strong { grid-column: 2; }.field-row { grid-template-columns: 1fr; }.checkout-form, .order-summary, .cart-card, .login-card { padding: 1.1rem; }.field input, .field textarea, .catalog-tools input { font-size: 1rem; }.cart-toast { right: 1rem; bottom: 1rem; grid-template-columns: 1fr auto; }.cart-toast > span { grid-column: 1 / -1; }.success-card, .empty-state { padding: 2rem 1.15rem; }.order-number { align-items: stretch; flex-direction: column; }.admin-product-card, .variant-editor, .product-settings-panel { padding: 1.05rem; } }
@media (max-width: 760px) { .analytics-grid { grid-template-columns: 1fr; }.analytics-heading { align-items: flex-start; flex-direction: column; } }
@media (max-width: 480px) { .analytics-periods { width: 100%; }.analytics-periods a { flex: 1; text-align: center; }.analytics-ranking li { grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }.analytics-ranking progress { grid-column: 1 / -1; grid-row: 2; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
/* Storefront: neutral surfaces with blue reserved for actions and selection. */
body { background:var(--paper); }
button, input, textarea, select { font:inherit; }
button, a, input, select, summary { -webkit-tap-highlight-color:transparent; }
.page-shell { display:flex; min-height:100vh; flex-direction:column; }
.page-shell:has(.home-storefront) main.container { width:min(1280px, calc(100% - 3rem)); padding-top:3rem; }
.header-inner { width:min(1280px, calc(100% - 3rem)); }
.site-header .site-nav { font-family:var(--font-storefront); }
.site-header .site-nav a { position:relative; }
.site-header .site-nav a.active:not(.nav-cart)::after { content:""; position:absolute; bottom:.15rem; left:0; right:0; height:2px; background:#4098ff; }
.site-header .badge { color:#102039; background:#91c1ff; font-family:var(--font-storefront); font-variant-numeric:tabular-nums; }
.home-storefront ::selection { background:#c6ddff; color:#0b1322; }
.home-storefront input { caret-color:var(--accent); }
@media (max-width:760px) { .page-shell:has(.home-storefront) main.container { width:calc(100% - 2rem); padding-top:1.2rem; }.header-inner { width:calc(100% - 2rem); } }
.container { width:min(1200px, calc(100% - 2 * var(--space-lg))); }
.site-header { background:#030609; color:#fff; border-bottom:1px solid #ffffff15; backdrop-filter:none; }
.header-inner { min-height:5rem; }
.brand { flex-shrink:0; font-size:1.22rem; letter-spacing:-.035em; max-width:none; }

.site-nav { flex-wrap:wrap; justify-content:flex-end; gap:var(--space-lg); }
.site-nav a, .site-header .logout-form button, .site-footer .logout-form button { color:#e8f2f8; }
.site-nav a { display:inline-flex; align-items:center; min-height:2.75rem; }
.site-nav a.active, .site-nav a:hover, .site-header .logout-form button:hover, .site-footer .logout-form button:hover { color:#8fc1ff; }
.site-nav .nav-cart { gap:.45rem; padding:.45rem var(--space-sm); border:1px solid #ffffff35; border-radius:var(--radius-md); }
.nav-cart svg { width:1.1rem; height:1.1rem; }
.badge { background:#fff; color:var(--ink); margin-left:.15rem; }
.shipping-banner { padding:.55rem var(--space-md); text-align:center; background:var(--panel); border-bottom:1px solid var(--line); color:var(--muted); font-size:.75rem; }
main.container { flex:1; padding:var(--space-xl) 0 4rem; }
main h1:focus { outline:none; }
.checkout-error { margin:0 0 1rem; padding:1rem; border:1px solid #d9a9a9; border-radius:.65rem; background:#fff5f5; }
.validation-overview, .checkout-error { scroll-margin-top:6.5rem; }
.step-number { flex:0 0 1.85rem; }
.hero.shop-hero { display:grid; grid-template-columns:1.2fr 1fr; max-width:none; margin:0; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--panel); }
.hero:after { display:none; }
.hero-copy { padding:clamp(var(--space-lg),3.8vw,3rem); }
.hero-kicker { margin:0 0 var(--space-lg); color:var(--muted); font-size:.65rem; letter-spacing:.15em; }
.pulse-dot { width:.4rem; height:.4rem; background:var(--ink); box-shadow:none; }
.hero h1 { max-width:none; font-size:clamp(2.5rem,4.5vw,4.15rem); letter-spacing:-.055em; line-height:1.06; }
.hero h1 em { color:var(--ink); }
.hero-copy > p:not(.hero-kicker,.hero-research) { max-width:29rem; margin:var(--space-lg) 0; color:var(--ink-soft); font-size:.95rem; line-height:1.7; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-lg); }
.hero-actions .button { padding:var(--space-sm) var(--space-md); }
.hero-actions .text-link { font-size:.78rem; text-decoration:none; }
.hero-copy .hero-research { margin:var(--space-lg) 0 0; color:var(--muted); font-size:.68rem; }
.hero-art { position:relative; display:grid; place-items:center; overflow:hidden; min-height:21rem; background:#000; }
.hero-logo { display:block; width:100%; height:auto; }
.shop-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-lg); margin:0 0 3rem; padding:var(--space-lg) 0; border-bottom:1px solid var(--line); }
.shop-benefits > div { display:flex; align-items:center; justify-content:center; gap:var(--space-sm); }
.shop-benefits > div + div { border-left:1px solid var(--line); }
.benefit-icon { display:grid; flex:0 0 2.4rem; height:2.4rem; place-items:center; color:var(--ink-soft); border:1px solid var(--line); border-radius:var(--radius-md); background:var(--panel); font-size:1.3rem; }
.shop-benefits strong, .shop-benefits small { display:block; }
.shop-benefits strong { font-size:.8rem; font-weight:700; }.shop-benefits small { margin-top:.15rem; color:var(--muted); font-size:.71rem; }
.catalog-section { scroll-margin-top:6.5rem; }
.catalog-heading { align-items:end; margin-bottom:var(--space-lg); }
.eyebrow { color:var(--muted); font-size:.65rem; letter-spacing:.14em; }
.catalog-heading h2 { font-size:clamp(1.5rem,2.5vw,2rem); letter-spacing:-.045em; line-height:1.2; }
.catalog-count { color:var(--muted); font-size:.76rem; white-space:nowrap; }
.catalog-toolbar { display:flex; align-items:center; gap:var(--space-lg); margin-bottom:var(--space-lg); padding:var(--space-sm); border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--panel); }
.catalog-search { position:relative; flex:1; min-width:12rem; }
.catalog-search svg { position:absolute; left:.7rem; top:.72rem; width:1.15rem; height:1.15rem; color:var(--muted); }
.catalog-search input { width:100%; min-height:2.6rem; padding:.65rem var(--space-sm) .65rem 2.3rem; border:1px solid transparent; border-radius:var(--radius-md); background:var(--surface); color:var(--ink); font-size:.82rem; }
.stock-filter { display:flex; align-items:center; gap:.5rem; color:var(--ink-soft); font-size:.75rem; cursor:pointer; }
.stock-filter input { width:1rem; height:1rem; margin:0; accent-color:var(--mint-deep); }
.catalog-sort select { width:100%; min-height:2.6rem; padding:.6rem 2rem .6rem .6rem; border:0; border-left:1px solid var(--line); border-radius:0; background:#fff; color:var(--ink-soft); font-size:.78rem; cursor:pointer; }
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-lg); }
.product-card { display:flex; flex-direction:column; min-width:0; min-height:0; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--panel); box-shadow:none; }
.product-card:hover { transform:none; border-color:var(--line-strong); box-shadow:var(--shadow); }
.product-visual { position:relative; display:grid; place-items:center; min-height:15.5rem; padding:var(--space-xl) var(--space-md); border-bottom:1px solid var(--line); background:var(--surface); }
.product-photo { display: block; width: 100%; height: 11.5rem; object-fit: contain; }
.product-thumbnails { display:flex; align-items:center; justify-content:center; gap:.35rem; width:100%; margin-top:.55rem; overflow-x:auto; }
.product-thumbnail { flex:0 0 2.7rem; width:2.7rem; height:2.7rem; padding:.15rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--panel); cursor:pointer; }
.product-thumbnail img { display:block; width:100%; height:100%; object-fit:contain; }
.product-thumbnail.is-selected { border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); }
.product-thumbnail:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
.product-category { position:absolute; top:var(--space-md); left:var(--space-md); padding:.25rem .5rem; border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--muted); background:var(--panel); font-size:.57rem; letter-spacing:.05em; text-transform:uppercase; }
.vial { display:flex; flex-direction:column; align-items:center; filter:drop-shadow(9px 12px 8px #173e5b1f); }
.vial-cap { position:relative; z-index:2; width:65px; height:19px; border-radius:4px 4px 2px 2px; background:repeating-linear-gradient(90deg,#254d6a 0 2px,#3c6580 2px 3px); box-shadow:0 3px 0 #adb8be; }
.vial-neck { width:47px; height:17px; background:linear-gradient(90deg,#b5c7d1,#fff 35%,#d9e5eb 75%,#b1c3ce); border:1px solid #b6cad6; }
.vial-body { display:flex; align-items:center; width:82px; min-height:110px; border-radius:18px 18px 9px 9px; background:linear-gradient(90deg,#b8cbd5,#fafdff 20%,#eaf3f7 75%,#b1c5d0); border:1px solid #b3c7d2; }
.vial-label { width:100%; padding:10px 5px; background:linear-gradient(110deg,#214862,#346584); color:#fff; text-align:center; }
.vial-label span { display:block; padding-bottom:5px; border-bottom:1px solid #ffffff35; color:#ade5f2; font-size:6px; font-weight:700; }
.vial-label strong { display:block; padding:8px 0; font-size:10px; line-height:1.2; overflow-wrap:anywhere; }
.vial-label small { font-size:4px; letter-spacing:.05em; }
.visual-caption { position:absolute; right:var(--space-md); bottom:var(--space-sm); color:var(--muted); font-size:.55rem; }
.product-details { display:flex; flex:1; min-width:0; flex-direction:column; padding:var(--space-lg); }
.product-heading h3 { margin:0; font-size:1.4rem; letter-spacing:-.035em; overflow-wrap:anywhere; }
.product-description { min-height:2.8rem; margin:var(--space-sm) 0 var(--space-md); color:var(--muted); font-size:.76rem; line-height:1.6; overflow-wrap:anywhere; }
.product-description-expandable summary { cursor:pointer; list-style:none; }
.product-description-expandable summary::-webkit-details-marker { display:none; }
.product-description-expandable summary:focus-visible { outline:3px solid var(--accent); outline-offset:3px; border-radius:var(--radius-sm); }
.product-description-expandable summary span { color:var(--accent); font-weight:650; white-space:nowrap; }
.product-description-expandable .description-less,
.product-description-expandable[open] .description-more { display:none; }
.product-description-expandable[open] .description-less { display:inline; }
.product-description-expandable p { margin:.4rem 0 0; }
.variant-picker { display:flex; flex-wrap:wrap; gap:.5rem; min-width:0; padding:0; border:0; margin:auto 0 var(--space-md); }
.variant-picker legend { margin-bottom:.5rem; padding:0; color:var(--muted); font-size:.69rem; }
.variant-choice { position:relative; display:inline-flex; align-items:center; justify-content:center; min-width:3.8rem; min-height:2.75rem; padding:.55rem var(--space-sm); border:1px solid var(--line-strong); border-radius:var(--radius-md); background:var(--panel); color:var(--ink-soft); font-size:.76rem; cursor:pointer; }
.variant-choice input { position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.variant-choice.is-selected { border-color:var(--accent); background:var(--panel); box-shadow:inset 0 0 0 1px var(--accent); color:var(--ink); font-weight:750; }
.variant-choice.is-unavailable:not(.is-selected) { color:var(--muted); background:var(--surface); text-decoration:line-through; }
.variant-choice:has(input:focus-visible) { outline:3px solid var(--accent); outline-offset:3px; }
.product-purchase-info { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; margin:0 0 1rem; }
.product-price { font-size:1.45rem; letter-spacing:-.035em; font-weight:750; font-variant-numeric:tabular-nums; }
.product-price small { display:block; margin-top:.1rem; font-size:.65rem; color:var(--muted); font-weight:400; letter-spacing:normal; }
.product-stock { display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .45rem; border-radius:2rem; background:#eef6f1; color:#38654d; font-size:.63rem; white-space:nowrap; }
.product-stock:before { content:""; width:.3rem; height:.3rem; border-radius:50%; background:currentColor; }
.product-stock.is-sold-out { color:#656f79; background:#f0f2f4; }
.button { border-radius:var(--radius-md); background:var(--accent); font-size:.8rem; font-weight:650; }
.button:hover { background:var(--accent-hover); box-shadow:none; transform:none; }
.button-secondary { border-color:var(--line-strong); color:var(--ink); background:var(--panel); }
.button-secondary:hover { border-color:var(--ink); color:var(--ink); background:var(--surface); }
.button:disabled { color:var(--muted); background:#eceef1; }
.button-add { width:100%; justify-content:space-between; padding:.8rem 1rem; min-height:2.9rem; }
.button-add > span:last-child:not(:first-child) { font-size:1.2rem; font-weight:400; line-height:1; }
.product-cart-count { min-height:1rem; margin:.65rem 0 0; text-align:center; color:var(--muted); font-size:.64rem; }
.catalog-loading { padding:4rem 1rem; text-align:center; color:var(--muted); }
.catalog-help { display:flex; align-items:center; justify-content:space-between; gap:var(--space-xl); margin-top:3rem; padding:var(--space-xl); border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--panel); }
.catalog-help .eyebrow { margin-bottom:.5rem; }.catalog-help h2 { margin:0; font-size:1.3rem; letter-spacing:-.035em; }.catalog-help p:last-child { margin:.5rem 0 0; color:var(--muted); font-size:.8rem; }.catalog-help .button { flex-shrink:0; padding:.8rem 1rem; }
.empty-symbol { display:block; color:var(--mint-deep); font-size:2.5rem; }.empty-state h2,.empty-state h3 { letter-spacing:-.035em; }.empty-state > .eyebrow { justify-content:center; }
.cart-toast { border-color:var(--line); border-radius:var(--radius-lg); box-shadow:0 8px 24px #171c2414; }.cart-toast > span { min-width:0; }.cart-toast button { width:2.75rem; height:2.75rem; }.toast-check { color:#38654d; }
.page-heading { margin-top:1rem; }.page-heading h1 { font-size:clamp(2rem,4vw,3.4rem); letter-spacing:-.055em; line-height:1.08; }
.purchase-steps { display:flex; flex-wrap:wrap; gap:1.7rem; margin:1.5rem 0 2rem; padding:0 0 1.2rem; border-bottom:1px solid var(--line); list-style:none; color:var(--muted); font-size:.78rem; }
.purchase-steps li,.purchase-steps a { display:flex; align-items:center; gap:.5rem; text-decoration:none; }.purchase-steps span { display:grid; place-items:center; width:1.65rem; height:1.65rem; border:1px solid #c8d8e3; border-radius:50%; font-size:.7rem; }.purchase-steps .is-current { color:var(--ink); font-weight:700; }.purchase-steps .is-current span { border-color:var(--ink); color:#fff; background:var(--ink); }
.cart-layout { display:grid; grid-template-areas:"items summary"; grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr); gap:var(--space-lg); align-items:start; }
.cart-items-card { grid-area:items; max-width:none; }.cart-items-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; }.cart-items-heading h2 { margin:0; font-size:1.05rem; letter-spacing:-.025em; }.cart-items-heading > span { color:var(--muted); font-size:.76rem; }
.cart-line { grid-template-columns:minmax(0,1fr) auto auto; gap:1rem; padding:var(--space-lg) 0; }.cart-line:last-child { padding-bottom:.25rem; border-bottom:0; }.cart-line-main { display:flex; align-items:center; gap:1rem; min-width:0; }.cart-line-main > div { min-width:0; }.cart-line-main strong { overflow-wrap:anywhere; }.cart-line .cart-item-icon { display:grid; flex:0 0 3.4rem; height:4.2rem; place-items:center; border:1px solid var(--line); border-radius:var(--radius-md); color:var(--ink-soft); background:var(--surface); }.cart-line .cart-stock-note { margin-top:.4rem; color:#826034; font-size:.7rem; }.cart-line-total { font-size:.92rem; white-space:nowrap; }
.quantity-control { border-color:var(--line-strong); border-radius:var(--radius-md); }.quantity-control button { width:2.75rem; min-height:2.75rem; }.quantity-control output { min-width:1.6rem; }.remove-button { min-height:2.75rem; color:var(--muted); text-underline-offset:.2rem; }
.quantity-control { justify-self:start; }
.cart-card,.checkout-form,.order-summary,.panel,.success-card,.empty-state,.login-card { border-radius:var(--radius-lg); }
.order-summary { top:6.2rem; }.cart-summary .shipping-progress { margin:var(--space-md) 0 0; }.shipping-progress { border-color:var(--line); border-radius:var(--radius-md); background:var(--panel); color:var(--ink-soft); font-size:.76rem; }.shipping-progress progress { display:block; margin-top:var(--space-sm); background:#eceef1; }.shipping-progress progress::-webkit-progress-bar { background:#eceef1; }.cart-summary > .text-link { display:block; margin-top:var(--space-md); text-align:center; }.cart-summary-note { margin-top:var(--space-md); text-align:center; }
.checkout-fields { min-width:0; margin:0; padding:0; border:0; }.checkout-fields:disabled { opacity:.75; }.payment-method { margin:var(--space-lg) 0; padding:var(--space-md); border:1px solid var(--line); border-radius:var(--radius-md); background:var(--panel); color:var(--ink-soft); font-size:.82rem; }.payment-method strong { display:block; }.payment-method p { margin:.4rem 0 0; }
.field input,.field textarea,.field select { border-color:var(--line-strong); background:var(--panel); }.field input:focus,.field textarea:focus { box-shadow:0 0 0 3px #0868d514; }.field input.invalid,.field textarea.invalid { border-color:var(--danger); }.check input { flex-shrink:0; }.next-steps ol { color:var(--ink-soft); }
.button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.site-footer { padding:3rem 0; background:#030609; border:0; color:#e5e7eb; }.footer-inner { align-items:flex-start; gap:var(--space-xl); }.footer-brand .brand { color:#fff; }.footer-brand p { margin:.9rem 0 0; font-size:.71rem; line-height:1.7; color:#c4c8cf; }.footer-links { display:grid; gap:.7rem; font-size:.76rem; }.footer-links a { text-decoration:none; }.footer-links a:hover { text-decoration:underline; }.footer-meta { display:grid; gap:.65rem; font-size:.71rem; color:#c4c8cf; }.footer-meta .logout-form button { min-height:2.75rem; padding:0; font-size:.71rem; width:auto; }.footer-meta .logout-form button:after { content:none; }
@media (max-width:1050px) { .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.catalog-toolbar { gap:var(--space-sm); }.stock-filter { max-width:10rem; }.cart-layout { grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr); }.cart-line { grid-template-columns:minmax(0,1fr) auto; }.cart-line-main { grid-column:1/-1; }.cart-line-total { text-align:right; } }
@media (max-width:760px) { .container { width:calc(100% - 2rem); }.header-inner { min-height:4.6rem; }.site-nav { gap:.9rem; }.hero.shop-hero { grid-template-columns:minmax(0,1fr) .55fr; }.hero-copy { padding:1.7rem; }.hero-art { min-height:20rem; }.art-label { left:.9rem; font-size:.47rem; }.art-caption { display:none; }.shop-benefits { gap:.75rem; padding:1.2rem 0; margin-bottom:2.5rem; }.shop-benefits > div { flex-direction:column; gap:.55rem; text-align:center; }.shop-benefits strong { font-size:.72rem; }.shop-benefits small { font-size:.65rem; }.catalog-toolbar { flex-wrap:wrap; }.catalog-search { flex:1 1 100%; }.stock-filter { max-width:none; flex:1; }.catalog-sort { flex:1; }.catalog-count { margin-top:.5rem; }.catalog-help { flex-direction:column; align-items:flex-start; gap:var(--space-md); padding:var(--space-lg); }.cart-layout { grid-template-areas:"items" "summary"; grid-template-columns:minmax(0,1fr); }.order-summary { position:static; }.cart-line { grid-template-columns:minmax(0,1fr) auto auto; }.cart-line-main { grid-column:auto; }.footer-inner { flex-direction:row; flex-wrap:wrap; }.footer-brand { flex:1 1 100%; } }
@media (max-width:540px) { .header-inner { flex-direction:row; gap:.6rem; padding:.75rem 0; }.brand { font-size:1rem; line-height:1.2; }.site-nav { gap:.6rem; font-size:.74rem; }.site-nav > a:first-child { display:none; }.site-nav .nav-cart { padding:.35rem .55rem; }.nav-cart svg { display:none; }.shipping-banner { font-size:.65rem; }.hero.shop-hero { grid-template-columns:minmax(0,1fr); }.hero-art { display:none; }.hero-copy { padding:1.8rem 1.4rem; }.hero h1 { font-size:2.8rem; }.hero-kicker { font-size:.58rem; }.hero-copy > p:not(.hero-kicker,.hero-research) { font-size:.87rem; }.hero-actions { gap:1rem; }.shop-benefits { gap:.4rem; }.benefit-icon { width:2rem; height:2rem; flex-basis:2rem; }.shop-benefits strong { font-size:.65rem; }.shop-benefits small { font-size:.61rem; }.product-grid { grid-template-columns:minmax(0,1fr); gap:var(--space-md); }.product-visual { min-height:14rem; }.product-description { min-height:0; }.product-details { padding:var(--space-md); }.product-purchase-info { margin-top:.2rem; }.catalog-toolbar { padding:var(--space-sm); gap:var(--space-sm); }.catalog-search input { font-size:1rem; }.catalog-sort select { font-size:.73rem; padding-right:1rem; }.stock-filter { font-size:.69rem; }.catalog-heading h2 { font-size:1.65rem; }.catalog-help { margin-top:2rem; }.cart-line { grid-template-columns:minmax(0,1fr) auto; }.cart-line-main { grid-column:1/-1; }.cart-line-total { grid-column:2; }.cart-card,.checkout-form,.order-summary { padding:var(--space-md); }.purchase-steps { gap:1.1rem; font-size:.72rem; }.page-heading h1 { font-size:2.4rem; }.cart-toast { right:1rem; bottom:1rem; gap:.5rem; }.cart-toast > span { grid-column:1/-1; }.cart-toast > button { justify-self:end; }.field input,.field textarea,.field select { font-size:1rem; }.footer-brand .brand { font-size:1.1rem; }.access-header .brand { font-size:1rem; } }
@media (max-width:760px) {
    .product-grid { gap:var(--space-md); }
    .product-visual { min-height:11.25rem; padding:var(--space-xl) var(--space-sm) var(--space-md); }
    .product-photo { height:8rem; }
    .product-category { top:var(--space-sm); left:var(--space-sm); }
    .product-thumbnails { justify-content:safe center; }
    .product-thumbnail { flex-basis:2.75rem; width:2.75rem; height:2.75rem; }
    .product-visual .vial-cap { width:57px; height:17px; }
    .product-visual .vial-neck { width:41px; height:15px; }
    .product-visual .vial-body { width:72px; min-height:96px; }
    .product-details { padding:var(--space-md); }
    .product-heading h3 { font-size:1.2rem; }
    .product-description { min-height:0; margin:.5rem 0 var(--space-md); line-height:1.5; }
    .variant-picker { gap:.5rem; margin-bottom:var(--space-md); }
    .variant-picker legend { margin-bottom:.35rem; }
    .product-purchase-info { margin:0 0 var(--space-md); }
    .product-price { font-size:1.3rem; }
    .product-card .button-add { min-height:2.75rem; padding:var(--space-sm) var(--space-md); }
    .product-cart-count { margin-top:.45rem; }
}
@media (max-width:360px) { .header-inner { flex-wrap:wrap; }.site-nav { margin-left:auto; }.stock-filter,.catalog-sort { flex-basis:100%; }.catalog-sort select { border-left:0; border-top:1px solid var(--line); }.hero h1 { font-size:2.45rem; } }
.access-page { min-height:100vh; background:var(--paper); }
.access-header { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:5.5rem; padding:1rem max(1.5rem,calc((100vw - 1100px)/2)); background:#030609; color:#fff; }
.access-header > span:last-child { padding:.45rem var(--space-sm); border:1px solid #ffffff25; border-radius:var(--radius-md); font-size:.7rem; color:#d1d5db; }
.access-main { display:grid; justify-items:center; padding:clamp(2rem,6vh,4.5rem) 1rem; }
.access-panel { display:grid; grid-template-columns:1fr 1fr; width:min(100%,920px); overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow); }
.access-brand-panel { position:relative; display:grid; place-items:center; overflow:hidden; background:#000; }
.access-brand-panel img { display:block; width:100%; height:auto; }
.access-card { min-width:0; width:100%; padding:clamp(var(--space-lg),4vw,3rem); background:var(--panel); }
.access-card .eyebrow { font-size:.65rem; }
.access-card h1 { margin:0 0 1rem; font-size:2.3rem; line-height:1.14; letter-spacing:-.045em; }
.access-card > p { color:var(--muted); font-size:.9rem; }
.access-card form { margin-top:1.8rem; }
.access-card label { display:block; font-size:.8rem; font-weight:700; margin-bottom:.55rem; }
.access-card input[type=password] { width:100%; padding:var(--space-sm); border:1px solid var(--line-strong); border-radius:var(--radius-md); background:var(--panel); color:var(--ink); }
.access-card .button { width:100%; justify-content:space-between; padding:.85rem 1rem; }
.access-message { color:#a52d32; font-size:.8rem; min-height:1.2rem; margin:.6rem 0; }
.access-footnote { border-top:1px solid var(--line); padding-top:var(--space-md); margin:var(--space-lg) 0 0; font-size:.76rem!important; }
.access-caption { font-size:.7rem; color:var(--muted); margin-top:1.5rem; }

/* Use the supplied artwork intact; show its wordmark crop in compact navigation. */
.brand-logo-link { border-radius:var(--radius-sm); }
.brand-logo-crop { position:relative; display:block; width:146px; aspect-ratio:625 / 204; overflow:hidden; }
.brand-logo-crop img { position:absolute; display:block; width:130.56%; max-width:none; height:auto; left:-15.2%; top:-152.94%; mix-blend-mode:screen; }
.header-inner { min-height:5.5rem; padding-top:.65rem; padding-bottom:.65rem; }
.site-footer { background:#030609; }

.access-legal { position:fixed; right:1rem; bottom:1rem; z-index:2; font-size:.72rem; }
.access-legal a { color:var(--muted); }
.legal-page { min-height:100vh; background:var(--paper); color:var(--ink); }
.legal-header,.legal-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:min(1080px,calc(100% - 2rem)); margin:0 auto; }
.legal-header { min-height:6rem; border-bottom:1px solid var(--line); }
.legal-header .brand { max-width:9rem; }
.legal-header > a:last-child,.legal-footer a { color:var(--accent); font-size:.82rem; font-weight:700; }
.legal-main { width:min(820px,calc(100% - 2rem)); margin:0 auto; padding:4rem 0; }
.legal-main h1 { margin:.3rem 0 var(--space-lg); color:var(--ink); font-size:clamp(2.7rem,7vw,5.4rem); line-height:.95; letter-spacing:-.07em; }
.legal-intro { max-width:700px; margin:0 0 3rem; color:var(--ink-soft); font-size:1.08rem; line-height:1.7; }
.legal-main section { margin-top:3rem; padding-top:var(--space-xl); border-top:1px solid var(--line); }
.legal-main h2 { margin:0 0 var(--space-md); color:var(--ink); font-size:1.2rem; }
.legal-main p { margin:.7rem 0; line-height:1.75; }
.legal-main a { color:var(--accent); overflow-wrap:anywhere; }
.legal-footer { padding:var(--space-lg) 0 3rem; border-top:1px solid var(--line); color:var(--muted); font-size:.75rem; }
@media (max-width:540px) { .legal-main { padding:2.5rem 0; }.legal-main h1 { font-size:2.8rem; }.legal-header { min-height:4.75rem; }.legal-header .brand { max-width:7rem; }.access-legal { position:static; margin:1rem auto; text-align:center; } }
.footer-brand .brand { display:inline-flex; }
.footer-brand .brand-logo-crop { width:164px; }
@media (max-width:760px) {
    .hero.shop-hero { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
    .hero-copy { padding:var(--space-lg); }
    .site-nav { gap:.8rem; }
}
@media (max-width:680px) {
    .access-panel { grid-template-columns:1fr; max-width:470px; }
    .access-brand-panel { height:188px; }
    .access-brand-panel img { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:280px; max-width:100%; }
    .access-card { padding:var(--space-lg); }
    .access-card h1 { font-size:2rem; }
    .access-main { padding-top:1.5rem; }
    .hero.shop-hero { grid-template-columns:minmax(0,1fr); }
    .hero-art { display:grid; min-height:0; height:220px; grid-row:1; }
    .hero-logo { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:320px; max-width:100%; }
}
@media (max-width:540px) {
    .brand-logo-crop { width:118px; }
    .header-inner { min-height:4.6rem; }
    .access-header { min-height:4.6rem; padding:.9rem 1.25rem; }
    .site-nav { gap:.6rem; }
    .hero-copy { padding:var(--space-lg); }
}

/* Keep the mobile entrance focused on finding products. */
@media (max-width:760px) {
    main.container { padding-top:var(--space-md); }
    .hero.shop-hero { grid-template-columns:minmax(0,1fr); }
    .hero-art { display:none; }
    .hero-copy { padding:var(--space-lg); }
    .hero-kicker { margin-bottom:var(--space-sm); font-size:.6rem; }
    .hero h1 { font-size:clamp(2rem,6.5vw,2.75rem); line-height:1.08; }
    .hero-copy > p:not(.hero-kicker,.hero-research) { max-width:none; margin:var(--space-sm) 0 var(--space-md); font-size:.85rem; line-height:1.5; }
    .hero-actions { gap:var(--space-sm) var(--space-md); }
    .hero-actions .button { padding:var(--space-sm) var(--space-md); min-height:2.75rem; font-size:.8rem; }
    .hero-copy .hero-research { margin-top:var(--space-md); font-size:.65rem; }
    .shop-benefits { gap:.5rem; margin-bottom:var(--space-lg); padding:var(--space-md) 0; }
    .shop-benefits > div { gap:.3rem; }
    .benefit-icon { display:none; }
    .shop-benefits strong { font-size:.66rem; }
    .shop-benefits small { font-size:.61rem; line-height:1.35; }
    .catalog-heading { margin-bottom:var(--space-md); gap:.5rem; }
    .catalog-heading h2 { font-size:1.6rem; }
    .catalog-count { margin-top:0; }
    .catalog-section { scroll-margin-top:5.25rem; }
}

