* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Inter', sans-serif; color: #2B2B2B; background: #fff; }
a { text-decoration: none; color: inherit; }

@keyframes floatPulse { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

.navlink:hover { color: #FF6B4A !important; }
.scard:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(27,59,95,0.13); }
.btnwa:hover { background: #ff5635 !important; }

.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; }
.svc-toggle { border: 1px solid #E4E4E0; border-radius: 18px; background: #fff; overflow: hidden; transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.svc-toggle > summary { list-style: none; cursor: pointer; }
.svc-toggle > summary::-webkit-details-marker,
.svc-toggle > summary::marker { display: none; content: ""; }
.svc-toggle:not([open]):hover { box-shadow: 0 14px 32px rgba(27,59,95,0.1); transform: translateY(-3px); border-color: #D8DCE3; }
.svc-toggle[open] { grid-column: 1 / -1; border-color: #1B3B5F; }
.svc-toggle > summary .chev { transition: transform .2s ease; flex: none; }
.svc-toggle[open] > summary .chev { transform: rotate(180deg); }
.svc-body { animation: svcOpen .18s ease; }
@keyframes svcOpen { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 900px) {
  .svc-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 820px) {
  .nav-links { display: none !important; }
  .hero-h1 { font-size: 42px !important; }
  .page-h1 { font-size: 38px !important; }
  .grid-2 { grid-template-columns: 1fr !important; }
  .grid-3 { grid-template-columns: 1fr !important; }
  .grid-4 { grid-template-columns: 1fr 1fr !important; }
  .vet-grid { grid-template-columns: 1fr !important; }
  .wrap { padding-left: 22px !important; padding-right: 22px !important; }
  .hero-pad { padding-top: 70px !important; padding-bottom: 70px !important; }
}
@media (max-width: 560px) {
  .svc-grid { grid-template-columns: 1fr !important; }
}
