:root { --text:#f1eddf; --muted:#bac1ac; --ease:cubic-bezier(.2,.7,.2,1); }
body { font-size:16px; }
.icon { width:21px; height:21px; stroke-width:1.65; }
.btn { min-height:46px; font-size:14px; border-radius:12px; }
.btn.tiny { min-height:40px; font-size:13px; padding:9px 13px; }
.eyebrow { font-size:11px; letter-spacing:1.7px; }
.logo { font-size:29px; letter-spacing:-.7px; gap:11px; }
.logo .logo-name { -webkit-text-stroke:1.2px #e8ddbd; }
.header-content { gap:24px; }
.header-note { font-size:10px; letter-spacing:.8px; }
.searchbox { max-width:390px; }
.searchbox input { min-height:48px; font-size:15px; }
.searchbox > .icon { top:14px; }
.header-content .header-contact { font-size:13px; }
.account-button { flex-shrink:0; background:#26301d; border-color:#6c774d; }
.catalog-intro h2 { font-size:38px; letter-spacing:-1.1px; }
.catalog-intro p { font-size:15px; margin-top:8px; }
.intro-contact p,.intro-contact a { font-size:13px; }
.hero-label { font-size:10px; }
.hero-caption .eyebrow { font-size:11px; }
.hero-caption p { font-size:22px; }
.hero-catalog { font-size:14px; min-height:48px; }
.category-button { padding:13px 19px; min-height:48px; font-size:15px; gap:10px; transition:background .2s,border-color .2s,transform .3s var(--ease); }
.category-button .icon { width:21px; height:21px; }
.filter-select { font-size:13px; }
.filters label.check { font-size:14px; }
.catalog-count { font-size:13px; }
.enhanced-native { display:none !important; }
.select-trigger { display:inline-flex; min-height:46px; width:100%; min-width:0; align-items:center; justify-content:space-between; gap:15px; background:#1b2415; color:#e7e8d6; border:1px solid #465236; border-radius:11px; padding:11px 13px; text-align:left; font-size:14px; transition:background .2s,border-color .2s; }
.select-value { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.select-trigger .icon { width:17px; height:17px; flex-shrink:0; color:#bcc7a5; transition:transform .25s var(--ease); }
.select-trigger[aria-expanded=true] { border-color:#c2a472; background:#29351e; }
.select-trigger[aria-expanded=true] .icon { transform:rotate(180deg); }
.filter-select .select-trigger { width:auto; min-width:185px; }
.select-dialog { width:430px; padding:0; border:1px solid #64754a; background:#172111; border-radius:23px; box-shadow:0 30px 120px #000a; }
.select-sheet-head { display:flex; align-items:center; gap:16px; justify-content:space-between; padding:25px 25px 19px; border-bottom:1px solid #a9bc7d26; background:#1b2715; }
.select-sheet-head h2 { font-size:25px; margin-top:8px; letter-spacing:-.6px; }
.select-sheet-head .eyebrow { font-size:10px; color:#c8ae80; }
.select-options { display:grid; gap:5px; padding:12px; max-height:58dvh; overflow-y:auto; overscroll-behavior:contain; }
.select-option { width:100%; display:flex; align-items:center; justify-content:space-between; gap:15px; text-align:left; min-height:56px; padding:15px 17px; border:1px solid transparent; border-radius:12px; color:#e5e8d5; background:transparent; font-size:17px; transition:background .18s,border-color .18s; }
.select-option:hover { background:#2d3c21; }
.select-option > span:last-child { width:25px;height:25px;display:grid;place-items:center;border:1px solid #77855a;border-radius:50%; }
.select-option .icon { opacity:0; width:16px; height:16px; }
.select-option[aria-selected=true] { background:#3d4d2a; border-color:#8b9c62; color:#f0ecd9; }
.select-option[aria-selected=true] > span:last-child { background:#e4d8b6; border-color:#e4d8b6; color:#29331c; }
.select-option[aria-selected=true] .icon { opacity:1; }
.product-grid { gap:22px; }
.product-card { transition:transform .35s var(--ease),border-color .25s,box-shadow .35s; }
.product-card:hover { transform:translateY(-7px); box-shadow:0 20px 38px -20px #000,0 0 30px #9cab6521; }
.product-info { padding:20px; }
.product-name { font-size:18px; min-height:51px; line-height:1.4; letter-spacing:-.25px; }
.product-brand { font-size:11px; letter-spacing:1.3px; margin-bottom:8px; }
.variant { font-size:14px; line-height:1.55; min-height:22px; }
.chips { gap:6px; margin:15px 0; }
.chip { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; font-size:12px; line-height:1.35; }
.chip .icon { width:14px; height:14px; flex-shrink:0; }
.product-price { font-size:27px; }
.old-price { font-size:13px; }
.detail-button { width:43px; height:43px; }
.availability { display:flex; align-items:center; gap:7px; font-size:12px; margin-top:14px; }
.availability-dot { width:6px;height:6px;border-radius:50%;background:#b0c883;display:inline-block;flex-shrink:0; }
.badge { font-size:11px; padding:6px 9px; }
.badge .icon { width:14px; height:14px; }
.detail-copy h2 { font-size:30px; }
.detail-description { font-size:16px; line-height:1.8; }
.detail-hint,.site-footer { font-size:13px; }
.detail-copy .muted { font-size:16px; }
.detail-copy .product-price { font-size:34px; }
.icon-button { min-height:44px; width:44px; }
.account-dialog { width:460px; padding:38px; border-color:#6e7c50; background:linear-gradient(145deg,#24331b,#111c0d); }
.account-close { position:absolute; top:15px; right:15px; z-index:1; }
.account-panel { text-align:center; }
.auth-emblem { display:grid; place-items:center; width:76px; height:76px; border-radius:24px; color:#eadbc0; background:linear-gradient(145deg,#4b5d32,#24351b); border:1px solid #8d9e6266; margin:0 auto 25px; box-shadow:0 8px 35px #adbb7021; }
.auth-emblem .icon { width:36px; height:36px; }
.account-panel h2 { font-size:29px; line-height:1.2; letter-spacing:-.8px; margin:10px 0 15px; }
.auth-description { font-size:16px; color:#c1cbb1; line-height:1.7; margin-bottom:25px; }
.auth-action { width:100%; margin-top:10px; min-height:50px; font-size:15px; }
.auth-status { font-size:14px; line-height:1.6; color:#d1c6a7; margin-top:19px; min-height:44px; }
.auth-status.is-error { color:#edb3a4; }
.auth-trust { display:flex; justify-content:center; align-items:center; gap:8px; padding-top:22px; margin-top:17px; border-top:1px solid #a9b58026; color:#a5b491; font-size:12px; }
.auth-trust .icon { width:18px;height:18px; }
.auth-code { padding:16px;background:#0f180c;border:1px solid #6c7d45;border-radius:13px;margin:18px 0; }
.auth-code span { display:block;color:#b5c49e;font-size:13px;margin-bottom:6px; }
.auth-code strong { display:block;letter-spacing:9px;font-size:31px;font-weight:650;font-variant-numeric:tabular-nums; }
.login-shell { max-width:470px; }
.login-card { padding:35px; }
.login-footer { font-size:14px; line-height:1.7; }
.sidebar .logo { font-size:27px; }
.sidebar-label { font-size:10px; }
.nav-button { font-size:14px; min-height:50px; }
.metric-top { font-size:13px; }
.metric-foot { font-size:12px; }
.page-title p,.dashboard-card p,.system-row,.field > span { font-size:14px; }
input:not([type=checkbox]):not([type=file]),textarea { font-size:16px; }
.admin-nav .icon,.metric-icon .icon { width:20px;height:20px; }
/* Quiet movement follows the forest illustration instead of flashing over it. */
.forest-hero { animation:forest-arrive .85s var(--ease) both; }
.hero-art { animation:forest-depth 1.5s var(--ease) both; }
.forest-hero::before { content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 78% 12%,#d8d1a716,transparent 44%);animation:moonlight 10s ease-in-out infinite alternate; }
.hero-caption { animation:caption-arrive .9s .18s var(--ease) both; }
.site-header.is-scrolled { border-color:#70814a66;box-shadow:0 8px 28px #0005; }
.btn,.detail-button { position:relative;overflow:hidden;transition:background .22s,border-color .22s,transform .25s var(--ease),box-shadow .25s; }
.btn:active,.detail-button:active { transform:scale(.97); }
.btn.primary::after,.hero-catalog::after { content:"";position:absolute;inset:-30% -110%;background:linear-gradient(110deg,transparent 43%,#fff3 50%,transparent 57%);transform:translateX(-30%);transition:transform .75s var(--ease);pointer-events:none; }
.btn.primary:hover::after,.hero-catalog:hover::after { transform:translateX(60%); }
.reveal-card { opacity:0; transform:translateY(18px); }
.reveal-card.is-visible { opacity:1;transform:translateY(0);transition:opacity .5s var(--ease),transform .6s var(--ease),border-color .25s,box-shadow .25s;transition-delay:var(--stagger,0ms); }
.reveal-card.is-visible:hover { transform:translateY(-7px);transition-delay:0ms; }
.select-dialog[open],.account-dialog[open] { animation:sheet-arrive .28s var(--ease) both; }
@keyframes forest-arrive { from{opacity:0;transform:translateY(13px)} to{opacity:1;transform:translateY(0)} }
@keyframes forest-depth { from{transform:scale(1.045)} to{transform:scale(1)} }
@keyframes caption-arrive { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
@keyframes moonlight { from{opacity:.3;transform:translateX(0)} to{opacity:1;transform:translateX(-2%)} }
@keyframes sheet-arrive { from{opacity:0;transform:translateY(26px) scale(.98)} to{opacity:1;transform:translateY(0) scale(1)} }
@media(max-width:1200px){.header-note{display:none}.header-content{gap:20px}}
@media(max-width:1000px){.product-grid{gap:17px}.product-name{font-size:17px}.product-info{padding:17px}.filters{flex-wrap:wrap}.catalog-count{margin-left:auto}.filter-sort{margin-left:0}}
@media(max-width:700px){
  .header-content{gap:11px;min-height:0;padding-top:14px;padding-bottom:14px}
  .header-content .logo{font-size:26px;margin-right:auto;letter-spacing:-.8px}
  .header-content .header-contact,.account-button{padding:0;width:44px;min-height:44px;gap:0;border-radius:12px;flex:0 0 44px;margin-left:0}
  .header-contact .contact-label,.account-button [data-account-label]{display:none}
  .header-contact .icon,.account-button .icon{width:22px;height:22px}
  .header-content .searchbox{order:4}.searchbox input{font-size:16px;min-height:48px}
  .forest-hero{margin-top:18px}.hero-label{font-size:8px}.hero-caption .eyebrow{font-size:8px;letter-spacing:.8px}.hero-caption p{font-size:15px;max-width:165px;line-height:1.4}.hero-catalog{font-size:12px;min-height:43px;padding:9px 12px}
  .catalog-intro{padding-top:29px}.catalog-intro h2{font-size:34px}.catalog-intro .eyebrow{font-size:10px}.catalog-intro p{font-size:14px;line-height:1.65}
  .category-button{font-size:14px;padding:12px 15px;min-height:47px}.category-button .icon{width:20px;height:20px}
  .filters{gap:11px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:16px 0;margin-bottom:21px}
  .filter-select{min-width:0}.filter-select .select-trigger{min-width:0;width:100%;font-size:14px;gap:8px;padding:10px 11px;min-height:45px}
  .filters label.check{font-size:12px;gap:7px}.catalog-count{font-size:11px;margin-left:0}.filters input[type=checkbox]{width:17px;height:17px}
  .product-grid{gap:12px}.product-info{padding:14px 12px}.product-media{aspect-ratio:1.05;padding:9px}
  .product-name{font-size:16px;line-height:1.38;min-height:44px}.product-brand{font-size:10px;letter-spacing:.8px}.variant{font-size:12.5px;min-height:39px;line-height:1.5}
  .chips{margin:11px 0;gap:5px;min-height:30px}.chip{font-size:11px;padding:4px 6px;gap:4px}.chip .icon{width:12px;height:12px}
  .product-price{font-size:22px;letter-spacing:-.65px}.old-price{font-size:11px}.detail-button{width:34px;height:36px;flex-shrink:0}.detail-button .icon{width:19px}.availability{font-size:11px;gap:5px;margin-top:12px}
  .badge{font-size:9px;padding:5px 7px;gap:4px}.badge .icon{width:12px;height:12px}
  .select-dialog{margin:auto 12px 12px;max-width:calc(100% - 24px);width:calc(100% - 24px);max-height:78dvh;border-radius:22px}
  .select-sheet-head{padding:22px 19px 16px}.select-sheet-head h2{font-size:25px}.select-option{min-height:59px;font-size:18px}
  .account-dialog{padding:36px 24px 26px}.account-panel h2{font-size:27px}.auth-description{font-size:16px}.login-card{padding:30px 23px}
  .detail-copy h2{font-size:26px}.detail-copy .chips{min-height:0}.detail-description{font-size:15px}.detail-hint{font-size:13px}.site-footer{font-size:12px}
  .sidebar .logo{font-size:25px}.nav-button{font-size:13px}.metric-top{font-size:12px}.metric-foot{font-size:11px}.page-title p{font-size:14px}
}
@media(max-width:359px){.header-content .logo{font-size:23px;gap:7px}.header-content .brand-moon{width:23px;flex-basis:23px}.header-content{gap:9px}.hero-caption .eyebrow{font-size:8px}.product-name{font-size:15px}.product-price{font-size:20px}.product-info{padding:13px 10px}.detail-button{width:30px;height:33px}.availability{font-size:10px}.chip{font-size:10px}.catalog-count{font-size:10px}.filter-select .select-trigger{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-card{opacity:1!important;transform:none!important}}
