/* Web reading uses the site's shared container; A4 rules stay in firmware.css. */
@media screen {
  main { padding: 0 var(--site-container-gutter) 48px; }
  .sheet { width: 100%; max-width: var(--site-container-max); min-height: 0; padding: clamp(28px, 4vw, 64px); margin: 24px auto; }
  .viewer-bar { max-width: none; padding-inline: var(--site-container-inline); }
  .heading h2 { max-width: 960px; font-size: clamp(28px, 3vw, 44px); }
  .lead { max-width: 960px; font-size: 17px; }
  .sheet h3 { font-size: 23px; }
  .expertise-grid p, .application-title > p:last-child, .application-detail li,
  .result, .platform p, .layers p, .sequence-panel > p:last-child,
  .verification-grid p, .process p, .handover-grid p, .scope-grid p,
  .delivery-band p:last-child, .prepare li, .integration-checks p,
  .integration-output p:last-child { font-size: 16px; }
  .eyebrow, .expertise-grid small, .result small { font-size: 12px; }
  .micro { font-size: 10px; }
  .platform strong, .verification-grid h4, .integration-checks h4 { font-size: 18px; }
  .note { font-size: 14px; max-width: 1000px; }
  .expertise-grid { gap: 0 36px; }
  .expertise-grid article { padding-block: 28px; }
  .application-list article { gap: 36px; min-height: 0; padding-top: 28px; }
  .application-detail { padding: 24px; }
  .method-grid { gap: 36px; }
  .sequence li { font-size: 15px; }
  .verification-grid { gap: 24px; }
  .handover-grid article { padding: 28px; }
  .contact-panel { padding: 32px; }
  .contact-panel h3 { font-size: 28px; }
  .contact-panel > p:not(.eyebrow), .contact-cta { font-size: 16px; }
  .contact-panel > small { font-size: 12px; }
}
@media screen and (min-width: 1100px) {
  .cover .page-body { display: grid; grid-template-columns: 1.15fr 1fr; column-gap: 48px; align-content: center; }
  .cover .page-body > :not(.circuit-art):not(.cover-bottom) { grid-column: 1; }
  .cover .cover-title { font-size: clamp(76px, 6vw, 96px); margin-top: 16px; }
  .cover-headline { font-size: 36px; }
  .cover-intro { font-size: 17px; }
  .cover .circuit-art { grid-column: 2; grid-row: 1 / span 4; align-self: center; height: 390px; margin: 0; }
  .cover .processor { top: 100px; }
  .cover .t1 { top: 130px; }
  .cover .t2 { top: 195px; }
  .cover .t3 { top: 230px; }
  .cover .t4 { top: 110px; }
  .cover .input { top: 110px; left: 0; }
  .cover .output { top: 240px; right: 0; }
  .cover .connect { top: 80px; right: 0; }
  .cover-bottom { grid-column: 1 / -1; margin-top: 44px; }
  .cover-bottom p { max-width: 800px; font-size: 17px; }
  .expertise-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .platform { display: grid; grid-template-columns: 1fr 2fr; gap: 32px; padding: 28px; }
  .platform p { margin: 0; }
}
@media screen and (max-width: 580px) {
  .sheet { padding: 26px 22px; }
  .viewer-bar { margin-top: 12px; }
  .lead { font-size: 16px; }
  .sheet h3 { font-size: 21px; }
  .application-list article, .method-grid { gap: 24px; }
  .application-detail, .handover-grid article, .contact-panel { padding: 22px; }
  .process { grid-template-columns: 1fr; }
  .contact-panel h3 { font-size: 23px; }
  .running span:last-child { max-width: 115px; }
}

/* Service publications share an overview, document body and clear consultation action. */
.brochure-summary { display: none; }
@media screen {
  .brochure-summary { display: block; max-width: var(--site-container-max); margin: 32px auto; }
  .brochure-summary h1 { margin: 0 0 16px; font-size: clamp(28px, 3vw, 40px); line-height: 1.4; letter-spacing: -.035em; }
  .brochure-summary > p:not(.eyebrow) { max-width: 960px; color: var(--muted); font-size: 17px; line-height: 1.85; }
  .service-detail-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; margin-top: 12px; color: var(--blue); font-size: 16px; font-weight: 650; text-decoration: none; }
  .service-detail-link:hover { color: #1945b5; }
  .contact-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 40px; align-items: start; padding: 40px; border: 1px solid var(--line); border-radius: 20px; background: #eff4fd; color: var(--ink); }
  .contact-panel > :not(.contact-cta) { grid-column: 1; }
  .contact-panel .eyebrow { color: var(--teal); }
  .contact-panel > p:not(.eyebrow) { color: var(--muted); }
  .contact-panel .contact-email { font-size: 21px; }
  .contact-panel .contact-cta { grid-column: 2; grid-row: 2 / span 3; align-self: center; display: inline-flex; gap: 28px; min-width: 218px; min-height: 62px; margin: 0; padding: 16px 24px; border: 1px solid transparent; border-radius: 6px; background: var(--blue); color: #fff; box-shadow: 0 4px 12px #2458dc29; font-size: 16px; }
  .contact-panel .contact-cta:hover { background: #1945b5; }
  .contact-panel > small { display: none; }
}
@media screen and (max-width: 900px) {
  .contact-panel { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 24px; }
  .contact-panel .contact-cta { grid-column: 1; grid-row: auto; margin-top: 24px; justify-self: start; }
}
@media screen and (max-width: 580px) {
  .brochure-summary > p:not(.eyebrow) { font-size: 16px; }
  .contact-panel .contact-cta { min-width: 0; width: 100%; gap: 16px; }
  .contact-panel .contact-email { font-size: 18px; }
}

@media screen {
  .brochure-bar { z-index: 50; }
  .brochure-bar-action { text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
}
