/* CTPL desktop-only scale refinement — v12
   Balanced hero typography, enlarged header and centred capability graphic. */
@media (min-width: 1181px) {
  :root {
    --ctpl-header-h: 128px;
    --ctpl-logo-w: 360px;
    --ctpl-logo-h: 100px;
    --ctpl-nav-font: 1.22rem;
  }

  /* Keep every first-page hero on one restrained desktop type scale. */
  .hero h1,
  .service-hero h1,
  .services-hero h1,
  .team-hero h1,
  .products-hero h1,
  .contact-hero h1,
  main > .shell > .card h1 {
    font-size: clamp(2.75rem, 3.15vw, 3.15rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.035em !important;
  }

  /* The About heading uses a nested row rather than the common hero-copy class. */
  .team-heading-row h1 {
    max-width: 820px !important;
  }

  /* Keep the home copy compact and balanced against the capability graphic. */
  .hero-copy {
    max-width: 650px;
  }

  /* Give the capability system equal visual weight and true bilateral balance. */
  .hero-grid {
    grid-template-columns: minmax(0, .92fr) minmax(560px, 1.08fr) !important;
    gap: 54px !important;
  }

  .hero-visual-wrap {
    width: 100% !important;
    max-width: 650px !important;
    justify-self: center !important;
  }

  .system-orbit {
    min-height: 610px !important;
  }

  .system-core {
    top: 50% !important;
    width: 204px !important;
    height: 204px !important;
  }

  .orbit-ring {
    top: 50% !important;
  }

  .orbit-node {
    width: 185px !important;
    min-width: 185px !important;
    min-height: 74px;
    padding: 17px 18px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .orbit-node strong {
    width: 100%;
    font-size: .82rem !important;
    line-height: 1.25 !important;
  }

  .node-a,
  .node-d {
    left: 5% !important;
  }

  .node-b,
  .node-c {
    right: 5% !important;
  }

  .node-a,
  .node-b {
    top: 14% !important;
  }

  .node-c,
  .node-d {
    bottom: 14% !important;
  }
}
