/* Layout: wood-grain walnut header + footer framing paper "shop" pages; torn-edge photos; light-oak value strip, per the client mockup. */
:root{
  --walnut:#2a1c12; --walnut-2:#3a2819; --paper:#f7f2e9; --paper-2:#efe6d6; --oak:#ece0c9;
  --ink:#2a1c12; --muted:#6a5644; --honey:#d4a24c; --honey-2:#c08a2e; --honey-ink:#8a5f17;
  --line:#d6c4a2; --on-dark:#f5ecdc; --on-dark-muted:#cbb592; --white:#fffaf1;
  --display:"Zilla Slab",Rockwell,"Roboto Slab",Georgia,serif;
  --script:"Caveat","Segoe Script","Brush Script MT",cursive;
  --body:"Source Serif 4",Georgia,"Times New Roman",serif;
  --torn:polygon(0.00% 0.38%,1.67% 0.87%,3.33% 0.59%,5.00% 0.97%,6.67% 1.00%,8.33% 0.10%,10.00% 0.02%,11.67% 1.34%,13.33% 0.41%,15.00% 0.37%,16.67% 1.59%,18.33% 0.75%,20.00% 1.34%,21.67% 0.76%,23.33% 1.02%,25.00% 0.24%,26.67% 1.02%,28.33% 1.39%,30.00% 0.84%,31.67% 1.19%,33.33% 1.07%,35.00% 0.10%,36.67% 1.21%,38.33% 0.95%,40.00% 0.48%,41.67% 0.05%,43.33% 1.38%,45.00% 0.76%,46.67% 1.15%,48.33% 1.41%,50.00% 1.14%,51.67% 1.47%,53.33% 0.63%,55.00% 1.28%,56.67% 0.71%,58.33% 1.50%,60.00% 1.41%,61.67% 0.16%,63.33% 0.22%,65.00% 0.35%,66.67% 1.54%,68.33% 0.70%,70.00% 1.00%,71.67% 0.48%,73.33% 0.81%,75.00% 0.62%,76.67% 0.56%,78.33% 0.94%,80.00% 0.93%,81.67% 1.45%,83.33% 1.09%,85.00% 1.49%,86.67% 1.37%,88.33% 1.59%,90.00% 1.07%,91.67% 0.26%,93.33% 1.38%,95.00% 1.54%,96.67% 1.45%,98.33% 0.91%,99.20% 0.00%,99.76% 2.50%,99.07% 5.00%,99.36% 7.50%,99.68% 10.00%,99.93% 12.50%,99.04% 15.00%,98.89% 17.50%,99.90% 20.00%,99.10% 22.50%,99.54% 25.00%,99.83% 27.50%,99.67% 30.00%,99.14% 32.50%,99.02% 35.00%,99.95% 37.50%,99.31% 40.00%,99.95% 42.50%,99.20% 45.00%,99.63% 47.50%,99.01% 50.00%,98.90% 52.50%,99.43% 55.00%,98.88% 57.50%,99.65% 60.00%,99.91% 62.50%,99.33% 65.00%,99.96% 67.50%,99.78% 70.00%,99.54% 72.50%,99.32% 75.00%,99.83% 77.50%,99.95% 80.00%,99.03% 82.50%,99.65% 85.00%,98.93% 87.50%,99.00% 90.00%,99.58% 92.50%,99.48% 95.00%,99.42% 97.50%,100.00% 98.97%,98.33% 99.05%,96.67% 99.11%,95.00% 99.01%,93.33% 98.50%,91.67% 99.19%,90.00% 99.31%,88.33% 98.85%,86.67% 99.62%,85.00% 99.52%,83.33% 98.44%,81.67% 99.17%,80.00% 99.12%,78.33% 99.98%,76.67% 99.34%,75.00% 99.07%,73.33% 99.97%,71.67% 99.01%,70.00% 98.99%,68.33% 99.90%,66.67% 99.00%,65.00% 99.25%,63.33% 98.91%,61.67% 99.44%,60.00% 98.87%,58.33% 98.82%,56.67% 99.96%,55.00% 99.90%,53.33% 98.92%,51.67% 98.46%,50.00% 99.60%,48.33% 99.27%,46.67% 99.05%,45.00% 99.49%,43.33% 99.42%,41.67% 99.50%,40.00% 99.41%,38.33% 99.05%,36.67% 99.52%,35.00% 99.40%,33.33% 98.76%,31.67% 99.96%,30.00% 99.09%,28.33% 98.82%,26.67% 99.50%,25.00% 99.64%,23.33% 98.71%,21.67% 99.62%,20.00% 99.70%,18.33% 99.30%,16.67% 98.88%,15.00% 99.84%,13.33% 99.48%,11.67% 99.47%,10.00% 98.67%,8.33% 99.30%,6.67% 98.63%,5.00% 99.73%,3.33% 99.46%,1.67% 98.96%,0.99% 100.00%,0.51% 97.50%,0.25% 95.00%,0.14% 92.50%,0.59% 90.00%,0.21% 87.50%,0.90% 85.00%,0.94% 82.50%,0.21% 80.00%,0.31% 77.50%,0.90% 75.00%,0.72% 72.50%,0.90% 70.00%,0.39% 67.50%,0.15% 65.00%,0.33% 62.50%,0.89% 60.00%,0.30% 57.50%,0.39% 55.00%,0.47% 52.50%,0.47% 50.00%,0.46% 47.50%,1.03% 45.00%,0.17% 42.50%,0.01% 40.00%,1.06% 37.50%,0.99% 35.00%,1.11% 32.50%,0.49% 30.00%,1.06% 27.50%,1.04% 25.00%,0.25% 22.50%,0.83% 20.00%,0.94% 17.50%,0.74% 15.00%,0.58% 12.50%,0.32% 10.00%,0.38% 7.50%,0.25% 5.00%,0.08% 2.50%);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:110px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17.5px;line-height:1.65;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:70;background:var(--walnut)}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--honey);outline-offset:3px}
::selection{background:var(--honey);color:var(--walnut)}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
h1,h2,h3,h4{font-family:var(--display);line-height:1.08;text-wrap:balance;margin:0;font-weight:700}
h2{font-size:clamp(2rem,4.2vw,2.8rem)}
h3{font-size:1.35rem}
p{margin:0}
.wood{background:linear-gradient(rgba(22,14,8,.58),rgba(22,14,8,.58)),url(/img/wood-walnut.jpg?v=856bf15b3859) center/cover,var(--walnut)}
.oak{background:linear-gradient(rgba(250,244,233,.66),rgba(250,244,233,.66)),url(/img/wood-cherry.jpg?v=856bf15b3859) center/cover,var(--oak)}
.skip{position:absolute;left:-999px;top:0;background:var(--honey);color:var(--walnut);padding:10px 16px;z-index:99;font-family:var(--display);font-weight:700}
.skip:focus{left:12px;top:12px}

/* small parts */
.script{font-family:var(--script);font-weight:700;color:var(--honey-ink);font-size:1.75rem;line-height:1.05}
.kicker{display:block;width:44px;height:3px;background:var(--honey);margin-bottom:14px}
.center .kicker{margin-inline:auto}
.trees{display:flex;align-items:center;gap:14px;color:var(--honey)}
.trees::before,.trees::after{content:"";height:2px;width:clamp(40px,8vw,90px);background:currentColor}
.trees svg{width:46px;height:40px;fill:currentColor}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;font-size:1.06rem;padding:13px 26px;border-radius:4px;border:0;background:linear-gradient(#e2b766,#cf9a3f);color:var(--walnut);text-decoration:none;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 2px 0 #9c6d22,0 6px 16px rgba(0,0,0,.18);transition:transform .15s,filter .15s}
.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn:active{transform:translateY(1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 1px 0 #9c6d22}
.btn .arr{transition:transform .2s}.btn:hover .arr{transform:translateX(4px)}
.btn.line{background:transparent;color:var(--on-dark);box-shadow:inset 0 0 0 2px var(--on-dark-muted)}
.btn.line:hover{box-shadow:inset 0 0 0 2px var(--honey);color:var(--honey)}
.btn.dark{background:var(--walnut);color:var(--on-dark);box-shadow:0 2px 0 #000,0 6px 16px rgba(0,0,0,.18)}
.btn.sm{font-size:.92rem;padding:9px 16px}
.torn{clip-path:var(--torn);filter:drop-shadow(0 6px 10px rgba(42,28,18,.3))}
.torn-wrap{filter:drop-shadow(0 10px 18px rgba(42,28,18,.28))}
.torn-wrap img{clip-path:var(--torn)}
.sec{padding-block:clamp(56px,8vw,100px)}
.head{display:grid;gap:8px;margin-bottom:38px;max-width:680px}
.head.center{margin-inline:auto;text-align:center;justify-items:center}
.head p{color:var(--muted)}
.chip{display:inline-block;font-family:var(--display);font-weight:600;font-size:.8rem;letter-spacing:.06em;padding:3px 10px;border-radius:99px;background:var(--walnut);color:var(--honey)}

/* announcement + header */
.announce{background:var(--honey);color:var(--walnut);font-family:var(--display);font-weight:600;font-size:.92rem;text-align:center}
.announce .wrap{padding-block:7px;display:flex;justify-content:center;gap:6px 14px;flex-wrap:wrap}
.announce a{font-weight:700}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;color:var(--on-dark);border-bottom:2px solid #5a4029;box-shadow:0 2px 0 rgba(212,162,76,.35),0 8px 24px rgba(0,0,0,.25);transition:box-shadow .2s}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:92px;transition:min-height .25s}
header.site.small .hbar{min-height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--on-dark)}
.brand .mk{display:flex;align-items:flex-end;color:var(--honey)}
.brand .mk svg{width:38px;height:48px;fill:currentColor;margin-right:-4px;transition:width .25s,height .25s}
.brand .mk b{font-family:var(--display);font-weight:700;font-size:3.4rem;line-height:.8;letter-spacing:-.02em;background:linear-gradient(#e9c27a,#c58f34);-webkit-background-clip:text;background-clip:text;color:transparent;transition:font-size .25s}
.brand .wd{font-family:var(--display);font-weight:600;font-size:1.32rem;letter-spacing:.06em;line-height:1;padding-bottom:7px;border-bottom:2px solid var(--honey);white-space:nowrap}
header.site.small .brand .mk b{font-size:2.6rem}
header.site.small .brand .mk svg{width:30px;height:38px}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(6px,1.6vw,26px)}
nav.main a{display:block;position:relative;padding:8px 2px;font-family:var(--display);font-weight:500;font-size:1.12rem;text-decoration:none;color:var(--on-dark)}
nav.main a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--honey);transform:scaleX(0);transition:transform .2s}
nav.main a:hover::after,nav.main a[aria-current="page"]::after{transform:scaleX(1)}
nav.main a[aria-current="page"]{color:var(--honey)}
nav.main .shop a{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center;line-height:1.1}
nav.main .shop svg{width:24px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;grid-row:span 2}
nav.main .shop small{font-family:var(--body);font-size:.72rem;color:var(--on-dark-muted);grid-column:2}
#menuBtn{display:none;align-items:center;gap:8px;background:none;border:2px solid var(--on-dark-muted);color:var(--on-dark);font-family:var(--display);font-weight:700;font-size:1rem;padding:8px 14px;border-radius:4px;cursor:pointer}
#menuBtn i{display:grid;gap:4px}#menuBtn i::before,#menuBtn i::after,#menuBtn i span{content:"";display:block;width:18px;height:2px;background:currentColor}
@media (max-width:1060px){
  #menuBtn{display:flex}
  .brand .wd{font-size:1.05rem}
  nav.main{position:absolute;left:0;right:0;top:100%;background:linear-gradient(rgba(22,14,8,.7),rgba(22,14,8,.7)),url(/img/wood-walnut.jpg?v=856bf15b3859) center/cover,var(--walnut);border-bottom:3px solid var(--honey);box-shadow:0 20px 30px rgba(0,0,0,.35)}
  nav.main[data-open="false"]{display:none}
  nav.main ul{flex-direction:column;align-items:stretch;gap:0;padding:6px max(18px,env(safe-area-inset-right,0px)) 18px max(18px,env(safe-area-inset-left,0px))}
  nav.main a{padding:14px 4px;border-bottom:1px solid rgba(245,236,220,.12);font-size:1.2rem}
  nav.main a::after{display:none}
}
@media (max-width:480px){.brand .mk b{font-size:2.6rem}.brand .mk svg{width:28px;height:36px}.brand .wd{font-size:.9rem;letter-spacing:.03em}.hbar{min-height:76px}}

/* hero */
.hero{position:relative;color:var(--white);background-color:#1b120b;background-position:70% 50%;background-size:cover;background-repeat:no-repeat;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(24,15,8,.86) 0%,rgba(24,15,8,.62) 38%,rgba(24,15,8,.12) 72%,rgba(24,15,8,0) 100%),linear-gradient(0deg,rgba(24,15,8,.45),rgba(24,15,8,0) 40%)}
.hero .wrap{padding-block:clamp(60px,9vw,120px) clamp(64px,9vw,120px);display:grid;gap:14px;justify-items:start}
.hero .trees{margin-left:clamp(0px,6vw,70px)}
.hero h1{font-size:clamp(3rem,7.6vw,5.8rem);line-height:.98;letter-spacing:-.01em;text-shadow:0 3px 14px rgba(0,0,0,.45)}
.hero .tag{font-family:var(--script);font-weight:700;color:#f0c879;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.15;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}
.hero .loc{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.95rem;color:#e6d8bf}
.hero .loc svg{width:16px;height:16px;fill:var(--honey)}
@media (max-width:640px){.hero{background-position:62% 50%}.hero::before{background:linear-gradient(0deg,rgba(24,15,8,.9),rgba(24,15,8,.55))}}

.pagehero{color:var(--on-dark);border-bottom:3px solid var(--honey)}
.pagehero .wrap{padding-block:clamp(44px,6vw,72px);display:grid;gap:10px}
.pagehero h1{font-size:clamp(2.4rem,5.5vw,3.8rem)}
.pagehero p{max-width:60ch;color:var(--on-dark-muted);font-size:1.08rem}
.crumbs{font-family:var(--display);font-size:.9rem;color:var(--on-dark-muted)}
.crumbs a{color:var(--honey);text-decoration:none}

/* craftsmen */
.meet{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:center}
.meet .txt{display:grid;gap:16px;justify-items:start}
.meet h2{font-size:clamp(2rem,3.6vw,2.6rem)}
.meet .names{display:flex;flex-wrap:wrap;gap:10px 22px;font-family:var(--display);font-weight:600}
.meet .names span{display:flex;align-items:center;gap:8px}
.meet .names svg{width:18px;height:18px;fill:var(--honey-2)}
@media (max-width:860px){.meet{grid-template-columns:1fr}}

/* values strip */
.values{border-top:1px solid #cdb68e;border-bottom:1px solid #cdb68e;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.values ul{list-style:none;margin:0;padding:26px 0;display:grid;grid-template-columns:repeat(5,1fr)}
.values li{display:grid;justify-items:center;text-align:center;gap:4px;padding:4px 10px}
.values li+li{border-left:1px solid #b99c6c}
.values svg{width:38px;height:38px;fill:var(--walnut);margin-bottom:6px}
.values b{font-family:var(--display);font-weight:600;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}
.values small{font-size:.88rem;color:#5d4a38}
@media (max-width:860px){.values ul{grid-template-columns:repeat(2,1fr);row-gap:18px}.values li+li{border-left:0}.values li:last-child{grid-column:1/-1}}

/* category cards */
.cards5{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.ccard{grid-column:span 2;position:relative;display:block;text-decoration:none;color:var(--white);border-radius:4px;overflow:hidden;aspect-ratio:4/3.3;background:var(--walnut);box-shadow:0 10px 24px rgba(42,28,18,.2)}
.ccard:nth-child(4),.ccard:nth-child(5){grid-column:span 3;aspect-ratio:16/9}
.ccard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ccard:hover img{transform:scale(1.05)}
.ccard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,15,8,.88) 0%,rgba(24,15,8,.2) 55%,rgba(24,15,8,0))}
.ccard div{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:18px 20px;display:grid;gap:2px}
.ccard h3{font-size:1.6rem}
.ccard p{font-size:.95rem;color:#eadcc4}
.ccard .go{font-family:var(--display);font-weight:600;color:var(--honey);margin-top:6px}
@media (max-width:860px){.cards5{grid-template-columns:1fr 1fr}.ccard,.ccard:nth-child(4),.ccard:nth-child(5){grid-column:span 1;aspect-ratio:4/4.4}.ccard:nth-child(5){grid-column:1/-1;aspect-ratio:16/9}}

/* feature band */
.band{color:var(--on-dark)}
.band .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center;padding-block:clamp(56px,8vw,96px)}
.band h2{color:var(--white)}
.band p{color:#e2d4bb}
.band .script{color:var(--honey)}
.band .txt{display:grid;gap:16px;justify-items:start}
@media (max-width:860px){.band .wrap{grid-template-columns:1fr}}
.ticks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.ticks li{position:relative;padding-left:24px}
.ticks li::before{content:"";position:absolute;left:2px;top:.5em;width:9px;height:9px;border:2px solid var(--honey);transform:rotate(45deg)}
@media (max-width:480px){.ticks{grid-template-columns:1fr}}
.collage{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.collage img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px;cursor:zoom-in}
.collage img:first-child{grid-column:1/-1;aspect-ratio:16/9}
.fine{font-size:.84rem;color:var(--on-dark-muted)}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.steps li{display:grid;gap:10px;align-content:start;counter-increment:s}
.steps img{width:100%;aspect-ratio:4/5;object-fit:cover;cursor:zoom-in}
.steps h3::before{content:counter(s);display:inline-grid;place-items:center;width:30px;height:30px;margin-right:10px;border-radius:50%;background:var(--walnut);color:var(--honey);font-size:1rem;vertical-align:2px}
.steps p{font-size:.96rem;color:var(--muted)}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}

/* gifts */
.gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gifts figure{margin:0;background:var(--white);padding:12px 12px 16px;box-shadow:0 10px 24px rgba(42,28,18,.14);transition:transform .25s}
.gifts figure:nth-child(1){transform:rotate(-1.4deg)}.gifts figure:nth-child(3){transform:rotate(1.2deg)}
.gifts figure:hover{transform:rotate(0) translateY(-4px)}
.gifts img{width:100%;aspect-ratio:3/4;object-fit:cover;cursor:zoom-in}
.gifts figcaption{padding-top:10px;font-family:var(--script);font-weight:700;font-size:1.55rem;text-align:center}
@media (max-width:760px){.gifts{grid-template-columns:1fr 1fr}.gifts figure:last-child{display:none}}

/* product catalog */
.subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 70px);z-index:40;background:rgba(243,236,224,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-block:10px;scrollbar-width:none}
.subnav a{flex:none;font-family:var(--display);font-weight:600;text-decoration:none;padding:7px 14px;border-radius:99px;border:1.5px solid var(--walnut);font-size:.95rem}
.subnav a.on{background:var(--walnut);color:var(--honey)}
.cat{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(26px,4vw,52px);align-items:start;padding-block:clamp(48px,7vw,84px);border-bottom:1px dashed var(--line)}
.cat:last-of-type{border-bottom:0}
.cat .sticky{position:sticky;top:150px;display:grid;gap:10px}
@media (max-width:860px){.cat{grid-template-columns:1fr}.cat .sticky{position:static}}
.items{list-style:none;margin:8px 0 0;padding:0;border-top:2px solid var(--walnut)}
.items li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}
.items b{font-family:var(--display);font-weight:600;font-size:1.06rem}
.items em{display:block;font-style:normal;font-size:.9rem;color:var(--muted)}
.items .pr{font-family:var(--display);font-weight:700;color:var(--honey-ink);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.items .ask{grid-column:1/-1;justify-self:start;font-family:var(--display);font-size:.85rem;font-weight:600;color:var(--honey-ink);text-decoration:none;border-bottom:1px solid currentColor;line-height:1.2}
.perk{display:flex;gap:12px;align-items:center;background:var(--walnut);color:var(--on-dark);padding:14px 16px;border-radius:4px;margin-top:6px}
.perk svg{flex:none;width:30px;height:30px;fill:var(--honey)}
.perk b{color:var(--honey);font-family:var(--display)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pgrid figure{margin:0;display:grid;gap:6px}
.pgrid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px;cursor:zoom-in;box-shadow:0 4px 12px rgba(42,28,18,.12);transition:transform .25s}
.pgrid img:hover{transform:translateY(-3px)}
.pgrid figure.w{grid-column:span 2}.pgrid figure.w img{aspect-ratio:8/5}
.pgrid figcaption{font-size:.86rem;color:var(--muted);font-family:var(--display)}
@media (max-width:560px){.pgrid{grid-template-columns:1fr 1fr}.pgrid figure.w{grid-column:1/-1}}

/* woods + care */
.woods{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.wood-c{background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:grid}
.wood-c i{display:block;height:54px;background:var(--sw)}
.wood-c div{padding:12px 14px;display:grid;gap:2px}
.wood-c b{font-family:var(--display);font-size:1.1rem}
.wood-c small{color:var(--muted);font-size:.88rem;line-height:1.45}
.care{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:c}
.care li{list-style:none;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--honey);padding:18px;display:grid;gap:6px}
.care b{font-family:var(--display);font-size:1.12rem}
.care p{font-size:.95rem;color:var(--muted)}
@media (max-width:760px){.care{grid-template-columns:1fr}}

/* gallery */
.filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:10px}
.filters button{font-family:var(--display);font-weight:600;font-size:.98rem;padding:8px 16px;border-radius:99px;border:1.5px solid var(--walnut);background:transparent;color:var(--walnut);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--walnut);color:var(--honey)}
.count{text-align:center;color:var(--muted);font-size:.92rem;margin-bottom:22px}
.gal{columns:4 230px;column-gap:14px}
.gal button{display:block;width:100%;margin:0 0 14px;padding:0;border:0;background:var(--white);cursor:zoom-in;break-inside:avoid;box-shadow:0 5px 14px rgba(42,28,18,.14);position:relative}
.gal img{width:100%;height:auto;border:5px solid var(--white);transition:opacity .2s}
.gal span{position:absolute;left:5px;right:5px;bottom:5px;padding:20px 10px 8px;color:var(--white);font-family:var(--display);font-weight:600;font-size:.9rem;text-align:left;background:linear-gradient(0deg,rgba(24,15,8,.8),rgba(24,15,8,0));opacity:0;transition:opacity .2s}
.gal button:hover span,.gal button:focus-visible span{opacity:1}

/* story */
.story p+p{margin-top:16px}
.story .lead{font-size:1.2rem;color:var(--ink)}
.story .lead::first-letter{float:left;font-family:var(--display);font-weight:700;font-size:4rem;line-height:.8;padding:6px 10px 0 0;color:var(--honey-2)}
.pull{margin:30px 0;padding:6px 0 6px 22px;border-left:4px solid var(--honey);font-family:var(--script);font-weight:700;font-size:2rem;line-height:1.15;color:var(--walnut)}
.sig{font-family:var(--script);font-weight:700;font-size:2.3rem;margin-top:22px;line-height:1}
.sig small{display:block;font-size:1.5rem;color:var(--honey-ink)}
.tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.tl::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:var(--line)}
.tl li{position:relative;padding-top:42px;display:grid;gap:6px}
.tl li::before{content:"";position:absolute;top:6px;left:0;width:20px;height:20px;border-radius:50%;background:var(--honey);box-shadow:0 0 0 5px var(--paper)}
.tl b{font-family:var(--display);font-size:1.15rem}
.tl p{font-size:.95rem;color:var(--muted)}
@media (max-width:760px){.tl{grid-template-columns:1fr}.tl::before{left:9px;right:auto;top:0;bottom:0;width:2px;height:auto}.tl li{padding:0 0 0 40px}.tl li::before{top:4px}}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trio img{width:100%;aspect-ratio:1;object-fit:cover;cursor:zoom-in}

/* faq */
.faq{display:grid;gap:10px;max-width:820px;margin-inline:auto}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:4px}
.faq summary{cursor:pointer;list-style:none;padding:16px 50px 16px 18px;font-family:var(--display);font-weight:600;font-size:1.1rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.6rem;color:var(--honey-2);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 18px 18px;color:var(--muted)}

/* find + contact */
.fairs{display:grid;gap:14px}
.fair{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:18px;background:var(--white);border:1px solid var(--line);border-radius:4px}
.fair svg{width:34px;height:34px;fill:var(--honey-2)}
.fair b{font-family:var(--display);font-size:1.12rem}
.fair p{color:var(--muted);font-size:.96rem}
.cgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:860px){.cgrid{grid-template-columns:1fr}}
.people{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:480px){.people{grid-template-columns:1fr}}
.card{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:18px;display:grid;gap:6px;align-content:start}
.card h3{font-size:1.2rem}
.card .role{font-size:.9rem;color:var(--muted)}
.val{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.val a,.val span{font-family:var(--display);font-weight:700;font-size:1.2rem;font-variant-numeric:tabular-nums;text-decoration:none;word-break:break-word}
.copy{font-family:var(--display);font-size:.8rem;font-weight:600;border:1px solid var(--walnut);background:transparent;color:var(--walnut);padding:4px 10px;border-radius:99px;cursor:pointer}
.copy.done{background:var(--walnut);color:var(--honey)}
form.req{background:var(--white);border:1px solid var(--line);border-top:5px solid var(--honey);border-radius:4px;padding:clamp(18px,3vw,32px);display:grid;gap:16px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.row{grid-template-columns:1fr}}
label{display:grid;gap:5px;font-family:var(--display);font-weight:600;font-size:.95rem}
input,select,textarea{font:inherit;font-size:1rem;padding:11px 12px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);border-radius:4px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--honey-2);outline:none;box-shadow:0 0 0 3px rgba(212,162,76,.3)}
textarea{min-height:130px;resize:vertical}
.err{color:#9b2c22;font-family:var(--display);font-weight:600}
.out{display:grid;gap:12px;background:var(--paper-2);padding:16px;border-left:4px solid var(--honey);border-radius:4px}
.out pre{white-space:pre-wrap;margin:0;font-family:var(--body);font-size:.96rem}

/* cta + footer */
.cta{color:var(--on-dark);text-align:center}
.cta .wrap{display:grid;justify-items:center;gap:14px;padding-block:clamp(52px,7vw,84px)}
.cta h2{color:var(--white)}
.cta p{max-width:56ch;color:#e2d4bb}
.cta .row2{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:6px}
footer.site{color:var(--on-dark-muted);font-size:.95rem;border-top:3px solid var(--honey)}
footer .fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;padding-block:52px 34px}
footer h4{color:var(--honey);font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
footer a{color:var(--on-dark);text-decoration:none}
footer a:hover{color:var(--honey)}
footer .logo{width:96px;height:96px;background:#fff;border-radius:50%;padding:4px;margin-bottom:12px}
footer .bless{font-family:var(--script);font-weight:700;font-size:1.8rem;color:var(--honey);margin-top:6px}
footer .base{border-top:1px solid rgba(245,236,220,.14);padding-block:18px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:.86rem}
@media (max-width:860px){footer .fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .fgrid{grid-template-columns:1fr}}

/* soon */
.soon{display:grid;justify-items:center;text-align:center;gap:16px;max-width:640px;margin-inline:auto}
.soon .badge{font-family:var(--display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;background:var(--honey);color:var(--walnut);padding:6px 14px;border-radius:99px}

/* to top + lightbox */
#toTop{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:55;width:48px;height:48px;border-radius:50%;border:0;background:var(--walnut);color:var(--honey);box-shadow:0 6px 18px rgba(0,0,0,.3);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s}
#toTop.show{opacity:1;pointer-events:auto;transform:none}
#toTop svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.4}
#lb{position:fixed;inset:0;z-index:100;background:rgba(18,11,6,.95);display:grid;place-items:center;padding:max(60px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
#lb figure{margin:0;display:grid;gap:12px;justify-items:center;max-width:100%}
#lb img{max-height:78vh;max-width:min(1100px,100%);width:auto;border:6px solid var(--white)}
#lb figcaption{color:var(--on-dark);font-family:var(--display);font-size:1.05rem;text-align:center}
#lb figcaption small{display:block;color:var(--on-dark-muted);font-family:var(--body);font-size:.85rem}
#lb button{position:absolute;display:grid;place-items:center;background:rgba(245,236,220,.1);color:var(--on-dark);border:1px solid rgba(245,236,220,.35);font-size:1.4rem;width:50px;height:50px;border-radius:50%;cursor:pointer}
#lb button:hover{background:var(--honey);color:var(--walnut)}
#lbX{top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px))}
#lbP{left:calc(12px + env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%)}
#lbN{right:calc(12px + env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%)}
@media (max-width:640px){#lbP,#lbN{top:auto;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:none}}
#menuBtn em{font-style:normal}
@media (max-width:480px){.hbar{gap:10px}#menuBtn{padding:10px}#menuBtn em{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.announce{font-size:.85rem}}
@media (max-width:600px){.cards5{grid-template-columns:1fr}.ccard,.ccard:nth-child(4),.ccard:nth-child(5){grid-column:1/-1;aspect-ratio:16/10}.announce .x{display:none}.announce .wrap{gap:2px 10px}}

/* real logo in the header */
.brand .logo-mark{width:72px;height:72px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--honey),0 4px 12px rgba(0,0,0,.35);transition:width .25s,height .25s;flex:none}
header.site.small .brand .logo-mark{width:54px;height:54px}
.brand{gap:16px}
@media (max-width:1060px){.brand .logo-mark{width:60px;height:60px}}
@media (max-width:480px){.brand{gap:10px}.brand .logo-mark{width:50px;height:50px}header.site.small .brand .logo-mark{width:46px;height:46px}}
@media (max-width:400px){.brand .wd{font-size:.8rem}}

/* ---- quality pass: photo page headers + product cards ---- */
.pagehero{position:relative;isolation:isolate;background:var(--walnut) var(--ph-img,none) center/cover no-repeat}
.pagehero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(26,17,10,.92) 0%,rgba(26,17,10,.78) 45%,rgba(26,17,10,.45) 100%)}
.pagehero .wrap{padding-block:clamp(56px,8vw,104px)}
.pagehero h1{color:var(--white);text-shadow:0 2px 12px rgba(0,0,0,.35)}
.pagehero p{color:#e6d8bf}
header.site{box-shadow:0 1px 0 rgba(212,162,76,.6),0 8px 24px rgba(0,0,0,.22);border-bottom:0}
.values{border:0;box-shadow:none;border-block:1px solid var(--line)}

.catsec{padding-block:clamp(52px,7vw,88px);border-bottom:1px solid var(--line)}
.catsec:last-of-type{border-bottom:0}
.catsec .chead{display:grid;gap:6px;max-width:720px;margin-bottom:28px}
.catsec .chead p{color:var(--muted)}
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.pcard{display:grid;grid-template-rows:auto 1fr;background:var(--white);border-radius:6px;overflow:hidden;box-shadow:0 1px 2px rgba(42,28,18,.06),0 10px 26px rgba(42,28,18,.09);transition:transform .25s,box-shadow .25s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(42,28,18,.08),0 18px 36px rgba(42,28,18,.14)}
.pcard .pimg{position:relative;aspect-ratio:4/3;background:#e9e1d2;overflow:hidden;cursor:zoom-in}
.pcard .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pcard:hover .pimg img{transform:scale(1.04)}
.pcard .pbody{display:grid;gap:6px;align-content:start;padding:16px 18px 18px}
.pcard h3{font-size:1.28rem}
.pcard .pdesc{color:var(--muted);font-size:.95rem;line-height:1.5}
.pcard .pfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.pcard .pprice{font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--honey-ink)}
.pcard .pprice.ask{font-size:1rem;color:var(--muted);font-weight:600}
.pcard .pask{font-family:var(--display);font-weight:600;font-size:.95rem;color:var(--walnut);text-decoration:none;border-bottom:2px solid var(--honey);line-height:1.2}
.pcard .pask:hover{color:var(--honey-ink)}
.mto{margin-top:26px;background:var(--paper-2);border-radius:6px;padding:18px 20px;display:grid;gap:10px}
.mto h3{font-size:1.1rem}
.mto ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mto li a{display:inline-flex;gap:8px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:99px;padding:6px 14px;text-decoration:none;font-family:var(--display);font-weight:600;font-size:.95rem}
.mto li a:hover{border-color:var(--honey)}
.mto li small{font-family:var(--body);font-weight:400;color:var(--muted)}
.catsec .perk{margin-top:22px;max-width:520px}

header.site.wood{background:linear-gradient(rgba(20,12,7,.66),rgba(20,12,7,.66)),url(/img/wood-walnut.jpg?v=856bf15b3859) center/cover,var(--walnut)}
footer.site.wood{background:linear-gradient(rgba(20,12,7,.72),rgba(20,12,7,.72)),url(/img/wood-walnut.jpg?v=856bf15b3859) center/cover,var(--walnut)}
.values.oak small{color:#4a3a2b}

/* admin-version extras */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.out b{font-family:var(--display);font-size:1.2rem}
.cards5:not(.n5){grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.cards5:not(.n5) .ccard{grid-column:auto;aspect-ratio:4/3.4}
.feat{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.fcard{display:grid;gap:6px;text-decoration:none;background:var(--white);padding:10px 10px 14px;box-shadow:0 8px 20px rgba(42,28,18,.12);border-radius:3px;transition:transform .2s}
.fcard:hover{transform:translateY(-3px)}
.fcard img,.fcard .ph{width:100%;aspect-ratio:1;object-fit:cover;background:var(--paper-2)}
.fcard b{font-family:var(--display);font-size:1.08rem}
.fcard span{font-family:var(--display);font-weight:700;color:var(--honey-ink)}
.evlist{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.evlist li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;background:var(--white);border:1px solid var(--line);padding:10px 14px;border-radius:4px}
.evlist .evd{font-family:var(--display);font-weight:700;background:var(--walnut);color:var(--honey);padding:6px 10px;border-radius:3px;font-size:.9rem;white-space:nowrap}
.evlist b{font-family:var(--display)}.evlist em{display:block;font-style:normal;color:var(--muted);font-size:.9rem}
.items li:has(.pthumb){grid-template-columns:56px minmax(0,1fr) auto}
.items .pthumb{width:56px;height:56px;object-fit:cover;border-radius:3px;cursor:zoom-in}
.items li:has(.pthumb) .ask{grid-column:2/-1}
.cat.nophotos{grid-template-columns:minmax(0,760px)}
.cat.nophotos .sticky{position:static}

