:root {
  --primary: #0b5ed7;
  --primary-dark: #07459f;
  --accent: #19b47b;
  --ink: #102033;
  --muted: #64748b;
  --line: #e5eaf1;
  --surface: #f6f9fc;
  --white: #fff;
  --shadow: 0 24px 60px rgba(15, 35, 60, .10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:Inter,Arial,sans-serif; color:var(--ink); background:#fff; line-height:1.6; }
a { color:inherit; text-decoration:none; }
.container { width:min(1120px, calc(100% - 40px)); margin:auto; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.92); backdrop-filter:blur(14px); border-bottom:1px solid rgba(229,234,241,.8); }
.nav { height:78px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:11px; }
.brand-mark { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:white; font-weight:800; background:linear-gradient(135deg,var(--primary),#13a8d6); box-shadow:0 8px 20px rgba(11,94,215,.22); }
.brand strong { display:block; font-size:1.1rem; letter-spacing:-.03em; }
.brand small { display:block; color:var(--muted); font-size:.68rem; line-height:1; margin-top:2px; }
.nav-links { display:flex; align-items:center; gap:28px; font-size:.9rem; font-weight:600; }
.nav-links a:not(.btn):hover { color:var(--primary); }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:8px; border-radius:10px; padding:12px 19px; font-weight:700; transition:.25s ease; cursor:pointer; border:1px solid transparent; }
.btn-primary { color:#fff; background:var(--primary); box-shadow:0 10px 25px rgba(11,94,215,.2); }
.btn-primary:hover { transform:translateY(-2px); background:var(--primary-dark); }
.btn-outline { border-color:#cbd5e1; color:var(--ink); background:#fff; }
.btn-outline:hover { border-color:var(--primary); color:var(--primary); }
.btn-large { padding:15px 23px; }
.menu-toggle { display:none; border:0; background:none; font-size:1.5rem; color:var(--ink); }
.hero { position:relative; overflow:hidden; background:linear-gradient(145deg,#f8fbff 0%,#eef6ff 55%,#f5fbfa 100%); padding:86px 0 90px; }
.hero-glow { position:absolute; width:520px; height:520px; border-radius:50%; background:rgba(25,180,123,.08); filter:blur(10px); right:-180px; top:-160px; }
.hero-grid { display:grid; grid-template-columns:1.04fr .96fr; gap:70px; align-items:center; position:relative; }
.eyebrow { display:flex; align-items:center; gap:9px; color:var(--primary); font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:18px; }
.eyebrow span { width:24px; height:3px; border-radius:9px; background:var(--accent); }
.eyebrow.light { color:#dff8ef; }
.hero h1 { font-size:clamp(2.6rem,5vw,4.4rem); line-height:1.02; letter-spacing:-.055em; margin:0 0 24px; max-width:700px; }
h1 em,h2 em { color:var(--primary); font-style:normal; }
.hero-text { color:var(--muted); max-width:630px; font-size:1.05rem; }
.hero-actions { display:flex; gap:12px; margin:30px 0 22px; flex-wrap:wrap; }
.trust-row { display:flex; gap:20px; flex-wrap:wrap; color:#526276; font-size:.76rem; font-weight:600; }
.hero-card { border:1px solid rgba(255,255,255,.9); background:rgba(255,255,255,.9); border-radius:22px; box-shadow:var(--shadow); overflow:hidden; transform:rotate(1deg); }
.dashboard-top { padding:17px 20px; display:flex; align-items:center; gap:9px; border-bottom:1px solid var(--line); color:#627085; font-size:.78rem; font-weight:700; }
.status-dot { width:8px;height:8px;border-radius:50%;background:var(--accent); box-shadow:0 0 0 5px rgba(25,180,123,.1); }
.dots { margin-left:auto; letter-spacing:3px; }
.dashboard-body { padding:22px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mini-stat,.progress-card,.code-window { background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:17px; }
.mini-stat small,.mini-stat span { display:block; color:var(--muted); font-size:.72rem; }
.mini-stat strong { display:block; font-size:1.2rem; margin:5px 0; }
.progress-card { grid-column:1/-1; }
.progress-card div:first-child { display:flex; justify-content:space-between; font-size:.76rem; font-weight:700; }
.progress { height:8px; border-radius:20px; background:#dfe7ef; margin-top:12px; overflow:hidden; }
.progress i { display:block; width:90%; height:100%; background:linear-gradient(90deg,var(--primary),var(--accent)); border-radius:20px; }
.code-window { grid-column:1/-1; background:#0f1c2b; color:#c9d5e4; font:600 .73rem/1.9 ui-monospace,SFMono-Regular,Consolas,monospace; }
.code-window p { margin:0; }
.code-window b { color:#6fe3b8; }
.code-window p span { color:#56a5ff; margin-right:5px; }
.code-head { display:flex; gap:5px; margin-bottom:8px; }
.code-head span { width:7px;height:7px;border-radius:50%;background:#536276; }
.section { padding:100px 0; }
.services { background:#fff; }
.section-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:end; margin-bottom:45px; }
.section-heading.centered { display:block; text-align:center; max-width:720px; margin:0 auto 45px; }
.section-heading h2,.solution-copy h2,.faq h2 { margin:0; font-size:clamp(2rem,3.5vw,3.1rem); line-height:1.08; letter-spacing:-.045em; }
.section-heading p { color:var(--muted); margin:0; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.service-card { padding:28px; border:1px solid var(--line); border-radius:18px; background:#fff; transition:.25s ease; }
.service-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.service-card.featured { border-color:#a9d0ff; background:linear-gradient(180deg,#f3f8ff,#fff); }
.icon { width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#eaf3ff;color:var(--primary);font-weight:800;font-size:1.25rem;margin-bottom:24px; }
.service-card h3 { margin:0 0 10px; font-size:1.08rem; }
.service-card p { color:var(--muted); font-size:.86rem; min-height:85px; margin:0 0 22px; }
.service-card a { color:var(--primary); font-size:.8rem; font-weight:800; }
.solutions { background:var(--surface); }
.solution-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.solution-visual { min-height:430px; display:grid; place-items:center; }
.solution-box { position:relative; width:min(390px,90%); aspect-ratio:1/1; border-radius:32px; background:linear-gradient(145deg,#0c65e6,#0a4aaf); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 35px 70px rgba(11,94,215,.28); }
.solution-logo { width:92px;height:92px;border-radius:26px;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);font-size:2rem;font-weight:900;margin-bottom:16px; }
.solution-box strong { font-size:1.8rem; letter-spacing:-.05em; }
.solution-box small { opacity:.75; }
.floating-tag { position:absolute; background:#fff; color:var(--ink); padding:10px 14px; border-radius:10px; font-size:.72rem; font-weight:800; box-shadow:0 12px 28px rgba(0,0,0,.13); }
.tag-one { top:16%; left:-9%; }.tag-two { top:45%; right:-11%; }.tag-three { bottom:14%; left:0; }.tag-four { bottom:40%; left:0%; } .tag-five { bottom:64%; left:65%; }
.solution-copy > p { color:var(--muted); }
.check-list { list-style:none;padding:0;margin:25px 0 30px; display:grid; gap:12px; }
.check-list li { display:flex; gap:10px; font-size:.9rem; font-weight:600; }
.check-list b { color:var(--accent); }
.why { background:#fff; }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.why-item { padding:30px 25px; border-right:1px solid var(--line); }
.why-item:last-child { border-right:0; }
.why-item strong { color:#c4ced9; font-size:.85rem; }
.why-item h3 { margin:18px 0 8px; font-size:1rem; }
.why-item p { margin:0;color:var(--muted);font-size:.82rem; }
.cta { padding-top:20px; }
.cta-box { border-radius:25px; padding:55px 60px; color:#fff; background:linear-gradient(115deg,#074aa9,#0b6ee5); display:flex; justify-content:space-between; align-items:center; gap:30px; overflow:hidden; position:relative; }
.cta-box:after { content:""; position:absolute; width:300px;height:300px;border-radius:50%;right:-100px;top:-160px;background:rgba(255,255,255,.08); }
.cta-box h2 { margin:0 0 10px; max-width:700px; font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.1; letter-spacing:-.04em; }
.cta-box p { margin:0;color:#dcecff; }
.cta-actions { display:flex; gap:10px; flex-shrink:0; position:relative;z-index:1; }
.btn-white { background:#fff;color:#0751b6; }.btn-white:hover { transform:translateY(-2px); }
.btn-ghost { color:#fff;border-color:rgba(255,255,255,.45); }.btn-ghost:hover { background:rgba(255,255,255,.1); }
.faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.faq-list { border-top:1px solid var(--line); }
details { border-bottom:1px solid var(--line); padding:18px 0; }
summary { cursor:pointer; list-style:none; font-weight:700; padding-right:25px; position:relative; }
summary::-webkit-details-marker { display:none; }
summary:after { content:"+"; position:absolute;right:0;color:var(--primary);font-size:1.2rem; }
details[open] summary:after { content:"−"; }
details p { color:var(--muted);font-size:.87rem;margin:12px 0 0; }
.footer { background:#0d1928;color:#d8e1ec;padding-top:55px; }
.footer-grid { display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding-bottom:45px; }
.footer h4 { margin:0 0 14px;color:#fff;font-size:.85rem; }
.footer-grid > div:not(.footer-brand) a { display:block;color:#9eacbd;font-size:.78rem;margin:8px 0; }
.footer-grid > div:not(.footer-brand) a:hover { color:#fff; }
.footer-brand { align-self:start; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08);padding:18px 0;color:#8290a0;font-size:.72rem; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .65s ease,transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (max-width: 900px) {
  .hero-grid,.solution-grid,.faq-grid { grid-template-columns:1fr; gap:45px; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .why-grid { grid-template-columns:repeat(2,1fr); }
  .why-item:nth-child(2) { border-right:0; }
  .why-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .cta-box { flex-direction:column; align-items:flex-start; }
  .nav-links { display:none; position:absolute;left:20px;right:20px;top:72px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:3px; }
  .nav-links.open { display:flex; }
  .nav-links a { padding:10px; }
  .menu-toggle { display:block; }
}
@media (max-width: 600px) {
  .container { width:min(100% - 28px,1120px); }
  .hero { padding:60px 0; }
  .hero h1 { font-size:2.55rem; }
  .hero-card { transform:none; }
  .dashboard-body { grid-template-columns:1fr; }
  .progress-card,.code-window { grid-column:auto; }
  .service-grid,.why-grid { grid-template-columns:1fr; }
  .why-item,.why-item:nth-child(2) { border-right:0;border-bottom:1px solid var(--line); }
  .why-item:last-child { border-bottom:0; }
  .section { padding:70px 0; }
  .section-heading { display:block; }
  .section-heading > p { margin-top:20px; }
  .solution-visual { min-height:350px; }
  .tag-one { left:-3%; }.tag-two { right:-4%; }
  .cta-box { padding:38px 28px; }
  .cta-actions { flex-direction:column;width:100%; }
  .cta-actions .btn { width:100%; }
  .footer-grid { grid-template-columns:1fr 1fr;gap:30px; }
  .footer-brand { grid-column:1/-1; }
}

/* Logos reales de SystemPaq proporcionados por el cliente */
.brand-logo {
  display: block;
  width: 235px;
  height: auto;
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
  border-radius: 7px;
}
.diamond-logo {
  width: 220px;
  height: 170px;
  object-fit: contain;
  margin-bottom: 4px;
  filter: drop-shadow(0 15px 25px rgba(80,190,255,.25));
}
.footer-brand .brand-logo {
  width: 260px;
  max-height: 65px;
}
@media (max-width: 600px) {
  .brand-logo { width: 190px; max-height: 52px; }
  .diamond-logo { width: 190px; height: 150px; }
}
