
:root{
  --bg:#0b1a2a;
  --ink:#0c2340; /* azul profundo inspirado en el logo */
  --ink-2:#1f3b66;
  --gold:#c8a45a;
  --muted:#6c7a92;
  --paper:#ffffff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Arial,sans-serif;line-height:1.6;color:#102033;background:#f6f8fb}
img{max-width:100%;height:auto;display:block}

.container{width:min(1100px,92%);margin-inline:auto}
.grid2{display:grid;gap:2rem;grid-template-columns:1.1fr 1fr}
.grid3{display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}
.section{padding:64px 0}
.section.alt{background:#eef3fa}
.section-lead{color:var(--muted);max-width:60ch}

.site-header{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 2px 20px rgba(0,0,0,.06)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:.5px}
.brand img{width:38px;height:38px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.nav a{margin-left:1rem;text-decoration:none;color:#2c3c52;font-weight:600}
.nav a:hover{color:var(--ink)}
.nav-toggle{display:none;font-size:1.5rem;border:0;background:transparent;cursor:pointer}

.hero{padding:72px 0;background:linear-gradient(180deg,#fff, #f4f7fc)}
.hero h1{font-size:clamp(28px,4vw,44px);line-height:1.15;margin:0 0 .5rem}
.hero .accent{color:var(--ink)}
.lead{font-size:1.15rem;color:#3b4b66;max-width:50ch}
.cta-row{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.8rem 1.1rem;border-radius:12px;border:2px solid var(--ink);color:var(--ink);text-decoration:none;font-weight:700}
.btn.primary{background:var(--ink);color:#fff}
.btn.ghost{background:transparent}
.badges{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem;color:#5a6a84}
.badges li{background:#eaf0fa;padding:.4rem .7rem;border-radius:999px;font-size:.9rem}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem}
.card{background:#fff;border:1px solid #e6ecf5;border-radius:16px;padding:1rem;box-shadow:0 5px 20px rgba(16,32,64,.05)}
.card h3{margin-top:0}
.card.link{display:flex;align-items:center;justify-content:center;min-height:72px;font-weight:700;text-align:center;text-decoration:none;color:var(--ink);border-color:#dce6f5}
.card.link:hover{border-color:var(--ink)}

.feat img{border-radius:12px;margin-bottom:.5rem}
.gallery{display:grid;gap:.6rem;grid-template-columns:repeat(3,1fr)}
.gallery img{border-radius:12px}

.ticks{list-style:none;padding:0;margin:0}
.ticks li{padding-left:1.6rem;position:relative;margin:.4rem 0}
.ticks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--gold);font-weight:900}

.video-wrap{position:relative;padding-top:56.25%;border-radius:16px;overflow:hidden;background:#000}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.social-embeds{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}
.embed-resp{position:relative;padding-top:120%;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e6ecf5}
.embed-resp iframe{position:absolute;inset:0;width:100%;height:100%}

.map-wrap{position:relative;padding-top:60%;border-radius:16px;overflow:hidden;border:1px solid #dfe7f4}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.site-footer{padding:28px 0;background:#0c2340;color:#cfe0ff;margin-top:24px}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.site-footer a{color:#fff;text-decoration:none}
.made strong{color:var(--gold)}

.wa-float{position:fixed;right:18px;bottom:18px;background:#25D366;border-radius:999px;width:56px;height:56px;display:grid;place-items:center;box-shadow:0 10px 20px rgba(0,0,0,.2);z-index:40}
.wa-float svg{width:28px;height:28px;fill:#fff}

.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.form-grid .full{grid-column:1/-1}
input,select,textarea{width:100%;padding:.75rem;border-radius:10px;border:1px solid #d7e2f2;background:#fff;font:inherit}
label{font-weight:700;color:#2c3c52}
.help{color:#6b7892;font-size:.9rem}

@media (max-width:920px){
  .grid2{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr 1fr}
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;right:0;top:64px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:1rem;border-radius:12px}
  .nav a{display:block;margin:.5rem 0}
}
@media (max-width:640px){
  .grid3{grid-template-columns:1fr}
  .badges{gap:.5rem}
}
