/* Mijoli — a quieter daily ritual. Original interface, October 2026. */
:root {
  --ink:#1c3a13;
  --forest:#1c3a13;
  --paper:#fcfcf7;
  --snow:#fcfcf7;
  --lime:#d3fa99;
  --stone:#efefe7;
  --stone-dark:#e6e7de;
  --muted:#697461;
  --line:#dfe3d8;
  --font:'Inter',Arial,sans-serif;
  --mono:'IBM Plex Mono',monospace;
  --ease:cubic-bezier(.2,.65,.3,1);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:96px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font); font-size:15px; line-height:1.55; -webkit-font-smoothing:antialiased; }
body:has(dialog[open]) { overflow:hidden; }
button,input,select,textarea { font:inherit; color:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button { border:0; background:none; padding:0; cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.45; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
svg { width:24px; height:24px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
h1,h2,h3,h4,p { margin:0; }
h1,h2,h3,h4 { font-weight:350; }
h1,h2 { letter-spacing:-.055em; line-height:1.08; }
h2 { font-size:48px; }
h3 { letter-spacing:-.035em; }
p { text-wrap:pretty; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid #5d863f; outline-offset:5px; }
button:focus:not(:focus-visible) { outline:none; }
[hidden] { display:none!important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:999; top:-100px; left:16px; padding:16px 24px; border-radius:1000px; background:var(--forest); color:var(--snow); }
.skip-link:focus { top:16px; }
.svg-defs { position:absolute; width:0; height:0; overflow:hidden; }
.announcement { display:none; }
.header { position:sticky; z-index:30; top:0; height:80px; padding:0 40px; background:var(--paper); display:flex; align-items:center; justify-content:space-between; gap:32px; }
.wordmark { display:inline-flex; align-items:flex-start; font-size:44px; font-weight:600; letter-spacing:-3.4px; line-height:1; }
.brand-mark { width:19px; height:19px; margin:5px 0 0 6px; stroke-width:1.6; }
.header nav { display:flex; align-items:center; gap:32px; margin-left:24px; font-size:13px; }
.header nav a { display:flex; align-items:center; gap:8px; min-height:44px; }
.header nav a svg { width:14px; height:14px; }
.header nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.header-actions { display:flex; align-items:center; gap:8px; }
.header-finder { margin-left:12px; padding:12px 20px; min-height:44px; font-size:11px; }
.icon-button { position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; border-radius:1000px; transition:background .2s,color .2s; }
.icon-button:hover { background:var(--stone); }
.cart-button { display:flex; align-items:center; justify-content:center; min-height:44px; gap:8px; padding:0 8px; font-size:13px; }
.cart-count,.favorite-count { display:inline-flex; align-items:center; justify-content:center; height:20px; min-width:20px; border-radius:1000px; background:var(--forest); color:var(--snow); font-family:var(--mono); font-size:9px; font-weight:400; line-height:1; }
.favorite-count { position:absolute; top:0; right:0; height:17px; min-width:17px; background:var(--lime); color:var(--forest); }
.menu-button { display:none; }
.hero { position:relative; isolation:isolate; overflow:hidden; height:640px; margin:0 16px; border-radius:0 0 32px 32px; background:#e8e9df; }
.hero-picture,.hero-image { position:absolute; inset:0; width:100%; height:100%; }
.hero-picture { z-index:-2; }
.hero-image { object-fit:cover; object-position:center 70%; animation:hero-enter 1.1s var(--ease) both; }
.hero-shade,.hero-seal,.hero-footnote { display:none; }
.hero-content { position:relative; z-index:1; max-width:600px; padding:80px 0 96px; margin-left:max(64px,calc((100vw - 1200px)/2 - 16px)); }
.eyebrow,.product-code,.product-badge,.step-number,.principle-number,.hero-bottom,.hero-caption,.picture-index { font-family:var(--mono); font-size:10px; line-height:1.6; font-weight:400; letter-spacing:.035em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:8px; }
.eyebrow svg { width:18px; height:18px; }
.small-star { width:24px; height:24px; }
.hero h1 { margin:32px 0 24px; max-width:510px; font-size:56px; font-weight:300; }
.hero h1 span { color:inherit; }
.hero-content>p { max-width:350px; font-size:16px; line-height:1.65; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:32px; }
.hero-content>.button { margin-top:32px; }
.hero-bottom,.hero-caption { position:absolute; left:max(64px,calc((100vw - 1200px)/2 - 16px)); bottom:32px; z-index:1; display:flex; align-items:center; gap:8px; font-size:9px; }
.hero-bottom svg { width:16px; height:16px; }
.hero-bottom { right:max(64px,calc((100vw - 1200px)/2 - 16px)); justify-content:flex-start; gap:32px; }
.hero-bottom a { display:inline-flex; align-items:center; gap:12px; min-height:44px; }
.hero-caption { left:auto; right:40px; }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:14px 24px; border:1px solid transparent; border-radius:1000px; font-size:13px; font-weight:450; line-height:1.4; transition:background .2s,color .2s,transform .2s; text-align:center; }
.button svg,.text-link svg { width:18px; height:18px; }
.button>span:has(svg) { display:inline-flex; align-items:center; }
.button:hover { transform:translateY(-1px); }
.button:active { transform:scale(.98); }
.button-dark { background:var(--forest); color:var(--snow); }
.button-dark:hover { background:#2a501e; }
.button-light,.button-inverse,.button-white { background:var(--snow); color:var(--forest); }
.button-light:hover,.button-inverse:hover,.button-white:hover { background:#eaf0e0; }
.button-outline { border-color:var(--forest); background:transparent; color:var(--forest); }
.button-outline:hover { background:var(--forest); color:var(--snow); }
.text-link { min-height:44px; display:inline-flex; align-items:center; gap:12px; font-size:13px; font-weight:450; }
.text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.seed-container { max-width:1200px; width:calc(100% - 80px); margin-inline:auto; }
.section-pad { padding:96px max(40px,calc((100vw - 1200px)/2)); }
.seed-section-heading,.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:48px; }
.seed-section-heading .eyebrow,.section-heading .eyebrow { margin-bottom:24px; }
.seed-section-heading h2,.section-heading h2 { max-width:660px; }
.seed-section-heading>p,.section-intro { max-width:320px; font-size:14px; line-height:1.75; color:var(--muted); }
.seed-section-heading>.text-link { flex-shrink:0; }
.seed-section-heading>div:last-child:not(:first-child)>p { font-size:14px; line-height:1.8; }
.seed-section-heading>div:last-child:not(:first-child)>.text-link { margin-top:16px; }
.seed-featured { padding:88px 0 96px; margin-top:16px; background:var(--forest); color:var(--snow); }
.seed-featured .seed-section-heading>p,.seed-featured .section-intro { color:#d3dacb; }
.featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.featured-card { display:flex; flex-direction:column; min-width:0; }
.featured-card-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.featured-number { color:#d3dacb; font-family:var(--mono); font-size:10px; }
.product-code { display:inline-flex; align-items:center; align-self:flex-start; min-height:24px; padding:4px 8px; border-radius:1000px; background:var(--lime); color:var(--forest); font-size:8px; line-height:1.4; width:fit-content; }
.featured-card h3 { min-height:60px; margin:16px 0 8px; font-size:24px; line-height:1.2; }
.featured-card h3 button { text-align:left; font:inherit; }
.featured-package { font-family:var(--mono); font-size:10px; color:#d3dacb; margin:0 0 24px; }
.featured-product-image { display:flex; align-items:center; justify-content:center; width:100%; margin-top:auto; border-radius:16px; background:#eeeee5; overflow:hidden; height:auto; aspect-ratio:1; padding:0; }
.featured-product-image img { width:100%; height:100%; object-fit:cover; mix-blend-mode:normal; transition:transform .45s var(--ease); }
.featured-product-image:hover img { transform:scale(1.04); }
.featured-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:24px; }
.featured-card-bottom>span,.featured-card-bottom .product-price { font-size:18px; font-weight:400; letter-spacing:-.025em; }
.featured-card-bottom strong { display:block; font-size:20px; font-weight:400; line-height:1.2; letter-spacing:-.025em; }
.featured-card-bottom small { display:block; margin-top:6px; color:#d3dacb; font-family:var(--mono); font-size:8px; line-height:1.5; }
.featured-card-bottom .button { min-height:44px; padding:12px 16px; gap:12px; font-size:11px; background:var(--snow); color:var(--forest); }
.featured-card-bottom .button svg { width:16px; height:16px; }
.seed-editorial { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; padding-block:112px; }
.editorial-copy .eyebrow { margin-bottom:24px; }
.editorial-copy h2 { margin-bottom:24px; max-width:480px; }
.editorial-copy>p,.editorial-panel p { max-width:440px; color:var(--muted); font-size:15px; line-height:1.8; }
.editorial-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:32px 0 24px; }
.editorial-tabs button { min-height:44px; padding:12px 16px; background:var(--stone); border-radius:1000px; font-size:12px; }
.editorial-tabs button[aria-selected="true"],.editorial-tabs button.active { background:var(--forest); color:var(--snow); }
.editorial-panel { min-height:112px; }
.editorial-panel h3 { font-size:21px; margin-bottom:8px; }
.editorial-panel .text-link { margin-top:8px; }
.editorial-visual { position:relative; min-height:560px; border-radius:32px; overflow:hidden; background:var(--stone); }
.editorial-visual>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.glass-note { position:absolute; left:24px; right:24px; bottom:24px; display:flex; align-items:center; gap:16px; padding:24px; border-radius:16px; background:rgba(252,252,247,.78); backdrop-filter:blur(18px); font-size:13px; line-height:1.6; }
.glass-note svg { width:32px; height:32px; }
.glass-note strong { display:block; font-size:14px; font-weight:500; margin-bottom:4px; }
.glass-note small { font-size:11px; }
.glass-note>div>span { display:block; font-family:var(--mono); font-size:9px; line-height:1.7; margin-bottom:8px; }
.glass-note p { font-size:13px; line-height:1.7; }
.catalog { background:var(--paper); }
.catalog .section-heading { margin-bottom:40px; }
.catalog-title-mobile,.category-all-short,.mobile-break,.mobile-catalog-controls,.carousel-navigation,.mobile-dock,.detail-mobile-bar,.detail-pager,.add-label,.card-discover { display:none; }
.catalog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:32px; }
.category-tabs { display:flex; align-items:center; gap:8px; overflow-x:auto; scrollbar-width:none; }
.category-tabs::-webkit-scrollbar { display:none; }
.category-tabs button { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:12px 16px; border-radius:1000px; font-size:12px; white-space:nowrap; background:var(--stone); transition:background .2s,color .2s; }
.category-tabs button.active { background:var(--forest); color:var(--snow); }
.category-tabs button:not(.active):hover { background:var(--stone-dark); }
.category-tabs button svg { width:14px; height:14px; }
.category-tabs #total-count { font-family:var(--mono); font-size:9px; opacity:.7; }
.sort-label { display:flex; align-items:center; gap:8px; flex-shrink:0; min-height:44px; font-size:12px; }
.sort-label select { max-width:150px; min-height:44px; border:0; background:transparent; appearance:none; padding:8px 0; cursor:pointer; }
.sort-label svg { width:16px; height:16px; }
.products-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 24px; }
.product-card { min-width:0; display:flex; flex-direction:column; animation:card-in .5s var(--ease) both; }
.product-image-wrap { position:relative; overflow:hidden; border-radius:16px; background:var(--stone); height:auto; aspect-ratio:1; }
.product-image-button { display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:0; }
.product-image-button img { width:100%; height:100%; object-fit:cover; mix-blend-mode:normal; transition:transform .5s var(--ease); }
.product-image-button:hover img { transform:scale(1.05); }
.product-badge { position:absolute; z-index:1; top:20px; left:16px; max-width:calc(100% - 72px); font-size:8px; line-height:1.5; pointer-events:none; }
.favorite-toggle { position:absolute; top:8px; right:8px; z-index:2; }
.favorite-toggle svg { width:20px; height:20px; }
.favorite-toggle.is-saved { color:var(--forest); background:#e0e8d6; }
.favorite-toggle.is-saved svg { fill:currentColor; fill-opacity:.12; }
.product-card-info { display:flex; flex:1; flex-direction:column; min-width:0; padding-top:20px; }
.product-card-info>.product-code { margin-bottom:12px; }
.product-category { display:flex; align-items:center; gap:6px; font-family:var(--mono); font-size:8px; line-height:1.5; text-transform:uppercase; letter-spacing:.025em; color:var(--muted); margin-bottom:10px; }
.product-category svg { width:13px; height:13px; }
.product-title { font-size:22px; font-weight:350; line-height:1.2; }
.product-title button { min-height:44px; text-align:left; font:inherit; }
.product-title button:hover { text-decoration:underline; text-underline-offset:4px; }
.product-package { font-size:11px; line-height:1.6; color:var(--muted); min-height:18px; margin:6px 0 20px; }
.product-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto; }
.product-price { display:block; font-size:21px; line-height:1.2; letter-spacing:-.035em; font-weight:400; }
.product-availability { display:flex; align-items:center; gap:4px; margin-top:5px; font-size:9px; color:#52664a; line-height:1.5; }
.product-availability svg { width:12px; height:12px; }
.product-availability.unavailable { color:#766f5c; }
.add-button { width:44px; height:44px; min-width:44px; display:flex; align-items:center; justify-content:center; border-radius:1000px; background:var(--forest); color:var(--snow); transition:background .2s,transform .2s; }
.add-button svg { width:19px; height:19px; }
.add-button:hover { background:#2a501e; transform:translateY(-1px); }
.add-button:active { transform:scale(.96); }
.catalog-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:48px; }
.catalog-bottom>span { font-family:var(--mono); font-size:9px; color:var(--muted); }
.filter-summary { margin-bottom:24px; font-size:12px; color:var(--muted); }
.empty-state { grid-column:1/-1; padding:64px 16px; text-align:center; }
.empty-state>svg { width:40px; height:40px; margin:0 auto 24px; color:var(--muted); }
.empty-state h3 { font-size:30px; line-height:1.2; margin-bottom:16px; }
.empty-state p { font-size:14px; line-height:1.8; color:var(--muted); }
.empty-state .button { margin-top:24px; }
.loading-message { grid-column:1/-1; padding:64px 0; font-size:14px; color:var(--muted); }
.seed-principles { background:var(--forest); color:var(--snow); padding:96px 0; }
.seed-principles .seed-section-heading>p { color:#d3dacb; }
.principles-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:64px; margin-top:64px; }
.principles-grid article { min-width:0; }
.principle-icon { display:flex; align-items:center; min-height:56px; margin-bottom:40px; }
.principle-icon svg { width:48px; height:48px; stroke-width:1.25; }
.principle-number { display:block; color:#c6d0bd; font-size:9px; margin-bottom:16px; }
.principles-grid h3 { font-size:28px; line-height:1.15; margin-bottom:16px; }
.principles-grid p { color:#d3dacb; font-size:14px; line-height:1.8; }
.seed-ritual { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:96px; padding-block:112px; }
.ritual-visual { min-height:620px; position:relative; overflow:hidden; border-radius:32px; background:var(--stone); }
.ritual-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ritual-visual>span { position:absolute; left:24px; bottom:24px; font-family:var(--mono); font-size:9px; line-height:1.6; padding:8px 12px; border-radius:1000px; background:rgba(252,252,247,.8); backdrop-filter:blur(12px); }
.ritual-copy .eyebrow { margin-bottom:24px; }
.ritual-copy h2 { margin-bottom:24px; }
.ritual-copy>p { color:var(--muted); font-size:15px; line-height:1.8; max-width:420px; }
.ritual-steps { display:grid; gap:32px; margin-top:40px; }
.ritual-steps article,.ritual-steps>div { position:relative; padding-left:48px; }
.ritual-steps .step-number,.ritual-steps .ritual-step-number,.ritual-steps article>span,.ritual-steps>div>span { position:absolute; left:0; top:3px; font-family:var(--mono); font-size:10px; }
.ritual-steps h3 { font-size:22px; line-height:1.2; margin-bottom:8px; }
.ritual-steps p { font-size:13px; line-height:1.8; color:var(--muted); }
.ritual-copy>.button,.ritual-copy>.text-link { margin-top:32px; }
.faq { display:grid; grid-template-columns:1fr 1.15fr; gap:80px; padding-top:64px; padding-bottom:112px; }
.faq>div>.eyebrow { margin-bottom:24px; }
.faq h2 { margin-bottom:24px; }
.faq-list details { border-bottom:1px solid var(--line); padding:24px 0; }
.faq-list details:first-child { padding-top:0; }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:32px; list-style:none; cursor:pointer; font-size:14px; line-height:1.5; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list .accordion-icon { width:18px; height:18px; margin-left:auto; transition:transform .2s; }
details[open] .accordion-icon { transform:rotate(45deg); }
.faq-list details p { padding-top:16px; max-width:94%; font-size:13px; line-height:1.8; color:var(--muted); }
.seed-start { padding:96px 24px; background:var(--forest); color:var(--snow); text-align:center; }
.seed-start .eyebrow { justify-content:center; margin-bottom:24px; }
.seed-start h2 { max-width:600px; margin:0 auto 24px; }
.seed-start p { max-width:400px; margin:0 auto; font-size:15px; line-height:1.8; color:#d3dacb; }
.seed-start .button { margin:32px 0 0; background:var(--snow); color:var(--forest); }
.seed-start .text-link { margin-top:16px; }
.seed-start .seed-container { display:flex; align-items:center; flex-direction:column; }
footer { padding:64px 0 24px; background:var(--paper); color:var(--forest); }
.footer-top { display:grid; grid-template-columns:1.8fr 1fr 1.1fr; gap:48px; }
.footer-top .wordmark { font-size:48px; }
.footer-top p { font-size:12px; line-height:1.8; margin-top:16px; color:var(--muted); }
.footer-top h3 { font-family:var(--mono); font-size:10px; font-weight:400; letter-spacing:.025em; text-transform:uppercase; margin-bottom:20px; }
.footer-top .footer-lead { font-family:var(--font); font-size:32px; font-weight:350; letter-spacing:-.045em; text-transform:none; line-height:1.15; margin-top:24px; }
.footer-top>div>a:not(.wordmark),.footer-top button { display:flex; align-items:center; gap:6px; min-height:32px; font-size:12px; text-align:left; line-height:1.5; margin-bottom:4px; }
.footer-top a svg,.footer-bottom a svg { width:13px; height:13px; }
.footer-top a:hover,.footer-top button:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-note { display:flex; align-items:flex-start; gap:16px; }
.footer-note p { margin-top:0; color:var(--forest); }
.footer-note>.small-star { margin-top:3px; }
.footer-brand { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding-top:80px; font-size:clamp(120px,26vw,360px); font-weight:500; line-height:.85; letter-spacing:-.09em; margin-left:-.04em; overflow:hidden; }
.footer-brand .wordmark { font-size:inherit; letter-spacing:inherit; font-weight:500; line-height:.85; }
.footer-brand .brand-mark { width:.09em; height:.09em; margin:.06em 0 0 .04em; }
.footer-brand p { font-size:12px; line-height:1.7; letter-spacing:normal; margin:0 0 8px; white-space:nowrap; }
.supplement-note { max-width:720px; font-size:10px; line-height:1.8; color:var(--muted); margin:48px 0 24px; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid var(--line); padding-top:24px; font-family:var(--mono); font-size:8px; line-height:1.6; color:var(--muted); }
.footer-bottom a { display:flex; align-items:center; gap:8px; }
.reveal { opacity:1; transform:none; }
.js-motion .reveal:not(.is-visible) { opacity:0; transform:translateY(16px); }
.js-motion .reveal { transition:opacity .7s var(--ease),transform .7s var(--ease); }
dialog { border:0; padding:32px; border-radius:24px; color:var(--ink); background:var(--paper); max-width:calc(100% - 32px); max-height:90dvh; }
dialog[open] { animation:dialog-in .28s var(--ease); }
dialog::backdrop { background:rgba(17,36,14,.48); backdrop-filter:blur(6px); }
.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.dialog-heading h2 { font-size:28px; letter-spacing:-.045em; line-height:1.2; }
.dialog-heading .cart-count { vertical-align:middle; margin-left:5px; }
.dialog-heading>.icon-button { flex-shrink:0; }
.search-dialog { width:680px; margin:12vh auto auto; }
.search-field { display:flex; align-items:center; gap:16px; border-bottom:1px solid var(--forest); padding:8px 0 16px; }
.search-field input { min-width:0; width:100%; min-height:44px; background:transparent; border:0; font-size:18px; outline:none; }
.search-field input:focus-visible { outline:none; }
.search-result { display:flex; align-items:center; width:100%; gap:20px; padding:16px 0; border-bottom:1px solid var(--line); text-align:left; }
.search-result:hover { background:var(--stone); }
.search-result img { width:64px; height:64px; flex-shrink:0; border-radius:8px; object-fit:cover; }
.search-result>div { flex:1; min-width:0; }
.search-result strong { display:block; font-size:16px; font-weight:400; letter-spacing:-.025em; line-height:1.3; }
.search-result small { display:block; margin-top:6px; color:var(--muted); font-size:10px; line-height:1.6; }
.search-result>span { white-space:nowrap; font-size:13px; }
.search-result>span svg { width:14px; height:14px; vertical-align:middle; }
.search-prompt { font-size:12px; line-height:1.8; color:var(--muted); padding:24px 0; }
.product-dialog { width:960px; padding:0; }
.floating-close { position:absolute; right:16px; top:16px; z-index:3; background:rgba(252,252,247,.85); }
.detail-favorite { top:16px; right:68px; background:rgba(252,252,247,.85); }
.product-detail-layout { display:grid; grid-template-columns:1fr 1.1fr; }
.detail-image { position:relative; align-self:start; overflow:hidden; background:var(--stone); }
.detail-image img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.detail-copy { padding:64px 32px 32px; }
.detail-copy .eyebrow { font-size:8px; margin-bottom:16px; color:var(--muted); }
.detail-copy h2 { font-size:38px; margin-bottom:12px; line-height:1.1; overflow-wrap:anywhere; }
.detail-package { font-family:var(--mono); font-size:10px; color:var(--muted); margin-bottom:16px; }
.detail-copy>.detail-description { margin:24px 0; font-size:13px; line-height:1.8; color:var(--muted); }
.detail-facts { display:flex; gap:24px; padding:20px 0; margin-top:24px; border-block:1px solid var(--line); }
.detail-facts>div { display:flex; align-items:center; gap:8px; font-size:10px; }
.detail-facts svg { width:24px; height:24px; }
.detail-facts small { display:block; margin-top:4px; font-size:8px; color:var(--muted); }
.detail-price { margin:24px 0; font-size:28px; font-weight:400; letter-spacing:-.04em; }
.detail-add-row { display:flex; gap:12px; align-items:center; }
.quantity-control { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:1000px; overflow:hidden; flex-shrink:0; }
.quantity-control button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; }
.quantity-control button:hover { background:var(--stone); }
.quantity-control span { min-width:24px; text-align:center; font-family:var(--mono); font-size:12px; }
.quantity-control svg { width:15px; height:15px; }
.detail-add-row>.button { flex:1; padding-inline:16px; gap:12px; font-size:11px; }
.detail-accordion { margin-top:24px; }
.detail-accordion details { border-top:1px solid var(--line); padding:16px 0; font-size:12px; }
.detail-accordion summary { display:flex; align-items:center; gap:8px; min-height:28px; cursor:pointer; list-style:none; }
.detail-accordion summary::-webkit-details-marker { display:none; }
.detail-accordion summary>svg { width:16px; height:16px; }
.detail-accordion summary>.accordion-icon { margin-left:auto; width:14px; height:14px; }
.detail-accordion p { margin-top:16px; line-height:1.8; color:var(--muted); white-space:pre-line; }
.detail-source { display:block; font-size:9px; line-height:1.8; color:var(--muted); margin-top:16px; text-decoration:underline; text-underline-offset:3px; }
.detail-source svg { width:12px; height:12px; vertical-align:middle; }
.cart-dialog { width:480px; height:100dvh; max-width:100%; max-height:100dvh; margin:0 0 0 auto; padding:32px; border-radius:24px 0 0 24px; overflow:auto; }
.cart-dialog[open] { animation:drawer-in .35s var(--ease); }
.cart-item { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:16px; padding:24px 0; border-bottom:1px solid var(--line); }
.cart-item-image { height:auto; aspect-ratio:1; padding:0; border-radius:12px; background:var(--stone); display:flex; align-items:center; justify-content:center; }
.cart-item-image img { width:100%; height:100%; border-radius:inherit; object-fit:cover; }
.cart-item h3 { font-size:16px; font-weight:400; letter-spacing:-.025em; line-height:1.3; }
.cart-item small { display:block; margin:6px 0 12px; color:var(--muted); font-size:9px; line-height:1.5; }
.cart-item .quantity-control button { width:36px; height:44px; min-width:36px; }
.cart-item .quantity-control span { min-width:20px; font-size:10px; }
.cart-item-end { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; gap:16px; font-size:12px; white-space:nowrap; }
.cart-remove { display:flex; align-items:center; gap:4px; min-height:44px; font-size:10px; color:var(--muted); text-decoration:underline; text-underline-offset:4px; }
.cart-summary { padding-top:32px; }
.summary-row { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:12px; line-height:1.5; margin-bottom:16px; }
.summary-row>span:last-child,.summary-row>strong:last-child { flex-shrink:0; }
.summary-row.total { font-size:20px; border-top:1px solid var(--line); padding-top:24px; margin-top:24px; }
.summary-row strong { font-weight:450; }
.cart-summary>.button { width:100%; margin-top:16px; gap:16px; }
.demo-note { font-size:10px; color:var(--muted); line-height:1.8; margin:20px 0; padding:16px; border-radius:12px; background:var(--stone); }
.cart-continue { display:block; margin:16px auto 0; min-height:44px; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.checkout-dialog { width:760px; }
.checkout-progress { display:flex; gap:12px; font-family:var(--mono); font-size:9px; line-height:1.6; margin-bottom:24px; }
.checkout-progress span { flex:1; padding-bottom:12px; border-bottom:2px solid var(--line); color:var(--muted); }
.checkout-progress span.active { border-color:var(--forest); color:var(--forest); }
.checkout-form { display:grid; grid-template-columns:1fr 1fr; gap:20px 16px; }
.checkout-form label { display:block; font-size:11px; line-height:1.5; }
.checkout-form input:not([type=checkbox]),.checkout-form select { display:block; width:100%; min-width:0; min-height:48px; margin-top:8px; padding:12px 16px; border:1px solid var(--line); border-radius:8px; background:var(--paper); }
.checkout-form .full { grid-column:1/-1; }
.checkout-form .button { justify-self:end; margin-top:8px; }
.checkout-actions { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:32px; }
.checkout-actions .text-link { gap:8px; font-size:12px; }
.checkout-subtitle { font-size:21px; margin:24px 0 16px; }
.checkout-options { display:grid; gap:12px; margin:16px 0 24px; }
.checkout-options label { display:flex; align-items:center; gap:16px; min-height:80px; padding:16px; border:1px solid var(--line); border-radius:16px; font-size:13px; cursor:pointer; }
.checkout-options label:has(input:checked) { border-color:var(--forest); background:var(--stone); }
.checkout-options input { width:18px; height:18px; flex-shrink:0; accent-color:var(--forest); }
.checkout-options label>span { flex:1; }
.checkout-options small { display:block; margin-top:5px; color:var(--muted); font-size:10px; line-height:1.5; }
.checkout-options b { font-size:11px; font-weight:450; white-space:nowrap; }
.review-address { font-size:12px; line-height:1.8; background:var(--stone); border-radius:16px; padding:24px; margin-bottom:24px; }
.review-items { font-size:12px; line-height:1.8; margin:24px 0; }
.checkout-success { text-align:center; padding:24px 0; }
.success-icon { display:flex; align-items:center; justify-content:center; width:72px; height:72px; border-radius:1000px; background:var(--stone); margin:0 auto 24px; }
.success-icon svg { width:32px; height:32px; }
.checkout-success .eyebrow { justify-content:center; margin-bottom:16px; }
.checkout-success h3 { font-size:36px; line-height:1.15; letter-spacing:-.045em; margin-bottom:24px; }
.checkout-success p { font-size:13px; line-height:1.8; color:var(--muted); margin-bottom:24px; }
.info-dialog { width:540px; }
.info-dialog p { font-size:13px; line-height:1.8; margin-bottom:24px; color:var(--muted); }
.filters-dialog { width:560px; }
.filters-dialog .eyebrow { font-size:8px; color:var(--muted); margin-bottom:8px; }
.filters-dialog fieldset { border:0; margin:24px 0; padding:0; }
.filters-dialog legend,.filter-sort-label { display:block; margin-bottom:16px; font-size:12px; font-weight:450; }
.filter-categories { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.filter-categories label { position:relative; display:flex; align-items:center; gap:8px; min-height:64px; padding:16px 12px; border:1px solid var(--line); border-radius:16px; font-size:11px; cursor:pointer; }
.filter-categories label:has(input:checked) { background:var(--forest); border-color:var(--forest); color:var(--snow); }
.filter-categories input { position:absolute; width:1px; height:1px; opacity:0; }
.filter-categories label:has(input:focus-visible) { outline:2px solid #5d863f; outline-offset:3px; }
.filter-categories svg { width:22px; height:22px; }
.filter-sort-label select { display:block; margin-top:8px; padding:12px 16px; min-height:48px; width:100%; border:1px solid var(--line); border-radius:8px; background:var(--paper); font-size:14px; }
.stock-toggle { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:44px; margin:24px 0; font-size:13px; cursor:pointer; }
.stock-toggle small { display:block; margin-top:4px; color:var(--muted); font-size:10px; }
.stock-toggle input { position:relative; flex-shrink:0; appearance:none; width:48px; height:28px; margin:0; border-radius:1000px; background:#dbe0d3; cursor:pointer; transition:background .2s; }
.stock-toggle input::before { content:''; position:absolute; left:4px; top:4px; width:20px; height:20px; border-radius:1000px; background:var(--snow); transition:transform .2s; }
.stock-toggle input::after { content:''; position:absolute; inset:-8px 0; }
.stock-toggle input:checked { background:var(--forest); }
.stock-toggle input:checked::before { transform:translateX(20px); }
.filter-sheet-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:24px; border-top:1px solid var(--line); }
.filter-sheet-actions .button { gap:16px; font-size:12px; }
.filter-sheet-actions .text-link { font-size:12px; }
.sheet-handle { display:none; }
.finder-dialog { width:680px; }
.finder-progress { display:flex; gap:8px; margin:0 0 32px; }
.finder-progress span { flex:1; padding-top:8px; border-top:2px solid var(--line); font:9px/1.5 var(--mono); letter-spacing:.02em; }
.finder-progress span.active { border-color:var(--forest); }
#finder-content h3 { font-size:32px; line-height:1.2; margin-bottom:16px; }
#finder-content>p,#finder-content form>p { color:var(--muted); font-size:13px; line-height:1.8; }
.finder-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:24px 0 32px; }
.finder-option { position:relative; display:flex; align-items:center; gap:12px; min-height:96px; padding:16px; border:1px solid var(--line); border-radius:16px; cursor:pointer; font-size:13px; line-height:1.4; }
.finder-option:has(input:checked) { border-color:var(--forest); background:var(--stone); }
.finder-option input { width:18px; height:18px; flex-shrink:0; accent-color:var(--forest); }
.finder-option>svg { width:24px; height:24px; }
.finder-option span { display:block; }
.finder-option strong { display:block; font-weight:450; }
.finder-option small { display:block; margin-top:6px; color:var(--muted); font-size:10px; line-height:1.6; }
.finder-actions { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:24px; }
.finder-actions>span { max-width:180px; font-family:var(--mono); font-size:9px; line-height:1.7; color:var(--muted); }
.finder-result { padding:8px 0 0; }
.finder-result .eyebrow { margin-bottom:16px; }
.finder-result>svg { display:block; width:36px; height:36px; margin-bottom:24px; }
.finder-preview { display:grid; gap:0; margin-top:24px; }
.finder-preview>span { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 0; border-bottom:1px solid var(--line); font-size:13px; line-height:1.5; }
.finder-preview small { flex-shrink:0; font-family:var(--mono); font-size:11px; }
.finder-result>p { color:var(--muted); font-size:13px; line-height:1.8; }
.finder-result .product-code { margin-bottom:16px; }
.finder-result .button { margin-top:24px; }
.finder-result img { height:220px; width:100%; object-fit:contain; mix-blend-mode:multiply; margin:24px 0; }
.toast { position:fixed; z-index:100; left:50%; bottom:24px; width:max-content; min-width:240px; max-width:calc(100% - 32px); padding:16px 24px; border-radius:1000px; background:var(--forest); color:var(--snow); font-size:12px; line-height:1.5; text-align:center; opacity:0; pointer-events:none; transform:translate(-50%,16px); transition:opacity .25s,transform .25s; }
.toast.visible { opacity:1; transform:translate(-50%,0); }
.mobile-nav { display:none; }
@keyframes hero-enter { from { opacity:.3; transform:scale(1.025); } to { opacity:1; transform:scale(1); } }
@keyframes card-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@keyframes dialog-in { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes drawer-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
@media(min-width:1600px) {
  .header { padding-inline:max(40px,calc((100vw - 1440px)/2)); }
  .hero { max-width:1568px; margin-inline:auto; }
  .hero-content { margin-left:max(64px,calc((1568px - 1200px)/2)); }
  .hero-bottom { left:max(64px,calc((1568px - 1200px)/2)); }
}
@media(max-width:1100px) and (min-width:761px) {
  .header { padding-inline:24px; gap:20px; }
  .header nav { gap:20px; margin-left:0; font-size:11px; }
  .header .favorites-button { display:none; }
  .header-finder { display:none; }
  .cart-word { display:none; }
  .hero-content { margin-left:48px; }
  .hero h1 { max-width:440px; font-size:56px; }
  .hero-bottom { left:48px; }
  .seed-container { width:calc(100% - 64px); }
  .section-pad { padding-inline:32px; }
  .seed-editorial { gap:48px; }
  .seed-ritual { gap:48px; }
  .featured-grid,.products-grid { gap:32px 16px; }
  .featured-card h3 { font-size:22px; min-height:56px; }
  .featured-card-bottom { gap:8px; }
  .featured-card-bottom>span { font-size:16px; }
  .featured-card-bottom .button { padding:12px; font-size:10px; gap:6px; }
  .product-title { font-size:19px; }
  .principles-grid { gap:40px; }
  .footer-top { gap:32px; }
}
@media(max-width:760px) {
  html { scroll-padding-top:88px; }
  body { padding-bottom:calc(96px + env(safe-area-inset-bottom)); overflow-x:clip; }
  h2 { font-size:40px; }
  .header { height:calc(72px + env(safe-area-inset-top)); padding:env(safe-area-inset-top) 16px 0; gap:8px; }
  .header>.wordmark { position:absolute; left:50%; transform:translateX(-50%); font-size:38px; letter-spacing:-3px; align-items:center; }
  .header>.wordmark .brand-mark { width:16px; height:16px; margin:0 0 13px 4px; }
  .header .menu-button { display:flex; margin-left:-4px; margin-right:auto; }
  .header .header-actions { margin-left:auto; gap:0; }
  .header-finder { display:none; }
  .header .header-actions>.icon-button,.header .cart-button { width:44px; height:44px; min-width:44px; padding:0; }
  .header .favorites-button { display:none; }
  .header .cart-word { display:none; }
  .header .cart-button { position:relative; }
  .header .cart-count { position:absolute; top:2px; right:1px; height:17px; min-width:17px; font-size:8px; border:2px solid var(--paper); }
  .header nav { display:none; position:absolute; left:0; right:0; top:100%; margin:0; padding:16px 24px 24px; border-radius:0 0 24px 24px; background:var(--paper); border-bottom:1px solid var(--line); }
  .header nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .header nav a { min-height:52px; justify-content:space-between; font-size:16px; padding:12px 0; }
  .header nav a svg { width:18px; height:18px; }
  .icon-button { width:44px; height:44px; min-width:44px; }
  .icon-button svg { width:23px; height:23px; }
  .hero { margin:0 8px; height:640px; min-height:640px; border-radius:0 0 24px 24px; background:#e9e9df; }
  .hero-image { object-position:center center; }
  .hero-content { margin:0; padding:32px 24px; max-width:100%; }
  .hero .eyebrow { font-size:10px; gap:8px; }
  .hero .eyebrow svg { width:16px; height:16px; }
  .hero h1 { font-size:44px; max-width:340px; letter-spacing:-.055em; margin:24px 0 16px; line-height:1.05; }
  .hero-content>p { max-width:295px; font-size:13px; line-height:1.75; }
  .hero-actions { gap:16px; margin-top:24px; }
  .hero-actions .button { min-height:46px; padding:13px 20px; gap:16px; font-size:11px; }
  .hero-actions .text-link { font-size:11px; gap:6px; }
  .hero-actions .text-link svg { width:15px; height:15px; }
  .hero-bottom { left:24px; right:24px; bottom:16px; max-width:none; font-size:9px; line-height:1.7; justify-content:space-between; gap:8px; }
  .hero-bottom>a { font-size:0; gap:0; width:44px; justify-content:center; }
  .hero-bottom>a svg { width:18px; height:18px; }
  .hero-caption { display:none; }
  .button { min-height:48px; padding:14px 24px; font-size:12px; gap:20px; }
  .text-link { font-size:12px; }
  .eyebrow { font-size:10px; line-height:1.8; }
  .seed-container { width:calc(100% - 48px); }
  .section-pad { padding:64px 24px; }
  .seed-section-heading,.section-heading { display:block; margin-bottom:32px; }
  .seed-section-heading .eyebrow,.section-heading .eyebrow { margin-bottom:16px; }
  .seed-section-heading h2,.section-heading h2 { max-width:420px; }
  .seed-section-heading>p,.section-intro { margin-top:20px; font-size:13px; max-width:330px; }
  .seed-section-heading>.text-link { margin-top:16px; }
  .seed-section-heading>div:last-child:not(:first-child)>p { margin-top:24px; font-size:13px; }
  .seed-featured { margin-top:8px; padding:56px 0 64px; overflow:hidden; }
  .seed-featured .seed-section-heading { margin-bottom:32px; }
  .featured-grid { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc(100vw - 88px); gap:16px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-left:24px; padding:0 24px 4px; margin-inline:-24px; scrollbar-width:none; overscroll-behavior-x:contain; }
  .featured-grid::-webkit-scrollbar { display:none; }
  .featured-card { scroll-snap-align:start; }
  .featured-card h3 { min-height:64px; font-size:28px; line-height:1.15; margin:16px 0 8px; }
  .featured-package { font-size:10px; margin-bottom:24px; }
  .product-code { font-size:10px; min-height:25px; padding:4px 8px; }
  .featured-card-bottom { margin-top:20px; }
  .featured-card-bottom>span { font-size:22px; }
  .featured-card-bottom strong { font-size:22px; }
  .featured-card-bottom small { font-size:9px; }
  .featured-card-bottom .button { min-height:44px; padding:12px 20px; gap:16px; font-size:11px; }
  .seed-editorial { display:flex; flex-direction:column; gap:32px; padding-block:64px; align-items:stretch; }
  .editorial-copy .eyebrow { margin-bottom:16px; }
  .editorial-copy h2 { margin-bottom:24px; max-width:380px; }
  .editorial-copy>p,.editorial-panel p { max-width:100%; font-size:13px; line-height:1.8; }
  .editorial-tabs { flex-wrap:nowrap; gap:8px; margin:24px 0; overflow-x:auto; scrollbar-width:none; padding-bottom:4px; }
  .editorial-tabs button { white-space:nowrap; flex-shrink:0; padding:12px 14px; min-height:44px; font-size:11px; }
  .editorial-panel { min-height:112px; }
  .editorial-panel h3 { font-size:22px; }
  .editorial-visual { width:100%; min-height:430px; border-radius:24px; }
  .glass-note { left:16px; right:16px; bottom:16px; padding:20px; gap:12px; font-size:11px; }
  .glass-note strong { font-size:12px; }
  .glass-note small { font-size:10px; }
  .glass-note svg { width:28px; height:28px; }
  .glass-note>div>span { font-size:9px; }
  .glass-note p { font-size:12px; }
  .catalog { padding:24px 0 64px; }
  .catalog .section-heading { padding-inline:24px; margin-bottom:24px; }
  .catalog .section-heading .eyebrow { font-size:10px; margin-bottom:16px; }
  .catalog-title-desktop { display:none; }
  .catalog-title-mobile { display:block; }
  .catalog-title-mobile em { font-style:normal; }
  .catalog .section-intro { display:none; }
  .catalog-toolbar { display:block; margin:0 0 16px; }
  .category-tabs { padding-inline:24px; gap:8px; scroll-padding-left:24px; }
  .category-tabs button { min-height:44px; padding:12px 16px; font-size:11px; }
  .category-all-full { display:none; }
  .category-all-short { display:inline; }
  .category-tabs #total-count { font-size:8px; }
  .sort-label { display:none; }
  .mobile-catalog-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:8px 24px 20px; }
  .catalog-result { display:block; font-size:12px; font-weight:450; line-height:1.4; }
  .catalog-hint { display:block; color:var(--muted); font-size:10px; margin-top:4px; }
  .catalog-tools { display:flex; align-items:center; gap:8px; }
  .view-switch { display:flex; background:var(--stone); border-radius:1000px; padding:3px; }
  .view-switch .icon-button { width:40px; min-width:40px; height:40px; }
  .view-switch .icon-button::before { content:''; position:absolute; inset:-2px 0; }
  .view-switch .icon-button.active { background:var(--paper); }
  .view-switch svg { width:18px; height:18px; }
  .filter-trigger { border:1px solid var(--line); }
  .filter-trigger svg { width:20px; height:20px; }
  .filter-dot { position:absolute; top:5px; right:5px; width:7px; height:7px; border-radius:50%; background:var(--forest); border:2px solid var(--paper); }
  .filter-summary { margin:0 24px 20px; font-size:11px; }
  .products-grid { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc(100vw - 72px); gap:14px; align-items:stretch; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-left:24px; overscroll-behavior-x:contain; padding:0 24px 4px; scrollbar-width:none; }
  .products-grid::-webkit-scrollbar { display:none; }
  .product-card { scroll-snap-align:start; min-width:0; }
  .product-image-wrap { border-radius:16px; background:var(--stone); }
  .product-image-button img { transform:none; }
  .product-image-button:hover img { transform:none; }
  .product-badge { top:24px; left:20px; font-size:10px; }
  .product-image-wrap .favorite-toggle { top:12px; right:12px; }
  .card-discover { position:absolute; right:12px; bottom:8px; display:flex; align-items:center; gap:6px; min-height:44px; padding:8px; color:var(--muted); font-size:10px; }
  .card-discover svg { width:14px; height:14px; }
  .product-card-info { padding:20px 0 4px; }
  .product-card-info>.product-code { margin-bottom:12px; }
  .product-category { font-size:10px; margin-bottom:12px; gap:6px; }
  .product-category svg { width:14px; height:14px; }
  .product-title { font-size:29px; line-height:1.12; }
  .product-package { font-size:11px; margin:8px 0 24px; min-height:18px; }
  .product-bottom { gap:16px; }
  .product-price { font-size:24px; }
  .product-availability { font-size:10px; margin-top:4px; }
  .add-button { width:auto; min-width:122px; height:48px; min-height:48px; padding:0 20px; gap:20px; }
  .add-label { display:inline; font-size:11px; }
  .add-button svg { width:18px; height:18px; }
  .add-button:disabled { padding-inline:12px; gap:8px; }
  .add-button:disabled .add-label { font-size:9px; }
  .carousel-navigation { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 24px 0; }
  .carousel-caption { font-family:var(--mono); font-size:9px; letter-spacing:.025em; max-width:130px; color:var(--muted); }
  .carousel-navigation>div { display:flex; align-items:center; gap:8px; }
  .carousel-navigation svg { width:18px; height:18px; }
  #carousel-progress { min-width:48px; font-family:var(--mono); font-size:10px; text-align:center; color:var(--muted); }
  .catalog-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; margin:24px 24px 0; }
  .catalog-bottom>.button { order:-1; width:100%; min-height:48px; }
  .catalog-bottom>span { min-width:0; font-size:9px; }
  .catalog-bottom>.text-link { font-size:10px; gap:8px; }
  body[data-catalog-view="grid"] .products-grid { grid-auto-flow:row; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-columns:auto; gap:32px 16px; overflow:visible; scroll-snap-type:none; padding-inline:24px; }
  body[data-catalog-view="grid"] .product-image-wrap { border-radius:16px; }
  body[data-catalog-view="grid"] .product-badge { top:16px; left:12px; font-size:8px; max-width:calc(100% - 48px); }
  body[data-catalog-view="grid"] .favorite-toggle { right:0; top:3px; }
  body[data-catalog-view="grid"] .favorite-toggle svg { width:17px; height:17px; }
  body[data-catalog-view="grid"] .card-discover { display:none; }
  body[data-catalog-view="grid"] .product-card-info { padding-top:16px; }
  body[data-catalog-view="grid"] .product-code { font-size:8px; min-height:22px; padding:4px 7px; margin-bottom:8px; }
  body[data-catalog-view="grid"] .product-category { font-size:8px; margin-bottom:6px; gap:4px; min-height:16px; }
  body[data-catalog-view="grid"] .product-category svg { width:11px; height:11px; }
  body[data-catalog-view="grid"] .product-title { font-size:20px; line-height:1.16; overflow-wrap:anywhere; }
  body[data-catalog-view="grid"] .product-title button { min-height:44px; }
  body[data-catalog-view="grid"] .product-package { font-size:8px; line-height:1.6; margin:6px 0 16px; }
  body[data-catalog-view="grid"] .product-bottom { flex-wrap:wrap; gap:8px; }
  body[data-catalog-view="grid"] .product-price { font-size:19px; }
  body[data-catalog-view="grid"] .product-availability { font-size:9px; gap:3px; }
  body[data-catalog-view="grid"] .product-availability svg { width:10px; height:10px; }
  body[data-catalog-view="grid"] .add-button { width:44px; height:44px; min-width:44px; min-height:44px; padding:0; }
  body[data-catalog-view="grid"] .add-label { display:none; }
  body[data-catalog-view="grid"] .carousel-navigation { display:none; }
  .products-grid>.empty-state { grid-column:1/-1; min-width:100%; padding:40px 4px; }
  .seed-principles { padding:64px 0; }
  .principles-grid { grid-template-columns:1fr; gap:40px; margin-top:40px; }
  .principle-icon { margin-bottom:24px; min-height:44px; }
  .principle-icon svg { width:40px; height:40px; }
  .principle-number { font-size:10px; margin-bottom:12px; }
  .principles-grid h3 { font-size:28px; margin-bottom:12px; }
  .principles-grid p { max-width:400px; font-size:13px; line-height:1.8; }
  .seed-ritual { display:flex; flex-direction:column; align-items:stretch; gap:40px; padding-block:64px; }
  .ritual-visual { min-height:450px; border-radius:24px; }
  .ritual-copy .eyebrow { margin-bottom:16px; }
  .ritual-copy h2 { max-width:400px; margin-bottom:24px; }
  .ritual-copy>p { font-size:13px; }
  .ritual-steps { margin-top:32px; gap:24px; }
  .ritual-steps h3 { font-size:23px; }
  .ritual-steps p { font-size:12px; line-height:1.8; }
  .ritual-steps article,.ritual-steps>div { padding-left:40px; }
  .ritual-steps .step-number,.ritual-steps .ritual-step-number,.ritual-steps article>span,.ritual-steps>div>span { top:4px; font-size:9px; }
  .faq { grid-template-columns:1fr; gap:40px; padding-top:32px; padding-bottom:64px; }
  .faq>div>.eyebrow { margin-bottom:16px; }
  .faq h2 { font-size:40px; margin-bottom:16px; }
  .faq-list details { padding:20px 0; }
  .faq-list summary { min-height:36px; font-size:13px; gap:16px; }
  .faq-list details p { max-width:100%; font-size:12px; line-height:1.9; }
  .seed-start { padding:64px 24px; }
  .seed-start .eyebrow { margin-bottom:16px; font-size:10px; }
  .seed-start h2 { max-width:360px; font-size:40px; }
  .seed-start p { max-width:320px; font-size:13px; }
  .seed-start .button { min-height:48px; margin-top:24px; }
  footer { padding:48px 0 24px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:32px 24px; }
  .footer-top>div:first-child { grid-column:1/-1; }
  .footer-top .wordmark { font-size:42px; }
  .footer-top .brand-mark { width:17px; height:17px; }
  .footer-top p { font-size:11px; margin-top:12px; }
  .footer-top h3 { font-size:10px; margin-bottom:12px; }
  .footer-top .footer-lead { font-size:28px; margin-top:16px; }
  .footer-top>div>a:not(.wordmark),.footer-top button { min-height:44px; margin:0; font-size:11px; }
  .footer-note { grid-column:1/-1; align-items:center; gap:16px; }
  .footer-note p { margin:0; }
  .footer-note>.small-star { margin:0; }
  .footer-brand { padding-top:48px; font-size:27vw; line-height:.95; }
  .footer-brand { gap:16px; align-items:flex-start; flex-direction:column; }
  .footer-brand p { font-size:11px; }
  .supplement-note { font-size:8px; line-height:1.9; margin:32px 0 24px; }
  .footer-bottom { flex-wrap:wrap; gap:16px; padding-top:24px; font-size:9px; }
  .footer-bottom>span:nth-child(2) { width:100%; order:2; }
  .footer-bottom a { margin-left:auto; gap:4px; }
  .footer-bottom svg { width:12px; height:12px; }
  .mobile-dock { display:flex; align-items:center; justify-content:space-around; position:fixed; z-index:35; bottom:calc(12px + env(safe-area-inset-bottom)); left:16px; right:16px; max-width:472px; margin:0 auto; padding:8px; background:var(--paper); border:1px solid var(--line); border-radius:24px; transition:opacity .2s,transform .25s var(--ease); }
  .mobile-dock button { position:relative; display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-width:56px; min-height:52px; padding:4px; color:var(--muted); border-radius:16px; }
  .mobile-dock button.active { background:var(--stone); color:var(--forest); }
  .mobile-dock button>svg { width:22px; height:22px; }
  .mobile-dock button>span:not(.dock-badge) { font-size:8px; line-height:1.5; }
  .mobile-dock .dock-badge { position:absolute; top:1px; right:calc(50% - 24px); display:flex; align-items:center; justify-content:center; width:17px; min-width:17px; height:17px; padding:0; border:2px solid var(--paper); border-radius:1000px; background:var(--forest); color:var(--snow); font-family:var(--mono); font-size:7px; line-height:1; }
  body:has(dialog[open]) .mobile-dock { opacity:0; pointer-events:none; transform:translateY(110%); }
  .toast { bottom:calc(104px + env(safe-area-inset-bottom)); min-width:240px; font-size:11px; padding:14px 20px; }
  body:has(dialog[open]) .toast { bottom:calc(24px + env(safe-area-inset-bottom)); }
  body:has(#product-dialog[open]) .toast { bottom:calc(164px + env(safe-area-inset-bottom)); }
  dialog { max-height:calc(100dvh - 16px); max-width:calc(100% - 16px); border-radius:24px; padding:24px; }
  .dialog-heading { gap:16px; margin-bottom:24px; }
  .dialog-heading h2 { font-size:28px; line-height:1.15; }
  .search-dialog { width:calc(100% - 16px); max-width:none; height:calc(100dvh - 16px); max-height:none; margin:8px; padding:24px; overflow:auto; overscroll-behavior:contain; }
  .search-dialog .dialog-heading h2 { max-width:230px; }
  .search-field { gap:12px; }
  .search-field input { font-size:16px; }
  .search-result { gap:12px; padding:20px 0; }
  .search-result img { width:56px; height:56px; }
  .search-result strong { font-size:16px; }
  .search-result small { font-size:9px; }
  .search-result>span { font-size:11px; }
  .search-result>span svg { width:12px; height:12px; }
  .search-prompt { font-size:11px; }
  .product-dialog { width:100%; max-width:100%; height:100dvh; max-height:100dvh; margin:0; padding:0; border-radius:0; overflow:hidden; }
  #product-detail { display:flex; flex-direction:column; height:100%; }
  .product-detail-layout { display:block; flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; }
  .product-dialog .floating-close { top:max(16px,env(safe-area-inset-top)); right:auto; left:16px; background:rgba(252,252,247,.9); }
  .detail-favorite { top:max(16px,env(safe-area-inset-top)); right:16px; width:44px; height:44px; background:rgba(252,252,247,.9); }
  .detail-image { padding-bottom:48px; }
  .detail-image img { width:100%; height:auto; }
  .detail-pager { position:absolute; bottom:4px; left:16px; right:16px; display:flex; align-items:center; justify-content:space-between; font-family:var(--mono); font-size:8px; letter-spacing:.035em; color:var(--muted); }
  .detail-pager .icon-button { width:44px; height:44px; }
  .detail-pager svg { width:18px; height:18px; }
  .detail-copy { padding:32px 24px; background:var(--paper); }
  .detail-copy .eyebrow { font-size:10px; margin-bottom:16px; }
  .detail-copy h2 { font-size:36px; line-height:1.08; margin-bottom:12px; }
  .detail-package { font-size:10px; margin-bottom:16px; }
  .detail-copy .product-availability { font-size:9px; margin:0; }
  .detail-copy>.detail-description { font-size:12px; line-height:1.9; margin:24px 0; }
  .detail-copy .detail-price,.detail-copy .detail-add-row { display:none; }
  .detail-facts { gap:16px; margin-top:24px; padding:20px 0; }
  .detail-facts>div { flex:1; font-size:10px; gap:8px; }
  .detail-facts small { font-size:8px; }
  .detail-facts svg { width:24px; height:24px; }
  .detail-accordion { margin-top:24px; }
  .detail-accordion details { padding:16px 0; font-size:12px; }
  .detail-accordion summary { min-height:32px; }
  .detail-accordion p { font-size:11px; line-height:1.9; }
  .detail-source { font-size:9px; line-height:1.9; }
  .detail-mobile-bar { display:grid; grid-template-columns:1fr auto; gap:12px 16px; align-items:center; padding:16px 24px calc(16px + env(safe-area-inset-bottom)); flex-shrink:0; background:var(--paper); border-top:1px solid var(--line); z-index:3; }
  .detail-mobile-price { display:block; font-size:26px; letter-spacing:-.045em; font-weight:400; line-height:1.1; }
  .detail-mobile-price-note { display:block; color:var(--muted); font-size:8px; margin-top:4px; }
  .detail-mobile-bar .quantity-control { height:44px; }
  .detail-mobile-bar .quantity-control button { width:44px; min-width:44px; height:44px; }
  .detail-mobile-bar .quantity-control span { min-width:24px; font-size:12px; }
  .detail-mobile-bar>.button { width:100%; grid-column:1/-1; min-height:48px; padding:14px 20px; gap:12px; font-size:12px; }
  .detail-mobile-bar>.button svg { width:18px; height:18px; }
  .detail-mobile-bar>.button svg:first-child { margin-right:auto; }
  .detail-mobile-bar>.button svg:last-child { margin-left:auto; }
  .cart-dialog { width:100%; max-width:100%; height:100dvh; max-height:100dvh; padding:24px 24px calc(24px + env(safe-area-inset-bottom)); margin:0; border-radius:0; overscroll-behavior:contain; }
  .cart-dialog[open] { animation:dialog-in .3s var(--ease); }
  .cart-item { grid-template-columns:56px minmax(0,1fr) auto; gap:12px; padding:24px 0; }
  .cart-item h3 { font-size:15px; }
  .cart-item small { font-size:8px; margin-bottom:8px; }
  .cart-item-image { border-radius:12px; }
  .cart-item .quantity-control button { width:36px; min-width:36px; height:44px; }
  .cart-item .quantity-control span { min-width:20px; }
  .cart-item-end { gap:12px; justify-content:flex-start; font-size:11px; }
  .cart-remove { font-size:9px; }
  .cart-summary>.button { font-size:12px; gap:16px; }
  .demo-note { font-size:10px; line-height:1.8; padding:16px; }
  .checkout-dialog { width:100%; max-width:100%; height:100dvh; max-height:100dvh; padding:24px 24px calc(24px + env(safe-area-inset-bottom)); margin:0; border-radius:0; overscroll-behavior:contain; }
  .checkout-form { gap:20px 12px; }
  .checkout-form label { font-size:10px; }
  .checkout-form input:not([type=checkbox]),.checkout-form select { font-size:16px; min-height:48px; padding:12px; }
  .checkout-form label:has(input[name=email]),.checkout-form label:has(input[name=phone]) { grid-column:1/-1; }
  .checkout-form .button { width:100%; margin-top:8px; justify-content:space-between; }
  .checkout-progress { gap:8px; font-size:9px; line-height:1.6; margin-bottom:24px; }
  .checkout-progress span { padding-bottom:12px; }
  .checkout-subtitle { font-size:21px; }
  .checkout-options label { min-height:88px; gap:12px; padding:16px 12px; font-size:12px; }
  .checkout-options input { width:18px; height:18px; min-width:18px; }
  .checkout-options small { font-size:9px; line-height:1.6; }
  .checkout-options b { font-size:10px; }
  .checkout-actions { gap:16px; }
  .checkout-actions .button { padding:14px 16px; gap:12px; font-size:10px; }
  .checkout-actions .button svg { width:16px; height:16px; }
  .checkout-actions .text-link { font-size:10px; gap:6px; }
  .checkout-actions .text-link svg { width:14px; height:14px; }
  .review-address { font-size:11px; line-height:1.9; padding:20px; }
  .review-items .summary-row { font-size:11px; gap:16px; }
  .summary-row.total { font-size:20px; }
  .checkout-success { padding-top:32px; }
  .checkout-success h3 { font-size:32px; }
  .checkout-success p { font-size:12px; }
  .checkout-success .button { gap:16px; font-size:11px; padding-inline:20px; }
  .filters-dialog { width:100%; max-width:100%; max-height:94dvh; margin:auto 0 0; padding:12px 24px calc(24px + env(safe-area-inset-bottom)); border-radius:24px 24px 0 0; overflow:auto; overscroll-behavior:contain; }
  .filters-dialog[open] { animation:dialog-in .3s var(--ease); }
  .sheet-handle { display:block; width:32px; height:4px; margin:0 auto 24px; border-radius:1000px; background:#cbd2c2; }
  .filters-dialog .dialog-heading h2 { font-size:28px; }
  .filter-categories label { min-height:64px; padding:12px; gap:8px; font-size:10px; }
  .filter-categories svg { width:22px; height:22px; }
  .filter-sort-label select { min-height:48px; font-size:16px; }
  .filter-sheet-actions { gap:12px; }
  .filter-sheet-actions .button { min-height:48px; font-size:10px; padding:14px 16px; gap:12px; }
  .filter-sheet-actions .text-link { font-size:10px; }
  .info-dialog p { font-size:12px; line-height:1.8; }
  .info-dialog .button { width:100%; padding:14px 16px; font-size:11px; }
  .finder-dialog { width:calc(100% - 16px); max-width:none; max-height:calc(100dvh - 16px); margin:8px; padding:24px; overflow:auto; overscroll-behavior:contain; }
  .finder-dialog .dialog-heading h2 { font-size:28px; }
  .finder-progress { margin-bottom:24px; }
  #finder-content h3 { font-size:30px; margin-bottom:16px; }
  #finder-content>p,#finder-content form>p { font-size:12px; }
  .finder-options { grid-template-columns:1fr; gap:8px; margin:24px 0; }
  .finder-option { min-height:80px; padding:16px; font-size:12px; }
  .finder-option small { font-size:10px; }
  .finder-actions { gap:16px; margin-top:24px; }
  .finder-actions .button { font-size:11px; padding:14px 20px; gap:12px; }
  .finder-actions .text-link { font-size:11px; }
  .finder-result p { font-size:12px; }
  .finder-result img { height:200px; }
}
@media(min-width:500px) and (max-width:1000px) {
  .hero { height:760px; min-height:760px; }
  .hero-image { object-position:right 70%; }
  .hero-content { margin:0; padding:32px; max-width:400px; }
  .hero h1 { font-size:44px; max-width:340px; margin:24px 0 16px; line-height:1.05; }
  .hero-content>p { font-size:13px; max-width:300px; line-height:1.75; }
  .hero-actions { gap:16px; margin-top:24px; }
  .hero-actions .button { min-height:46px; padding:13px 18px; gap:12px; font-size:11px; }
  .hero-actions .text-link { font-size:11px; gap:8px; }
}
@media(min-width:600px) and (max-width:760px) {
  .hero-bottom { left:40px; }
  .featured-grid { grid-auto-columns:360px; }
  .products-grid { grid-auto-columns:420px; }
  .editorial-visual { min-height:560px; }
  .ritual-visual { min-height:620px; }
}
@media(max-width:390px) {
  .hero h1 { font-size:44px; }
  .hero-content { padding:32px 20px; }
  .hero-actions { gap:12px; }
  .hero-actions .button { padding:13px 16px; gap:12px; }
  .hero-actions .text-link { font-size:10px; }
  .hero-bottom { left:20px; }
  .mobile-catalog-controls { gap:8px; }
  .catalog-hint { font-size:9px; }
  .product-title { font-size:27px; }
  .filter-sheet-actions .button { padding-inline:12px; gap:8px; }
  .cart-item { grid-template-columns:48px minmax(0,1fr) auto; gap:10px; }
  .cart-item .quantity-control button { width:32px; min-width:32px; }
}
@media(max-width:360px) {
  h2 { font-size:36px; }
  .header { padding-inline:12px; }
  .header>.wordmark { font-size:34px; letter-spacing:-2.8px; }
  .header>.wordmark .brand-mark { width:14px; height:14px; margin-bottom:11px; }
  .hero { height:620px; min-height:620px; }
  .hero h1 { font-size:40px; max-width:280px; }
  .hero .eyebrow { font-size:9px; }
  .hero-content>p { max-width:250px; font-size:12px; }
  .hero-actions { gap:8px; }
  .hero-actions .button { font-size:10px; padding-inline:14px; gap:8px; }
  .hero-actions .text-link { font-size:9px; gap:4px; }
  .seed-container { width:calc(100% - 40px); }
  .section-pad { padding-inline:20px; }
  .seed-featured .featured-grid { margin-inline:-20px; padding-inline:20px; scroll-padding-left:20px; grid-auto-columns:calc(100vw - 64px); }
  .featured-card h3 { font-size:26px; }
  .catalog { padding-inline:0; }
  .catalog .section-heading,.category-tabs { padding-inline:20px; }
  .catalog .section-heading h2 { font-size:36px; }
  .mobile-catalog-controls { margin-inline:20px; }
  .catalog-hint { max-width:110px; font-size:9px; line-height:1.5; }
  .catalog-tools { gap:4px; }
  .view-switch .icon-button { width:36px; min-width:36px; height:40px; }
  .view-switch .icon-button::before { inset:-2px -4px; }
  .products-grid { padding-inline:20px; scroll-padding-left:20px; grid-auto-columns:calc(100vw - 60px); }
  .product-title { font-size:26px; }
  .product-price { font-size:23px; }
  .add-button { min-width:108px; padding:0 16px; gap:12px; }
  .catalog-bottom { margin-inline:20px; }
  .catalog-bottom>.text-link { font-size:9px; }
  .carousel-navigation { padding-inline:20px; gap:8px; }
  .carousel-caption { font-size:8px; max-width:100px; }
  .carousel-navigation>div { gap:4px; }
  body[data-catalog-view="grid"] .products-grid { padding-inline:16px; gap:28px 12px; }
  body[data-catalog-view="grid"] .product-title { font-size:18px; }
  body[data-catalog-view="grid"] .product-package { font-size:9px; }
  body[data-catalog-view="grid"] .product-price { font-size:17px; }
  body[data-catalog-view="grid"] .product-bottom { gap:4px; }
  .editorial-visual { min-height:380px; }
  .glass-note { padding:16px; }
  .ritual-visual { min-height:400px; }
  .faq h2,.seed-start h2 { font-size:36px; }
  .mobile-dock { left:12px; right:12px; padding:6px; }
  .detail-copy { padding-inline:20px; }
  .detail-copy h2 { font-size:33px; }
  .detail-mobile-bar { padding-inline:20px; }
  .detail-mobile-price { font-size:24px; }
  .cart-dialog,.checkout-dialog { padding-inline:20px; }
  .cart-item h3 { font-size:14px; }
  .cart-item-end { font-size:10px; }
  .cart-item .quantity-control button { width:28px; min-width:28px; }
  .cart-summary>.button { font-size:11px; gap:12px; padding-inline:20px; }
  .checkout-actions { gap:12px; }
  .checkout-actions .button { padding-inline:12px; gap:8px; font-size:9px; }
  .checkout-actions .text-link { font-size:9px; }
  .filters-dialog { padding-inline:20px; }
  .filter-categories label { font-size:9px; padding-inline:10px; gap:6px; }
  .filter-sheet-actions .button { font-size:9px; gap:8px; }
  .filter-sheet-actions .text-link { font-size:9px; }
  .finder-dialog { padding:24px 20px; }
  .finder-actions .button { font-size:10px; padding-inline:16px; gap:8px; }
}
@media(max-width:499px) and (orientation:landscape) {
  .hero { min-height:600px; height:600px; }
  .hero-content { padding:24px 20px; }
  .hero h1 { font-size:40px; max-width:280px; }
  .hero-content>p { max-width:280px; font-size:12px; }
  .hero-actions { gap:12px; margin-top:20px; }
}
@media(max-width:760px) and (max-height:550px) and (orientation:landscape) {
  .detail-mobile-bar { grid-template-columns:auto auto 1fr; padding:12px 20px; gap:16px; }
  .detail-mobile-bar>.button { grid-column:auto; min-width:180px; }
  .mobile-dock { bottom:8px; padding:4px; }
  .mobile-dock button { min-height:44px; gap:2px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .js-motion .reveal:not(.is-visible) { opacity:1; transform:none; }
}
