/* Shared page chrome and one Arabic type system. Loaded after page styles. */
.site-footer :is(p,.footer-tagline,.footer-col-title),
.site-footer a:not(.footer-logo-link) { color:#365477 !important; }
html[data-theme="dark"] .site-footer :is(p,.footer-tagline,.footer-col-title),
html[data-theme="dark"] .site-footer a:not(.footer-logo-link) { color:#c4d4e8 !important; }
.site-footer a:hover { text-decoration:underline; }
html[lang="ar"] { --font-ar: 'Cairo', sans-serif; }
html[lang="ar"] body,
html[lang="ar"] body :is(h1,h2,h3,h4,h5,h6,p,span,a,li,button,input,textarea,select,option,label,summary,strong,em,small,figcaption,dt,dd):not(.nav-logo-text):not(.footer-logo-text):not(.seo-brand):not(.port-nav-logo):not(.proj-nav-logo) {
  font-family: var(--font-ar) !important;
  letter-spacing: normal;
}
/* The Latin wordmark keeps the agency's existing identity. */
html[lang="ar"] body :is(.nav-logo-text,.footer-logo-text,.port-nav-logo span,.proj-nav-logo span,.seo-brand) {
  font-family: "Arial Rounded MT Bold", "Nunito", sans-serif !important;
}
html[lang="ar"] body :is(h1,h2,h3,h4,h5,h6) { line-height: 1.45; }
html[lang="ar"] body :is(.hero-title,.proj-title,.seo-hero h1,.port-hero h1) {
  line-height: 1.45 !important;
  letter-spacing: normal !important;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: balance;
}
html[lang="ar"] body .hero-title { font-size: clamp(2rem,4.4vw,3.6rem) !important; }
.hero-title-line { display: block; }
html[lang="ar"] body .hero-title > .hero-title-line { display:block;opacity:1;transform:none;animation:none; }
html[lang="ar"] body .hero-title-line > span { display:inline-block; }
html[lang="ar"] body .hero-title .title-dot { opacity:1;transform:none; }
html[lang="ar"] body .hero-title-line { white-space: nowrap; }
.hero-ctas { flex-wrap: wrap; row-gap: 16px; }
.hero-contact-cta { white-space: nowrap; }
.page-header-links { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:24px; }
.port-hero .page-header-links { justify-content:center; }
.proj-hero .page-header-links a { color:#fff;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(0,0,0,.22);font-size:.9rem; }
.project-language { color:var(--text-main);font-size:.9rem;text-decoration:none;min-height:44px;display:inline-flex;align-items:center; }
.proj-title { max-width: 22ch; text-wrap:balance; }
html[lang="ar"] body .proj-title { max-width:28ch;font-size:clamp(1.9rem,4.5vw,3.8rem); }
.proj-hero { min-height:380px;height:auto; }
.proj-hero-content { padding-block:56px; }
.seo-hero h1 { text-wrap:balance; }
.portfolio-contact { max-width:1000px;margin:56px auto;padding:48px 24px;text-align:center;border:1px solid var(--card-border);border-radius:24px;background:var(--bg-card); }
.portfolio-contact h2 { font-size:clamp(1.6rem,4vw,2.5rem);text-wrap:balance; }
.portfolio-contact p { max-width:640px;margin:16px auto 24px;color:var(--text-secondary);line-height:1.9; }
.portfolio-contact a { margin:8px 12px;display:inline-flex;color:var(--text-main); }
:is(.seo-nav,.port-nav,.proj-nav) a:focus-visible,.page-header-links a:focus-visible,.portfolio-contact a:focus-visible { outline:3px solid var(--brand-blue-light,#38beff);outline-offset:5px; }
@media(max-width:700px) {
  html[lang="ar"] body .hero-title { font-size:clamp(1.9rem,8vw,2.8rem) !important; }
  html[lang="ar"] body .proj-title { font-size:clamp(1.8rem,6.5vw,2.6rem); }
  .proj-hero-content { padding-block:32px; }
  .proj-hero { min-height:360px; }
  .portfolio-contact { margin:32px 20px;padding:32px 20px; }
  .page-header-links { margin-bottom:18px; }
  .seo-nav { min-height:76px;align-items:center; }
  .seo-nav-links { flex-wrap:nowrap; }
}
