/* ─── GOOGLE FONTS ─── */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&family=Inter:wght@400;500;600&family=Tajawal:wght@400;500;700&family=JetBrains+Mono:wght@400;500&display=swap');

/* ─── BASE ─── */
body {
    font-family: var(--pb-font-body);
    font-size: var(--pb-text-base);
    font-weight: var(--pb-weight-regular);
    line-height: var(--pb-leading-normal);
    color: var(--pb-gray-900);
    background-color: var(--pb-gray-50);
}

/* ─── HEADINGS ─── */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--pb-font-display);
    font-weight: var(--pb-weight-bold);
    line-height: var(--pb-leading-tight);
    color: var(--pb-black);
}

h1 { font-size: var(--pb-text-4xl); }
h2 { font-size: var(--pb-text-3xl); }
h3 { font-size: var(--pb-text-2xl); }
h4 { font-size: var(--pb-text-xl); }
h5 { font-size: var(--pb-text-lg); }
h6 { font-size: var(--pb-text-base); }

@media (min-width: 1024px) {
    h1 { font-size: var(--pb-text-6xl); }
    h2 { font-size: var(--pb-text-5xl); }
    h3 { font-size: var(--pb-text-4xl); }
    h4 { font-size: var(--pb-text-3xl); }
    h5 { font-size: var(--pb-text-2xl); }
    h6 { font-size: var(--pb-text-xl); }
}

/* ─── BODY COPY ─── */
p {
    font-size: var(--pb-text-base);
    line-height: var(--pb-leading-relaxed);
    color: var(--pb-gray-700);
    margin-bottom: var(--pb-space-4);
}

p:last-child { margin-bottom: 0; }

/* ─── LINKS ─── */
a {
    color: var(--pb-blue-dark);
    transition: color var(--pb-transition-fast);
}

a:hover { color: var(--pb-navy); }

/* ─── DISPLAY (hero-level) — fluid clamp scale ─── */
.display-xl {
    font-family: var(--pb-font-display);
    font-size: clamp(2.25rem, 5.5vw, 4.5rem);
    font-weight: 900;
    line-height: var(--pb-leading-tight);
    letter-spacing: -0.025em;
}

/* ─── SECTION TITLES — fluid clamp scale ─── */
.section-title {
    font-family: var(--pb-font-display);
    font-size: clamp(1.875rem, 3vw, 2.5rem);
    font-weight: var(--pb-weight-bold);
    color: var(--pb-black);
    margin-bottom: var(--pb-space-4);
}

.section-subtitle {
    font-size: var(--pb-text-lg);
    color: var(--pb-gray-700);
    line-height: var(--pb-leading-relaxed);
    max-width: 65ch;
}

/* ─── OVERLINE / EYEBROW ─── */
.overline {
    font-family: var(--pb-font-body);
    font-size: var(--pb-text-sm);
    font-weight: var(--pb-weight-semibold);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pb-blue-dark);
}

/* Section-level overline — used across homepage, about, sectors, and service pages.
   Defined globally here so all pages have it regardless of which page-CSS loads. */
.section-overline {
    display: block;
    font-family: var(--pb-font-body);
    font-weight: var(--pb-weight-semibold);
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--pb-blue-dark);
    margin-bottom: var(--pb-space-3);
}

/* ─── LEAD TEXT ─── */
.text-lead {
    font-size: var(--pb-text-xl);
    line-height: var(--pb-leading-relaxed);
    font-weight: var(--pb-weight-medium);
    color: var(--pb-gray-700);
}

/* ─── MONO / TAGS ─── */
code, .tag-text {
    font-family: var(--pb-font-mono);
    font-size: var(--pb-text-sm);
    background-color: var(--pb-gray-100);
    padding: 0.1em 0.4em;
    border-radius: var(--pb-radius-sm);
}

/* ─── ARABIC OVERRIDE ─── */
[lang="ar"],
[dir="rtl"],
.lang-ar {
    font-family: var(--pb-font-arabic);
    direction: rtl;
    text-align: right;
}

/* ─── UTILITY CLASSES ─── */
.text-white   { color: var(--pb-white); }
.text-navy    { color: var(--pb-navy); }
.text-blue    { color: var(--pb-blue-dark); }
.text-muted   { color: var(--pb-gray-500); }
.text-center  { text-align: center; }
.text-left    { text-align: left; }
.font-bold    { font-weight: var(--pb-weight-bold); }
.font-black   { font-weight: var(--pb-weight-black); }
.font-medium  { font-weight: var(--pb-weight-medium); }
