.hero h1{font-size:clamp(40px,4.5vw,65px)}.hero-collection{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.hero-equipment{background:#fff;border-radius:14px;padding:18px;display:flex;flex-direction:column;justify-content:center;color:var(--ink);transition:transform .3s}.hero-equipment:hover{transform:translateY(-5px)}.hero-equipment img{width:100%;height:165px;object-fit:contain;min-height:0}.hero-equipment span{font-size:14px;font-weight:600;margin-top:10px}.hero-equipment-0{grid-column:1/3}.hero-equipment-0 img{height:220px}.hero-bottom{margin-top:35px}.hero-content{grid-template-columns:1.1fr 1fr}.category-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:32px}.category-links .filter{font-size:14px}.product-rail .product,.product-rail .product:first-child{transform:scale(.94);opacity:.72;transition:transform .35s,opacity .35s;gap:0}.product-rail .product.is-current{transform:scale(1);opacity:1}.product-rail .product .asset img,.product-rail .product:first-child .asset img{height:250px;min-height:0;object-fit:contain}.product-rail .product:hover{transform:scale(1)}.product-rail .product .description{margin-top:18px}.rail-status{font-size:14px;min-width:48px;text-align:center;color:var(--muted)}.scenario-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.scenario-card{border:1px solid var(--line);border-radius:12px;padding:26px;transition:border-color .2s,transform .2s}.scenario-card:hover{border-color:var(--accent);transform:translateY(-4px)}.scenario-card .num{color:var(--accent);font-size:14px}.scenario-card h3{margin-top:25px}.scenario-card p{font-size:15px}.procurement-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-left:22px}.procurement-steps li{padding:16px 14px;border-top:2px solid var(--accent)}.procurement-steps li::marker{color:var(--accent)}.procurement-steps h3{font-size:21px}.closing-cta{display:flex;align-items:center;justify-content:space-between;gap:30px}.closing-cta p{max-width:620px}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.model-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.model-card>img{width:100%;height:260px;object-fit:contain;background:#f8fafc;padding:16px}.model-card>div{padding:24px}.model-card p{font-size:15px}.model-card .actions{gap:10px}.model-card .btn{font-size:13px;padding:12px}.range-models{margin-top:55px}.range-consult{padding:30px;border-radius:12px;background:var(--paper)}.finder-guide{margin-top:26px;padding:26px;background:var(--paper);border-radius:12px}.finder-guide h2{font-size:24px}.finder-guide ul{padding-left:22px;color:var(--muted)}.finder-guide li{margin:10px 0}.finder-results-wide:not(:empty){margin-top:45px;padding-top:35px;border-top:1px solid var(--line);scroll-margin-top:110px}.finder-results-wide>.btn{margin-top:24px}.model-followup{margin-top:45px;background:var(--paper);padding:30px;border-radius:12px}
@media(max-width:1050px){.scenario-grid,.procurement-steps{grid-template-columns:repeat(2,1fr)}.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-content{gap:30px}}
@media(max-width:760px){.hero-content{grid-template-columns:1fr}.hero-equipment-0 img{height:180px}.hero-equipment img{height:130px}.hero-equipment{padding:12px}.hero-equipment span{font-size:13px}.hero-collection{gap:10px}.hero h1{font-size:40px}.hero .hero-bottom{font-size:11px}.scenario-grid,.procurement-steps,.model-grid{grid-template-columns:1fr}.closing-cta{display:block}.category-links{justify-content:flex-start}.product-rail .product,.product-rail .product:first-child{flex-basis:88%}.model-card>img{height:240px}.scenario-card{padding:22px}.model-followup{padding:24px}.finder-guide{padding:20px}.model-card .btn{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hero-equipment,.scenario-card,.product-rail .product{transition:none!important}}
.series-summary{border-top:1px solid var(--line);padding-top:16px;color:var(--ink)}
.series-table{max-width:100%;overflow-x:auto;margin:28px 0;border:1px solid var(--line);border-radius:12px}
.series-table table{border-collapse:collapse;width:100%;min-width:540px;font-size:16px}
.series-table th,.series-table td{text-align:left;padding:16px;border-bottom:1px solid var(--line)}
.series-table th{background:var(--paper)}
.series-table tr:last-child td{border-bottom:0}
.detail-layout>*{min-width:0}
.company-summary{background:#142132;color:white;padding:28px 0;border-bottom:1px solid #405064}
.company-summary .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.company-summary p{margin:0;font-size:14px;color:inherit}.company-summary a{font-size:16px;color:inherit}
/* Motion is progressive enhancement: no JS, reduced motion and print stay visible. */
html{scroll-behavior:auto}
.product .asset,.case-card,.model-card{overflow:hidden}
@media(prefers-reduced-motion:no-preference){
 html{scroll-behavior:smooth}
 .motion-reveal.motion-reveal{transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),box-shadow .2s ease;transition-delay:var(--motion-delay,0ms),var(--motion-delay,0ms),0ms}
 .motion-reveal.motion-pending{opacity:0;transform:translateY(30px)}
 .motion-reveal:not(.motion-pending){opacity:1;transform:translateY(0)}
 .motion-stat{font-variant-numeric:tabular-nums}
 @media(hover:hover) and (pointer:fine){
  .product,.model-card,.case-card,.scenario-card{box-shadow:0 2px 8px rgba(0,0,0,.06);transition:box-shadow .2s ease}
  .product:hover,.model-card:hover,.case-card:hover,.scenario-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.12)}
  .product .asset img,.model-card>img,.case-card img{transition:transform .4s ease}
  .product:hover .asset img,.model-card:hover>img,.case-card:hover img{transform:scale(1.05)}
  .btn.orange{transition:background-color .2s ease,transform .2s ease}
  .btn.orange:hover{background:#db5c28;transform:translateY(-2px)}
  nav a{position:relative}
  nav a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
  nav a:hover::after{transform:scaleX(1)}
 }
}
@media(hover:none){.btn:hover,.hero-equipment:hover,.scenario-card:hover{transform:none}.product-rail .product:hover{transform:scale(.94)}.product-rail .product.is-current:hover{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .motion-pending{opacity:1!important;transform:none!important}
 .btn:hover,.hero-equipment:hover,.scenario-card:hover,.product-rail .product,.product-rail .product:hover{transform:none!important}
}
@media print{.motion-pending{opacity:1!important;transform:none!important}}
@media(prefers-reduced-motion:no-preference) and (min-width:761px) and (hover:hover) and (pointer:fine){
 /* Keep the last scrub position: CSS snap must not pull it back after pointerleave. */
 .product-rail.hover-scrub{scroll-snap-type:none;scroll-behavior:auto;cursor:default}
}
