@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#0F172A;
  --navy-700:#1E293B;
  --blue:#2563EB;
  --blue-600:#1D4ED8;
  --cyan:#06B6D4;
  --bg:#F8FAFC;
  --muted:#64748B;
  --line:#E2E8F0;
  --white:#FFFFFF;
  --grad:linear-gradient(120deg,#2563EB 0%,#06B6D4 100%);
  --radius:18px;
  --shadow-sm:0 1px 3px rgba(15,23,42,.08);
  --shadow:0 18px 45px -20px rgba(37,99,235,.35);
  --shadow-lg:0 40px 80px -30px rgba(15,23,42,.45);
}

*{ -webkit-font-smoothing:antialiased; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Manrope',ui-sans-serif,system-ui,sans-serif;
  background:var(--bg);
  color:var(--navy);
  margin:0;
}
h1,h2,h3,h4,.font-display{ font-family:'Sora',ui-sans-serif,system-ui,sans-serif; letter-spacing:-.02em; }

.container-x{ width:100%; max-width:1200px; margin:0 auto; padding-left:1.25rem; padding-right:1.25rem; }

.text-grad{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-weight:700; border-radius:999px; padding:.85rem 1.6rem; transition:.25s ease; font-size:.95rem; cursor:pointer; }
.btn-primary{ background:var(--grad); color:#fff; box-shadow:var(--shadow); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 24px 55px -20px rgba(37,99,235,.6); }
.btn-ghost{ background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.25); }
.btn-ghost:hover{ background:rgba(255,255,255,.16); }
.btn-dark{ background:var(--navy); color:#fff; }
.btn-dark:hover{ background:var(--navy-700); transform:translateY(-2px); }
.btn-outline{ border:1.5px solid var(--blue); color:var(--blue); background:#fff; }
.btn-outline:hover{ background:var(--blue); color:#fff; }

.eyebrow{ display:inline-flex; align-items:center; gap:.5rem; font-weight:700; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); }

.card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); transition:.3s ease; }
.card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:rgba(37,99,235,.3); }

/* Header */
.site-header{ position:sticky; top:0; z-index:50; backdrop-filter:blur(12px); background:rgba(248,250,252,.85); border-bottom:1px solid var(--line); }
.nav-link{ color:var(--navy-700); font-weight:600; font-size:.95rem; transition:.2s; position:relative; }
.nav-link:hover{ color:var(--blue); }
.nav-link.active{ color:var(--blue); }

/* Footer */
.site-footer{ background:var(--navy); color:#CBD5E1; }
.site-footer a{ color:#CBD5E1; transition:.2s; }
.site-footer a:hover{ color:#fff; }

.section{ padding-top:5.5rem; padding-bottom:5.5rem; }
.dot-grid{ background-image:radial-gradient(rgba(37,99,235,.18) 1px,transparent 1px); background-size:22px 22px; }

/* Content always visible; subtle CSS-only entrance, no scroll/JS dependency. */
.reveal{ opacity:1; transform:none; }

.float{ animation:float 6s ease-in-out infinite; }
@keyframes float{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-14px);} }

.whatsapp-fab{ position:fixed; right:20px; bottom:20px; z-index:60; width:58px; height:58px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px -8px rgba(37,211,102,.6); transition:.25s; }
.whatsapp-fab:hover{ transform:scale(1.08); }
