/* Shared phone/tablet safeguards. Page-specific styling remains authoritative. */
html,body{max-width:100%;overflow-x:hidden}
img,video,svg,canvas{max-width:100%}
iframe{max-width:100%}
table{max-width:100%}
input,select,textarea,button{max-width:100%}

@media (max-width:1024px){
  .wrap,.container,.nav-inner,.hero-inner,.results-wrap{max-width:100%}
  .nav-inner,.wrap,.container{padding-left:clamp(16px,3.5vw,28px);padding-right:clamp(16px,3.5vw,28px)}
  .data-grid,.route-grid,.product-grid,.service-grid,.before-after,.problem-list,.pillars,.trust-grid,.contact-grid,.footer-grid{min-width:0}
  .content,.document,.doc-body,.data-cell,.route-card,.pillar,.step>div,.trust-copy,.trust-facts,.contact-copy,form{min-width:0}
  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media (max-width:768px){
  body{font-size:clamp(14px,3.8vw,16px)}
  h1,h2,h3,p,a,span{overflow-wrap:anywhere}
  .data-grid,.route-grid,.share-row,.product-grid,.service-grid,.before-after,.problem-list,.pillars,.trust-grid,.contact-grid,.footer-grid{grid-template-columns:minmax(0,1fr)!important}
  .hero,.page-hero,section{scroll-margin-top:64px}
  .hero{min-height:auto}
  .document,.ending,.route-card,.pillar,.problem-item{max-width:100%}
  .share-btn,.btn-primary,.nav-cta,.whistle-btn{min-height:44px}
  input,select,textarea{font-size:16px!important}
  .modal-panel{width:min(100%,620px);max-height:calc(100dvh - 24px);overflow-y:auto}
  .lightbox{padding:12px}
}

@media (max-width:480px){
  .wrap,.container,.nav-inner{padding-left:14px;padding-right:14px}
  .step{grid-template-columns:44px minmax(0,1fr)!important;gap:14px!important}
  .fact{align-items:flex-start;gap:12px}
  .fact span:last-child{max-width:62%}
  .hero-actions,.submit-row{align-items:stretch}
  .hero-actions .btn-primary,.submit-row .btn-primary{width:100%;text-align:center}
}

@media (pointer:coarse){
  button,[role="button"],input[type="submit"],input[type="button"],.action-button,.share-btn{min-height:44px}
}

.site-legal{padding:14px 16px 18px;background:#111820;color:rgba(255,255,255,.58);font:11px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;letter-spacing:.02em;text-align:center}
