/* Central responsive contract: loaded after page-specific styles. */
img{max-width:100%;height:auto}
.taste-art,.ingredient-stage-art,.card-visual{min-width:0}
.taste-art img,.ingredient-stage-art img,.card-visual img{display:block;max-width:100%;height:auto}

@media (max-width: 800px){
  html,body{max-width:100%;overflow-x:hidden}
  .site-header{height:68px;padding:0 20px;position:sticky}
  .mobile-toggle{display:grid;place-items:center;order:3;width:44px;height:44px;padding:0;font-size:30px;line-height:1;cursor:pointer}
  .site-header>.logo{order:1;font-size:27px}
  .main-nav{display:none;position:absolute;top:68px;left:0;right:0;margin:0;padding:12px 20px 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(22,22,22,.08);z-index:11}
  .main-nav.is-open{display:grid;gap:0}
  .main-nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
  .header-actions{order:2;margin-left:auto;margin-right:4px;gap:0;font-size:12px}
  .header-actions .subscribe-link{display:none}
  .cart-trigger{padding:10px 4px}
  .section-pad{padding:70px 20px}
  .announcement{font-size:9px;padding:9px 14px;line-height:1.3}
  .hero{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding-top:62px;overflow:visible}
  .hero-copy{min-width:0}
  .hero-art{width:100%;height:min(105vw,405px);margin-top:18px;transform:none;border-radius:50%;overflow:hidden}
  .taste-section{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding:70px 20px}
  .taste-copy{min-width:0}
  .taste-art{width:100%;order:2;overflow:visible}
  .taste-art img{width:100%;max-width:none;height:auto;aspect-ratio:1/1;object-fit:contain;mix-blend-mode:multiply}
  .products-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .product-card{width:100%;min-width:0}
  .card-visual{width:100%;height:auto;min-height:0;aspect-ratio:1.35/1;padding:0;display:flex;align-items:center;overflow:hidden}
  .card-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
  .ingredient-stage{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding:70px 20px}
  .ingredient-stage-copy{min-width:0}
  .ingredient-stage-art{width:100%;border-radius:20px;overflow:hidden}
  .ingredient-stage-art img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;object-position:center}
  .intro-grid{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:42px;align-items:start}
  .intro-grid .big-stat{order:1;text-align:center;font-size:clamp(110px,38vw,180px);letter-spacing:-.12em;line-height:.85}
  .intro-grid>div{order:2;min-width:0}
  .story{grid-template-columns:minmax(0,1fr);gap:28px}
  .story-copy{order:1;min-width:0}
  .story-art{order:2;width:100%;height:min(88vw,320px);min-height:260px;overflow:hidden}
  .story-circle{width:min(76vw,280px);height:min(76vw,280px);left:50%;top:0;transform:translateX(-50%)}
  .story-card{right:8%;bottom:5%;padding:16px 20px}
  .story-leaf{left:10%;bottom:4%;font-size:58px}
  .story-stats{gap:22px;margin-top:35px;flex-wrap:wrap}
  .faq{grid-template-columns:minmax(0,1fr);gap:28px}
  .faq h2,.faq-list{grid-column:1;grid-row:auto}
  .faq-list{align-self:stretch;min-width:0}
  .steps-grid{grid-template-columns:1fr 1fr}
  .steps-grid{grid-template-columns:minmax(0,1fr)}
  .section-heading{align-items:flex-start;gap:18px;margin-bottom:32px}
  .hero-actions{align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:32px}
  .hero-proof{flex-wrap:wrap;row-gap:6px}
  .ticker{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:0 20px}
  .ticker div{padding:14px 8px;line-height:1.4}
  .ticker div:not(:last-child){border-right:1px solid rgba(255,255,255,.3)}
  .ticker div:nth-child(2n){border-right:0}
  .ticker div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.3)}
  .newsletter,.faq{grid-template-columns:minmax(0,1fr);gap:35px}
  .footer{padding:48px 20px 22px}
  .footer-top{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:35px}
  .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .footer-payments{margin-left:0;flex-wrap:wrap}
  .footer-bottom{display:grid;gap:10px;line-height:1.4}
}

@media (min-width:801px) and (max-width:1100px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .taste-section,.ingredient-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
