/* Shared utility treatment for tool, information and reading pages.
   Typography continues to inherit existing page sizes. */
.sub-page :is(.jpg-hero,.about-hero,.contact-hero,.privacy-hero,.terms-hero) { padding-top: 32px; padding-bottom: 28px; }
.sub-page :is(.about-story,.contact-channel,.privacy-document,.terms-document) { border-radius: 12px; background: var(--surface); border-color: var(--border); box-shadow: none; }
.sub-page :is(.about-values article,.contact-types article,.jpg-use-grid article,.jpg-steps li) { background: transparent; border: 0; border-top: 1px solid var(--border); border-radius: 0; box-shadow: none; }
.sub-page :is(.related-grid > *,.guide-links > *) { border-radius: 8px; box-shadow: none; }
.sub-page :is(.related-grid > a,.guide-links > a) { min-height: 44px; }
.sub-page :is(.comparison-table-wrap,.guide-table,.resize-settings,.resize-result,.resize-source-card,.contact-email-card) { border-radius: 8px; box-shadow: none; }
.sub-page .dedicated-tool-heading .upload-icon { width: 38px; height: 38px; margin: 0; display: grid; place-items: center; flex-shrink: 0; }
.sub-page .guide-card {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.sub-page .guide-card:focus-within {
  border-color: var(--primary);
  background: var(--surface-2);
  box-shadow: 0 4px 12px rgb(15 35 25 / 8%);
}
@media (hover: hover) {
  .sub-page .guide-card:hover {
    border-color: var(--border-strong);
    background: var(--surface-2);
    box-shadow: 0 4px 12px rgb(15 35 25 / 8%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .sub-page .guide-card { transition: none; }
}
.sub-page .guide-categories span { border-radius: 6px; }
.sub-page .guide-article { padding-top: 32px; }
.sub-page .guide-article a.primary-button { color: #fff; }
.sub-page .guide-article a.primary-button:hover { color: #fff; }
.sub-page .resize-presets button { min-height: 44px; border-radius: 8px; }
.sub-page :is(.ghost-button,.contact-email-link) { border-radius: 8px; }
@media (max-width: 700px) {
  .sub-page :is(.jpg-hero,.about-hero,.contact-hero,.privacy-hero,.terms-hero) { padding-top: 28px; padding-bottom: 24px; }
  .sub-page .guide-article { padding-top: 24px; }
}
