/* Main Properties Company - typography and alignment refinement */

/* Stronger typographic presence while keeping the editorial character */
body {
  font-weight: 400;
}

.brand-copy strong,
.footer-brand strong {
  font-weight: 600;
}

.main-nav a,
.lang-link,
.hero-cta,
.contact-cta {
  font-weight: 500;
}

.hero h1,
.intro h2,
.services h2,
.approach h2,
.split-content h2,
.contexts h2,
.contact h2 {
  font-weight: 500;
}

.hero-lead {
  font-weight: 400;
}

.intro-copy p,
.services .section-head p,
.split-content p,
.contexts-head p,
.contact-text,
.step p,
.service-desc,
.hero-aside p {
  font-weight: 400;
}

.service-title,
.step h3,
.context-card .meta strong {
  font-weight: 500;
}

.eyebrow,
.service-num,
.step b,
.contact-row span,
.context-card .meta span,
.image-caption,
.split-foot {
  font-weight: 500;
}

/* Explicit bilingual alignment rules */
html[dir="rtl"] body {
  text-align: right;
}

html[dir="ltr"] body {
  text-align: left;
}

html[dir="rtl"] .brand,
html[dir="rtl"] .hero-grid,
html[dir="rtl"] .intro-grid,
html[dir="rtl"] .services .section-head,
html[dir="rtl"] .approach-grid,
html[dir="rtl"] .contact-top,
html[dir="rtl"] .contact-row,
html[dir="rtl"] .service-item,
html[dir="rtl"] .step {
  text-align: right;
}

html[dir="ltr"] .brand,
html[dir="ltr"] .hero-grid,
html[dir="ltr"] .intro-grid,
html[dir="ltr"] .services .section-head,
html[dir="ltr"] .approach-grid,
html[dir="ltr"] .contact-top,
html[dir="ltr"] .contact-row,
html[dir="ltr"] .service-item,
html[dir="ltr"] .step {
  text-align: left;
}

html[dir="rtl"] .intro-copy,
html[dir="rtl"] .services .section-head > *,
html[dir="rtl"] .steps,
html[dir="rtl"] .contact-details,
html[dir="rtl"] .contexts-head > *,
html[dir="rtl"] .split-content > * {
  justify-self: stretch;
}

/* Keep numerals, phone and email visually stable inside RTL layout */
html[dir="rtl"] .service-num,
html[dir="rtl"] .step b,
html[dir="rtl"] a[href^="tel:"],
html[dir="rtl"] a[href^="mailto:"] {
  direction: ltr;
  unicode-bidi: isolate;
}

/* Slightly firmer body sizing for readability */
.intro-copy p {
  font-size: 20px;
}

.services .section-head p,
.contact-text {
  font-size: 18px;
}

.service-desc,
.step p,
.contexts-head p,
.hero-aside p {
  font-size: 15px;
}

/* Remove photography-credit UI completely */
.footer-meta a[href^="/credits"] {
  display: none !important;
}

/* Make footer copyright alignment deliberate in both languages */
html[dir="rtl"] .footer-meta {
  text-align: left;
}

html[dir="ltr"] .footer-meta {
  text-align: right;
}

/* Full-bleed editorial image: remove the exposed paper gutters on wide screens. */
.feature-image.shell {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

/* Correct editorial image proportions. */
.feature-image {
  height: auto !important;
  min-height: 0 !important;
  max-height: 700px;
  aspect-ratio: 2.4 / 1;
  background: var(--ink);
}

.feature-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}

.feature-image .image-caption {
  inset-inline-start: clamp(28px, 4vw, 72px);
}

/* Keep the logo on the physical right and the language control on the physical left in both languages. */
.site-header .header-inner {
  direction: ltr;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(18px, 2vw, 34px);
}

.site-header .header-actions {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  direction: ltr;
}

.site-header .main-nav {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
}

.site-header .brand {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  width: clamp(210px, 22vw, 340px);
  aspect-ratio: 3 / 1;
  min-width: 0;
  background: url('/assets/logo-lockup.png') right center / contain no-repeat;
}

.site-header .brand > img,
.site-header .brand .brand-copy {
  visibility: hidden;
}

html[dir="rtl"] .site-header .main-nav {
  direction: rtl;
}

html[dir="ltr"] .site-header .main-nav {
  direction: ltr;
}

@media (max-width: 1020px) {
  html[dir="rtl"] .footer-meta,
  html[dir="ltr"] .footer-meta {
    text-align: start;
  }

  .feature-image {
    max-height: none;
    aspect-ratio: 16 / 9;
  }

  .site-header .header-inner {
    grid-template-columns: auto 1fr auto;
  }

  .site-header .brand {
    width: clamp(185px, 34vw, 280px);
  }

  .site-header .main-nav.open {
    grid-column: 1 / -1;
    direction: inherit;
  }
}

@media (max-width: 720px) {
  .hero h1,
  .intro h2,
  .services h2,
  .approach h2,
  .split-content h2,
  .contexts h2,
  .contact h2 {
    font-weight: 500;
  }

  .intro-copy p {
    font-size: 18px;
  }

  .services .section-head p,
  .contact-text {
    font-size: 16px;
  }

  .service-desc,
  .step p,
  .contexts-head p,
  .hero-aside p {
    font-size: 14px;
  }

  .feature-image {
    aspect-ratio: 4 / 3;
  }

  .site-header .brand {
    width: clamp(160px, 48vw, 220px);
  }
}
