/* Shared refinements: retain the existing dark/blue identity and light theme. */
:root { --text-muted: #94a3b8; }
[data-theme="light"] { --text-muted: #475569; }
.section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.section-header { margin-bottom: 2.5rem; }
.util-btn.lang-btn { width: auto; min-width: 48px; padding-inline: .75rem; border-radius: var(--radius-pill); font-size: .8125rem; }
html[lang="ar"] .hero-company-name .brand-name-en,
html[lang="ar"] .hero-company-name .brand-sub-en { font-family: var(--font-arabic); letter-spacing: 0; }
html[lang="ar"] .project-card-title { line-height: 1.6; }
.about-lead-p, .agency-card-desc, .activity-card-desc, .lightbox-scope-text { font-size: 1rem; line-height: 1.85; }
.stat-label, .form-label, .agency-card-sub, .filter-btn { font-size: .875rem; }
.portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-items: stretch; }
.project-card { min-width: 0; }
.project-img-box { height: auto; aspect-ratio: 16 / 10; background: var(--bg-tertiary); }
.project-card-info { padding: clamp(1.15rem, 2vw, 1.75rem); }
.project-card-title { font-size: clamp(1.15rem, 1.7vw, 1.4rem); line-height: 1.6; }
.project-card-scope { font-size: 1rem; line-height: 1.8; display: block; overflow: visible; flex-grow: 0; }
.project-location { font-size: .875rem; color: var(--blue-light); }
.project-location svg { flex-shrink: 0; }
.project-stats-mini { grid-template-columns: 1fr 1fr; padding: 1rem 0; gap: 1rem; margin-top: auto; }
.mini-label { font-size: .8125rem; }
.mini-val { font-size: .875rem; line-height: 1.7; }
.project-cat-badge, .project-photo-count { font-size: .75rem; }
.project-cat-badge { max-width: 65%; }
.project-photo-count { top: auto; bottom: 1rem; }
.project-view-btn { min-height: 48px; font-size: .9375rem; }
.lightbox-caption-text { font-size: 1rem; line-height: 1.8; }
.lightbox-spec-val { font-size: .9375rem; line-height: 1.75; }
.partner-logo-box { height: 106px; padding: 1.25rem; }
.partner-logo-box img { max-height: 64px; }
.agency-badge-pill { font-size: .8125rem; }
.pa-project-card { min-width: 0; }
.pa-card-desc { font-size: 1rem; line-height: 1.8; }
.pa-card-title { line-height: 1.7; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--blue-light); outline-offset: 4px; }
[hidden] { display: none !important; }
.lightbox-main-img[role="button"]:focus-visible { outline: 3px solid var(--blue-light); outline-offset: -4px; }
/* Image-only viewer fills the browser viewport, including mobile dynamic height. */
.portfolio-lightbox-overlay.is-image-fullscreen {
  padding: max(.5rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: #04060a;
}
.is-image-fullscreen .lightbox-modal-content {
  max-width: none; height: 100%; min-height: 0; margin: 0;
  display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: .5rem;
}
.is-image-fullscreen .lightbox-header-info,
.is-image-fullscreen .lightbox-details-card,
.is-image-fullscreen .lightbox-thumbnails-strip { display: none; }
.is-image-fullscreen .lightbox-topbar { justify-content: flex-end; padding: 0 0 .5rem; margin: 0; }
.is-image-fullscreen .lightbox-toolbar-controls { width: 100%; justify-content: flex-end; gap: .4rem; }
.is-image-fullscreen .lightbox-stage-container {
  height: 100%; min-height: 0; max-height: none; margin: 0;
}
.is-image-fullscreen .lightbox-main-img-wrapper {
  width: 100%; height: 100%; max-width: none; max-height: none; border: 0; border-radius: 0; box-shadow: none;
}
.is-image-fullscreen .lightbox-main-img { width: 100%; height: 100%; max-height: none; object-fit: contain; }
.is-image-fullscreen .lightbox-bottom-bar { margin: 0; min-height: 0; max-height: 22vh; overflow-y: auto; }
.is-image-fullscreen .lightbox-caption-text { background: transparent; border: 0; border-radius: 0; padding: .25rem .75rem; color: #e2e8f0; }
@media (max-width: 680px) {
  .portfolio-grid { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .portfolio-filter-bar { flex-wrap: wrap; gap: .5rem; }
  .filter-btn { white-space: normal; padding: .65rem .9rem; }
  .project-stats-mini { grid-template-columns: 1fr; }
  .project-cat-badge { max-width: calc(100% - 2rem); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .reveal-on-scroll { opacity: 1; transform: none; }
}
