.nav { min-height: 74px; display: grid; grid-template-columns: 136px 1fr auto; align-items: center; gap: 24px; }
.nav nav { min-width: 0; }
.nav-links { display: flex; align-items: center; justify-content: center; gap: 36px; list-style: none; margin: 0; padding: 0; }
.nav-links a { position: relative; font-size: .9rem; font-weight: 700; white-space: nowrap; color: var(--ink); }
.nav-links a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -10px; height: 2px; background: var(--green); transition: right .2s; }
.nav-links a:hover, .nav-links a[aria-current=page], .nav-links a.active { color: var(--ink); }
.nav-links a:hover::after, .nav-links a[aria-current=page]::after, .nav-links a.active::after { right: 0; }
.footer-top { display: grid; grid-template-columns: 2fr 1fr 1.45fr 1.25fr; gap: 38px; padding-bottom: 30px; }
.footer-brand { display: flex; align-items: center; gap: 12px; }
.footer-brand img { width: 90px; height: 58px; object-fit: contain; }
.footer-brand span { color: #fff; font-weight: 800; }
.footer-about { max-width: 300px; font-size: .75rem; }
.footer-col h4 { margin: 0 0 10px; color: #fff; }
.footer-col ul { list-style: none; }
.footer-col li { margin: 6px 0; }
.footer-col a, .footer-col span { color: #a9c7ba; font-size: .72rem; }
.footer-col a:hover { color: #fff; }
.footer-service-area { display: flex; align-items: center; gap: 8px; }
.pill-dot { width: 7px; height: 7px; border-radius: 50%; background: #3ad17e; }

@media (max-width: 960px) {
  .nav { grid-template-columns: 100px 1fr auto; }
  .nav-links { position: fixed; z-index: 90; inset: 74px 0 auto; display: flex; flex-direction: column; align-items: stretch; padding: 24px; background: var(--cream); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); transform: translateY(-130%); visibility: hidden; opacity: 0; transition: .25s; }
  .nav-links.open { transform: translateY(0); visibility: visible; opacity: 1; }
  .nav-links a { font-size: .95rem; }
  .nav-links a::after { display: none; }
  .footer-top { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-top > div:last-child { grid-column: 2 / 4; }
}

@media (max-width: 650px) {
  .nav { min-height: 64px; width: calc(100% - 28px); grid-template-columns: auto auto; justify-content: space-between; gap: 12px; }
  .nav .brand { width: 88px; height: 52px; padding: 3px 5px; }
  .nav-links { inset-block-start: 64px; }
  .footer-top { grid-template-columns: 1fr; gap: 28px; }
  .footer-top > div:first-child, .footer-top > div:last-child { grid-column: auto; }
  .footer-col ul { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; }
  .footer-col li { width: 100%; margin: 0; }
  .footer-col a { width: 100%; min-height: 44px; padding: 10px 0; display: flex; align-items: center; font-size: .82rem; line-height: 1.4; }
}
