/* Homepage media hierarchy: broad scenes, complete product profiles, compact projects. */
body.home{
    --home-section-space:clamp(44px,4.5vw,68px);
    --home-grid-gap:clamp(18px,2vw,26px);
}
body.home :is(.home-scenes,.products,.home-door-showcase,.reference-details,.service-showcase,.solution-feature,.home-project-showcase){
    padding-top:var(--home-section-space);
    padding-bottom:var(--home-section-space);
}
body.home :is(.home-scenes-heading h2,.home-project-heading h2,.reference-details .section-heading h2,.solution-feature .section-heading h2){
    font-size:clamp(32px,3.4vw,54px);
    line-height:1.15;
}
body.home .home-scenes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--home-grid-gap)}
body.home .home-scene{grid-template-rows:auto 1fr;align-content:start}
body.home .home-scene-sliding{grid-row:auto;grid-column:auto}
body.home .home-scene-photo{aspect-ratio:16/10}
body.home .home-scene-photo img,
body.home .home-scene-sliding .home-scene-photo img{position:static;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
body.home .home-scene-caption{align-items:baseline;padding-top:16px}
body.home .home-scene-caption h3{font-size:clamp(19px,1.6vw,24px)}
body.home .home-scenes-actions{margin-top:28px}

/* Product cutaways remain fully visible inside a consistent presentation area. */
body.home :is(#products,#door-systems) .product-image-button{position:relative;display:block;width:100%;height:clamp(240px,23vw,330px);overflow:hidden}
body.home :is(#products,#door-systems) .product-image-button img{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;aspect-ratio:auto;object-fit:contain}
body.home .reference-details .detail-cards{gap:var(--home-grid-gap)}
body.home .reference-details .detail-cards img{aspect-ratio:16/10;object-fit:cover}
body.home .reference-details .detail-cards h3{font-size:clamp(21px,1.8vw,28px);line-height:1.35}
body.home .solution-grid{gap:24px}
body.home .solution-card img{height:clamp(170px,16vw,230px);width:100%;aspect-ratio:auto;object-fit:cover}

/* Aerial photography keeps its scale; supporting factory pictures are quieter. */
body.home .enggia-factory-showcase{margin-top:20px;padding-top:var(--home-section-space)}
body.home .efs-intro h2{font-size:clamp(38px,4vw,62px)}
body.home .efs-slide>.efs-photo{aspect-ratio:2.3;max-height:560px}
body.home .efs-scenes{gap:var(--home-grid-gap);margin-top:32px;margin-bottom:40px}
body.home .efs-scenes .efs-photo{height:clamp(240px,24vw,360px)}
body.home .service-card{height:clamp(430px,38vw,560px)}
body.home .service-caption{left:22px;right:20px;bottom:26px}
body.home .service-caption h3{font-size:clamp(24px,2vw,34px)}

body.home .home-project-heading{gap:32px;margin-bottom:30px}
body.home .home-project-heading>div{max-width:820px}
body.home .home-project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 22px;align-items:start}
body.home .home-project-grid .project-card>a:first-child{aspect-ratio:4/3;isolation:isolate}
body.home .home-project-grid .project-card img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
body.home .home-project-grid .project-card h3{font-size:clamp(18px,1.35vw,22px);line-height:1.4;margin:13px 0 6px;overflow-wrap:anywhere}
body.home .home-project-grid .project-card p{font-size:12px;line-height:1.55;margin-bottom:0}
body.home .about-photo{align-self:center;max-height:520px;overflow:hidden}
body.home .about-photo>img{height:100%;max-height:520px;object-fit:cover}

@media(max-width:1100px){
    body.home .home-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}
    body.home .service-card{height:clamp(390px,48vw,470px)}
}
@media(max-width:820px){
    body.home .home-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
    body.home .home-scenes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    body.home .home-scene-sliding{grid-column:1/-1}
    body.home .home-scene-sliding .home-scene-photo{aspect-ratio:2/1;max-height:320px}
    body.home :is(#products,#door-systems) .product-image-button{height:clamp(210px,32vw,285px)}
    body.home .efs-slide>.efs-photo{aspect-ratio:1.8}
    body.home .efs-scenes .efs-photo{height:260px}
}
@media(max-width:640px){
    body.home .home-scenes-grid{grid-template-columns:1fr;gap:26px}
    body.home .home-scene-sliding{grid-column:auto}
    body.home .home-scene-photo,body.home .home-scene-sliding .home-scene-photo{aspect-ratio:16/10;max-height:none}
    body.home .home-project-heading{margin-bottom:26px}
    body.home .home-project-heading>.text-link{margin-top:16px}
    body.home .home-project-grid{gap:26px 16px}
    body.home .home-project-grid .project-card h3{font-size:19px}
    body.home .service-card{height:440px}
    body.home .service-caption h3{font-size:30px}
    body.home .solution-card img{height:auto;aspect-ratio:16/10}
    body.home .efs-scenes .efs-photo{height:auto;aspect-ratio:3/2}
    body.home .efs-slide>.efs-photo{aspect-ratio:1.5}
    body.home .about-photo,body.home .about-photo>img{max-height:380px}
}
@media(max-width:540px){
    body.home .home-project-grid{grid-template-columns:1fr}
    body.home .home-project-grid .project-card img{aspect-ratio:4/3}
    body.home :is(#products,#door-systems) .product-image-button{height:280px}
}
