/*
Theme Name: Sinergia Ideas
Template: hello-elementor
Version: 3.0.0
Text Domain: sinergia-ideas
*/

:root {
  --si-navy: #0f2240;
  --si-navy-mid: #1A3A6B;
  --si-navy-light: #2E5BA8;
  --si-navy-pale: #e6f1fb;
  --si-green: #00C28B;
  --si-green-dark: #009970;
  --si-green-pale: #e1f5ee;
  --si-amber: #f59e0b;
  --si-amber-dark: #d97706;
  --si-amber-light: #fbbf24;
  --si-amber-pale: #fffbeb;
  --si-white: #ffffff;
  --si-gray-50: #f8f9fb;
  --si-gray-100: #eaedf2;
  --si-gray-400: #94a3b8;
  --si-gray-600: #4A5568;
  --si-gray-900: #1A202C;
  --si-font-head: 'Outfit', sans-serif;
  --si-font-body: 'DM Sans', sans-serif;
  --si-radius-md: 8px;
  --si-radius-lg: 14px;
  --si-radius-pill: 50px;
  --si-transition: 0.22s ease;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--si-font-body);
  color: var(--si-gray-900);
  line-height: 1.7;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}

h1,h2,h3,h4,h5,h6 {
  font-family: var(--si-font-head);
  font-weight: 800;
  line-height: 1.18;
  color: var(--si-navy);
}

h1 { font-size: clamp(2rem,5vw,3.4rem); }
h2 { font-size: clamp(1.6rem,3.5vw,2.4rem); }
h3 { font-size: clamp(1.2rem,2.5vw,1.6rem); }

p { color: var(--si-gray-600); margin-bottom: 1.2rem; }
a { color: var(--si-navy-light); text-decoration: none; transition: color var(--si-transition); }
a:hover { color: var(--si-green); }
img { max-width: 100%; height: auto; }

/* NAVBAR */
.si-navbar-wrap { background:#fff; border-bottom:1px solid #eaedf2; position:sticky; top:0; z-index:1000; box-shadow:0 2px 8px rgba(15,34,64,.06); }
.si-navbar { max-width:1280px; margin:0 auto; padding:0 2rem; height:64px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.si-logo { display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
.si-logo-mark { display:flex; gap:3px; align-items:flex-end; }
.si-logo-texts { display:flex; flex-direction:column; gap:1px; }
.si-logo-name { font-family:'Outfit','Arial Black',sans-serif; font-size:1.15rem; font-weight:900; color:#0f2240; letter-spacing:.02em; line-height:1; }
.si-dot { color:#00C28B; }
.si-logo-sub { font-size:.55rem; font-weight:700; color:#94a3b8; letter-spacing:.35em; text-transform:uppercase; }
.si-nav-links { display:flex; align-items:center; gap:1.5rem; flex:1; justify-content:center; }
.si-nav-links a { font-size:.88rem; font-weight:500; color:#4A5568; text-decoration:none; position:relative; padding-bottom:3px; transition:color .22s; }
.si-nav-links a::after { content:''; position:absolute; bottom:0; left:0; height:2px; width:0; background:#00C28B; transition:width .22s; border-radius:2px; }
.si-nav-links a:hover { color:#0f2240; }
.si-nav-links a:hover::after { width:100%; }
.si-nav-sm { color:#94a3b8 !important; font-size:.82rem !important; }
.si-nav-sep { width:1px; height:16px; background:#eaedf2; flex-shrink:0; }
.si-nav-cta { flex-shrink:0; }
.site-branding,.site-title,.site-description,.custom-logo-link { display:none !important; }

/* BOTONES */
.si-btn { display:inline-flex; align-items:center; gap:.45rem; padding:.72rem 1.6rem; border-radius:8px; font-family:var(--si-font-body); font-size:.9rem; font-weight:700; cursor:pointer; transition:all .22s; border:none; text-decoration:none; white-space:nowrap; line-height:1; }
.si-btn-green { background:#00C28B; color:#fff; }
.si-btn-green:hover { background:#009970; color:#fff; transform:translateY(-1px); }
.si-btn-amber { background:#f59e0b; color:#0f2240; font-weight:800; }
.si-btn-amber:hover { background:#fbbf24; color:#0f2240; transform:translateY(-1px); }
.si-btn-navy { background:#0f2240; color:#fff; }
.si-btn-navy:hover { background:#1A3A6B; color:#fff; transform:translateY(-1px); }
.si-btn-outline-white { background:transparent; color:rgba(255,255,255,.85); border:1.5px solid rgba(255,255,255,.35); }
.si-btn-outline-white:hover { background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.6); }
.si-btn-it { background:#fff; color:#1A3A6B; font-weight:800; }
.si-btn-it:hover { background:#7BB3F0; color:#0f2240; }
.si-btn-full { width:100%; justify-content:center; }
.si-btn-lg { padding:1rem 2rem; font-size:1rem; }
.si-btn-outline-navy { background:transparent; color:#0f2240; border:2px solid #0f2240; }
.si-btn-outline-navy:hover { background:#0f2240; color:#fff; }

/* BADGES */
.si-badge-amber { display:inline-flex; align-items:center; gap:6px; background:rgba(245,158,11,.15); color:#fbbf24; border:1px solid rgba(245,158,11,.35); border-radius:50px; padding:4px 14px; font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.si-badge-green { display:inline-flex; align-items:center; gap:6px; background:rgba(0,194,139,.15); color:#00C28B; border:1px solid rgba(0,194,139,.3); border-radius:50px; padding:4px 14px; font-size:.75rem; font-weight:700; }
.si-urgency-bar { background:#f59e0b; padding:10px 2rem; text-align:center; display:flex; align-items:center; justify-content:center; gap:.75rem; }
.si-urgency-bar p { margin:0; font-size:.88rem; font-weight:700; color:#0f2240; }
.si-urgency-bar a { color:#0f2240; text-decoration:underline; font-weight:800; }

/* HERO INTRO */
.si-hero-intro { background:#0f2240; padding:56px 2rem 52px; position:relative; overflow:hidden; text-align:center; }
.si-hi-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px); background-size:48px 48px; }
.si-hi-glow { position:absolute; border-radius:50%; pointer-events:none; }
.si-hi-glow-1 { width:600px; height:600px; background:radial-gradient(rgba(0,194,139,.09),transparent 70%); top:-200px; left:-100px; }
.si-hi-glow-2 { width:500px; height:500px; background:radial-gradient(rgba(245,158,11,.065),transparent 70%); bottom:-180px; right:-80px; }
.si-hi-inner { position:relative; max-width:680px; margin:0 auto; }
.si-hi-eyebrow { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.11); border-radius:50px; padding:4px 14px; font-size:.72rem; font-weight:700; color:rgba(255,255,255,.6); letter-spacing:.1em; text-transform:uppercase; margin-bottom:18px; }
.si-hi-inner h1 { font-size:clamp(1.8rem,5vw,2.8rem); font-weight:900; color:#fff; margin-bottom:12px; }
.si-hi-body { font-size:.95rem; color:rgba(255,255,255,.52); line-height:1.72; max-width:480px; margin:0 auto 26px; }
.si-hi-arrow { font-size:.72rem; color:rgba(255,255,255,.28); letter-spacing:.1em; text-transform:uppercase; }
.si-text-green { color:#00C28B; }
.si-text-amber { color:#f59e0b; }

/* SPLIT */
.si-split { display:grid; grid-template-columns:1fr 1fr; }
.si-vertical { padding:48px 40px; position:relative; overflow:hidden; }
.si-vertical-glow { position:absolute; width:380px; height:380px; border-radius:50%; pointer-events:none; }
.si-vertical-deco { display:none; }
.si-vertical-tag { display:inline-block; border-radius:50px; padding:3px 12px; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:18px; }
.si-vertical-it { background:#1A3A6B; }
.si-vertical-it .si-vertical-glow { background:radial-gradient(rgba(46,91,168,.5),transparent 70%); bottom:-80px; right:-60px; }
.si-vertical-it .si-vertical-tag { background:rgba(255,255,255,.1); color:rgba(255,255,255,.8); border:1px solid rgba(255,255,255,.18); }
.si-vertical-it h2 { font-size:clamp(1.3rem,3vw,1.8rem); font-weight:900; color:#fff; margin-bottom:12px; }
.si-vertical-it p { font-size:.88rem; color:rgba(255,255,255,.55); line-height:1.7; margin-bottom:20px; }
.si-text-accent-it { color:#7BB3F0; }
.si-vertical-hr { background:#0a2416; border-left:2px solid rgba(0,194,139,.22); }
.si-vertical-hr .si-vertical-glow { background:radial-gradient(rgba(0,194,139,.1),transparent 70%); top:-80px; left:-60px; }
.si-vertical-hr .si-vertical-tag { background:rgba(0,194,139,.14); color:#00C28B; border:1px solid rgba(0,194,139,.28); }
.si-vertical-hr h2 { font-size:clamp(1.3rem,3vw,1.8rem); font-weight:900; color:#fff; margin-bottom:12px; }
.si-vertical-hr p { font-size:.88rem; color:rgba(255,255,255,.52); line-height:1.7; margin-bottom:20px; }
.si-pills { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:24px; }
.si-pill { border-radius:50px; padding:4px 11px; font-size:.72rem; }
.si-pill-it { background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.72); }
.si-pill-hr { background:rgba(0,194,139,.1); border:1px solid rgba(0,194,139,.2); color:rgba(0,194,139,.82); }

/* TRUST + PARTNERS */
.si-trust-bar { background:#f8f9fb; border-top:1px solid #eaedf2; border-bottom:1px solid #eaedf2; padding:18px 2rem; display:flex; justify-content:center; gap:0; overflow-x:auto; }
.si-trust-item { display:flex; align-items:center; gap:10px; padding:0 28px; border-right:1px solid #eaedf2; white-space:nowrap; }
.si-trust-item:last-child { border-right:none; }
.si-trust-icon { font-size:18px; }
.si-trust-item strong { display:block; font-size:.82rem; font-weight:700; color:#0f2240; }
.si-trust-item span { font-size:.75rem; color:#94a3b8; }
.si-partners-bar { background:#fff; padding:18px 2rem; border-bottom:1px solid #eaedf2; text-align:center; }
.si-partners-label { font-size:.72rem; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.14em; margin-bottom:12px; }
.si-partners-row { display:flex; justify-content:center; flex-wrap:wrap; }
.si-partner-item { padding:5px 20px; border-right:1px solid #eaedf2; font-size:.82rem; font-weight:800; color:#c0c8d8; transition:color .2s; }
.si-partner-item:last-child { border-right:none; }
.si-partner-item:hover { color:#1A3A6B; }

/* SECCIONES */
.si-section { padding:46px 2rem; background:#fff; }
.si-section-alt { background:#f8f9fb; }
.si-container { max-width:1280px; margin:0 auto; }
.si-section-tag { font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:.65rem; display:block; }
.si-section-tag-green { color:#009970; }
.si-section-tag-amber { color:#d97706; }
.si-section-tag-navy { color:#1A3A6B; }
.si-section-title { color:#0f2240; margin-bottom:.85rem; }
.si-section-sub { font-size:1.05rem; color:#4A5568; max-width:580px; margin-bottom:3rem; line-height:1.7; }
.si-section-cta { text-align:center; margin-top:2rem; }

/* SERVICIOS DUAL */
.si-dual-services { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:#eaedf2; }
.si-ds-col { background:#fff; padding:28px; }
.si-ds-col-it { border-top:3px solid #1A3A6B; }
.si-ds-col-hr { border-top:3px solid #00C28B; }
.si-ds-badge { font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:3px 10px; border-radius:50px; display:inline-block; margin-bottom:16px; }
.si-ds-badge-it { background:#e6f1fb; color:#1A3A6B; }
.si-ds-badge-hr { background:#e1f5ee; color:#009970; }
.si-ds-list { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.si-ds-svc { display:flex; gap:10px; align-items:flex-start; padding:9px 11px; border:1px solid #eaedf2; border-radius:8px; transition:border-color .2s; }
.si-ds-icon { display:none; }
.si-ds-svc-it:hover { border-color:#1A3A6B; }
.si-ds-svc-hr:hover { border-color:#00C28B; }
.si-ds-title { font-size:.82rem; font-weight:700; color:#0f2240; margin-bottom:2px; }
.si-ds-desc { font-size:.75rem; color:#4A5568; line-height:1.4; }

/* NOSOTROS */
.si-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; }
.si-about-visual { background:linear-gradient(135deg,#1A3A6B,#0a2416); border-radius:14px; height:280px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:4px; position:relative; overflow:hidden; margin-bottom:10px; }
.si-about-vis-num { font-size:72px; font-weight:900; color:rgba(255,255,255,.12); line-height:1; }
.si-about-vis-label { font-size:.78rem; color:rgba(255,255,255,.35); letter-spacing:.12em; text-transform:uppercase; }
.si-about-vis-badges { position:absolute; bottom:16px; left:16px; right:16px; display:flex; gap:6px; flex-wrap:wrap; }
.si-about-vis-badge { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); border-radius:50px; padding:4px 10px; font-size:.72rem; font-weight:700; color:rgba(255,255,255,.65); }
.si-about-stats { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.si-about-stat { background:#f8f9fb; border:1px solid #eaedf2; border-radius:8px; padding:12px 14px; }
.si-about-stat-n { font-size:1.4rem; font-weight:900; color:#0f2240; line-height:1; display:block; margin-bottom:2px; }
.si-about-stat-l { font-size:.7rem; color:#94a3b8; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.si-about-text p { font-size:.88rem; color:#4A5568; line-height:1.75; margin-bottom:10px; }
.si-about-badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.si-about-badge { display:flex; align-items:center; gap:5px; background:#f8f9fb; border:1px solid #eaedf2; border-radius:50px; padding:5px 12px; font-size:.78rem; font-weight:600; color:#4A5568; }
.si-about-badge::before { content:'checkmark'; font-size:0; width:8px; height:8px; background:#00C28B; border-radius:50%; display:inline-block; }

/* CARDS PROYECTOS */
.si-cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.25rem; }
.si-card { background:#fff; border:1px solid #eaedf2; border-radius:14px; overflow:hidden; transition:all .22s; }
.si-card:hover { transform:translateY(-3px); box-shadow:0 8px 28px rgba(15,34,64,.14); }
.si-card-thumb { position:relative; overflow:hidden; height:180px; display:flex; align-items:center; justify-content:center; background:#f8f9fb; font-size:2.5rem; }
.si-card-thumb img { width:100%; height:100%; object-fit:cover; }
.si-card-thumb-placeholder { background:#f8f9fb; }
.si-card-sector-tag { position:absolute; top:10px; left:10px; font-size:.72rem; font-weight:700; padding:3px 9px; border-radius:50px; }
.si-card-sector-tag-horeca,.si-card-sector-tag-hr { background:#e1f5ee; color:#009970; }
.si-card-sector-tag-it { background:#e6f1fb; color:#1A3A6B; }
.si-card-body { padding:1.25rem 1.5rem; }
.si-card-body h3 { font-size:1rem; margin-bottom:.5rem; }
.si-card-link { font-size:.82rem; font-weight:700; color:#1A3A6B; display:inline-flex; align-items:center; gap:4px; transition:gap .2s,color .2s; }
.si-card-link:hover { gap:8px; color:#00C28B; }

/* TESTIMONIOS */
.si-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.si-testi-card { background:#f8f9fb; border:1px solid #eaedf2; border-radius:14px; padding:20px; display:flex; flex-direction:column; gap:12px; position:relative; overflow:hidden; }
.si-testi-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; }
.si-testi-it::before { background:#1A3A6B; }
.si-testi-hr::before { background:#00C28B; }
.si-testi-featured { grid-column:span 2; background:#0f2240; border-color:rgba(255,255,255,.06); }
.si-testi-featured::before { background:#f59e0b; }
.si-testi-quote { font-size:48px; line-height:1; color:#eaedf2; font-family:Georgia,serif; margin-bottom:-14px; margin-top:-4px; }
.si-testi-featured .si-testi-quote { color:rgba(255,255,255,.06); }
.si-testi-stars { color:#f59e0b; font-size:.82rem; }
.si-testi-text { font-size:.82rem; color:#4A5568; line-height:1.7; font-style:italic; flex:1; }
.si-testi-featured .si-testi-text { color:rgba(255,255,255,.65); font-size:.88rem; }
.si-testi-footer { display:flex; align-items:center; gap:9px; padding-top:12px; border-top:1px solid #eaedf2; }
.si-testi-featured .si-testi-footer { border-top-color:rgba(255,255,255,.08); }
.si-testi-avatar { width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.75rem; font-weight:800; color:#fff; flex-shrink:0; }
.si-testi-name { font-size:.82rem; font-weight:700; color:#0f2240; line-height:1.2; }
.si-testi-featured .si-testi-name { color:#fff; }
.si-testi-biz { font-size:.72rem; color:#94a3b8; margin-top:1px; }
.si-testi-featured .si-testi-biz { color:rgba(255,255,255,.38); }
.si-testi-vtag { margin-left:auto; font-size:.72rem; font-weight:700; padding:3px 8px; border-radius:50px; white-space:nowrap; }
.si-testi-vtag-it { background:#e6f1fb; color:#1A3A6B; }
.si-testi-vtag-hr { background:#e1f5ee; color:#009970; }
.si-testi-bottom { display:flex; gap:14px; margin-top:14px; align-items:stretch; }
.si-rating-card { background:#0f2240; border-radius:14px; padding:18px 22px; display:flex; align-items:center; gap:18px; flex-shrink:0; }
.si-rating-num { font-size:2.5rem; font-weight:900; color:#fff; line-height:1; }
.si-rating-num span { color:#f59e0b; }
.si-rating-stars { color:#f59e0b; font-size:1rem; margin-bottom:3px; }
.si-rating-label { font-size:.72rem; color:rgba(255,255,255,.42); }
.si-rating-count { font-size:.65rem; color:rgba(255,255,255,.28); margin-top:2px; }
.si-testi-cta-card { background:#f8f9fb; border:1px solid #eaedf2; border-radius:14px; padding:18px 20px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; text-align:center; flex-shrink:0; }
.si-testi-cta-card p { font-size:.82rem; color:#4A5568; line-height:1.6; margin:0; max-width:180px; }

/* AMBER BAR */
.si-amber-bar { background:#f59e0b; padding:2.5rem 2rem; }
.si-amber-bar-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; text-align:center; }
.si-amber-stat-n { font-size:clamp(2rem,4vw,3rem); font-weight:900; color:#0f2240; display:block; line-height:1; margin-bottom:.4rem; }
.si-amber-stat-l { font-size:.78rem; font-weight:700; color:rgba(15,34,64,.65); letter-spacing:.06em; text-transform:uppercase; }

/* CTA DUAL */
.si-cta-dual { background:#0f2240; padding:5rem 2rem; position:relative; overflow:hidden; text-align:center; }
.si-cta-glow { position:absolute; border-radius:50%; pointer-events:none; }
.si-cta-glow-1 { width:500px; height:500px; background:radial-gradient(rgba(0,194,139,.08),transparent 70%); top:-180px; right:-80px; }
.si-cta-glow-2 { width:380px; height:380px; background:radial-gradient(rgba(245,158,11,.06),transparent 70%); bottom:-120px; left:-60px; }
.si-cta-inner { position:relative; max-width:1160px; margin:0 auto; }
.si-cta-inner h2 { color:#fff; margin-bottom:.75rem; }
.si-cta-inner > p { color:rgba(255,255,255,.5); font-size:.95rem; max-width:440px; margin:0 auto 2rem; line-height:1.7; }
.si-cta-cards { display:grid; grid-template-columns:1fr 1fr; gap:14px; max-width:680px; margin:0 auto 1.5rem; }
.si-cta-card { border-radius:8px; padding:20px; text-align:left; }
.si-cta-card-it { background:rgba(26,58,107,.5); border:1px solid rgba(123,179,240,.18); }
.si-cta-card-hr { background:rgba(0,154,112,.18); border:1px solid rgba(0,194,139,.22); }
.si-cta-card-label { font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:8px; }
.si-cta-card-label-it { color:#7BB3F0; }
.si-cta-card-label-hr { color:#00C28B; }
.si-cta-card p { font-size:.82rem; color:rgba(255,255,255,.48); line-height:1.55; margin-bottom:12px; }
.si-cta-tel { font-size:.9rem; color:rgba(255,255,255,.5); margin-top:1rem; }
.si-cta-tel a { color:#f59e0b; font-weight:700; text-decoration:none; }

/* FOOTER */
.si-footer { background:#071628; padding:0; }
.si-footer-urgency { max-width:1160px; margin:28px auto; background:rgba(245,158,11,.08); border:1px solid rgba(245,158,11,.18); border-radius:8px; padding:12px 18px; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.si-footer-urgency p { font-size:.85rem; font-weight:700; color:#fbbf24; margin:0; }
.si-footer-urgency a { background:#f59e0b; color:#0f2240; font-size:.78rem; font-weight:800; padding:7px 16px; border-radius:6px; text-decoration:none; white-space:nowrap; flex-shrink:0; }
.si-footer-urgency a:hover { background:#fbbf24; }
.si-footer-main { display:grid; grid-template-columns:2fr 1.5fr 1fr 1fr; gap:2rem; max-width:1160px; margin:0 auto; padding:0 32px 28px; align-items:start; }
.si-footer-logo-row { display:flex; align-items:flex-end; gap:3px; margin-bottom:12px; }
.si-fb-bar { display:block; width:5px; border-radius:2px; }
.si-footer-brand-name { font-family:'Outfit','Arial Black',sans-serif; font-size:1rem; font-weight:900; color:#fff; letter-spacing:.04em; margin-left:8px; line-height:1; }
.si-footer-brand-name span { color:#00C28B; }
.si-footer-brand-desc { font-size:.8rem; color:rgba(255,255,255,.32); line-height:1.7; margin:0; }
.si-footer-col-head { font-size:.72rem; font-weight:800; color:#fff; text-transform:uppercase; letter-spacing:.14em; margin-bottom:14px; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.08); }
.si-footer-group-label { font-size:.65rem; font-weight:700; padding:2px 8px; border-radius:50px; display:inline-block; margin:10px 0 6px; }
.si-flabel-it { background:rgba(123,179,240,.14); color:#7BB3F0; }
.si-flabel-hr { background:rgba(0,194,139,.12); color:#00C28B; }
.si-footer-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:5px; }
.si-footer-list li { font-size:.8rem; color:rgba(255,255,255,.38); }
.si-footer-list a { font-size:.8rem; color:rgba(255,255,255,.38); text-decoration:none; transition:color .2s; }
.si-footer-list a:hover { color:#00C28B; }
.si-footer-bottom { padding:14px 32px; border-top:1px solid rgba(255,255,255,.07); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem; font-size:.75rem; color:rgba(255,255,255,.22); }
.si-footer-bottom-links { display:flex; gap:14px; }
.si-footer-bottom-links a { font-size:.75rem; color:rgba(255,255,255,.22); text-decoration:none; }
.si-footer-bottom-links a:hover { color:#00C28B; }

/* RESPONSIVE */
@media (max-width:900px) {
  .si-split { grid-template-columns:1fr; }
  .si-vertical-hr { border-left:none; border-top:2px solid rgba(0,194,139,.22); }
  .si-dual-services { grid-template-columns:1fr; }
  .si-about-grid { grid-template-columns:1fr; }
  .si-testi-grid { grid-template-columns:1fr; }
  .si-testi-featured { grid-column:span 1; }
  .si-testi-bottom { flex-direction:column; }
  .si-cta-cards { grid-template-columns:1fr; }
  .si-amber-bar-grid { grid-template-columns:1fr 1fr; }
  .si-footer-main { grid-template-columns:1fr 1fr; gap:1.5rem; padding:0 20px 24px; }
  .si-footer-urgency { margin:20px; }
}
@media (max-width:768px) {
  .si-nav-links { display:none; }
  .si-navbar { padding:0 1.25rem; height:56px; }
  .si-hero-intro { padding:36px 1.5rem 32px; }
  .si-vertical { padding:28px 20px; }
  .si-section { padding:3rem 1.25rem; }
}
@media (max-width:640px) {
  .si-footer-main { grid-template-columns:1fr; }
  .si-footer-bottom { padding:12px 20px; flex-direction:column; text-align:center; }
  .si-amber-bar-grid { grid-template-columns:1fr 1fr; }
}

/* Quitar espacio blanco entre CTA y footer */
.si-cta-dual { margin-bottom: 0; }
#page, .site, #content, .site-content { margin:0; padding:0; }
.elementor-section-wrap > .elementor-section:last-child { margin-bottom: 0 !important; }

/* Eliminar linea blanca antes del footer */
#content { background: transparent !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
#page { background: #0f2240 !important; }
.site-content { background: transparent !important; padding: 0 !important; margin: 0 !important; }
body.page-template-page-templates-page-home { background: #fff; }

/* Fix espacio entre CTA y footer - apunta al elemento exacto del inspector */
div#content.site-content { padding: 0 !important; margin: 0 !important; }
.elementor-location-single { padding-bottom: 0 !important; }
.e-con, .elementor-section { margin-bottom: 0 !important; }
.si-cta-dual + * { margin-top: 0 !important; }

/* Fix franja blanca - Elementor kit padding */
.elementor-kit-5, 
.elementor-default,
.hello-elementor-default { 
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
  --padding-left: 0 !important;
  --padding-right: 0 !important;
}
div#page.site { 
  padding: 0 !important;
  margin: 0 !important;
}
.wp-site-blocks { padding: 0 !important; }

/* Elementor section spacing fix */
.elementor-section.elementor-top-section:last-of-type { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.e-con.e-parent:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.elementor-element.si-cta-dual { margin-bottom: 0 !important; }

/* Fix franja blanca entre CTA y footer */
div#page.site { background: #071628; }
body { background: #071628; }

/* Fix agresivo franja blanca */
html, body, div#page, div#content, .site, .site-content,
.elementor-default, .hello-elementor-default,
.page-template-page-templates-page-home { 
  background-color: #071628 !important; 
}
.si-cta-dual { margin-bottom: 0 !important; padding-bottom: 5rem; }

/* Eliminar espacio entre CTA y footer */
.si-cta-dual { padding-bottom: 0 !important; }
html { background: #071628 !important; }
body { background: #071628 !important; }

/* Neutralizar hello-elementor-header-footer.css */
body.hello-elementor-default { padding: 0 !important; }
.hfe-header, .hfe-footer { display: none !important; }
.site-content { padding: 0 !important; }
section.si-cta-dual { margin-bottom: 0 !important; padding-bottom: 3rem; }
section.si-cta-dual + * { margin-top: 0 !important; }

/* Fix definitivo franja - fondo page igual al footer */
div#page.site {
  background: linear-gradient(to bottom, #fff 0%, #fff calc(100% - 400px), #071628 calc(100% - 400px), #071628 100%) !important;
}

/* =============================================
   FORMULARIO DE CONTACTO CTA
   ============================================= */
.si-cta-form-wrap {
  max-width: 640px;
  margin: 2rem auto 0;
  position: relative;
}
.si-cta-form {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 24px;
  margin-bottom: 14px;
}
.si-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
}
.si-form-group {
  display: flex;
  flex-direction: column;
  margin-bottom: 10px;
}
.si-form-group:last-child { margin-bottom: 0; }
.si-cta-form input,
.si-cta-form select,
.si-cta-form textarea {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 8px;
  padding: .65rem 1rem;
  color: rgba(255,255,255,.85);
  font-size: .88rem;
  font-family: inherit;
  width: 100%;
  transition: border-color .2s;
}
.si-cta-form input:focus,
.si-cta-form select:focus,
.si-cta-form textarea:focus {
  outline: none;
  border-color: #00C28B;
}
.si-cta-form input::placeholder,
.si-cta-form textarea::placeholder {
  color: rgba(255,255,255,.3);
}
.si-cta-form select {
  color: rgba(255,255,255,.5);
  cursor: pointer;
}
.si-cta-form select option {
  background: #0f2240;
  color: #fff;
}
.si-cta-form textarea { resize: vertical; }
.si-form-msg {
  text-align: center;
  font-size: .85rem;
  margin-top: .75rem;
  min-height: 1.2rem;
}
.si-form-success { color: #00C28B; }
.si-form-error { color: #f87171; }
.si-cta-form-guarantees {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  flex-wrap: wrap;
}
.si-cta-form-guarantees span {
  font-size: .78rem;
  color: rgba(255,255,255,.4);
}

@media (max-width: 640px) {
  .si-form-row { grid-template-columns: 1fr; }
  .si-cta-form { padding: 16px; }
}

/* PÁGINA IT — BLOQUES */
.si-it-block{background:#fff;border:1px solid #eaedf2;border-radius:14px;padding:2rem;margin-bottom:1.5rem}
.si-it-block-security{border-color:rgba(0,194,139,.2);background:linear-gradient(135deg,#fff 0%,#f0fdf9 100%)}
.si-it-block-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid #eaedf2;flex-wrap:wrap}
.si-it-block-icon{font-size:1.75rem;width:52px;height:52px;background:#f8f9fb;border:1px solid #eaedf2;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.si-it-block-title{font-size:1.15rem;font-weight:800;color:#0f2240;margin-bottom:.25rem;line-height:1.2}
.si-it-block-sub{font-size:.85rem;color:#4A5568;margin:0;line-height:1.5}
.si-it-services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.si-it-svc{background:#f8f9fb;border:1px solid #eaedf2;border-radius:10px;padding:1rem 1.25rem;transition:border-color .2s,box-shadow .2s}
.si-it-svc:hover{border-color:#1a3a6b;box-shadow:0 4px 12px rgba(15,34,64,.08)}
.si-it-block-security .si-it-svc:hover{border-color:#00C28B}
.si-it-svc-title{font-size:.88rem;font-weight:700;color:#0f2240;margin-bottom:.4rem}
.si-it-svc-desc{font-size:.8rem;color:#4A5568;line-height:1.6}
@media(max-width:768px){.si-it-services-grid{grid-template-columns:1fr}.si-it-block{padding:1.25rem}}
/* =============================================
   TABS IT EMPRESAS
   ============================================= */
.si-tabs-nav {
  display: flex;
  gap: 0;
  border-bottom: 2px solid #eaedf2;
  margin-bottom: 2rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.si-tab-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: .85rem 1.5rem;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  font-family: inherit;
  font-size: .88rem;
  font-weight: 600;
  color: #94a3b8;
  white-space: nowrap;
  transition: all .2s;
}

.si-tab-btn:hover { color: #0f2240; }

.si-tab-btn.active {
  color: #0f2240;
  border-bottom-color: #0f2240;
}

.si-tab-icon { font-size: 1.1rem; }

.si-tab-panel { display: none; }
.si-tab-panel.active { display: block; animation: si-tab-in .25s ease; }

@keyframes si-tab-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.si-tab-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.75rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #eaedf2;
  flex-wrap: wrap;
}

.si-tab-intro-text h3 {
  font-size: 1.4rem;
  font-weight: 800;
  color: #0f2240;
  margin-bottom: .5rem;
}

.si-tab-intro-text p {
  font-size: .9rem;
  color: #4A5568;
  line-height: 1.7;
  max-width: 640px;
  margin: 0;
}

.si-tab-badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  border-radius: 50px;
  font-size: .72rem;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
  margin-top: 4px;
}

.si-tab-badge-green {
  background: rgba(0,194,139,.12);
  color: #009970;
  border: 1px solid rgba(0,194,139,.25);
}

.si-tab-badge-blue {
  background: rgba(26,58,107,.08);
  color: #1a3a6b;
  border: 1px solid rgba(26,58,107,.2);
}

.si-tab-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.si-tab-svc {
  background: #f8f9fb;
  border: 1px solid #eaedf2;
  border-radius: 10px;
  padding: 1.25rem;
  transition: border-color .2s, box-shadow .2s;
}

.si-tab-svc:hover {
  border-color: #1a3a6b;
  box-shadow: 0 4px 14px rgba(15,34,64,.08);
}

.si-tab-svc-security:hover { border-color: #00C28B; }

.si-tab-svc-title {
  font-size: .88rem;
  font-weight: 700;
  color: #0f2240;
  margin-bottom: .5rem;
}

.si-tab-svc-desc {
  font-size: .8rem;
  color: #4A5568;
  line-height: 1.6;
}

@media (max-width: 900px) {
  .si-tab-grid { grid-template-columns: 1fr 1fr; }
  .si-tab-btn { padding: .75rem 1rem; font-size: .82rem; }
  .si-tab-label { display: none; }
  .si-tab-icon { font-size: 1.3rem; }
}

@media (max-width: 640px) {
  .si-tab-grid { grid-template-columns: 1fr; }
  .si-tab-label { display: inline; }
}

/* TABS IT */
.si-tabs-nav{display:flex;gap:0;border-bottom:2px solid #eaedf2;margin-bottom:2rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
.si-tab-btn{display:flex;align-items:center;gap:8px;padding:.85rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:600;color:#94a3b8;white-space:nowrap;transition:all .2s}
.si-tab-btn:hover{color:#0f2240}
.si-tab-btn.active{color:#0f2240;border-bottom-color:#0f2240;background:#f8f9fb}
.si-tab-icon{font-size:1.1rem}
.si-tab-panel{display:none}
.si-tab-panel.active{display:block;animation:si-tab-in .25s ease}
@keyframes si-tab-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.si-tab-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.75rem;padding-bottom:1.5rem;border-bottom:1px solid #eaedf2;flex-wrap:wrap}
.si-tab-intro-text h3{font-size:1.4rem;font-weight:800;color:#0f2240;margin-bottom:.5rem}
.si-tab-intro-text p{font-size:.9rem;color:#4A5568;line-height:1.7;max-width:640px;margin:0}
.si-tab-badge{display:inline-flex;align-items:center;padding:5px 14px;border-radius:50px;font-size:.72rem;font-weight:700;white-space:nowrap;flex-shrink:0;margin-top:4px}
.si-tab-badge-green{background:rgba(0,194,139,.12);color:#009970;border:1px solid rgba(0,194,139,.25)}
.si-tab-badge-blue{background:rgba(26,58,107,.08);color:#1a3a6b;border:1px solid rgba(26,58,107,.2)}
.si-tab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.si-tab-svc{background:#f8f9fb;border:1px solid #eaedf2;border-radius:10px;padding:1.25rem;transition:border-color .2s,box-shadow .2s}
.si-tab-svc:hover{border-color:#1a3a6b;box-shadow:0 4px 14px rgba(15,34,64,.08)}
.si-tab-svc-security:hover{border-color:#00C28B}
.si-tab-svc-title{font-size:.88rem;font-weight:700;color:#0f2240;margin-bottom:.5rem}
.si-tab-svc-desc{font-size:.8rem;color:#4A5568;line-height:1.6}
@media(max-width:900px){.si-tab-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.si-tab-grid{grid-template-columns:1fr}}

/* =============================================
   RESPONSIVE MOBILE — FIXES COMPLETOS
   ============================================= */

/* Trust bar — scroll horizontal limpio */
@media (max-width: 768px) {
  .si-trust-bar {
    justify-content: flex-start;
    padding: 12px 0;
    gap: 0;
  }
  .si-trust-item {
    padding: 0 16px;
    flex-shrink: 0;
  }
  .si-trust-item strong { font-size: .78rem; }
  .si-trust-item span { font-size: .7rem; }

  /* Partners bar */
  .si-partners-bar { padding: 12px 0; }
  .si-partners-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    padding: 0 16px;
    gap: 0;
    -webkit-overflow-scrolling: touch;
  }
  .si-partner-item {
    flex-shrink: 0;
    padding: 4px 14px;
  }

  /* Split verticales — padding reducido */
  .si-vertical { padding: 32px 20px; }
  .si-vertical-deco { display: none !important; }

  /* Servicios duales — ocultar iconos emoji */
  .si-ds-icon { display: none !important; }
  .si-ds-svc { padding: 8px 10px; }

  /* Amber bar — 2x2 en mobile */
  .si-amber-bar { padding: 2rem 1.25rem; }
  .si-amber-bar-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 1.5rem;
  }
  .si-amber-stat-n { font-size: 2rem; }

  /* Nosotros */
  .si-about-visual { height: 200px; }
  .si-about-vis-num { font-size: 52px; }

  /* Hero */
  .si-hi-inner h1 { font-size: 1.7rem; }
  .si-hi-body { font-size: .88rem; }

  /* CTA dual */
  .si-cta-inner h2 { font-size: 1.5rem; }
  .si-cta-inner > p { font-size: .88rem; }

  /* Formulario */
  .si-cta-form { padding: 16px; }
  .si-form-row { grid-template-columns: 1fr !important; }

  /* Footer mobile */
  .si-footer-urgency {
    margin: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .si-footer-main {
    grid-template-columns: 1fr !important;
    padding: 0 16px 20px !important;
    gap: 1.25rem !important;
  }
  .si-footer-bottom {
    padding: 12px 16px !important;
    flex-direction: column;
    text-align: center;
    gap: .5rem;
  }

  /* Navbar mobile */
  .si-navbar { padding: 0 1rem; height: 56px; }
  .si-nav-links { display: none !important; }

  /* Secciones */
  .si-section { padding: 2.5rem 1.25rem; }
  .si-section-sub { font-size: .9rem; margin-bottom: 1.5rem; }
  .si-section-title { font-size: 1.5rem; }

  /* Cards proyectos */
  .si-cards-grid { grid-template-columns: 1fr; }

  /* Testimonios */
  .si-testi-grid { grid-template-columns: 1fr; }
  .si-testi-featured { grid-column: span 1; }
  .si-testi-bottom { flex-direction: column; }
  .si-rating-card { width: 100%; }

  /* About grid */
  .si-about-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .si-about-stats { grid-template-columns: 1fr 1fr; }

  /* Dual services */
  .si-dual-services { grid-template-columns: 1fr; }
  .si-ds-col { padding: 20px 16px; }
}

@media (max-width: 480px) {
  .si-amber-bar-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .si-amber-stat-n { font-size: 1.75rem; }
  .si-cta-cards { grid-template-columns: 1fr; }
  .si-pills { gap: 5px; }
  .si-pill { font-size: .68rem; padding: 3px 9px; }
}
