* { box-sizing: border-box; }
body { margin: 0; font-family: 'Noto Sans SC', system-ui, sans-serif; color: #173B5E; background: #ffffff; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
html { scroll-behavior: smooth; }
::selection { background: #BFE2FF; color: #123A5E; }
img { display: block; }
a { -webkit-tap-highlight-color: transparent; }

@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
@keyframes floaty2 { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-22px) rotate(4deg); } }
@keyframes bobble { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-10px) rotate(3deg); } }

.navlink { padding: 8px 13px; text-decoration: none; font-size: 14.5px; font-weight: 600; color: #43617D; border-radius: 10px; background: transparent; transition: all .2s ease; }
.navlink.active { font-weight: 800; color: #0E7AE6; background: #EAF4FF; }

#mobile-menu { display: none; }
#mobile-menu.open { display: flex; }

@media (max-width: 860px) {
  [data-role="desktop-nav"] { display: none !important; }
  [data-role="burger"] { display: flex !important; }
  [data-resp="2col"] { grid-template-columns: 1fr !important; gap: 40px !important; }
  [data-resp="grid4"] { grid-template-columns: 1fr 1fr !important; }
  [data-resp="grid3"] { grid-template-columns: 1fr !important; }
  [data-resp="hero-h1"] { font-size: 38px !important; }
  [data-resp="h2"] { font-size: 30px !important; }
  [data-resp-2="contact-card"] { padding: 32px !important; }
}
@media (max-width: 540px) {
  [data-resp="grid4"], [data-resp="feat2"] { grid-template-columns: 1fr !important; }
  [data-resp="hero-h1"] { font-size: 32px !important; }
}
