/* A quiet catalogue interlude between the facility and its live process. */
.product-range { position: relative; padding: clamp(74px,7vw,118px) 6vw 96px; background: #f8faf9; color: #071c32; scroll-margin-top: 108px; }
.product-range-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; max-width: 1440px; margin: 0 auto 44px; }
.product-range h2 { margin: 0; font-size: clamp(38px,4vw,64px); line-height: 1.08; letter-spacing: -.05em; font-weight: 400; text-wrap: balance; }
.product-range h2 em { color: #003a8f; font-style: normal; }
.product-range-heading > p { max-width: 315px; margin: 0 0 4px; color: #526672; font-size: 15px; line-height: 1.65; }
.product-range-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; max-width: 1440px; margin: 0 auto; }
.range-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #dce4eb; border-radius: 22px; background: #fff; transition: border-color .35s, box-shadow .35s; }
.range-card-image { display: block; overflow: hidden; aspect-ratio: 4/3; background: #e9edf1; }
.range-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.16,1,.3,1); }
.range-card-copy { flex: 1; padding: 24px 22px 28px; }
.range-card h3 { min-height: 2.3em; margin: 0 0 12px; color: #071c32; font-size: clamp(22px,1.8vw,28px); line-height: 1.15; letter-spacing: -.035em; font-weight: 400; text-wrap: balance; }
.range-card p { margin: 0; color: #526672; font-size: 14px; line-height: 1.65; }
.product-range-link { display: flex; align-items: center; justify-content: center; gap: 22px; width: fit-content; max-width: 100%; min-height: 44px; margin: 34px auto 0; padding: 8px 0; color: #003a8f; font-size: 14px; line-height: 1.5; }
.product-range-link span { color: #bd491c; font-size: 22px; transition: transform .3s; }
.product-range-link:focus-visible { outline: 2px solid #003a8f; outline-offset: 6px; border-radius: 4px; }
.product-range [data-home-reveal].is-revealed { animation: rangeEnter .7s cubic-bezier(.16,1,.3,1) backwards; }
.product-range .range-card:nth-child(2).is-revealed { animation-delay: .06s; }
.product-range .range-card:nth-child(3).is-revealed { animation-delay: .12s; }
.product-range .range-card:nth-child(4).is-revealed { animation-delay: .18s; }
@keyframes rangeEnter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (hover:hover) and (pointer:fine) {
  .range-card:hover { border-color: #a9bed9; box-shadow: 0 16px 40px #003a8f0c; }
  .range-card:hover img { transform: scale(1.035); }
  .product-range-link:hover span { transform: translate(3px,-3px); }
}
html[lang="fa"] .product-range h2 { font-size: clamp(34px,3.5vw,55px); line-height: 1.55; }
html[lang="fa"] .range-card h3 { line-height: 1.6; min-height: 3.2em; }
html[lang="fa"] .range-card p { line-height: 1.85; }
@media (max-width:1100px) {
  .product-range-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-range-heading { gap: 28px; }
  .product-range-heading > p { max-width: 260px; font-size: 14px; }
  .range-card h3, html[lang="fa"] .range-card h3 { min-height: 0; }
}
@media (max-width:700px) {
  .product-range { padding: 68px 20px 64px; scroll-margin-top: 84px; }
  .product-range-heading { display: block; margin-bottom: 28px; }
  .product-range h2 { font-size: clamp(34px,6.5vw,43px); }
  .product-range-heading > p { max-width: 380px; margin: 20px 0 0; }
  .range-card-copy { padding: 22px 18px 24px; }
  .range-card h3 { font-size: 23px; }
}
@media (max-width:540px) {
  .product-range-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .range-card-image { aspect-ratio: 4/3; }
  .range-card h3 { font-size: 25px; margin-bottom: 9px; }
  .range-card-copy { padding: 22px; }
  .product-range-link { margin-top: 26px; font-size: 13px; }
}
@media (prefers-reduced-motion:reduce) {
  .product-range [data-home-reveal].is-revealed { animation: none; }
  .range-card, .range-card-image img, .product-range-link span { transition: none; }
  .range-card:hover img { transform: none; }
}
