@media(max-width:600px){html,body{overflow-x:hidden}.nav .wrap{height:68px;width:calc(100% - 24px);gap:10px}.nav .logo{font-size:18px}.nav .nav-right{gap:8px}.nav .nav-phone{display:none}.nav .btn-primary{padding:11px 14px;font-size:11px}.hero h1{font-size:clamp(40px,12vw,58px);overflow-wrap:anywhere}.hero-lead{font-size:17px;line-height:1.5}.article-layout{gap:35px}.article-body{font-size:16px}.article-body h2{font-size:28px}.article-aside{padding:18px}.contact-box{padding:24px 18px}.modal-card{width:100%;max-height:calc(100vh - 24px);padding:28px 18px}.modal-card h2{font-size:30px}.modal-card form input:not([type=checkbox]),.modal-card form textarea{font-size:16px}.btn{max-width:100%;white-space:normal;text-align:left}.post{min-height:280px;padding:22px}.post-image{margin:-22px -22px 20px}.service-pro-card{min-height:0}.universal-hero-art{width:100%;max-width:330px}.hero-has-art>.wrap>h1,.hero-has-art>.wrap>.hero-lead{max-width:100%}}

/* iOS/Safari compatibility: dynamic viewport, safe areas and touch targets */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{min-width:320px}
button,a,input,textarea,select{-webkit-appearance:none;appearance:none}
@media (max-width:768px){
  .wrap{width:calc(100% - 32px)}
  .hero-grid,.services-hero-grid,.split,.contact-grid,.article-layout{min-width:0}
  .hero-stage,.visual,.pro-console,.article-cover{max-width:100%}
  .sticky-cta{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom))}
  body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
}
@media (max-width:600px){
  .modal{padding:12px 12px max(12px,env(safe-area-inset-bottom));align-items:center}
  .modal-card{max-height:calc(100dvh - 24px);max-height:calc(100vh - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .modal-card form input:not([type=checkbox]),.modal-card form textarea{font-size:16px}
  .btn,.nav .nav-right a{min-height:44px}
  .nav{padding-top:env(safe-area-inset-top)}
}
@supports not ((-webkit-backdrop-filter: blur(1px))){header.nav,.sticky-cta{background:rgba(245,243,238,.98)}}
@media (hover:none){.btn:hover,.card:hover,.post:hover,.service-pro-card:hover{transform:none;box-shadow:none}}
