/* Focused final responsive and accessibility corrections. */
.mobile-menu{max-height:calc(100dvh - 94px);overflow-y:auto;overscroll-behavior:contain;z-index:1001}
.mobile-menu a{min-height:44px;color:#f4f4f2}
.mobile-menu .mobile-sub-link{color:#e0e5d9}
body.menu-open .site-header{z-index:1002}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--logo-green,#7a9c3e);outline-offset:4px}
@media(min-width:1021px){body.menu-open .mobile-menu{display:none}}
@media(max-width:1020px){
 #home.home-image-hero{min-height:0;padding:92px 0 0;background:#102a20}
 #home.home-image-hero .hero-bg{position:relative;inset:auto;aspect-ratio:16/9;background:none}
 #home.home-image-hero .hero-bg:after{display:none}
 #home.home-image-hero .home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none;object-position:center}
 #home.home-image-hero .hero-inner{min-height:0;padding:28px 22px 36px}
 #home.home-image-hero .hero-copy h1{font-size:clamp(24px,3.65vw,36px);line-height:1.2;text-shadow:none}
 #home.home-image-hero .food-waste-actions{margin-top:24px;gap:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}

.product-know-section{overflow-x:clip}
.pf-solution-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
.pf-solution-benefits li{overflow-wrap:break-word;min-width:0}
@media(min-width:801px) and (max-width:1050px){.pf-solution-benefits{grid-template-columns:1fr}}
@media(max-width:500px){.pf-solution-benefits{grid-template-columns:1fr}}
@media(max-width:720px){[data-page="home-v1"] .hero-circular-link{max-width:100%;white-space:normal}}

.product-feature-grid-arrow-next{right:8px!important}
.product-feature-grid-arrow-prev{left:8px!important}
.pf-solution-tabs button{overflow-wrap:normal;word-break:normal;line-height:1.35;min-height:48px}
@media(max-width:480px){.pf-solution-tabs button{font-size:11px;padding-inline:3px}.pf-technology-tabs button{font-size:10px}}
/* Keep the archived lineup information control inside narrow screens. */
@media(max-width:1020px){[data-page="home-v1"] .home-products-heading{padding-right:44px}[data-page="home-v1"] .home-products-heading .lineup-info-wrap{left:auto;right:0}}
.mobile-menu a[aria-current="page"]{color:#b8d586}

/* Smaller laptops use an image-proportional hero, not the window height. */
@media(min-width:1021px) and (max-width:1440px){
 #home.home-image-hero{--merch-hero-height:62.5vw;min-height:0;padding:0}
 #home.home-image-hero .hero-inner{min-height:var(--merch-hero-height)}
 #home.home-image-hero .home-hero-image{transform:none}
 .site-header .desktop-nav{gap:clamp(14px,1.5vw,22px);font-size:14px;white-space:nowrap}
 .site-header .nav-left{padding-right:58px}
 .site-header .nav-right{padding-left:58px}
}
/* Mobile framing: stable white navigation and deliberately sized hero images. */
@media(max-width:1020px){
 .site-header,.site-header.is-scrolled{background:#fff;min-height:76px;padding:14px 20px;border-bottom:1px solid #e7e9e3;backdrop-filter:none}
 .site-header .brand,.site-header.is-scrolled .brand{top:50%;transform:translate(-50%,-50%)}
 .site-header .brand img,.site-header.is-scrolled .brand img{width:54px;filter:none}
 .site-header .menu-toggle{background:#fff;border-color:#d9ded3;color:#20291b}
 .site-header .menu-toggle span{background:#20291b}
 .mobile-menu{top:76px;max-height:calc(100dvh - 76px)}
 #home.home-image-hero{padding-top:76px}
 #home.home-image-hero .hero-bg{aspect-ratio:4/3;overflow:hidden}
 #home.home-image-hero .home-hero-image{object-fit:cover;transform:scale(1.65);transform-origin:center center}
 #home.home-image-hero .hero-inner{padding:24px 22px 30px}
 #home.home-image-hero .hero-copy{width:100%}
 #solutions.platform-hero{--merch-hero-height:0;min-height:0;padding:76px 0 0;background:#fff}
 #solutions.platform-hero .hero-bg{position:relative;inset:auto;aspect-ratio:16/10}
 #solutions.platform-hero .hero-bg::after{display:none}
 #solutions.platform-hero .hero-inner{width:100%;min-height:0;padding:24px 22px 28px}
 #solutions.platform-hero .hero-copy h1{font-size:clamp(22px,4vw,34px);white-space:normal;color:#20291b;text-shadow:none}
 #solutions.platform-hero .hero-copy h1 span{white-space:normal;text-shadow:none}
 #solutions.platform-hero .hero-copy h1 a{color:inherit;text-shadow:none}
 #our-team .roster-hero-band.compact-page-hero,#testimonials .roster-hero-band.compact-page-hero,#careers .roster-hero-band.compact-page-hero,.about-page #about-hero,#value-proposition-page #vp-hero,.faq-hero{margin-top:76px;min-height:0;padding:0 20px;aspect-ratio:16/9}
 #our-team .compact-page-hero .compact-page-hero-copy,#testimonials .compact-page-hero .compact-page-hero-copy,#careers .compact-page-hero-copy,.about-compact-hero-copy,.industries-hero-copy{min-height:0;padding:32px 0}
 #our-team .compact-page-hero .compact-hero-title,#testimonials .compact-page-hero .compact-hero-title,#careers .compact-hero-title,.about-page #about-hero h1,#value-proposition-page #vp-hero h1,.faq-hero h1{font-size:clamp(28px,5vw,42px);line-height:1.12}
 .faq-hero{padding-block:32px}
}
@media(max-width:1020px){
 body .site-header:not(.is-scrolled){background:#fff;border-bottom-color:#e7e9e3}
 body .site-header:not(.is-scrolled)::before{display:none}
}
/* Keep residual cards steady during touch swipes; avoid 3D overflow on mobile. */
@media(max-width:1020px){
 #product-know-platform-pathways .product-know-rail{overflow-y:hidden;overscroll-behavior-x:contain;overscroll-behavior-y:none;align-items:start;padding-block:4px 8px}
 #product-know-platform-pathways .pf-flip-card{overflow:hidden;border-radius:8px;perspective:none;box-shadow:none;transform:none;transition:none}
 #product-know-platform-pathways .pf-flip-inner,#product-know-platform-pathways .pf-flip-card.is-flipped .pf-flip-inner{transform:none;transform-style:flat;transition:none}
 #product-know-platform-pathways .pf-flip-front,#product-know-platform-pathways .pf-flip-back{transform:none;backface-visibility:visible;-webkit-backface-visibility:visible;transition:opacity .18s ease}
 #product-know-platform-pathways .pf-flip-front{background:transparent}
 #product-know-platform-pathways .pf-flip-front img{display:block;inset:0;width:100%;height:100%;object-fit:cover;transform:none;z-index:0}
 #product-know-platform-pathways .product-know-card-shade{z-index:1;background:rgba(0,0,0,.24)}
 #product-know-platform-pathways .pf-flip-front h3,#product-know-platform-pathways .pf-flip-hint{z-index:2}
 #product-know-platform-pathways .pf-flip-back{opacity:0;visibility:hidden;padding:24px 22px}
 #product-know-platform-pathways .pf-flip-back p{font-size:16px;line-height:1.5}
 #product-know-platform-pathways .pf-flip-card.is-flipped .pf-flip-front{opacity:0;visibility:hidden}
 #product-know-platform-pathways .pf-flip-card.is-flipped .pf-flip-back{opacity:1;visibility:visible}
}

/* Size the touch card explicitly and paint its photo across the whole face.
   Avoid percentage-height gaps in mobile button/3D rendering. */
@media(max-width:1020px){
 #product-know-platform-pathways .pf-flip-card{display:block;box-sizing:border-box;height:calc(var(--product-card-width) * 4 / 3);aspect-ratio:auto;appearance:none;-webkit-appearance:none}
 #product-know-platform-pathways .pf-flip-inner{inset:0;width:auto;height:auto}
 #product-know-platform-pathways .pf-flip-front{inset:0;background-image:var(--pathway-photo);background-size:cover;background-position:center;background-repeat:no-repeat}
 #product-know-platform-pathways .pf-flip-front img{display:none}
}
