/* Large-screen composition. Smaller layouts retain their existing density. */
@media (min-width: 1600px) {
  :root { --section-space: clamp(36px, 2.4vw, 60px); }
  .container { width: min(2240px, calc(100% - clamp(96px, 8vw, 240px))); }
  .header-row { min-height: clamp(80px, 4.5vw, 104px); gap: 32px; }
  .brand img { width: clamp(230px, 13vw, 300px); }
  .site-header nav { gap: clamp(24px, 1.7vw, 40px); }
  .site-header nav a { font-size: clamp(14px, .85vw, 18px); }
  .header-details { font-size: 14px; gap: 6px; }
  .header-details strong { font-size: 16px; }
  .button--header { font-size: 16px; min-height: 46px; padding: 10px 16px; }

  h1 { font-size: clamp(56px, 3.3vw, 80px); }
  h2 { font-size: clamp(30px, 1.7vw, 40px); }
  .hero-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 20px clamp(44px, 3.2vw, 80px); align-items: center; padding-block: clamp(30px, 1.8vw, 46px) clamp(26px, 1.5vw, 38px); }
  .service-location { font-size: 16px; margin-bottom: 22px; }
  .hero-description { font-size: clamp(18px, 1vw, 22px); line-height: 1.5; max-width: 34em; margin-block: 22px 26px; }
  .hero-actions .button { font-size: 17px; min-height: 52px; padding-inline: 22px; }
  .hero-actions .text-link { font-size: 16px; }
  .hero-caption { font-size: 14px; margin-top: 14px; }
  .hero-visual { display: contents; }
  .hero-visual-top { grid-column: 2; grid-row: 1; grid-template-columns: clamp(260px, 15vw, 360px) minmax(0, 1fr); gap: 24px; }
  .hero-decor img { width: 100%; height: clamp(260px, 15vw, 360px); }
  .hero-visual-top .hero-repair--placeholder { height: clamp(260px, 15vw, 360px); padding: 24px; }
  .photo-placeholder-icon { width: 44px; height: 38px; }
  .photo-placeholder-label { font-size: 20px; }
  .hero-repair--placeholder strong { font-size: 18px; }
  .photo-placeholder-caption { font-size: 15px; max-width: 30em; }
  .hero-categories { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 0; border: 0; border-top: 1px solid #bbc5c9; background: transparent; }
  .hero-catalog-heading { padding: 8px 0 12px; background: transparent; color: var(--blue-dark); }
  .hero-catalog-heading strong { font-size: 17px; }
  .hero-catalog-heading span { font-size: 14px; color: var(--muted); }
  .hero-categories > .hero-category { min-height: 94px; padding: 8px 16px; grid-template-columns: minmax(0, 1fr); grid-template-rows: 28px 1fr; align-items: start; gap: 10px; border-right: 1px solid #d6d9d3; background: transparent; }
  .hero-categories > .hero-category:last-child { border-right: 0; }
  .hero-categories > .hero-category strong { font-size: clamp(15px, .85vw, 19px); line-height: 1.3; overflow-wrap: normal; }
  .hero-categories .appliance { width: 28px; height: 28px; }
  .hero-bottom { font-size: 16px; padding-block: 18px; gap: 28px; }
  .hero-bottom a .icon { width: 25px; height: 25px; }

  .section h1 { font-size: clamp(34px, 2.1vw, 48px); padding-left: 16px; }
  .section-heading { margin-bottom: 28px; gap: 40px; }
  .section-heading > p { font-size: 17px; max-width: 44ch; }
  .section-heading br { display: none; }
  .section .text-link { font-size: 16px; }

  .service-explorer { grid-template-columns: clamp(360px, 24vw, 480px) minmax(0, 1fr); }
  .service-explorer .service-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 0; border-right: 1px solid #bbc5c9; }
  .service-explorer .service-tabs button { min-height: 64px; padding: 13px 16px; font-size: 16px; gap: 10px; border-right: 1px solid #cbd1d2; border-bottom: 1px solid #cbd1d2; }
  .service-explorer .service-tabs button:nth-child(2n) { border-right: 0; }
  .service-explorer .service-tabs button:last-child { grid-column: 1 / -1; border: 0; justify-content: center; }
  .service-tabs .icon { width: 24px; height: 24px; }
  .service-panel { padding: 28px 32px; grid-template-columns: minmax(0, 1fr) clamp(260px, 15vw, 360px); column-gap: 40px; }
  .service-panel__intro { margin-bottom: 22px; }
  .service-panel__intro h3 { font-size: clamp(26px, 1.5vw, 34px); }
  .service-panel__intro p { font-size: 17px; max-width: 42em; line-height: 1.55; margin-top: 12px; }
  #service-decor { width: 100%; height: clamp(280px, 16vw, 380px); }
  .symptom-fieldset legend { font-size: 16px; margin-bottom: 12px; }
  .symptom-options { gap: 12px 26px; }
  .symptom-option span { font-size: 16px; }
  .symptom-option input { width: 18px; height: 18px; margin-top: 3px; }
  .service-actions { margin-top: 24px; }
  .service-actions .button { font-size: 16px; min-height: 50px; padding-inline: 22px; }

  #process > .container { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr) minmax(0, 1fr); gap: 28px 40px; align-items: start; }
  #process .section-heading { grid-column: 1 / -1; margin: 0; }
  .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 24px; margin: 0; }
  .process-steps li { grid-template-columns: 32px minmax(0, 1fr); gap: 0 10px; border: 0; padding: 0; margin: 0; }
  .process-steps li > span { font-size: 26px; }
  .process-steps h3 { font-size: 18px; }
  .process-steps p { font-size: 15px; line-height: 1.55; }
  .cost-layout { display: contents; }
  .cost-intro { grid-template-columns: minmax(0, 1fr) clamp(150px, 9vw, 220px); gap: 20px; }
  .cost-decor__meter { width: 100%; height: clamp(150px, 9vw, 220px); }
  .cost-note h3 { font-size: 22px; }
  .cost-intro p, .cost-note > p:not(.eyebrow) { font-size: 16px; line-height: 1.55; max-width: 55ch; }
  .cost-note > p:not(.eyebrow) { margin-block: 14px; }
  .cost-checklist { padding: 22px; }
  .cost-checklist h3 { font-size: 22px; }
  .cost-checklist .eyebrow { font-size: 12px; }
  .cost-example { font-size: 16px; }
  .cost-example > div { padding-block: 11px; font-size: 16px; }
  .cost-example--total > div:last-child { margin-inline: -22px; padding-inline: 22px; font-size: 20px; }
  .cost-example-note { font-size: 15px; line-height: 1.55; }

  #warranty > .container { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr) minmax(0, 1.05fr); gap: 28px 40px; align-items: start; }
  #warranty .section-heading { grid-column: 1 / -1; margin: 0; }
  .warranty-grid { display: contents; }
  .warranty-heading { gap: 16px; padding-bottom: 20px; }
  .warranty-heading .large-icon { width: 30px; height: 30px; }
  .warranty-heading h3 { font-size: 24px; }
  .warranty-heading p { font-size: 17px; max-width: 55ch; }
  .warranty-conditions summary { font-size: 17px; padding-block: 16px; }
  .warranty-conditions details p { font-size: 16px; max-width: 60ch; }
  .warranty-aside { padding: 22px; }
  .warranty-aside h3 { font-size: 22px; }
  .warranty-note p { font-size: 16px; line-height: 1.55; }
  .warranty-aside .button { font-size: 16px; min-height: 50px; }
  .warranty-route { margin: 0; padding: 0 0 0 28px; border-top: 0; border-left: 1px solid #c6ced1; }
  .warranty-route > h3 { font-size: 22px; }
  .warranty-route ol { grid-template-columns: 1fr; gap: 20px; margin-top: 20px; }
  .warranty-route li { display: grid; grid-template-columns: 26px minmax(0, 1fr); column-gap: 10px; }
  .warranty-route li::before { grid-row: 1 / 3; font-size: 13px; padding-top: 3px; }
  .warranty-route h4 { font-size: 17px; margin-bottom: 6px; }
  .warranty-route p { grid-column: 2; font-size: 16px; max-width: 50ch; }

  .documents-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
  .document-card { grid-template-columns: 30px minmax(0, 1fr) auto; grid-template-areas: "icon title title" ". description description" ". action status"; align-items: start; padding: 24px 0; gap: 12px 18px; }
  .document-card > .large-icon { grid-area: icon; width: 28px; height: 28px; }
  .document-card h3 { grid-area: title; font-size: 22px; }
  .document-card > p { grid-area: description; font-size: 16px; max-width: 56ch; line-height: 1.55; }
  .document-card > .text-link { grid-area: action; font-size: 16px; align-self: center; }
  .document-status { grid-area: status; font-size: 13px; align-self: center; }
  .document-reminder { margin-top: 22px; padding-top: 18px; gap: 18px; }
  .document-reminder p { font-size: 15px; max-width: 75ch; }
  .document-reminder a { font-size: 15px; }

  .faq-layout { gap: 28px; }
  .faq-heading { gap: 32px; align-items: center; }
  .faq-heading .section-description { max-width: 55ch; font-size: 17px; line-height: 1.55; }
  .faq-layout > div:last-child { grid-template-columns: minmax(360px, 580px) minmax(0, 1fr); gap: 22px 32px; }
  .search-field input { font-size: 16px; }
  .faq-filters { justify-content: end; gap: 8px; }
  .faq-filters button { font-size: 15px; min-height: 44px; padding-inline: 16px; }
  .faq-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 36px; }
  .faq-list summary { font-size: 17px; padding-block: 17px; }
  .faq-list details p { font-size: 16px; line-height: 1.6; max-width: 58ch; }
  .faq-list details:nth-last-child(-n + 3) { border-bottom: 1px solid #ced2d1; }

  .contact-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 48px; }
  .contact-card dt { font-size: 15px; }
  .contact-card dd { font-size: 19px; }
  .contact-card dl > div:first-child dd { font-size: 28px; }
  .contact-card dl { gap: 18px 48px; }
  .local-contact-note { font-size: 14px; max-width: 90ch; }
  .site-footer { padding-block: 28px 18px; }
  .footer-top { padding-bottom: 22px; }
  .footer-top > div { gap: 32px; }
  .footer-top a:not(.brand) { font-size: 16px; }
  .footer-bottom { padding-top: 16px; font-size: 13px; }

  .request-dialog { width: 720px; }
  .info-dialog { width: 640px; }
  dialog h2 { font-size: 30px; }
  dialog p, .request-types button, .form-progress, .request-review { font-size: 14px; }
  .field > label, .field input, .field select, .field textarea { font-size: 15px; }
  .field > label span, .field small, .consent { font-size: 12px; }
}
