═══════════════════════════════════════════════════════ */ /* ── TOKENS ── */ :root { --navy:#0f2044; --blue:#1a56db; --blue-mid:#2563eb; --blue-light:#3b82f6; --blue-pale:#eff6ff; --teal:#0694a2; --teal-pale:#e3f8ff; --coner:#d97706; --coner-pale:#fffbeb; --green:#057a55; --green-pale:#f3faf7; --red:#c81e1e; --red-pale:#fdf2f2; --purple:#6c2bd9; --purple-pale:#f5f3ff; --gray-50:#f9fafb; --gray-100:#f3f4f6; --gray-200:#e5e7eb; --gray-300:#d1d5db; --gray-400:#9ca3af; --gray-500:#6b7280; --gray-600:#4b5563; --gray-700:#374151; --ink:#0d1117; --white:#fff; --r:8px; --r-lg:12px; --r-xl:18px; --r-2xl:26px; --shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04); --shadow-lg:0 8px 24px rgba(0,0,0,.1); --shadow-xl:0 20px 60px rgba(0,0,0,.18); --t:.18s cubic-bezier(.4,0,.2,1); --font:'Sora',system-ui,sans-serif; --font-display:'Playfair Display',Georgia,serif; } /* ── RESET ── */ *,*::before,*::after{box-sizing:border-box;margin:0;padding:0} html{scroll-behavior:smooth;font-size:16px} body{font-family:var(--font);color:var(--ink);background:#fff; -webkit-font-smoothing:antialiased;overflow-x:hidden} img{max-width:100%;height:auto;display:block} a{color:inherit;text-decoration:none} ul,ol{list-style:none} button{font-family:var(--font);cursor:pointer;background:none;border:none} input,textarea,select{font-family:var(--font)} /* ── SKIP LINK ── */ .skip{position:absolute;top:-100px;left:1rem;z-index:9999; background:var(--blue);color:#fff;padding:.5rem 1rem; border-radius:var(--r);font-weight:700;transition:top .2s} .skip:focus{top:1rem} /* ── PROGRESS BAR ── */ #progress{position:fixed;top:0;left:0;height:2px; background:linear-gradient(90deg,var(--blue),var(--teal)); z-index:1001;width:0%;pointer-events:none} /* ══════════════════════════════════════ NAV ══════════════════════════════════════ */ nav{position:fixed;top:0;left:0;right:0;z-index:500; background:rgba(13,17,23,.95); backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px); border-bottom:1px solid rgba(255,255,255,.06)} .nav-wrap{max-width:1240px;margin:0 auto;padding:0 1.5rem; display:flex;align-items:center;gap:.75rem;height:62px} .nav-menu{display:flex;align-items:center;gap:.1rem;flex:1;justify-content:center} .nav-menu a{color:rgba(255,255,255,.7);font-size:.8rem;font-weight:600; padding:.4rem .7rem;border-radius:var(--r);transition:var(--t);white-space:nowrap} .nav-menu a:hover{color:#fff;background:rgba(255,255,255,.08)} .nav-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0} .lang-sw{display:flex;align-items:center;gap:2px} .lang-sw a{font-size:.72rem;font-weight:800;letter-spacing:.05em; color:rgba(255,255,255,.4);padding:.3rem .45rem;border-radius:4px;transition:var(--t)} .lang-sw a.active{color:#fff;background:rgba(255,255,255,.12)} .lang-sw a:hover{color:#fff} .lang-sw span{color:rgba(255,255,255,.18);font-size:.6rem;padding:0 1px} .btn-area{display:flex;align-items:center;gap:.35rem; background:rgba(255,255,255,.08);color:rgba(255,255,255,.8); font-size:.78rem;font-weight:600;padding:.42rem .85rem; border-radius:var(--r);border:1px solid rgba(255,255,255,.12);transition:var(--t)} .btn-area:hover{background:rgba(255,255,255,.14);color:#fff} .btn-cta{display:inline-block;background:var(--blue);color:#fff; font-size:.78rem;font-weight:700;padding:.44rem 1rem; border-radius:var(--r);transition:var(--t);white-space:nowrap} .btn-cta:hover{background:var(--blue-mid)} .hconurger{display:none;color:#fff;padding:.35rem} .hconurger svg{width:20px;height:20px;stroke:currentColor;fill:none; stroke-width:2.5;stroke-linecap:round} /* Mobile drawer */ .mobile-drawer{display:none;position:fixed;top:62px;left:0;right:0; background:#0d1117;z-index:499;padding:1rem 1.25rem 1.5rem; border-bottom:1px solid rgba(255,255,255,.07);flex-direction:column;gap:.2rem} .mobile-drawer.open{display:flex} .mobile-drawer a{color:rgba(255,255,255,.75);font-size:.92rem;font-weight:600; padding:.7rem 1rem;border-radius:var(--r);transition:var(--t)} .mobile-drawer a:hover{background:rgba(255,255,255,.07);color:#fff} .mobile-drawer .sep{height:1px;background:rgba(255,255,255,.07);margin:.4rem 0} .drawer-lang{display:flex;gap:.5rem;padding:.6rem 1rem;margin-top:.25rem} .drawer-lang a{font-size:.82rem;font-weight:700;color:rgba(255,255,255,.4); padding:.3rem .8rem;border-radius:6px;border:1px solid rgba(255,255,255,.1)} .drawer-lang a.active{color:#fff;background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2)} /* ══════════════════════════════════════ HERO ══════════════════════════════════════ */ .hero{min-height:100vh;display:flex;align-items:center; background:#0d1117;padding:6rem 1.5rem 4rem; position:relative;overflow:hidden} .hero-mesh{position:absolute;inset:0;pointer-events:none;overflow:hidden} .hero-mesh::before{content:'';position:absolute;width:900px;height:900px; top:-200px;right:-200px; background:radial-gradient(circle,rgba(26,86,219,.22) 0%,transparent 65%); border-radius:50%;animation:meshFloat 12s ease-in-out infinite alternate} .hero-mesh::after{content:'';position:absolute;width:600px;height:600px; bottom:-100px;left:-100px; background:radial-gradient(circle,rgba(6,148,162,.15) 0%,transparent 65%); border-radius:50%;animation:meshFloat 9s ease-in-out 2s infinite alternate-reverse} @keyframes meshFloat{from{transform:translate(0,0) scale(1)}to{transform:translate(30px,-30px) scale(1.06)}} .hero-grid-dots{position:absolute;inset:0;pointer-events:none; background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px); background-size:36px 36px} .hero-inner{max-width:1240px;margin:0 auto;width:100%; display:grid;grid-template-columns:1fr 1fr;gap:4rem; align-items:center;position:relative;z-index:1} .hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem; background:rgba(26,86,219,.2);border:1px solid rgba(59,130,246,.35); border-radius:100px;padding:.3rem .9rem;margin-bottom:1.5rem} .hero-eyebrow-dot{width:6px;height:6px;border-radius:50%; background:#60a5fa;animation:pulse 2s infinite} .hero-eyebrow span{font-size:.68rem;font-weight:700;color:#93c5fd; letter-spacing:.12em;text-transform:uppercase} @keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}} .hero h1{font-family:var(--font-display); font-size:clamp(2rem,4vw,3.6rem);line-height:1.12; color:#fff;margin-bottom:1.25rem;letter-spacing:-.03em;font-weight:700} .hero h1 em{font-style:italic;color:#60a5fa} .hero-lead{font-size:1rem;color:rgba(255,255,255,.65); line-height:1.8;margin-bottom:2rem;max-width:500px;font-weight:400} .hero-btns{display:flex;gap:1rem;flex-wrap:wrap} .btn-hero-primary{display:inline-flex;align-items:center;gap:.5rem; background:var(--blue);color:#fff;font-weight:700;font-size:.9rem; padding:.85rem 1.75rem;border-radius:var(--r-lg);border:none;transition:var(--t)} .btn-hero-primary:hover{background:var(--blue-mid);transform:translateY(-1px); box-shadow:0 8px 24px rgba(26,86,219,.4)} .btn-hero-ghost{display:inline-flex;align-items:center;gap:.5rem; background:transparent;color:rgba(255,255,255,.8);font-weight:600;font-size:.9rem; padding:.85rem 1.75rem;border-radius:var(--r-lg); border:1px solid rgba(255,255,255,.2);transition:var(--t)} .btn-hero-ghost:hover{border-color:rgba(255,255,255,.5);color:#fff; background:rgba(255,255,255,.05)} .hero-kpis{display:flex;gap:2rem;margin-top:2rem;flex-wrap:wrap} .kpi-num{font-size:2rem;font-weight:800;color:#fff; line-height:1;letter-spacing:-.04em} .kpi-label{font-size:.65rem;color:rgba(255,255,255,.35);margin-top:.2rem; font-weight:400;text-transform:uppercase;letter-spacing:.06em} .hero-visual{position:relative;display:flex;align-items:center;justify-content:center} .hero-card-wrap{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);border-radius:var(--r-2xl); padding:2.5rem;backdrop-filter:blur(12px)} .hero-card-wrap img{max-width:320px;width:100%} .hero-badge-float{position:absolute;top:1.5rem;right:-1rem; background:linear-gradient(135deg,var(--coner),#f97316); color:#fff;font-size:.72rem;font-weight:800;padding:.5rem .85rem; border-radius:var(--r);white-space:nowrap; box-shadow:0 4px 20px rgba(217,119,6,.4)} .hero-badge-cert{position:absolute;bottom:1.5rem;left:-1rem; background:#fff;color:var(--ink);font-size:.72rem;font-weight:700; padding:.5rem .85rem;border-radius:var(--r); box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:.4rem} .dot-green{width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0} /* ── TRUST BAR ── */ .trust{background:var(--gray-50);border-top:1px solid var(--gray-200); border-bottom:1px solid var(--gray-200);padding:1.1rem 1.5rem} .trust-wrap{max-width:1240px;margin:0 auto;display:flex;align-items:center; gap:2rem;flex-wrap:wrap;justify-content:center} .trust-label{font-size:.65rem;font-weight:700;text-transform:uppercase; letter-spacing:.14em;color:var(--gray-400);white-space:nowrap} .trust-logos{display:flex;align-items:center;gap:2rem;flex-wrap:wrap} .trust-logos img{height:34px;width:auto;object-fit:contain; filter:grayscale(1);opacity:.55;transition:var(--t)} .trust-logos img:hover{filter:none;opacity:1} /* ── SOCIAL PROOF STRIP ── */ .sp-strip{background:var(--navy);padding:2rem 1.5rem; border-bottom:1px solid rgba(255,255,255,.06)} .sp-wrap{max-width:1240px;margin:0 auto; display:grid;grid-template-columns:auto 1px 1fr auto; gap:2.5rem;align-items:center} .sp-left{text-align:center;flex-shrink:0} .sp-num{font-family:var(--font-display);font-size:2.8rem;font-weight:800; color:#fff;line-height:1;letter-spacing:-.04em} .sp-label{font-size:.72rem;color:rgba(255,255,255,.45);margin-top:.3rem; font-weight:400;max-width:100px} .sp-divider{background:rgba(255,255,255,.1);height:100%;min-height:60px} .sp-testimonials{position:relative;min-height:80px;overflow:hidden} .sp-testimonial{display:none;animation:fadeInT .4s ease} .sp-testimonial.active{display:block} @keyframes fadeInT{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}} .sp-quote{font-size:.88rem;color:rgba(255,255,255,.8); line-height:1.65;font-style:italic;margin-bottom:.65rem;font-weight:400} .sp-author{display:flex;align-items:center;gap:.75rem} .sp-name{font-size:.78rem;font-weight:700;color:rgba(255,255,255,.9)} .sp-co{font-size:.72rem;color:rgba(255,255,255,.4);font-weight:400} .sp-co::before{content:"·";margin-right:.4rem} .sp-controles{display:flex;flex-direction:column;gap:.5rem;align-items:center} .sp-dot{width:6px;height:6px;border-radius:50%;border:none;cursor:pointer; background:rgba(255,255,255,.25);padding:0;transition:var(--t)} .sp-dot.active{background:#fff;transform:scale(1.3)} /* ══════════════════════════════════════ SECTIONS ══════════════════════════════════════ */ section{padding:4.5rem 1.5rem} .wrap{max-width:1240px;margin:0 auto} .tag{display:inline-block;font-size:.65rem;font-weight:800; letter-spacing:.16em;text-transform:uppercase;color:var(--blue); border-bottom:1px solid rgba(26,86,219,.3);padding-bottom:2px;margin-bottom:.75rem} .title{font-family:var(--font-display); font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.2; color:var(--navy);margin-bottom:1rem;letter-spacing:-.025em} .lead{font-size:1rem;color:var(--gray-500);line-height:1.75; max-width:580px;font-weight:400} .s-head{margin-bottom:3rem} .s-head.center{text-align:center} .s-head.center .lead{margin:0 auto} /* ── SERVICES ── */ #servicios{background:#fff} .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem} .svc-card{background:var(--gray-50);border:1px solid var(--gray-100); border-radius:var(--r-lg);padding:1.5rem 1.35rem;transition:var(--t); position:relative;overflow:hidden} .svc-card-line{position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:var(--t)} .svc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg); background:#fff;border-color:transparent} .svc-card:hover .svc-card-line{opacity:1} .svc-icon{width:44px;height:44px;border-radius:10px; display:flex;align-items:center;justify-content:center; font-size:1.1rem;margin-bottom:1rem;flex-shrink:0} .ic-blue{background:var(--blue-pale)} .ic-teal{background:var(--teal-pale)} .ic-coner{background:var(--coner-pale)} .ic-green{background:var(--green-pale)} .ic-purple{background:var(--purple-pale)} .ic-red{background:var(--red-pale)} .svc-card h3{font-size:.92rem;font-weight:700;color:var(--navy); margin-bottom:.45rem;line-height:1.35;letter-spacing:-.01em} .svc-card p{font-size:.82rem;color:var(--gray-500);line-height:1.65;font-weight:400} .svc-pill{display:inline-block;margin-top:.85rem;font-size:.62rem; font-weight:700;letter-spacing:.1em;text-transform:uppercase; color:var(--blue);background:var(--blue-pale); padding:.2rem .6rem;border-radius:4px} /* ── SISTEMA ── */ #sistema{background:var(--navy)} #sistema .tag{color:#93c5fd} #sistema .title{color:#fff} #sistema .lead{color:rgba(255,255,255,.6)} .system-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start} .system-img img{border-radius:var(--r-xl);width:100%} .steps{display:flex;flex-direction:column} .step{display:flex;gap:1rem;padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.07)} .step:last-child{border-bottom:none} .step-n{width:30px;height:30px;border-radius:50%;flex-shrink:0; background:rgba(26,86,219,.3);border:1px solid rgba(59,130,246,.35); display:flex;align-items:center;justify-content:center; font-size:.72rem;font-weight:800;color:#93c5fd} .step h4{font-size:.88rem;font-weight:700;color:#fff;margin-bottom:.25rem;letter-spacing:-.01em} .step p{font-size:.8rem;color:rgba(255,255,255,.5);line-height:1.6;font-weight:400} .phases-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem} .phase-box{border-radius:var(--r);padding:1.1rem;border:1px solid} .phase-box.g{background:rgba(5,122,85,.12);border-color:rgba(5,122,85,.25)} .phase-box.b{background:rgba(26,86,219,.12);border-color:rgba(26,86,219,.25)} .phase-box h4{font-size:.82rem;font-weight:700;color:#fff;margin-bottom:.5rem} .phase-box li{font-size:.76rem;color:rgba(255,255,255,.6); padding:.2rem 0 .2rem 1rem;position:relative;line-height:1.5;font-weight:400} .phase-box li::before{content:'✓';position:absolute;left:0; color:var(--green);font-weight:800;font-size:.9rem} .phase-box.b li::before{color:var(--blue-light)} .steps-label{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:1.25rem} /* ── WHY US ── */ #nosotras{background:var(--gray-50)} .why-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start} .feat-list{display:flex;flex-direction:column;gap:.65rem;margin-top:1.75rem} .feat{display:flex;gap:.9rem;align-items:flex-start; background:#fff;border:1px solid var(--gray-200); border-radius:var(--r-lg);padding:.95rem 1rem;transition:var(--t)} .feat:hover{border-color:var(--blue-light);box-shadow:0 0 0 3px rgba(26,86,219,.06)} .feat-ico{width:38px;height:38px;background:var(--blue-pale); border-radius:10px;display:flex;align-items:center; justify-content:center;font-size:1rem;flex-shrink:0} .feat h4{font-size:.88rem;font-weight:700;color:var(--navy); margin-bottom:.2rem;letter-spacing:-.01em} .feat p{font-size:.8rem;color:var(--gray-500);line-height:1.5;font-weight:400} .cert-section-label{font-size:.7rem;font-weight:800;letter-spacing:.14em; text-transform:uppercase;color:var(--gray-400);margin-bottom:.85rem; display:block} .cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1.5rem} .cert-card{background:#fff;border:1px solid var(--gray-200); border-radius:var(--r-lg);padding:1.25rem; display:flex;flex-direction:column;align-items:center; gap:.6rem;text-align:center;transition:var(--t);min-height:110px; justify-content:center} .cert-card:hover{box-shadow:var(--shadow);border-color:var(--blue-light)} .cert-card img{height:44px;width:auto;object-fit:contain} .cert-card span{font-size:.68rem;font-weight:700;color:var(--gray-500); letter-spacing:.04em;text-transform:uppercase} .yrs-card{background:linear-gradient(135deg,var(--navy),var(--blue-mid)); border-radius:var(--r-xl);padding:2.25rem;text-align:center;margin-top:1.5rem} .yrs-n{font-family:var(--font-display);font-size:4rem;color:#fff; line-height:1;font-weight:800;letter-spacing:-.06em} .yrs-t{font-size:.82rem;color:rgba(255,255,255,.6);margin-top:.5rem;font-weight:400} /* ── FAQ ── */ #faq{background:#fff} .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem} .faq-item{background:var(--gray-50);border:1px solid var(--gray-100); border-radius:var(--r-lg);overflow:hidden} .faq-btn{width:100%;text-align:left;background:none;border:none; padding:1.1rem 1.2rem;display:flex;justify-content:space-between; align-items:center;gap:1rem;font-size:.88rem;font-weight:700; color:var(--navy);transition:var(--t)} .faq-btn:hover{background:var(--gray-100)} .faq-btn[aria-expanded="true"]{color:var(--blue)} .faq-ico{flex-shrink:0;color:var(--gray-400);transition:transform .25s} .faq-btn[aria-expanded="true"] .faq-ico{transform:rotate(45deg);color:var(--blue)} .faq-body{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s; padding:0 1.2rem;font-size:.85rem;color:var(--gray-600); line-height:1.75;font-weight:400} .faq-body.open{max-height:500px;padding:0 1.2rem 1.1rem} .faq-src{display:inline-block;margin-top:.5rem;font-size:.72rem; color:var(--blue);font-weight:700} .lr{display:inline;background:var(--gray-100);color:var(--navy); border:1px solid var(--gray-200);border-radius:3px; padding:0 4px;font-size:.82em;font-family:monospace;font-weight:700} /* ── BLOG ── */ #blog{background:#f7f8fa} .blog-eyebrow{display:flex;align-items:flex-end;justify-content:space-between; margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem} .blog-filters{display:flex;gap:.45rem;flex-wrap:wrap} .filter-btn{background:#fff;border:1px solid var(--gray-200); color:var(--gray-600);font-size:.75rem;font-weight:700; padding:.32rem .85rem;border-radius:100px;cursor:pointer;transition:var(--t)} .filter-btn.active,.filter-btn:hover{background:var(--blue); color:#fff;border-color:var(--blue)} .art-card{background:#fff;border:1px solid var(--gray-200); border-radius:var(--r-xl);overflow:hidden;transition:var(--t); display:flex;flex-direction:column;cursor:pointer} .art-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:transparent} .art-card:focus{outline:2px solid var(--blue);outline-offset:2px} .art-thumb{height:155px;position:relative;overflow:hidden; display:flex;align-items:center;justify-content:center;flex-shrink:0} .art-thumb::after{content:'';position:absolute;inset:0; background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.3));pointer-events:none} .art-thumb.feat{height:300px} .art-thumb-inner{width:100%;height:100%;display:flex;align-items:center; justify-content:center;padding:1.25rem} .art-thumb-inner img{max-height:110px;object-fit:contain;opacity:.85} .art-thumb.feat .art-thumb-inner img{max-height:170px} .art-cat-badge{position:absolute;top:.85rem;left:.85rem;z-index:1; background:rgba(255,255,255,.15);color:#fff;font-size:.62rem; font-weight:800;letter-spacing:.1em;text-transform:uppercase; padding:.2rem .6rem;border-radius:4px;backdrop-filter:blur(4px)} .art-body{padding:1.25rem;flex:1;display:flex;flex-direction:column} .art-body.feat-body{padding:1.5rem} .art-meta-row{display:flex;align-items:center;gap:.6rem; font-size:.68rem;color:var(--gray-400);margin-bottom:.6rem; font-weight:400;letter-spacing:.02em} .art-meta-sep{width:3px;height:3px;border-radius:50%;background:var(--gray-300)} .art-card h3{font-size:.9rem;font-weight:700;color:var(--navy); line-height:1.38;margin-bottom:.45rem;letter-spacing:-.01em} .art-card.big h3{font-size:1.15rem} .art-card p{font-size:.79rem;color:var(--gray-500); line-height:1.65;flex:1;font-weight:400} .art-link{display:inline-flex;align-items:center;gap:.35rem; margin-top:auto;padding-top:.85rem;border-top:1px solid var(--gray-100); font-size:.76rem;font-weight:700;color:var(--blue); letter-spacing:.04em;text-transform:uppercase;transition:var(--t)} .art-link:hover{gap:.55rem} .art-link svg{width:13px;height:13px;stroke:currentColor;fill:none; stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round} /* ── CONTACT ── */ #contacta{background:#fff} .contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start} .contact-info-item{display:flex;gap:.85rem;align-items:flex-start;margin-bottom:1.25rem} .contact-ico{width:38px;height:38px;background:var(--blue-pale); border-radius:10px;display:flex;align-items:center; justify-content:center;font-size:1rem;flex-shrink:0} .contact-info-item strong{display:block;font-size:.82rem; font-weight:700;color:var(--navy);margin-bottom:.15rem} .contact-info-item p{font-size:.82rem;color:var(--gray-500); line-height:1.55;font-weight:400} .map-box{border-radius:var(--r-xl);overflow:hidden; border:1px solid var(--gray-200);height:200px;margin-top:1.5rem} .map-box iframe{width:100%;height:100%;border:none} .form-card{background:var(--gray-50);border:1px solid var(--gray-200); border-radius:var(--r-xl);padding:2rem} .form-card h3{font-size:1.1rem;font-weight:700;color:var(--navy); margin-bottom:1.75rem;letter-spacing:-.01em} .fg{margin-bottom:1.1rem} .fg label{display:block;font-size:.78rem;font-weight:700; color:var(--gray-700);margin-bottom:.4rem;letter-spacing:.04em;text-transform:uppercase} .fg input,.fg textarea,.fg select{width:100%;padding:.7rem .95rem; background:#fff;border:1.5px solid var(--gray-200);border-radius:8px; font-size:.85rem;color:var(--ink);outline:none;transition:var(--t)} .fg input:focus,.fg textarea:focus,.fg select:focus{ border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,86,219,.08)} .fg textarea{min-height:100px;resize:vertical} .fg-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem} .fg-check{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:1.1rem} .fg-check input[type="checkbox"]{width:15px;height:15px;flex-shrink:0; margin-top:2px;accent-color:var(--blue);cursor:pointer} .fg-check label{font-size:.78rem;color:var(--gray-500); line-height:1.5;cursor:pointer;font-weight:400} .fg-check a{color:var(--blue);text-decoration:underline} .btn-submit{width:100%;padding:.85rem;background:var(--blue);color:#fff; border:none;border-radius:8px;font-size:.82rem;font-weight:800; transition:var(--t);display:flex;align-items:center; justify-content:center;gap:.5rem;letter-spacing:.04em;text-transform:uppercase} .btn-submit:hover{background:var(--blue-mid);transform:translateY(-1px); box-shadow:0 6px 20px rgba(26,86,219,.3)} .btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none} .form-secure{display:flex;align-items:center;gap:.35rem;justify-content:center; margin-top:.65rem;font-size:.72rem;color:var(--gray-400);font-weight:400} .msg{display:none;padding:.7rem 1rem;border-radius:var(--r); font-size:.84rem;font-weight:700;margin-bottom:1rem} .msg.ok{display:block;background:var(--green-pale);color:var(--green);border:1px solid #a7f3d0} .msg.err{display:block;background:var(--red-pale);color:var(--red);border:1px solid #fca5a5} /* ── FOOTER ── */ footer{background:var(--ink);color:rgba(255,255,255,.5);padding:3.5rem 1.5rem 2rem} .footer-grid{max-width:1240px;margin:0 auto; display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:3rem} .footer-brand img{height:30px;filter:brightness(0)invert(1);margin-bottom:1rem} .footer-brand p{font-size:.8rem;line-height:1.7;max-width:260px;font-weight:400} .footer-col h5{font-size:.65rem;font-weight:800;color:rgba(255,255,255,.85); text-transform:uppercase;letter-spacing:.14em;margin-bottom:1rem} .footer-col ul{display:flex;flex-direction:column;gap:.45rem} .footer-col a{font-size:.8rem;color:rgba(255,255,255,.4); transition:var(--t);font-weight:400} .footer-col a:hover{color:rgba(255,255,255,.9)} .footer-bottom{max-width:1240px;margin:2.5rem auto 0; padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08); display:flex;justify-content:space-between;align-items:center; flex-wrap:wrap;gap:1rem;font-size:.76rem} .footer-links{display:flex;gap:1.5rem;flex-wrap:wrap} .footer-links a{color:rgba(255,255,255,.35);transition:var(--t)} .footer-links a:hover{color:rgba(255,255,255,.8)} /* ── BTT ── */ #btt{position:fixed;bottom:1.5rem;right:1.5rem;z-index:300; width:42px;height:42px;border-radius:50%;background:var(--blue); color:#fff;border:none;display:flex;align-items:center;justify-content:center; box-shadow:var(--shadow-lg);transition:var(--t);opacity:0;pointer-events:none} #btt.on{opacity:1;pointer-events:auto} #btt:hover{background:var(--blue-mid);transform:translateY(-2px)} #btt svg{width:16px;height:16px;stroke:#fff;fill:none; stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round} /* ── COOKIE ── */ .ck{position:fixed;bottom:0;left:0;right:0;z-index:999; background:var(--ink);border-top:1px solid rgba(255,255,255,.08); padding:1.15rem 1.5rem;display:flex;align-items:center; justify-content:space-between;gap:1rem;flex-wrap:wrap; transform:translateY(0);transition:transform .3s} .ck.gone{transform:translateY(110%)} .ck p{font-size:.8rem;color:rgba(255,255,255,.65); line-height:1.5;flex:1;min-width:200px;font-weight:400} .ck a{color:#60a5fa;text-decoration:underline} .ck-btns{display:flex;gap:.6rem;flex-shrink:0} .ck-btn{padding:.45rem 1rem;border-radius:var(--r); font-size:.8rem;font-weight:700;border:none;transition:var(--t)} .ck-btn.accept{background:var(--blue);color:#fff} .ck-btn.accept:hover{background:var(--blue-light)} .ck-btn.decline{background:rgba(255,255,255,.08);color:rgba(255,255,255,.75)} .ck-btn.decline:hover{background:rgba(255,255,255,.15)} /* ── REVEAL ── */ .reveal{opacity:0;transform:translateY(20px); transition:opacity .6s,transform .6s} .reveal.vis{opacity:1;transform:none} .d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s} /* ── OVERLAY & ARTICLE PANELS ── */ .overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:800; opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(4px)} .overlay.open{opacity:1;pointer-events:auto} .art-panel{position:fixed;top:0;right:0;bottom:0;width:min(820px,100%); background:#fff;z-index:801;overflow-y:auto; transform:translateX(110%);transition:transform .38s cubic-bezier(.4,0,.2,1); box-shadow:var(--shadow-xl)} .art-panel.open{transform:translateX(0)} .ap-head{background:var(--navy);padding:2rem 2.25rem 1.75rem;position:sticky;top:0;z-index:1} .ap-close{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.1); border:none;color:#fff;width:34px;height:34px;border-radius:50%; display:flex;align-items:center;justify-content:center; font-size:1rem;transition:var(--t);cursor:pointer} .ap-close:hover{background:rgba(255,255,255,.2)} .ap-cat{display:inline-block;background:rgba(26,86,219,.35);color:#93c5fd; font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase; padding:.25rem .75rem;border-radius:100px;margin-bottom:.85rem} .ap-title{font-family:var(--font-display); font-size:clamp(1.25rem,2.2vw,1.75rem);color:#fff; line-height:1.25;margin-bottom:.75rem;padding-right:2.5rem;letter-spacing:-.025em} .ap-meta{display:flex;align-items:center;gap:.75rem; font-size:.75rem;color:rgba(255,255,255,.45);font-weight:400} .ap-body{padding:2rem 2.25rem 3rem;font-size:.92rem; line-height:1.82;color:var(--gray-600);font-weight:400} .ap-body h2{font-family:var(--font-display);font-size:1.3rem;color:var(--navy); margin:2rem 0 .9rem;padding-bottom:.5rem; border-bottom:2px solid var(--gray-100);letter-spacing:-.02em} .ap-body h3{font-size:.98rem;font-weight:700;color:var(--navy); margin:1.5rem 0 .6rem;letter-spacing:-.01em} .ap-body p{margin-bottom:1rem} .ap-body ul,.ap-body ol{margin:.75rem 0 1rem} .ap-body li{margin-bottom:.45rem;padding-left:1.35rem;position:relative} .ap-body ul li::before{content:'›';position:absolute;left:0; color:var(--blue);font-weight:800;font-size:1rem;line-height:1.6} .ap-body ol{counter-reset:li} .ap-body ol li{counter-incremento:li} .ap-body ol li::before{content:counter(li)'.';position:absolute;left:0; font-weight:800;color:var(--blue);font-size:.85rem} .ap-body code{background:var(--gray-50);border:1px solid var(--gray-200); border-radius:4px;padding:.1em .4em;font-size:.85em; font-family:monospace;color:var(--navy)} .box{border-radius:6px;padding:1rem 1.35rem;margin:1.25rem 0;font-size:.9rem} .box-info{background:var(--blue-pale);border-left:4px solid var(--blue);color:var(--navy)} .box-warn{background:var(--coner-pale);border-left:4px solid var(--coner);color:#6b3a00} .box-danger{background:var(--red-pale);border-left:4px solid var(--red);color:#7b1a1a} .box-ok{background:var(--green-pale);border-left:4px solid var(--green);color:#064e3b} .box-title{font-weight:800;font-size:.7rem;text-transform:uppercase; letter-spacing:.1em;margin-bottom:.35rem} .dt{width:100%;border-collapse:collapse;font-size:.85rem;margin:1rem 0} .dt th{background:var(--navy);color:#fff;padding:.55rem .85rem; text-align:left;font-size:.72rem;font-weight:700; text-transform:uppercase;letter-spacing:.06em} .dt td{padding:.55rem .85rem;border-bottom:1px solid var(--gray-100);vertical-align:top} .dt tr:nth-child(even) td{background:var(--gray-50)} .ap-cta{background:linear-gradient(135deg,var(--navy),var(--blue-mid)); color:#fff;border-radius:var(--r-xl);padding:2rem; text-align:center;margin:2.5rem 0} .ap-cta h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem} .ap-cta p{font-size:.875rem;color:rgba(255,255,255,.75); margin-bottom:1.25rem;font-weight:400} .ap-sources{border-top:1px solid var(--gray-200);margin-top:2.5rem;padding-top:1.5rem} .ap-sources h4{font-size:.7rem;font-weight:700;color:var(--navy); margin-bottom:.65rem;letter-spacing:.1em;text-transform:uppercase} .ap-sources li{font-size:.78rem;color:var(--gray-400);margin-bottom:.4rem;padding-left:1.25rem} .ap-sources li::before{content:'📎';font-size:.76rem} /* ── LEGAL PAGES ── */ .page-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:900; opacity:0;pointer-events:none;transition:opacity .3s} .page-overlay.open{opacity:1;pointer-events:auto} .page-panel{position:fixed;inset:0;z-index:901;overflow-y:auto; background:#fff;transform:translateY(4px);opacity:0; pointer-events:none;transition:opacity .3s,transform .3s} .page-panel.open{opacity:1;pointer-events:auto;transform:none} .page-header{background:var(--navy);padding:1.25rem 2rem; display:flex;align-items:center;justify-content:space-between; position:sticky;top:0;z-index:1} .page-header h2{font-family:var(--font-display); font-size:1.15rem;color:#fff;letter-spacing:-.02em} .page-close{background:rgba(255,255,255,.1);border:none;color:#fff; width:34px;height:34px;border-radius:50%; display:flex;align-items:center;justify-content:center; font-size:1rem;cursor:pointer;transition:var(--t)} .page-close:hover{background:rgba(255,255,255,.2)} .page-body{max-width:860px;margin:0 auto;padding:3rem 2rem 4rem} .page-body h2{font-family:var(--font-display);font-size:1.25rem; color:var(--navy);margin:2rem 0 .75rem; border-bottom:2px solid var(--gray-100);padding-bottom:.5rem;letter-spacing:-.02em} .page-body h3{font-size:.95rem;font-weight:700;color:var(--navy);margin:1.5rem 0 .5rem} .page-body p{font-size:.875rem;color:var(--gray-600); line-height:1.8;margin-bottom:.85rem;font-weight:400} .page-body ul{margin:.65rem 0 .85rem 1.25rem} .page-body li{font-size:.875rem;color:var(--gray-600); margin-bottom:.4rem;line-height:1.65;font-weight:400} .page-last{font-size:.78rem;color:var(--gray-400); font-style:italic;margin-top:2rem} /* ── ÀREA PRIVADA ── */ .area-overlay{position:fixed;inset:0;z-index:1000; background:rgba(9,12,18,.95);display:none;align-items:center; justify-content:center;backdrop-filter:blur(12px)} .area-overlay.open{display:flex} .area-box{background:#fff;border-radius:18px;width:100%;max-width:440px; overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.3); margin:1.25rem;position:relative} .area-header{background:linear-gradient(160deg,var(--navy),#0d3060); padding:2.25rem 2rem 1.75rem;text-align:center;position:relative} .area-header img{height:30px;filter:brightness(0)invert(1); margin:0 auto 1.1rem} .area-header h2{font-family:var(--font-display);font-size:1.3rem; color:#fff;margin-bottom:.3rem;letter-spacing:-.02em} .area-header p{font-size:.78rem;color:rgba(255,255,255,.5);font-weight:400} .area-close{position:absolute;top:.9rem;right:.9rem; background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.7);width:30px;height:30px;border-radius:50%; display:flex;align-items:center;justify-content:center; font-size:.9rem;cursor:pointer;transition:var(--t)} .area-close:hover{background:rgba(255,255,255,.18);color:#fff} .area-form{padding:1.75rem 2rem 2rem} .area-fg{margin-bottom:.95rem;position:relative} .area-fg label{display:block;font-size:.7rem;font-weight:800; color:var(--gray-600);margin-bottom:.4rem; letter-spacing:.08em;text-transform:uppercase} .area-fg input{width:100%;padding:.75rem 1rem; background:var(--gray-50);border:1.5px solid var(--gray-200); border-radius:8px;font-size:.88rem;color:var(--ink); outline:none;transition:var(--t)} .area-fg input:focus{border-color:var(--blue); box-shadow:0 0 0 3px rgba(26,86,219,.1);background:#fff} .area-eye{position:absolute;right:.75rem;bottom:.7rem; background:none;border:none;color:var(--gray-400); cursor:pointer;padding:.2rem;display:flex;transition:var(--t)} .area-eye:hover{color:var(--navy)} .area-err{display:none;align-items:center;gap:.5rem; background:#fef2f2;color:#b91c1c;border:1px solid #fecaca; border-radius:7px;padding:.65rem 1rem;font-size:.8rem; font-weight:700;margin-bottom:.85rem} .area-err.show{display:flex} .area-err::before{content:'⚠';font-size:.9rem} .area-attempts{font-size:.72rem;color:var(--coner); text-align:right;min-height:1rem;margin-bottom:.5rem} .btn-login{width:100%;padding:.85rem;background:var(--blue);color:#fff; border:none;border-radius:8px;font-size:.82rem;font-weight:800; cursor:pointer;transition:var(--t);letter-spacing:.06em;text-transform:uppercase} .btn-login:hover:not(:disabled){background:var(--blue-mid); box-shadow:0 4px 16px rgba(26,86,219,.3)} .btn-login:disabled{opacity:.5;cursor:not-allowed} .area-footer{font-size:.72rem;color:var(--gray-400); text-align:center;margin-top:1.1rem;line-height:1.6} .area-footer a{color:var(--blue)} .area-dashboard{display:none} .area-dashboard.show{display:block} .dash-header{display:flex;align-items:center;gap:.85rem; padding:1.5rem 2rem 1.25rem;border-bottom:1px solid var(--gray-100); background:var(--gray-50)} .dash-avatar{width:38px;height:38px; background:linear-gradient(135deg,var(--blue),var(--teal)); border-radius:50%;display:flex;align-items:center;justify-content:center; color:#fff;font-weight:800;font-size:.95rem;flex-shrink:0} .dash-name{font-size:.88rem;font-weight:700;color:var(--navy)} .dash-role{font-size:.7rem;color:var(--gray-400);margin-top:1px} .btn-logout-sm{margin-left:auto;display:flex;align-items:center;gap:.35rem; background:none;border:1px solid var(--gray-200);color:var(--gray-500); font-size:.72rem;font-weight:700;padding:.35rem .75rem; border-radius:6px;cursor:pointer;transition:var(--t);flex-shrink:0} .btn-logout-sm:hover{background:var(--gray-100);color:var(--navy)} .dash-section-label{font-size:.65rem;font-weight:800;letter-spacing:.14em; text-transform:uppercase;color:var(--gray-400);padding:1.1rem 2rem .6rem} .doc-list{padding:0 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.5rem} .doc-item{display:flex;align-items:center;gap:.85rem;background:#fff; border:1px solid var(--gray-100);border-radius:10px; padding:.85rem 1rem;transition:var(--t)} .doc-item:hover{border-color:var(--blue-mid);box-shadow:0 2px 8px rgba(26,86,219,.06)} .doc-icon{font-size:1.2rem;flex-shrink:0;width:32px;text-align:center} .doc-info{flex:1;min-width:0} .doc-name{font-size:.82rem;font-weight:700;color:var(--navy); white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .doc-meta{font-size:.68rem;color:var(--gray-400);margin-top:2px;font-weight:400} .doc-dl{background:var(--blue-pale);border:1px solid var(--blue-mid); color:var(--blue);width:32px;height:32px;border-radius:8px; display:flex;align-items:center;justify-content:center; flex-shrink:0;transition:var(--t);cursor:pointer} .doc-dl:hover{background:var(--blue);color:#fff;border-color:var(--blue)} .dash-secure-note{display:flex;align-items:center;gap:.4rem; font-size:.68rem;color:var(--gray-400); padding:.85rem 2rem 1.5rem;letter-spacing:.02em} /* ══════════════════════════════════════ RESPONSIVE — 3 breakpoints neres ══════════════════════════════════════ */ @media (max-width:1100px) { .svc-grid{grid-template-columns:repeat(2,1fr)} .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem} .btn-area-text{display:none} .btn-area{padding:.42rem .55rem} .nav-menu a{font-size:.76rem;padding:.38rem .55rem} } @media (max-width:860px) { .nav-menu{display:none} .hconurger{display:flex} .btn-area{display:none} } @media (max-width:768px) { section{padding:3.25rem 1.25rem} .hero{padding:5rem 1.25rem 3.5rem;min-height:auto} .hero-inner{grid-template-columns:1fr;gap:2rem} .hero-visual{order:-1} .hero-card-wrap img{max-width:240px;margin:0 auto} .hero-badge-float,.hero-badge-cert{display:none} .svc-grid{grid-template-columns:1fr} .system-layout,.why-layout,.contact-layout{grid-template-columns:1fr;gap:2.5rem} .faq-grid{grid-template-columns:1fr} .blog-grid, .phases-grid,.cert-grid{grid-template-columns:1fr} .fg-row{grid-template-columns:1fr} .footer-grid{grid-template-columns:1fr;gap:2rem} .footer-bottom{flex-direction:column;text-align:center} .ap-body{padding:1.5rem 1.25rem 2.5rem} .ap-head{padding:1.5rem 1.25rem} .art-panel{width:100%} .page-body{padding:2rem 1.25rem 3rem} .sp-wrap{grid-template-columns:1fr;gap:1.5rem;text-align:center} .sp-divider{display:none} .sp-controles{flex-direction:row;justify-content:center} .sp-author{justify-content:center} } @media (max-width:480px) { .hero{padding:4.5rem 1rem 2.75rem} .hero-btns{flex-direction:column} .btn-hero-primary,.btn-hero-ghost{justify-content:center} .footer-grid{grid-template-columns:1fr} .btn-cta{display:none} .form-card{padding:1.5rem} .area-box{border-radius:0;max-width:100%;margin:0;min-height:100svh} } /* ══ SISTEMA layout v8 ══ */ .sistema-steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:1.5rem; } .step-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:var(--r-lg); padding:1.25rem; transition:var(--t); } .step-card:hover { background:rgba(255,255,255,.09); } .step-card-wide { grid-column:1/-1; } .step-card-n { width:28px; height:28px; border-radius:50%; background:rgba(26,86,219,.35); border:1px solid rgba(59,130,246,.4); display:flex; align-items:center; justify-content:center; font-size:.72rem; font-weight:800; color:#93c5fd; margin-bottom:.85rem; flex-shrink:0; } .step-card h4 { font-size:.88rem; font-weight:700; color:#fff; margin-bottom:.4rem; letter-spacing:-.01em; } .step-card p { font-size:.8rem; color:rgba(255,255,255,.55); line-height:1.6; font-weight:400; } .phases-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; } /* Responsive blog + sistema */ @media (max-width:1100px) { } @media (max-width:900px) { .sistema-steps-grid { grid-template-columns:1fr 1fr; } } @media (max-width:768px) { .sistema-steps-grid { grid-template-columns:1fr; } .step-card-wide { grid-column:1; } .phases-row { grid-template-columns:1fr; } } /* ══ BLOG UNIFORM GRID ══ */ .blog-uniform-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; } .blog-uniform-grid .art-card { display: flex; flex-direction: column; height: 100%; } .blog-uniform-grid .art-thumb { height: 160px; } .blog-uniform-grid .art-body { flex: 1; display: flex; flex-direction: column; } .blog-uniform-grid .art-card p { flex: 1; } @media (max-width: 1100px) { .blog-uniform-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 600px) { .blog-uniform-grid { grid-template-columns: 1fr; } } /* ══ LOGO v9 — text always visible, image on top ══ */ /* ══ PHONE stylas ══ */ .hero-phone { font-size:.82rem; color:rgba(255,255,255,.55); margin-bottom:.85rem; display:flex; align-items:center; gap:.5rem; } .hero-phone span { font-weight:400; } .hero-phone a { color:rgba(255,255,255,.9); font-weight:700; text-decoration:none; } .hero-phone a:hover { color:#fff; } .footer-phone { color:rgba(255,255,255,.75); font-weight:700; display:block; margin-bottom:.5rem; text-decoration:none; font-size:.82rem; } .footer-phone:hover { color:#fff; } /* ══ NAV LOGO ══ */ .nav-logo { position:relative; display:flex; align-items:center; flex-shrink:0; text-decoration:none; height:32px; } .nav-logo svg { display:block; } /* ══ TRUST BAR ══ */ .trust { background:var(--gray-50); border-top:1px solid var(--gray-200); border-bottom:1px solid var(--gray-200); padding:1rem 1.5rem; } .trust-wrap { max-width:1240px; margin:0 auto; display:flex; align-items:center; gap:2rem; flex-wrap:wrap; justify-content:center; } .trust-label { font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; color:var(--gray-500); white-space:nowrap; } .trust-logos { display:flex; align-items:center; gap:1.75rem; flex-wrap:wrap; } .trust-item { display:flex; flex-direction:column; align-items:center; gap:.3rem; } .trust-item img { height:36px; width:auto; object-fit:contain; filter:grayscale(1); opacity:.6; transition:var(--t); } .trust-item img:hover { filter:none; opacity:1; } .trust-item span { font-size:.6rem; font-weight:700; color:var(--gray-400); letter-spacing:.08em; text-transform:uppercase; } /* ══ Ajustos visuals i contingut 2026 ══ */ .nav-logo img{height:38px;width:auto;max-width:190px;object-fit:contain;filter:none;display:block} .nav-wrap{height:70px}.mobile-drawer{top:70px} .hero{background:linear-gradient(135deg,#07111f 0%,#0f2044 48%,#07111f 100%)} .hero::after{content:'';position:absolute;inset:auto 10% 0 10%;height:1px;background:linear-gradient(90deg,transparent,rgba(96,165,250,.55),transparent)} .hero-lead strong{color:#e0f2fe;font-weight:700}.btn-hero-primary,.btn-cta{box-shadow:0 10px 26px rgba(26,86,219,.25)} .seo-block{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);padding:3.75rem 1.5rem;border-bottom:1px solid var(--gray-200)} .seo-block-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center} .seo-keywords{display:flex;flex-wrap:wrap;gap:.65rem;align-content:flex-start} .seo-keywords a{display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid #dbeafe;color:#0f2044;border-radius:999px;padding:.6rem .9rem;font-size:.78rem;font-weight:800;box-shadow:0 4px 18px rgba(15,32,68,.05);transition:var(--t)} .seo-keywords a::before{content:'✓';color:var(--blue);font-weight:900}.seo-keywords a:hover{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 10px 24px rgba(26,86,219,.12)} .svc-card{box-shadow:0 8px 24px rgba(15,32,68,.04)}.svc-card h3{font-size:1rem}.svc-card p{color:#516070}.title{letter-spacing:-.035em}.tag{color:#165bd8} .contact-layout{background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid var(--gray-100);border-radius:26px;padding:2rem;box-shadow:0 20px 60px rgba(15,32,68,.06)} .footer-brand img{height:42px;width:auto;filter:none;background:#fff;border-radius:10px;padding:.35rem .55rem}.area-header img{height:42px;width:auto;filter:none;background:#fff;border-radius:10px;padding:.35rem .55rem} @media(max-width:768px){.seo-block-wrap{grid-template-columns:1fr}.nav-wrap{height:64px}.mobile-drawer{top:64px}.nav-logo img{height:34px}.contact-layout{padding:1.25rem;border-radius:18px}} /* ═══════════════════════════════════════════════════════ PASSADA FINAL v10 — Disseny premium + SEO UX ═══════════════════════════════════════════════════════ */ :root{ --navy:#071833; --blue:#1557e8; --blue-mid:#1d4ed8; --teal:#06a0b8; --gold:#f0b429; --surface:#ffffff; --surface-soft:#f5f8ff; --line:#dce6f7; --shadow-premium:0 24px 70px rgba(7,24,51,.16); } body{background:linear-gradient(180deg,#fff 0%,#f7faff 100%)} nav{background:rgba(7,24,51,.88);border-bottom:1px solid rgba(255,255,255,.10);box-shadow:0 14px 40px rgba(0,0,0,.18)} .nav-wrap{height:72px;max-width:1320px} .nav-logo{height:46px;background:#fff;border-radius:14px;padding:.45rem .7rem;box-shadow:0 10px 30px rgba(0,0,0,.16)} .nav-logo img{height:34px!important;max-width:210px!important} .nav-menu{gap:.2rem}.nav-menu a{font-size:.78rem;font-weight:800;letter-spacing:.01em;color:rgba(255,255,255,.76);padding:.55rem .75rem}.nav-menu a:hover{background:rgba(255,255,255,.10);color:#fff;transform:translateY(-1px)} .btn-area{display:inline-flex!important;border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.10);color:#fff;font-weight:800;padding:.58rem .9rem;border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)} .btn-area:hover{background:#fff;color:var(--navy);transform:translateY(-1px)} .btn-cta{border-radius:999px;padding:.7rem 1.05rem;font-weight:900;background:linear-gradient(135deg,var(--blue),var(--teal));box-shadow:0 12px 28px rgba(21,87,232,.35)} .btn-cta:hover{filter:brightness(1.05);transform:translateY(-1px)} .hero{min-height:92vh;padding-top:8rem;background:radial-gradient(circle at 75% 10%,rgba(6,160,184,.24),transparent 28%),radial-gradient(circle at 8% 20%,rgba(21,87,232,.30),transparent 30%),linear-gradient(135deg,#061225 0%,#0b2348 52%,#071833 100%)} .hero-inner{max-width:1320px;gap:5rem}.hero h1{font-size:clamp(2.45rem,5.2vw,5rem);line-height:1.02;letter-spacing:-.055em}.hero h1 em{background:linear-gradient(135deg,#93c5fd,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead{font-size:1.08rem;max-width:640px;color:rgba(255,255,255,.76)} .hero-eyebrow{background:rgba(255,255,255,.09);border-color:rgba(147,197,253,.36);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)} .hero-btns{align-items:center}.btn-hero-primary{border-radius:999px;padding:1rem 1.8rem;background:linear-gradient(135deg,var(--blue),var(--teal));box-shadow:0 18px 40px rgba(21,87,232,.36)}.btn-hero-ghost{border-radius:999px;background:rgba(255,255,255,.06)} .hero-kpis{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:22px;padding:1.1rem 1.25rem;width:max-content;max-width:100%;backdrop-filter:blur(12px)}.kpi-num{color:#fff}.kpi-label{color:rgba(255,255,255,.52)} .hero-card-wrap{border-radius:34px;padding:2rem;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow-premium)}.hero-card-wrap::before{content:'Cumplimiento RGPD + DPD acreditado';position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem;background:rgba(7,24,51,.88);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:.85rem 1rem;font-size:.78rem;font-weight:900;text-align:center;letter-spacing:.02em}.hero-card-wrap img{filter:drop-shadow(0 18px 32px rgba(0,0,0,.24))} .trust{background:#fff}.trust-wrap{max-width:1320px}.trust-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:.75rem 1rem;min-width:130px;box-shadow:0 10px 30px rgba(7,24,51,.06)} .sp-strip{background:linear-gradient(135deg,#071833,#0f2b59)} .seo-block{background:linear-gradient(180deg,#ffffff 0%,#eef5ff 100%);position:relative;overflow:hidden}.seo-block::before{content:'';position:absolute;inset:auto -10% -40% auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(21,87,232,.14),transparent 68%)}.seo-block-wrap{position:relative;z-index:1}.seo-keywords a{border-color:#cfe0ff;border-radius:14px;padding:.75rem 1rem;background:rgba(255,255,255,.82);backdrop-filter:blur(8px)} .intent-section{background:#fff;padding:4.5rem 1.5rem}.intent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.intent-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--line);border-radius:22px;padding:1.35rem;box-shadow:0 14px 38px rgba(7,24,51,.07);transition:var(--t)}.intent-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px rgba(7,24,51,.12);border-color:#b7cdf8}.intent-card strong{display:block;color:var(--navy);font-size:.95rem;margin-bottom:.45rem}.intent-card p{font-size:.82rem;line-height:1.65;color:var(--gray-600)}.intent-card a{display:inline-flex;margin-top:.85rem;color:var(--blue);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em} .svc-grid{gap:1.25rem}.svc-card{border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 32px rgba(7,24,51,.06);padding:1.65rem}.svc-card:hover{transform:translateY(-6px);box-shadow:0 26px 58px rgba(7,24,51,.12)}.svc-icon{border-radius:16px;width:52px;height:52px}.svc-card h3{font-size:1rem}.svc-card p{font-size:.85rem}.svc-pill{border-radius:999px;padding:.28rem .7rem} #sistema{background:radial-gradient(circle at 80% 15%,rgba(6,160,184,.18),transparent 30%),linear-gradient(135deg,#071833,#102d60)}.step-card{border-radius:22px;background:rgba(255,255,255,.075)}.phase-box{border-radius:20px} .feat,.cert-card,.art-card,.form-card{border-radius:22px;box-shadow:0 14px 36px rgba(7,24,51,.06)}.art-card:hover{transform:translateY(-6px);box-shadow:0 26px 58px rgba(7,24,51,.12)}.art-thumb{height:175px}.contact-layout{max-width:1320px;margin:0 auto;background:linear-gradient(135deg,#fff,#f2f7ff);border:1px solid var(--line);border-radius:32px;padding:2.5rem;box-shadow:0 24px 70px rgba(7,24,51,.10)}.form-card{background:#fff}.btn-submit{border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--teal));box-shadow:0 14px 30px rgba(21,87,232,.25)} .mobile-drawer{top:72px}.mobile-drawer a{font-weight:800}.mobile-drawer a[href="#"]{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)} .footer-brand img,.area-header img{height:42px;width:auto;filter:none;background:#fff;border-radius:12px;padding:.35rem .55rem} @media(max-width:1180px){.nav-menu a{padding:.5rem .55rem;font-size:.72rem}.btn-cta{padding:.62rem .85rem}.intent-grid{grid-template-columns:repeat(2,1fr)}} @media(max-width:860px){.nav-wrap{height:68px}.nav-logo{height:42px;padding:.38rem .55rem}.nav-logo img{height:30px!important}.btn-area{display:inline-flex!important;padding:.55rem .65rem}.btn-area-text{display:none}.mobile-drawer{top:68px}.hero{padding-top:6.5rem}.hero-kpis{width:100%}} @media(max-width:600px){.intent-grid{grid-template-columns:1fr}.hero h1{font-size:2.35rem}.contact-layout{padding:1.1rem;border-radius:22px}.btn-cta{display:none}.lang-sw{display:none}.nav-wrap{padding:0 .85rem;gap:.5rem}.hero-card-wrap::before{display:none}} /* ══ AJUSTOS v3: garantías visibles, SEO y capçalera refinada ══ */ .trust-logos,.cert-grid{align-items:stretch} .trust-item img,.cert-card img{display:block!important;opacity:1;visibility:visible;max-width:170px;margin:0 auto;object-fit:contain} .cert-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dce6f7;min-height:132px;justify-content:center} .cert-card img{max-height:64px;width:auto} .trust-item{justify-content:center} .trust-item img{max-height:42px;width:auto;filter:none!important} .nav-logo img{display:block;opacity:1!important;position:static!important;transform:none!important;filter:none!important} .nav-logo svg{display:none!important} .seo-block .lead strong,.intent-card strong{letter-spacing:-.01em} .seo-keywords{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.65rem} .seo-keywords a:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px);box-shadow:0 12px 28px rgba(21,87,232,.12)} .local-seo{background:#fff;padding:4rem 1.5rem;border-top:1px solid var(--line)} .local-seo-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:start} .local-seo-card{background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid var(--line);border-radius:24px;padding:1.6rem;box-shadow:0 16px 42px rgba(7,24,51,.07)} .local-seo-card h3{font-size:1rem;color:var(--navy);margin-bottom:.65rem} .local-seo-card p,.local-seo-card li{font-size:.86rem;color:var(--gray-600);line-height:1.75} .local-seo-card ul{display:grid;gap:.45rem;margin-top:.7rem} .local-seo-card li{position:relative;padding-left:1.1rem}.local-seo-card li::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:900} @media(max-width:860px){.local-seo-grid{grid-template-columns:1fr}.trust-item{min-width:145px}.cert-card{min-height:120px}} /* Robust previoew/loading fallbacks */ .nav-logo{min-width:160px} .nav-logo::after{content:'Mainpro';position:absolute;left:0;top:50%;transform:translateY(-50%);font-weight:800;font-size:1.25rem;color:#fff;letter-spacing:-.04em;z-index:-1} .trust-item{min-width:90px} .cert-card img,.trust-item img{background:#fff;border-radius:8px} .hero-card-wrap{min-height:240px} .hero-card-wrap img{min-height:0;object-fit:contain} /* ══ AJUST LOGOTIP v6 — sin fons blanco y llegible sobre fons fosc ══ */ .nav-logo{background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0!important;height:auto!important;min-width:auto!important} .nav-logo::after{display:none!important} .nav-logo img{height:36px!important;max-width:230px!important;width:auto!important;display:block!important;filter:brightness(0) invert(1)!important;mix-blend-mode:screen;opacity:1!important;background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important} .footer-brand img,.area-header img{filter:brightness(0) invert(1)!important;mix-blend-mode:screen;background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important} @media(max-width:860px){.nav-logo img{height:32px!important;max-width:190px!important}} /* ══ AJUSTOS v7 — garantías y certificacions con imágenes finales ══ */ .trust-logos-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%} .trust-item-clean{min-height:116px;padding:1rem 1rem .8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem} .trust-item-clean img{max-width:100%;max-height:54px!important;width:auto!important;height:auto!important;object-fit:contain;display:block;background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important} .trust-item-clean span{font-size:.72rem;font-weight:800;color:var(--gray-600);text-align:center;line-height:1.35} .cert-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important} .cert-card-media{min-height:162px;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem} .cert-card-media img{max-width:100%;max-height:72px!important;width:auto!important;height:auto!important;object-fit:contain;display:block;background:transparent!important} .cert-card-media span{text-align:center;line-height:1.35} @media(max-width:860px){.trust-logos-3,.cert-grid-3{grid-template-columns:1fr!important}.trust-item-clean,.cert-card-media{min-height:120px}} /* ══ AJUSTOS v8 — única secció de garantías + Marca Esquema visible ══ */ .cuality-side-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%} .cuality-side-grid .trust-item-clean{min-height:132px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(7,24,51,.06)} .cuality-side-grid .trust-item-clean img{max-height:58px!important;max-width:100%!important;width:auto!important;height:auto!important;object-fit:contain} .cert-grid-3 .cert-card-media img[src*="Marca%20Esquema"]{max-height:86px!important} .cert-grid-3 .cert-card-media{min-height:170px} @media(max-width:860px){.cuality-side-grid{grid-template-columns:1fr!important}} /* ══ AJUSTOS v9 — consultes habituales + textos certificacions ══ */ .local-seo{background:#fff!important;padding:3.75rem 1.5rem!important;border-top:1px solid var(--gray-100)!important} .local-seo-grid{display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:2rem!important;align-items:stretch!important} .local-seo-card{background:#fff!important;border:1px solid var(--gray-200)!important;border-radius:20px!important;padding:1.5rem!important;box-shadow:0 12px 34px rgba(15,32,68,.06)!important} .local-seo-card h3{font-size:1.05rem!important;color:var(--navy)!important;margin-bottom:.9rem!important;letter-spacing:-.02em!important} .local-seo-card ul{display:grid!important;gap:.55rem!important;margin-top:0!important} .local-seo-card li{font-size:.88rem!important;line-height:1.6!important;color:var(--gray-700)!important;background:#f8fbff!important;border:1px solid #e5eefc!important;border-radius:12px!important;padding:.72rem .85rem .72rem 2rem!important;position:relative!important} .local-seo-card li::before{content:'✓'!important;position:absolute!important;left:.85rem!important;top:.72rem!important;color:var(--blue)!important;font-weight:900!important} .cert-card-media span,.trust-item-clean span{text-transform:none!important;letter-spacing:.01em!important} .cert-grid-3 .cert-card-media img[src*="7-1.png"]{max-height:86px!important} @media(max-width:860px){.local-seo-grid{grid-template-columns:1fr!important}.local-seo{padding:3rem 1rem!important}} /* Ajust v10: textos de certificacions llargs */ .cert-card-media span{font-size:.72rem!important;line-height:1.35!important;max-width:210px;margin:0 auto} .local-seo .tag{letter-spacing:.03em} .local-seo-card h3{font-size:1.05rem} /* ══ AJUST v12 — imatge personalitzada al requadre de la capçalera ══ */ .hero-card-wrap{overflow:hidden;display:flex;align-items:center;justify-content:center} .hero-card-wrap img.hero-visual-main{width:100%!important;max-width:320px!important;height:auto!important;min-height:0!important;object-fit:contain;border-radius:18px;display:block;filter:drop-shadow(0 14px 24px rgba(0,0,0,.22));margin:0 auto} @media(max-width:860px){.hero-card-wrap img.hero-visual-main{max-width:240px!important;border-radius:16px}} /* ══ SEO avançat v13 — bloc semanontic y enlaceat intern ══ */ .seo-authority{background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);border-top:1px solid rgba(15,32,68,.06);border-bottom:1px solid rgba(15,32,68,.06)} .seo-authority-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:start} .seo-authority-card{background:#fff;border:1px solid rgba(15,32,68,.10);border-radius:28px;padding:1.4rem;box-shadow:0 18px 50px rgba(15,32,68,.08)} .seo-authority-card h3{font-size:1.05rem;margin-bottom:.6rem;color:var(--navy)} .seo-authority-card p{color:var(--gray-600);line-height:1.75;margin:0} .seo-topic-cloud{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.1rem} .seo-topic-cloud a{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem .85rem;border-radius:999px;background:rgba(0,106,255,.08);color:var(--blue);font-weight:800;font-size:.82rem;border:1px solid rgba(0,106,255,.12)} .seo-topic-cloud a:hover{background:var(--blue);color:#fff;transform:translateY(-1px)} .seo-checklist{display:grid;gap:.75rem;margin-top:1rem} .seo-checkitem{display:flex;gap:.7rem;align-items:flex-start;background:rgba(15,32,68,.035);border-radius:18px;padding:.85rem;border:1px solid rgba(15,32,68,.06)} .seo-checkitem span{flex:0 0 26px;width:26px;height:26px;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;display:grid;place-items:center;font-weight:900;font-size:.8rem} .seo-checkitem strong{display:block;color:var(--navy);font-size:.92rem;margin-bottom:.15rem}.seo-checkitem p{margin:0;color:var(--gray-600);font-size:.88rem;line-height:1.55} @media(max-width:900px){.seo-authority-grid{grid-template-columns:1fr}.seo-authority-card{border-radius:22px}} /* ══ AJUST v14 — logotip en blanco y favicon Mainpro ══ */ .nav-logo img, .footer-brand img, .area-header img{ filter:none!important; mix-blend-mode:normal!important; opacity:1!important; background:transparent!important; } .nav-logo{background:transparent!important;box-shadow:none!important;} .intent-section .s-head .lead{max-width:880px;margin-left:auto;margin-right:auto;} /* Ajust v15 — textos comercials más nfrenals */ .intent-card p,.seo-authority-card p{font-size:.92rem;line-height:1.7} .seo-block .lead,.intent-section .lead,.seo-authority .lead{max-width:780px} /* ══ AJUST v16 — últimes publicacions y títols llargs ordenats ══ */ .blog-uniform-grid .art-card h3{min-height:3.75em;display:flex;align-items:flex-start} .blog-uniform-grid .art-card p{min-height:3.9em} .blog-uniform-grid .art-link{margin-top:auto} .ap-title-balanced{font-size:clamp(1.2rem,2vw,1.62rem);line-height:1.18;padding-right:3rem;max-width:680px} .ap-title-balanced span{display:inline-block;font-size:.92em;color:rgba(255,255,255,.92);font-weight:700;letter-spacing:-.02em;margin-top:.18rem} @media(max-width:600px){.blog-uniform-grid .art-card h3,.blog-uniform-grid .art-card p{min-height:0}.ap-title-balanced{padding-right:2.4rem;font-size:1.18rem}.ap-title-balanced span{font-size:.95em}} /* ══ AJUST v17 — favicon llegible y nova publicació certificado digital ══ */ .blog-uniform-grid .art-card h3{line-height:1.18;word-break:normal;overflow-wrap:break-word} .blog-uniform-grid .art-body{min-height:250px} .art-panel .ap-sources a{font-weight:800;color:var(--navy)} @media(max-width:600px){.blog-uniform-grid .art-body{min-height:auto}} /* Ajustos del bloc de servei integral */ .seo-comparison{padding:clamp(3rem,6vw,5rem) 0;background:linear-gradient(180deg,#fff,rgba(243,247,251,.88))} .seo-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem} .seo-comparison-grid article{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:1.25rem;box-shadow:0 18px 45px rgba(15,23,42,.08)} .seo-comparison-grid h3{font-size:1.04rem;margin:0 0 .55rem;color:#0f172a} .seo-comparison-grid p{margin:0;color:#475569;line-height:1.65;font-size:.96rem} @media(max-width:860px){.seo-comparison-grid{grid-template-columns:1fr}.seo-comparison{padding:2.4rem 0}} /* ══ SEO v28: arquiéntectura competitiva y bloques semánticos ══ */ .seo-v28{background:linear-gradient(180deg,#fff,#f8fafc);border-top:1px solid var(--gray-100)} .seo-v28-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important} .seo-v28-grid article,.sector-grid-v28 article{border:1px solid var(--gray-200);background:#fff;border-radius:18px;padding:1.15rem;box-shadow:var(--shadow);height:100%} .seo-v28-grid article h3{font-size:1rem;margin-bottom:.55rem;color:var(--navy)} .seo-v28-grid article p{font-size:.9rem;line-height:1.65;color:var(--gray-600)} .sectors-v28{padding:4.5rem 0;background:#f8fafc} .sector-grid-v28{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem} .sector-grid-v28 strong{display:block;color:var(--navy);font-weight:800;margin-bottom:.45rem;font-size:.98rem} .sector-grid-v28 span{display:block;color:var(--gray-600);font-size:.88rem;line-height:1.6} @media(max-width:980px){.seo-v28-grid,.sector-grid-v28{grid-template-columns:1fr 1fr!important}} @media(max-width:640px){.seo-v28-grid,.sector-grid-v28{grid-template-columns:1fr!important}.sectors-v28{padding:3rem 0}} /* === Reparación v29: carga visual, servicios, metodología y responsive === */ #progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue),var(--teal));z-index:9999} .nav-logo{display:flex!important;align-items:center!important;justify-content:flex-start!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;min-width:178px!important;height:auto!important;text-decoration:none!important;flex:0 0 auto!important} .nav-logo img{display:block!important;height:42px!important;width:auto!important;max-width:210px!important;object-fit:contain!important;filter:none!important;mix-blend-mode:normal!important;opacity:1!important;background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important} .hero-card-wrap{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:240px!important;overflow:hidden!important} .hero-card-wrap img.hero-visual-main{width:100%!important;max-width:320px!important;height:auto!important;min-height:0!important;object-fit:contain!important;border-radius:24px!important;display:block!important;filter:drop-shadow(0 18px 32px rgba(0,0,0,.24))!important} .intent-grid,.svc-grid,.sector-grid-v28,.seo-v28-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:1rem!important;align-items:stretch!important} .intent-card,.svc-card,.sector-grid-v28 article,.seo-comparison-grid article{height:100%!important;display:flex!important;flex-direction:column!important;gap:.7rem!important;min-width:0!important;overflow-wrap:anywhere!important} .intent-card p,.svc-card p{flex:1!important}.intent-card a{margin-top:auto!important}.svc-pill{margin-top:auto!important;align-self:flex-start!important} .svc-card h3,.intent-card strong,.step-card h4{line-height:1.22!important;hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important} .sistema-steps-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;align-items:stretch!important}.step-card{height:100%!important;min-width:0!important;display:flex!important;flex-direction:column!important}.step-card-wide{grid-column:1 / -1!important}.step-card p{margin-top:auto!important} .phases-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1rem!important}.phase-box{height:100%!important} .faq-body{display:block}.faq-body.open{max-height:900px!important;padding:0 1.2rem 1.1rem!important}.faq-btn{cursor:pointer}.filter-btn{cursor:pointer}.art-card[hidden]{display:none!important}.art-card{cursor:pointer}.art-panel.open,.page-panel.open{transform:translateX(0)!important;opacity:1!important;pointer-events:auto!important}.overlay.open,.page-overlay.open{opacity:1!important;pointer-events:auto!important} .blog-uniform-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:1rem!important}.blog-uniform-grid .art-card{height:100%!important;display:flex!important;flex-direction:column!important}.blog-uniform-grid .art-body{display:flex!important;flex-direction:column!important;flex:1!important}.blog-uniform-grid .art-body p{flex:1!important} @media(max-width:980px){.sistema-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hero-inner{grid-template-columns:1fr!important}.hero-visual{order:-1}.hero-card-wrap{min-height:240px!important}.hero-card-wrap img.hero-visual-main{max-width:240px!important}.phases-row{grid-template-columns:1fr!important}} @media(max-width:640px){.nav-logo{min-width:140px!important}.nav-logo img{height:34px!important;max-width:166px!important}.sistema-steps-grid,.intent-grid,.svc-grid,.sector-grid-v28,.seo-v28-grid,.blog-uniform-grid{grid-template-columns:1fr!important}.hero-card-wrap{min-height:220px!important;padding:1rem!important}.hero-card-wrap::before{display:none!important}} /* Ajust final v32 */ .nav-logo img,.footer-brand img{filter:none!important;mix-blend-mode:normal!important;opacity:1!important;background:transparent!important} .hero-card-wrap{min-height:240px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important} .hero-card-wrap img.hero-visual-main{width:100%!important;max-width:320px!important;height:auto!important;min-height:0!important;object-fit:contain!important;border-radius:18px!important;display:block!important;filter:drop-shadow(0 14px 24px rgba(0,0,0,.22))!important;margin:0 auto!important} @media(max-width:860px){.hero-card-wrap img.hero-visual-main{max-width:240px!important;border-radius:16px!important}}
DPD acreditado · RGPD · LOPDGDD · +17 años

Consultoría en protección de datos, RGPD y DPD externo para empresas y entidades

Te ayudamos a cumplir la normativa de protección de datos con una consultoría clara y continua: RGPD, LOPDGDD, Delegado de Protección de Datos (DPD), LSSI-CE, canal de denuncias, auditorías y Formación. Detectamos riesgos, preparamos la documentación y te acompañamos cuando hay consultas, inspecciones o incidencias.

+17
Años de experiencia
+200
Entidades que confían en nosotros
24/7
Respuesta en incidentees críticos
Ilustración de cumplimiento RGPD, protección de datos y DPD acreditado
Cumplimiento normativo sin complicaciones

Empresa de protección de datos, consultoría RGPD y DPD externo con criterio profesional

Te ayudamos a cumplir el RGPD, la LOPDGDD y la LSSI-CE con un servicio integral: análisis de riesgos, registro de actividades, contratos con encargados, textos legales, política de cookies, Formación, auditorías, ciberseguridad y servicio de Delegado de Protección de Datos externo cuando tu organización lo necesita.

Prestamos servicios de protección de datos en La Seu d'Urgell, Alt Urgell y la provincia de Lleida. Si buscas "servicios de protección de datos La Seu d'Urgell" o "protección de datos Lleida", Mainpro Consultors ofrece DPD externo, auditorías, formación y asesoramiento jurídico-técnico local.

Especialistas en privacidad y cumplimiento

Protección de datos con seguimiento real, no solo documentos

La diferencia está en cómo se aplica el RGPD en el día a día: procesos claros, contratos revisados, personas formadas, evidencias actúalizadas y respuesta rápida ante incidencias, brechas o requerimientos.

Consultoría RGPD completa

Analizamos tratamientos, bases jurídicas, riesgos, contratos, proveedores, consentimientos, cláusulas, políticas web y medidas de seguridad para que el cumplimiento encaje con la actividad real de la organización.

DPD externo acreditado

Servicio de Delegado de Protección de Datos para entidades obligadas o para organizaciones que quiéneren supervisión independiente, interlocución con la autoridad de control y apoyo experto continuado.

Mantenimiento y auditoría

Revisiones periódicas, actúalización documental, auditorías de seguridad, gestión de derechos, brechas, videovigilancia, cookies, canal de denuncias, IA y Formación para equipos.

Enfoque legal, técnico y práctico

Unimos normativa, seguridad de la inFormación y operativa diaria. El objetivo es que dirección, administración, recursos humanos y equipos sepan qué hacer y cómo documentarlo.

Nuestros servicios

Soluciones claras para proteger datos, cumplir la normativa y trabajar con más seguridad

Acompañamos a entidades, organizaciones, empresas y administraciones en todo lo que necesitan para trabajar con garantías: RGPD, LOPDGDD, Delegado de Protección de Datos, canales de denuncias, LSSI-CE, seguridad de la inFormación, Formación y digitalización.

protección de datos y RGPD

Ponemos orden en los tratamientos de datos, los documentos obligatorios, los contratos con proveedores y los procedimientos internos para que puedas trabajar con confianza.

Ver servicio →
Delegado de Protección de Datos

Te ofrecemos una figura acreditada, cercana y resueleutiva para supervisar el cumplimiento, responder consultas y actúar como punto de contacto ante la autoridad de control.

¿Cuándo lo necesitas? →
Webs, contratos y documentos legales

Redactamos y revisamos cláusulas informativas, políticas web, cookies, contratos de encargado, registros de actividades y protocolos internos.

Cómo trabajamos →
Auditorías e incidencias

Revisamos riesgos, brechas de seguridad, reclamaciones, videovigilancia, derechos digitales, IA y procedimientos ante la AEPD.

Consulta tu casoo →
Soluciones por tipo de organización

Protección de datos para empresas, entidades públicas y organizaciones de todos los tamaños

Adaptamos el servicio al riesgo, al sector y a los datos que se tratan. No necesita lo mismo una clínica, un centro educativo, un comercio electrónico, una administración, una asociación o una empresa industrial.

Empresas y grupos empresarialesRGPD, LOPDGDD, contratos, proveedores, RRHH, videovigilancia, brechas y Formación interna.
Administraciones y sector públicoDPD, transparencia, derechos, tratamientos administrativos, registros, encargados y procedimientos.
Centros sanitarios y educativosDatos sensibles, menores, autorizaciones, confidencialidad, control de accesos y protocolos específicos.
Webs, e-commerce y proyectos digitalesLSSI-CE, cookies, formularios, email marketing, consentimiento, contratación online e IA.
Despachos, asesorías y servicios profesionalesEncargos de tratamiento, deber de secreto, gestión documental, clientes, expedientes y comunicaciones.
Formación y cultura de seguridadSesiones para equipos administrativos, dirección, atención al público, recursos humanos y equipos técnicos.
Nuestros servicios

Todo lo que necesita tu organización, en un solo lugar

Cada entidad, organización o empresa tiene obligaciones concretas. Te explicamos cuáles te corresponden y las gestionamos de principio a fin, sin que tengas que entender la letra pequeña de la ley.

Adaptación RGPD / LOPDGDD

Ponemos tu organización al día con la normativa de protección de datos. Te entregamos todos los documentos, te explicamos cómo aplicarlos y estamos disponibles si surge cualquier duda.

Implantación

Adaptación LSSI-CE

Tu web debe cumplir la ley. Adaptamos el aviso legal, la política de privacidad y el sistema de cookies para que ninguna visita pueda ser motivo de sanción.

Web Legal

DPD · Delegado de Protección de Datos

Cuando la ley te obliga a tener un Delegado de Protección de Datos, te ofrecemos una gestión especializada, clara y acreditada. Comunicamos el DPD ante la AEPD y asumimos la responsabilidad.

DPD

Canal de Denuncias

Si tienes más de 50 trabajadores, la Ley 2/2023 te obliga a tener un canal de denuncias operativo. Te implantamos el canal completo: plataforma, procedimiento, Formación y gestión de denuncias.

Ley 2/2023

Auditoría de Seguridad

Detectamos los puntos débiles de tu sistema y proponemos mejoras concretas. Una auditoría preventiva es la mejor inversión en seguridad: te permite actúar antes de que un incidentee se convierta en un problema real.

Ciberseguridad

Peritajes de Protección de Datos

Si te encuentras ante un litigio en el que la protección de datos es clave, nuestros peritos judiciales elaboran informes técnicos con validez ante los tribunales.

Peritaje Judicial

Formaciones en seguridad

Preparamos a equipos directivos, personal técnico y plantillas para que identifiquen riesgos, correos fraudulentos, malas prácticas e incidentees antes de que se conviertan en un problema.

Seguridad

Formaciones en protección de datos

Formación práctica sobre RGPD, LOPDGDD, confidencialidad, gestión de derechos, brechas de seguridad, uso de herramientas digitales y buenas prácticas para cualquier tipo de entidad.

RGPD

Consultoría en digitalización

Acompañamos procesos de digitalización con criterios de seguridad, cumplimiento normativo, privacidad desde el diseño y uso responsable de los datos y las herramientas tecnológicas.

Digitalización

Consumo online

Si vendes por internet, tienes obligaciones específicas más allá del RGPD: derechos de desistimiento, inFormación precontractúal y política de devoluciones. Te lo ponemos todo en orden.

eCommerce

Seguimiento y actúalización

La normativa cambia y las organizaciones evolucionan. Actualizamos tu documentación cuando hace falta, resuelevemos tus dudas y gestionamos cualquier incidentee desde el primer minuto. Siempre.

Soporte continuo
Acompañamiento integral

Un único equipo para protección de datos, seguridad, Formación y digitalización

En Mainpro trabajamos con entidades públicas y privadas, administraciones, asociaciones, centros profesionales, organizaciones y empresas de cualquier dimensión. Nos ocupamos de convertir las obligaciones legales en procesos útiles, comprensibles y aplicables al día a día.

Cuándo puedes contar con nosotros

Te ayudamos cuando tienes que adaptar una organización al RGPD, revisar una web, responder a una incidencia, formar al equipo, preparar contratos con proveedores, gestionar derechos de personas, implantar un canal de denuncias o reforzar la seguridad de la inFormación.

1
Análisis inicial

Revisamos la situación de partida y detectamos qué hay que corregir, priorizar o reforzar.

2
Soluciones aplicables

Preparamos documentos, protocolos y medidas que se puedan entender, aplicar y mantener.

3
Acompañamiento continuo

Seguimos a tu lado en consultas, incidencias, auditorías, formaciones y cambios normativos.

Nuestra metodología

Cómo trabajamos contigo, paso a paso

Nada de documentos que nadie leerá. Cada paso tiene un propósito concreto y tú sabes en todo momento en qué punto estamos.

1

Entendemos tu organización

Una primera conversación en la que te escuchamos. Queremos saber cómo trabajáis, qué datos gestionáis y qué riesgos reales tienes.

2

Detectamos dónde eres vulnerable

Revisamos tus sistemas, proveedores y contratos. Te explicamos dónde hay riesgo y cuál es el impacto real si no se actúa.

3

Revisamos tus relaciones con terceros

Cuando un proveedor gestiona datos de tus clientes o empleados, la relación debe estar regulada por escrito.

4

Te entregamos todo lo que necesitas

Registro de actividades, política de privacidad, cláusulas informativas. Documentos reales, no plantillas genéricas.

5

DPD, si la ley te lo exige

Te explicamos si necesitas un Delegado de Protección de Datos y, si es el caso, lo ejercemos nosotros en tu nombre.

6

Puesta en marcha

Implementamos los cambios contigo, no por ti. Te explicamos cada documento y cada decisión para que entiendas el motivo.

7

Tú te centras en tu negocio

Sabemos que la protección de datos no es tu prioridad principal —y no debería serlo—. Por eso nos aseguramos de que todo quede realmente hecho, no a medias: nos encargamos del seguimiento, las actúalizaciones y cualquier incidentee, para que no te bloquees por falta de tiempo.

Implantación

  • Registro de Actividades (RAT)
  • Política de privacidad
  • Cláusulas informativas
  • EIPD / Análisis de riesgos

Acompañamiento continuo

  • Actualizaciones normativas
  • Soporte y consultas
  • Auditorías periódicas
  • Gestión de incidentees
Por qué nosotros

Lo que nos hace diferentes

Cualquiera puede hacer un documento de privacidad. La diferencia es saber si es el adecuado para tu negocio concreto, actúalizarlo cuando toca y saber cómo actúar si llega una reclamación. Ahí es donde la experiencia cuenta.

No trabajamos con plantillas

Una tienda online, una clínica y un despacho de abogados no pueden tener la misma política de privacidad. Cada caso es diferente y el tratamiento debe ser diferente.

Certificados, no autodenominados

La certificación de DPD por la AEPD no se consigue simplemente leyendo la ley. Exige formación, examen y experiencia contrastada. La tenemos.

Aquí cuando nos necesitas

Cuando tienes una duda urgente o una incidencia, quieres poder llamar a alguien que ya conozca tu caso y sepa exactamente cómo actúar. Para eso estamos.

Reconocidos ante los tribunales

Si un conflicto llega a sede judicial, nuestros informes periciales en protección de datos tienen validez y reconocimiento ante los jueces.

Garantías de calidad

Miembros de

AEC — Asociación Española de Calidad AEC
Certificació de calidad Asociación DPD
APEP — Asociación Profesional Española de Privacidad APEP

Certificaciones

Xavi Lladós DPD certificado según el Esquema de la AEPD Xavi Lladós, DPD certificado según el Esquema de la AEPD
Caterina Guedes certificado según el Esquema de la AEPD Caterina Guedes, certificada según el Esquema de la AEPD
Peritos judiciales en protección de datos Peritos judiciales
+17
Años resolviendo problemas reales de protección de datos para entidades, organizaciones y empresas
Preguntas frecuentes

Preguntas frecuentes sobre RGPD y protección de datos

Respuestas directas, sin tecnicismos innecesarios. La normativa es compleya; las explicaciones no tienen por qué serlo.

Conforme alart. 37 RGPD, el DPD es obligatorio en tres supuestos: (1) autoridades y organismos públicos (salvo de tribunales en ejercicio de la función judicial); (2) empresas cuya actividad principal requiere una observación habitual y sistemática de interesados a gran escala; (3) empresas cuya actividad principal consista en el tratamiento a gran escala de categorías especiales de datos (salud, biometría, ideología, etc.) o datos penales. La LOPDGDD amplía esta lista: colegios profesionales, centros escolares, entidades aseguradoras, empresas de seguridad privada, entre otras (art. 34 LOPDGDD). A finales de 2025 había 126.176 DPD comunicados a la AEPD.Fuente: AEPD Memoria 2025 →
La Ley 2/2023 de 20 de febrero obliga empresas y entidades públicas de +50 trabajadores. la obligación entró en vigor el 13 de junio de 2023 para organizaciones de +250 trabajadores, y el 1 de diciembre de 2023 para las de 50–249. Desde el 10 de abril de 2026, debe comunicarse formalmente el responsable a la AIPI. Sectores financieros, de aviación y blanqueo de capitales: obligación independientemente del tamaño.
Sí, pero con requisitos estrictos: política de uso clara (art. 87.3 LOPDGDD), inFormación previa expresa a los trabajadores y proporcionalidad (art. 20.3 ET). Sin inFormación previa, las pruebas obtenidas pueden ser nulas.
Si tu web usa cookies analíticas, de marketing o de redes sociales, debe tener un sistema de consentimiento conforme a la LSSI-CE y al RGPD: banner claro, opción de rechazar sin desventaja, y lista detallada de las cookies que se instalan. Un banner que no permite decir que no no es un banner legal.
Las empresas que usen IA deben cumplir el RGPD (bases legales, inFormación, derechos) y el Reglamento de IA (Reg. (UE) 2024/1689). Para sistemas de alto riesgo (RRHH, concesión de crédito, identificación biométrica) hay que realizar una EIPD (art. 35 RGPD) y, si aplica, AIDF (art. 27 RIA). La IA no exime del cumplimiento del RGPD.
Tienes derecho a denunciar ante la Policía o la Guardia Civil, ejercer derechos RGPD (supresión, oposición) si tus datos han sido comprometidos, reclamar ante la AEPD si se han vulnerado tus derechos de protección de datos y contactar con tu banco para bloquear operaciones fraudulentas. En muchos casos, el banco debe devolver el dinero. Consúltanos para saber si es tu casoo.
Incluye diagnóstico inicial, registro de actividades, análisis de riesgos, contratos con encargados, cláusulas informativas, políticas web, revisión de cookies, protocolos internos, gestión de derechos, medidas de seguridad y acompañamiento ante cambios o incidencias.
Porque aporta independencia, criterio especializado y seguimiento continuado. Además de revisar documentos, ayuda a tomar decisiones, responder consultas, gestionar incidencias y demostrar diligencia ante la autoridad de control.
Blog · Empresa

Últimas publicaciones

InFormación práctica, verificada y actúalizada sobre RGPD, IA, derechos digitales y ciberseguridad

Certificado digital para trámites electrónicos
Trámites digitales
8 min

Certificado digital: qué es y por qué lo necesitas

Una guía práctica para administrativos, autónomos, empresarios y equipos que gestionan trámites online.

Leer
Ilustración sobre protección de datos
AEPD · Memoria 2025
10 min

Memoria AEPD 2025: lo que les ha pasado a las empresas españolas

30.931 reclamaciones, 48 millones en sanciones. Qué áreas concentran más expedientes y tendencias el 2025.

Leer
IA y protección de datos
IA · RGPD
8 min

¿Usas IA en la empresa? Entonces tienes obligaciones legales

El Reglamento europeo de IA es en vigor. Descubre si tu uso es de alto riesgo y el que tienes que hacer.

Leer
Riesgos IA privacidad
Inteligencia Artificial
9 min

IA en la empresa: 7 riesgos de privacidad que probablemente no estás gestionando

Decisions automatizadas, sesgos algorítmicos, deepfakes. El que exige la normativa europea.

Leer
Canal de denuncias
Canal Denuncias
7 min

¿Tienes más de 50 trabajadores? El canal de denuncias es obligatorio desde 2023

Requiénsitos, plazos y como implementar-lo correctament. La Ley 2/2023 ya es en vigor.

Leer
Brecha de seguridad
Brechas
9 min

Te han hackeado. Tienes 72 horas para actúar bien o empeorarlo

El protocol legal paso a paso: cuando tienes que notificar, a quién y como gestionar la situación.

Leer
Estafa digital derechos
Derechos Ciutadans
8 min

Te han estafado por internet: frena el daño y reclama tus derechos

Passos concretos por bloquear, denunciar y recuperar el que puedas. Sin esperar.

Leer
Banner cookies AEPD
Web Legal
7 min

¿El banner de cookies de tu web es legal? La guía de la AEPD

Acceptar y rechazar deben estar al mismo nivel. La mayoría de webs no ho cumple.

Leer
Videovigilancia empresa
Videovigilancia
6 min

¿Tienes cámaras en la empresa? Comprueba que las usas legalmente

Conservación 30 dies, cartells obligatorios, reconocimiento facial: el que permite la ley.

Leer
Derecho al olvido internet
Derechos Digitales
7 min

Derecho al olvido: ¿puedes hacer que tu número desaparezca de Internet?

El RGPD et dal derecho a solicitar la supresión. Como ejercerlo y cuando funciona.

Leer
RGPD entidades y organizaciones guia
Empresa · RGPD
11 min

RGPD para entidades y organizaciones: guía práctica

Pas a pas, sin tecnicismos, cdonde las herramientas gratuitas de la AEPD.

Leer
Derechos digitales trabajadores
Derechos Laborales
8 min

Derechos digitales de los trabajadores

Desconexión, privacidad y geolocalización: qué debe prever la empresa.

Leer
Seguridad organización
Empresa
7 min

10 medidas de seguridad que toda organización debería tener hoy

Las proteccions básicas que eviten el 80% de los incidentes más frecuentes.

Leer
Factor humano seguridad
Empresa · Cultura
8 min

El factor humano: por qué la seguridad empieza por las personas

El 68% de los incidentes de seguridad inquiénereucren un element humano. Como canviar-ho.

Leer
Ley protección datos Andorra
Andorra · LQPD
9 min

Ley 29/2021 de Andorra: guía para organizaciones que operan en el Principado

La LQPD andorrana, en vigor desde el 2022. El que tienes que saber si tratas datos de andorranos.

Leer
Contacto

Explícanos tu situación

No hace falta que sepas exactamente qué servicio necesitas. Explícanos en qué punto estás y te diremos qué te falta. Sin compromiso y con una respuesta clara.

Dirección

Av. Pau Claris, 44
25700 La Seu de Urgell, Lleida

Teléfono

973 350 975

Ámbito de servicio

Servicio en todo el país para entidades públicas y privadas, organizaciones, autónomos y empresas

Hablemos de tu caso

Formulario seguro · Datos protegidos de acuerdo con el RGPD