@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root {
  --bg-primary: #ffffff; --bg-secondary: #f4f6fb; --bg-card: #ffffff;
  --accent: #1a56db; --accent-light: #3b72f0;
  --accent-bg: rgba(26,86,219,0.06); --accent-bg-strong: rgba(26,86,219,0.10);
  --accent-border: rgba(26,86,219,0.18); --accent-shadow: rgba(26,86,219,0.22);
  --navy: #07111f; --navy-mid: #0f2040;
  --green: #059669; --green-bg: rgba(5,150,105,0.08); --green-border: rgba(5,150,105,0.22);
  --text: #0d1b2e; --text-secondary: #2d3f58; --text-dim: #5a6e8c; --text-muted: #8fa0b8;
  --border: #e2e8f0; --border-light: #edf1f7;
  --radius: 16px; --radius-sm: 11px; --radius-xs: 8px;
  --font: 'DM Sans', system-ui, sans-serif;
  --font-display: 'Sora', system-ui, sans-serif;
  --mono: 'JetBrains Mono', monospace;
  --shadow-sm: 0 1px 4px rgba(13,27,46,0.05); --shadow-md: 0 4px 18px rgba(13,27,46,0.07);
  --shadow-lg: 0 12px 48px rgba(13,27,46,0.09); --shadow-accent: 0 8px 32px rgba(26,86,219,0.24);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family:var(--font); background:var(--bg-primary); color:var(--text); overflow-x:hidden; -webkit-font-smoothing:antialiased; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:100; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); background:rgba(255,255,255,0.90); border-bottom:1px solid var(--border-light); padding:0 2rem; height:80px; display:flex; align-items:center; justify-content:space-between; }
.logo { display:flex; align-items:center; text-decoration:none; }
.logo-img { height:56px; width:auto; display:block; }
.nav-right { display:flex; align-items:center; gap:14px; }
.nav-link { font-size:0.85rem; font-weight:600; color:var(--text-dim); text-decoration:none; transition:color 0.2s; }
.nav-link:hover, .nav-link.active { color:var(--accent); }
.nav-cta { background:var(--accent); color:#fff; padding:10px 22px; border-radius:50px; font-weight:700; font-size:0.85rem; border:none; cursor:pointer; text-decoration:none; transition:all 0.25s; }
.nav-cta:hover { background:var(--accent-light); box-shadow:var(--shadow-accent); transform:translateY(-1px); }
.nav-hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; width:36px; height:36px; background:none; border:none; cursor:pointer; padding:5px; border-radius:8px; transition:background 0.2s; flex-shrink:0; }
.nav-hamburger:hover { background:var(--accent-bg); }
.nav-hamburger span { display:block; height:2px; width:100%; background:var(--text); border-radius:2px; transition:transform 0.3s, opacity 0.3s; }
.nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mobile-menu { display:none; position:fixed; top:80px; left:0; right:0; z-index:98; background:rgba(255,255,255,0.97); backdrop-filter:blur(18px); border-bottom:1px solid var(--border-light); padding:10px 1rem 18px; flex-direction:column; gap:2px; box-shadow:var(--shadow-lg); }
.mobile-menu.open { display:flex; animation:slideDown 0.22s ease both; }
.mobile-menu a { text-decoration:none; padding:12px 14px; border-radius:var(--radius-xs); font-size:0.93rem; font-weight:600; color:var(--text-dim); transition:all 0.2s; }
.mobile-menu a:hover { color:var(--accent); background:var(--accent-bg); }
.mobile-menu .mob-cta { background:var(--accent); color:#fff !important; text-align:center; border-radius:50px; margin-top:8px; padding:13px 20px; font-weight:700; }

/* PAGE HERO */
.page-hero { padding:130px 2rem 80px; background:linear-gradient(175deg,#f0f4fd 0%,#ffffff 55%,#f7f9ff 100%); text-align:center; position:relative; overflow:hidden; }
.page-hero-grid { position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(26,86,219,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(26,86,219,0.04) 1px,transparent 1px); background-size:56px 56px; mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,black 40%,transparent 100%); }
.page-hero-inner { max-width:720px; margin:0 auto; position:relative; z-index:1; }
.page-hero .eyebrow { display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-size:0.7rem; color:var(--accent); text-transform:uppercase; letter-spacing:2.5px; margin-bottom:16px; font-weight:500; }
.page-hero .eyebrow::before { content:''; display:inline-block; width:16px; height:2px; background:var(--accent); border-radius:1px; }
.page-hero h1 { font-family:var(--font-display); font-size:clamp(2rem,4.5vw,3.2rem); font-weight:800; line-height:1.1; letter-spacing:-1.2px; margin-bottom:1.2rem; color:var(--text); }
.page-hero h1 .highlight { background:linear-gradient(130deg,var(--accent) 20%,#5b9aff 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.page-hero p { font-size:1.05rem; color:var(--text-dim); line-height:1.68; max-width:560px; margin:0 auto; }

/* SECTIONS */
section { position:relative; z-index:1; padding:96px 2rem; }
.container { max-width:1080px; margin:0 auto; }
.section-eyebrow { display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-size:0.7rem; color:var(--accent); text-transform:uppercase; letter-spacing:2.5px; margin-bottom:14px; font-weight:500; }
.section-eyebrow::before { content:''; display:inline-block; width:16px; height:2px; background:var(--accent); border-radius:1px; }
.section-title { font-family:var(--font-display); font-size:clamp(1.8rem,3.8vw,2.7rem); font-weight:800; line-height:1.12; letter-spacing:-0.9px; margin-bottom:1.1rem; color:var(--text); }
.section-sub { font-size:1.05rem; color:var(--text-dim); line-height:1.65; max-width:520px; }

/* CONTENT (páginas de texto) */
.content-body { max-width:760px; margin:0 auto; }
.content-body h2 { font-family:var(--font-display); font-size:1.5rem; font-weight:800; color:var(--text); margin:2.5rem 0 0.8rem; letter-spacing:-0.4px; }
.content-body h3 { font-family:var(--font-display); font-size:1.1rem; font-weight:700; color:var(--text); margin:1.8rem 0 0.6rem; }
.content-body p { font-size:0.95rem; color:var(--text-secondary); line-height:1.75; margin-bottom:1rem; }
.content-body ul { padding-left:1.4rem; margin-bottom:1rem; }
.content-body ul li { font-size:0.95rem; color:var(--text-secondary); line-height:1.75; margin-bottom:0.4rem; }
.content-body a { color:var(--accent); text-decoration:none; }
.content-body a:hover { text-decoration:underline; }
.content-date { font-family:var(--mono); font-size:0.72rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:2.5rem; padding-bottom:2rem; border-bottom:1px solid var(--border-light); }

/* FOOTER */
footer { position:relative; z-index:1; border-top:1px solid var(--border); padding:52px 2rem; background:var(--bg-primary); }
.footer-inner { max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:start; }
.footer-brand { display:flex; align-items:center; margin-bottom:10px; }
.logo-img-sm { height:48px; width:auto; display:block; }
.footer-tagline { font-size:0.82rem; color:var(--text-muted); max-width:280px; line-height:1.5; }
.footer-links-grid { display:flex; gap:36px; }
.footer-col-title { font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--text-secondary); margin-bottom:14px; }
.footer-col a { display:block; font-size:0.83rem; color:var(--text-dim); text-decoration:none; transition:color 0.2s; margin-bottom:9px; }
.footer-col a:hover { color:var(--accent); }
.footer-bottom { max-width:1080px; margin:32px auto 0; padding-top:24px; border-top:1px solid var(--border-light); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-copy { font-size:0.75rem; color:var(--text-muted); }
.footer-copy a { color:var(--accent); text-decoration:none; }
.footer-legal { display:flex; gap:20px; }
.footer-legal a { font-size:0.75rem; color:var(--text-muted); text-decoration:none; }
.footer-legal a:hover { color:var(--accent); }

/* ANIMATIONS */
@keyframes fadeInUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.5} }
@keyframes slideDown { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(0)} }
.animate { opacity:0; transform:translateY(28px); transition:all 0.75s cubic-bezier(0.22,1,0.36,1); }
.animate.visible { opacity:1; transform:translateY(0); }

/* RESPONSIVE */
@media (max-width:600px) {
  nav { padding:0 1rem; }
  .nav-link { display:none; }
  .nav-cta { display:none; }
  .nav-hamburger { display:flex; }
  section { padding:72px 1.2rem; }
  .page-hero { padding:110px 1.2rem 60px; }
  .footer-inner { grid-template-columns:1fr; }
  .footer-links-grid { flex-wrap:wrap; gap:24px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
}
