/* Product directory: visuals support product recognition without replacing the copy. */
.products-page .hero-inner{padding-bottom:64px}
.products-page .hero-index{position:relative;border-top:0}
.products-page .hero-index::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#ffffff85;transform-origin:left center}
.hero-index a{grid-template-columns:28px minmax(0,1fr) 24px;gap:15px}
.products-page .hero-index a{transition:color .2s,background-color .2s}
.products-page .hero-index a:hover,.products-page .hero-index a:focus-visible{background-color:#ffffff12}
.products-page .hero-index a:hover .arrow,.products-page .hero-index a:focus-visible .arrow{transform:translate(2px,-2px)}
.products-page .hero-index .arrow{transition:transform .2s}
.hero-index svg,.choice-title svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero-index svg{color:#d6efdc;transition:color .2s,transform .2s}
.hero-index a:hover svg{color:var(--lime);transform:translateX(3px)}
.choice-title{display:flex;align-items:center;gap:11px;color:var(--green)}
.choice-title svg{flex:none}
.choice-row article p{margin-top:12px}
.product-card{grid-template-columns:minmax(190px,240px) minmax(0,1fr) 185px;gap:30px;min-height:0;padding:26px 30px}
.product-media{display:grid;place-items:center;min-width:0;align-self:stretch;overflow:hidden;border-radius:12px;background:#edf7ee}
.product-media img{width:100%;height:100%;min-height:170px;max-height:190px;object-fit:contain;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.product-card:hover .product-media img{transform:scale(1.035)}
.product-copy{min-width:0}
.product-card h3{font-size:clamp(1.65rem,2.15vw,2.2rem)}
.product-card .outcome{margin-top:13px}
.future{margin-top:22px}
.future-card{justify-content:flex-start;gap:20px;min-width:0;padding:16px 20px}
.future-card img{flex:none;width:132px;height:91px;border-radius:9px;background:#e8f3ea;object-fit:contain}
.future-card>div{min-width:0}
.future-card .future-phase{display:block;margin-bottom:7px;color:var(--green);font-size:.69rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.future-card p{line-height:1.5}
@keyframes product-hero-copy-enter{from{opacity:.16;clip-path:inset(0 0 13% 0);transform:translateY(18px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}
@keyframes product-hero-route-enter{from{opacity:.18;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
@keyframes product-hero-line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:no-preference){
  .products-page .hero-copy h1{animation:product-hero-copy-enter .74s cubic-bezier(.16,1,.3,1) .08s both}
  .products-page .hero-copy>p{animation:product-hero-copy-enter .68s cubic-bezier(.16,1,.3,1) .2s both}
  .products-page .hero-actions{animation:product-hero-copy-enter .62s cubic-bezier(.16,1,.3,1) .33s both}
  .products-page .hero-index::before{animation:product-hero-line-draw .72s cubic-bezier(.16,1,.3,1) .27s both}
  .products-page .hero-index-label{animation:product-hero-route-enter .55s cubic-bezier(.16,1,.3,1) .38s both}
  .products-page .hero-index a{animation:product-hero-route-enter .55s cubic-bezier(.16,1,.3,1) both}
  .products-page .hero-index a:nth-of-type(1){animation-delay:.43s}
  .products-page .hero-index a:nth-of-type(2){animation-delay:.51s}
  .products-page .hero-index a:nth-of-type(3){animation-delay:.59s}
  html.has-products-scroll .products-page [data-products-reveal]{opacity:.72;translate:0 18px;transition:opacity .56s cubic-bezier(.16,1,.3,1),translate .56s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.2,.8,.2,1);transition-delay:var(--products-delay,0ms)}
  html.has-products-scroll .products-page [data-products-reveal="heading"]{translate:0 10px}
  html.has-products-scroll .products-page [data-products-reveal].is-in-view,
  html.has-products-scroll .products-page [data-products-reveal]:focus-within{opacity:1;translate:0 0}
  html.has-products-scroll .products-page .product-card[data-products-reveal] .product-media img{transform:scale(1.045);transition:transform .65s cubic-bezier(.16,1,.3,1)}
  html.has-products-scroll .products-page .product-card[data-products-reveal].is-in-view .product-media img,
  html.has-products-scroll .products-page .product-card[data-products-reveal]:focus-within .product-media img{transform:scale(1)}
  html.has-products-scroll .products-page .product-card[data-products-reveal].is-in-view:hover .product-media img{transform:scale(1.035)}
}
@media(max-width:1050px){
  .product-card{grid-template-columns:180px minmax(0,1fr);gap:18px 24px}
  .product-media{grid-row:1 / 3}
  .product-action{grid-column:2;align-items:flex-start;gap:0;text-align:left}
  .product-media img{min-height:178px;max-height:230px}
  .future-card img{width:105px;height:81px}
}
@media(max-width:700px){
  .products-page .hero-inner{padding-block:26px 40px}
  .products-page .hero-layout{gap:30px;margin-top:42px}
  .products-page .hero-copy>p{margin-top:20px}
  .products-page .hero-index-label{margin-bottom:8px}
  .products-page .hero-index a{padding-block:12px}
  .product-card{grid-template-columns:1fr;gap:17px;padding:20px}
  .product-media{grid-row:auto;max-height:210px}
  .product-media img{height:210px;min-height:0;max-height:none}
  .product-action{grid-column:auto}
  .product-card h3{font-size:1.8rem}
  .future-card{gap:14px;padding:14px}
  .future-card img{width:92px;height:75px}
  .future-card h3{font-size:1.2rem}
}
@media(max-width:360px){
  .future-card img{width:76px;height:68px}
}
@media(prefers-reduced-motion:reduce){
  .hero-index svg,.product-media img{transition:none}
}
@media print{html.has-products-scroll .products-page [data-products-reveal]{opacity:1!important;translate:none!important}}
