/* Final visual polish pass based on the deployed-site review, July 26 2026. */
:root{--page-copy:clamp(16px,1vw,18px);--heading-xl:clamp(3rem,5.1vw,5.7rem);--heading-lg:clamp(2.3rem,3.7vw,4.2rem)}
body{font-size:var(--page-copy)}
main{overflow:hidden}

/* Home hero: less dead space, readable floating note and disciplined heading. */
.page-home .hero--tz{padding-top:18px}
.page-home .hero--tz .hero__grid{min-height:clamp(620px,74vh,760px);align-items:center}
.page-home .hero--tz .hero__copy{padding-block:28px}
.page-home .hero--tz h1{font-size:var(--heading-xl);line-height:.92;letter-spacing:-.035em;max-width:780px}
.page-home .hero--tz h1 br{display:block}
.page-home .hero--tz h1 em{font-size:.86em;white-space:nowrap}
.page-home .hero-note--documents{background:rgba(251,247,240,.97);color:var(--ink);min-width:230px}
.page-home .hero-note--documents span,.page-home .hero-note--documents strong{color:var(--ink)}
.page-home .hero-caption--message{display:none}
.page-home .hero-photo--paper{animation:mf-float 7s ease-in-out infinite}
@keyframes mf-float{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-10px) rotate(.5deg)}}

/* Finder: stronger, warmer icons and better spacing. */
.finder-card{gap:30px;padding:34px 40px}
.finder-card h2{font-size:clamp(2.1rem,3.4vw,3.8rem);max-width:360px}
.finder-options--line-icons a{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.055);transition:transform .25s ease,background .25s ease,border-color .25s ease}
.finder-options--line-icons a:hover{transform:translateY(-5px);background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.36)}
.finder-options--line-icons svg{width:38px;height:38px;color:#d6e6b8;filter:drop-shadow(0 3px 8px rgba(0,0,0,.18));stroke-width:1.9}
.finder-search{white-space:nowrap}

/* Category cards: predictable grid, no collisions, no overlap with next section. */
.categories-section{padding-bottom:92px}
.categories-section .category-grid--tz{grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr) minmax(0,.9fr);grid-template-rows:repeat(2,minmax(260px,1fr));gap:20px;align-items:stretch}
.categories-section .category-grid--tz .category-card{min-height:0;height:100%;border-radius:32px;overflow:hidden}
.categories-section .category-grid--tz .category-card--large{grid-row:1/3;min-height:600px}
.categories-section .category-grid--tz .category-card>.category-card__copy{padding:30px 32px 14px}
.categories-section .category-grid--tz .category-card h3{font-size:clamp(2rem,2.7vw,3.65rem);line-height:.94;max-width:82%;overflow-wrap:normal;hyphens:none}
.categories-section .category-grid--tz .category-card--large h3{font-size:clamp(3rem,4.6vw,5.3rem);max-width:82%}
.categories-section .category-grid--tz .category-card p{max-width:66%;font-size:.98rem;line-height:1.45}
.categories-section .category-grid--tz .category-card>.category-card__art{height:auto;min-height:180px;align-self:stretch}
.categories-section .category-grid--tz .category-card--large>.category-card__art{min-height:380px}
.categories-section .category-grid--tz .category-card .category-card__category-image{right:-2%;bottom:-8%;width:62%;height:105%;border-width:5px;border-radius:50% 50% 0 0/42% 42% 0 0;object-position:center;box-shadow:0 14px 34px rgba(38,58,30,.14)}
.categories-section .category-grid--tz .category-card--large .category-card__category-image{width:68%;height:106%;right:-2%;bottom:-5%}
.categories-section .category-grid--tz .category-card:hover .category-card__category-image{transform:translateY(-10px) scale(1.025)}

/* Product cards: restore a separate animated bottle above botanical artwork. */
.product-grid .product-card__media{position:relative;overflow:hidden;isolation:isolate;background:var(--paper)}
.product-grid .product-card__media>img{position:relative;z-index:1;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.product-grid .product-card__media::after{content:"";position:absolute;z-index:3;right:9%;bottom:-4%;width:32%;height:58%;background:url('/assets/images/bottle-studio.webp') center bottom/contain no-repeat;filter:drop-shadow(0 18px 15px rgba(31,50,24,.24));transform:translateY(12px) rotate(2deg);transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .45s ease;pointer-events:none}
.product-grid .product-card:hover .product-card__media>img{transform:scale(1.045) translateX(-2%);filter:saturate(1.05)}
.product-grid .product-card:hover .product-card__media::after{transform:translateY(-10px) rotate(-2deg) scale(1.06);filter:drop-shadow(0 24px 18px rgba(31,50,24,.31))}
.product-grid .product-card__content{position:relative;z-index:5;background:var(--paper-light)}
.product-grid .product-card h3{font-size:clamp(1.25rem,1.45vw,1.65rem)}

/* Brand and farmers imagery: never stretch tiny source files to billboard size. */
.manifesto-section--compact{padding-block:68px}
.manifesto-section--compact .manifesto-grid{min-height:auto;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(42px,6vw,90px)}
.manifesto-section--compact .manifesto-copy h2{font-size:clamp(2.7rem,4.25vw,4.9rem);line-height:.98;max-width:780px}
.founder-shared-frame{max-width:500px;justify-self:center;background:var(--paper-light)}
.founder-shared-frame img{height:auto;max-height:560px;object-fit:contain;object-position:center;background:var(--paper-light)}
.farmers-preview__grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr)}
.farmers-preview figure{max-width:470px;justify-self:end}
.farmers-preview figure img{height:auto;max-height:560px;object-fit:contain;background:rgba(255,255,255,.08)}

/* Reviews: image as a designed editorial card, not a tiny floating thumbnail. */
.reviews-section--poster{padding-block:84px}
.reviews-poster-grid{grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:clamp(40px,7vw,100px);align-items:center}
.reviews-poster-grid>div{max-width:720px}
.reviews-poster-grid>img{position:static;width:100%;max-width:390px;max-height:560px;object-fit:contain;justify-self:center;padding:12px;background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-md);transform:rotate(1deg);transition:transform .35s ease}
.reviews-poster-grid>img:hover{transform:rotate(0) translateY(-6px)}
.review-editorial{grid-template-columns:minmax(260px,390px) minmax(0,1fr)}
.review-editorial>img{position:static;max-height:620px;padding:10px;background:var(--paper-light);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-sm)}

/* Boutique flower: keep decorative asset smaller so low resolution is not exposed. */
.boutique-card>img{width:min(34%,390px);height:auto;max-height:430px;object-fit:contain;filter:drop-shadow(0 18px 25px rgba(0,0,0,.12));animation:mf-branch 8s ease-in-out infinite}
@keyframes mf-branch{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}

/* About: hero fits a screen and photos are not destructively cropped. */
.about-hero--tz{padding-top:26px;padding-bottom:54px}
.about-hero--tz .about-hero__grid{min-height:auto;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(42px,6vw,88px)}
.about-hero--tz h1{font-size:clamp(3.2rem,5.25vw,6rem);line-height:.94;max-width:800px}
.about-collage--shared{max-width:520px;justify-self:end;padding:12px}
.about-collage--shared>img{height:auto;max-height:590px;object-fit:contain;object-position:center;background:var(--paper-light)}
.founders-common-photo{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}
.founders-common-photo>img{height:auto;max-height:560px;object-fit:contain;background:var(--paper-light)}
.farmers-link-grid>img,.farmers-hero figure img{height:auto;max-height:590px;object-fit:contain}

/* Help and contacts: prevent absurd phone wrapping and stabilize columns. */
.page-help .help-grid,.page-help .contacts-grid{grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:clamp(34px,6vw,86px)}
.page-help .contact-list strong,.site-footer .footer-phone{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
.page-help .contact-list a,.page-help .contact-list>div{min-width:0}
.page-help .contact-direct-card{min-width:0}

/* Footer social icons. */
.socials{display:flex;flex-wrap:wrap;gap:10px}
.socials a{display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.28);transition:transform .25s ease,background .25s ease}
.socials a:hover{transform:translateY(-4px);background:rgba(255,255,255,.12)}
.socials svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.socials .social-fill{fill:currentColor;stroke:none}

/* Compact support button; full label appears only on hover/focus. */
.support-widget summary{width:54px;height:54px;padding:0;justify-content:center;overflow:hidden;transition:width .28s ease,padding .28s ease,transform .25s ease}
.support-widget summary span{max-width:0;opacity:0;white-space:nowrap;overflow:hidden;transition:max-width .28s ease,opacity .2s ease}
.support-widget summary:hover,.support-widget summary:focus-visible,.support-widget[open] summary{width:158px;padding-inline:16px;transform:translateY(-3px)}
.support-widget summary:hover span,.support-widget summary:focus-visible span,.support-widget[open] summary span{max-width:110px;opacity:1}

/* General motion and polish. */
.button,.text-link,.category-card,.article-card,.journal-card,.review-feed article,.help-cards article{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease}
.button:hover{transform:translateY(-3px)}
.article-card:hover,.journal-card:hover,.review-feed article:hover,.help-cards article:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media (max-width:1100px){
 .categories-section .category-grid--tz{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
 .categories-section .category-grid--tz .category-card--large{grid-row:auto;grid-column:1/-1;min-height:500px}
 .manifesto-section--compact .manifesto-grid,.about-hero--tz .about-hero__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
 .page-home .hero--tz .hero__grid{min-height:auto;padding-top:18px}
 .page-home .hero--tz h1{font-size:clamp(3rem,15vw,4.6rem)}
 .page-home .hero--tz h1 em{white-space:normal}
 .page-home .hero-note--documents{right:8px;bottom:8%;min-width:0;max-width:210px}
 .finder-card{padding:28px 22px}
 .finder-options--line-icons a{grid-template-columns:42px 1fr}
 .categories-section .category-grid--tz{grid-template-columns:1fr}
 .categories-section .category-grid--tz .category-card--large{grid-column:auto;min-height:470px}
 .categories-section .category-grid--tz .category-card h3,.categories-section .category-grid--tz .category-card--large h3{font-size:clamp(2.35rem,12vw,3.7rem);max-width:78%}
 .categories-section .category-grid--tz .category-card .category-card__category-image{width:66%}
 .manifesto-section--compact .manifesto-grid,.about-hero--tz .about-hero__grid,.founders-common-photo,.farmers-preview__grid,.reviews-poster-grid,.review-editorial,.page-help .help-grid,.page-help .contacts-grid{grid-template-columns:1fr}
 .manifesto-section--compact .manifesto-copy h2,.about-hero--tz h1{font-size:clamp(2.7rem,12vw,4.2rem)}
 .founder-shared-frame,.about-collage--shared,.farmers-preview figure{max-width:430px;justify-self:center}
 .reviews-poster-grid>img{max-width:300px}
 .boutique-card>img{width:min(62%,320px);margin-inline:auto}
 .support-widget{right:14px;bottom:16px}
 .support-widget summary{width:50px;height:50px}
}
