.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.d1 { transition-delay: .08s } .d2 { transition-delay: .16s } .d3 { transition-delay: .24s }
.svc-img { transition: transform .5s ease; }
.svc-card:hover .svc-img { transform: scale(1.05); }

.page-content {
  animation: fadeIn 0.4s ease;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Header light / dark states ──────────────────────────────────────────── */
#site-header {
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
#site-header .nav-link          { color: rgba(13,27,42,0.65); }
#site-header .nav-link:hover    { color: #0d1b2a; }
#site-header #logo-span         { color: #0d1b2a; }
#site-header #login-btn         { border-color: #0d1b2a; color: #0d1b2a; }
#site-header #login-btn:hover   { background: #0d1b2a; color: white; }
#site-header .mobile-icon       { color: rgba(13,27,42,0.65); }

#site-header.scrolled {
  background: #0d1b2a;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: none;
  box-shadow: 0 4px 20px rgba(0,0,0,0.25);
}
#site-header.scrolled .nav-link        { color: rgba(255,255,255,0.7); }
#site-header.scrolled .nav-link:hover  { color: white; }
#site-header.scrolled #logo-span       { color: white; }
#site-header.scrolled #login-btn       { border-color: #D4AF37; color: #D4AF37; }
#site-header.scrolled #login-btn:hover { background: #D4AF37; color: #0d1b2a; }
#site-header.scrolled .mobile-icon     { color: rgba(255,255,255,0.7); }

/* ── Mobile touch targets (WCAG 2.5.5 — 44×44px minimum) ─────────────── */
@media (max-width: 768px) {
  .mobile-icon {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  footer li a {
    display: block;
    padding-top: 6px;
    padding-bottom: 6px;
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  footer .flex.gap-3 a {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}
