
:root{
  --brand:#3c54cf; --accent:#e04c7e;
  --bg:#ffffff; --text:#0f172a; --muted:#6b7280; --border:#e5e7eb;
  --font: ui-sans-serif, Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  /* escala tipográfica y tokens */
  --fs-hero: clamp(28px, 5vw, 44px);
  --fs-h1: 28px; --fs-h2: 22px; --fs-h3: 18px; --fs-body: 16px; --fs-small: 13px;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px; --space-8:32px;
  --radius:12px; --radius-lg:16px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08);
  --shadow-lg:0 8px 30px rgba(0,0,0,.12);
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0b1020; --text:#e6e8ef; --muted:#a4acc3; --border:#202842; }
}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* Base */
*{box-sizing:border-box}
body{margin:0;font:400 var(--fs-body)/1.6 var(--font);color:var(--text);background:var(--bg)}
h1,h2,h3{margin:0 0 12px;font-weight:800}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3)}
p{margin:0 0 12px}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.section{padding:60px 0}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.logo-row{display:flex;gap:24px;flex-wrap:wrap;align-items:center;opacity:.95}
.doc-list{line-height:1.9}
/* Header sticky */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.75);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border);z-index:100}
@media (prefers-color-scheme: dark){ .site-header{background:rgba(11,16,32,.65)} }
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.nav a{white-space:nowrap}
.brand{font-weight:900;color:inherit;text-decoration:none;letter-spacing:.5px}
/* Buttons */
.btn{display:inline-block;padding:10px 16px;border-radius:10px;font-weight:700;cursor:pointer;line-height:1}
.btn-primary{background:var(--brand);color:#fff;border:1px solid var(--brand);box-shadow:var(--shadow-sm)}
.btn-secondary{background:var(--accent);color:#fff;border:1px solid var(--accent)}
.btn-ghost{background:transparent;border:1px solid var(--border);color:inherit}
/* Hero */
.hero{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;padding:80px 0}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}
.hero h1{font-size:var(--fs-hero)}
.hero .lead{font-size:1.1rem;opacity:.95}
.hero .btn{margin-right:10px}
.hero-art .orb{width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.6), transparent 40%), radial-gradient(circle,var(--accent),var(--brand));
  box-shadow:0 0 40px rgba(0,0,0,.25)}
/* Contact form */
.contact-form{display:grid;gap:12px;max-width:520px}
.contact-form label{display:grid;gap:6px;font-weight:600}
.contact-form input,.contact-form textarea{padding:10px;border:1px solid var(--border);border-radius:8px;font:inherit;background:transparent;color:inherit}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid rgba(60,84,207,.35);border-color:var(--brand)}
.consent{display:flex;align-items:flex-start;gap:8px;font-weight:500}
.form-status{margin-top:8px;font-size:var(--fs-small);color:var(--muted)}
/* Footer */
.footer{padding:20px;text-align:center;border-top:1px solid var(--border);font-size:14px;color:var(--muted)}
