/* Desktop typography. Mobile styles remain in the original theme. */
@media (min-width: 1200px) {
  body { font-family: "Mabry Pro", sans-serif; font-size: 16px; font-weight: 400; line-height: 1.55; }
  h1, .h1 { font-size: clamp(42px, 3.55vw, 50px) !important; font-weight: 500 !important; line-height: 1.12 !important; letter-spacing: -.022em; }
  h2, .h2, .section-title { font-size: 32px !important; font-weight: 500 !important; line-height: 1.2 !important; letter-spacing: -.015em; }
  h3, .h3 { font-size: 24px !important; font-weight: 500 !important; line-height: 1.25 !important; }
  h4, .h4 { font-size: 20px !important; font-weight: 500 !important; line-height: 1.3 !important; }
  p:not(.fw-bold), section li:not(.menu-item) { font-weight: 400 !important; }
  .about-1 p, .about-1 li, .about-2 p, .about-2 li { font-size: 16px !important; line-height: 1.55 !important; }
  h2.fw-light, h3.fw-light { font-weight: 500 !important; }
  #primary-menu a, #primary-menu li { font-size: 14px !important; font-weight: 500 !important; }
  .btn, button, input, textarea { font-family: "Mabry Pro", sans-serif; font-weight: 500; }
  p.square, p.address { font-size: 13px !important; font-weight: 400 !important; line-height: 1.45 !important; }
  p.adress { font-size: 14px !important; }
  .blog-item-title { font-size: 22px !important; }
  .new-team-item-title { font-size: 22px !important; }
  .steps-block .step > span:not(.counter) { font-size: 16px !important; font-weight: 400 !important; line-height: 1.4 !important; }
  footer, footer a, footer li, footer p { font-size: 14.5px !important; font-weight: 400 !important; line-height: 1.5 !important; }
}

/* Desktop header and home hero composition. */
@media (min-width: 1200px) {
  #primary-menu > li > a {
    font-size: 16px !important;
    font-weight: 500 !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    white-space: nowrap;
  }
  header .modal-project {
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
    min-height: 52px;
    padding: 14px 22px !important;
    white-space: nowrap;
  }
  .dcg-home-hero .container > .row {
    justify-content: flex-start !important;
    align-content: flex-start !important;
    gap: 24px;
    padding-top: 52px !important;
  }
  .dcg-home-hero .container > .row > .col-12 { height: auto; }
  .dcg-home-hero h1 + br { display: none; }
  .dcg-home-hero .container > .row > p {
    flex: 0 0 auto;
    width: 100%;
    max-width: 820px;
    height: auto !important;
    margin: 0 0 0 10.5px !important;
    padding: 0 !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
  }
  .dcg-home-hero .h-b-btn { margin-top: 10px; }
  .dcg-home-hero .h-b-btn a {
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
    min-height: 52px;
    padding: 14px 24px !important;
  }
}

/* Keep desktop footer labels readable against the dark background. */
@media (min-width: 1200px) {
  footer a, footer li, footer p { color: #c6c6c6 !important; }
  footer a:hover, footer a:focus-visible { color: #fff !important; }
}
