/* ============================================================
   ONE 10 GLOBAL LLC — DESIGN SYSTEM
   Fonts: PT Serif (headings, prices) + PT Sans (body/UI)
   ============================================================ */
:root{
  --ink:#1A1A18; --ink-2:#3A3A36; --stone:#78756B; --stone-lt:#9C988C;
  --line:#E4E0D7; --line-dk:#D2CDC1;
  --paper:#FBFAF7; --sand:#F3EEE5; --sand-dk:#EAE3D6;
  --clay:#B85C38; --clay-dk:#9A4A2C; --sage:#6B7A5E; --sage-lt:#8A9878;
  --white:#fff; --ok:#3F7D4E;
  --r:6px; --r-sm:4px; --r-lg:8px;
  --max:1240px;
  --sh:0 1px 2px rgba(26,26,24,.06), 0 2px 8px rgba(26,26,24,.05);
  --sh-lg:0 1px 3px rgba(26,26,24,.08), 0 6px 18px rgba(26,26,24,.08);
  --sh-xl:0 2px 6px rgba(26,26,24,.08), 0 12px 32px rgba(26,26,24,.12);
  --serif:'PT Serif',Georgia,'Times New Roman',serif;
  --sans:'PT Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.no-scroll{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}

/* ---------- Typography ---------- */
h1,h2,h3,h4{
  font-family:var(--serif);font-weight:700;line-height:1.2;
  letter-spacing:-.005em;margin:0;
}
h4{font-family:var(--sans)}
h1{font-size:clamp(2.1rem,4.4vw,3.25rem)}
h2{font-size:clamp(1.55rem,2.8vw,2.1rem)}
h3{font-size:clamp(1.1rem,1.8vw,1.3rem);font-weight:600}
h4{font-size:1rem;font-weight:600}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
ul,ol{margin:0 0 1.05em;padding-left:1.25em}
li{margin-bottom:.42em}
hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
::selection{background:var(--clay);color:#fff}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:4px}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}
.sec{padding:clamp(3rem,6vw,5.5rem) 0}
.sec--sand{background:var(--sand)}
.sec--ink{background:var(--ink);color:var(--paper)}
.sec--tight{padding:clamp(2rem,4vw,3rem) 0}
.eyebrow{
  font-family:var(--sans);font-size:.85rem;font-weight:600;
  color:var(--clay);margin:0 0 .6rem
}
.sec--ink .eyebrow{color:#D99368}
.lede{font-size:1.075rem;color:var(--stone);max-width:62ch}
.sec-head{margin-bottom:clamp(1.75rem,3.5vw,3rem);max-width:70ch}
.sec-head h2{margin-bottom:.6rem}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.8rem 1.5rem;border-radius:var(--r-sm);font-size:.92rem;font-weight:600;
  letter-spacing:-.005em;
  transition:background .15s,color .15s,border-color .15s;
  border:1.5px solid transparent;white-space:nowrap;line-height:1.2;
}
.btn--pri{background:var(--ink);color:var(--paper)}
.btn--pri:hover{background:var(--clay)}
.btn--clay{background:var(--clay);color:#fff}
.btn--clay:hover{background:var(--clay-dk)}
.btn--ghost{border-color:var(--line-dk);color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.btn--light{background:var(--paper);color:var(--ink)}
.btn--light:hover{background:var(--clay);color:#fff}
.btn--sm{padding:.58rem 1.1rem;font-size:.82rem}
.btn--full{width:100%}
.btn[disabled]{opacity:.45;pointer-events:none}
.link-arrow{
  display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9rem;
  border-bottom:1.5px solid var(--ink);padding-bottom:2px;transition:color .18s,border-color .18s,gap .2s
}
.link-arrow:hover{color:var(--clay);border-color:var(--clay);gap:.6rem}

/* ---------- Announcement bar ---------- */
.promo{
  background:var(--ink);color:var(--paper);text-align:center;
  font-size:.755rem;letter-spacing:.04em;font-weight:500;padding:.62rem 1rem;
  display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap
}
.promo a{color:#D99368;text-decoration:underline;text-underline-offset:2px;font-weight:600}

/* ---------- Header ---------- */
.hdr{
  position:sticky;top:0;z-index:60;background:rgba(251,250,247,.94);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line);
  transition:height .25s var(--ease-out),background .25s
}
.hdr__in{display:flex;align-items:center;gap:2rem;height:70px;transition:height .25s var(--ease-out)}
.hdr.is-scrolled .hdr__in{height:58px}
.hdr.is-scrolled{box-shadow:0 1px 0 var(--line),0 6px 24px rgba(26,26,24,.05)}
.brand{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.brand__mark{
  width:30px;height:30px;border-radius:8px;background:var(--ink);
  display:grid;place-items:center;flex-shrink:0;
  transition:transform .4s var(--ease-spring),background .2s
}
.brand__mark svg{width:16px;height:16px}
.brand__txt{
  font-family:var(--serif);font-size:1.4rem;font-weight:700;
  letter-spacing:-.01em;line-height:1
}
.nav{display:flex;align-items:center;gap:1.9rem;margin-left:auto}
.nav a{
  font-size:.885rem;font-weight:500;color:var(--ink-2);
  position:relative;padding:.35rem 0;transition:color .18s
}
.nav a:hover{color:var(--clay)}
.nav a::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:1.5px;
  background:var(--clay);transform:scaleX(0);transform-origin:left;
  transition:transform .28s var(--ease-out)
}
.nav a:hover::after{transform:scaleX(1)}
.nav a.is-on{color:var(--ink)}
.nav a.is-on::after{transform:scaleX(1)}
.hdr__act{display:flex;align-items:center;gap:.35rem;margin-left:.75rem}
.icon-btn{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  position:relative;transition:background .18s,transform .18s var(--ease-out),color .18s;
  color:var(--ink)
}
.icon-btn:hover{background:var(--sand)}
.cart-count{
  position:absolute;top:2px;right:1px;min-width:18px;height:18px;padding:0 4px;
  background:var(--clay);color:#fff;font-size:.66rem;font-weight:700;
  border-radius:var(--r-sm);display:grid;place-items:center;font-family:var(--sans);
  transition:transform .3s var(--ease-spring)
}
.cart-count[hidden]{display:none}
.cart-count.pulse{animation:cartPulse .55s var(--ease-spring)}
@keyframes cartPulse{
  0%{transform:scale(1)}
  40%{transform:scale(1.45)}
  100%{transform:scale(1)}
}
.burger{display:none}
@media(max-width:940px){
  .nav{
    position:fixed;top:0;left:0;right:0;background:var(--paper);
    flex-direction:column;align-items:stretch;gap:0;
    padding:5.5rem 24px 2rem;border-bottom:1px solid var(--line);
    box-shadow:var(--sh-xl);
    transform:translateY(-100%);opacity:0;pointer-events:none;
    transition:transform .35s var(--ease-out),opacity .25s;
    max-height:100vh;overflow-y:auto;
  }
  .nav.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .nav a{padding:1rem 0;border-bottom:1px solid var(--line);font-size:1.05rem}
  .nav a::after{display:none}
  .burger{display:grid;margin-left:auto}
  .hdr__act{margin-left:0}
}
/* Mobile bottom nav */
.mbnav{
  display:none;position:fixed;bottom:0;left:0;right:0;background:rgba(251,250,247,.97);
  backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:55;
  padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom))
}
.mbnav__in{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem}
.mbnav a{
  display:flex;flex-direction:column;align-items:center;gap:.2rem;
  padding:.45rem .25rem;font-size:.62rem;font-weight:500;color:var(--stone);
  border-radius:10px;transition:color .18s,background .18s
}
.mbnav a:hover{color:var(--ink);background:var(--sand)}
.mbnav a.is-on{color:var(--clay)}
.mbnav svg{width:20px;height:20px}
@media(max-width:940px){
  .mbnav{display:block}
  body{padding-bottom:64px}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--sand)}
.hero__in{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
  padding-top:clamp(2rem,6vw,5.5rem);padding-bottom:clamp(2.5rem,6vw,5.5rem)
}
.hero h1{margin-bottom:1.15rem}
.hero .lede{margin-bottom:1.9rem;font-size:1.1rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.25rem}
.hero__trust{
  display:flex;flex-wrap:wrap;gap:1.6rem;padding-top:1.5rem;
  border-top:1px solid var(--line-dk)
}
.hero__trust div{font-size:.78rem;color:var(--stone);line-height:1.4}
.hero__trust strong{display:block;font-size:.86rem;color:var(--ink);font-weight:600;margin-bottom:.1rem}
.hero__art{
  position:relative;aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden;
  background:var(--white);box-shadow:var(--sh-xl)
}
@media(max-width:880px){
  .hero__in{grid-template-columns:1fr;gap:2.5rem}
  .hero__art{order:-1;aspect-ratio:16/11}
}

/* ---------- Trust strip ---------- */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.strip__in{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.strip__i{background:var(--paper);padding:1.6rem 1.25rem;display:flex;gap:.8rem;align-items:flex-start;transition:background .2s}
.strip__i:hover{background:var(--sand)}
.strip__i svg{width:20px;height:20px;flex-shrink:0;color:var(--clay);margin-top:2px}
.strip__i strong{display:block;font-size:.845rem;font-weight:600;margin-bottom:.14rem}
.strip__i span{font-size:.775rem;color:var(--stone);line-height:1.45}
@media(max-width:820px){.strip__in{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.strip__in{grid-template-columns:1fr}}

/* ---------- Featured collection banner ---------- */
.fcb{
  position:relative;overflow:hidden;border-radius:var(--r-lg);
  background:linear-gradient(135deg,#3A3A36 0%,#1A1A18 100%);
  color:var(--paper);min-height:clamp(380px,42vw,520px);
  display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch
}
.fcb__body{
  padding:clamp(2rem,4.5vw,3.75rem);display:flex;flex-direction:column;
  justify-content:center;position:relative;z-index:2
}
.fcb__body h2{color:var(--paper);margin-bottom:1rem;font-size:clamp(2rem,4vw,3.2rem)}
.fcb__body p{color:#B9B5AA;font-size:1.02rem;margin-bottom:2rem;max-width:46ch}
.fcb__body .eyebrow{color:#D99368}
.fcb__art{position:relative;overflow:hidden;min-height:280px}
.fcb__art img{width:100%;height:100%;object-fit:cover}
.fcb__badge{
  position:absolute;top:1.5rem;right:1.5rem;background:var(--clay);color:#fff;
  padding:.4rem .85rem;border-radius:var(--r-sm);font-size:.68rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;z-index:3
}
@media(max-width:760px){.fcb{grid-template-columns:1fr}.fcb__art{min-height:220px;order:-1}}

/* ---------- Category cards ---------- */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.cat{
  border-radius:var(--r-lg);overflow:hidden;background:var(--white);
  border:1px solid var(--line);
  transition:transform .35s var(--ease-out),box-shadow .35s,border-color .35s;
  display:block;position:relative
}
.cat:hover{border-color:var(--line-dk)}
.cat__art{aspect-ratio:4/3;overflow:hidden;background:var(--sand)}
.cat__art img{width:100%;height:100%;transition:transform .7s var(--ease-out)}
.cat:hover .cat__art img{transform:scale(1.06)}
.cat__body{padding:1.35rem 1.45rem 1.6rem}
.cat__body h3{margin-bottom:.4rem;font-size:1.25rem}
.cat__body p{font-size:.865rem;color:var(--stone);margin-bottom:.9rem}
.cat__body .link-arrow{font-size:.83rem}
@media(max-width:820px){.cats{grid-template-columns:1fr;gap:1rem}}

/* ---------- Shop by room ---------- */
.rooms{display:grid;grid-template-columns:repeat(5,1fr);gap:.85rem}
.room{
  aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;position:relative;
  background:var(--sand);transition:transform .35s var(--ease-out),box-shadow .35s
}

.room img{position:absolute;inset:0;width:100%;height:100%;transition:transform .7s var(--ease-out)}
.room:hover svg{transform:scale(1.08)}
.room__label{
  position:absolute;left:0;right:0;bottom:0;padding:1.1rem .85rem .9rem;
  background:linear-gradient(to top,rgba(26,26,24,.75),rgba(26,26,24,0));
  color:#fff;font-family:var(--sans);font-size:1.05rem;font-weight:400;
  letter-spacing:-.015em
}
@media(max-width:820px){.rooms{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.rooms{grid-template-columns:repeat(2,1fr);gap:.6rem}}

/* ---------- Product grid ---------- */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.35rem}
@media(max-width:1080px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.grid{grid-template-columns:repeat(2,1fr);gap:1rem}}
@media(max-width:430px){.grid{grid-template-columns:1fr}}

.card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column;position:relative;
  transition:transform .35s var(--ease-out),box-shadow .35s,border-color .35s
}
.card:hover{border-color:var(--line-dk);box-shadow:var(--sh)}
.card__art{position:relative;aspect-ratio:1/1;background:var(--sand);overflow:hidden}
.card__art img{width:100%;height:100%;transition:transform .8s var(--ease-out)}
.card:hover .card__art img{transform:scale(1.055)}
.card__badge{
  position:absolute;top:.7rem;left:.7rem;background:var(--ink);color:var(--paper);
  font-size:.63rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:.32rem .6rem;border-radius:var(--r-sm);font-family:var(--sans);z-index:2
}
.card__badge--clay{background:var(--clay)}
.card__badge--sage{background:var(--sage)}
.card__wish{
  position:absolute;bottom:.7rem;right:.7rem;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.94);display:grid;place-items:center;
  opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s var(--ease-out),background .18s;
  z-index:3;color:var(--ink)
}
.card:hover .card__wish{opacity:1;transform:none}
.card__wish:hover{background:var(--clay);color:#fff}
.card__wish.is-on{background:var(--clay);color:#fff;opacity:1;transform:none}
.card__wish.is-on svg{fill:currentColor}
.card__quick{
  position:absolute;left:.7rem;right:.7rem;bottom:.7rem;
  background:rgba(26,26,24,.94);color:#fff;border-radius:var(--r-sm);
  padding:.58rem;font-size:.78rem;font-weight:600;text-align:center;
  opacity:0;transform:translateY(8px);
  transition:opacity .28s,transform .28s var(--ease-out);z-index:2
}
.card:hover .card__quick{opacity:1;transform:none}
.card__quick:hover{background:var(--clay)}
.card__body{padding:1.05rem 1.15rem 1.25rem;display:flex;flex-direction:column;flex:1}
.card__cat{
  font-size:.68rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:var(--stone-lt);margin-bottom:.35rem
}
.card__title{
  font-family:var(--sans);font-size:.925rem;font-weight:600;line-height:1.38;
  margin-bottom:.5rem;letter-spacing:-.012em
}
.card__title a:hover{color:var(--clay)}
.card__rate{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--stone);margin-bottom:.7rem}
.stars{display:inline-flex;gap:1px;color:var(--clay)}
.stars svg{width:11px;height:11px}
.card__stock{
  font-size:.72rem;font-weight:500;color:var(--ok);margin-bottom:.5rem;
  display:flex;align-items:center;gap:.35rem
}
.card__stock.low{color:var(--clay)}
.card__stock i{
  width:6px;height:6px;border-radius:50%;background:currentColor;
  display:inline-block
}
.card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.price{
  font-family:var(--serif);font-size:1.2rem;font-weight:700;
  letter-spacing:0;font-variant-numeric:lining-nums tabular-nums
}
.price s{font-family:var(--sans);font-size:.78rem;color:var(--stone-lt);font-weight:400;margin-left:.35rem}
.card__add{
  width:36px;height:36px;border-radius:50%;background:var(--sand);display:grid;place-items:center;
  transition:background .25s,color .25s,transform .25s var(--ease-spring),width .25s;
  flex-shrink:0;color:var(--ink);position:relative;overflow:hidden
}
.card__add:hover{background:var(--ink);color:var(--paper);transform:scale(1.08)}
.card__add.added{background:var(--ok);color:#fff}
.card__add svg{transition:transform .3s var(--ease-spring),opacity .2s;position:absolute}
.card__add .ico-plus{opacity:1}
.card__add .ico-check{opacity:0;transform:scale(.4)}
.card__add.added .ico-plus{opacity:0;transform:scale(.4)}
.card__add.added .ico-check{opacity:1;transform:scale(1)}

/* ---------- Filters / sort ---------- */
.shop-layout{display:grid;grid-template-columns:230px 1fr;gap:2.5rem;align-items:start}
@media(max-width:940px){.shop-layout{grid-template-columns:1fr;gap:1.5rem}}
.filter-panel{
  position:sticky;top:96px;background:var(--white);border:1px solid var(--line);
  border-radius:var(--r);padding:1.4rem
}
@media(max-width:940px){.filter-panel{position:static;display:none}.filter-panel.open{display:block}}
.filter-group{border-bottom:1px solid var(--line);padding-bottom:1.1rem;margin-bottom:1.1rem}
.filter-group:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.filter-group h4{
  font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--stone-lt);margin-bottom:.85rem
}
.filter-group label{
  display:flex;align-items:center;gap:.55rem;font-size:.86rem;
  padding:.3rem 0;cursor:pointer;transition:color .18s;color:var(--ink-2)
}
.filter-group label:hover{color:var(--clay)}
.filter-group input[type=checkbox]{accent-color:var(--clay)}
.price-inputs{display:flex;gap:.5rem;align-items:center}
.price-inputs input{
  width:100%;padding:.5rem .7rem;border:1px solid var(--line-dk);border-radius:var(--r-sm);
  font-size:.82rem;background:var(--paper)
}
.price-inputs input:focus{outline:none;border-color:var(--ink)}
.shop-head{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  margin-bottom:1.75rem;flex-wrap:wrap
}
.sort-select{
  padding:.55rem .9rem;border:1px solid var(--line-dk);border-radius:var(--r-sm);
  background:var(--white);font-size:.82rem;cursor:pointer;transition:border-color .18s
}
.sort-select:focus{outline:none;border-color:var(--ink)}
.filter-toggle{display:none}
@media(max-width:940px){.filter-toggle{display:inline-flex}}

/* ---------- PDP ---------- */
.pdp{display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media(max-width:900px){.pdp{grid-template-columns:1fr;gap:2.25rem}}
.pdp__gallery{position:sticky;top:96px}
@media(max-width:900px){.pdp__gallery{position:static}}
.pdp__main{
  aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden;background:var(--sand);
  border:1px solid var(--line);position:relative;cursor:zoom-in
}
.pdp__main img{width:100%;height:100%;transition:transform .6s var(--ease-out)}
.pdp__main:hover svg{transform:scale(1.04)}
.pdp__zoom{
  position:absolute;bottom:.9rem;right:.9rem;background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);border-radius:var(--r-sm);padding:.42rem .8rem;
  font-size:.7rem;font-weight:600;display:flex;align-items:center;gap:.35rem;
  opacity:0;transition:opacity .25s;pointer-events:none
}
.pdp__main:hover .pdp__zoom{opacity:1}
.pdp__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:.7rem}
.pdp__thumb{
  aspect-ratio:1/1;border-radius:var(--r-sm);overflow:hidden;background:var(--sand);
  border:1.5px solid var(--line);transition:border-color .18s,transform .18s;padding:0
}
.pdp__thumb:hover{transform:translateY(-2px)}
.pdp__thumb.is-on{border-color:var(--ink)}
.pdp__thumb img{width:100%;height:100%}
.pdp__cat{
  font-size:.7rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:var(--clay);margin-bottom:.7rem
}
.pdp h1{font-size:clamp(1.8rem,3.5vw,2.7rem);margin-bottom:.8rem}
.pdp__rate{display:flex;align-items:center;gap:.5rem;font-size:.83rem;color:var(--stone);margin-bottom:1.35rem;flex-wrap:wrap}
.pdp__rate a{color:var(--clay);text-decoration:underline;text-underline-offset:2px}
.pdp__price{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.7rem;flex-wrap:wrap}
.pdp__price .price{font-size:2rem}
.pdp__save{
  font-size:.76rem;font-weight:700;color:var(--clay);background:#F6E9E2;
  padding:.28rem .6rem;border-radius:var(--r-sm)
}
.pdp__delivery{
  display:flex;align-items:center;gap:.5rem;font-size:.83rem;color:var(--ok);
  font-weight:500;margin-bottom:1.4rem
}
.pdp__delivery svg{width:15px;height:15px}
.pdp__desc{color:var(--ink-2);font-size:.955rem;margin-bottom:1.6rem}
.pdp__desc p{margin-bottom:.95em}
.bullets{list-style:none;padding:0;margin:0 0 1.75rem}
.bullets li{
  position:relative;padding-left:1.6rem;font-size:.9rem;color:var(--ink-2);
  margin-bottom:.6rem;line-height:1.55
}
.bullets li::before{
  content:'';position:absolute;left:0;top:.48em;width:7px;height:7px;
  border-radius:50%;background:var(--clay)
}
.buy{display:flex;gap:.7rem;align-items:stretch;margin-bottom:1.15rem;flex-wrap:wrap}
.qty{
  display:flex;align-items:center;border:1.5px solid var(--line-dk);border-radius:var(--r-sm);
  overflow:hidden;flex-shrink:0
}
.qty button{
  width:42px;height:100%;min-height:48px;display:grid;place-items:center;
  font-size:1.1rem;color:var(--stone);transition:background .18s,color .18s
}
.qty button:hover{background:var(--sand);color:var(--ink)}
.qty span{min-width:34px;text-align:center;font-weight:600;font-size:.92rem}
.buy .btn{flex:1;min-width:180px}
.pdp__wish{
  border:1.5px solid var(--line-dk);border-radius:var(--r-sm);padding:0 1.1rem;
  display:flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:500;
  transition:border-color .18s,color .18s
}
.pdp__wish:hover{border-color:var(--clay);color:var(--clay)}
.pdp__wish.is-on{border-color:var(--clay);color:var(--clay);background:#F6E9E2}
.pdp__wish.is-on svg{fill:currentColor}
.pdp__meta{border-top:1px solid var(--line);padding-top:1.35rem;display:grid;gap:.55rem}
.pdp__meta div{display:flex;gap:.85rem;font-size:.82rem;color:var(--stone)}
.pdp__meta strong{color:var(--ink);font-weight:600;min-width:112px;flex-shrink:0}
.pdp__meta code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;
  background:var(--sand);padding:.1rem .4rem;border-radius:4px;color:var(--ink-2)
}

/* ---------- Sticky add-to-cart bar ---------- */
.sticky-atc{
  position:fixed;bottom:0;left:0;right:0;background:rgba(251,250,247,.97);
  backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:50;
  padding:1rem 0;transform:translateY(100%);transition:transform .35s var(--ease-out);
  box-shadow:0 -6px 28px rgba(26,26,24,.08)
}
.sticky-atc.on{transform:none}
@media(max-width:940px){.sticky-atc{bottom:64px}}
.sticky-atc__in{display:flex;align-items:center;gap:1.25rem;max-width:var(--max);margin:0 auto;padding:0 24px}
.sticky-atc__art{
  width:48px;height:48px;border-radius:var(--r-sm);overflow:hidden;background:var(--sand);flex-shrink:0
}
.sticky-atc__art img{width:100%;height:100%}
.sticky-atc__name{font-size:.9rem;font-weight:600;line-height:1.3}
.sticky-atc__price{font-size:.82rem;color:var(--stone);margin-top:.15rem}
.sticky-atc__actions{margin-left:auto;display:flex;gap:.6rem;align-items:center}
@media(max-width:600px){
  .sticky-atc__name{font-size:.82rem}
  .sticky-atc__price{display:none}
  .sticky-atc .btn{padding:.62rem 1.1rem;font-size:.8rem}
}

/* ---------- Reviews ---------- */
.reviews{max-width:900px}
.rev-summary{
  display:grid;grid-template-columns:200px 1fr;gap:2.5rem;align-items:center;
  padding:2rem;background:var(--sand);border-radius:var(--r-lg);margin-bottom:2.5rem
}
@media(max-width:600px){.rev-summary{grid-template-columns:1fr;gap:1.5rem;text-align:center}}
.rev-bars{display:grid;gap:.4rem}
.rev-bar{display:grid;grid-template-columns:44px 1fr 40px;gap:.75rem;align-items:center;font-size:.78rem;color:var(--stone)}
.rev-bar__track{height:6px;background:var(--line-dk);border-radius:var(--r-sm);overflow:hidden}
.rev-bar__fill{height:100%;background:var(--clay);border-radius:var(--r-sm);transition:width 1s var(--ease-out)}
.rev-item{
  border-bottom:1px solid var(--line);padding:1.6rem 0;
  display:grid;grid-template-columns:52px 1fr;gap:1.1rem
}
.rev-item__av{
  width:44px;height:44px;border-radius:50%;background:var(--sage);color:#fff;
  display:grid;place-items:center;font-weight:600;font-size:.95rem
}
.rev-item__name{font-weight:600;font-size:.9rem}
.rev-item__meta{font-size:.75rem;color:var(--stone-lt);margin-bottom:.5rem}
.rev-item__title{font-weight:600;font-size:.95rem;margin-bottom:.35rem}
.rev-item__body{font-size:.9rem;color:var(--ink-2);line-height:1.6}
.rev-item__verified{
  font-size:.7rem;color:var(--ok);font-weight:600;
  display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem
}

/* ---------- Founder story ---------- */
.founder{
  display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);
  align-items:center
}
@media(max-width:820px){.founder{grid-template-columns:1fr}}
.founder__img{
  aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--sand);
  box-shadow:var(--sh-xl);position:relative
}
.founder__img img{width:100%;height:100%}
.founder h2{margin-bottom:1.15rem}
.founder blockquote{
  font-size:1.1rem;line-height:1.55;
  color:var(--ink-2);border-left:3px solid var(--clay);padding-left:1.25rem;
  margin:1.5rem 0
}
.founder__role{font-size:.85rem;color:var(--stone);margin-top:1.25rem}

/* ---------- Bundle section ---------- */
.bundle{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.75rem,4vw,2.75rem)
}
.bundle__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2rem}
.bundle__items{
  display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:1rem;align-items:start;
  margin-bottom:2rem
}
@media(max-width:820px){
  .bundle__items{grid-template-columns:1fr 1fr 1fr;gap:.6rem}
  .bundle__plus{display:none}
}
.bundle__item{text-align:center}
.bundle__item-art{
  display:block;aspect-ratio:1/1;border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line);
  margin-bottom:.75rem;transition:transform .3s var(--ease-out)
}
.bundle__item:hover .bundle__item-art{transform:scale(1.04)}
.bundle__item-art img{width:100%;height:100%}
.bundle__item h4{font-size:.9rem;font-family:var(--sans);font-weight:600;margin-bottom:.25rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bundle__plus{align-self:center;margin-bottom:3rem}
.bundle__item .price{font-size:1.05rem}
.bundle__plus{
  width:36px;height:36px;border-radius:50%;background:var(--sand);display:grid;place-items:center;
  color:var(--stone);font-size:1.1rem;flex-shrink:0
}
.bundle__foot{
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  padding-top:1.5rem;border-top:1px solid var(--line);flex-wrap:wrap
}
.bundle__total{font-size:.85rem;color:var(--stone)}
.bundle__total strong{
  display:block;font-family:var(--sans);font-size:1.6rem;color:var(--ink);
  font-weight:700;letter-spacing:-.02em
}
.bundle__total s{color:var(--stone-lt);margin-left:.5rem;font-size:1rem}
.bundle__total .save{
  display:inline-block;background:#F6E9E2;color:var(--clay);padding:.2rem .55rem;
  border-radius:var(--r-sm);font-size:.7rem;font-weight:700;margin-left:.5rem;
  vertical-align:middle
}

/* ---------- Homepage FAQ ---------- */
.faq{max-width:78ch}
.faq details{border-bottom:1px solid var(--line);padding:0}
.faq summary{
  cursor:pointer;font-weight:600;font-size:1rem;list-style:none;
  display:flex;justify-content:space-between;align-items:flex-start;gap:1.25rem;
  line-height:1.45;padding:1.25rem 0;transition:color .18s
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--clay)}
.faq summary::after{
  content:'+';font-family:var(--sans);font-size:1.5rem;font-weight:300;
  color:var(--clay);flex-shrink:0;line-height:1;
  transition:transform .3s var(--ease-out)
}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq__body{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .4s var(--ease-out)
}
.faq details[open] .faq__body{grid-template-rows:1fr}
.faq__body-inner{overflow:hidden}
.faq__body p{
  margin:0 0 1.25rem;font-size:.92rem;color:var(--stone);max-width:70ch;line-height:1.65
}

/* ---------- Cart drawer ---------- */
.scrim{
  position:fixed;inset:0;background:rgba(26,26,24,.48);z-index:80;
  opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(3px)
}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--paper);
  z-index:90;transform:translateX(100%);
  transition:transform .45s var(--ease-spring);
  display:flex;flex-direction:column;box-shadow:-14px 0 48px rgba(26,26,24,.16)
}
.drawer.on{transform:translateX(0)}
.drawer__hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.35rem 1.5rem;border-bottom:1px solid var(--line);flex-shrink:0
}
.drawer__hd h3{font-family:var(--sans);font-size:1rem;font-weight:600}
.drawer__ship{
  padding:1rem 1.5rem;background:var(--sand);border-bottom:1px solid var(--line);
  flex-shrink:0
}
.drawer__ship-label{font-size:.78rem;color:var(--stone);margin-bottom:.5rem}
.drawer__ship-label strong{color:var(--ink);font-weight:600}
.drawer__ship-track{height:6px;background:var(--line-dk);border-radius:var(--r-sm);overflow:hidden}
.drawer__ship-fill{
  height:100%;background:var(--clay);border-radius:var(--r-sm);transition:width .5s var(--ease-out)
}
.drawer__ship-fill.done{background:var(--ok)}
.drawer__body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}
.drawer__ft{border-top:1px solid var(--line);padding:1.35rem 1.5rem;flex-shrink:0;background:var(--white)}
.line-item{
  display:grid;grid-template-columns:74px 1fr;gap:1rem;padding:1.05rem 0;
  border-bottom:1px solid var(--line);animation:lineIn .4s var(--ease-out)
}
@keyframes lineIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.line-item:first-child{padding-top:0;border-top:0}
.line-item__art{aspect-ratio:1/1;border-radius:var(--r-sm);overflow:hidden;background:var(--sand)}
.line-item__art img{width:100%;height:100%}
.line-item h4{font-family:var(--sans);font-size:.855rem;font-weight:600;line-height:1.4;margin-bottom:.25rem}
.line-item__sku{font-size:.7rem;color:var(--stone-lt);margin-bottom:.55rem;font-family:ui-monospace,monospace}
.line-item__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.mini-qty{display:flex;align-items:center;border:1px solid var(--line-dk);border-radius:var(--r-sm);overflow:hidden}
.mini-qty button{width:28px;height:28px;display:grid;place-items:center;font-size:.95rem;color:var(--stone);transition:background .18s}
.mini-qty button:hover{background:var(--sand);color:var(--ink)}
.mini-qty span{min-width:24px;text-align:center;font-size:.8rem;font-weight:600}
.line-item__price{font-weight:600;font-size:.9rem}
.rm{font-size:.72rem;color:var(--stone-lt);text-decoration:underline;text-underline-offset:2px;margin-top:.5rem}
.rm:hover{color:var(--clay)}
.sum-row{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.6rem;color:var(--stone)}
.sum-row--tot{
  font-size:1.15rem;font-weight:400;color:var(--ink);font-family:var(--sans);
  letter-spacing:-.015em;padding-top:.85rem;border-top:1px solid var(--line);
  margin-top:.85rem;margin-bottom:1.25rem
}
.empty{text-align:center;padding:3.5rem 1rem;color:var(--stone)}
.empty svg{width:46px;height:46px;margin:0 auto 1.25rem;opacity:.35}
.empty h4{font-family:var(--sans);font-size:1.35rem;color:var(--ink);margin-bottom:.5rem;font-weight:400}
.empty p{font-size:.9rem;margin-bottom:1.5rem}

/* ---------- Toast ---------- */
.toast{
  position:fixed;bottom:26px;left:50%;transform:translate(-50%,140%);
  background:var(--ink);color:var(--paper);padding:.85rem 1.4rem;border-radius:var(--r-sm);
  font-size:.85rem;font-weight:500;z-index:120;
  transition:transform .4s var(--ease-spring);box-shadow:var(--sh-xl);
  white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis;
  display:flex;align-items:center;gap:.6rem
}
.toast.on{transform:translate(-50%,0)}
.toast__ring{
  width:16px;height:16px;flex-shrink:0;border-radius:50%;
  border:2px solid rgba(255,255,255,.2);border-top-color:var(--clay);
  animation:spin .9s linear infinite
}
@keyframes spin{to{transform:rotate(360deg)}}
.toast--success .toast__ring{
  border-color:var(--ok);border-top-color:transparent;
  animation:none;position:relative
}
.toast--success .toast__ring::after{
  content:'✓';position:absolute;inset:0;display:grid;place-items:center;
  color:var(--ok);font-size:.7rem;font-weight:700
}

/* ---------- Search overlay ---------- */
.search-ol{
  position:fixed;inset:0;background:rgba(251,250,247,.98);backdrop-filter:blur(14px);
  z-index:100;opacity:0;pointer-events:none;transition:opacity .28s;
  display:flex;flex-direction:column;padding:2rem 0
}
.search-ol.on{opacity:1;pointer-events:auto}
.search-ol__in{max-width:760px;margin:0 auto;width:100%;padding:0 24px;flex:1;display:flex;flex-direction:column}
.search-ol__bar{
  display:flex;align-items:center;gap:1rem;border-bottom:2px solid var(--ink);
  padding-bottom:1rem;margin-bottom:2rem
}
.search-ol__bar input{
  flex:1;background:none;border:0;font-size:1.5rem;font-family:var(--sans);
  letter-spacing:-.02em;padding:.5rem 0
}
.search-ol__bar input:focus{outline:none}
.search-ol__bar input::placeholder{color:var(--stone-lt)}
.search-ol__close{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  transition:background .18s
}
.search-ol__close:hover{background:var(--sand)}
.search-results{flex:1;overflow-y:auto}
.search-hint{font-size:.78rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--stone-lt);margin-bottom:1rem}
.search-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.search-tags button{
  padding:.5rem 1rem;border-radius:var(--r-sm);border:1px solid var(--line-dk);
  font-size:.82rem;color:var(--ink-2);transition:all .18s
}
.search-tags button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.search-item{
  display:grid;grid-template-columns:60px 1fr auto;gap:1rem;align-items:center;
  padding:.85rem 0;border-bottom:1px solid var(--line);transition:background .18s
}
.search-item:hover{background:var(--sand)}
.search-item__art{width:60px;height:60px;border-radius:var(--r-sm);overflow:hidden;background:var(--sand)}
.search-item__art img{width:100%;height:100%}
.search-item h4{font-family:var(--sans);font-size:.9rem;font-weight:600;margin-bottom:.2rem}
.search-item span{font-size:.78rem;color:var(--stone)}
.search-item .price{font-size:1rem}

/* ---------- Quick view modal ---------- */
.modal-scrim{
  position:fixed;inset:0;background:rgba(26,26,24,.55);backdrop-filter:blur(4px);
  z-index:110;opacity:0;pointer-events:none;transition:opacity .28s;
  display:grid;place-items:center;padding:1.5rem
}
.modal-scrim.on{opacity:1;pointer-events:auto}
.modal{
  background:var(--paper);border-radius:var(--r-lg);max-width:920px;width:100%;
  max-height:90vh;overflow-y:auto;box-shadow:var(--sh-xl);
  transform:translateY(20px) scale(.97);transition:transform .35s var(--ease-spring);
  position:relative
}
.modal-scrim.on .modal{transform:none}
.modal__close{
  position:absolute;top:1rem;right:1rem;width:38px;height:38px;border-radius:50%;
  background:var(--white);display:grid;place-items:center;z-index:3;
  transition:background .18s,transform .18s;box-shadow:var(--sh)
}
.modal__close:hover{background:var(--sand);transform:scale(1.08)}
.modal__in{display:grid;grid-template-columns:1fr 1fr;gap:0}
@media(max-width:720px){.modal__in{grid-template-columns:1fr}}
.modal__art{aspect-ratio:1/1;background:var(--sand)}
.modal__art img{width:100%;height:100%}
.modal__body{padding:2rem;display:flex;flex-direction:column;gap:1rem}
.modal__body h3{font-size:1.4rem;line-height:1.15}
.modal__body .price{font-size:1.6rem}

/* ---------- Lightbox ---------- */
.lightbox{
  position:fixed;inset:0;background:rgba(26,26,24,.94);z-index:130;
  display:grid;place-items:center;padding:2rem;opacity:0;pointer-events:none;
  transition:opacity .3s
}
.lightbox.on{opacity:1;pointer-events:auto}
.lightbox__art{max-width:min(760px,92vw);max-height:88vh;aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden}
.lightbox__art img{width:100%;height:100%}
.lightbox__close{
  position:absolute;top:1.25rem;right:1.25rem;width:44px;height:44px;
  border-radius:50%;background:rgba(255,255,255,.15);color:#fff;
  display:grid;place-items:center;backdrop-filter:blur(8px);transition:background .18s
}
.lightbox__close:hover{background:rgba(255,255,255,.28)}

/* ---------- Cookie consent ---------- */
.cookie{
  position:fixed;bottom:1.5rem;left:1.5rem;right:1.5rem;max-width:420px;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.35rem;box-shadow:var(--sh-xl);z-index:70;
  transform:translateY(140%);transition:transform .5s var(--ease-spring)
}
.cookie.on{transform:none}
@media(min-width:960px){.cookie{left:auto;bottom:1.5rem;right:1.5rem}}
@media(max-width:940px){.cookie{bottom:80px}}
.cookie h4{font-size:1rem;margin-bottom:.5rem}
.cookie p{font-size:.82rem;color:var(--stone);margin-bottom:1rem;line-height:1.55}
.cookie__actions{display:flex;gap:.5rem}
.cookie__actions .btn{flex:1}

/* ---------- Back to top ---------- */
.totop{
  position:fixed;bottom:1.5rem;right:1.5rem;width:46px;height:46px;border-radius:50%;
  background:var(--ink);color:var(--paper);display:grid;place-items:center;
  box-shadow:var(--sh-xl);z-index:52;
  opacity:0;transform:translateY(20px);pointer-events:none;
  transition:opacity .3s,transform .35s var(--ease-out),background .18s
}
.totop.on{opacity:1;transform:none;pointer-events:auto}
.totop:hover{background:var(--clay)}
@media(max-width:940px){.totop{bottom:80px;right:1rem;width:42px;height:42px}}

/* ---------- Prose ---------- */
.prose{max-width:74ch}
.prose h2{margin:2.75rem 0 .85rem;font-size:clamp(1.45rem,2.6vw,1.85rem)}
.prose h2:first-child{margin-top:0}
.prose h3{margin:1.9rem 0 .6rem;font-size:1.08rem;font-family:var(--sans);font-weight:600;letter-spacing:-.01em}
.prose p,.prose li{color:var(--ink-2);font-size:.945rem}
.prose ul{padding-left:1.15em}
.prose a{color:var(--clay);text-decoration:underline;text-underline-offset:2px}
.prose a:hover{color:var(--clay-dk)}
.prose strong{color:var(--ink);font-weight:600}
.callout{
  background:var(--sand);border-left:3px solid var(--clay);border-radius:0 var(--r-sm) var(--r-sm) 0;
  padding:1.15rem 1.4rem;margin:1.75rem 0;font-size:.9rem;color:var(--ink-2)
}
.callout strong{display:block;color:var(--ink);margin-bottom:.25rem}
.dateline{
  font-size:.82rem;color:var(--stone);margin-bottom:2.25rem;
  padding-bottom:1.25rem;border-bottom:1px solid var(--line)
}

/* ---------- Page hero (interior) ---------- */
.phero{background:var(--sand);border-bottom:1px solid var(--line);padding:clamp(2.5rem,5vw,4rem) 0}
.phero h1{font-size:clamp(2.2rem,4.5vw,3.4rem);margin-bottom:.7rem}
.phero p{color:var(--stone);max-width:62ch;font-size:1.02rem;margin:0}
.crumbs{font-size:.78rem;color:var(--stone-lt);margin-bottom:1.1rem;letter-spacing:.02em}
.crumbs a:hover{color:var(--clay)}
.crumbs span{margin:0 .45rem;opacity:.5}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}}
.info-block{border-top:1px solid var(--line);padding:1.35rem 0}
.info-block:first-of-type{border-top:0;padding-top:0}
.info-block h3{
  font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--stone-lt);margin-bottom:.55rem
}
.info-block p,.info-block address{font-style:normal;font-size:.94rem;color:var(--ink-2);line-height:1.7;margin:0}
.info-block a{color:var(--clay);font-weight:500}
.info-block a:hover{text-decoration:underline;text-underline-offset:2px}
.form-row{display:grid;gap:.35rem;margin-bottom:1.1rem}
.form-row label{font-size:.8rem;font-weight:600;color:var(--ink)}
.form-row input,.form-row select,.form-row textarea{
  width:100%;padding:.78rem .95rem;border:1.5px solid var(--line-dk);
  border-radius:var(--r-sm);background:var(--white);font-size:.92rem;
  transition:border-color .18s;font-family:var(--sans)
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--ink)}
.form-row textarea{resize:vertical;min-height:130px}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:520px){.form-2{grid-template-columns:1fr}}
.form-note{font-size:.78rem;color:var(--stone);line-height:1.55}
.alert{
  padding:.9rem 1.15rem;border-radius:var(--r-sm);font-size:.88rem;margin-bottom:1.25rem;
  background:#EDF4EE;border:1px solid #C6DECB;color:#2E5B39
}

/* ---------- Spec table ---------- */
.spec{width:100%;border-collapse:collapse;font-size:.875rem}
.spec tr{border-bottom:1px solid var(--line)}
.spec tr:last-child{border-bottom:0}
.spec th{
  text-align:left;font-weight:600;color:var(--ink);padding:.85rem 1.25rem .85rem 0;
  width:38%;vertical-align:top;font-size:.845rem
}
.spec td{padding:.85rem 0;color:var(--stone);vertical-align:top}

/* ---------- Footer ---------- */
.ftr{background:var(--ink);color:#B9B5AA;padding:clamp(3rem,5.5vw,4.5rem) 0 2rem;font-size:.86rem}
.ftr a{color:#B9B5AA;transition:color .18s}
.ftr a:hover{color:var(--paper)}
.ftr__top{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;
  padding-bottom:2.75rem;border-bottom:1px solid rgba(255,255,255,.11)
}
@media(max-width:900px){.ftr__top{grid-template-columns:1fr 1fr;gap:2.25rem}}
@media(max-width:520px){.ftr__top{grid-template-columns:1fr}}
.ftr__brand{display:flex;align-items:center;gap:.6rem;margin-bottom:1.1rem}
.ftr__brand .brand__mark{background:var(--paper)}
.ftr__brand .brand__mark svg path{fill:var(--ink)}
.ftr__brand span{
  font-family:var(--serif);font-size:1.45rem;font-weight:700;
  color:var(--paper);letter-spacing:-.01em
}
.ftr__about{color:#8F8B80;font-size:.845rem;line-height:1.7;margin-bottom:1.35rem;max-width:38ch}
.ftr h4{
  font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--paper);margin:0 0 1.05rem
}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr li{margin-bottom:.62rem}
.ftr__legal{padding-top:1.75rem;display:grid;gap:1.35rem}
.ftr__biz{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  font-size:.775rem;line-height:1.65;color:#8F8B80;
  padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.11)
}
@media(max-width:720px){.ftr__biz{grid-template-columns:1fr;gap:1rem}}
.ftr__biz strong{
  color:var(--paper);font-weight:600;display:block;margin-bottom:.2rem;
  font-size:.72rem;letter-spacing:.09em;text-transform:uppercase
}
.ftr__pay{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.ftr__pay span{
  border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:.3rem .6rem;
  font-size:.66rem;font-weight:600;letter-spacing:.05em;color:#9C988C
}
.ftr__base{
  display:flex;flex-wrap:wrap;gap:1rem 1.75rem;justify-content:space-between;
  align-items:center;font-size:.775rem;color:#7C7870
}
.ftr__base nav{display:flex;flex-wrap:wrap;gap:1.35rem}

/* ---------- Photos ---------- */
.hero__art img,.cat__art img,.room img,.card__art img,.pdp__main img,.pdp__thumb img,
.founder__img img,.fcb__art img,.bundle__item-art img,.line-item__art img,.search-item__art img,
.sticky-atc__art img,.modal__art img,.lightbox__art img{width:100%;height:100%;object-fit:cover;display:block}
.fcb__art img{position:absolute;inset:0}
.lightbox__art{aspect-ratio:auto;background:var(--sand)}
.lightbox__art img{object-fit:contain;max-height:88vh}
.photo-credit{font-size:.7rem;color:var(--stone-lt);margin-top:.5rem}

/* ---------- Utility ---------- */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.stack-sm>*+*{margin-top:.5rem}
.center{text-align:center}
.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}
.rule{height:1px;background:var(--line);border:0;margin:0}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}

/* ---------- Shop category links ---------- */
.filter-link{display:block;font-size:.88rem;padding:.32rem 0;color:var(--ink-2)}
.filter-link:hover{color:var(--clay)}
.filter-link.is-on{color:var(--ink);font-weight:600}

/* ---------- Cart / checkout ---------- */
.phero--slim{padding:clamp(1.5rem,3vw,2.25rem) 0}
.co{display:grid;grid-template-columns:1fr 380px;gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media(max-width:900px){.co{grid-template-columns:1fr}}
.co__side{position:sticky;top:90px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}
@media(max-width:900px){.co__side{position:static}}
.co__h{font-size:1.05rem;margin-bottom:1rem}
.co__step{border:1px solid var(--line);border-radius:var(--r);background:var(--white);padding:1.25rem 1.4rem .4rem;margin:0 0 1.25rem}
.co__step legend{font-weight:700;font-size:1.05rem;padding:0 .4rem;margin-left:-.4rem}
.form-3{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1rem}
@media(max-width:600px){.form-3{grid-template-columns:1fr 1fr}.form-3>:first-child{grid-column:1/-1}}
.form-row .is-bad{border-color:var(--clay);background:#FDF5F1}
.co__opts{display:grid;gap:.6rem;margin-bottom:1rem}
.co__opt{display:flex;gap:.8rem;align-items:flex-start;border:1.5px solid var(--line-dk);border-radius:var(--r-sm);padding:.85rem 1rem;cursor:pointer}
.co__opt.is-on,.co__opt:has(input:checked){border-color:var(--ink)}
.co__opt input{margin-top:.25rem;accent-color:var(--ink)}
.co__opt span{flex:1}
.co__opt strong{display:block;font-size:.92rem}
.co__opt small{display:block;font-size:.8rem;color:var(--stone);line-height:1.5;margin-top:.15rem}
.co__opt b{font-size:.92rem}
.co__agree{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:var(--ink-2);margin:.25rem 0 1.1rem}
.co__agree input{margin-top:.25rem;accent-color:var(--ink)}
.co__agree a{color:var(--clay);text-decoration:underline}
.co__items{border-bottom:1px solid var(--line);margin-bottom:1rem;padding-bottom:.5rem}
.co__item{display:grid;grid-template-columns:56px 1fr auto;gap:.8rem;align-items:center;font-size:.85rem;margin-bottom:.75rem}
.co__thumb{position:relative;width:56px;height:56px;border-radius:var(--r-sm);overflow:hidden;background:var(--sand);border:1px solid var(--line)}
.co__thumb img{width:100%;height:100%;object-fit:cover}
.co__thumb span{position:absolute;top:2px;right:2px;background:var(--ink);color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.co__iname{font-weight:600;line-height:1.35}
.co__iname small{display:block;font-weight:400;color:var(--stone-lt);font-size:.72rem}
.co__main .line-item{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1rem;margin-bottom:.75rem;grid-template-columns:96px 1fr}
.co__main .line-item:first-child{padding-top:1rem}
.line-item h4 a:hover{color:var(--clay)}
.alert--err{background:#FBEDE7;border-color:#EFC7B6;color:#8E3A1C}

/* ---------- Thank you ---------- */
.ty{max-width:820px}
.ty__check{width:56px;height:56px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;margin-bottom:1.25rem}
.ty__check svg{width:28px;height:28px}
.ty__num{font-weight:600;color:var(--clay);margin-bottom:.4rem}
.ty h1{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-bottom:.8rem}
.ty__steps{list-style:none;padding:0;margin:2rem 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;counter-reset:s}
@media(max-width:700px){.ty__steps{grid-template-columns:1fr}}
.ty__steps li{counter-increment:s;background:var(--sand);border-radius:var(--r);padding:1.1rem 1.2rem;margin:0}
.ty__steps li::before{content:counter(s);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:.8rem;font-weight:700;margin-bottom:.6rem}
.ty__steps strong{display:block;margin-bottom:.2rem}
.ty__steps span{font-size:.85rem;color:var(--stone)}
.ty__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:1rem}
@media(max-width:700px){.ty__grid{grid-template-columns:1fr}}
.ty__box{border:1px solid var(--line);border-radius:var(--r);background:var(--white);padding:1.35rem}
.ty__box p{font-size:.9rem;color:var(--ink-2)}
.ty__box a{color:var(--clay);text-decoration:underline}

/* ---------- Imported product photos (white-background cutouts) ---------- */
img.is-cutout{object-fit:contain!important;background:#fff;padding:6%}
.pdp__thumb img.is-cutout,.line-item__art img.is-cutout,.co__thumb img.is-cutout,.search-item__art img.is-cutout,.sticky-atc__art img.is-cutout{padding:4%}
.pdp__main:has(img.is-cutout),.card__art:has(img.is-cutout){background:#fff}

/* ---------- Pagination ---------- */
.pager{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;align-items:center;margin-top:2.5rem}
.pager__n{min-width:38px;height:38px;border-radius:var(--r-sm);border:1px solid var(--line-dk);font-size:.88rem;font-weight:600;color:var(--ink-2);background:var(--white)}
.pager__n:hover{border-color:var(--ink)}
.pager__n.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pager .btn[disabled]{opacity:.4}

/* ---------- Product photo collage (hero, banners) ---------- */
.collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;width:100%;height:100%;background:var(--line)}
.collage img{width:100%;height:100%;min-height:0;object-fit:contain;background:#fff;padding:8%}
.hero__art--white,.fcb__art--white,.founder__img--white{background:#fff}
.fcb__art--white .collage{position:absolute;inset:0}
.cat__art img.is-cutout,.room img.is-cutout{padding:8%}
.room img.is-cutout{padding-bottom:22%}

/* ---------- Homepage FAQ: centered column ---------- */
.faq-home{text-align:center}
.faq-home .sec-head,.faq-home .faq{margin-left:auto;margin-right:auto}
.faq-home .faq{text-align:left}

/* ============================================================
   HOMEPAGE: slider, circles, rails, promo tiles, motion
   ============================================================ */

/* Announcement bar: rotating messages */
.promo__msgs{position:relative;height:1.4em;overflow:hidden;flex:1;max-width:640px}
.promo__msgs span{position:absolute;inset:0;text-align:center;opacity:0;transform:translateY(100%);transition:opacity .45s ease,transform .45s ease}
.promo__msgs span.is-on{opacity:1;transform:none}

/* Hero slider */
.hs{position:relative;overflow:hidden}
.hs__track{display:grid}
.hs__slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.hs__slide.is-on{opacity:1;visibility:visible}
.hs__slide--sand{background:var(--sand)}
.hs__slide--sage{background:#E6EBDF}
.hs__slide--clay{background:#F4E4DA}
.hs__slide--stone{background:#ECEAE4}
.hs__in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center;
  padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(3.5rem,6vw,5rem);min-height:clamp(440px,44vw,560px)}
.hs__kicker{font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--clay);margin-bottom:.7rem}
.hs__title{font-size:clamp(2rem,4.2vw,3.25rem);margin-bottom:1rem}
.hs__copy .lede{margin-bottom:1.75rem}
.hs__art{width:100%;max-width:470px;justify-self:center;aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden;background:#fff;box-shadow:var(--sh-xl)}
.hs__slide.is-on .hs__copy{animation:hsUp .8s cubic-bezier(.16,1,.3,1) both}
.hs__slide.is-on .hs__art{animation:hsZoom 1s cubic-bezier(.16,1,.3,1) .1s both}
@keyframes hsUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes hsZoom{from{opacity:0;transform:scale(.95) rotate(-1deg)}to{opacity:1;transform:none}}
.hs__arrow{position:absolute;bottom:8px;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.92);box-shadow:var(--sh);display:grid;place-items:center;color:var(--ink);z-index:3;transition:background .2s,color .2s}
.hs__arrow:hover{background:var(--ink);color:#fff}
.hs__arrow--prev{left:calc(50% - 110px)}
.hs__arrow--next{right:calc(50% - 110px)}
.hs__dots{position:absolute;left:0;right:0;bottom:23px;display:flex;justify-content:center;gap:.5rem;z-index:3;pointer-events:none}
.hs__dots button{pointer-events:auto;width:38px;height:4px;padding:0;border-radius:2px;background:rgba(26,26,24,.18);overflow:hidden}
.hs__dots span{display:block;height:100%;width:0;background:var(--ink)}
.hs__dots button.is-on span{animation:var(--hs-run, hsProg) 6s linear forwards}
.hs.is-paused .hs__dots span{animation-play-state:paused}
@keyframes hsProg{to{width:100%}}
@media(max-width:880px){
  .hs__in{grid-template-columns:1fr;gap:1.5rem;min-height:0;padding-top:1.75rem}
  .hs__art{order:-1;max-width:300px}
}

/* Category circles */
.circles{display:flex;gap:clamp(1rem,3vw,2.25rem);justify-content:safe center;overflow-x:auto;scrollbar-width:none;padding:.5rem 0 .75rem}
.circles::-webkit-scrollbar{display:none}
.circle{flex:0 0 auto;width:116px;display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center}
.circle__img{width:108px;height:108px;border-radius:50%;background:#fff;border:1.5px solid var(--line);overflow:hidden;
  display:grid;place-items:center;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s}
.circle__img img.is-cutout{width:100%;height:100%;padding:16%}
.circle:hover .circle__img{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:var(--clay)}
.circle__img--all{background:var(--ink);border-color:var(--ink);color:#fff;font-family:var(--serif);font-size:1.7rem;font-weight:700;line-height:1;align-content:center;gap:.2rem}
.circle__img--all small{font-family:var(--sans);font-size:.72rem;font-weight:400;opacity:.8}
.circle__label{font-size:.88rem;font-weight:700;line-height:1.3}
.circle:hover .circle__label{color:var(--clay)}

/* Product rails */
.rail__head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.rail__ctrl{display:flex;align-items:center;gap:.5rem}
.rail__ctrl .link-arrow{margin-right:.75rem}
.rail__btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-dk);background:var(--white);display:grid;place-items:center;color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.rail__btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.rail__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * 1.25rem) / 4);gap:1.25rem;
  overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 14px;margin:-6px -2px 0}
.rail__track::-webkit-scrollbar{display:none}
.rail__track>.card{scroll-snap-align:start}
@media(max-width:1080px){.rail__track{grid-auto-columns:calc((100% - 2 * 1.25rem) / 3)}}
@media(max-width:820px){.rail__track{grid-auto-columns:calc((100% - 1.25rem) / 2.25)}}
@media(max-width:480px){.rail__track{grid-auto-columns:72%}}

/* Product cards: lift + second photo on hover */
.card{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.card__art>a{display:block;position:relative;width:100%;height:100%}
.card__alt{position:absolute;inset:0;opacity:0;transition:opacity .4s ease}
.card__alt img{width:100%;height:100%}
.card:hover .card__alt{opacity:1}

/* Promo tiles */
.ptiles{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(max-width:820px){.ptiles{grid-template-columns:1fr}}
.ptile{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;border-radius:var(--r-lg);overflow:hidden;min-height:250px;
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.ptile:hover{transform:translateY(-4px);box-shadow:var(--sh-xl)}
.ptile--ink{background:var(--ink);color:var(--paper)}
.ptile--clay{background:var(--clay);color:#fff}
.ptile__copy{padding:clamp(1.25rem,3vw,2rem)}
.ptile__kicker{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.75;margin-bottom:.45rem}
.ptile h3{font-size:clamp(1.3rem,2.2vw,1.65rem);color:inherit;margin-bottom:.5rem}
.ptile p{font-size:.92rem;opacity:.88;margin-bottom:1.1rem}
.ptile__cta{font-weight:700;font-size:.92rem;border-bottom:2px solid currentColor;padding-bottom:2px}
.ptile__art{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:1.25rem 1.25rem 1.25rem 0;align-content:center}
.ptile__art img{width:100%;aspect-ratio:1/1;border-radius:var(--r);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.ptile:hover .ptile__art img{transform:scale(1.05) rotate(-1deg)}
.ptile:hover .ptile__art img+img{transform:scale(1.05) rotate(1deg)}

/* Scroll reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none}
  .hs__slide.is-on .hs__copy,.hs__slide.is-on .hs__art{animation:none}
  .card:hover,.ptile:hover,.circle:hover .circle__img{transform:none}
}

/* ---------- Store name in header ---------- */
.brand__txt small{font-size:.62em;font-weight:700;letter-spacing:.04em;color:var(--stone);margin-left:.15em}
.brand__mark svg text{font-family:var(--serif)}
@media(max-width:520px){.brand__txt{font-size:1.08rem}.hdr__in{gap:.75rem}}
.brand__mark svg{width:24px;height:24px}
