:root{
  --ink:#2c1f14;
  --ink-soft:#4a3826;
  --ink-faint:#7a6448;
  --parchment:#ece0c4;
  --parchment-light:#f8f1de;
  --parchment-deep:#e2d3ac;
  --brass:#a9722f;
  --brass-deep:#8a5a22;
  --terracotta:#b1432e;
  --cini:#3d5a68;
  --line:#c9b078;
  --line-soft:#dccb9c;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Newsreader', serif;
  color:var(--ink-soft);
  background:var(--parchment);
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
h1,h2,h3{font-family:'Fraunces', serif; color:var(--ink); font-weight:600; letter-spacing:-0.01em;}
.eyebrow{
  font-family:'Archivo', sans-serif; font-size:12.5px; font-weight:600;
  letter-spacing:0.14em; color:var(--brass-deep); text-transform:uppercase;
}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Archivo', sans-serif; font-size:14.5px; font-weight:600;
  padding:14px 28px; border-radius:2px; letter-spacing:0.02em;
  transition:all .25s ease; cursor:pointer; border:1.4px solid transparent;
}
.btn-primary{background:var(--ink); color:var(--parchment-light);}
.btn-primary:hover{background:var(--brass-deep);}
.btn-outline{border-color:var(--parchment-light); color:var(--parchment-light);}
.btn-outline:hover{background:rgba(248,241,222,0.14);}
.btn-dark-outline{border-color:var(--ink); color:var(--ink);}
.btn-dark-outline:hover{background:var(--ink); color:var(--parchment-light);}

/* ===== TEXTURE BG (repeating for sections) ===== */
.textured{
  background-color:var(--parchment);
  background-image:
    repeating-linear-gradient(90deg, rgba(169,114,47,0.035) 0px, rgba(169,114,47,0.035) 1px, transparent 1px, transparent 3px),
    repeating-linear-gradient(0deg, rgba(169,114,47,0.03) 0px, rgba(169,114,47,0.03) 1px, transparent 1px, transparent 3px);
}

/* ===== HEADER ===== */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(44,31,20,0.0);
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
  padding:22px 0;
}
header.scrolled{
  background:rgba(28,20,13,0.92); backdrop-filter:blur(6px);
  box-shadow:0 2px 18px rgba(0,0,0,0.18); padding:12px 0;
}
.nav-row{display:flex; align-items:center; justify-content:space-between;}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{width:42px; height:42px;}
.brand-text{font-family:'Fraunces',serif; font-size:19px; color:#f6ecd6; font-weight:600; letter-spacing:0.01em;}
.brand-text em{font-style:italic; font-weight:400; color:#d9b877; margin-left:2px;}
nav ul{display:flex; gap:34px; list-style:none;}
nav a{font-family:'Archivo',sans-serif; font-size:13.5px; color:#e9dcc0; font-weight:500; letter-spacing:0.03em; position:relative;}
nav a::after{content:''; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:#d9b877; transition:width .25s ease;}
nav a:hover::after{width:100%;}
.nav-cta{font-family:'Archivo',sans-serif; font-size:13px; font-weight:600; color:var(--ink); background:#e9dcc0; padding:10px 20px; letter-spacing:0.02em;}
.nav-toggle{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
.nav-toggle span{width:24px; height:2px; background:#f6ecd6;}

/* ===== HERO ===== */
.hero{
  position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:flex-end;
  background:#1c140d;
}
.hero-bg{position:absolute; inset:0; overflow:hidden;}
.hero-bg img{width:100%; height:100%; object-fit:cover; filter:saturate(0.92) contrast(1.02);}
.hero-bg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,14,8,0.35) 0%, rgba(20,14,8,0.25) 40%, rgba(18,12,7,0.88) 92%);
}
.hero-content{position:relative; z-index:2; padding:0 32px 90px 32px; max-width:1180px; margin:0 auto; width:100%;}
.hero-mark{width:96px; height:96px; margin-bottom:26px; opacity:0.96;}
.hero h1{
  font-size:clamp(38px, 6vw, 74px); color:#f8f1de; line-height:1.04;
  max-width:820px; font-weight:600;
}
.hero h1 .it{font-style:italic; font-weight:400; color:#e6c992;}
.hero p.lede{
  font-family:'Newsreader',serif; font-size:19px; color:#dccdaf; max-width:520px;
  margin-top:22px; line-height:1.65; font-style:italic;
}
.hero-ctas{display:flex; gap:16px; margin-top:38px; flex-wrap:wrap;}
.hero-stats{
  display:flex; gap:46px; margin-top:64px; padding-top:28px;
  border-top:1px solid rgba(233,220,192,0.22); max-width:760px; flex-wrap:wrap;
}
.hstat b{display:block; font-family:'Fraunces',serif; font-size:30px; color:#f6ecd6; font-weight:600;}
.hstat span{font-family:'Archivo',sans-serif; font-size:12px; color:#c7b590; letter-spacing:0.03em;}

/* ===== SECTION SPACING ===== */
section{padding:120px 0;}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head .eyebrow{margin-bottom:14px; display:block;}
.section-head h2{font-size:clamp(30px,3.6vw,44px); line-height:1.12;}

/* ===== HISTORY ===== */
.history{background:var(--parchment-light);}
.history-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:70px; align-items:start;}
.history-text p{font-size:17px; color:var(--ink-soft); margin-bottom:20px; max-width:52ch;}
.ritual-box{
  margin-top:34px; padding:28px 30px; background:var(--parchment);
  border-left:3px solid var(--terracotta); position:relative;
}
.ritual-box p{font-family:'Fraunces',serif; font-style:italic; font-size:20px; color:var(--ink); line-height:1.5; margin:0;}
.ritual-box span{display:block; margin-top:12px; font-family:'Archivo',sans-serif; font-size:12px; letter-spacing:0.06em; color:var(--ink-faint); text-transform:uppercase;}
.history-media{position:relative;}
.history-media img{width:100%; border-radius:2px; box-shadow:0 20px 46px rgba(44,31,20,0.28);}
.history-media .tag{
  position:absolute; bottom:-22px; left:-22px; background:var(--ink); color:var(--parchment-light);
  padding:16px 22px; font-family:'Archivo',sans-serif; font-size:12.5px; letter-spacing:0.04em;
  max-width:220px; line-height:1.5;
}
.stat-strip{display:flex; gap:0; margin-top:56px; border-top:1px solid var(--line-soft);}
.stat-item{flex:1; padding:26px 24px 0 0; border-right:1px solid var(--line-soft);}
.stat-item:last-child{border-right:none;}
.stat-item b{font-family:'Fraunces',serif; font-size:26px; color:var(--ink); display:block; font-weight:600;}
.stat-item span{font-family:'Archivo',sans-serif; font-size:12.5px; color:var(--ink-faint); letter-spacing:0.02em; display:block; margin-top:6px;}

/* ===== WHY / FEATURES ===== */
.why{background:var(--parchment);}
.why-row{display:flex; gap:0; border-top:1px solid var(--line-soft);}
.why-item{flex:1; padding:38px 30px 0 0; border-right:1px solid var(--line-soft);}
.why-item:last-child{border-right:none; padding-right:0;}
.why-item svg{width:34px; height:34px; margin-bottom:22px; color:var(--brass-deep);}
.why-item h3{font-size:19px; margin-bottom:10px; font-weight:600;}
.why-item p{font-size:14.5px; color:var(--ink-faint); line-height:1.6;}

/* ===== COLLECTION ===== */
.collection{background:var(--parchment-light);}
.coll-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--line-soft);}
.coll-card{position:relative; aspect-ratio:4/5; overflow:hidden; background:#fbf6e8; cursor:pointer;}
.coll-card img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.coll-card:hover img{transform:scale(1.06);}
.coll-card .ov{
  position:absolute; inset:0; display:flex; align-items:flex-end;
  background:linear-gradient(180deg, transparent 55%, rgba(28,20,13,0.82) 100%);
  padding:18px;
}
.coll-card .ov span{font-family:'Fraunces',serif; color:#f8f1de; font-size:15.5px; font-style:italic; font-weight:500; display:block;}
.coll-card .ov em{font-family:'Archivo',sans-serif; font-style:normal; font-size:11px; letter-spacing:0.04em; color:#d9b877; display:block; margin-top:5px; opacity:0; transform:translateY(4px); transition:all .25s ease;}
.coll-card:hover .ov em{opacity:1; transform:translateY(0);}
.collection-foot{display:flex; justify-content:space-between; align-items:center; margin-top:44px; flex-wrap:wrap; gap:20px;}
.collection-foot p{font-size:15px; color:var(--ink-faint); max-width:440px;}

/* ===== CATEGORY DETAIL PAGE ===== */
.crumb{padding:150px 0 0 0; background:var(--parchment-light);}
.crumb .wrap{font-family:'Archivo',sans-serif; font-size:12.5px; color:var(--ink-faint); letter-spacing:0.02em; padding-bottom:28px; display:flex; align-items:center; gap:8px;}
.crumb a{color:var(--brass-deep);}
.crumb a:hover{text-decoration:underline;}
.cat-hero{background:var(--parchment-light); padding-bottom:70px;}
.cat-hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:end;}
.cat-hero h1{font-size:clamp(32px,4.2vw,52px); line-height:1.08; margin-bottom:18px;}
.cat-hero p{font-size:17px; color:var(--ink-soft); max-width:56ch;}
.cat-hero-media{aspect-ratio:4/3; overflow:hidden; border-radius:2px; box-shadow:0 20px 46px rgba(44,31,20,0.22);}
.cat-hero-media img{width:100%; height:100%; object-fit:cover;}
.cat-meta{display:flex; gap:34px; margin-top:30px; flex-wrap:wrap;}
.cat-meta div{font-family:'Archivo',sans-serif; font-size:12px; color:var(--ink-faint); letter-spacing:0.03em;}
.cat-meta b{display:block; font-family:'Fraunces',serif; font-size:22px; color:var(--ink); font-weight:600; letter-spacing:0;}

.product-section{background:var(--parchment); padding:90px 0 120px 0;}
.product-section .section-head{margin-bottom:44px;}
.product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.product-card{
  background:#fbf6e8; border:1px solid var(--line-soft); cursor:zoom-in;
  transition:transform .25s ease, box-shadow .25s ease;
}
.product-card:hover{transform:translateY(-4px); box-shadow:0 16px 34px rgba(44,31,20,0.16);}
.product-card .pc-imgwrap{aspect-ratio:4/5; overflow:hidden; background:#fbf6e8; display:flex; align-items:center; justify-content:center;}
.product-card .pc-imgwrap img{width:100%; height:100%; object-fit:cover;}
.product-card .pc-info{padding:16px 18px 18px 18px;}
.product-card .pc-code{font-family:'Archivo',sans-serif; font-size:11.5px; letter-spacing:0.05em; color:var(--brass-deep); font-weight:600;}
.product-card .pc-note{font-family:'Newsreader',serif; font-style:italic; font-size:13px; color:var(--ink-faint); margin-top:4px;}
.product-card.is-detail{border-color:var(--brass); background:#f6ecd4;}

.other-cats{background:var(--parchment-deep); padding:80px 0;}
.other-cats .section-head{margin-bottom:36px;}
.other-cats-row{display:grid; grid-template-columns:repeat(5,1fr); gap:2px; background:var(--line-soft);}
.oc-card{position:relative; aspect-ratio:1/1; overflow:hidden;}
.oc-card img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.oc-card:hover img{transform:scale(1.08);}
.oc-card .ov{position:absolute; inset:0; display:flex; align-items:flex-end; padding:14px; background:linear-gradient(180deg, transparent 50%, rgba(28,20,13,0.86) 100%);}
.oc-card .ov span{font-family:'Fraunces',serif; font-style:italic; color:#f8f1de; font-size:13px; font-weight:500;}

@media (max-width:860px){
  .cat-hero-grid{grid-template-columns:1fr; gap:30px;}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .other-cats-row{grid-template-columns:repeat(2,1fr);}
}

/* ===== WHERE USED ===== */
.where{background:var(--ink); color:var(--parchment-light); position:relative; overflow:hidden;}
.where .wrap{position:relative; z-index:2;}
.where .section-head h2{color:#f8f1de;}
.where .section-head .eyebrow{color:#d9b877;}
.where-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:center;}
.where-media img{width:100%; border-radius:2px;}
.venue-list{display:flex; flex-direction:column; gap:0;}
.venue{display:flex; gap:22px; padding:24px 0; border-bottom:1px solid rgba(233,220,192,0.16);}
.venue:first-child{padding-top:0;}
.venue-num{font-family:'Fraunces',serif; font-style:italic; font-size:22px; color:#d9b877; min-width:42px;}
.venue h4{font-family:'Fraunces',serif; font-size:20px; color:#f8f1de; margin-bottom:6px; font-weight:600;}
.venue p{font-size:14.5px; color:#c7b590; max-width:46ch;}

/* ===== WHOLESALE ===== */
.wholesale{background:var(--parchment-deep);}
.ws-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px;}
.ws-text p{font-size:16.5px; color:var(--ink-soft); margin-bottom:18px; max-width:48ch;}
.ws-points{margin-top:28px; display:flex; flex-direction:column; gap:14px;}
.ws-points div{display:flex; gap:12px; align-items:baseline; font-size:14.5px; color:var(--ink-soft);}
.ws-points div::before{content:'—'; color:var(--brass-deep); flex-shrink:0;}
.ws-direct{display:flex; gap:16px; margin-top:32px; flex-wrap:wrap;}
.ws-direct-item{
  display:flex; align-items:center; gap:12px; flex:1; min-width:220px;
  background:var(--parchment-light); border:1px solid var(--line-soft); padding:16px 18px;
  transition:border-color .2s ease, transform .2s ease;
}
.ws-direct-item:hover{border-color:var(--brass); transform:translateY(-2px);}
.ws-direct-item svg{width:22px; height:22px; color:var(--brass-deep); flex-shrink:0;}
.ws-direct-item span{display:block; font-family:'Archivo',sans-serif; font-size:10.5px; letter-spacing:0.04em; color:var(--ink-faint); text-transform:uppercase;}
.ws-direct-item b{display:block; font-family:'Fraunces',serif; font-size:15px; color:var(--ink); font-weight:600; margin-top:2px;}
.foot-col a[href^="tel:"]{color:#d9b877;}
form{background:var(--parchment-light); padding:40px; border:1px solid var(--line-soft);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
.field{display:flex; flex-direction:column; gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-family:'Archivo',sans-serif; font-size:12px; color:var(--ink-faint); letter-spacing:0.03em;}
.field input, .field select, .field textarea{
  font-family:'Newsreader',serif; font-size:15px; padding:12px 14px; border:1px solid var(--line-soft);
  background:#fff; color:var(--ink); border-radius:1px;
}
.field textarea{resize:vertical; min-height:90px;}
form .btn{width:100%; justify-content:center; margin-top:6px;}
form .note{font-family:'Archivo',sans-serif; font-size:11.5px; color:var(--ink-faint); margin-top:14px; text-align:center;}

/* ===== FOOTER ===== */
footer{background:var(--ink); color:#c7b590; padding:70px 0 30px 0;}
.foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:50px; padding-bottom:50px; border-bottom:1px solid rgba(233,220,192,0.14);}
.foot-brand{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.foot-brand img{width:38px; height:38px;}
.foot-brand span{font-family:'Fraunces',serif; font-size:18px; color:#f8f1de; font-weight:600;}
footer p.desc{font-size:14px; color:#a8916c; max-width:280px; line-height:1.6;}
.foot-col h5{font-family:'Archivo',sans-serif; font-size:12px; letter-spacing:0.05em; color:#d9b877; text-transform:uppercase; margin-bottom:16px;}
.foot-col a, .foot-col p{display:block; font-size:14px; color:#c7b590; margin-bottom:10px;}
.foot-bottom{display:flex; justify-content:space-between; padding-top:26px; font-size:12.5px; color:#8a7452; flex-wrap:wrap; gap:10px;}

/* ===== LIGHTBOX (reused by category product grids) ===== */
.lightbox{
  position:fixed; inset:0; z-index:1000; display:none;
  align-items:center; justify-content:center; padding:40px;
}
.lightbox.open{display:flex;}
.lb-overlay{position:absolute; inset:0; background:rgba(20,14,8,0.92); backdrop-filter:blur(3px); animation:lbFade .25s ease;}
.lb-box{
  position:relative; z-index:2; background:var(--parchment-light);
  max-width:1000px; width:100%; max-height:88vh;
  display:grid; grid-template-columns:1.3fr 1fr;
  box-shadow:0 30px 80px rgba(0,0,0,0.45);
  animation:lbUp .32s cubic-bezier(.2,.8,.2,1);
  overflow:hidden;
}
@keyframes lbFade{from{opacity:0;} to{opacity:1;}}
@keyframes lbUp{from{opacity:0; transform:translateY(24px) scale(.98);} to{opacity:1; transform:translateY(0) scale(1);}}
.lb-media{background:#fbf6e8; display:flex; align-items:center; justify-content:center; min-height:360px; max-height:88vh;}
.lb-media img{width:100%; height:100%; object-fit:contain; max-height:88vh;}
.lb-info{padding:44px 40px; display:flex; flex-direction:column; justify-content:center; gap:14px;}
.lb-info .eyebrow{font-size:12px;}
.lb-info h3{font-family:'Fraunces',serif; font-size:26px; font-weight:600; color:var(--ink);}
.lb-info p{font-size:15.5px; color:var(--ink-soft); line-height:1.65;}
.lb-tag{
  margin-top:10px; font-family:'Archivo',sans-serif; font-size:11.5px; letter-spacing:0.03em;
  color:var(--brass-deep); border-top:1px solid var(--line-soft); padding-top:16px; text-transform:uppercase;
}
.lb-close{
  position:absolute; top:16px; right:16px; z-index:3;
  width:38px; height:38px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(28,20,13,0.55); color:#f8f1de; font-size:22px; line-height:1;
  display:flex; align-items:center; justify-content:center; transition:background .2s ease;
}
.lb-close:hover{background:var(--ink);}
.lb-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:44px; height:44px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(28,20,13,0.5); color:#f8f1de; font-size:26px; line-height:1;
  display:flex; align-items:center; justify-content:center; transition:background .2s ease;
}
.lb-arrow:hover{background:var(--brass-deep);}
.lb-prev{left:18px;}
.lb-next{right:18px;}
@media (max-width:760px){
  .lb-box{grid-template-columns:1fr; max-height:92vh; overflow-y:auto;}
  .lb-media{min-height:260px;}
  .lb-info{padding:28px 24px;}
  .lightbox{padding:16px;}
  .lb-arrow{width:38px; height:38px; font-size:22px;}
}

/* ===== RESPONSIVE ===== */
@media (max-width: 860px){
  nav ul{display:none;}
  .nav-cta{display:none;}
  .nav-toggle{display:flex;}
  .history-grid, .where-grid, .ws-grid{grid-template-columns:1fr; gap:40px;}
  .stat-strip{flex-wrap:wrap;}
  .stat-item{flex:1 1 50%; border-right:none; margin-bottom:20px;}
  .why-row{flex-wrap:wrap;}
  .why-item{flex:1 1 45%; border-right:none; margin-bottom:30px;}
  .coll-grid{grid-template-columns:repeat(2,1fr);}
  .form-row{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr; gap:30px;}
  section{padding:80px 0;}
  .history-media .tag{position:static; margin-top:16px;}
}