/* Phone typography and spacing for all public pages; desktop keeps its layout. */
@media(max-width:600px) {
  body.policy-page { padding:16px; font-size:16px; line-height:1.55; }
  body.policy-page h1 { font-size:28px; line-height:1.2; }
  body.policy-page h2 { font-size:22px; line-height:1.25; margin-top:24px; }
  body.policy-page .policy-nav { gap:8px 16px; margin-bottom:20px; padding-bottom:12px; }
  body.policy-page .policy-nav a { min-height:44px; display:inline-flex; align-items:center; }
  html { -webkit-text-size-adjust:100%; }
  body.home-modern:not(.page-profirst-suite) h1 { font-size:clamp(28px,8vw,36px)!important; line-height:1.12!important; letter-spacing:-.025em!important; overflow-wrap:break-word; }
  body.home-modern:not(.page-profirst-suite) h2 { font-size:clamp(22px,6vw,28px)!important; line-height:1.22!important; letter-spacing:-.015em!important; }
  body.home-modern:not(.page-profirst-suite) h3 { font-size:20px!important; line-height:1.3!important; }
  body.home-modern:not(.page-profirst-suite) :is(main,section) p { font-size:16px!important; line-height:1.55!important; text-align:left!important; }
  body.home-modern:not(.page-profirst-suite) main li { font-size:16px!important; line-height:1.5!important; }
  body.home-modern:not(.page-profirst-suite) :is(.info-hero,.prod-hero,.sw-hero,.cut-hero) { min-height:0!important; padding:88px 16px 28px!important; }
  body.home-modern:not(.page-profirst-suite) :is(.info-hero__inner,.prod-hero__inner,.sw-hero__inner,.cut-hero__inner) { width:100%!important; padding:0!important; gap:20px!important; }
  body.home-modern:not(.page-profirst-suite) :is(.info-hero__sub,.prod-hero__sub,.sw-hero__lead,.cut-hero__lead) { font-size:16px!important; line-height:1.5!important; margin-top:12px!important; }
  body.home-modern:not(.page-profirst-suite) :is(.info-hero__title,.prod-hero__title) { margin-top:12px!important; margin-bottom:12px!important; }
  body.home-modern:not(.page-profirst-suite) :is(.info-main,.support-main,.download-main,.sw-main,.cut-main) { width:calc(100% - 24px)!important; max-width:100%!important; margin-top:20px!important; gap:16px!important; }
  body.home-modern:not(.page-profirst-suite) :is(.info-card,.support-card,.download-card,.download-sidecard,.sw-section,.cut-section) { padding:20px 16px!important; border-radius:16px!important; min-width:0; }
  body.home-modern:not(.page-profirst-suite) :is(.sw-hero__points,.cut-hero__points) { gap:8px!important; margin:16px 0!important; }
  body.home-modern:not(.page-profirst-suite) :is(.sw-hero__point,.cut-hero__point) { padding:10px 12px!important; min-height:0!important; }
  body.home-modern:not(.page-profirst-suite) :is(.sw-hero__point,.cut-hero__point) :is(strong,span) { font-size:14px!important; line-height:1.4!important; }
  body.home-modern:not(.page-profirst-suite) :is(.sw-hero__visual,.cut-hero__visual) { margin:0!important; }
  body.home-modern:not(.page-profirst-suite) :is(.sw-hero__visual,.cut-hero__visual) img { max-height:240px; object-fit:contain; }
  body.home-modern:not(.page-profirst-suite) :is(.sw-section,.cut-section,.info-card,.support-card,.download-card) h2 { margin-bottom:12px!important; }
  body.home-modern:not(.page-profirst-suite) :is(.sw-btn,.cut-btn,.info-btn,.prod-btn,.hm-btn) { min-height:44px; font-size:14px!important; padding:12px 16px!important; white-space:normal!important; text-align:center; }
  body.home-modern :is(input,select,textarea) { font-size:16px!important; max-width:100%; box-sizing:border-box; }
  body.home-modern :is(.info-hero__pills,.prod-hero__pills) { gap:8px!important; flex-wrap:wrap; }
  body.home-modern :is(.info-hero__pills,.prod-hero__pills) a { min-height:44px; display:inline-flex; align-items:center; white-space:normal; }
  body.home-modern.theme-home .hm-hero { padding:88px 16px 28px!important; min-height:0!important; }
  body.home-modern.theme-home .hm-hero__grid { min-height:0!important; gap:20px!important; }
  body.home-modern.theme-home .hm-hero .hm-hero__title { max-width:none!important; width:100%!important; }
  body.home-modern.theme-home .hm-hero :is(p,.hm-hero__sub) { font-size:16px!important; line-height:1.5!important; }
  body.home-modern.theme-home :is(.hm-section,.hm-solutions,.hm-products) { padding-top:28px!important; padding-bottom:28px!important; }
  body.home-modern :is(.info-card,.download-card,.support-card) :is(a,p,li) { overflow-wrap:anywhere; }
}
