/* Important declarations in this layer supersede legacy unlayered font overrides. */
@layer st12Typography {
  html body, html body * {
    font-family: "ST12 Alumni Sans", sans-serif !important;
    font-weight: 600 !important;
  }
  html body h1, html body h1 *,
  .intro-main h2, .section-heading h2, .projects-head h2,
  .safety h2, .contact-cta h2, .expanded-heading h2, .expanded-cta h2,
  .combined-heading h2, .combined-projects-head h2, .competency-summary h2,
  .catalog-contact h2, .responsibility-title h2, .company-proof h2,
  .section-feature h2, .capability-detail-body > h2,
  .intro-main h2 *, .section-heading h2 *, .projects-head h2 *,
  .safety h2 *, .contact-cta h2 *, .expanded-heading h2 *, .expanded-cta h2 *,
  .combined-heading h2 *, .combined-projects-head h2 *, .competency-summary h2 *,
  .catalog-contact h2 *, .responsibility-title h2 *, .company-proof h2 *,
  .section-feature h2 * {
    font-family: "ST12 Architectural", sans-serif !important;
    font-weight: 400 !important;
  }
  p, li, label, input, textarea, select {
    font-size: 22px !important;
    line-height: 1.45 !important;
  }
  .hero-copy { font-size: 26px !important; line-height: 1.45 !important; }
  .hero-copy { max-width: 900px !important; }
  .nav a, .footer-nav a, .text-link, .filter, .section-subnav a,
  .header-action, .presentation-link {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }
  h3, .competency-tabs strong, .catalog-card-title {
    font-size: clamp(26px, 2vw, 34px) !important;
    line-height: 1.2 !important;
  }
  .competency-card-description, .timeline-copy-description,
  .supplier-teaser, .project-meta, .project-meta *, .project-specifications span,
  .contacts-screen-item span, .news-meta, .file-hint, .consent-row,
  .hero-footer p, .footer-bottom, .footer-bottom * {
    font-size: 20px !important;
    line-height: 1.4 !important;
  }
  .eyebrow, .hero-topline, .hero-topline *, .hero-edge-note,
  .hero-edge-note *, .scroll-link span, .timeline-copy-number,
  .timeline-intro-kicker {
    font-size: 16px !important;
    line-height: 1.3 !important;
    letter-spacing: .06em !important;
  }
  .timeline-copy-heading { font-size: 30px !important; line-height: 1.2 !important; }
  .button { font-size: 20px !important; line-height: 1.3 !important; }
  .hero-actions .button, .hero-actions .button *, .button.large, .button.large * {
    font-family: "ST12 Alumni Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
  }
  @media (max-width: 600px) {
    p, li, label, input, textarea, select { font-size: 20px !important; }
    .hero-copy { font-size: 22px !important; }
    .footer-bottom, .footer-bottom *, .hero-footer p { font-size: 18px !important; }
    .hero-topline, .hero-topline *, .hero-edge-note, .hero-edge-note *,
    .scroll-link span { font-size: 12px !important; letter-spacing: .02em !important; }
  }
}
/* Transparent on the opening photo; the existing scrolled state keeps its background. */
html body .home-page .site-header:not(.scrolled) { background: transparent !important; }
html body .home-page .site-header .header-action { white-space: nowrap; }
html body .home-page .hero-actions .button { flex-shrink: 0; }
@layer st12Typography {
  .tender-form, .tender-form label, .tender-form input, .tender-form textarea,
  .tender-form input::placeholder, .tender-form textarea::placeholder {
    letter-spacing: normal !important;
    text-transform: none !important;
    color: #fff !important;
  }
  .tender-layout > div > p { color: #fff !important; }
}
html body .tender-layout > div { justify-content: flex-start; padding-top: 120px; }
@media (max-width: 600px) {
  html body .tender-layout > div { min-height: 0; padding: 20px 0 36px; }
}

@layer st12Typography {
 html body .section-projects .project-detail-list dt {font-size:27px!important;line-height:1.3!important;}
 html body .section-projects .project-detail-list dd,
 html body .section-projects .project-story p {font-size:25px!important;line-height:1.5!important;}
 html body .section-projects figcaption,
 html body .section-projects .project-passport span,
 html body .section-projects .timeline-copy-description,
 html body .section-projects .project-source590 {font-size:22px!important;line-height:1.4!important;}
 html body .section-projects .project-passport strong {font-size:28px!important;line-height:1.25!important;}
 @media(max-width:600px){
 html body .section-projects .project-detail-list dt {font-size:25px!important;}
 html body .section-projects .project-detail-list dd,html body .section-projects .project-story p {font-size:23px!important;}
 html body .section-projects figcaption,html body .section-projects .project-passport span,html body .section-projects .timeline-copy-description,html body .section-projects .project-source590 {font-size:21px!important;}
 html body .section-projects .project-passport strong {font-size:25px!important;}
 }
}
