/* Explicit homepage bands keep the palette stable as content changes. */
.brand-home {
  --surface-paper:#f6f7f1;
  --surface-sage:#e7ecdf;
  --surface-sand:#eee8dc;
  --section-ink:#203a30;
  --section-muted:#57695d;
  --section-divider:#bec8b9;
}
html[data-theme="dark"] .brand-home {
  --surface-paper:#17271f;
  --surface-sage:#213729;
  --surface-sand:#2c3127;
  --section-ink:#edf1e5;
  --section-muted:#b8c7b8;
  --section-divider:#536453;
}
.brand-home .brand-section {
  --text-900:var(--section-ink);
  --text-700:var(--section-muted);
  --text-600:var(--section-muted);
  color:var(--section-ink);
}
.brand-home .surface-paper { background:var(--surface-paper); }
.brand-home .surface-sage { background:var(--surface-sage); }
.brand-home .surface-sand { background:var(--surface-sand); }
.brand-home .principle,.brand-home .sustainability-notes article { border-color:var(--section-divider); }
.brand-home .brand-faq .faq-item { background:var(--surface-paper); border-color:var(--section-divider); }
.brand-home .brand-faq summary { color:var(--section-ink); }
.brand-home .brand-products .product-card { background:var(--surface-paper); border-color:var(--section-divider); }

.buying-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;margin:3rem 0}
.buying-steps article{border-top:1px solid var(--section-divider);padding-top:1.5rem}
.buying-steps h3{font-size:1.25rem;line-height:1.4}
.buying-steps p,.brand-faq p{color:var(--text-700)}
.faq-inner{display:grid;grid-template-columns:1fr 1.25fr;gap:8%}
.brand-faq .faq{margin:0}.brand-faq summary{padding:1.25rem 0;min-height:48px;font-size:1.05rem}
.collection-preview .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),360px))}
.collection-preview .product-media img{aspect-ratio:4/3;object-fit:cover}
.collection-preview .category{margin-top:2rem}
.cookie-banner-inner{flex-wrap:wrap}.cookie-banner-inner button{min-height:44px}
@media(max-width:700px){.buying-steps,.faq-inner{grid-template-columns:1fr;gap:1.5rem}.buying-steps{margin:2rem 0}.collection-preview .grid{grid-template-columns:1fr}}

/* Floating notice: removed from layout entirely after a saved choice. */
#cookieBanner[hidden]{display:none!important}
#cookieBanner:not([hidden]){display:block}
#cookieBanner{left:auto;right:24px;bottom:24px;width:min(440px,calc(100vw - 32px));padding:24px;border-radius:20px;border:1px solid #d7e2d7;background:#fafcf7;color:#20392c;box-shadow:0 12px 48px #0b241e26;z-index:90;max-height:calc(100dvh - 32px);overflow-y:auto}
#cookieBanner .cookie-banner-inner{display:block;font-size:14px}
#cookieBanner h2{font-size:20px;line-height:1.3;letter-spacing:-.02em;margin:0 0 10px;color:inherit}
#cookieBanner p{margin:0;line-height:1.6;color:inherit}
#cookieBanner a{color:inherit;text-underline-offset:3px}
#cookieBanner .cookie-actions{display:flex;gap:10px;margin-top:20px}
#cookieBanner button{flex:1;border-radius:10px;padding:10px 12px;min-height:46px;border:1px solid #a8b9aa;background:transparent;color:inherit;font:inherit;font-weight:600}
#cookieBanner #cookieAccept{background:#20543d;color:#fff;border-color:#20543d}
#cookieBanner button:hover{filter:brightness(.94)}
[data-theme="dark"] #cookieBanner{background:#182e23;color:#eff5ea;border-color:#3b5545;box-shadow:0 12px 48px #0006}
[data-theme="dark"] #cookieBanner #cookieAccept{background:#b7dbc0;color:#182e23;border-color:#b7dbc0}
@media(max-width:600px){#cookieBanner{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:20px}}

.brand-introduction h2{font-family:var(--font-editorial,Georgia,serif);font-size:clamp(2rem,4vw,3.6rem);font-weight:400;line-height:1.12;margin:12px 0 24px}.introduction-inner>p:last-child{max-width:680px;font-size:1.1rem;line-height:1.75}.brand-connect .form input,.brand-connect .form textarea{width:100%;min-width:0}.brand-connect .form textarea{min-height:140px}

.community-benefits{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:18px;color:var(--section-muted)}
.community-benefits a{text-decoration:underline;text-underline-offset:3px}
.brand-connect #subscribe{display:flex;flex-direction:column}
.brand-connect #subscribe .form{margin-top:auto;padding-top:28px}
.previous-section{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:65;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid #71816e;background:#f6f7f1;color:#203a30;box-shadow:0 4px 18px #0002;cursor:pointer}
.previous-section[hidden]{display:none}
[data-theme="dark"] .previous-section{background:#213729;color:#edf1e5;border-color:#8eaa8d}
.previous-section:hover{background:#e7ecdf}[data-theme="dark"] .previous-section:hover{background:#344d38}
@media(max-width:640px){.previous-section{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}}

.community-benefits.faq{gap:10px}
.community-benefits .faq-item{border:1px solid var(--section-divider);border-radius:8px;background:var(--surface-paper);padding:0 16px}
.community-benefits summary{padding:16px 28px 16px 0;min-height:52px;font-size:15px;line-height:1.5;color:var(--section-ink);cursor:pointer;position:relative;list-style:none}
.community-benefits summary::-webkit-details-marker{display:none}
.community-benefits summary::after{content:'+';position:absolute;right:0;top:16px;font-size:20px;line-height:22px}
.community-benefits details[open] summary::after{content:'−'}
.community-benefits p{margin:0 0 18px;font-size:15px;line-height:1.7;color:var(--section-muted)}

/* Keep stacked panels in normal flow; percentage row gaps overflow auto-height grids. */
.brand-connect .duo .panel { min-width:0; height:auto; display:flex; flex-direction:column; }
.brand-connect .panel h2 { font-size:clamp(30px,3.2vw,42px); }
.brand-connect .panel > .field-help { margin:16px 0 0; font-size:14px; line-height:1.6; color:var(--section-muted); }
.brand-connect .form { flex-shrink:0; }
.brand-connect #contact .form { margin-top:auto; padding-top:30px; }
.brand-connect input,.brand-connect textarea { font-family:inherit; }
@media(min-width:960px) {
  .brand-connect .duo { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
  .brand-connect .panel h2 { min-height:2.3em; }
  .brand-connect .duo .panel .form { margin-bottom:0; }
}
@media(max-width:959px) {
  .brand-connect #subscribe .form { margin-top:0; }
}
