/* =========================================================
   HIC TYPE SCALE CALIBRATION — component-level only
   Purpose: tune text scale and font pairing without changing
   colors, imagery, overlays, layout structure, or section flow.
   ========================================================= */

/* ---------- Font governance ---------- */
html[lang="en"] body,
html[lang="en"] p,
html[lang="en"] .lead,
html[lang="en"] .copy,
html[lang="en"] .card p,
html[lang="en"] .materials-clean-desc,
html[lang="en"] .fleet-final-body p,
html[lang="en"] .urban-service-card p,
html[lang="en"] .asphalt-hero-copy p,
html[lang="en"] .footer-links,
html[lang="en"] .footer-bottom{
  font-family:Raleway,Inter,Arial,sans-serif!important;
  font-weight:400!important;
}
html[lang="en"] .hero h1,
html[lang="en"] h1,
html[lang="en"] h2,
html[lang="en"] h3,
html[lang="en"] h4,
html[lang="en"] .display,
html[lang="en"] .section-head h2,
html[lang="en"] .panel h2,
html[lang="en"] .card h3,
html[lang="en"] .asphalt-overlay h3,
html[lang="en"] .asphalt-hero-copy h2,
html[lang="en"] .materials-clean-title,
html[lang="en"] .fleet-final-body h3,
html[lang="en"] .urban-service-card h4,
html[lang="en"] .closing h2,
html[lang="en"] .contact-final h2{
  font-family:Inter,Raleway,Arial,sans-serif!important;
  font-weight:500!important;
}
html[lang="ar"] body,
html[lang="ar"] body *{
  font-family:Alexandria,Tahoma,Arial,sans-serif!important;
}

/* ---------- English homepage scale ---------- */
html[lang="en"] body:not(.profile-en) .hero h1{
  font-size:clamp(40px,5.2vw,68px)!important;
  line-height:1.07!important;
  letter-spacing:-.038em!important;
  max-width:860px!important;
}
html[lang="en"] body:not(.profile-en) .hero .lead{
  font-size:clamp(16.5px,1.45vw,19px)!important;
  line-height:1.82!important;
  max-width:760px!important;
}
html[lang="en"] body:not(.profile-en) .display{
  font-size:clamp(30px,3.4vw,46px)!important;
  line-height:1.18!important;
  letter-spacing:-.032em!important;
}
html[lang="en"] body:not(.profile-en) .cap h3{
  font-size:clamp(20px,1.8vw,24px)!important;
  line-height:1.32!important;
}
html[lang="en"] body:not(.profile-en) .cap p,
html[lang="en"] body:not(.profile-en) .copy,
html[lang="en"] body:not(.profile-en) .wide-copy p,
html[lang="en"] body:not(.profile-en) .metric p{
  font-size:clamp(15px,1.12vw,17px)!important;
  line-height:1.78!important;
}
html[lang="en"] body:not(.profile-en) .visual-break h2,
html[lang="en"] body:not(.profile-en) .closing h2{
  font-size:clamp(32px,4.2vw,56px)!important;
  line-height:1.12!important;
  letter-spacing:-.038em!important;
}
html[lang="en"] body:not(.profile-en) .metric-intro h2,
html[lang="en"] body:not(.profile-en) .wide-copy h2{
  font-size:clamp(28px,3vw,40px)!important;
  line-height:1.18!important;
}
html[lang="en"] body:not(.profile-en) .contact-final h2{
  font-size:clamp(32px,4.4vw,58px)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
}

/* ---------- Arabic homepage scale beyond hero ---------- */
html[lang="ar"] body:not(.profile-ar) .hero h1{
  font-size:clamp(36px,4.9vw,62px)!important;
  line-height:1.18!important;
  font-weight:500!important;
  letter-spacing:-.006em!important;
  max-width:900px!important;
}
html[lang="ar"] body:not(.profile-ar) .hero .lead{
  font-size:clamp(16px,1.45vw,19px)!important;
  line-height:1.9!important;
  max-width:790px!important;
}
html[lang="ar"] body:not(.profile-ar) .display{
  font-size:clamp(28px,3.2vw,42px)!important;
  line-height:1.28!important;
  font-weight:500!important;
  letter-spacing:-.006em!important;
}
html[lang="ar"] body:not(.profile-ar) .cap h3{
  font-size:clamp(20px,1.9vw,25px)!important;
  line-height:1.42!important;
  font-weight:500!important;
}
html[lang="ar"] body:not(.profile-ar) .copy,
html[lang="ar"] body:not(.profile-ar) .cap p,
html[lang="ar"] body:not(.profile-ar) .wide-copy p,
html[lang="ar"] body:not(.profile-ar) .metric p{
  font-size:clamp(15.5px,1.18vw,17.5px)!important;
  line-height:1.92!important;
}
html[lang="ar"] body:not(.profile-ar) .visual-break h2,
html[lang="ar"] body:not(.profile-ar) .closing h2{
  font-size:clamp(30px,4vw,52px)!important;
  line-height:1.25!important;
  font-weight:500!important;
  letter-spacing:-.006em!important;
}
html[lang="ar"] body:not(.profile-ar) .metric-intro h2,
html[lang="ar"] body:not(.profile-ar) .wide-copy h2{
  font-size:clamp(26px,2.8vw,38px)!important;
  line-height:1.32!important;
  font-weight:500!important;
}
html[lang="ar"] body:not(.profile-ar) .contact-final h2{
  font-size:clamp(30px,4vw,52px)!important;
  line-height:1.18!important;
  font-weight:500!important;
  letter-spacing:-.006em!important;
}
html[lang="ar"] body:not(.profile-ar) .contact-final p{
  font-size:clamp(15.5px,1.2vw,17.5px)!important;
  line-height:1.92!important;
}

/* ---------- English profile: reduced, component-specific scale ---------- */
html[lang="en"] body.profile-en .hero h1{
  font-size:clamp(42px,5.1vw,72px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  max-width:900px!important;
}
html[lang="en"] body.profile-en .hero .lead{
  font-size:clamp(16.5px,1.35vw,19px)!important;
  line-height:1.75!important;
  max-width:700px!important;
}
html[lang="en"] body.profile-en .hero-tags span{
  font-size:12px!important;
  line-height:1.25!important;
  padding:8px 12px!important;
}
html[lang="en"] body.profile-en .section-head h2,
html[lang="en"] body.profile-en .panel h2{
  font-size:clamp(30px,3.25vw,44px)!important;
  line-height:1.15!important;
  letter-spacing:-.032em!important;
  max-width:820px!important;
}
html[lang="en"] body.profile-en .section-head .lead,
html[lang="en"] body.profile-en .panel .lead{
  font-size:clamp(16px,1.25vw,18px)!important;
  line-height:1.78!important;
  max-width:780px!important;
}
html[lang="en"] body.profile-en .card h3{
  font-size:clamp(19px,1.55vw,23px)!important;
  line-height:1.28!important;
  letter-spacing:-.015em!important;
}
html[lang="en"] body.profile-en .card p{
  font-size:clamp(14.5px,1.05vw,16px)!important;
  line-height:1.72!important;
}
html[lang="en"] body.profile-en .asphalt-overlay h3{
  font-size:clamp(34px,3.8vw,54px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
html[lang="en"] body.profile-en .asphalt-card-content strong{
  font-size:clamp(20px,1.8vw,24px)!important;
  line-height:1.18!important;
}
html[lang="en"] body.profile-en .asphalt-hero-copy h2{
  font-size:clamp(32px,3.5vw,50px)!important;
  line-height:1.1!important;
  letter-spacing:-.032em!important;
}
html[lang="en"] body.profile-en .asphalt-hero-copy p{
  font-size:clamp(15px,1.12vw,16.5px)!important;
  line-height:1.75!important;
}
html[lang="en"] body.profile-en .merged-workflow-title,
html[lang="en"] body.profile-en .workflow-step h3{
  font-size:clamp(19px,1.45vw,22px)!important;
  line-height:1.3!important;
}
html[lang="en"] body.profile-en .materials-clean-title{
  font-size:clamp(22px,1.9vw,30px)!important;
  line-height:1.24!important;
  letter-spacing:-.018em!important;
}
html[lang="en"] body.profile-en .materials-clean-desc,
html[lang="en"] body.profile-en .materials-clean-note{
  font-size:clamp(14.5px,1.05vw,15.8px)!important;
  line-height:1.72!important;
}
html[lang="en"] body.profile-en .urban-service-card h4{
  font-size:clamp(18px,1.45vw,21px)!important;
  line-height:1.28!important;
}
html[lang="en"] body.profile-en .urban-service-card p{
  font-size:clamp(14.5px,1.05vw,15.8px)!important;
  line-height:1.72!important;
}
html[lang="en"] body.profile-en .fleet-final-body h3{
  font-size:clamp(20px,1.65vw,24px)!important;
  line-height:1.3!important;
}
html[lang="en"] body.profile-en .fleet-final-body p,
html[lang="en"] body.profile-en .fleet-final-note{
  font-size:clamp(14.5px,1.05vw,15.8px)!important;
  line-height:1.72!important;
}
html[lang="en"] body.profile-en .closing h2{
  font-size:clamp(34px,4.2vw,58px)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
}
html[lang="en"] body.profile-en .footer-links,
html[lang="en"] body.profile-en .footer-bottom{
  font-size:12px!important;
}

/* ---------- Arabic profile: apply calibrated scale to every Arabic profile section ---------- */
html[lang="ar"] body.profile-ar .hero h1{
  font-size:clamp(38px,5.2vw,66px)!important;
  line-height:1.18!important;
  font-weight:500!important;
  letter-spacing:-.006em!important;
  max-width:920px!important;
}
html[lang="ar"] body.profile-ar .hero .lead{
  font-size:clamp(16px,1.45vw,19px)!important;
  line-height:1.9!important;
  max-width:780px!important;
}
html[lang="ar"] body.profile-ar .hero-tags span{
  font-size:12px!important;
  line-height:1.45!important;
  padding:8px 12px!important;
}
html[lang="ar"] body.profile-ar .section-head h2,
html[lang="ar"] body.profile-ar .panel h2{
  font-size:clamp(28px,3.15vw,42px)!important;
  line-height:1.3!important;
  font-weight:500!important;
  letter-spacing:-.006em!important;
  max-width:840px!important;
}
html[lang="ar"] body.profile-ar .section-head .lead,
html[lang="ar"] body.profile-ar .panel .lead{
  font-size:clamp(15.8px,1.25vw,18px)!important;
  line-height:1.92!important;
  max-width:820px!important;
}
html[lang="ar"] body.profile-ar .card h3{
  font-size:clamp(20px,1.85vw,25px)!important;
  line-height:1.42!important;
  font-weight:500!important;
}
html[lang="ar"] body.profile-ar .card p{
  font-size:clamp(15px,1.12vw,16.5px)!important;
  line-height:1.9!important;
}
html[lang="ar"] body.profile-ar .asphalt-overlay h3{
  font-size:clamp(30px,3.5vw,48px)!important;
  line-height:1.24!important;
  font-weight:500!important;
  letter-spacing:-.006em!important;
}
html[lang="ar"] body.profile-ar .asphalt-card-content strong{
  font-size:clamp(19px,1.75vw,23px)!important;
  line-height:1.35!important;
  font-weight:500!important;
}
html[lang="ar"] body.profile-ar .asphalt-hero-copy h2{
  font-size:clamp(30px,3.3vw,46px)!important;
  line-height:1.26!important;
  font-weight:500!important;
  letter-spacing:-.006em!important;
}
html[lang="ar"] body.profile-ar .asphalt-hero-copy p{
  font-size:clamp(15px,1.12vw,16.5px)!important;
  line-height:1.9!important;
}
html[lang="ar"] body.profile-ar .merged-workflow-title,
html[lang="ar"] body.profile-ar .workflow-step h3{
  font-size:clamp(19px,1.55vw,23px)!important;
  line-height:1.42!important;
  font-weight:500!important;
}
html[lang="ar"] body.profile-ar .materials-clean-title{
  font-size:clamp(22px,1.95vw,30px)!important;
  line-height:1.36!important;
  font-weight:500!important;
}
html[lang="ar"] body.profile-ar .materials-clean-desc,
html[lang="ar"] body.profile-ar .materials-clean-note{
  font-size:clamp(15px,1.08vw,16px)!important;
  line-height:1.9!important;
}
html[lang="ar"] body.profile-ar .urban-service-card h4{
  font-size:clamp(18px,1.45vw,22px)!important;
  line-height:1.42!important;
  font-weight:500!important;
}
html[lang="ar"] body.profile-ar .urban-service-card p{
  font-size:clamp(15px,1.08vw,16px)!important;
  line-height:1.9!important;
}
html[lang="ar"] body.profile-ar .fleet-final-body h3{
  font-size:clamp(20px,1.65vw,24px)!important;
  line-height:1.42!important;
  font-weight:500!important;
}
html[lang="ar"] body.profile-ar .fleet-final-body p,
html[lang="ar"] body.profile-ar .fleet-final-note{
  font-size:clamp(15px,1.08vw,16px)!important;
  line-height:1.9!important;
}
html[lang="ar"] body.profile-ar .closing h2{
  font-size:clamp(32px,4vw,56px)!important;
  line-height:1.25!important;
  font-weight:500!important;
  letter-spacing:-.006em!important;
}
html[lang="ar"] body.profile-ar .footer-links,
html[lang="ar"] body.profile-ar .footer-bottom{
  font-size:12px!important;
  line-height:1.8!important;
}
html[lang="ar"] body.profile-ar .kicker,
html[lang="ar"] body.profile-ar .eyebrow,
html[lang="ar"] body.profile-ar .nav-links a,
html[lang="ar"] body.profile-ar .nav-actions a,
html[lang="ar"] body.profile-ar .num,
html[lang="ar"] body.profile-ar .materials-clean-index,
html[lang="ar"] body.profile-ar .fleet-final-index{
  letter-spacing:0!important;
  font-weight:400!important;
}

/* ---------- Responsive calibration ---------- */
@media(max-width:1050px){
  html[lang="en"] body.profile-en .hero h1{font-size:clamp(38px,8.5vw,58px)!important;line-height:1.04!important;}
  html[lang="en"] body.profile-en .section-head h2,
  html[lang="en"] body.profile-en .panel h2{font-size:clamp(28px,5.4vw,38px)!important;}
  html[lang="ar"] body.profile-ar .hero h1{font-size:clamp(34px,8vw,48px)!important;line-height:1.22!important;}
  html[lang="ar"] body.profile-ar .section-head h2,
  html[lang="ar"] body.profile-ar .panel h2{font-size:clamp(26px,5.8vw,38px)!important;}
}
@media(max-width:620px){
  html[lang="en"] body:not(.profile-en) .hero h1{font-size:clamp(34px,10vw,42px)!important;line-height:1.1!important;}
  html[lang="en"] body:not(.profile-en) .display{font-size:clamp(27px,7vw,34px)!important;}
  html[lang="en"] body.profile-en .hero h1{font-size:clamp(34px,10vw,42px)!important;line-height:1.08!important;}
  html[lang="en"] body.profile-en .section-head h2,
  html[lang="en"] body.profile-en .panel h2{font-size:clamp(26px,7.2vw,34px)!important;line-height:1.16!important;}
  html[lang="en"] body.profile-en .asphalt-overlay h3,
  html[lang="en"] body.profile-en .asphalt-hero-copy h2,
  html[lang="en"] body.profile-en .closing h2{font-size:clamp(28px,8vw,38px)!important;}

  html[lang="ar"] body:not(.profile-ar) .hero h1{font-size:clamp(30px,9.5vw,38px)!important;line-height:1.23!important;}
  html[lang="ar"] body:not(.profile-ar) .display{font-size:clamp(25px,7vw,33px)!important;line-height:1.32!important;}
  html[lang="ar"] body.profile-ar .hero h1{font-size:clamp(30px,9.5vw,38px)!important;line-height:1.24!important;}
  html[lang="ar"] body.profile-ar .section-head h2,
  html[lang="ar"] body.profile-ar .panel h2{font-size:clamp(25px,7vw,33px)!important;line-height:1.32!important;}
  html[lang="ar"] body.profile-ar .asphalt-overlay h3,
  html[lang="ar"] body.profile-ar .asphalt-hero-copy h2,
  html[lang="ar"] body.profile-ar .closing h2{font-size:clamp(27px,8vw,36px)!important;line-height:1.28!important;}
}
