/* Shared UI language layered over the route-specific UX Builder designs. */
:root {
  --lp-ui-gold-heading: #9a733f;
  --lp-ui-gold-hero: #e0c391;
  --lp-ui-green-label: #a9cbbd;
  --lp-ui-radius: 4px;
  --lp-ui-section-space: clamp(64px, 7vw, 108px);
}

/* Shared heading rhythm; text, section order, and column layout remain Builder-owned. */
.lp-home-heading__line h2 {
  font-size: 3rem !important;
  font-weight: 650;
  line-height: 1.12;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.lp-home-heading__line--accent h2 {
  color: var(--lp-ui-gold-heading) !important;
  font-style: italic;
  font-weight: 500;
}

body.page-id-5 .lp-about-intro__heading h2,
body.page-id-5 .lp-values__heading h2,
body.page-id-5 .lp-about-commitment__heading h2,
body.page-id-5 .lp-about-cta__heading h2,
body.page-id-6 .lp-project-overview .section-title,
body.page-id-6 .lp-project-masterplan .section-title,
body.page-id-6 .lp-project-infrastructure .section-title,
body.page-id-6 .lp-project-progress-builder .section-title,
body.page-id-6 .lp-project-legal-builder .section-title {
  font-family: var(--lp-font-stack) !important;
  font-size: 3rem !important;
  font-weight: 650;
  line-height: 1.12;
  letter-spacing: -.035em;
  text-wrap: balance;
}

body.page-id-5 .lp-about-intro__heading .lp-home-heading__line--accent h2,
body.page-id-5 .lp-about-commitment__heading .lp-home-heading__line--accent h2,
body.page-id-6 .lp-project-overview .lp-home-heading__line--accent .section-title,
body.page-id-6 .lp-project-masterplan .lp-home-heading__line--accent .section-title,
body.page-id-6 .lp-project-infrastructure .lp-home-heading__line--accent .section-title,
body.page-id-6 .lp-project-progress-builder .lp-home-heading__line--accent .section-title,
body.page-id-6 .lp-project-legal-builder .lp-home-heading__line--accent .section-title {
  color: var(--lp-ui-gold-heading) !important;
  font-style: italic;
  font-weight: 500;
}

/* Homepage, editorial pages, and archive heroes share one responsive type scale. */
.home .lp-hero .lp-hero__title h1,
body.page-id-5 .lp-hero .lp-hero__title h1,
.lp-project-builder-hero__content .lp-hero__title h1,
.lp-project-builder-hero__content .lp-hero__title + .lp-home-heading__line h1,
.lp-legal-archive-builder__hero .lp-home-heading__line h1,
.lp-progress-archive-builder__hero .lp-home-heading__line h1,
.lp-news-archive-builder__hero .lp-home-heading__line h1 {
  max-width: 900px;
  font-family: var(--lp-font-stack) !important;
  font-size: clamp(3.5rem, 7vw, 5.25rem) !important;
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.home .lp-hero .lp-hero__title--accent h1,
body.page-id-5 .lp-hero .lp-hero__title.lp-home-heading__line--accent h1,
.lp-project-builder-hero__content .lp-hero__title + .lp-home-heading__line h1,
.lp-legal-archive-builder__hero .lp-home-heading__line--accent h1,
.lp-progress-archive-builder__hero .lp-home-heading__line--accent h1,
.lp-news-archive-builder__hero .lp-home-heading__line--accent h1 {
  color: var(--lp-ui-gold-hero) !important;
  font-style: italic;
  font-weight: 500;
}

.home .lp-hero .lp-eyebrow,
body.page-id-5 .lp-hero .lp-eyebrow,
.lp-project-builder-hero__content .lp-eyebrow,
.lp-legal-archive-builder__hero .lp-eyebrow,
.lp-progress-archive-builder__hero .lp-eyebrow,
.lp-news-archive-builder__hero .lp-eyebrow,
.lp-contact-builder .lp-contact-stage__banner-copy .lp-eyebrow,
.lp-editorial-hero .lp-eyebrow {
  margin-bottom: 14px;
  color: var(--lp-ui-green-label) !important;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.5;
}

.home .lp-hero__lead,
body.page-id-5 .lp-hero__lead,
.lp-project-builder-hero__content .lp-hero__lead,
.lp-legal-archive-builder__hero .lp-prose--lead,
.lp-progress-archive-builder__hero .lp-progress-archive-builder__lead,
.lp-news-archive-builder__hero .lp-prose--lead {
  max-width: 560px;
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.65;
}

.lp-contact-builder .lp-contact-stage__banner-copy h1 {
  max-width: 900px;
  font-family: var(--lp-font-stack) !important;
  font-size: clamp(3.25rem, 6.5vw, 5.25rem) !important;
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.lp-contact-builder .lp-contact-stage__title--accent {
  color: var(--lp-ui-gold-hero) !important;
  font-style: italic;
  font-weight: 500;
}

.lp-contact-builder .lp-contact-stage__description {
  max-width: 560px;
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.65;
}

/* Theme-rendered editorial heroes use the same language as Builder heroes. */
.lp-editorial-hero:not(.lp-editorial-hero--compact) .lp-editorial-hero__content h1 {
  max-width: 900px;
  font-family: var(--lp-font-stack) !important;
  font-size: clamp(3.5rem, 7vw, 5.25rem) !important;
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.lp-editorial-hero:not(.lp-editorial-hero--compact) .lp-editorial-hero__content h1 em,
.lp-editorial-hero--compact:not(.lp-editorial-hero--article) .lp-editorial-hero__content h1 em {
  color: var(--lp-ui-gold-hero);
  font-style: italic;
  font-weight: 500;
}

.lp-editorial-hero:not(.lp-editorial-hero--article) .lp-editorial-hero__content > p:last-child {
  max-width: 560px;
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.65;
}

.lp-editorial-hero--compact:not(.lp-editorial-hero--article) .lp-editorial-hero__content h1 {
  max-width: 1000px;
  font-family: var(--lp-font-stack) !important;
  font-size: clamp(2.4rem, 5vw, 4.25rem) !important;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.04em;
  text-wrap: balance;
}

/* Dynamic detail pages keep their own content while accommodating long titles. */
.lp-editorial-hero--article .lp-editorial-hero__content h1 {
  max-width: 1000px;
  font-family: var(--lp-font-stack) !important;
  font-size: clamp(2.25rem, 4.8vw, 4.25rem) !important;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.lp-editorial-hero--article .lp-eyebrow {
  color: var(--lp-ui-green-label);
}

/* Consistent controls and card surfaces across forms, archives, and editorial pages. */
.lp-button,
.lp-contact-form > button,
.lp-legal-filters button,
.lp-header .button {
  min-height: 48px;
  border-radius: 3px;
  font-family: var(--lp-font-stack) !important;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .02em;
}

.lp-button--small {
  min-height: 44px;
  font-size: .9rem;
}

.lp-contact-form input[type="text"],
.lp-contact-form input[type="email"],
.lp-contact-form input[type="tel"],
.lp-contact-form textarea,
.lp-legal-filters input,
.lp-legal-filters select {
  min-height: 48px !important;
  padding: 10px 13px !important;
  color: var(--lp-text) !important;
  background: #fff !important;
  border: 1px solid #d5ddd8 !important;
  border-radius: var(--lp-ui-radius) !important;
  font-family: var(--lp-font-stack) !important;
  font-size: 1rem !important;
}

.lp-contact-form textarea {
  min-height: 108px !important;
}

.lp-contact-form input:focus,
.lp-contact-form textarea:focus,
.lp-legal-filters input:focus,
.lp-legal-filters select:focus {
  border-color: var(--lp-green) !important;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(23, 77, 64, .12) !important;
}

.lp-contact-form label {
  font-size: .75rem !important;
  letter-spacing: .02em;
}

.lp-document-card,
.lp-news-featured,
.lp-infra-card > .col-inner,
.lp-contact-redesign__form > .col-inner,
.lp-meta-panel,
.lp-legal-filters {
  border-radius: var(--lp-ui-radius);
}

.lp-document-card,
.lp-news-featured,
.lp-contact-redesign__form > .col-inner,
.lp-meta-panel,
.lp-legal-filters {
  border-color: rgba(16, 39, 33, .12);
}

.lp-document-card__title,
.lp-news-featured h2,
.lp-news-featured h3,
.lp-progress-entry h2,
.lp-related-content h2 {
  font-family: var(--lp-font-stack) !important;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.page-id-6 .lp-project-legal-builder .button,
.lp-contact-redesign .lp-contact-form > button {
  min-height: 48px;
  border-radius: 3px;
  font-size: 1rem;
  letter-spacing: .02em;
  text-transform: none;
}

.lp-news-featured {
  overflow: hidden;
}

.lp-footer a:hover,
.lp-footer .lp-arrow-button:hover {
  color: var(--lp-ui-gold-hero);
}

/* Common vertical rhythm for theme editorial sections. Builder keeps each layout. */
.lp-section {
  padding-block: var(--lp-ui-section-space);
}

body.page-id-5 .lp-about-intro.section,
body.page-id-5 .lp-values.section,
body.page-id-5 .lp-about-commitment.section,
body.page-id-5 .lp-about-cta.section,
body.page-id-6 .lp-project-overview.section,
body.page-id-6 .lp-project-masterplan.section,
body.page-id-6 .lp-project-infrastructure.section,
body.page-id-6 .lp-project-progress-builder.section,
body.page-id-6 .lp-project-legal-builder.section,
.lp-legal-archive-builder__content.section,
.lp-progress-archive-builder__content.section,
.lp-news-archive-builder__content.section {
  padding-top: var(--lp-ui-section-space) !important;
  padding-bottom: var(--lp-ui-section-space) !important;
}

@media (max-width: 849px) {
  :root {
    --lp-ui-section-space: 76px;
  }

  .lp-home-heading__line h2,
  body.page-id-5 .lp-about-intro__heading h2,
  body.page-id-5 .lp-values__heading h2,
  body.page-id-5 .lp-about-commitment__heading h2,
  body.page-id-5 .lp-about-cta__heading h2,
  body.page-id-6 .lp-project-overview .section-title,
  body.page-id-6 .lp-project-masterplan .section-title,
  body.page-id-6 .lp-project-infrastructure .section-title,
  body.page-id-6 .lp-project-progress-builder .section-title,
  body.page-id-6 .lp-project-legal-builder .section-title {
    font-size: 2.5rem !important;
  }
}

@media (max-width: 549px) {
  :root {
    --lp-ui-section-space: 60px;
  }

  .home .lp-hero .lp-hero__title h1,
  body.page-id-5 .lp-hero .lp-hero__title h1,
  .lp-project-builder-hero__content .lp-hero__title h1,
  .lp-project-builder-hero__content .lp-hero__title + .lp-home-heading__line h1,
  .lp-legal-archive-builder__hero .lp-home-heading__line h1,
  .lp-progress-archive-builder__hero .lp-home-heading__line h1,
  .lp-news-archive-builder__hero .lp-home-heading__line h1 {
    font-size: 2.75rem !important;
    line-height: 1.03;
  }

  .lp-editorial-hero:not(.lp-editorial-hero--compact) .lp-editorial-hero__content h1,
  .lp-editorial-hero--compact:not(.lp-editorial-hero--article) .lp-editorial-hero__content h1 {
    font-size: 2.75rem !important;
    line-height: 1.03;
  }

  .lp-home-heading__line h2,
  body.page-id-5 .lp-about-intro__heading h2,
  body.page-id-5 .lp-values__heading h2,
  body.page-id-5 .lp-about-commitment__heading h2,
  body.page-id-5 .lp-about-cta__heading h2,
  body.page-id-6 .lp-project-overview .section-title,
  body.page-id-6 .lp-project-masterplan .section-title,
  body.page-id-6 .lp-project-infrastructure .section-title,
  body.page-id-6 .lp-project-progress-builder .section-title,
  body.page-id-6 .lp-project-legal-builder .section-title {
    font-size: 2.125rem !important;
    line-height: 1.12;
  }

  .lp-contact-builder .lp-contact-stage__banner-copy h1 {
    font-size: 2.75rem !important;
    line-height: 1.03;
  }

  .home .lp-hero__lead,
  body.page-id-5 .lp-hero__lead,
  .lp-project-builder-hero__content .lp-hero__lead,
  .lp-legal-archive-builder__hero .lp-prose--lead,
  .lp-progress-archive-builder__hero .lp-progress-archive-builder__lead,
  .lp-news-archive-builder__hero .lp-prose--lead,
  .lp-contact-builder .lp-contact-stage__description,
  .lp-editorial-hero:not(.lp-editorial-hero--article) .lp-editorial-hero__content > p:last-child {
    font-size: 1rem;
    line-height: 1.55;
  }

  .lp-editorial-hero--article .lp-editorial-hero__content h1 {
    font-size: clamp(2rem, 8.5vw, 2.65rem) !important;
    line-height: 1.08;
  }
}
