:root{--navy:#000080;--gold:#DAA520;--white:#FFFFFF;--black:#000000;--gray-bg:#f5f5f7;--text-main:#1d1d1f;--text-muted:#86868b;--transition-fast:300ms cubic-bezier(0.4,0,0.2,1);--transition-slow:800ms cubic-bezier(0.4,0,0.2,1);} *{margin:0;padding:0;box-sizing:border-box;} html{scroll-behavior:smooth;} body{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.6;color:var(--text-main);background-color:var(--white);-webkit-font-smoothing:antialiased;} h1,h2,h3{color:var(--navy);font-weight:700;line-height:1.2;} h1{font-size:3.5rem;margin-bottom:1.5rem;letter-spacing:-0.022em;} h2{font-size:2.5rem;margin-bottom:2rem;letter-spacing:-0.015em;border:none;padding-left:0;} h3{font-size:1.5rem;margin-bottom:1rem;} p{margin-bottom:1.5rem;font-size:1.25rem;font-weight:500;color:var(--text-muted);} section{padding:8rem 2rem;max-width:1100px;margin:0 auto;position:relative;overflow:hidden;} .parallax-wrapper{perspective:8px;height:100vh;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;} .bg-gray{background-color:var(--gray-bg);} .btn{display:inline-block;padding:1rem 2.5rem;border-radius:50px;text-decoration:none;font-weight:600;text-align:center;cursor:pointer;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);text-transform:uppercase;letter-spacing:1px;font-size:0.9rem;position:relative;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);} .btn-gold{background:rgba(218,165,32,0.15);color:var(--gold);border:5px solid rgba(218,165,32,0.3);box-shadow:0 4px 15px rgba(0,0,0,0.05),inset 0 0 10px rgba(255,255,255,0.2);} .btn-gold:hover{background:rgba(218,165,32,0.25);transform:translateY(-3px) scale(1.02);box-shadow:0 10px 25px rgba(218,165,32,0.2),inset 0 0 15px rgba(255,255,255,0.4);color:#b88a1a;} .btn::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,0.1),transparent);transform:rotate(45deg);transition:0.8s;pointer-events:none;} .btn:hover::after{left:100%;top:100%;} .sticky-cta{position:fixed;bottom:20px;left:1.5rem;right:1.5rem;z-index:1000;display:none;} @media (max-width:768px){.sticky-cta{display:block;} body{padding-bottom:80px;} } .reveal{opacity:1;transform:translateY(0) scale(1);transition:opacity 1.2s cubic-bezier(0.2,0.8,0.2,1),transform 1.2s cubic-bezier(0.2,0.8,0.2,1);will-change:transform,opacity;} .reveal.active{opacity:1;transform:translateY(0) scale(1);} .parallax-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;background-size:cover;background-repeat:no-repeat;background-position:center;background-color:var(--black);will-change:transform;} .hero-img{background-image:linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)),url('../img/hero_mobile.webp');} @media (min-width:768px){.parallax-bg{height:120%;top:-10%;transform:translateZ(-1px) scale(1.15);} .hero-img{background-image:linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)),url('../img/hero.webp');} } #hero{min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;text-align:center;color:var(--white);} #hero h1{font-size:2.2rem;margin-top:0;text-shadow:0 2px 15px rgba(0,0,0,0.8);display:flex;flex-direction:column;align-items:center;gap:0.2rem;} .row-reveal{display:block;opacity:0;transform:translateY(40px);animation:revealRow 1s cubic-bezier(0.2,0.8,0.2,1) forwards;} .row-reveal:nth-child(2){animation-delay:0.2s;} .row-reveal:nth-child(3){animation-delay:0.4s;} @keyframes revealRow{0%{opacity:0;transform:translateY(40px);} 100%{opacity:1;transform:translateY(0);} } #hero p{font-size:1.1rem;color:var(--white);max-width:500px;text-shadow:0 1px 10px rgba(0,0,0,0.8);} @media (min-width:768px){#hero{min-height:100vh;justify-content:center;} #hero h1{font-size:3.5rem;} #hero p{font-size:1.25rem;} } #hero.reveal h1,#hero.reveal p{color:var(--white);text-shadow:0 2px 10px rgba(0,0,0,0.3);} .logo-marquee{overflow:hidden;padding:2.5rem 0;margin-top:3rem;position:relative;width:100%;} .logo-marquee:before,.logo-marquee:after{position:absolute;top:0;width:80px;height:100%;content:"";z-index:2;} .logo-marquee:before{left:0;background:linear-gradient(to right,var(--gray-bg) 0%,rgba(245,245,247,0) 100%);} .logo-marquee:after{right:0;background:linear-gradient(to left,var(--gray-bg) 0%,rgba(245,245,247,0) 100%);} .logo-track{display:flex;width:calc(400px * 8);animation:scrollLogos 20s linear infinite;align-items:center;} .logo-track:hover{animation-play-state:paused;} .logo-track img{width:400px;height:100px;object-fit:contain;filter:none;opacity:1;padding:0 40px;transition:var(--transition-fast);} .logo-track img:hover{transform:scale(1.05);} @keyframes scrollLogos{0%{transform:translateX(0);} 100%{transform:translateX(calc(-400px * 4));} } @media (max-width:768px){.logo-track{width:calc(280px * 8);} .logo-track img{width:280px;height:70px;padding:0 25px;} @keyframes scrollLogos{0%{transform:translateX(0);} 100%{transform:translateX(calc(-280px * 4));} } } .counter-container{padding:2rem 0;margin:2rem 0;} .counter-number{font-size:5rem;font-weight:800;color:var(--gold);line-height:1;display:block;margin-bottom:0.5rem;} .counter-label{font-size:1.5rem;color:var(--navy);font-weight:700;text-transform:uppercase;letter-spacing:2px;} @media (max-width:768px){.counter-number{font-size:4rem;} .counter-label{font-size:1.2rem;} } .expandable-content{max-height:0;overflow:hidden;transition:max-height 0.8s cubic-bezier(0.4,0,0.2,1),opacity 0.5s ease;opacity:0;width:100%;} .expandable-content.active{max-height:2000px;opacity:1;margin-top:3rem;} .team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2.5rem;padding:1.5rem;} @media (max-width:580px){.team-grid{grid-template-columns:repeat(2,1fr);gap:1rem;padding:0.5rem;} } .team-member{position:relative;background:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 15px 35px rgba(0,0,0,0.08);transition:transform 0.6s cubic-bezier(0.2,0.8,0.2,1),box-shadow 0.6s cubic-bezier(0.2,0.8,0.2,1);transform:translateY(0);} .team-member:hover{transform:translateY(-15px);box-shadow:0 30px 60px rgba(0,0,0,0.12);} .team-member:nth-child(2){transition-delay:0.15s;} .team-member:nth-child(3){transition-delay:0.3s;} .team-member:nth-child(4){transition-delay:0.45s;} .team-member img{width:100%;height:400px;object-fit:cover;object-position:top center;display:block;transition:transform 0.6s cubic-bezier(0.2,0.8,0.2,1);} @media (max-width:580px){.team-member img{height:350px;} } .team-member:hover img{transform:scale(1.05);} .team-info{position:absolute;bottom:0;left:0;width:100%;height:140px;padding:0.8rem 0.5rem;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 45%,rgba(255,255,255,1) 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;text-align:center;border-top:none;} @media (max-width:580px){.team-info{height:100px;padding:0.4rem 0.2rem;} .team-name{font-size:0.72rem;margin-bottom:0.05rem;} .team-role{font-size:0.48rem;line-height:1.1;letter-spacing:0px;color:#333333;} } .team-name{font-size:1.05rem;color:#000066;font-weight:800;margin-bottom:0.2rem;letter-spacing:-0.01em;text-shadow:none;} .team-role{font-size:0.78rem;color:#333333;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;display:block;line-height:1.2;} .process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-top:3rem;} .process-card{position:relative;padding:3.5rem 2rem;border-radius:24px;border:1px solid rgba(255,255,255,0.4);box-shadow:0 10px 30px rgba(0,0,0,0.03);overflow:hidden;text-align:left;transition:transform 0.6s cubic-bezier(0.2,0.8,0.2,1),box-shadow 0.6s cubic-bezier(0.2,0.8,0.2,1);background-size:cover;background-position:center;z-index:1;} .process-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:-1;transition:background 0.4s ease;} .process-card:hover{transform:translateY(-12px);box-shadow:0 25px 60px rgba(0,0,0,0.12);} .process-card:hover::before{background:rgba(255,255,255,0.88);} .step-1 .process-card-img{background-image:url('../img/1_revision_inicial_caso_negligencia_medica.webp');} .step-2 .process-card-img{background-image:url('../img/2_determinacion_viabilidad_negligencia.webp');} .step-3 .process-card-img{background-image:url('../img/3_diseño_legal_vs_negligencia_medica.webp');} .process-number{font-size:7rem;font-weight:900;color:var(--gold);opacity:0.6;position:absolute;top:-15px;right:5px;line-height:1;z-index:0;pointer-events:none;} .process-card h3{font-size:1.4rem;color:var(--navy);margin-bottom:1.5rem;line-height:1.3;position:relative;z-index:2;} .process-card p{font-size:1rem;color:var(--text-main);line-height:1.7;margin-bottom:1.5rem;position:relative;z-index:2;} .process-benefit{font-size:0.9rem;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:0.5px;padding-top:1rem;border-top:1px solid rgba(0,0,0,0.05);display:block;} .process-card:nth-child(2){transition-delay:0.2s;} .process-card:nth-child(3){transition-delay:0.4s;} #reviews{padding:6rem 1.5rem;position:relative;background:transparent;} .reviews-summary{display:flex;flex-direction:column;align-items:center;margin-bottom:4.5rem;text-align:center;} .google-label{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;margin-bottom:1rem;} .google-label span:nth-child(1){color:#4285F4;} .google-label span:nth-child(2){color:#EA4335;} .google-label span:nth-child(3){color:#FBBC05;} .google-label span:nth-child(4){color:#4285F4;} .google-label span:nth-child(5){color:#34A853;} .google-label span:nth-child(6){color:#EA4335;} .rating-score{font-size:4.5rem;font-weight:800;color:var(--navy);line-height:1;margin-top:0.5rem;} .stars-row{color:var(--gold);font-size:1.6rem;margin:1rem 0;display:flex;gap:5px;} .reviews-count{font-size:0.95rem;color:var(--text-muted);} .reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto;} .review-card{background:rgba(255,255,255,0.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:2.5rem;border-radius:24px;border:1px solid rgba(255,255,255,0.5);box-shadow:0 10px 30px rgba(0,0,0,0.04);transition:transform 0.5s cubic-bezier(0.2,0.8,0.2,1);} .review-card:hover{transform:translateY(-8px);} .reviewer-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;} .reviewer-name{font-weight:700;color:var(--navy);font-size:1.1rem;} .review-stars-small{color:var(--gold);font-size:0.85rem;display:flex;gap:3px;} .review-content{font-size:1.05rem;line-height:1.7;color:var(--text-main);font-style:italic;font-weight:400;} .map-wrapper{position:relative;max-width:1200px;margin:0 auto;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.1);} .interactive-map{width:100%;height:500px;position:relative;z-index:1;} .leaflet-container{font-family:inherit;border-radius:24px;} .leaflet-popup-content-wrapper{background:rgba(255,255,255,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,0.15);border:1px solid rgba(255,255,255,0.5);} .leaflet-popup-tip{background:rgba(255,255,255,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);} .leaflet-control-zoom{border:none !important;box-shadow:0 4px 20px rgba(0,0,0,0.08) !important;} .leaflet-control-zoom a{background:rgba(255,255,255,0.9) !important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--navy) !important;border:1px solid rgba(0,0,128,0.1) !important;transition:all 0.3s ease;} .leaflet-control-zoom a:hover{background:rgba(218,165,32,0.9) !important;color:white !important;} .map-info-card{background:linear-gradient(135deg,rgba(255,255,255,0.9),rgba(255,255,255,0.7));backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);padding:2rem;text-align:center;border-top:1px solid rgba(255,255,255,0.5);} @media (max-width:768px){.interactive-map{height:350px;} .map-info-card{padding:1.5rem;} } footer{background-color:var(--navy);color:var(--white);padding:3rem 1.5rem;text-align:center;} footer p{font-size:0.9rem;margin-bottom:0.5rem;color:#ced4da;} .text-center{text-align:center;} .gold-text{color:var(--gold);} .faq-item{margin-bottom:2rem;} .faq-question{font-weight:bold;color:var(--navy);margin-bottom:0.5rem;}