/* Base */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; padding: 0; }
:root{
  --blue:#0ea5e9;
  --blue-dark:#0369a1;
  --yellow:#facc15;
  --ink:#0f172a;
  --muted:#475569;
  --line:#e2e8f0;
  --bg:#ffffff;
}
body {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
.container { width: min(1100px, 92vw); margin: 0 auto; }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,0.9);
  backdrop-filter: saturate(180%) blur(8px);
  border-bottom: 1px solid var(--line);
}
.nav-container { display: flex; align-items: center; justify-content: space-between; padding: 0.6rem 0; }
.brand { display: flex; align-items: center; gap: .6rem; font-weight: 800; }
.logo { width: 36px; height: 36px; border-radius: 10px; }
.pulse{ animation: pulse 2.2s ease-in-out 2; }
@keyframes pulse{
  0%,100%{ transform: scale(1); box-shadow: 0 0 0 0 rgba(14,165,233,0.0); }
  50%{ transform: scale(1.06); box-shadow: 0 0 0 14px rgba(14,165,233,0.15); }
}
.site-nav { display: flex; gap: 1.2rem; font-weight: 700; }
.site-nav a { padding: .5rem .6rem; border-radius: .6rem; }
.site-nav a:hover { background: #f1f5f9; }
.nav-toggle { display:none; background:none; border:0; }
.nav-toggle .bar { display:block; width:22px; height:2px; background:var(--ink); margin:5px 0; border-radius:4px; }

/* Hero */
.hero {
  position: relative;
  background: radial-gradient(1200px 600px at 80% -10%, rgba(14,165,233,.18) 0%, transparent 60%), #ffffff;
  padding: 5rem 0 3.5rem;
  overflow: hidden;
}
.gradient-orb{ position:absolute; filter: blur(40px); opacity:.35; pointer-events:none; }
.orb-1{ width:420px; height:420px; background: radial-gradient(circle at 30% 30%, var(--blue), transparent 60%); left:-120px; top:-120px; }
.orb-2{ width:380px; height:380px; background: radial-gradient(circle at 70% 30%, var(--yellow), transparent 60%); right:-140px; top:40px; }
.hero-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap: 2rem; align-items:center; }
.hero h1 { font-size: clamp(2rem, 4vw + 1rem, 3.1rem); line-height:1.15; margin:0 0 .75rem; }
.hero p { font-size: 1.08rem; color:var(--muted); }
.cta-row { display:flex; gap:.8rem; margin:1.25rem 0; }
.btn {
  display:inline-block; padding: .9rem 1.15rem; border-radius: .9rem;
  font-weight: 800; border:2px solid var(--blue); transition: transform .08s ease, box-shadow .3s ease, background .2s ease;
}
.btn.primary { background: var(--blue); color:#fff; }
.btn.warn { background: var(--yellow); border-color: var(--yellow); color:#1f2937; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 16px 28px rgba(2,132,199,.22); }
.badges { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.badge { display:flex; align-items:center; gap:.4rem; background:#f1f5f9; color:var(--ink); padding:.4rem .6rem; border-radius:.6rem; font-weight:700; }
.scroll-indicator{ position:absolute; bottom:16px; left:50%; transform:translateX(-50%); font-weight:800; color:var(--blue-dark); animation: bounce 1.8s infinite; }
@keyframes bounce{ 0%,100%{ transform: translate(-50%, 0);} 50%{ transform: translate(-50%, -8px);} }

/* Sections */
.section { padding: 4rem 0; }
.section.alt { background: linear-gradient(0deg, #f8fafc, #ffffff); }
.section-title { font-size: 1.95rem; margin:0 0 .4rem; }
.section-lead { color:var(--muted); margin:0 0 1.2rem; }

/* Reveal animations */
.reveal-up { opacity:0; transform: translateY(16px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.6,.2,1); }
.reveal.show .reveal-up,
.reveal-up.show { opacity:1; transform: none; }
.delay-1{ transition-delay:.12s; }
.delay-2{ transition-delay:.24s; }
.delay-3{ transition-delay:.36s; }
.delay-4{ transition-delay:.48s; }
.reveal{}

/* Cards */
.cards { display:grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.card {
  background:linear-gradient(180deg,#ffffff, #f8fafc);
  border:1px solid var(--line); border-radius: 1rem; padding: 1rem;
  transition: box-shadow .2s ease, transform .12s ease;
  position: relative; overflow:hidden;
}
.card::after{
  content:""; position:absolute; inset:auto -40% -40% auto; width:120px; height:120px; background:radial-gradient(circle,var(--yellow),transparent 60%);
  transform: rotate(25deg);
}
.card:hover { box-shadow: 0 18px 36px rgba(2,132,199,.18); transform: translateY(-4px) scale(1.01); }
.card-icon { width: 40px; height: 40px; }
.card h3 { margin:.6rem 0 .35rem; }
.list { margin:.4rem 0 0; padding-left:1.1rem; }
.list li { margin:.25rem 0; color:#334155; }

/* Training */
.training-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap: 2rem; align-items:center; }
.pill-list { display:flex; gap:.5rem; flex-wrap:wrap; margin:.8rem 0 1.2rem; }
.pill { background:#e0f2fe; color:#0369a1; padding:.45rem .7rem; border-radius: 999px; font-weight:800; }
.pill.warn{ background:#fef3c7; color:#92400e; }

/* About */
.about-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap: 2rem; align-items:start; }
.ticks { list-style: none; padding:0; margin:.6rem 0 0; }
.ticks li { display:flex; gap:.45rem; align-items:center; margin:.35rem 0; }
.stats { display:grid; grid-template-columns: repeat(3, 1fr); gap:1rem; }
.stat { background:linear-gradient(45deg, var(--blue), #22d3ee); color:#fff; border-radius:1rem; padding:1rem; text-align:center; }
.stat-num { font-size:1.9rem; font-weight:900; }
.stat-label { opacity:.98; font-weight:700; }

/* Contact */
.contact-form { background:#fff; border:1px solid var(--line); border-radius:1rem; padding: 1rem; }
.form-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: .9rem; }
.form-grid label { display:flex; flex-direction:column; gap:.35rem; font-weight:700; }
.form-grid label.full { grid-column: 1/-1; }
input, select, textarea {
  padding:.85rem; border:1.5px solid #cbd5e1; border-radius:.7rem; font: inherit;
  transition: border .2s ease, box-shadow .2s ease;
}
input:focus, select:focus, textarea:focus { outline:0; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(14,165,233,.15); }
.form-note { color:var(--muted); margin-top:.8rem; }

/* Footer */
.site-footer { border-top:1px solid var(--line); background:#ffffff; }
.footer-grid { display:grid; grid-template-columns: 1.1fr .7fr .9fr; gap:1rem; padding: 2rem 0; align-items:center; }
.foot-brand { display:flex; align-items:center; gap:.8rem; }
.foot-links { display:flex; gap:1rem; flex-wrap:wrap; font-weight:800; }
.copy { text-align:center; padding:.9rem 0; color:var(--muted); border-top:1px solid var(--line); }

/* Responsive */
@media (max-width: 1024px) {
  .cards { grid-template-columns: repeat(3, 1fr); }
  .about-grid, .training-grid, .hero-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .site-nav { display:none; position:absolute; right:1rem; top:60px; background:#ffffff; border:1px solid var(--line); border-radius:.8rem; padding:.6rem; flex-direction:column; }
  .nav-toggle { display:block; }
  .cards { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; text-align:center; }
  .hero { padding: 4rem 0 2rem; }
}
.sr { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
