/* B2.1 — targeted desktop readability. Original B2 layout and mobile styles are retained.
   Scope: screens >= 1024 CSS px. No root scaling, page zoom, new media or heading inflation. */
@media screen and (min-width:1024px) {
  body { font-size:18px; }
  .eyebrow, .hero .eyebrow, .mep-feature .eyebrow, .code-copy>.eyebrow,
  .closing .eyebrow { font-size:13px; letter-spacing:.11em; }
  .fine { font-size:13px; }
  .utility { font-size:11px; letter-spacing:.1em; height:30px; }
  .brand-name small { font-size:9px; }
  .navigation { gap:clamp(16px,1.65vw,25px); }
  .navigation a { font-size:14px; letter-spacing:0; }
  .button, .header-button, .hero-actions .button, .mep-intro .button,
  .code-copy>.button, .section-heading .button, .production-copy .button,
  .audience-section .button, .form-panel .button { font-size:14px; letter-spacing:.025em; min-height:48px; }
  .header-button { font-size:13px; padding:12px 16px; gap:15px; }
  .text-action { font-size:16px; }
  .hero-summary { font-size:20px; line-height:1.55; max-width:490px; }
  .hero-sub { font-size:17px; line-height:1.6; max-width:460px; }
  .hero-photo-caption { font-size:12px; letter-spacing:.03em; }
  .service-shortcuts span { font-size:14px; }
  .service-shortcuts a { gap:15px; }
  .mep-intro>p:not(.eyebrow) { font-size:18px; line-height:1.6; max-width:430px; }
  .mep-disciplines { min-width:0; }
  .discipline-tabs button { padding-inline:4px; }
  .discipline-tabs button span { font-size:15px; }
  .discipline-description { min-height:205px; }
  .discipline-description h3 { font-size:20px; line-height:1.35; }
  .discipline-description p { font-size:16px; line-height:1.65; }
  .partner-signature>span { font-size:11px; max-width:112px; line-height:1.6; letter-spacing:.04em; }
  .partner-signature small { font-size:10px; }
  .mep-visual button { height:300px; }
  .mep-visual>p { font-size:12px; }
  .drawing-open { font-size:13px; }
  .mep-responsibilities p { font-size:14px; line-height:1.7; }
  .mep-responsibilities b { font-size:14px; }
  .notice-figure figcaption { font-size:12px; }
  .code-copy>.lead-small { font-size:20px; }
  .code-copy>p:not(.eyebrow):not(.lead-small):not(.fine) { font-size:18px; line-height:1.65; }
  .code-steps h3 { font-size:18px; }
  .code-steps p { font-size:15px; line-height:1.65; }
  .code-copy>.fine { font-size:13px; }
  .code-types h3 { font-size:15px; letter-spacing:.03em; }
  .code-types li { font-size:15px; line-height:1.6; }
  .code-types { padding-left:23px; }
  .code-motto { font-size:11px; }
  .section-heading>p, .section-heading>div>p:not(.eyebrow) { font-size:18px; line-height:1.65; }
  .media-type { font-size:12px; }
  .project-caption .eyebrow { font-size:12px; }
  .project-caption p:not(.eyebrow) { font-size:16px; }
  .filter-bar button { font-size:16px; }
  .filter-bar>span { font-size:14px; }
  .production-copy>p:not(.eyebrow):not(.fine) { font-size:18px; }
  .production-services span { font-size:15px; }
  .production-copy>.fine { font-size:13px; }
  .doc-toolbar>span { font-size:11px; }
  .doc-toolbar .text-action { font-size:14px; }
  .doc-tabs button { font-size:15px; }
  .doc-caption { font-size:12px; }
  .delivery-grid>div>p:not(.eyebrow) { font-size:18px; }
  .delivery-options>a>p { font-size:17px; }
  .closing p:not(.eyebrow) { font-size:18px; }
  .closing-actions>a:not(.button) { font-size:16px; }
  .footer-main>div>small { font-size:13px; }
  .footer-main h2 { font-size:14px; }
  .footer-main>div>a:not(.brand), .footer-main>div>p { font-size:16px; }
  .footer .brand-name small { font-size:8px; }
  .footer-professional>p { font-size:13px; line-height:1.7; }
  .footer-bottom>.wrap { font-size:12px; }
  .page-hero .lead { font-size:20px; }
  .breadcrumb { font-size:13px; }
  .two-col>div>p:not(.eyebrow):not(.fine) { font-size:18px; }
  .partner-card>span { font-size:13px; }
  .partner-card p { font-size:18px; }
  .discipline-card-grid h4 { font-size:19px; }
  .discipline-card-grid p { font-size:17px; }
  .role-grid p:not(.eyebrow) { font-size:18px; }
  .role-note { font-size:14px; }
  .call-inline { font-size:17px; }
  .resolution-process .code-steps p { font-size:17px; }
  .resolution-detail-grid h3 { font-size:21px; }
  .resolution-detail-grid p { font-size:17px; }
  .check-list li { font-size:18px; }
  .faq summary { font-size:18px; }
  .faq details>p { font-size:17px; }
  dt { font-size:12px; }
  dd { font-size:18px; }
  .gallery-tile figcaption { font-size:16px; }
  .gallery-tile figcaption>span { font-size:13px; }
  .service-jump a { font-size:14px; }
  .service-detail .two-col .fine { font-size:13px; }
  .about-image figcaption { font-size:13px; }
  .audience-section article>p:not(.eyebrow) { font-size:18px; }
  .contact-direct>a, .contact-direct>div { font-size:18px; }
  .contact-direct small { font-size:12px; }
  .contact-info>p { font-size:18px; }
  .contact-info>.fine { font-size:13px; }
  .form-panel>p { font-size:17px; }
  form label { font-size:16px; }
  input, select, textarea { font-size:17px; }
  .checkbox { font-size:14px; }
  form>.fine { font-size:13px; }
  #draft-text { font-size:16px; }
  .legal-nav>a { font-size:15px; }
  .legal-copy>p { font-size:18px; line-height:1.8; }
  .legal-date { font-size:14px!important; }
  .dialog-top .eyebrow { font-size:12px; }
  #gallery-caption { font-size:16px; }
  #gallery-note { font-size:13px; }
  #gallery-count, .zoom-reset { font-size:14px; }
}
/* Compact desktop: keep navigation readable without crowding or shrinking type. */
@media screen and (min-width:1024px) and (max-width:1240px) {
  .header-button { display:none; }
  .header-inner { gap:20px; }
  .navigation { gap:17px; }
  .navigation a { font-size:13px; }
  .hero-summary { font-size:19px; }
  .hero-actions .button { padding-inline:16px; gap:14px; }
  .mep-feature-grid { grid-template-columns:1.05fr 1fr; gap:32px; }
  .mep-visual { grid-column:1/-1; display:grid; grid-template-columns:1.05fr 1fr; gap:32px; align-items:center; }
  .mep-visual button { height:250px; }
  .mep-visual>p { margin:0; max-width:390px; font-size:13px; }
  .code-layout { grid-template-columns:.82fr 1.48fr; gap:30px; }
  .code-types { grid-column:1/-1; border-left:0; border-top:1px solid var(--line); padding:23px 0 0; }
  .code-types>.icon { display:none; }
  .code-types h3 { margin-bottom:14px; }
  .code-types ul { display:grid; grid-template-columns:repeat(3,1fr); gap:0 25px; }
  .code-motto { display:none; }
  .doc-toolbar { padding-inline:12px; gap:10px; }
  .doc-toolbar>span { font-size:10px; }
  .doc-tabs button { padding-inline:8px; font-size:14px; }
  .doc-caption { flex-wrap:wrap; gap:6px; }
  .footer-main { gap:32px; }
  .footer-main>div>a:not(.brand), .footer-main>div>p { font-size:15px; overflow-wrap:anywhere; }
}
