/* Keep the catalog dividers and following headings consistently spaced. */
.page-spare-parts .parts-copy{row-gap:40px}
.page-spare-parts .parts-copy .copy-block{height:auto;margin:0;padding-bottom:32px}
.page-spare-parts .parts-copy .copy-block>:last-child{margin-bottom:0}
.page-spare-parts .parts-copy .check-list li:last-child{margin-bottom:0}
@media(max-width:600px){
  .page-spare-parts .parts-copy{row-gap:32px}
  .page-spare-parts .parts-copy .copy-block{padding-bottom:28px}
}

/* Full image compositions and stable alignment on phones and tablets. */
@media(max-width:1024px){
  .intro-grid>*,.core-grid>*,.card-grid>*,.product-mosaic>*,.team-grid>*,.values-grid>*,.footer-grid>*,.contact-grid>*,.contact-reasons>*,.detail-intro>*,.copy-layout>*{min-width:0}
  .page-hero{grid-template-columns:minmax(0,1fr);min-height:0}
  .page-hero-inner{width:min(100% - 48px,1280px);margin-inline:auto;padding:28px 0 38px}
  .page-hero h1{max-width:100%;padding-right:0;font-size:clamp(2rem,5.4vw,3.2rem)}
  .page-hero-image{height:auto;min-height:0}
  .page-hero-image img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;animation:none}
  .core-card{display:flex;flex-direction:column}
  .core-image,.card-photo,.tile-photo{height:auto;min-height:0;max-height:none;aspect-ratio:auto}
  .core-image img,.card-photo img,.tile-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
  .service-feature{grid-template-columns:minmax(0,1fr);min-height:0}
  .service-feature-photo{height:auto;min-height:0;max-height:none}
  .service-feature-photo img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
  .detail-intro{grid-template-columns:minmax(0,1fr);gap:32px}
  .detail-visual{position:static;display:block;width:100%;max-width:100%;height:auto}
  .detail-visual>img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
  .photo-caption{padding:22px 24px}
  .about-image{height:auto;max-height:none}
  .about-image img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
  .about-image:after{display:none}
  .about-image>span{position:static;display:block;max-width:none;background:var(--paper);color:var(--ink);padding:22px 24px;font-size:clamp(1.25rem,3vw,1.65rem);line-height:1.45}
  .team-photo{aspect-ratio:4/5}
  .team-photo>img{width:100%;height:100%;object-fit:contain;object-position:center}
  .service-thumb{aspect-ratio:3/2}
  .service-thumb img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}
  .core-content,.card-body,.tile-copy,.team-info,.form-panel{min-width:0}
  .core-content h3,.card-body h3,.tile-copy h3,.team-info h3{max-width:100%;overflow-wrap:break-word}
  .footer-grid a,.contact-details a{overflow-wrap:anywhere}
}
@media(max-width:850px){
  .home-hero{display:flex;flex-direction:column;min-height:0}
  .hero-background{position:relative;inset:auto;order:0;z-index:auto;display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;animation:none}
  .hero-shade{display:none}
  .hero-content{order:1;padding-top:40px;padding-bottom:36px}
  .hero-content h1{font-size:clamp(2.65rem,9vw,4.3rem);max-width:100%;line-height:1.08}
  .home-hero p{max-width:540px;margin-top:22px}
  .hero-scroll{position:static;order:2;align-self:flex-start;margin:0 32px 30px;padding:0}
  .hero-bottom-label{display:none}
  .product-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile-copy{min-height:140px}
  .service-feature-copy{padding:46px 32px}
}
@media(max-width:600px){
  .container{width:calc(100% - 40px)}
  .page-hero-inner{width:calc(100% - 40px)}
  .page-hero .eyebrow{margin-top:22px}
  .hero-content{padding-top:34px;padding-bottom:30px}
  .home-hero h1{font-size:clamp(2.65rem,11vw,3.65rem)}
  .home-hero p{font-size:16px;line-height:1.8;max-width:100%}
  .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .hero-actions .button{width:100%;min-height:50px;padding:12px 10px;font-size:12px}
  .hero-footnote{max-width:100%;line-height:1.65}
  .hero-scroll{margin-inline:20px;margin-bottom:27px}
  .tile-copy{padding:22px;min-height:132px}
  .tile-copy h3{font-size:20px;line-height:1.3;margin-top:18px;max-width:none}
  .service-feature-copy{padding:40px 20px}
  .service-links a{align-items:center;gap:16px;min-width:0}
  .service-links a>span:last-child{min-width:0;flex:1;font-size:14px}
  .service-thumb{flex:0 0 88px}
  .detail-visual .photo-caption,.about-image>span{padding:20px}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-panel{padding:26px 22px}
  .enquiry-form input,.enquiry-form textarea{max-width:100%}
  .closing-inner{min-width:0}
}
@media(max-width:480px){
  .product-mosaic{grid-template-columns:minmax(0,1fr)}
  .tile-copy{min-height:116px}
  .tile-copy h3{max-width:calc(100% - 30px)}
}
@media(max-width:360px){
  .hero-actions{grid-template-columns:minmax(0,1fr)}
  .team-grid{grid-template-columns:minmax(0,1fr)}
  .topbar-inner{font-size:10px;gap:8px}
}
@media(hover:none),(pointer:coarse){
  .core-card,.solution-card,.product-tile,.core-card:hover,.solution-card:hover,.product-tile:hover{transform:none;--lift:0px}
  .core-card:hover .core-image img,.solution-card:hover .card-photo img,.product-tile:hover .tile-photo img,.service-links a:hover .service-thumb img,.team-card:hover .team-photo>img{transform:none;filter:none}
}
