/* =========================================================
   HIC MAKEUP CALIBRATION — careful component-level pass
   Scope: image hygiene, optical spacing, and section rhythm.
   No global color/theme reset. No rebuild. No universal text scaling.
   ========================================================= */

/* ---------- Shared optical rhythm ---------- */
.site-header,
body.profile-en .nav,
body.profile-ar .nav{
  min-height:76px;
}

body:not(.profile-en):not(.profile-ar) .nav,
body:not(.profile-en):not(.profile-ar) .site-header{
  font-size:12px;
}

/* Homepage: measured content rhythm, not global section reset */
body:not(.profile-en):not(.profile-ar) .hero-grid{
  gap:clamp(36px,5vw,64px);
}
body:not(.profile-en):not(.profile-ar) .cta-row{
  margin-top:clamp(26px,3vw,36px);
}
body:not(.profile-en):not(.profile-ar) .section-head{
  margin-bottom:clamp(34px,4vw,48px);
}
body:not(.profile-en):not(.profile-ar) .grid-3,
body:not(.profile-en):not(.profile-ar) .grid-2{
  gap:clamp(18px,2vw,26px);
}
body:not(.profile-en):not(.profile-ar) .card,
body:not(.profile-en):not(.profile-ar) .cap,
body:not(.profile-en):not(.profile-ar) .metric{
  padding:clamp(24px,2.4vw,32px);
}
body:not(.profile-en):not(.profile-ar) .image-frame,
body:not(.profile-en):not(.profile-ar) .visual{
  overflow:hidden;
}

/* ---------- Profile pages: section-by-section layout calibration ---------- */
body.profile-en .container,
body.profile-ar .container{
  max-width:1240px;
}
body.profile-en .hero,
body.profile-ar .hero{
  padding-bottom:clamp(70px,8vw,96px);
}
body.profile-en .hero-inner,
body.profile-ar .hero-inner{
  max-width:940px;
}
body.profile-en .hero-tags,
body.profile-ar .hero-tags{
  gap:8px;
  margin-top:clamp(24px,2.8vw,32px);
}
body.profile-en .hero-tags span,
body.profile-ar .hero-tags span{
  padding:8px 11px;
}

body.profile-en .light,
body.profile-ar .light{
  padding-top:clamp(76px,8vw,108px);
  padding-bottom:clamp(76px,8vw,108px);
}
body.profile-en .light .split,
body.profile-ar .light .split{
  gap:clamp(40px,5vw,64px);
}
body.profile-en .light .grid-2,
body.profile-ar .light .grid-2{
  gap:22px;
}

body.profile-en .positioning,
body.profile-ar .positioning{
  padding-top:clamp(70px,7vw,96px);
  padding-bottom:clamp(70px,7vw,100px);
}
body.profile-en .positioning .panel,
body.profile-ar .positioning .panel{
  padding:clamp(34px,4.6vw,58px);
  border-radius:28px;
}
body.profile-en .positioning .lead,
body.profile-ar .positioning .lead{
  max-width:860px;
}

body.profile-en #services .section-head,
body.profile-ar #services .section-head{
  margin-bottom:clamp(34px,4vw,46px);
}
body.profile-en #services .grid-3,
body.profile-ar #services .grid-3{
  gap:clamp(18px,2vw,24px);
}
body.profile-en #services .card,
body.profile-ar #services .card{
  min-height:218px;
  padding:clamp(26px,2.4vw,32px);
}

body.profile-en .asphalt .section-head,
body.profile-ar .asphalt .section-head,
body.profile-en .materials-clean-section .section-head,
body.profile-ar .materials-clean-section .section-head,
body.profile-en .urban-finishing .section-head,
body.profile-ar .urban-finishing .section-head,
body.profile-en .fleet-final-section .section-head,
body.profile-ar .fleet-final-section .section-head{
  margin-bottom:clamp(34px,4vw,50px);
}
body.profile-en .asphalt-hero,
body.profile-ar .asphalt-hero,
body.profile-en .asphalt-hero-new,
body.profile-ar .asphalt-hero-new{
  border-radius:28px;
}
body.profile-en .asphalt-grid,
body.profile-ar .asphalt-grid,
body.profile-en .materials-clean-grid,
body.profile-ar .materials-clean-grid,
body.profile-en .fleet-final-grid,
body.profile-ar .fleet-final-grid{
  gap:clamp(18px,2vw,24px);
}
body.profile-en .materials-clean-card,
body.profile-ar .materials-clean-card,
body.profile-en .fleet-final-card,
body.profile-ar .fleet-final-card,
body.profile-en .urban-service-card,
body.profile-ar .urban-service-card{
  border-radius:22px;
}
body.profile-en .materials-clean-content,
body.profile-ar .materials-clean-content,
body.profile-en .fleet-final-body,
body.profile-ar .fleet-final-body,
body.profile-en .urban-service-card,
body.profile-ar .urban-service-card{
  padding:clamp(22px,2.4vw,30px);
}

body.profile-en .urban-service-cards,
body.profile-ar .urban-service-cards{
  gap:clamp(16px,1.8vw,22px);
}
body.profile-en .trust .section-head,
body.profile-ar .trust .section-head{
  margin-bottom:clamp(30px,3.5vw,44px);
}
body.profile-en .client-logo-grid,
body.profile-ar .client-logo-grid{
  gap:1px;
}
body.profile-en .client-logo,
body.profile-ar .client-logo{
  min-height:128px;
  padding:24px;
}
body.profile-en .client-logo img,
body.profile-ar .client-logo img{
  max-height:64px;
  max-width:154px;
}

body.profile-en .closing,
body.profile-ar .closing{
  padding-top:clamp(76px,8vw,112px);
  padding-bottom:clamp(76px,8vw,112px);
}
body.profile-en .closing-box,
body.profile-ar .closing-box{
  max-width:980px;
}
body.profile-en .site-footer,
body.profile-ar .site-footer{
  padding-top:clamp(44px,5vw,64px);
}

/* ---------- Fine typography rhythm by component ---------- */
body.profile-en .section-head p,
body.profile-en .panel p,
body.profile-en .card p,
body.profile-en .materials-clean-desc,
body.profile-en .fleet-final-body p,
body.profile-en .urban-service-card p{
  max-width:72ch;
}
body.profile-ar .section-head p,
body.profile-ar .panel p,
body.profile-ar .card p,
body.profile-ar .materials-clean-desc,
body.profile-ar .fleet-final-body p,
body.profile-ar .urban-service-card p{
  max-width:76ch;
}
body.profile-ar .card h3,
body.profile-ar .materials-clean-title,
body.profile-ar .fleet-final-body h3,
body.profile-ar .urban-service-card h4{
  margin-bottom:10px;
}
body.profile-en .card h3,
body.profile-en .materials-clean-title,
body.profile-en .fleet-final-body h3,
body.profile-en .urban-service-card h4{
  margin-bottom:10px;
}

/* ---------- Image hygiene and crop behavior ---------- */
body.profile-en .asphalt-hero,
body.profile-ar .asphalt-hero,
body.profile-en .asphalt-card,
body.profile-ar .asphalt-card,
body.profile-en .asphalt-hero-new,
body.profile-ar .asphalt-hero-new,
body.profile-en .equip-photo,
body.profile-ar .equip-photo,
body.profile-en .fleet-final-image,
body.profile-ar .fleet-final-image,
body:not(.profile-en):not(.profile-ar) .image-frame,
body:not(.profile-en):not(.profile-ar) .visual{
  background-position:center center;
  background-size:cover;
}

body.profile-en .asphalt-card-3,
body.profile-ar .asphalt-card-3{
  background-position:center 42%;
}
body.profile-en .equip-photo,
body.profile-ar .equip-photo{
  background-position:center 48%;
}

@media(max-width:1050px){
  body.profile-en .container,
  body.profile-ar .container{width:min(100% - 40px,1240px)}
  body.profile-en .grid-3,
  body.profile-ar .grid-3,
  body.profile-en .grid-2,
  body.profile-ar .grid-2{gap:20px}
  body.profile-en .client-logo,
  body.profile-ar .client-logo{min-height:112px}
}
@media(max-width:620px){
  body.profile-en .container,
  body.profile-ar .container{width:min(100% - 28px,1240px)}
  body.profile-en .hero,
  body.profile-ar .hero{padding-bottom:58px}
  body.profile-en .hero-tags,
  body.profile-ar .hero-tags{gap:7px;margin-top:22px}
  body.profile-en .hero-tags span,
  body.profile-ar .hero-tags span{padding:7px 9px}
  body.profile-en .positioning .panel,
  body.profile-ar .positioning .panel{padding:26px;border-radius:22px}
  body.profile-en #services .card,
  body.profile-ar #services .card{min-height:0;padding:24px}
  body.profile-en .client-logo,
  body.profile-ar .client-logo{min-height:96px;padding:18px}
}
