/* Shared bilingual reading rhythm. Keep each proposition together and let
   content determine scene height instead of overflowing a fixed text box. */
:root {
  --header-height: 4.25rem;
  --heading-size: clamp(2rem, 1.35rem + 2.4vw, 3.5rem);
  --section-heading-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem);
}
html[lang][dir] body h1 {
  font-size: var(--heading-size) !important;
  line-height: 1.36 !important;
  max-width: 100% !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  text-wrap: balance;
}
html[lang][dir] body h2 {
  line-height: 1.36 !important;
  max-width: 100% !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  text-wrap: balance;
}
html[lang][dir] :is(.home-story,.pm,.brokerage,.about-copy,.section-intro,.split-proof__sticky,.cta-band,.page-form__aside,.handover__copy) h2 {
  font-size: var(--section-heading-size) !important;
}
html[lang=en][dir] body :is(h1,h2) {
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
}
html[lang] body :is(h1,h2) em {
  display: inline;
  padding-block: 0;
  margin-block: 0;
  line-height: inherit;
}
html[lang] body :is(h3,p,li,label,button,a) {
  word-spacing: normal !important;
}
html[lang=en] body :is(p,li,label,button,a) {
  letter-spacing: normal;
}
html[lang] body .button {
  flex: 0 1 auto;
  min-height: 2.75rem;
  max-width: 100%;
  padding: .65rem 1.1rem;
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
html[lang=en] body .button { font-family: var(--font-body-en); }
html body .site-header.site-header {
  inset: 0 0 auto !important;
  width: 100% !important;
  min-height: var(--header-height) !important;
  padding: .5rem clamp(1rem, 4vw, 4rem) !important;
  gap: 1.5rem !important;
}
html body .site-header .brand.brand {
  flex-shrink: 0;
  width: 9rem !important;
  height: 2.75rem !important;
}
html body .site-header .site-navigation {
  gap: clamp(.75rem, 1.6vw, 1.5rem) !important;
}
html body .site-header :is(.site-navigation a,.locale-toggle) {
  font-size: .875rem !important;
  line-height: 1.4;
}
html body .site-header .site-navigation__request {
  min-height: 2.75rem;
  padding: .6rem 1rem !important;
}
body:has(.site-header.is-scrolled)::after { height: var(--header-height); }
html { scroll-padding-top: calc(var(--header-height) + 1rem); }
.cinematic__beat {
  padding-block: calc(var(--header-height) + 2rem) 3rem;
}
html[lang] .cinematic__copy {
  width: min(42rem, 46vw);
  padding-top: 0;
  margin-inline: clamp(1.5rem, 5vw, 5rem) auto;
  text-align: start;
}
.cinematic__copy .eyebrow { margin-bottom: 1rem; }
.cinematic__copy > p:not(.eyebrow) {
  margin-top: 1.25rem;
  font-size: 1rem;
  line-height: 1.7;
}
.hero__actions { gap: 1rem; margin-top: 1.5rem; }
/* The property hero now grows with its copy; the image still fills its side. */
html[lang] .pm .pm-hero .pm-hero__copy {
  position: relative;
  inset: auto;
  min-height: 100svh;
  width: 48%;
  margin-inline: 0 auto !important;
  padding: calc(var(--header-height) + 2rem) clamp(1.5rem, 4vw, 4rem) 3rem;
  justify-content: center;
}
html[lang] .pm .pm-hero .pm-film { width: 54% !important; }
html[lang] .pm .pm-hero h1 em { display: inline; margin: 0; }
html[lang] .pm .pm-hero__copy > p:not(.pm-k) { line-height: 1.7 !important; }
/* A long English proposition must expand its scene, not disappear below it. */
html[lang] .brokerage-hero .brokerage-hero__copy {
  position: relative;
  inset: auto;
  width: min(44rem, 52%);
  margin-inline: clamp(1.5rem, 5vw, 5rem) auto;
  padding-block: 0;
}
.brokerage-hero {
  display: flex;
  align-items: center;
  padding-block: calc(var(--header-height) + 2rem) 4rem;
}
.brokerage-hero__summary { margin-top: 1.25rem; font-size: 1rem; line-height: 1.7; }
.brokerage-hero__actions { margin-top: 1.5rem; }
.brokerage-route { overflow: hidden; }
.about-beat { padding-top: calc(var(--header-height) + 2rem); padding-bottom: 2rem; }
@media(max-width:62rem) {
  html[lang] .cinematic__copy { width: min(40rem, 72%); }
  html[lang] .brokerage-hero .brokerage-hero__copy { width: min(40rem, 72%); }
  html[lang] .pm .pm-hero .pm-hero__copy { width: 60%; }
  html body .site-header .site-navigation { inset-block-start: var(--header-height); }
}
@media(max-width:40rem) {
  :root { --header-height: 4rem; }
  html body .site-header .brand.brand { width: 7.5rem !important; height: 2.5rem !important; }
  html[lang] .cinematic__copy { width: 100%; margin: 0; }
  .cinematic__beat,.cinematic.is-static .cinematic__beat {
    padding: calc(var(--header-height) + 2rem) 1.25rem 3rem;
  }
  html[lang] .pm .pm-hero .pm-hero__copy {
    width: 100%;
    padding: calc(var(--header-height) + 3rem) .25rem 3rem;
    justify-content: flex-end;
  }
  html[lang] .pm .pm-hero .pm-film { width: 100% !important; }
  html[lang] .brokerage-hero .brokerage-hero__copy {
    width: calc(100% - 2.5rem);
    margin-inline: 1.25rem;
  }
  .brokerage-hero { align-items: flex-end; }
}
