/** Shopify CDN: Minification failed

Line 480:0 Expected "}" to go with "{"

**/
:root{
  --ground:#F6F5F2;
  --surface:#FFFFFF;
  --surface-2:#EDECE7;
  --ink:#2A2A28;
  --ink-soft:#6B6862;
  --ink-faint:#9C988F;
  --wood:#8B5E3C;
  --wood-strong:#6B4527;
  --wood-deep:#4A3320;
  --moss:#63735A;
  --moss-soft:#EEF0EA;
  --line:#DDDAD3;
  --line-strong:#C7C3B9;
  --footer-bg:#2B2A28;
  --footer-ink:#F5F4F1;
  --shadow: 0 1px 2px rgba(42,42,40,.06), 0 12px 28px -16px rgba(42,42,40,.22);
  --radius-lg: 28px;
  --radius-md: 16px;
  --focus: 2px solid #6B4527;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#1B1B1A;
    --surface:#232322;
    --surface-2:#2A2A28;
    --ink:#F2F1EE;
    --ink-soft:#C7C4BC;
    --ink-faint:#8F8C84;
    --wood:#C99566;
    --wood-strong:#E0A874;
    --wood-deep:#EDC59A;
    --moss:#93AB7E;
    --moss-soft:#262A22;
    --line:#3A3A38;
    --line-strong:#4C4C48;
    --footer-bg:#141413;
    --footer-ink:#F2F1EE;
    --shadow: 0 1px 2px rgba(0,0,0,.4), 0 20px 40px -20px rgba(0,0,0,.6);
    --focus: 2px solid #E0A874;
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --ground:#1B1B1A;
  --surface:#232322;
  --surface-2:#2A2A28;
  --ink:#F2F1EE;
  --ink-soft:#C7C4BC;
  --ink-faint:#8F8C84;
  --wood:#C99566;
  --wood-strong:#E0A874;
  --wood-deep:#EDC59A;
  --moss:#93AB7E;
  --moss-soft:#262A22;
  --line:#3A3A38;
  --line-strong:#4C4C48;
  --footer-bg:#141413;
  --footer-ink:#F2F1EE;
  --shadow: 0 1px 2px rgba(0,0,0,.4), 0 20px 40px -20px rgba(0,0,0,.6);
  --focus: 2px solid #E0A874;
  color-scheme: dark;
}

*{box-sizing:border-box;}
html{background:var(--ground);}
body{
  margin:0;
  background:var(--ground);
  color:var(--ink);
  font-family:"Work Sans", ui-sans-serif, system-ui, sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:"Fraunces", Georgia, serif;
  font-weight:600;
  text-wrap:balance;
  margin:0;
  color:var(--ink);
}
p{margin:0;}
a{color:inherit;}
img,svg{display:block;max-width:100%;}
button{font-family:inherit;}
::selection{background:var(--wood); color:var(--surface);}
:focus-visible{outline:var(--focus); outline-offset:3px;}

.wrap{max-width:1160px; margin:0 auto; padding-inline:24px;}
@media (min-width:720px){ .wrap{padding-inline:40px;} }

.eyebrow{
  font-family:"IBM Plex Mono", ui-monospace, monospace;
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--wood-strong);
  display:inline-flex;
  align-items:center;
  gap:9px;
}
.eyebrow::before{
  content:"";
  width:7px; height:7px; border-radius:50%;
  background:var(--wood-strong);
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 30px;
  border-radius:999px;
  font-family:"Work Sans", sans-serif;
  font-weight:600;
  font-size:15.5px;
  border:1.5px solid transparent;
  cursor:pointer;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}
.btn:active{transform:translateY(1px);}
.btn:disabled{opacity:.55; cursor:not-allowed;}
.btn-primary{
  background:var(--wood-strong);
  color:#231A10;
  box-shadow:0 1px 1px rgba(0,0,0,.08), 0 14px 24px -14px rgba(122,78,42,.55);
}
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 6px 20px -6px rgba(122,78,42,.6);}
.btn-ghost{
  background:transparent;
  color:var(--ink);
  border-color:var(--line-strong);
}
.btn-ghost:hover{ border-color:var(--wood-strong); color:var(--wood-strong); }

select.btn-ghost{ appearance:auto; }

/* ---------- announcement bar ---------- */
.announce{
  background:var(--wood-deep);
  color:#F3ECDF;
}
.announce-inner{
  padding-block:9px;
  text-align:center;
  font-family:"IBM Plex Mono", monospace;
  font-size:12px;
  letter-spacing:.04em;
}
.announce-inner a{ text-decoration:none; }
.announce-inner a:hover{ text-decoration:underline; }

/* ---------- header ---------- */
header.site{
  position:sticky; top:0; z-index:30;
  background:color-mix(in srgb, var(--ground) 88%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding-block:16px;
}
.brand{
  display:flex; align-items:center; gap:10px;
  font-family:"Fraunces", serif; font-weight:600; font-size:19px; letter-spacing:.01em;
  color:var(--ink);
}
.brand svg{width:26px;height:26px;}
.nav-links{display:none; gap:30px; font-size:14.5px; color:var(--ink-soft);}
.nav-links a{text-decoration:none;}
.nav-links a:hover{color:var(--wood-strong);}
@media (min-width:820px){ .nav-links{display:flex;} }
.nav-cart{ display:flex; align-items:center; gap:6px; }

.icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%;
  color:var(--ink-soft);
  background:transparent; border:none; cursor:pointer;
  text-decoration:none; position:relative;
  transition:background-color .15s ease, color .15s ease;
}
.icon-btn:hover{ background:var(--surface-2); color:var(--wood-strong); }
.ico-sm{ width:19px; height:19px; }
.cart-count{
  position:absolute; top:2px; right:2px;
  min-width:16px; height:16px; padding:0 4px;
  border-radius:999px;
  background:var(--wood-strong); color:#231A10;
  font-family:"IBM Plex Mono",monospace; font-size:10px; font-weight:500;
  display:flex; align-items:center; justify-content:center;
}

.header-search{
  border-top:1px solid var(--line);
  background:var(--surface);
}
.header-search-inner{
  display:flex; align-items:center; gap:12px; padding-block:14px;
  color:var(--ink-faint);
}
.header-search-inner input{
  flex:1; border:none; background:transparent; outline:none;
  font-family:"Work Sans",sans-serif; font-size:15.5px; color:var(--ink);
}
.header-search-inner input::placeholder{ color:var(--ink-faint); }

/* ---------- breadcrumb ---------- */
.breadcrumb{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  font-family:"IBM Plex Mono",monospace; font-size:12px; color:var(--ink-faint);
}
.breadcrumb a{ text-decoration:none; color:var(--ink-faint); }
.breadcrumb a:hover{ color:var(--wood-strong); }
.breadcrumb [aria-current]{ color:var(--ink-soft); }

/* ---------- hero ---------- */
.hero{ padding-block:56px 40px; }
.hero-grid{
  display:grid; gap:40px;
  grid-template-columns:1fr;
  align-items:center;
}
@media (min-width:920px){
  .hero-grid{ grid-template-columns:1.05fr 0.95fr; gap:56px; }
}
.hero h1{
  font-size:clamp(2.3rem, 5.4vw, 3.6rem);
  line-height:1.06;
  letter-spacing:-.01em;
  margin-block:18px 18px;
}
.hero-sub{
  max-width:46ch;
  color:var(--ink-soft);
  font-size:17.5px;
}
.hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; align-items:center;}
.hero-cta form{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.hero-meta{ margin-top:30px; display:flex; gap:26px; flex-wrap:wrap; }
.hero-meta div{ font-family:"IBM Plex Mono",monospace; font-size:12.5px; color:var(--ink-faint); }
.hero-meta strong{ display:block; font-family:"Fraunces",serif; font-size:19px; color:var(--ink); font-weight:600; }

.hero-art{
  position:relative;
  aspect-ratio:1/1;
  display:flex; align-items:center; justify-content:center;
}
.hero-art svg, .hero-art img{ width:100%; height:100%; }
.hero-art img{ object-fit:cover; border-radius:var(--radius-lg); }

/* ---------- sections generic ---------- */
.section{ padding-block:64px; }
.section-head{
  display:flex; flex-direction:column; gap:14px;
  max-width:60ch; margin-bottom:40px;
}
.section-head h2{ font-size:clamp(1.7rem,3.4vw,2.35rem); }
.section-head p{ color:var(--ink-soft); font-size:16px; }

/* ---------- features ---------- */
.feature-grid{
  display:grid; gap:2px;
  grid-template-columns:1fr;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
}
@media (min-width:640px){ .feature-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1020px){ .feature-grid{ grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); } }
.feature{
  background:var(--surface);
  padding:30px 24px;
  display:flex; flex-direction:column; gap:16px;
  transition:background-color .2s ease;
}
.feature:hover{ background:var(--surface-2); }
.feature .ico{ width:42px;height:42px; color:var(--wood-strong); }
.feature h3{ font-size:16.5px; font-weight:600; font-family:"Work Sans",sans-serif; }
.feature p{ font-size:14.5px; color:var(--ink-soft); }

/* ---------- gallery ---------- */
.gallery-band{ background:var(--surface); border-block:1px solid var(--line); }
.gallery-grid{ display:grid; gap:18px; grid-template-columns:1fr; }
@media (min-width:760px){
  .gallery-grid{ grid-template-columns:1.3fr 1fr; grid-template-rows:auto auto; }
  .gallery-grid > .g-item:nth-child(1){ grid-row:1 / 3; }
}
.g-item{
  border-radius:var(--radius-md);
  overflow:hidden;
  background:var(--surface-2);
  border:1px solid var(--line);
  position:relative;
  aspect-ratio:4/3.1;
}
.gallery-grid > .g-item:nth-child(1){ aspect-ratio:4/5.6; }
.g-item svg, .g-item img{ width:100%; height:100%; transition:transform .5s cubic-bezier(.2,.7,.2,1); object-fit:cover; }
.g-item:hover svg, .g-item:hover img{ transform:scale(1.045); }
.g-tag{
  position:absolute; left:16px; bottom:16px;
  font-family:"IBM Plex Mono",monospace; font-size:12px; letter-spacing:.06em;
  background:color-mix(in srgb, var(--surface) 82%, transparent);
  color:var(--ink);
  border:1px solid var(--line-strong);
  padding:6px 12px; border-radius:999px;
  backdrop-filter:blur(6px);
}

/* ---------- specs ---------- */
.specs-grid{ display:grid; gap:44px; grid-template-columns:1fr; }
@media (min-width:880px){ .specs-grid{ grid-template-columns:0.9fr 1.1fr; } }
table.specs{ width:100%; border-collapse:collapse; font-family:"IBM Plex Mono", monospace; font-size:14.5px; }
table.specs tr{ border-top:1px solid var(--line); }
table.specs tr:last-child{ border-bottom:1px solid var(--line); }
table.specs th,table.specs td{ text-align:left; padding:16px 4px; vertical-align:top; }
table.specs th{ color:var(--ink-faint); font-weight:500; width:38%; text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
table.specs td{ color:var(--ink); font-family:"Work Sans",sans-serif; font-size:15px;}

.note-card{
  background:var(--moss-soft);
  border:1px solid color-mix(in srgb, var(--moss) 35%, var(--line));
  border-radius:var(--radius-md);
  padding:26px 26px 24px;
}
.note-card h3{
  font-family:"Work Sans",sans-serif; font-size:14px; font-weight:600;
  display:flex; align-items:center; gap:9px;
  color:var(--moss); text-transform:uppercase; letter-spacing:.06em;
  margin-bottom:16px;
}
.note-card h3 svg{ width:17px;height:17px; }
.note-card ul{ margin:0; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:12px; }
.note-card li{ font-size:14.5px; color:var(--ink-soft); padding-left:22px; position:relative; }
.note-card li::before{ content:"·"; position:absolute; left:4px; top:-2px; font-size:22px; color:var(--moss); }

/* ---------- trust ---------- */
.trust{ background:var(--surface); border-block:1px solid var(--line); }
.trust-top{ display:flex; flex-wrap:wrap; align-items:baseline; gap:16px 28px; margin-bottom:36px; }
.stars{ display:flex; gap:3px; color:var(--wood-strong); }
.stars svg{ width:19px;height:19px; }
.rating-text{ font-family:"IBM Plex Mono",monospace; font-size:13.5px; color:var(--ink-soft); }

.review-grid{ display:grid; gap:18px; grid-template-columns:1fr; margin-bottom:40px; }
@media (min-width:760px){ .review-grid{ grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); } }
.review{ background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius-md); padding:22px; }
.review .stars{ margin-bottom:12px; }
.review p.quote{ font-size:15px; color:var(--ink); margin-bottom:14px; }
.review .who{ font-family:"IBM Plex Mono",monospace; font-size:12.5px; color:var(--ink-faint); }

.badge-row{ display:flex; flex-wrap:wrap; gap:12px; }
.badge{
  display:inline-flex; align-items:center; gap:9px;
  border:1px solid var(--line-strong); border-radius:999px;
  padding:10px 18px; font-size:13.5px; color:var(--ink-soft);
  background:var(--surface);
}
.badge svg{ width:16px;height:16px; color:var(--wood-strong); }

/* ---------- sticky cart ---------- */
.sticky-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:40;
  transform:translateY(110%);
  transition:transform .32s cubic-bezier(.2,.8,.2,1);
  background:color-mix(in srgb, var(--surface) 96%, transparent);
  border-top:1px solid var(--line);
  backdrop-filter:blur(10px);
  box-shadow:0 -8px 30px -18px rgba(0,0,0,.35);
}
.sticky-bar.show{ transform:translateY(0); }
.sticky-inner{ display:flex; align-items:center; gap:16px; padding-block:12px; }
.sticky-thumb{ width:46px; height:46px; border-radius:10px; overflow:hidden; flex:none; background:var(--surface-2); border:1px solid var(--line); }
.sticky-thumb svg, .sticky-thumb img{ width:100%; height:100%; object-fit:cover; }
.sticky-name{ font-family:"Fraunces",serif; font-weight:600; font-size:15.5px; }
.sticky-price{ font-family:"IBM Plex Mono",monospace; color:var(--ink-soft); font-size:13.5px; }
.sticky-inner form{ margin-left:auto; }
.sticky-mid{ display:none; }
@media (min-width:560px){ .sticky-mid{ display:block; } }

/* ---------- stock badge ---------- */
.stock-badge{
  display:inline-flex; align-items:center; gap:8px;
  font-family:"IBM Plex Mono",monospace; font-size:12.5px;
  color:var(--ink-soft);
}
.stock-badge .dot{ width:7px; height:7px; border-radius:50%; }
.stock-badge.in-stock .dot{ background:var(--moss); }
.stock-badge.out-stock .dot{ background:#B23A3A; }

/* ---------- quantity + buy row ---------- */
.qty-row{ display:flex; gap:12px; align-items:stretch; margin-bottom:20px; }
.qty-stepper{
  display:flex; align-items:center;
  border:1.5px solid var(--line-strong); border-radius:999px;
  overflow:hidden; flex:none;
}
.qty-btn{
  width:40px; height:100%; border:none; background:transparent;
  color:var(--ink-soft); font-size:18px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.qty-btn:hover{ background:var(--surface-2); color:var(--wood-strong); }
.qty-input{
  width:44px; border:none; border-left:1px solid var(--line-strong); border-right:1px solid var(--line-strong);
  background:transparent; color:var(--ink); text-align:center;
  font-family:"IBM Plex Mono",monospace; font-size:14.5px;
  -moz-appearance:textfield;
}
.qty-input::-webkit-outer-spin-button, .qty-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

.trust-mini-row{
  display:flex; flex-wrap:wrap; gap:18px;
  padding-block:16px; margin-bottom:14px;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.trust-mini-row span{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; color:var(--ink-soft);
}
.trust-mini-row svg{ width:17px; height:17px; color:var(--wood-strong); flex:none; }

.payment-icons{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.payment-icon{ height:22px; width:auto; border-radius:4px; }

/* ---------- FAQ ---------- */
.faq-list{ display:flex; flex-direction:column; gap:2px; border-top:1px solid var(--line); }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-item summary{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding-block:20px; cursor:pointer; list-style:none;
  font-family:"Work Sans",sans-serif; font-weight:600; font-size:16px; color:var(--ink);
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary svg{ width:18px; height:18px; color:var(--ink-faint); flex:none; transition:transform .2s ease; }
.faq-item[open] summary svg{ transform:rotate(180deg); color:var(--wood-strong); }
.faq-answer{ padding-bottom:20px; color:var(--ink-soft); font-size:15px; max-width:64ch; }

/* ---------- newsletter ---------- */
.newsletter-row{ display:flex; gap:10px; flex-wrap:wrap; }
.newsletter-row input{
  flex:1; min-width:140px;
  padding:12px 16px; border-radius:999px;
  border:1.5px solid rgba(245,244,241,.28);
  background:rgba(245,244,241,.08);
  color:var(--footer-ink); font-family:"Work Sans",sans-serif; font-size:14px;
}
.newsletter-row input::placeholder{ color:rgba(245,244,241,.5); }

/* ---------- footer ---------- */
footer.site{ background:var(--footer-bg); color:var(--footer-ink); padding-block:52px 28px; }
.foot-grid{
  display:grid; gap:36px; grid-template-columns:1fr;
  padding-bottom:36px; border-bottom:1px solid rgba(245,244,241,.14);
  margin-bottom:22px;
}
@media (min-width:700px){ .foot-grid{ grid-template-columns:1.3fr 1fr 1fr; } }
footer.site .brand{ color:var(--footer-ink); margin-bottom:12px; }
footer.site p{ color:rgba(245,244,241,.68); font-size:14px; max-width:34ch; }
footer.site h4{
  font-family:"IBM Plex Mono",monospace; font-size:12px; text-transform:uppercase;
  letter-spacing:.08em; color:rgba(245,244,241,.5); margin-bottom:14px; font-weight:500;
}
footer.site ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
footer.site a{ text-decoration:none; color:rgba(245,244,241,.8); font-size:14.5px; }
footer.site a:hover{ color:var(--wood-strong); }
.foot-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px; color:rgba(245,244,241,.45); font-family:"IBM Plex Mono",monospace; }

/* ---------- reveal (progressive enhancement only — never hides content by default) ---------- */
@media (prefers-reduced-motion: no-preference){
  .reveal-init{ transition:opacity .5s ease, transform .5s ease; }
  .reveal-init.pre-reveal{ opacity:0; transform:translateY(16px); }
