/* LZ DESIGN — premium typography upgrade
   Import in your site's stylesheet after the existing styles.
   Preserves all photography, geometry, colors, logo artwork and layout. */

:root {
  --font-primary: 'Manrope', Arial, sans-serif;
  --font-editorial: 'Cormorant Garamond', Georgia, serif;
  --font-labels: 'Jost', Arial, sans-serif;
}

/* Main functional typography */
body, button, input, textarea, select,
nav, .nav-contact, .hero-content p, .pill,
.intro p, .service p, .contact p, footer {
  font-family: var(--font-primary);
  font-weight: 300;
}

/* Both hero lines stay matched, light and upright */
h1, h1 em {
  font-family: var(--font-primary);
  font-style: normal;
  font-weight: 300;
  letter-spacing: -0.055em;
}

/* Serif flourishes only in editorial section headings */
h2 em, .service h3 {
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
}
.service h3 {font-style: normal;}

/* Architectural labels */
.tagline, .eyebrow, .section-label, .hero-footer,
.service small, label, .form-note {
  font-family: var(--font-labels);
  font-weight: 300;
  letter-spacing: 0.18em;
}

/* Retain the existing brand wordmark exactly as before. */
.wordmark {font-family: Georgia, serif; font-weight: 400;}
.wordmark .tagline {font-family: var(--font-labels);}
.brand .wordmark .tagline {font-family: var(--font-labels);}
.hero-content h1 {letter-spacing: -0.055em;}
.selected-perspectives {
  margin: 0 5.5%;
}
.perspectives-heading {padding: 0 0 34px;}
.perspectives-heading .section-label {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 12px;
}
.perspectives-heading .section-label::after {
  content: "";
  flex: 1;
  border-top: 1px solid #a8a193;
}
.perspectives-heading h2 {margin-bottom: 0;}
.perspectives-mosaic {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: 28vw 16vw 20vw;
  gap: clamp(8px, 0.8vw, 16px);
}
.perspectives-mosaic img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.mosaic-concrete-living {grid-area: 1 / 1 / 2 / 9; object-position: center 64%;}
.mosaic-classical-salon {grid-area: 1 / 9 / 3 / 13;}
.mosaic-fireplace-living {grid-area: 2 / 1 / 3 / 5; object-position: center 63%;}
.mosaic-alpine-entry {grid-area: 2 / 5 / 3 / 9;}
.mosaic-alpine-living {grid-area: 3 / 1 / 4 / 7; object-position: center 61%;}
.mosaic-parisian-living {grid-area: 3 / 7 / 4 / 13; object-position: center 67%;}
@media (max-width: 800px) {
  .selected-perspectives {margin: 0 8%;}
  .perspectives-heading {padding-bottom: 26px;}
  .perspectives-heading h2 {font-size: clamp(32px, 7vw, 44px);}
  .perspectives-mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 56vw 26vw 26vw 34vw;
    gap: clamp(6px, 1.6vw, 12px);
  }
  .mosaic-concrete-living {grid-area: 1 / 1 / 2 / 3;}
  .mosaic-classical-salon {grid-area: 2 / 1 / 4 / 2; object-position: center 62%;}
  .mosaic-fireplace-living {grid-area: 2 / 2 / 3 / 3;}
  .mosaic-alpine-entry {grid-area: 3 / 2 / 4 / 3;}
  .mosaic-alpine-living {grid-area: 4 / 1 / 5 / 2; object-position: 56% 65%;}
  .mosaic-parisian-living {grid-area: 4 / 2 / 5 / 3; object-position: 75% 65%;}
}
@media (max-width: 800px) {
  .hero-content h1 {
    font-size: clamp(22px, 7.8vw, 40px);
    white-space: nowrap;
    line-height: 1.15;
  }
}
