
:root{
  --brand-blue:#0b3a8a;
  --brand-red:#e11d48;
  --brand-gold:#caa64b;
  --text:#102a43;
  --muted:#6b7280;
  --bg:#f8fafc;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;color:var(--text);background:var(--bg);scroll-behavior:smooth}

a{color:var(--brand-blue);text-decoration:none}
a:hover{opacity:.9;text-decoration:underline}

header{
  position:sticky;top:0;z-index:50;background:white;
  box-shadow:0 10px 25px -20px rgba(0,0,0,.3);
  backdrop-filter:saturate(180%) blur(6px);
}

.container{max-width:1200px;margin:0 auto;padding:0 20px}

.nav{
  display:flex;align-items:center;justify-content:space-between;padding:12px 0;
}
.nav .brand{display:flex;gap:12px;align-items:center}
.brand img{height:42px;width:auto;border-radius:6px}
.brand h1{font-size:20px;margin:0;color:var(--brand-blue);font-weight:800;letter-spacing:.3px}

.nav a.btn{
  background:linear-gradient(135deg,var(--brand-red),#ff6a88);
  color:white;border:none;padding:10px 16px;border-radius:999px;font-weight:700;
  box-shadow:0 10px 30px -12px rgba(225,29,72,.6);
  transition:transform .2s ease, box-shadow .2s ease;
}
.nav a.btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(225,29,72,.7)}

.hero{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;
  padding:56px 0;
}
.hero h2{font-size:42px;line-height:1.1;margin:0 0 10px}
.hero p{font-size:18px;color:#374151;margin:0 0 18px}
.hero .badge{display:inline-flex;gap:8px;align-items:center;
  background:#eef2ff;color:#4338ca;padding:6px 12px;border-radius:999px;font-weight:700;margin-bottom:10px}
.hero .card{
  background:white;border-radius:20px;padding:18px;
  box-shadow:0 12px 40px -18px rgba(0,0,0,.25);
  animation:fadeInUp .6s ease both;
}
@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:980px){
  .hero{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr 1fr}
  .grid-4{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .grid-3,.grid-4{grid-template-columns:1fr}
  .hero h2{font-size:34px}
}

.feature{
  background:white;border-radius:18px;padding:16px;
  box-shadow:0 8px 30px -18px rgba(0,0,0,.25);
  display:flex;gap:12px;align-items:flex-start
}
.feature .icon{font-size:22px}
.section{padding:48px 0}
.section h3{font-size:28px;margin:0 0 10px}
.section p.lead{color:#374151}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gallery img{width:100%;height:220px;object-fit:cover;border-radius:14px;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease}
.gallery img:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(0,0,0,.35)}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal img{max-width:95vw;max-height:85vh;border-radius:12px;box-shadow:0 10px 40px -8px rgba(0,0,0,.6)}

.video{position:relative;padding-top:56.25%;border-radius:16px;overflow:hidden;box-shadow:0 12px 44px -18px rgba(0,0,0,.35)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.social-embeds{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.social-embeds{grid-template-columns:1fr}}

.card-lite{background:white;padding:16px;border-radius:16px;box-shadow:0 6px 24px -12px rgba(0,0,0,.2)}

form{display:grid;gap:12px}
input,textarea{padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;font-size:16px;width:100%}
button{padding:12px 16px;border-radius:12px;border:0;background:linear-gradient(135deg,var(--brand-blue),#2563eb);color:white;font-weight:800;cursor:pointer}
button:hover{filter:brightness(1.05)}

footer{
  margin-top:40px;background:#0f172a;color:#cbd5e1
}
footer a{color:#e2e8f0}
.footer-inner{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:18px 0}
.credit{opacity:.9}

.whatsapp-float{
  position:fixed;right:18px;bottom:18px;background:#25D366;color:white;border-radius:999px;
  padding:14px 18px;font-weight:900;display:flex;gap:10px;align-items:center;
  box-shadow:0 10px 30px -14px rgba(0,0,0,.45);z-index:60
}
.whatsapp-float img{height:22px}
.audio-control{display:flex;align-items:center;gap:8px}
.small{font-size:12px;color:var(--muted)}
