/* Global interaction and mobile fluidity enhancements — 2026-07-30 */
:root{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:88px;
}

html{
  -webkit-tap-highlight-color:transparent;
}

body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  touch-action:pan-x pan-y;
}

button,
a,
input,
select,
textarea,
[role="button"]{
  touch-action:manipulation;
}

a,
button,
[role="button"],
summary,
input,
select,
textarea{
  transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease;
}

a:active,
button:active,
[role="button"]:active,
summary:active{
  transform:scale(.985);
}

img,
video,
iframe{
  max-width:100%;
  height:auto;
}

img[loading="lazy"],
iframe[loading="lazy"]{
  content-visibility:auto;
}

@media (max-width:900px){
  body{
    overscroll-behavior-x:none;
  }

  a,
  button,
  [role="button"],
  input,
  select,
  textarea,
  summary{
    min-height:44px;
  }

  input,
  select,
  textarea{
    font-size:16px!important;
  }

  .card,
  .post-card,
  .article-card,
  .service-card{
    content-visibility:auto;
    contain-intrinsic-size:1px 420px;
  }
}

@media (prefers-reduced-motion:reduce){
  :root{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}
