:root {
  color-scheme: light dark;
  --brand-navy: #082f5f;
  --brand-blue: #1d4ed8;
  --brand-sky: #38bdf8;
  --brand-cyan: #22d3ee;
  --brand-aqua: #14b8a6;
  --surface: rgba(255,255,255,.76);
  --surface-dark: rgba(15,23,42,.72);
}
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
::selection { background: rgba(56, 189, 248, .35); }
.skip-link { position:absolute; left:-999px; top:16px; z-index:9999; padding:10px 14px; border-radius:999px; background:#fff; color:#082f5f; box-shadow:0 10px 30px rgba(2,6,23,.25); }
.skip-link:focus { left:16px; }
.glass { background: var(--surface); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); border: 1px solid rgba(255,255,255,.44); box-shadow: 0 24px 80px rgba(2, 8, 23, .10); }
.dark .glass { background: var(--surface-dark); border-color: rgba(148, 163, 184, .20); box-shadow: 0 24px 80px rgba(0,0,0,.30); }
.gradient-text { background: linear-gradient(135deg, #0f5fe0 0%, #0ea5e9 45%, #10b981 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-bg { background-image: linear-gradient(135deg, rgba(2, 6, 23, .68), rgba(8, 47, 95, .28) 45%, rgba(2, 132, 199, .18)), url('../assets/optimized/haz1-1600.webp'); background-size: cover; background-position: center; }
.mesh-bg { background:
  radial-gradient(circle at top left, rgba(56,189,248,.24), transparent 34rem),
  radial-gradient(circle at 82% 12%, rgba(20,184,166,.18), transparent 32rem),
  radial-gradient(circle at 20% 84%, rgba(29,78,216,.12), transparent 34rem);
}
.soft-grid { background-image: linear-gradient(rgba(15,23,42,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,42,.04) 1px, transparent 1px); background-size: 40px 40px; }
.dark .soft-grid { background-image: linear-gradient(rgba(148,163,184,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(148,163,184,.07) 1px, transparent 1px); }
.btn-glow { box-shadow: 0 18px 44px rgba(29, 78, 216, .32); }
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.floaty { animation: floaty 8s ease-in-out infinite; }
@keyframes floaty { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
.calendar-day { min-height: 92px; }
.calendar-day:focus-visible, .focus-ring:focus-visible { outline: 3px solid rgba(56,189,248,.85); outline-offset: 3px; }
/* Mobile menu: hidden by default, only opens below tablet size.
   Important: desktop navigation must never show the mobile dropdown. */
[data-mobile-menu] { display: none; }
[data-mobile-menu='open'] { display: block; }
@media (min-width: 768px) {
  [data-mobile-menu],
  [data-mobile-menu='open'],
  [data-mobile-menu='closed'] { display: none !important; }
}
