/* Codex 52: approved homepage hero composition. */
.c31-hero.c52-hero { text-align: center; padding-top: clamp(18px, 2.0625vw, 30px); padding-bottom: 32px; }
.c52-hero .c52-hero-signature { margin: 0 0 18px; }
.c52-hero h1 {
  max-width: none;
  margin: 0 auto;
  font-family: Cambria, Georgia, serif;
  font-weight: 700;
  font-size: clamp(1rem, 3.5vw, 3.5rem);
  line-height: 1.06;
  letter-spacing: -.035em;
}
.c31-orient #orient-title { font-family: Cambria, Georgia, serif; font-weight: 700; letter-spacing: -.035em; }
.c52-hero h1 > span { display: block; }
.c52-hero-photos {
  display: grid;
  grid-template-columns: 1.321fr 1fr;
  gap: 22px;
  width: min(1040px, 100%);
  margin: 32px auto 0;
  align-items: stretch;
}
.c52-hero-photos figure { margin: 0; min-width: 0; overflow: hidden; border-radius: 10px; background: #fff; }
.c52-project-photo img { width: 100%; height: auto; display: block; }
.c52-components-photo { position: relative; }
.c52-components-photo svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.c52-hero .c31-hero-copy { max-width: 960px; margin: 28px auto 0; }
.c52-hero .c31-lead { max-width: none; margin: 0; }
.c52-hero .c31-local { max-width: 880px; margin: 14px auto 0; }
.c52-hero .c31-actions { justify-content: center; }
/* Keep the four blocks' edges, without empty extensions at the sides. */
.c52-hero + .c31-trust { border-top: 0; border-bottom: 0; }
.c52-hero + .c31-trust ul { border-top: 1px solid #d9e5e9; border-bottom: 1px solid #d9e5e9; }
@media (max-width: 900px) {
  .c31-hero.c52-hero { padding-top: 17.5px; }
}
@media (max-width: 640px) {
  .c31-hero.c52-hero { padding-top: 12px; }
  .c52-hero h1 { font-size: 4.5vw; }
  .c52-hero-photos { grid-template-columns: minmax(0,1fr); gap: 16px; margin-top: 24px; }
  .c52-components-photo svg { position: static; height: auto; aspect-ratio: 1080 / 1488; }
}
