/* Cosy Home & Gifts — exact Stitch design system "Cosy Holiday Editorial" (DESIGN.md).
   Tokens: surface #FCF9F4, parchment #FAF7F2, primary #042217, primary-container
   #1B382B, pine-deep #163024, pine-surface #264A38, gingerbread #C58940,
   gingerbread-soft #D4A373, gingerbread-tint #FBF5EC, ruby #9E2A2B, ruby-bg #FDF2F2,
   charcoal #22201E, on-surface #1C1C19, muted #5F5B56, card-border #EBE5DB.
   Fonts: Playfair Display headlines, Plus Jakarta Sans body. */
:root{
  --surface:#FCF9F4; --parchment:#FAF7F2; --parchment-tint:#F5EFEB;
  --primary:#042217; --primary-container:#1B382B; --pine-deep:#163024; --pine-surface:#264A38;
  --on-primary:#FFFFFF; --on-primary-container:#82A291; --inverse-primary:#ADCEBC;
  --primary-fixed:#C9EAD7; --primary-fixed-dim:#ADCEBC;
  --gingerbread:#C58940; --gingerbread-soft:#D4A373; --gingerbread-tint:#FBF5EC;
  --secondary-container:#FDB96B; --on-secondary-container:#774800;
  --ruby:#9E2A2B; --ruby-bg:#FDF2F2; --tertiary-fixed:#FFDAD7;
  --charcoal:#22201E; --on-surface:#1C1C19; --muted:#5F5B56; --on-surface-variant:#424844;
  --card-border:#EBE5DB; --outline:#727974; --outline-variant:#C2C8C2;
  --container-low:#F6F3EE; --container:#F0EDE9; --container-high:#EBE8E3; --container-highest:#E5E2DD;
  --surface-container-lowest:#FFFFFF;
  --shadow-low:0 2px 8px -2px rgba(34,32,30,0.04),0 1px 3px 0 rgba(34,32,30,0.03);
  --shadow-mid:0 8px 24px -4px rgba(34,32,30,0.07),0 3px 8px -2px rgba(34,32,30,0.04);
  --shadow-high:0 20px 40px -8px rgba(22,48,36,0.12),0 6px 16px -4px rgba(34,32,30,0.05);
  --radius-card:1rem; --radius-lg:1.5rem; --radius-btn:.5rem; --radius-pill:9999px;
  --font-head:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--on-surface);font-family:var(--font-body);
  font-size:.9375rem;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--primary-container);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--gingerbread)}
h1,h2,h3{font-family:var(--font-head);font-weight:600;color:var(--pine-deep);line-height:1.25}
h1{font-size:2.25rem;line-height:2.85rem;letter-spacing:-.01em;margin:.3rem 0 1rem}
h2{font-size:1.5rem;line-height:2rem;letter-spacing:-.005em;margin:2.4rem 0 .8rem}
h3{font-size:1.25rem;line-height:1.75rem;margin:1.8rem 0 .5rem}
p{margin:.7rem 0}
.container{max-width:1180px;margin:0 auto;padding:0 2rem}
main{padding-bottom:4rem}
main.wrap{max-width:860px;margin:0 auto;padding:0 1.5rem 4rem}
.label-caps{font-size:.6875rem;font-weight:700;line-height:1rem;letter-spacing:.08em;text-transform:uppercase}
.eyebrow{font-size:.6875rem;font-weight:700;line-height:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gingerbread)}

/* ---------- Stitch header ---------- */
header.site{position:sticky;top:0;z-index:50;background:rgba(252,249,244,.92);backdrop-filter:blur(12px);
  box-shadow:0 1px 8px rgba(0,0,0,.04)}
.notice-bar{background:var(--primary-container);color:var(--parchment);padding:.25rem 1rem;text-align:center;
  display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8125rem;line-height:1.35rem}
.notice-bar .notice-label{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gingerbread-soft)}
.notice-bar .notice-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-main{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 2rem}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none}
.brand img{width:2rem;height:2rem;border-radius:50%;object-fit:cover}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:var(--font-head);font-size:1.25rem;font-weight:600;color:var(--pine-deep);letter-spacing:-.01em}
.brand-name:hover{color:var(--gingerbread)}
.brand-edition{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gingerbread);margin-top:.1rem}
.site-search{flex:1;max-width:26rem;margin:0 1rem;position:relative}
.site-search .search-icon{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--outline);pointer-events:none}
.site-search input{width:100%;padding:.5rem 1rem .5rem 2.25rem;background:#fff;border:0;border-radius:9999px;
  font-family:var(--font-body);font-size:.8125rem;line-height:1.35rem;color:var(--on-surface);
  box-shadow:0 1px 4px rgba(34,32,30,.05)}
.site-search input:focus{outline:none;box-shadow:0 0 0 2px var(--primary-container)}
.header-tools{display:flex;align-items:center;gap:.75rem}
.currency{display:flex;align-items:center;gap:.3rem;font-size:.8125rem;font-weight:600;color:var(--on-surface)}
.currency select{appearance:none;background:var(--container-low);border:0;border-radius:9999px;
  font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--on-surface);padding:.4rem 1.6rem .4rem .75rem;cursor:pointer}
.currency select:focus{outline:1px solid var(--pine-deep)}
.btn-shop{display:inline-block;background:var(--pine-deep);color:var(--parchment);text-decoration:none;
  font-size:.8125rem;font-weight:600;padding:.5rem 1rem;border-radius:9999px;white-space:nowrap;
  box-shadow:0 2px 6px rgba(22,48,36,.15)}
.btn-shop:hover{background:var(--pine-surface);color:var(--parchment)}
.currency-note{font-size:.8125rem;color:var(--muted);margin:.2rem 0 0;text-align:right}
.currency-note[hidden]{display:none}
.main-nav{display:flex;align-items:center;gap:.25rem;overflow-x:auto;padding:.25rem 2rem .5rem;scrollbar-width:none}
.main-nav::-webkit-scrollbar{display:none}
.main-nav a{white-space:nowrap;text-decoration:none;font-size:.8125rem;line-height:1.35rem;color:var(--on-surface-variant);padding:.25rem .75rem;border-radius:9999px}
.main-nav a:hover{color:var(--on-surface)}
.main-nav a.active{background:var(--primary-container);color:var(--on-primary);font-weight:600}
.quick-curations{display:flex;align-items:center;gap:.4rem;overflow-x:auto;padding:0 2rem .6rem;scrollbar-width:none}
.quick-curations::-webkit-scrollbar{display:none}
.quick-curations .qc-label{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding-right:.25rem}
.quick-curations a{white-space:nowrap;text-decoration:none;background:var(--container-low);color:var(--on-surface);
  font-size:.8125rem;line-height:1.35rem;padding:.2rem .75rem;border-radius:9999px}
.quick-curations a:hover{background:var(--container-high)}
.quick-curations a.ruby{background:var(--ruby-bg);color:var(--ruby);font-weight:600}
.quick-curations a.gold{color:var(--gingerbread);font-weight:600}

/* ---------- Hero (Stitch) ---------- */
.hero-section{padding:1rem 1rem 2.5rem}
.hero-panel{max-width:1180px;margin:0 auto;background:var(--primary-container);color:var(--on-primary);
  border-radius:1.5rem;overflow:hidden;position:relative;box-shadow:0 20px 40px -8px rgba(22,48,36,.25)}
.hero-panel::before{content:"";position:absolute;right:-6rem;top:-6rem;width:24rem;height:24rem;border-radius:50%;
  background:rgba(38,74,56,.5);filter:blur(3rem);pointer-events:none}
.hero-panel::after{content:"";position:absolute;left:33%;bottom:-5rem;width:20rem;height:20rem;border-radius:50%;
  background:rgba(253,185,107,.1);filter:blur(2rem);pointer-events:none}
.hero-inner{position:relative;z-index:1;padding:2.5rem 1.5rem 2.5rem;text-align:center;max-width:56rem;margin:0 auto}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(38,74,56,.8);color:var(--gingerbread-soft);
  font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.4rem 1rem;border-radius:9999px;margin-bottom:1rem}
.hero-inner h1{font-family:var(--font-head);font-size:3rem;line-height:3.5rem;letter-spacing:-.02em;font-weight:600;color:var(--parchment);margin:0 0 1rem}
.hero-inner .hero-sub{font-size:1.125rem;line-height:1.85rem;font-weight:300;color:rgba(173,206,188,.9);max-width:42rem;margin:0 auto 1.5rem}
.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2.5rem}
.btn-hero{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:600;font-size:.9375rem;
  padding:.875rem 1.75rem;border-radius:9999px}
.btn-hero.gold{background:var(--gingerbread);color:#fff;box-shadow:0 4px 14px rgba(34,32,30,.15)}
.btn-hero.gold:hover{background:var(--gingerbread-soft);color:var(--pine-deep)}
.btn-hero.pine{background:var(--pine-surface);color:var(--parchment)}
.btn-hero.pine:hover{background:var(--primary)}
.hero-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;background:rgba(22,48,36,.4);
  border-radius:1rem;padding:.75rem 1rem}
.hero-badges div{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.6875rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--parchment);text-align:center}
.hero-badges span{color:var(--gingerbread-soft)}

/* ---------- Welcome + filters ---------- */
.welcome-panel{background:var(--container-low);border-radius:1.5rem;padding:1.5rem;margin:0 0 2.5rem}
.welcome-panel p{font-size:.9375rem;line-height:1.6rem;color:var(--muted);max-width:48rem;margin:0 0 1rem}
.welcome-panel p strong{color:var(--charcoal)}
.filter-bar{display:flex;align-items:center;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}
.filter-bar::-webkit-scrollbar{display:none}
.filter-btn{white-space:nowrap;background:#fff;border:0;color:var(--on-surface-variant);font-family:var(--font-body);
  font-size:.8125rem;font-weight:500;padding:.5rem 1rem;border-radius:9999px;cursor:pointer;box-shadow:var(--shadow-low)}
.filter-btn:hover{background:var(--container-high)}
.filter-btn.active,.filter-btn[aria-pressed="true"]{background:var(--primary-container);color:var(--on-primary);font-weight:600}
.filter-btn.ruby{background:var(--ruby-bg);color:var(--ruby);font-weight:700}
.no-results{font-weight:600;color:var(--pine-deep);margin:1.2rem 0}
.no-results[hidden]{display:none}

/* ---------- Cards (Stitch) ---------- */
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.5rem;flex-wrap:wrap}
.section-head h2{margin:0;font-size:2.25rem;line-height:2.85rem;letter-spacing:-.01em}
.section-head .section-note{font-size:.8125rem;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:0 0 1rem}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--card-border);border-radius:1rem;
  overflow:hidden;box-shadow:var(--shadow-low);transition:box-shadow .3s ease,transform .3s ease}
.card:hover{box-shadow:var(--shadow-high);transform:translateY(-2px)}
.card .card-img{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--container-high)}
.card .card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.card:hover .card-img img{transform:scale(1.05)}
.card .card-badges{position:absolute;top:.75rem;left:.75rem;display:flex;flex-wrap:wrap;gap:.375rem}
.card .badge{font-size:.75rem;font-weight:600;line-height:1.1rem;padding:.25rem .625rem;border-radius:9999px;
  text-transform:uppercase;letter-spacing:.02em;box-shadow:var(--shadow-low)}
.card .badge.ruby{background:var(--ruby-bg);color:var(--ruby);font-weight:700}
.card .badge.gold{background:var(--secondary-container);color:var(--on-secondary-container)}
.card .badge.light{background:rgba(255,255,255,.9);color:var(--pine-deep);font-weight:700}
.card .count-pill{position:absolute;bottom:.75rem;right:.75rem;background:var(--primary-container);color:var(--parchment);
  font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:9999px;box-shadow:var(--shadow-low)}
.card .body{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;flex:1;gap:.5rem}
.card .body .meta{font-size:.8125rem;color:var(--muted);margin:0}
.card h3{font-family:var(--font-head);font-size:1.125rem;line-height:1.5rem;font-weight:700;margin:0}
.card h3 a{text-decoration:none;color:var(--pine-deep)}
.card h3 a:hover{color:var(--gingerbread)}
.card .body p{font-size:.8125rem;line-height:1.35rem;color:var(--muted);margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .card-cta{margin-top:auto;padding-top:.5rem}
.card .card-cta a{display:inline-flex;align-items:center;gap:.25rem;background:var(--pine-deep);color:var(--parchment);
  text-decoration:none;font-size:.8125rem;font-weight:600;padding:.4rem .875rem;border-radius:9999px}
.card .card-cta a:hover{background:var(--pine-surface)}
.meta{color:var(--muted);font-size:.8125rem;font-weight:600;letter-spacing:.02em}

/* ---------- Shop hub (Stitch, coming soon) ---------- */
.shop-hub{background:var(--gingerbread-tint);border-radius:1.5rem;padding:1.5rem;margin:0 0 4rem;box-shadow:var(--shadow-low)}
.shop-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.shop-head .shop-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--secondary-container);
  color:var(--on-secondary-container);font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:.25rem .75rem;border-radius:9999px;margin-bottom:.5rem}
.shop-head h2{margin:0 0 .5rem}
.shop-head p{color:var(--muted);margin:0;max-width:42rem}
.shop-trust{display:flex;flex-wrap:wrap;gap:.5rem}
.shop-trust span{display:inline-flex;align-items:center;gap:.375rem;background:#fff;font-size:.8125rem;font-weight:500;
  color:var(--muted);padding:.375rem .75rem;border-radius:9999px;box-shadow:var(--shadow-low)}
.pick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.pick-card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-low);text-align:center;
  padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.25rem}
.pick-card .pick-img{aspect-ratio:1/1;border-radius:.75rem;overflow:hidden;background:var(--container-high);margin-bottom:.5rem}
.pick-card .pick-img img{width:100%;height:100%;object-fit:cover;display:block}
.pick-card .pick-icon{font-size:1.8rem;line-height:1}
.pick-card h3{font-size:1.05rem;margin:.25rem 0}
.pick-card p{font-size:.8125rem;color:var(--muted);margin:0}
.pick-card .soon{display:inline-block;background:var(--primary-container);color:#fff;font-size:.75rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:.3rem .8rem;border-radius:9999px;margin-top:.75rem;align-self:center}
.shop-hub .shop-foot{margin:1rem 0 0;color:var(--muted);font-size:.8125rem;text-align:center}

/* ---------- Split panel: Coming soon + Ethos ---------- */
.split{display:grid;grid-template-columns:7fr 5fr;gap:1.5rem;margin:0 0 4rem}
.split-panel{background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:var(--shadow-low);display:flex;flex-direction:column;justify-content:space-between}
.split-panel.tint{background:var(--gingerbread-tint)}
.split-panel h3{margin:.25rem 0 .5rem}
.split-panel p{font-size:.8125rem;color:var(--muted)}
.split-panel .panel-label{display:flex;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--pine-deep)}
.split-panel .panel-label.gold{color:var(--gingerbread)}
.coming-item{display:flex;flex-direction:column;gap:.5rem;background:var(--container-low);border-radius:.75rem;padding:1rem;margin-top:.75rem}
.coming-item .dot{width:.625rem;height:.625rem;border-radius:50%;background:var(--gingerbread);flex-shrink:0;margin-top:.35rem}
.coming-item .dot.ruby{background:var(--ruby)}
.coming-item h4{font-family:var(--font-head);font-size:.9375rem;font-weight:700;color:var(--pine-deep);margin:0}
.coming-item p{margin:0}
.coming-item .date{align-self:flex-start;background:var(--container-highest);color:var(--charcoal);
  font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .75rem;border-radius:9999px}
.trust-box{background:rgba(255,255,255,.8);border-radius:.75rem;padding:1rem;margin:.75rem 0}
.trust-box p{margin:0;color:var(--muted)}
.trust-box strong{color:var(--pine-deep)}
.check-list{display:flex;flex-direction:column;gap:.5rem;font-size:.8125rem;color:var(--muted);padding-top:.75rem}
.check-list span::before{content:"✓ ";color:var(--gingerbread);font-weight:700}

/* ---------- Founder / Pinterest banner ---------- */
.founder-banner{background:var(--primary);color:var(--parchment);border-radius:1.5rem;padding:1.5rem 2rem;
  position:relative;overflow:hidden;box-shadow:0 20px 40px -8px rgba(22,48,36,.25);margin:0 0 4rem}
.founder-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:2.5rem;flex-wrap:wrap}
.founder-who{display:flex;align-items:center;gap:1rem;max-width:42rem}
.founder-who img{width:5rem;height:5rem;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-mid);flex-shrink:0}
.founder-who .label-caps{color:var(--gingerbread-soft)}
.founder-who h3{color:var(--parchment);margin:.25rem 0}
.founder-who p{color:rgba(173,206,188,.9);margin:.25rem 0 0}
.pinterest-box{background:var(--primary);color:#fff;border-radius:1rem;padding:1.4rem;margin:2rem 0;text-align:center}
.pinterest-box a{color:#F7EDDC;font-weight:700}
.btn-pinterest{display:inline-flex;align-items:center;gap:.5rem;background:var(--gingerbread);color:#fff;text-decoration:none;
  font-weight:600;font-size:.9375rem;padding:.875rem 1.75rem;border-radius:9999px;white-space:nowrap}
.btn-pinterest:hover{background:var(--gingerbread-soft);color:var(--pine-deep)}

/* ---------- Article components ---------- */
.hero{width:100%;height:auto;border-radius:1rem;margin:1.2rem 0;box-shadow:var(--shadow-low)}
.disclosure{background:var(--gingerbread-tint);border:1px solid #E8D8C3;border-left:4px solid var(--gingerbread);
  border-radius:0 .75rem .75rem 0;padding:.9rem 1.1rem;font-size:.9375rem}
.affiliate-note{background:var(--primary-fixed);border:1px solid #CBD8C8;border-radius:.75rem;padding:.9rem 1.1rem;font-size:.9375rem}
.notice{background:#FFF3CD;border:1px solid #E6C87A;border-radius:.75rem;padding:.9rem 1.1rem;font-size:.9375rem}
.quick-answer{background:var(--primary-container);color:#fff;border-radius:1rem;padding:1.2rem 1.4rem;margin:1.4rem 0;box-shadow:var(--shadow-low)}
.quick-answer strong{display:block;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:#F7EDDC;margin-bottom:.4rem}
.quick-answer p{color:#EEF4EC;margin:0}
.shop-cta{background:linear-gradient(135deg,var(--primary-container),var(--pine-surface));color:#fff;border-radius:1rem;
  padding:1.4rem 1.5rem;margin:2rem 0;text-align:center;box-shadow:var(--shadow-low)}
.shop-cta h3{color:#fff;margin:0 0 .4rem}
.shop-cta p{color:#DCEAD9;margin:.3rem 0 .9rem}
.shop-cta a{display:inline-block;background:var(--gingerbread);color:#fff;text-decoration:none;font-weight:700;padding:.65rem 1.4rem;border-radius:.5rem}
.shop-cta a:hover{background:var(--gingerbread-soft);color:var(--pine-deep)}
.faq{background:#fff;border:1px solid var(--card-border);border-radius:1rem;padding:1.2rem 1.5rem;margin:2rem 0;box-shadow:var(--shadow-low)}
.faq h2{margin-top:.2rem}
.faq details{border-top:1px solid var(--card-border);padding:.9rem 0}
.faq details:first-of-type{border-top:0}
.faq summary{cursor:pointer;font-family:var(--font-head);font-weight:700;font-size:1.08rem;color:var(--pine-deep);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--gingerbread);font-size:1.3rem;line-height:1}
.faq details[open ] summary::after{content:"–"}
.faq details p{margin:.6rem 0 0;color:var(--on-surface-variant)}
ul.coming{list-style:none;padding:0}
ul.coming li{background:#fff;border:1px solid var(--card-border);border-radius:.75rem;padding:.8rem 1rem;margin:.55rem 0}
.ethos{background:var(--container-low);border-radius:1rem;padding:1.6rem;margin:2rem 0}
.ethos h2{margin-top:0}
.lede{color:var(--muted)}
.btn{display:inline-block;background:var(--primary-container);color:var(--parchment);text-decoration:none;font-weight:600;
  padding:.65rem 1.4rem;border-radius:.5rem}
.btn:hover{background:var(--pine-surface);color:var(--parchment)}
.btn.ghost{background:transparent;border:1.5px solid var(--gingerbread);color:var(--gingerbread)}
.btn.ghost:hover{background:var(--gingerbread-tint)}
.read-more{font-weight:700;font-size:.9375rem}

/* ---------- Footer (Stitch) ---------- */
footer{background:var(--container-low);margin-top:4rem;color:var(--on-surface)}
.newsletter-band{background:var(--gingerbread-tint);padding:2.5rem 0}
.newsletter-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.newsletter-grid .label-caps{color:var(--gingerbread)}
.newsletter-grid h2{margin:.25rem 0 .5rem}
.newsletter-grid p{color:var(--muted);margin:0}
.newsletter-form{display:flex;gap:.5rem;flex-wrap:wrap}
.newsletter-form input[type="email"]{flex:1;min-width:220px;padding:.75rem 1rem;background:#fff;border:0;border-radius:9999px;
  font-family:var(--font-body);font-size:.9375rem;color:var(--on-surface);box-shadow:0 1px 4px rgba(34,32,30,.06)}
.newsletter-form input[type="email"]:focus{outline:none;box-shadow:0 0 0 2px var(--pine-deep)}
.newsletter-form button{border:0;background:var(--pine-deep);color:var(--parchment);border-radius:9999px;
  padding:.75rem 1.5rem;font-family:var(--font-body);font-size:.9375rem;font-weight:600;cursor:pointer;
  box-shadow:0 2px 8px rgba(22,48,36,.12)}
.newsletter-form button:hover{background:var(--pine-surface)}
.newsletter-form .thanks,.newsletter .thanks{font-weight:700;color:var(--pine-deep)}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:2.5rem 2rem}
.footer-grid h3{font-family:var(--font-body);font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pine-deep)}
.footer-grid .brand-col h3{font-family:var(--font-head);font-size:1.25rem;font-weight:600;letter-spacing:-.01em;text-transform:none}
.footer-grid p{font-size:.8125rem;line-height:1.35rem;color:var(--muted)}
.footer-links{display:flex;flex-direction:column;gap:.45rem}
.footer-links a{font-size:.8125rem;color:var(--on-surface-variant);text-decoration:none}
.footer-links a:hover{color:var(--pine-deep)}
.footer-social{display:flex;gap:1rem;margin-top:.5rem;flex-wrap:wrap}
.footer-social a{font-size:.8125rem;font-weight:600;color:var(--pine-deep);text-decoration:none}
.footer-social a:hover{color:var(--gingerbread)}
.footer-bottom{background:var(--container);padding:1rem 0}
.footer-bottom .container{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8125rem;color:var(--muted)}
.footer-bottom a{color:var(--muted);text-decoration:none;margin-left:1rem}
.footer-bottom a:hover{color:var(--on-surface)}

/* ---------- Cookie banner ---------- */
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;background:var(--pine-deep);color:#fff;
  padding:1rem 1.2rem;display:flex;flex-wrap:wrap;gap:.7rem 1rem;align-items:center;justify-content:center;
  font-size:.9375rem;border-radius:1rem;box-shadow:var(--shadow-high)}
.cookie-banner p{margin:0;max-width:640px}
.cookie-banner a{color:#F7EDDC}
.cookie-banner button{background:var(--gingerbread);color:#fff;border:0;border-radius:9999px;padding:.55rem 1.4rem;
  font-size:.9375rem;font-weight:700;cursor:pointer}
.cookie-banner button:hover{background:var(--gingerbread-soft);color:var(--pine-deep)}

/* ---------- Responsive (DESIGN.md: desktop ≥1200px, tablet 768–1199, mobile <768) ---------- */
@media(max-width:1199px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .pick-grid{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  body{font-size:.9375rem}
  .container{padding:0 1rem}
  h1{font-size:1.75rem;line-height:2.25rem}
  .hero-inner h1{font-size:2.25rem;line-height:2.75rem}
  .section-head h2{font-size:1.75rem;line-height:2.25rem}
  .header-main{flex-wrap:wrap;padding:.5rem 1rem}
  .site-search{order:3;flex-basis:100%;max-width:none;margin:.25rem 0 0}
  .main-nav,.quick-curations{padding-left:1rem;padding-right:1rem}
  .hero-section{padding:.75rem .75rem 2rem}
  .hero-inner{padding:2rem 1rem}
  .hero-badges{grid-template-columns:repeat(2,1fr)}
  .hero-ctas .btn-hero{width:100%;justify-content:center}
  .cards{grid-template-columns:1fr}
  .card .card-img{aspect-ratio:16/10}
  .pick-grid{grid-template-columns:1fr 1fr}
  .newsletter-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .founder-inner{flex-direction:column;text-align:center}
  .founder-who{flex-direction:column;text-align:center}
  .cookie-banner{left:.6rem;right:.6rem;bottom:.6rem}
}
@media(max-width:390px){
  .pick-grid{grid-template-columns:1fr}
  .hero-badges{grid-template-columns:1fr}
  .newsletter-form input[type="email"]{min-width:0;width:100%}
}
