html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .pulse-glow,
  .float-slow {
    animation: none !important;
  }
  [data-aos] {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

.skip-to-content {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 9999;
  padding: 0.75rem 1.5rem;
  background: var(--tw-primary, #0061A4);
  color: #fff;
  font-weight: 700;
  border-radius: 0 0 0.75rem 0;
  transition: left 0.2s;
}
.skip-to-content:focus {
  left: 0;
}

body {
  overflow-x: hidden; /* fallback for Safari <16 */
  overflow-x: clip; /* clip preferred over hidden — prevents scroll on all modern browsers */
}

/* Shared Material Symbols */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Shared glass header */
.glass-header {
  background: rgba(251, 249, 248, 0.8);
  backdrop-filter: blur(12px);
}

/* Shared editorial shadow */
.editorial-shadow {
  box-shadow: 0 10px 40px rgba(27, 28, 28, 0.06);
}

/* Shared editorial gradient */
.editorial-gradient {
  background: linear-gradient(135deg, #0061a4 0%, #2196f3 100%);
}

/* Shared glass panel */
.glass-panel {
  backdrop-filter: blur(12px);
  background: rgba(255, 255, 255, 0.7);
}

img {
  display: block;
}

body.mobile-menu-open {
  overflow: hidden;
}

.mobile-nav-backdrop[hidden],
.mobile-nav-panel[hidden],
.faq-panel[hidden],
[data-filter-item][hidden] {
  display: none !important;
}

.mobile-nav-panel {
  max-height: calc(100vh - 5rem);
  overflow-y: auto;
}

:focus-visible {
  outline: 3px solid rgba(0, 97, 164, 0.85);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .floating-card-mobile-safe {
    right: 1rem !important;
    left: auto !important;
    bottom: 1rem !important;
    max-width: 13rem;
  }

}

.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.social-icon-link {
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border: 1px solid rgba(148, 163, 184, 0.3);
  background: rgba(255, 255, 255, 0.94);
  color: #64748b;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.social-icon-link:hover {
  color: #0061a4;
  border-color: rgba(0, 97, 164, 0.35);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.social-icon-link:active,
.social-icon-link:focus-visible {
  transform: translateY(-1px);
}

.social-icon-link svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: currentColor;
}

.social-icon-link[aria-label="WhatsApp"] svg {
  shape-rendering: geometricPrecision;
}

.social-icon-link[aria-label="WhatsApp"] svg path {
  fill-rule: evenodd;
  clip-rule: evenodd;
}

.social-icon-link[aria-label="Facebook"]:hover,
.social-icon-link[aria-label="Facebook"]:active,
.social-icon-link[aria-label="Facebook"]:focus-visible {
  color: #1877f2;
  border-color: rgba(24, 119, 242, 0.35);
  background: rgba(24, 119, 242, 0.08);
}

.social-icon-link[aria-label="Instagram"]:hover,
.social-icon-link[aria-label="Instagram"]:active,
.social-icon-link[aria-label="Instagram"]:focus-visible {
  color: #e1306c;
  border-color: rgba(225, 48, 108, 0.35);
  background: rgba(225, 48, 108, 0.08);
}

.social-icon-link[aria-label="YouTube"]:hover,
.social-icon-link[aria-label="YouTube"]:active,
.social-icon-link[aria-label="YouTube"]:focus-visible {
  color: #ff0000;
  border-color: rgba(255, 0, 0, 0.35);
  background: rgba(255, 0, 0, 0.08);
}

.social-icon-link[aria-label="WhatsApp"]:hover,
.social-icon-link[aria-label="WhatsApp"]:active,
.social-icon-link[aria-label="WhatsApp"]:focus-visible {
  color: #25d366;
  border-color: rgba(37, 211, 102, 0.4);
  background: rgba(37, 211, 102, 0.09);
}

.social-icon-link[aria-label="LinkedIn"]:hover,
.social-icon-link[aria-label="LinkedIn"]:active,
.social-icon-link[aria-label="LinkedIn"]:focus-visible {
  color: #0a66c2;
  border-color: rgba(10, 102, 194, 0.35);
  background: rgba(10, 102, 194, 0.08);
}

/* Floating WhatsApp Button */
.whatsapp-float {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 40;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.4);
  transition: transform 0.2s, box-shadow 0.2s;
}
.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.5);
}
.whatsapp-float svg {
  width: 1.75rem;
  height: 1.75rem;
  fill: currentColor;
}

/* FAQ chevron rotation */
[data-faq-button] .faq-chevron {
  transition: transform 0.3s ease;
}
[data-faq-button][aria-expanded="true"] .faq-chevron {
  transform: rotate(180deg);
}

/* Blog filter scrollbar hide */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Header shrink on scroll */
.glass-header {
  transition: padding 0.3s ease, backdrop-filter 0.3s ease;
}
.glass-header.scrolled nav {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/* Page Transition Veil */
.page-transition-veil {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background-color: #f8fafc; /* slate-50 */
  pointer-events: none;
  opacity: 1; /* Starts opaque */
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.page-transition-ready .page-transition-veil {
  opacity: 0; /* Fades out on load */
}
.page-transition-exit .page-transition-veil {
  opacity: 1; /* Fades in on exit */
  pointer-events: all;
}

/* Grayscale Map Effect */
.grayscale-map iframe {
  filter: grayscale(100%) contrast(1.1) opacity(0.8);
  transition: filter 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.grayscale-map:hover iframe {
  filter: grayscale(0%) contrast(1) opacity(1);
}

/* Premium Custom Animations */
@keyframes pulseGlow {
  0% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.05); opacity: 0.7; }
  100% { transform: scale(1); opacity: 0.5; }
}
.pulse-glow {
  animation: pulseGlow 4s infinite cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes floatSlow {
  0% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}
.float-slow {
  animation: floatSlow 6s infinite ease-in-out;
}

/* Back to Top Button */
.back-to-top {
  position: fixed;
  bottom: 1.5rem;
  left: 1.5rem;
  z-index: 39;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(27, 28, 28, 0.8);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
  border: none;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s, background 0.2s;
}
.back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.back-to-top:hover {
  background: #0061a4;
  transform: translateY(-2px);
}
.back-to-top .material-symbols-outlined {
  font-size: 1.25rem;
}

/* AOS overrides for premium feel */
[data-aos] {
  pointer-events: none;
}
[data-aos].aos-animate {
  pointer-events: auto;
}

