/* Two complementary type roles per language, served locally with no font CDN. */
@font-face{font-family:'RAH Heading Latin';src:url('/assets/fonts/rah-heading-latin.woff2') format('woff2');font-style:normal;font-weight:500 700;font-display:swap}
@font-face{font-family:'RAH Body Latin';src:url('/assets/fonts/rah-body-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:'RAH Heading Arabic';src:url('/assets/fonts/rah-heading-arabic.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{--font-heading:'RAH Heading Latin','Segoe UI',Arial,sans-serif;--heading-section:clamp(32px,3.1vw,44px);--heading-reading:clamp(26px,2.2vw,30px)}
html[lang=en] body{font-family:'RAH Body Latin','Segoe UI',Arial,sans-serif;font-size:17px}
html[lang=ar]{--font-heading:'RAH Heading Arabic','RAH Arabic',Tahoma,sans-serif;--heading-section:clamp(30px,2.8vw,40px);--heading-reading:clamp(24px,2.1vw,28px)}
.entry-panel [lang=ar]{font-family:'RAH Arabic','Segoe UI',Tahoma,sans-serif}
body :is(h1,h2,h3,h4){font-family:var(--font-heading);font-weight:600}
html[lang=en] :is(h1,h2){letter-spacing:-.035em}
html[lang=en] :is(h3,h4){letter-spacing:-.015em}
body :is(h1,h2){text-wrap:balance}
html[lang=ar] :is(h1,h2,h3,h4){letter-spacing:normal;line-height:1.65;font-weight:600}
html[lang=ar] :is(h1,h2){text-wrap:balance}

/* Section identifiers must be legible in their own right, not miniature captions. */
main .eyebrow,main .hero .eyebrow,main .contact-invite .eyebrow,footer .eyebrow{font-size:14px;font-weight:600;line-height:1.6;letter-spacing:.075em}
html[lang=ar] main .eyebrow,html[lang=ar] footer .eyebrow{font-size:clamp(18px,1.3vw,20px);line-height:1.65;letter-spacing:normal}
html[lang=ar] main .eyebrow{margin-bottom:18px}
.card-top>span:first-child{font-size:13px;line-height:1.6}
main .case-card .eyebrow,main .case-enquiry .eyebrow{font-size:14px}
html[lang=ar] main .case-card .eyebrow{font-size:16px}
footer .footer-resources h3{font-size:15px;letter-spacing:normal;line-height:1.7}
.header nav,html[lang=ar] .header nav{font-size:16px}

/* Marketing sections, reading sections and cards have distinct visual roles.
   Scope each role explicitly so the older generic Arabic H2 rule cannot inflate
   article/service subheadings or override compact card titles. */
html[lang] main :is(.section-heading,.why-intro,.company,.story,.about-experience,.contact-invite,.vision-section,.explorer-intro) h2,
html[lang] main :is(.process,.related)>h2{font-size:var(--heading-section)}
html[lang] main :is(.detail-layout,.article-section,.article-comparison,.article-reference,.article-enquiry,.case-section,.case-enquiry,.legal-section,.legal-references) h2,
html[lang] main .article-faq>h2{font-size:var(--heading-reading)}
main .preparation-note h4{font-size:18px;line-height:1.6}

/* About only: keep the established heading face and responsive scale.
   Separate the company name from its descriptor without changing either font. */
html[lang] main .page-intro h1.about-brand{text-wrap:initial}
.about-brand-name,.about-brand-description{display:block;font:inherit;letter-spacing:inherit}
.about-brand-description{margin-top:.12em}
html[lang=ar] main .page-intro h1.about-brand{line-height:1.5}

@media(max-width:1100px){.header nav,html[lang=ar] .header nav{font-size:14px}}
@media(max-width:760px){
 :root{--heading-section:30px;--heading-reading:26px}
 html[lang=ar]{--heading-section:28px;--heading-reading:24px}
 main .eyebrow,main .hero .eyebrow,main .contact-invite .eyebrow,footer .eyebrow{font-size:14px;letter-spacing:.055em}
 html[lang=ar] main .eyebrow,html[lang=ar] footer .eyebrow{font-size:17px;letter-spacing:normal}
 .header nav,html[lang=ar] .header nav{font-size:14px}
}
@media(max-width:380px){.header nav,html[lang=ar] .header nav{font-size:13px}}
@media(min-width:360px) and (max-width:760px){
 .header nav,html[lang=ar] .header nav{display:flex;justify-content:space-between;gap:4px}
 .header nav a{white-space:nowrap;padding-inline:0;flex:none}
}
