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.
═══════════════════════════════════════════════════════ */ /* ── 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}}
Saltar al contenido principalTe 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.
"Gracias a Mainpro tenemos la tranquilidad de que nuestro negocio cumple la normativa. El equipo resuelve cualquier duda de forma rápida y clara."
"Implementamos el canal de denuncias con ellos en menos de un mes. Profesionales, claros y sin complicaciones innecesarias."
"Lo mejor de Mainpro es que, cuando los necesitas, están ahí. No desaparecen una vez firmado el contrato."
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.
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.
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.
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.
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.
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.
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.
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 →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? →Redactamos y revisamos cláusulas informativas, políticas web, cookies, contratos de encargado, registros de actividades y protocolos internos.
Cómo trabajamos →Revisamos riesgos, brechas de seguridad, reclamaciones, videovigilancia, derechos digitales, IA y procedimientos ante la AEPD.
Consulta tu casoo →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.
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.
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ónTu 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 LegalCuando 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.
DPDSi 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/2023Detectamos 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.
CiberseguridadSi 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 JudicialPreparamos 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.
SeguridadFormació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.
RGPDAcompañ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ónSi 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.
eCommerceLa 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 continuoNada de documentos que nadie leerá. Cada paso tiene un propósito concreto y tú sabes en todo momento en qué punto estamos.
Una primera conversación en la que te escuchamos. Queremos saber cómo trabajáis, qué datos gestionáis y qué riesgos reales tienes.
Revisamos tus sistemas, proveedores y contratos. Te explicamos dónde hay riesgo y cuál es el impacto real si no se actúa.
Cuando un proveedor gestiona datos de tus clientes o empleados, la relación debe estar regulada por escrito.
Registro de actividades, política de privacidad, cláusulas informativas. Documentos reales, no plantillas genéricas.
Te explicamos si necesitas un Delegado de Protección de Datos y, si es el caso, lo ejercemos nosotros en tu nombre.
Implementamos los cambios contigo, no por ti. Te explicamos cada documento y cada decisión para que entiendas el motivo.
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.
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.
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.
La certificación de DPD por la AEPD no se consigue simplemente leyendo la ley. Exige formación, examen y experiencia contrastada. La tenemos.
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.
Si un conflicto llega a sede judicial, nuestros informes periciales en protección de datos tienen validez y reconocimiento ante los jueces.
AEC
Asociación DPD
APEP
Xavi Lladós, DPD certificado según el Esquema de la AEPD
Caterina Guedes, certificada según el Esquema de la AEPD
Peritos judiciales
Respuestas directas, sin tecnicismos innecesarios. La normativa es compleya; las explicaciones no tienen por qué serlo.
InFormación práctica, verificada y actúalizada sobre RGPD, IA, derechos digitales y ciberseguridad
Una guía práctica para administrativos, autónomos, empresarios y equipos que gestionan trámites online.
Leer
30.931 reclamaciones, 48 millones en sanciones. Qué áreas concentran más expedientes y tendencias el 2025.
Leer
El Reglamento europeo de IA es en vigor. Descubre si tu uso es de alto riesgo y el que tienes que hacer.
Leer
Decisions automatizadas, sesgos algorítmicos, deepfakes. El que exige la normativa europea.
Leer
Requiénsitos, plazos y como implementar-lo correctament. La Ley 2/2023 ya es en vigor.
Leer
El protocol legal paso a paso: cuando tienes que notificar, a quién y como gestionar la situación.
Leer
Passos concretos por bloquear, denunciar y recuperar el que puedas. Sin esperar.
Leer
Acceptar y rechazar deben estar al mismo nivel. La mayoría de webs no ho cumple.
Leer
Conservación 30 dies, cartells obligatorios, reconocimiento facial: el que permite la ley.
Leer
El RGPD et dal derecho a solicitar la supresión. Como ejercerlo y cuando funciona.
Leer
Pas a pas, sin tecnicismos, cdonde las herramientas gratuitas de la AEPD.
Leer
Desconexión, privacidad y geolocalización: qué debe prever la empresa.
Leer
Las proteccions básicas que eviten el 80% de los incidentes más frecuentes.
Leer
El 68% de los incidentes de seguridad inquiénereucren un element humano. Como canviar-ho.
Leer
La LQPD andorrana, en vigor desde el 2022. El que tienes que saber si tratas datos de andorranos.
LeerNo 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.
Av. Pau Claris, 44
25700 La Seu de Urgell, Lleida
Servicio en todo el país para entidades públicas y privadas, organizaciones, autónomos y empresas
Utilizamos cookies técnicas necesarias y cookies analíticas para mejorar la experiencia, sujetas a consentimiento conforme al RGPD y la LSSI-CE. Más inFormación
¿Quién es el responsable del tratamiento de sus datos personales?
Mainpro Consultors, SLU es el RESPONSABLE del tratamiento de los datos personales del USUARIO y le informa que dichos datos se tratarán de conformidad con lo establecido en el Reglamento (UE) 2016/679, de 27 de abril (RGPD), y la Ley Orgánica 3/2018, de 5 de diciembre (LOPDGDD).
Según el formulario en el que hayamos obtenido sus datos personales, los trataremos de forma confidencial para las siguientes finalidades:
Los datos proporcionados voluntariamente en formularios o por correo electrónico se tratarán cuando usted haya prestado su consentimiento para tal finalidad. Puede retirar el consentimiento en cualquier momento poniéndose en contacto con nosotros mediante los datos que figuran más abajo.
Los datos se conservarán durante no más tiempo del necesario para mantener la finalidad del tratamiento y mientras existan obligaciones legales que exijan su custodia. Cuando ya no sean necesarios serán suprimidos o anonimizados con medidas de seguridad adecuadas.
No se prevé la comunicación de datos a terceros salvo cuando sea necesaria para el desarrollo y ejecución de las finalidades del tratamiento: a nuestros proveedores de servicios relacionados con comunicaciones y tecnología (encargados del tratamiento) con los que se han suscrito los contratos y garantías exigidas por la normativa vigente.
El USUARIO tiene los siguientes derechos:
Mainpro Consultors, SLU. PT. DELS HORTS DEL MOLI VELL, 7 - 25710 CASTELCIUTAT (Lleida).
E-mail: xavi.llados@mainprosl.com
Datos de contacto del Delegado de Protección de Datos: CATERINA GUEDES MOREIRA, AV. PAU CLARIS, 44 - CATERINA.GUEDES@MAINPROSL.COM
Los USUARIOS, mediante las casillas y los campos marcados con asterisco (*) en los formularios, aceptan que sus datos son necesarios para atender su petición y que la inclusión de otros datos es voluntaria. El USUARIO garantiza que los datos facilitados son veraces y se compromete a comunicar cualquier modificación. Si no se facilitan todos los datos requeridos no se garantiza que la información y los servicios se ajusten completamente a sus necesidades.
El RESPONSABLE declara que ha implantado políticas técnicas y organizativas apropiadas para aplicar las medidas de seguridad exigidas por el RGPD y la LOPDGDD, con la finalidad de proteger los derechos y libertades de los USUARIOS. Para más información sobre las garantías de privacidad puede dirigirse a:
Mainpro Consultors, SLU. PT. DELS HORTS DEL MOLI VELL, 7 - 25710 CASTELCIUTAT (Lleida).
E-mail: xavi.llados@mainprosl.com
Datos de contacto del Delegado de Protección de Datos: CATERINA.GUEDES@MAINPROSL.COM
Política redactada conforme al Reglamento (UE) 2016/679 (RGPD) y la Ley Orgánica 3/2018 (LOPDGDD).
Darrera actúalización: enero 2025 · Conforme a LSSI-CE, RGPD y Directrices AEPD julio 2023
Las cookies (cookies) son archivos pequeños que los sitios web almacenan al dispositivo del usuario para reconocerlo en visitas sucesivas, mejorar el experiencia de navegación y obtener estadísticoas de uso.
Cuando accedes por primera vez a este sitio web, aparece un banner de cookies donde puedes aceptar todas las cookies o aceptar únicamente las necesarias. El consentimiento queda almacenado localmente y puede ser revocado en cualquier momento.
Podeu configurar el su navegador por eliminar o bloquear las cookies. Tingueu en cuenta que el bloqueo de cookies técnicas pot afectar el funcionamiento del sitio web. Instruccions para los navegadors principales: Chrome, Firefox, Safari, Edge.
Si se usen servicios de terceros (mapas, vídeos, redes sociales integradas), estos servicios pueden instalar sus propias cookies, sujetas a sus políticas de privacidad respectivas.
Política redactada conforme a la Ley 34/2002 (LSSI-CE), el Reglamento (UE) 2016/679 (RGPD) y las Directrices de la AEPD de julio de 2023 sobre el uso de cookies.
Última actualización: enero 2025
Denominación social: Mainpro Consultors, SLU
Dirección: PT. DELS HORTS DEL MOLI VELL, 7 - 25710 CASTELLCIUTAT (Lleida) ESPAÑA
Teléfono: 973 350 975 · E-mail: xavi.llados@mainprosl.com
NIF: B61924593 · Inscrita en el Registro Mercantil de Lleida, Tomo 1300, Folio 125, Hoja L26002.
Mainpro Consultors, SLU, responsable del sitio web (en adelante, el RESPONSABLE), pone a disposición de los usuarios este documento para dar cumplimiento a las obligaciones establecidas por la Ley 34/2002, de 11 de julio, de Servicios de la Sociedad de la Información y Comercio Electrónico (LSSI-CE), e informar sobre las condiciones de uso del sitio web. El acceso al sitio implica la aceptación de las condiciones aquí contenidas.
Dominio: mainprosl.com
Nombre comercial: Mainpro Consultors SLU
Denominación social: Mainpro Consultors, SLU
NIF: B61924593
Domicilio social: Av. Pau Claris 44 BJ, La Seu d'Urgell · 25700 Lleida · España
Teléfono: 973 350 975 · E-mail: xavi.llados@mainprosl.com
El sitio web, incluyendo su programación, edición, compilación, diseños, logotipos, textos y gráficos, es propiedad del RESPONSABLE o está sujeto a licencia de sus titulares. Queda prohibida la reproducción parcial o total, distribución, explotación o cualquier uso no autorizado sin consentimiento por escrito.
El RESPONSABLE queda exento de responsabilidad por la información publicada siempre que no tenga conocimiento efectivo de una manipulación por terceros; en tal caso actuará con diligencia para retirar o bloquear el acceso. El sitio puede emplear cookies técnicas y analíticas según se informa en la política de cookies.
El sitio puede contener enlaces a webs de terceros. El RESPONSABLE no controla esos contenidos y no asume responsabilidad sobre ellos, aunque retirará enlaces que vulneren la legislación o la moral cuando tenga constancia de ello.
Los servidores pueden detectar la dirección IP y el nombre de dominio del usuario con fines estadísticos (número de impresiones, visitas, orden de visitas, punto de acceso, etc.). Esta información se almacena en ficheros de actividad para medición y mejora del servicio.
Para la resolución de controversias se aplicará la legislación española y las partes se someten a los Juzgados y Tribunales del domicilio del USUARIO o del lugar de cumplimiento de la obligación, según proceda.
Documento elaborado conforme a la LSSI-CE (Ley 34/2002) y la normativa vigente.