/* Desktop composition. Touch layouts keep the approved mobile/tablet rules. */
@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
  :root { --container: min(92vw, 1920px); }
  .container { width: var(--container); max-width: none; padding-left: 0; padding-right: 0; }
  .main-nav { gap: clamp(32px, 2.6vw, 60px); }
  .main-nav a { font-size: 20px; }

  /* Align the opening with the rest of the page, leaving the right side to the photos. */
  .hero { min-height: clamp(580px, 68vh, 740px); }
  .hero-media { left: 38%; width: 62%; }
  .hero-content { padding-top: 64px; padding-bottom: 64px; }
  .hero-title { max-width: 49%; font-size: clamp(48px, 4vw, 76px); }
  .hero-sub { max-width: min(43vw, 640px); }
  .hero-ctas { max-width: 720px; }
  .stats-grid { gap: clamp(20px, 1.8vw, 32px); }
  .stat-item { padding: 24px 28px; }

  .advantages-grid, .services-overview, .gallery-grid, .partners-grid { gap: clamp(24px, 1.8vw, 32px); }
  .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gallery-grid figcaption { padding: 24px; }
  .gallery-grid figcaption p { font-size: 20px; }
  .service-card-copy > p { font-size: 20px; }
  .service-page-link { font-size: 17.5px; }
  .service-quote { font-size: 18.75px; }
  .partner-role { font-size: 17.5px; min-height: 85px; }
  .partner-role svg { flex-basis: 25px; width: 25px; height: 25px; }

  .about-summary { gap: clamp(40px, 5vw, 88px); }
  .about-summary p { max-width: 76ch; font-size: 20px; }
  .about-principles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .principle-card-quality {
    grid-column: 1 / -1; display: grid;
    grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 32px; align-items: center;
  }
  .principle-card-quality .principle-header { margin-bottom: 0; }
  .principle-card-quality > p { max-width: 90ch; }
  .principle-card > p, .principle-values { font-size: 20px; }

  .resource-card {
    grid-template-columns: 140px minmax(0, .9fr) minmax(0, 1.1fr) 250px;
    grid-template-areas: "preview heading description actions"; gap: 28px;
    padding: 30px 34px;
  }
  .resource-preview { width: 116px; }
  .resource-heading h3 { max-width: 14ch; }
  .resource-description > p { max-width: 48ch; font-size: 18.75px; }
  .resource-heading .resource-eyebrow { font-size: 12.5px; }
  .resource-meta { font-size: 15px; }
  .resource-download { font-size: 17.5px; }
  .resource-view { font-size: 16.25px; }
  .coverage-note { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px; }
  .coverage-note > p { max-width: 85ch; font-size: 20px; }

  .faq-layout { grid-template-columns: minmax(300px, .7fr) minmax(0, 1.3fr); gap: clamp(40px, 4vw, 72px); }
  .faq-intro > p:last-of-type, .faq-help { max-width: 460px; }
  .faq-intro .section-title { font-size: 42px; }
  .faq-intro > p:last-of-type { font-size: 19px; }
  .faq-help h3, .faq-help-link { font-size: 18px; }
  .faq-help p, .faq-help .service-email { font-size: 16px; }
  .faq-list summary { font-size: 20px; }
  .faq-list details p { font-size: 18px; }
  .quote-layout { gap: clamp(32px, 4vw, 72px); align-items: stretch; }
  .quote-intro { display: flex; flex-direction: column; padding: clamp(32px, 3vw, 48px); }
  .quote-lead { max-width: 60ch; }
  .quote-steps { margin-top: auto; padding-top: 28px; }
  .quote-form { padding: clamp(32px, 3vw, 48px); }
  .contact-layout { grid-template-columns: minmax(400px, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 3vw, 56px); }

  /* Service detail pages share the same wide alignment, with readable text measures. */
  .service-page .service-intro-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(48px, 4.5vw, 88px); }
  .service-page .service-intro h1 { max-width: 20ch; font-size: clamp(44px, 3.4vw, 62px); }
  .service-page .service-breadcrumb { font-size: 18.75px; }
  .service-page .service-lead { max-width: 64ch; font-size: 21.25px; }
  .service-page .service-page-actions .service-primary { font-size: 18.75px; }
  .service-page .service-text-link { font-size: 17.5px; }
  .service-page .service-location { font-size: 15px; }
  .service-page #detalhes .service-section-heading > p:last-child { font-size: 20px; }
  .service-page .service-capability-number { font-size: 15px; }
  .service-page .service-capability h3 { font-size: 22.5px; }
  .service-page .service-capability p { font-size: 17.5px; }
  .service-page .service-photo-hero picture { width: 100%; aspect-ratio: 16 / 10; max-height: 520px; }
  .service-page .service-photo-hero img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
  .service-page .service-planning-grid { gap: clamp(48px, 5vw, 96px); }
  .service-page .service-planning-copy > p { max-width: 72ch; }
  .service-page .service-planning-copy > p:not(.eyebrow) { font-size: 20px; }
  .service-page .service-planning-copy > .service-primary { font-size: 18.75px; }
  .service-page .service-checklist { max-width: 76ch; }
  .service-page .service-checklist strong { font-size: 18.75px; }
  .service-page .service-checklist p { font-size: 17.5px; }
  .service-page .service-location-note > strong { font-size: 18.75px; }
  .service-page .service-location-note p, .service-page .service-location-note a { font-size: 16.25px; }
  .service-page .service-planning-visual .service-photo figcaption { font-size: 15px; }
  .service-page .service-planning-visual .service-photo picture { width: 100%; }
  .service-page .service-planning-visual .service-photo img { object-position: center; }
}
@media (min-width: 1360px) and (hover: hover) and (pointer: fine) {
  .services-overview, .advantages-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .service-card-copy { padding: 22px; }
  .service-card h3 { font-size: 22px; min-height: 2.7em; }
  .service-card-copy > p { font-size: 18.75px; }
  .service-page-link, .service-quote { padding: 12px 14px; font-size: 17.5px; gap: 10px; }
  .advantage-card { padding: 24px; }
  .advantage-header { gap: 14px; min-height: 116px; align-items: flex-start; margin-bottom: 16px; }
  .advantage-icon { flex-basis: 48px; width: 48px; height: 48px; border-radius: 13px; }
  .advantage-icon svg { width: 28px; height: 28px; }
  .advantage-card h3 { font-size: 22px; }
  .advantage-description { font-size: 15px; }
}
@media (min-width: 1600px) and (hover: hover) and (pointer: fine) {
  .clients-carousel.is-ready .client-logo { flex-basis: calc((100% - 5 * var(--clients-gap)) / 6); }
  .faq-list { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 18px; }
  .faq-list summary { min-height: 108px; }
  .service-card-copy { padding: 26px; }
  .service-card-copy > p { font-size: 20px; }
  .advantage-description { font-size: 16px; }
  .advantage-header { min-height: 96px; }
}
