/* Clip horizontal decoration without creating a scrolling ancestor. */
html body { overflow-x: clip; }
html body[class] main { overflow: clip; }
body .site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
}
body .download-header { position: sticky; top: 0; z-index: 100; }
/* Preserve caption spacing after changing the former heading to a paragraph. */
body:is(.service-document-page, .service-saiyou-page, .service-monthly-page, .service-wp-page, .service-pamphlet-page) .site-header .hero-caption {
  letter-spacing: .08em;
}
/* Match the document service: hide the header caption in the mobile layout. */
@media (max-width: 920px) {
  body .site-header .hero-caption { display: none; }
}
body.admin-bar :is(.site-header, .download-header) { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar :is(.site-header, .download-header) { top: 46px; }
}
@media (max-width: 600px) {
  body.admin-bar #wpadminbar { position: fixed; }
}

/* Shared CTA material previews. Mobile keeps the existing compact buttons. */
@media (min-width:921px) {
 body :is(.document-cta-cards, .pamphlet-cta-cards) a:has(> img) { grid-template-columns:102px minmax(0,1fr); column-gap:16px; }
 body :is(.document-cta-cards, .pamphlet-cta-cards) a > img { width:102px; height:108px; object-fit:contain; }
}
body.service-monthly-page .mservice-hero-copy > p,
body.service-monthly-page .mservice-contract-months { color:#000; }
body.service-monthly-page .mservice-comparison-columns .is-highlighted .mservice-rating { color:var(--document-orange, #e89818); }
