/* Brand refinement governed by /DESIGN.md. */
:root{--muted:#625c52;--ui-border:#ded8cd;--ui-radius:12px;--ui-action:#9a342b}
body{font-size:16px}
h1,h2{text-wrap:balance}
.button,.nav-cta{background:var(--ui-action);border-color:var(--ui-action);border-radius:8px;font-weight:600}
.button:hover,.nav-cta:hover{background:#772c25;border-color:#772c25}
.outline-button,.filters button{border-radius:8px}
.button,.outline-button,.filters button,.menu-toggle,.close-dialog{transition:background-color .18s,border-color .18s,transform .18s}
.button:active,.outline-button:active,.filters button:active{transform:translateY(1px)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.product-image,.farm-mosaic .photo,.farm-feature .photo,.quality-feature .photo{border-radius:var(--ui-radius)}
.product-title>a{min-width:46px;transition:background-color .18s}
.product-title>a:hover{background:#eeeadd}
.contact-card,.social-grid article,.cooperation article,.detail-sections article,.verification-section,.quality-strip{border-radius:var(--ui-radius)}
.product-body>p,.editorial p:not(.eyebrow){line-height:1.85}
.photo-label,.photo figcaption,.gallery .photo figcaption{font-size:12px}
.food-gallery .photo{border-radius:var(--ui-radius);background:#efeee5}
.food-gallery .photo figcaption{position:static!important;color:#514c42;background:#efeee5;padding:10px 12px!important;font-size:12px!important;line-height:1.6!important;text-align:left}
.food-gallery>button{border-radius:var(--ui-radius)}
input,select,textarea{border-radius:8px;border-color:#aaa698;font-size:16px}
input::placeholder,textarea::placeholder{color:#716b60}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-color:var(--green)}
input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:#9a342b;background:#fff7f3}
.faq summary{min-height:48px;font-weight:600}
.faq details[open]{padding-inline:16px;background:#f4f0e6;border-radius:8px}
.faq details p{line-height:1.85}
.brand-facts p,.hero-description,.hero-signature span,.hero-signature small{font-size:12px;color:#625c52}
.hero-copy>.eyebrow,.eyebrow{font-size:12px}
@media(max-width:800px){.site-header nav a:hover{background:#f4f0e6;border-radius:8px}}
@media(max-width:520px){body{font-size:15px}.brand-facts p{font-size:12px}.hero-description{font-size:14px}.food-gallery .photo figcaption{padding:8px!important}.social-grid p{font-size:13px}.social-grid .text-link{font-size:12px}.contact-card h2{font-size:24px}.photo-label{font-size:12px;max-width:calc(100% - 24px)}.filters{gap:10px}.filters button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.button,.outline-button,.filters button,.menu-toggle,.close-dialog,.product-title>a{transition:none}.button:active,.outline-button:active,.filters button:active{transform:none}}
