/* Global responsive — safe areas, overflow, touch */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: clip;
  overscroll-behavior: none;
}

/* Smooth GPU-composited transitions on interactive elements */
a, button {
  -webkit-tap-highlight-color: transparent;
}

@supports not (overflow: clip) {
  body {
    overflow-x: hidden;
  }
}

:root {
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}

.site-header {
  padding-top: calc(1.25rem + var(--safe-top));
  padding-right: calc(clamp(1.25rem, 4vw, 2.5rem) + var(--safe-right));
  padding-left: calc(clamp(1.25rem, 4vw, 2.5rem) + var(--safe-left));
}

@media (max-width: 480px) {
  .site-header {
    padding-top: calc(0.85rem + var(--safe-top));
    padding-right: calc(1rem + var(--safe-right));
    padding-left: calc(1rem + var(--safe-left));
  }

  .site-header__logo-main {
    font-size: 1.05rem;
    letter-spacing: 0.1em;
  }

  .site-header__logo-sub {
    font-size: 0.62rem;
  }

  .site-nav-toggle {
    width: 44px;
    height: 44px;
  }
}
