:root {
  color-scheme: dark;
  --color-bg:#17231d;
  --color-bg-secondary:#1d2d24;
  --color-surface:#22382b;
  --color-surface-raised:#293b30;
  --color-border:#3b5043;
  --color-text:#f0f1e8;
  --color-text-secondary:#c0c9be;
  --color-text-muted:#a1b0a3;
  --color-accent:#9bcb8b;
  --color-accent-light:#b7d7a6;
  --color-accent-dark:#355b42;
  --green:#568b58;
  --green-dark:#9bcb8b;
  --green-bright:#9bcb8b;
  --ink:#f0f1e8;
  --muted:#c0c9be;
  --soft:#1d2d24;
  --line:#3b5043;
  --paper:#17231d;
}
body { background:var(--color-bg); color:var(--color-text); }
.order-action { display:inline-flex; align-items:center; justify-content:center; gap:18px; vertical-align:middle; }
.order-bag-icon { display:block; width:21px; height:21px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:transform 250ms ease; }
.header-cta .order-bag-icon { width:21px; height:21px; }
.order-action:hover:not(:disabled) .order-bag-icon { transform:translateX(3px); }
.submit-btn.order-action { display:flex; justify-content:center; }

/* Shared notice and acknowledgement control for personal-data forms. */
.privacy-consent { display:flex; align-items:flex-start; gap:10px; margin:16px 0 10px; color:var(--color-text-secondary); font-size:12px; font-weight:400; line-height:1.55; cursor:pointer; }
.privacy-consent input { width:18px; height:18px; min-width:18px; margin:1px 0 0; accent-color:var(--color-accent); cursor:pointer; }
.privacy-consent a { color:var(--color-accent-light); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.privacy-consent a:hover { color:var(--color-text); }
.privacy-consent:focus-within { outline:2px solid var(--color-accent); outline-offset:4px; border-radius:3px; }
.form-card label.privacy-consent { display:flex; align-items:flex-start; gap:10px; margin:16px 0 10px; color:var(--color-text-secondary); font-size:12px; font-weight:400; line-height:1.55; }
.form-card label.privacy-consent input { display:block; width:18px; height:18px; min-width:18px; margin:1px 0 0; padding:0; }
.form-card label.privacy-consent span { color:inherit; font-weight:inherit; }
.order-privacy-consent { color:#c0c9be; }
.home-privacy-footer { padding:13px 18px; text-align:center; background:#17231d; color:#c0c9be; font-size:12px; }
.home-privacy-footer a { color:#b7d7a6; text-decoration:underline; text-underline-offset:3px; }

/* Main landing */
.theme-home { background:var(--color-bg); }
.theme-home .brand-header {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:clamp(88px,12vh,132px);
  padding:16px 20px;
  background:var(--color-bg);
  border-bottom:1px solid var(--color-border);
}
.theme-home .brand-decoration {
  position:absolute;
  z-index:0;
  inset:auto 0 0;
  display:block;
  width:100%;
  height:auto;
  pointer-events:none;
}
.theme-home .brand-wordmark {
  position:relative;
  z-index:1;
  color:var(--color-accent-light);
  font-size:clamp(2rem,4.2vw,3.2rem);
  font-weight:800;
  letter-spacing:-.065em;
  line-height:1;
  text-align:center;
}
@media (min-width:801px) {
  .theme-home .brand-header { flex:0 0 clamp(88px,12vh,132px); }
}
.theme-home .choice__button { background:var(--color-accent); color:#17231d; border-color:var(--color-accent); }
.theme-home .choice:hover .choice__button { background:var(--color-accent-light); }
.theme-home .choice--consumer .choice__button { background:var(--color-accent); color:#17231d; border-color:var(--color-accent); }

/* Consumer page */
.private-page { --private-ink:#f0f1e8; --private-green:#9bcb8b; --private-leaf:#b7d7a6; --private-cream:#1d2d24; --private-paper:#17231d; --private-line:#3b5043; color:var(--color-text); background:var(--color-bg); }
.private-header { background:rgba(23,35,29,.97); border-bottom-color:#3b5043; }
.private-nav a { color:#e2e9df; }
.private-nav a:hover,.private-nav a:focus-visible { color:#b7d7a6; }
.private-nav .private-nav__order { border-color:#9bcb8b; color:#b7d7a6; }
.private-intro { background:#1d2d24; }
.private-intro__lead,.micro-heading>p,.story-copy p,.use-heading>p:last-child,.order-section>div>p:not(.private-kicker) { color:#c0c9be; }
.private-kicker,.private-page em { color:#a7cf93; }
.private-text-link { color:#e8eee4; border-color:#9bcb8b; }
.story-band__index { color:#d8e7cf; }
.micro-section,.order-section { background:#1d2d24; }
.micro-facts { border-color:#3b5043; }
.micro-facts article { border-color:#3b5043; }
.micro-facts article>span,.micro-closing { color:#b7d7a6; }
.micro-facts p { color:#c0c9be; }
.use-section { background:#17231d; }
.use-category__content>span { color:#f0f1e8; }
.order-section img { border:1px solid #3b5043; }
.private-button { color:#17231d; background:#9bcb8b; border-color:#9bcb8b; }
.private-button:hover { color:#17231d; background:#b7d7a6; }
.private-button--light { background:#9bcb8b; border-color:#9bcb8b; }
.private-footer { background:#101a15; border-top:1px solid #3b5043; }
.private-footer>p,.private-footer nav a { color:#c0c9be; }
.private-footer small { color:#a1b0a3; }

/* Business, contact and order pages share the main navigation. */
.business-page,.contact-page,.order-page { background:var(--color-bg); color:var(--color-text); }
.site-header { background:#1d2d24; box-shadow:0 1px 0 #3b5043; }
.brand { color:#f0f1e8; }
.brand-mark { stroke:#9bcb8b; }
.brand small { color:#c0c9be; }
.primary-nav>a:not(.nav-cta),.primary-nav>.nav-placeholder { color:#dce5da; }
.primary-nav>a[aria-current=page] { color:#b7d7a6; }
.nav-cta { background:#9bcb8b; color:#17231d; }
.nav-cta:hover,.button-primary:hover { background:#b7d7a6; color:#17231d; }
.business-hero,.closing-cta { background-color:#17231d; }
.button-primary { background:#9bcb8b; color:#17231d; }
.button-ghost { color:#f0f1e8; border-color:#d5e1d2; }
.button-outline { color:#dcebd6; border-color:#9bcb8b; background:#22382b; }
.button-outline:hover { background:#293b30; }
.section-heading h2,.audience-intro h2,.benefit-card h3,.product-card h3,.process-steps h3,.partner-card h2,.faq-grid summary { color:#f0f1e8; }
.section-heading p,.audience-intro p,.benefit-card p,.product-card p,.process-steps p,.faq-grid details p { color:#c0c9be; }
.benefits,.catalog-section,.faq-section { background:#17231d; }
.round-icon,.step-icon { background:#293b30; color:#b7d7a6; }
.audience-band,.process-offer-band { background:#1d2d24; }
.product-card,.faq-grid details { border-color:#3b5043; background:#22382b; box-shadow:none; }
.product-card>div { color:#f0f1e8; }
.partner-card { border-color:#3b5043; background:linear-gradient(110deg,rgba(34,56,43,.96),rgba(41,59,48,.94)),url('../images/order-hero.png') right center/auto 100% no-repeat; color:#f0f1e8; }
.partner-kicker,.partner-card .partner-detail { color:#c0c9be; }
.faq-grid summary:after { color:#b7d7a6; }
.site-footer { border-color:#3b5043; background:#101a15; color:#c0c9be; }
.footer-brand { color:#f0f1e8; }
.site-footer small { color:#a1b0a3; }

/* Contact page fields and informational panels. */
.contact-page { color:#f0f1e8; background:#17231d; }
.contact-page .site-header { background:#1d2d24; }
.contact-hero { background-color:#17231d; }
.contact-hero:before { background:linear-gradient(90deg,rgba(23,35,29,.98) 0%,rgba(23,35,29,.94) 36%,rgba(23,35,29,.79) 55%,rgba(23,35,29,.35) 75%,rgba(23,35,29,.08) 100%); }
.contact-hero h1,.form-card h2,.details-card h2 { color:#f0f1e8; }
.contact-hero h1 em,.contact-cta h2 em { color:#b7d7a6; }
.contact-hero__copy>p,.contact-benefit small,.card-intro,.privacy-note,.details-copy p,.detail-item small,.delivery-note p,.map-caption p { color:#c0c9be; }
.eyebrow,.benefit-icon,.detail-icon { background:#293b30; color:#b7d7a6; }
.contact-section { background:#17231d; }
.form-card,.details-card,.map-card { border-color:#3b5043; background:#22382b; color:#f0f1e8; box-shadow:none; }
.form-card label,.detail-item strong,.map-caption strong,.delivery-note strong { color:#e3eade; }
.form-card input,.form-card select,.form-card textarea { border-color:#52675a; background:#17231d; color:#f0f1e8; }
.form-card input::placeholder,.form-card textarea::placeholder { color:#a1b0a3; }
.details-card { background:#22382b; border-color:#3b5043; }
.delivery-note { border-color:#3b5043; }
.map-visual { background:#1d2d24; }
.map-caption { background:#22382b; color:#f0f1e8; }
.button-light { background:#9bcb8b; color:#17231d; }
.contact-page .site-footer { background:#101a15; color:#c0c9be; }
.form-feedback.is-success { border-color:#54765a; background:#22382b; color:#c7e5bc; }
.form-feedback.is-error { border-color:#89584c; background:#392923; color:#ffd4c7; }

/* Order form controls and summary panels. */
.order-shell { color:#f0f1e8; }
.panel { border-color:#3b5043; background:#22382b; color:#f0f1e8; box-shadow:none; }
.customer-scroll fieldset+fieldset { border-color:#3b5043; }
.customer-scroll label,.customer-scroll legend,.products-heading h2,.product-info h3,.summary-title { color:#f0f1e8; }
.customer-scroll input,.customer-scroll select,.customer-scroll textarea,.pack-grid select,.customer-scroll select#fulfillment { border-color:#52675a; background:#17231d; color:#f0f1e8; }
.customer-scroll input::placeholder,.customer-scroll textarea::placeholder { color:#a1b0a3; }
.customer-scroll fieldset>small,.pickup-address,.price-note,.pack-grid small,.row-total small,.submit-note { color:#a1b0a3; }
.billing-wrap,.summary { border-color:#3b5043; background:#1d2d24; color:#f0f1e8; }
.product-row { border-color:#3b5043; background:#1d2d24; color:#f0f1e8; }
.product-row.active { border-color:#68875e; background:#293b30; }
.product-info p,.summary-lines p { color:#c0c9be; }
.row-total { border-color:#3b5043; }
.summary-total { border-color:#3b5043; }
.submit-btn { background:#9bcb8b; color:#17231d; }
.submit-btn:hover { background:#b7d7a6; }
.check-line { color:#dce5da!important; }
.check-line input { border-color:#52675a; background:#17231d; }
.info-btn,.pack-info { border-color:#52675a; background:#293b30; color:#dcebd6; }
.success-message { border:1px solid #665d39; background:#332f20; color:#f3e3a6; }

/* Confirmation page: same dark surfaces and readable transactional details. */
.confirmation-page { color:#f0f1e8; background:#17231d; }
.confirmation-page .site-header { background:#1d2d24; border-color:#3b5043; }
.brand-wordmark { color:#f0f1e8; }
.main-nav a { color:#dce5da; }
.header-cta,.primary-link { color:#17231d; background:#9bcb8b; }
.header-cta:hover,.primary-link:hover { color:#17231d; background:#b7d7a6; }
.accepted-hero { color:#f0f1e8; }
.accepted-hero h1,.accepted-hero h2,.card h2,.order-meta strong,.process-card h2,.timeline h3,.contact-copy h2 { color:#f0f1e8; }
.card,.contact-card,.process-card { border-color:#3b5043; background:#22382b; color:#f0f1e8; box-shadow:none; }
.order-table th { color:#f0f1e8; background:#293b30; }
.order-table td,.order-meta,.order-note,.contact-copy p { color:#c0c9be; }
.order-total { color:#e7eedf; background:#293b30; }
.payment-card { background:#22382b; }
.bank-row { background:#293b30; }
.bank-row dt { color:#dcebd6; }
.bank-row dd { background:#1d2d24; color:#f0f1e8; }
.copy-btn { color:#dcebd6; }
.copy-btn:hover { color:#17231d; background:#9bcb8b; }
.important-note { background:#293b30; }
.process-card::before,.process-card::after { background:#355b42; opacity:.45; }
.timeline li>svg { stroke:#b7d7a6; }
.contact-mark { color:#b7d7a6; background:#293b30; border-color:#68875e; }
.contact-method>a:first-child,.outline-link { color:#dcebd6; }
.contact-method>a:first-child svg { stroke:#9bcb8b; }
.outline-link { border-color:#9bcb8b; }
.outline-link:hover { color:#17231d; background:#9bcb8b; }
.thanks-banner>div { background:rgba(23,35,29,.9); color:#f0f1e8; }
.empty-order h1 { color:#f0f1e8; }
.step-number { color:#17231d; }
.delivery-fee-row { color:#c0c9be; }
.delivery-fee-row strong { color:#f0f1e8; }
.delivery-fee-row .delivery-fee-status { color:#9bcb8b; }
.accepted-hero { background:linear-gradient(90deg,rgba(23,35,29,.94),rgba(23,35,29,.78)),url('../images/order-hero.png') center 48%/cover; }
.accepted-mark { color:#17231d; background:#9bcb8b; }
.order-table td { border-color:#3b5043; }

/* Order page hero: align its wordmark and visual treatment with the dark site theme. */
.order-page .brand {
  display:block;
  flex:0 0 auto;
  color:#b7d7a6;
  font-size:clamp(34px,2.7vw,48px);
  font-weight:800;
  letter-spacing:-.075em;
  line-height:1;
  white-space:nowrap;
  text-decoration:none;
}
.order-page .order-hero {
  min-height:300px;
  color:#f0f1e8;
  background:#17231d;
  border-bottom:1px solid #3b5043;
}
.order-page .hero__image {
  background-image:
    linear-gradient(90deg,rgba(14,25,19,.98) 0%,rgba(14,25,19,.94) 37%,rgba(14,25,19,.82) 57%,rgba(14,25,19,.54) 78%,rgba(14,25,19,.38) 100%),
    linear-gradient(0deg,rgba(14,25,19,.28),transparent 62%),
    url('../images/order-hero.png');
  background-size:cover;
  background-position:center 53%;
}
.order-page .hero__content { padding-top:26px; padding-bottom:32px; }
.order-page .breadcrumb { color:#c0c9be; }
.order-page .breadcrumb a:hover,.order-page .breadcrumb strong { color:#b7d7a6; }
.order-page .hero__content h1 { color:#f0f1e8; }
.order-page .hero__content>p { color:#d4ddd2; }
.order-page .hero-benefits { gap:34px; }
.order-page .hero-benefits>div { column-gap:10px; }
.order-page .hero-benefits .benefit-icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#293b30;
  color:#b7d7a6;
}
.order-page .hero-benefits .benefit-icon svg { width:24px; height:24px; margin:0; }
.order-page .hero-benefits strong { color:#f0f1e8; }
.order-page .hero-benefits small { color:#c0c9be; }

@media (max-width:720px) {
  .order-page .brand { font-size:26px; }
  .order-page .order-hero { min-height:0; }
  .order-page .hero__image {
    background-image:
      linear-gradient(90deg,rgba(14,25,19,.92),rgba(14,25,19,.80)),
      url('../images/order-hero.png');
    background-position:58% center;
  }
  .order-page .hero__content { padding:18px 16px 24px; }
  .order-page .hero-benefits { gap:12px; }
}
@media (max-width:560px) {
  .order-page .brand { font-size:24px; }
}

@media (prefers-reduced-motion:reduce) {
  body *, body *::before, body *::after { transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
