*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;background:#F8FAFC}
h1,h2,h3,h4,h5,h6,.font-heading{font-family:'Poppins',sans-serif}
.glass{background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}
.fade-in{animation:fadeIn .3s ease-in}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.ticker{display:flex;gap:3rem;animation:scroll 25s linear infinite}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.map-box{height:400px;width:100%;border-radius:1rem;z-index:1}
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999}
input:focus,select:focus,textarea:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.2)}
.card-hover{transition:transform .2s,box-shadow .2s}
.card-hover:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.12)}
.progress-fill{transition:width .5s ease}
.cert-bg{background:linear-gradient(135deg,#0C1B3A,#1E3A8A);border:3px solid #F59E0B}
@media print{.no-print{display:none!important}}
.page{display:none}.page.active{display:block}

/* Loading spinner */
.loading-spinner {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  border: 3px solid rgba(255,255,255,.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin .6s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Focus visible for keyboard nav only */
:focus-visible {
  outline: 2px solid #F59E0B;
  outline-offset: 2px;
}

/* Prevent horizontal scroll */
html, body { overflow-x: hidden; }
