:root {
  --primary: #294f40;
  --accent: #b9cba6;
  --text: #293b32;
  --background: #f7f5ef;
  --radius: 1.25rem;
  --shadow: 0 12px 35px rgba(40, 62, 47, .055);
  --border: 1px solid #e2e5d9;
  --footer-bg: #213e33;
}
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { color: var(--text); -webkit-font-smoothing: antialiased; }
a:hover { color: #567044; }
a:focus-visible, button:focus-visible { outline: 3px solid #9a774c; outline-offset: 5px; }
.header { background: rgba(255, 254, 250, .97); border-bottom: var(--border); box-shadow: none; }
.nav { max-width: 1280px; padding: 1.15rem 2rem; gap: 1.25rem; }
.nav-logo { font-family: Georgia, serif; font-size: 1.25rem; font-weight: 400; letter-spacing: -.4px; flex-shrink: 0; }
.nav-logo img { width: 46px; height: 46px; object-fit: contain; }
.nav-list { list-style: none; gap: 1.35rem; }
.nav-link { font-size: .78rem; font-weight: 700; }
.nav-link.active { border-bottom: 1px solid var(--primary); padding-bottom: .4rem; }
.nav-close { display: none; }
main { max-width: 1200px; padding: 2.5rem 2rem 3rem; }
.hero { flex-wrap: nowrap; padding: 3.8rem 3rem; gap: 3rem; margin-bottom: 2rem; background: #eaeedf; border: var(--border); box-shadow: none; border-radius: 1.5rem; }
.hero-content { flex: 1.5; min-width: 0; }
.hero-title, .section-title, .summary-title, .container h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -1.5px; }
.hero-title { font-size: clamp(2.7rem, 4.2vw, 3.8rem); line-height: 1.08; margin-bottom: 1.5rem; }
.hero-title span { color: #536d47 !important; }
.hero-desc { font-size: .92rem; line-height: 1.85; max-width: 540px; color: #536253; }
.hero-btns { flex-wrap: wrap; gap: .75rem; }
.btn-primary, .btn-secondary { display: inline-flex; align-items: center; justify-content: center; padding: .95rem 1.2rem; border-radius: 3rem; font-size: .78rem; box-shadow: none; }
.btn-secondary { background: transparent; border: 1px solid #7f9477; }
.hero-img-container { min-width: 0; flex: 1; justify-content: center; padding: 1.5rem; border: 1px solid #cad2bd; border-radius: 50% 50% 1rem 1rem; background: #f4f4e9; }
.hero-img { width: 100%; margin: 0; border-radius: 50% 50% .5rem .5rem; background: transparent; box-shadow: none; mix-blend-mode: multiply; }
.info-sections { gap: 1rem; margin-bottom: 2rem; }
.info-card, .policy-card { border: var(--border); padding: 1.65rem 1.35rem; box-shadow: none; max-width: none; }
.info-card { align-items: flex-start; text-align: left; }
.info-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #edf1e5; font-size: 1.4rem; margin-bottom: 1rem; }
.info-title { font-size: .94rem; font-weight: 700; line-height: 1.5; margin-bottom: .65rem; }
.info-desc, .policy-body { font-size: .85rem; color: #5a675c; overflow-wrap: anywhere; }
#services { padding: 1.5rem 0 2rem; border-bottom: var(--border); }
#services .info-card { background: transparent; border: 0; padding: 1rem; flex-basis: 175px; }
#shop { padding: 1.5rem 0 2rem; }
.section-title { font-size: clamp(2rem, 3vw, 2.7rem); margin-bottom: 2rem; }
.products-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.15rem; }
.product-card { padding: 1rem; border: var(--border); border-radius: 1rem; box-shadow: none; align-items: stretch; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.product-img { width: 100%; height: 190px; padding: 1rem; background: #f3f3ec; border-radius: .65rem; margin-bottom: 1.2rem; }
.product-name { font-size: .94rem; font-weight: 700; text-align: left; }
.product-desc { font-size: .8rem; line-height: 1.7; text-align: left; color: #627064; margin-bottom: 1rem; }
.product-price { margin-top: auto; font-size: 1.05rem; }
.product-add { justify-content: center; border-radius: 3rem; font-size: .8rem; font-weight: 700; padding: .8rem; }
.product-badge { background: #fffefa; color: var(--primary); font-size: .65rem; letter-spacing: .2px; border: var(--border); border-radius: 2rem; box-shadow: none; }
#testimonials .info-card { background: #eaeedf; border-color: #eaeedf; padding: 2rem; }
#testimonials .info-desc { font-family: Georgia, serif; font-size: 1.2rem; line-height: 1.65; color: var(--primary); }
#faq .info-card { background: transparent; }
#contact { padding-top: 1rem; }
#contact .info-card { flex-basis: 230px; }
.policy-card { background: transparent; border-radius: .75rem; }
.policy-title { font-weight: 700; font-size: .95rem; }
.footer { border-radius: 0; padding: 3.5rem 1rem 1.5rem; }
.footer-container { gap: 2.5rem; }
.footer-brand { flex-basis: 340px; }
.footer-logo { font-family: Georgia, serif; font-weight: 400; }
.footer-desc, .footer-link, .footer-bottom { font-size: .8rem; }
.footer-desc { color: #c4d2bf; }
.footer-links-title { font-size: .8rem; margin-bottom: .9rem; }
.footer-links { gap: .6rem; }
.footer-bottom { border-top: 1px solid #496254; padding-top: 1.5rem; }
.floating-cart-btn { width: 58px; height: 58px; font-size: 1.6rem; box-shadow: 0 6px 25px #213e3333; border: 3px solid #fffefa; }
.cart-overlay { background: rgba(25, 41, 32, .35); backdrop-filter: blur(3px); }
.cart-sidebar { width: 390px; background: #fffefa; }
.cart-sidebar-title { font-family: Georgia, serif; font-size: 1.8rem; font-weight: 400; }
.cart-sidebar-footer { flex-wrap: wrap; gap: 1rem; }
.cart-sidebar-footer .checkout-btn { border-radius: 2rem; }
.container { max-width: 800px; margin: 3rem auto; padding: 3rem; border: var(--border); }
.container h1, .summary-title { font-size: 2.7rem; }
.container h2 { color: var(--primary); font-size: 1.1rem; }
.container p, .container ul { font-size: .93rem; line-height: 1.9; }
body:has(.summary-title) main { max-width: 850px; border: var(--border); padding: 2.5rem; }
.summary-desc { font-size: .92rem; }
.order-section { background: #f6f6ef; box-shadow: none; overflow-x: auto; }
.order-table th { background: var(--primary); font-size: .8rem; }
.order-table td { font-size: .85rem; }
.confirmation-section { background: #eaeedf; color: var(--primary); font-size: .93rem; box-shadow: none; }
.instructions-section { background: #f4f4ed; box-shadow: none; font-size: .9rem; }
.btn-confirm { border-radius: 3rem; font-size: .95rem; }
@media (min-width: 701px) and (max-width: 1100px) {
  .nav { flex-wrap: wrap; justify-content: center; gap: .65rem; }
  .nav-actions { display: none; }
  .hero { flex-direction: row; text-align: left; padding: 2.5rem 2rem; gap: 2rem; }
  .hero-img { margin: 0; }
  .products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 90px; }
  .nav { padding: .8rem 1rem; gap: .5rem; }
  .nav-logo { font-size: 1.03rem; }
  .nav-logo img { width: 36px; height: 36px; }
  .nav-toggle { margin-left: 0; }
  .nav-list .nav-link { font-size: .95rem; }
  main { padding: 1.2rem 1rem 2rem; }
  .hero { flex-direction: column; text-align: left; padding: 2rem 1.5rem; gap: 2rem; }
  .hero-title { font-size: 2.7rem; }
  .hero-img-container { width: 220px; flex: auto; padding: 1rem; }
  .hero-img { margin: 0; }
  .hero-btns { justify-content: flex-start; }
  .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .product-card { padding: .75rem; }
  .product-img { height: 150px; padding: .5rem; }
  .product-name { font-size: .85rem; }
  .product-add { font-size: .72rem; padding: .75rem .4rem; }
  .info-card, .policy-card { padding: 1.4rem; }
  .footer-container { gap: 1rem; }
  .footer-brand, .footer-links-group { flex-basis: auto; }
  .container { margin: 1rem; padding: 1.8rem 1.25rem; }
  .container h1, .summary-title { font-size: 2.1rem; }
  body:has(.summary-title) .nav { flex-wrap: wrap; justify-content: center; }
  body:has(.summary-title) .nav-list { gap: .85rem; flex-wrap: wrap; justify-content: center; }
  body:has(.summary-title) .nav-link { font-size: .72rem; }
  body:has(.summary-title) main { margin: 1rem; padding: 1.5rem 1rem; }
  .order-table { min-width: 560px; }
  .cart-sidebar { padding: 1.5rem 1rem; }
}
@media (max-width: 360px) {
  .nav-logo { font-size: .9rem; }
  .hero { padding: 1.5rem 1rem; }
  .hero-title { font-size: 2.3rem; }
  .products-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
  .product-card:hover { transform: none; }
}
