
:root{--esp:#2a1d14;--esp2:#3a2a1e;--cream:#fbf5ea;--paper:#fffaf1;--sun:#e3a72f;--gold:#b8862b;--gold-l:#d9b56a;--jute:#efe2c8;--jute-d:#cdb48a;--rust:#9c4a2c;--ink:#2a1d14;--muted:#7a6044;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Lora',Georgia,serif;color:var(--ink);background:var(--cream);line-height:1.7;font-size:17px;}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px;}
.eyebrow{font-family:'Lora',serif;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--gold);margin:0 0 10px;}
h1,h2,.display{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.08;text-wrap:balance;margin:0;}
h2{font-size:clamp(2.2rem,5vw,3.2rem);}
h3{margin:0 0 4px;font-size:1.1rem;}
.rule{display:flex;align-items:center;gap:12px;margin:14px 0 22px;color:var(--gold);}
.rule::before,.rule::after{content:"";height:1px;width:48px;background:currentColor;}
.rule span{width:8px;height:8px;transform:rotate(45deg);background:currentColor;display:block;}
.center{text-align:center;} .center .rule{justify-content:center;}

/* hero */
.hero{position:relative;min-height:560px;display:flex;align-items:flex-end;color:#fff;background:var(--esp) url('images/harvest-sunflower-1.jpg') center 35%/cover no-repeat;}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,29,20,.25) 0%,rgba(42,29,20,.55) 45%,rgba(42,29,20,.92) 100%);}
.hero .wrap{position:relative;padding-block:120px 64px;width:100%;}
.hero h1{font-size:clamp(3rem,9vw,5.6rem);color:#fff;}
.hero .tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.3rem,3vw,1.7rem);color:var(--gold-l);margin:8px 0 14px;}
.hero p.sub{max-width:560px;color:#f3e7d3;margin:0 0 22px;}
.badge{display:inline-block;padding:7px 16px;border:1px solid var(--gold-l);border-radius:999px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-l);margin-bottom:22px;background:rgba(42,29,20,.35);}
.btn{display:inline-block;background:var(--sun);color:var(--esp);padding:13px 28px;border-radius:999px;text-decoration:none;letter-spacing:.06em;font-weight:500;border:0;font:inherit;font-size:.95rem;cursor:pointer;transition:background .2s,transform .2s;}
.btn:hover,.btn:focus-visible{background:var(--gold-l);transform:translateY(-1px);}
.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7);margin-left:10px;}
.btn.ghost:hover{background:rgba(255,255,255,.12);}
.btn.dark{background:var(--esp);color:var(--cream);}
.btn.dark:hover{background:var(--rust);}

/* nav */
nav{position:sticky;top:0;z-index:10;background:var(--esp);border-bottom:2px solid var(--gold);}
nav .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;padding-block:13px;}
nav a{color:var(--cream);text-decoration:none;font-size:.86rem;letter-spacing:.12em;text-transform:uppercase;}
nav a:hover,nav a:focus-visible{color:var(--sun);}

section{padding-block:84px;}
.lead{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.4rem;color:var(--muted);margin:0 0 18px;}
.prose{max-width:680px;}

/* boards */
#boards{background:var(--cream);}
.treats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:36px;}
.treat{background:var(--paper);border:1px solid var(--jute-d);border-radius:14px;padding:26px 22px;position:relative;box-shadow:0 10px 24px -18px rgba(42,29,20,.5);}
.treat .num{font-family:'Cormorant Garamond',serif;font-size:2.4rem;color:var(--sun);line-height:1;}
.treat h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;margin-top:6px;}
.treat p{margin:6px 0 0;color:var(--muted);font-size:.95rem;}

/* quote */
#quote-section{background:var(--esp);color:var(--cream);background-image:radial-gradient(circle at 15% 20%,rgba(227,167,47,.18),transparent 45%),radial-gradient(circle at 85% 80%,rgba(156,74,44,.25),transparent 45%);}
#quote-section h2{color:#fff;}
#quote-section .lead{color:var(--gold-l);}
.quote-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:44px;align-items:start;}
.quote-grid ul{padding-left:18px;color:#eadcc4;}
form{background:var(--paper);color:var(--ink);border-radius:16px;padding:28px;box-shadow:0 24px 48px -24px rgba(0,0,0,.6);}
form h3{font-family:'Cormorant Garamond',serif;font-size:1.7rem;}
label{display:block;margin-top:14px;font-size:.88rem;letter-spacing:.02em;color:var(--muted);}
input,select,textarea{width:100%;padding:11px 12px;margin-top:5px;border:1px solid var(--jute-d);border-radius:8px;font:inherit;font-size:1rem;background:#fff;color:var(--ink);}
input:focus,select:focus,textarea:focus{outline:2px solid var(--sun);outline-offset:1px;border-color:var(--sun);}
form .btn{margin-top:20px;}
.hidden{display:none;}

/* dogs */
#dogs{background:var(--jute);background-image:repeating-linear-gradient(45deg,rgba(205,180,138,.18) 0 2px,transparent 2px 9px);}
.two{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center;}
.photo-frame{background:#fff;padding:12px 12px 40px;border-radius:6px;box-shadow:0 20px 40px -22px rgba(42,29,20,.7);transform:rotate(-2deg);}
.photo-frame img{aspect-ratio:1/1;object-fit:cover;border-radius:3px;}
.photo-frame figcaption{font-family:'Cormorant Garamond',serif;font-style:italic;text-align:center;margin-top:10px;font-size:1.2rem;color:var(--muted);}
.pull{font-family:'Cormorant Garamond',serif;font-size:1.45rem;line-height:1.35;color:var(--rust);margin:20px 0 0;}
.product{margin-top:56px;background:var(--paper);border:1px solid var(--gold-l);border-radius:18px;padding:36px;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;box-shadow:0 20px 40px -26px rgba(42,29,20,.6);}
.soon{display:inline-block;background:var(--rust);color:#fff;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;padding:5px 14px;border-radius:999px;}
.product h3.name{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,6vw,3.4rem);color:var(--gold);margin:12px 0 0;line-height:1;}
.product .farm{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--muted);font-size:1.25rem;margin:6px 0 16px;}
.product form{box-shadow:none;border:1px solid var(--jute-d);padding:22px;}
.product form h3{font-size:1.4rem;}

/* handmade */
#home{background:var(--esp);color:var(--cream);}
#home h2{color:#fff;}
#home .lead{color:var(--gold-l);}
.promise{border:1px solid rgba(217,181,106,.5);border-radius:12px;padding:18px 22px;margin:22px 0;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.35rem;color:var(--gold-l);max-width:720px;}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin-top:40px;}
.piece{background:var(--esp2);border-radius:14px;overflow:hidden;border:1px solid rgba(217,181,106,.22);transition:transform .25s,box-shadow .25s;}
.piece:hover{transform:translateY(-4px);box-shadow:0 22px 40px -20px rgba(0,0,0,.8);}
.piece img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.piece .body{padding:18px 18px 20px;}
.piece h3{font-family:'Cormorant Garamond',serif;font-size:1.55rem;color:#fff;font-weight:600;}
.piece p{margin:6px 0 0;color:#d9cbb3;font-size:.93rem;}
.sold{display:inline-block;margin-top:12px;font-size:.68rem;color:var(--sun);letter-spacing:.16em;text-transform:uppercase;}
.cta-row{margin-top:40px;text-align:center;}

/* shop */
#shop{background:var(--cream);}
.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px;}
.shop-card{background:var(--paper);border-radius:16px;padding:30px;border-top:5px solid var(--sun);box-shadow:0 14px 30px -22px rgba(42,29,20,.55);}
.shop-card h3{font-family:'Cormorant Garamond',serif;font-size:1.8rem;}
.shop-card ul{padding-left:18px;margin:12px 0 0;color:var(--muted);}

/* about */
#about{background:linear-gradient(180deg,var(--jute) 0%,var(--cream) 100%);}
.big-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.25;color:var(--esp);max-width:820px;margin:36px auto 0;text-align:center;font-style:italic;}
.big-quote::before{content:"\201C";display:block;font-size:4rem;color:var(--sun);line-height:.6;}

footer{background:var(--esp);color:var(--jute-d);text-align:center;padding:48px 20px;font-size:.9rem;border-top:2px solid var(--gold);}
footer .display{font-size:2rem;color:#fff;}
footer .tagline{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold-l);font-size:1.2rem;margin:4px 0 14px;}

@media(max-width:800px){
  .two,.quote-grid,.product,.shop-grid{grid-template-columns:1fr;}
  .hero{min-height:480px;}
  section{padding-block:64px;}
  .product{padding:24px;}
  .btn.ghost{margin-left:0;margin-top:10px;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.piece,.btn{transition:none;}}

.treat{padding:0;overflow:hidden;}
.treat .band{height:130px;display:flex;align-items:flex-end;padding:16px 20px;position:relative;}
.treat .band span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:2.1rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.25);}
.treat .band::after{content:"";position:absolute;right:-30px;top:-30px;width:130px;height:130px;border-radius:50%;border:2px solid rgba(255,255,255,.35);box-shadow:0 0 0 14px rgba(255,255,255,.08);}
.t1 .band{background:linear-gradient(135deg,#7a2e1d,#b5623a 60%,#d9a45a);}
.t2 .band{background:linear-gradient(135deg,#d98e1f,#f0c14b 70%,#f7df9a);}
.t3 .band{background:linear-gradient(135deg,#c9a57a,#ead7b5 65%,#fff6e6);} .t3 .band span{color:#6b4a2b;text-shadow:none;}
.t4 .band{background:linear-gradient(135deg,#6a3a12,#a8641f 55%,#e2a34a);}
.treat .tbody{padding:20px 22px 24px;}
.treat .tbody h3{margin-top:0;}
.hero h1{text-shadow:0 4px 30px rgba(0,0,0,.35);}

.piece .main{width:100%;aspect-ratio:4/5;object-fit:cover;}
.thumbs{display:flex;gap:6px;padding:8px 8px 0;}
.thumbs button{flex:1;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:none;cursor:pointer;opacity:.65;transition:opacity .2s,border-color .2s;}
.thumbs button img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.thumbs button:hover,.thumbs button:focus-visible{opacity:1;}
.thumbs button.on{border-color:var(--sun);opacity:1;}
.count{position:absolute;top:10px;right:10px;background:rgba(42,29,20,.75);color:var(--gold-l);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px;}
.piece{position:relative;}

/* pastel greens and browns */
:root{--sage:#e3eadb;--sage-2:#d3dec8;--sage-d:#9fb08f;--olive:#5d6b4c;--mocha:#e9ddcc;}
body{background:var(--sage);}
#boards{background:var(--sage);background-image:radial-gradient(circle at 90% 10%,rgba(159,176,143,.35),transparent 40%),radial-gradient(circle at 5% 90%,rgba(233,221,204,.8),transparent 45%);}
#boards .treat{border-color:var(--sage-d);background:#fbfaf4;}
#boards .eyebrow,#shop .eyebrow{color:var(--olive);}
#boards .rule,#shop .rule{color:var(--olive);}
#quote-section{background-color:#3b2f22;background-image:radial-gradient(circle at 15% 20%,rgba(159,176,143,.22),transparent 45%),radial-gradient(circle at 85% 80%,rgba(227,167,47,.16),transparent 45%);}
#dogs{background-color:var(--mocha);background-image:repeating-linear-gradient(45deg,rgba(176,150,112,.16) 0 2px,transparent 2px 9px);}
#home{background:#2f261b;background-image:radial-gradient(circle at 80% 0%,rgba(159,176,143,.18),transparent 40%);}
#shop{background:linear-gradient(180deg,var(--sage-2) 0%,var(--sage) 100%);}
.shop-card{border-top-color:var(--sage-d);background:#fbfaf4;}
.shop-card:first-child{border-top-color:var(--sun);}
#about{background:linear-gradient(180deg,var(--mocha) 0%,var(--sage) 100%);}
footer{background:#2f261b;}
.btn.dark{background:var(--olive);}
.btn.dark:hover{background:var(--esp);}

:root{--sage:#c9d6bb;--sage-2:#b7c7a6;--sage-d:#8a9d77;}

:root{--sage:#c4c79c;--sage-2:#b2b684;--sage-d:#7d8358;--olive:#565c34;}
#boards{background-image:radial-gradient(circle at 90% 10%,rgba(125,131,88,.28),transparent 40%),radial-gradient(circle at 5% 90%,rgba(233,221,204,.55),transparent 45%);}
#quote-section{background-image:radial-gradient(circle at 15% 20%,rgba(150,156,96,.28),transparent 45%),radial-gradient(circle at 85% 80%,rgba(227,167,47,.16),transparent 45%);}
#home{background-image:radial-gradient(circle at 80% 0%,rgba(150,156,96,.22),transparent 40%);}

.shop-card .soon{margin-bottom:12px;}
.shop-link{display:inline-block;margin-top:16px;color:var(--olive);font-weight:500;text-decoration:none;border-bottom:1px solid var(--sage-d);padding-bottom:2px;}
.shop-link:hover{color:var(--rust);border-color:var(--rust);}

.soon.avail{background:var(--olive);}

.treat .band{height:190px;}
.photo-note{font-size:.78rem;color:var(--muted);margin-top:14px;font-style:italic;}
