/* Shared desktop and mobile finishing styles. */
body { line-height: 1.6; }
img { max-width: 100%; }
.heroGrid > *, .grid2 > *, .contactGrid > *, .footerGrid > * { min-width: 0; }
.nav { gap: 20px; flex-wrap: wrap; }
.brand { min-width: 0; }
.logoHalo, .hamburger { flex-shrink: 0; }
.brand small { display: inline-block; line-height: 1.4; }
.desktop-menu { width: 100%; justify-content: center; flex-wrap: wrap; gap: 4px; }
.menu a { font-size: .94rem; }
.heroMedia img { object-fit: contain; }
section { padding: 28px 0; }
.hero + section { padding-top: 12px; }
a, button, input, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid #6ee7ff; outline-offset: 4px; }
html { scroll-padding-top: 220px; }
.wa-float { width: 84px; height: 84px; animation: none; }
.mobile-menu:not(.open) { visibility: hidden; }
.mobile-menu.open { max-height: calc(100dvh - var(--nav-height, 110px)); }
@media (min-width: 1101px) {
  .nav { justify-content: center; }
  .logoHalo { width: 78px; height: 64px; }
  .site-logo { height: 64px; }
  .mobile-menu { display: none; }
}
@media (max-width: 1100px) {
  .desktop-menu { display: none; }
  .hamburger { display: block; width: 44px; height: 44px; }
  .nav { flex-wrap: nowrap; }
  .logoHalo { width: 80px; height: 80px; }
  .site-logo { height: 64px; }
  html { scroll-padding-top: 130px; }
}
@media (max-width: 600px) {
  .brand { gap: 8px; }
  .brand small { font-size: .68rem; max-width: 210px; }
  .logoHalo { width: 60px; height: 60px; }
  .site-logo { height: 48px; }
  .nav { padding: 10px 0; gap: 10px; }
  .hero { padding: 28px 0; }
  .heroGrid { gap: 24px; }
  .wrap { padding-left: 16px; padding-right: 16px; }
  h1 { overflow-wrap: break-word; }
  .panel, .ctaBox { padding: 18px; }
  .wa-float { width: 64px; height: 64px; right: 12px; bottom: 12px; }
  footer { padding-bottom: 100px; }
  input, textarea, select { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
