:root{--pink:#ef2b86;--pink-dark:#cc176b;--blue:#1265b0;--ink:#182230;--muted:#647184;--soft:#f6f8fb;--white:#fff;--radius:18px;--shadow:0 15px 45px rgba(25,34,49,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.6;background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1140px,calc(100% - 40px));margin:auto}.narrow{max-width:780px;text-align:center}.section{padding:90px 0}.soft{background:var(--soft)}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.78rem}.pink{color:var(--pink)}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.15}h2{font-size:clamp(2rem,4vw,3.1rem)}.skip-link{position:fixed;left:10px;top:-60px;background:#fff;padding:10px;z-index:999}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.topbar{background:var(--ink);color:#fff;font-size:.86rem}.topbar-inner{height:38px;display:flex;justify-content:space-between;align-items:center}.topbar a{font-weight:700}.site-header{position:relative;z-index:50;background:#fff;box-shadow:0 2px 16px rgba(0,0,0,.08)}.nav-wrap{height:92px;display:flex;align-items:center;justify-content:space-between}.brand img{width:106px;height:auto}.nav-wrap nav{display:flex;align-items:center;gap:28px;text-transform:uppercase;font-weight:700;font-size:.83rem}.nav-wrap nav a{transition:.2s;color}.nav-wrap nav a:hover,.nav-wrap nav a:focus{color:var(--pink)}.nav-cta{background:var(--pink);color:#fff!important;padding:12px 16px;border-radius:99px}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:var(--ink);margin:5px}.hero{height:min(650px,70vh);min-height:480px;position:relative;overflow:hidden;background:#222}.slides,.slide{position:absolute;inset:0}.slide{opacity:0;visibility:hidden;background-image:linear-gradient(90deg,rgba(10,17,29,.74),rgba(10,17,29,.12)),var(--bg);background-size:cover;background-position:center;display:grid;align-items:center;transition:opacity .7s}.slide.active{opacity:1;visibility:visible}.hero-card{color:#fff;width:min(1140px,calc(100% - 80px));margin:auto;max-width:720px;margin-left:max(40px,calc((100vw - 1140px)/2));text-shadow:0 2px 15px rgba(0,0,0,.35)}.hero h1,.hero h2{font-size:clamp(2.6rem,6vw,5.2rem);margin-bottom:26px}.hero p:not(.eyebrow){font-size:1.15rem}.button{border:0;display:inline-flex;align-items:center;justify-content:center;background:var(--pink);color:#fff;font-weight:800;padding:14px 24px;border-radius:99px;cursor:pointer;box-shadow:0 8px 22px rgba(239,43,134,.28);transition:.2s transform,.2s background}.button:hover,.button:focus{background:var(--pink-dark);transform:translateY(-2px)}.button.light{background:#fff;color:var(--pink)}.slider-arrow{position:absolute;top:50%;translate:0 -50%;z-index:4;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.2);color:white;font-size:2rem;cursor:pointer}.slider-arrow.prev{left:20px}.slider-arrow.next{right:20px}.dots{position:absolute;bottom:24px;left:50%;translate:-50%;display:flex;gap:9px}.dots button{width:10px;height:10px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.5)}.dots button.active{background:#fff;scale:1.35}.intro p:last-child,.section-head>p:last-child{color:var(--muted);font-size:1.1rem}.section-head{text-align:center;max-width:740px;margin:0 auto 45px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{overflow:hidden;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);transition:.25s transform}.service-card:hover{transform:translateY(-7px)}.service-card img{width:100%;aspect-ratio:5/3;object-fit:cover}.service-card div{padding:24px}.service-card h3{font-size:1.25rem;margin-bottom:8px}.service-card p{color:var(--muted);margin:0}.callout{padding:42px 0;color:#fff;background:linear-gradient(120deg,var(--pink),#a91b79)}.callout .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.callout h2{margin:0;font-size:clamp(1.8rem,3vw,2.6rem)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.steps article{padding:34px;border:1px solid #e8eaf0;border-radius:var(--radius)}.steps span{display:block;color:var(--pink);font-size:2.8rem;font-weight:900;line-height:1}.steps h3{margin:18px 0 8px}.steps p{color:var(--muted);margin:0}.checks{background:#151d2a;color:#fff}.light-text>p{color:#b9c3d2!important}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.check-grid article{background:#222d3d;border-radius:14px;overflow:hidden}.check-grid img{width:100%;aspect-ratio:17/10;object-fit:cover}.check-grid h3,.check-grid p{margin-left:20px;margin-right:20px}.check-grid h3{margin-top:20px}.check-grid p{color:#c9d1dd}.commitment{padding:60px 0;background:linear-gradient(120deg,#f33a91,#db176e);color:#fff}.commitment h2{font-size:clamp(1.8rem,3vw,2.7rem)}.testimonial-slider{max-width:760px;margin:auto;min-height:330px;position:relative}.testimonial{display:none;text-align:center}.testimonial.active{display:block;animation:fade .4s}.testimonial img{width:92px;height:92px;object-fit:cover;border-radius:50%;margin:0 auto 22px;border:5px solid #fde2ef}.testimonial blockquote{font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:600;margin:0 auto 20px}.testimonial h3{margin-bottom:5px}.testimonial p{color:#efad24;letter-spacing:.1em}.testimonial-controls{display:flex;justify-content:center;gap:10px}.testimonial-controls button{border:1px solid #dce0e6;background:#fff;width:45px;height:45px;border-radius:50%;cursor:pointer}.contact{color:#fff;background:linear-gradient(rgba(17,26,39,.86),rgba(17,26,39,.86)),url('../img/contact-bg.jpg') center/cover}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}.contact a{text-decoration:underline;text-underline-offset:3px}.contact-list{list-style:none;padding:0;margin:30px 0}.contact-list li{margin:12px 0}.contact-form{position:relative;padding:36px;background:rgba(255,255,255,.98);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:block;font-size:.88rem;font-weight:700;margin-bottom:14px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;margin-top:6px;border:1px solid #ccd2dc;border-radius:9px;padding:11px 13px;background:#fff}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(239,43,134,.2);border-color:var(--pink)}.privacy{font-size:.8rem;color:var(--muted)}.honeypot{position:absolute!important;left:-9999px!important}.success{padding:12px;margin-bottom:18px;background:#e8f8ef;color:#176c3a;border-radius:8px}footer{background:#0e151f;color:#c8d0db;padding-top:55px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.3fr;gap:60px}.footer-grid img{background:white;border-radius:50%;margin-bottom:16px}.footer-grid h2{font-size:1rem;text-transform:uppercase;color:#fff}.footer-grid a,.footer-grid p{display:block;margin:8px 0}.copyright{margin-top:45px;border-top:1px solid #263140;padding:20px;text-align:center;font-size:.85rem}.whatsapp-widget{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:12px}.whatsapp-bubble{display:flex;flex-direction:column;gap:2px;background:#fff;padding:10px 18px;border-radius:16px;box-shadow:0 12px 32px rgba(20,36,58,.22);white-space:nowrap;transition:.2s transform}.whatsapp-bubble:hover,.whatsapp-bubble:focus{transform:translateY(-2px)}.whatsapp-eyebrow{font-size:.78rem;color:var(--muted);font-weight:600}.whatsapp-cta{font-size:1rem;font-weight:900;color:var(--ink)}.whatsapp{flex:0 0 auto;width:60px;height:60px;background:#25d366;border-radius:50%;display:grid;place-items:center;box-shadow:0 7px 24px rgba(0,0,0,.25);transition:.2s transform}.whatsapp:hover,.whatsapp:focus{transform:translateY(-2px)}.whatsapp svg{width:32px;fill:#fff}@keyframes fade{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(max-width:850px){.section{padding:68px 0}.topbar span{display:none}.topbar-inner{justify-content:center}.menu-toggle{display:block}.nav-wrap nav{display:none;position:absolute;left:0;right:0;top:130px;background:#fff;padding:24px 30px;box-shadow:0 15px 25px rgba(0,0,0,.12);flex-direction:column;align-items:stretch;gap:18px}.nav-wrap nav.open{display:flex}.service-grid,.check-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.callout .container{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.hero-card{margin-left:40px}.hero{min-height:520px}}
@media(max-width:560px){.container{width:min(100% - 28px,1140px)}.nav-wrap{height:82px}.nav-wrap nav{top:120px}.brand img{width:94px}.hero{height:520px}.hero-card{width:calc(100% - 72px);margin-left:36px}.hero h1,.hero h2{font-size:2.35rem}.slider-arrow{width:38px;height:38px}.slider-arrow.prev{left:7px}.slider-arrow.next{right:7px}.service-grid,.check-grid,.field-row,.footer-grid{grid-template-columns:1fr}.contact-form{padding:24px}.whatsapp-widget{right:15px;bottom:15px;gap:8px}.whatsapp-bubble{padding:8px 13px;border-radius:13px}.whatsapp-eyebrow{font-size:.68rem}.whatsapp-cta{font-size:.86rem}.whatsapp{width:52px;height:52px}.whatsapp svg{width:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Identidad visual del sitio original */
:root{--pink:#f50073;--pink-dark:#cf0061}
.topbar{background:#f50073}
.brand img{width:142px;max-height:78px;object-fit:contain}
.slide{background-image:none;background-size:cover;background-position:center;filter:saturate(1.08)}
.hero-card{max-width:none;margin:0 auto;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.72)}
.hero .eyebrow{display:none}
.hero h1,.hero h2{font-style:italic;font-weight:800}
.intro{padding:30px 0;background:linear-gradient(90deg,#f50073,#f52b91);color:#fff}
.intro .container{max-width:1500px}
.intro .eyebrow,.intro p:last-child{color:#fff}
.intro h2{margin-bottom:8px;font-size:clamp(2rem,3.2vw,3.1rem);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 2px 4px rgba(0,0,0,.45)}
.services-banner{margin:0;background:#fff;border-top:4px solid var(--pink);overflow:hidden}
.services-banner img{width:100%;height:auto;max-height:630px;object-fit:cover;object-position:center;filter:saturate(1.04) contrast(1.02)}
.footer-grid img{width:175px;height:auto;background:#fff;border-radius:0;padding:8px}
@media(max-width:560px){.brand img{width:125px}.hero-card{text-align:left;margin-left:36px}.intro{padding:25px 0}}
@media(max-width:850px){.intro h2{white-space:normal}}
@media(max-width:850px){.services-banner img{height:auto;min-height:0;max-height:none;object-fit:contain;object-position:center}}
.hero .slider-arrow{display:none}
.back-to-top{position:fixed;right:28px;bottom:98px;z-index:89;display:grid;width:48px;height:48px;place-items:center;border-radius:4px;background:#08bd0b;color:#fff;font-size:2rem;font-weight:900;line-height:1;box-shadow:0 7px 22px rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s}
.back-to-top.visible{opacity:1;visibility:visible;transform:none}
.back-to-top:hover,.back-to-top:focus{background:#079b0a;outline:3px solid rgba(8,189,11,.25);outline-offset:3px}
@media(max-width:560px){.back-to-top{right:18px;bottom:86px;width:44px;height:44px}}
.nav-wrap{position:relative}
.search-toggle{display:grid;flex:0 0 40px;width:40px;height:40px;padding:8px;place-items:center;border:0;background:transparent;color:var(--ink);cursor:pointer}
.search-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.search-toggle:hover,.search-toggle:focus{color:var(--pink)}
.site-search{position:absolute;z-index:60;right:0;top:calc(100% + 1px);display:grid;grid-template-columns:minmax(210px,300px) auto;gap:8px;width:max-content;padding:20px;background:#fff;border-top:3px solid var(--pink);box-shadow:0 14px 28px rgba(0,0,0,.18)}
.site-search[hidden]{display:none}
.site-search input{min-width:0;padding:10px 12px;border:1px solid #aab2be;border-radius:5px}
.site-search button{padding:10px 16px;border:0;border-radius:5px;background:var(--pink);color:#fff;font-weight:700;cursor:pointer}
.search-status{grid-column:1/-1;margin:0;color:var(--muted);font-size:.82rem}
@media(max-width:850px){.search-toggle{display:none}.site-search{display:none!important}}

/* Página Nosotros */
.about-hero{padding:82px 0;background:linear-gradient(125deg,#101b2b,#173b64);color:#fff;text-align:center;border-top:4px solid var(--pink)}
.about-hero .eyebrow{color:#ff79b7}.about-hero h1{margin-bottom:18px;font-size:clamp(2.5rem,5vw,4.7rem)}.about-hero p:last-child{max-width:820px;margin:0 auto;color:#dce8f5;font-size:1.15rem}
.about-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center}.about-row-reverse .about-photo{order:2}.about-row-reverse .about-copy{order:1}
.about-page .about-photo{align-self:center;width:100%;aspect-ratio:3/2;margin:0;overflow:hidden;border-radius:18px;box-shadow:var(--shadow);background:#e8edf3}.about-page .about-photo img{display:block;width:100%;height:100%!important;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center}
.about-copy h2{margin-bottom:22px}.about-copy p:not(.eyebrow){color:#536174;font-size:1.06rem}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.value-grid article{padding:28px;border:1px solid #e2e7ee;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(24,34,48,.07)}.value-grid span{color:var(--pink);font-size:1.8rem;font-weight:900}.value-grid h3{margin:12px 0 8px}.value-grid p{margin:0;color:var(--muted)}.about-cta .button{margin-top:12px}
@media(max-width:900px){.about-row{gap:36px}.value-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.about-hero{padding:58px 0}.about-row{grid-template-columns:1fr;gap:28px}.about-row-reverse .about-photo,.about-row-reverse .about-copy{order:initial}.about-page .about-photo{aspect-ratio:4/3}.about-page .about-photo img{object-position:center}.about-copy h2{font-size:2rem}.value-grid{grid-template-columns:1fr}.about-section{padding:58px 0}}

/* Primera llamada de acción */
.welcome-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(9,17,29,.78);backdrop-filter:blur(4px)}
.welcome-modal[hidden]{display:none}.welcome-dialog{position:relative;display:grid;grid-template-columns:minmax(330px,.82fr) minmax(470px,1.18fr);width:min(940px,100%);max-height:calc(100vh - 40px);overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.38)}
.welcome-close{position:absolute;z-index:2;right:14px;top:14px;display:grid;width:42px;height:42px;place-items:center;padding:0;border:0;border-radius:50%;background:#f1f3f6;color:var(--ink);font-size:1.9rem;line-height:1;cursor:pointer}.welcome-close:hover,.welcome-close:focus{background:#ffe3f0;color:var(--pink)}
.welcome-image{display:grid;min-height:100%;place-items:center;overflow:hidden;background:#eef1f4}.welcome-image img{width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center}
.welcome-content{padding:34px 38px 28px}.welcome-content h2{margin-bottom:13px;font-size:clamp(2rem,3vw,2.55rem)}.welcome-content>p:not(.eyebrow){margin-bottom:14px;color:#526073;line-height:1.5}.welcome-content ul{margin:14px 0 20px;padding:0;list-style:none}.welcome-content li{position:relative;margin:6px 0;padding-left:27px;color:#334155}.welcome-content li:before{content:"✓";position:absolute;left:0;color:var(--pink);font-weight:900}
.welcome-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.welcome-actions .button{padding:12px 19px;white-space:nowrap}.welcome-whatsapp{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border:2px solid #159b7e;border-radius:99px;color:#117762;font-size:.93rem;font-weight:800;white-space:nowrap}.welcome-whatsapp:hover,.welcome-whatsapp:focus{background:#159b7e;color:#fff}.welcome-later{margin-top:12px;padding:3px 0;border:0;background:none;color:#647184;text-decoration:underline;cursor:pointer}.modal-open{overflow:hidden}
@media(max-width:720px){.welcome-modal{padding:10px}.welcome-dialog{display:block;max-height:calc(100vh - 20px);overflow:auto}.welcome-image{height:175px;min-height:0}.welcome-image img{height:100%;object-fit:cover;object-position:center 38%}.welcome-content{padding:23px 20px 20px}.welcome-content h2{font-size:1.75rem}.welcome-actions{align-items:stretch;flex-direction:column}.welcome-actions .button,.welcome-whatsapp{width:100%}}
.cv-field{padding:16px;border:1px dashed #aeb8c7;border-radius:10px;background:#f8fafc}.cv-field>span{color:var(--pink)}.contact-form .cv-field input[type="file"]{padding:9px;background:#fff}.cv-field small{display:block;margin-top:7px;color:var(--muted);font-weight:400}

/* Rejilla de servicios inspirada en la composición original */
#servicios{padding:0 0 28px;background:#050505}
#servicios>.container{width:calc(100% - 54px);max-width:none}
#servicios .section-head{position:relative;width:100vw;max-width:none;margin:0 0 14px calc(50% - 50vw);padding:25px 20px;background:linear-gradient(90deg,#ed3290,#f50073);color:#fff}
#servicios .section-head .eyebrow,#servicios .section-head>p:last-child{display:none}
#servicios .section-head h2{margin:0;font-size:clamp(1.9rem,2.8vw,2.75rem);text-transform:uppercase;text-shadow:0 3px 5px rgba(0,0,0,.55)}
#servicios .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 29px}
#servicios .service-card{position:relative;min-height:390px;border-radius:0;background:#111;box-shadow:none;isolation:isolate}
#servicios .service-card:hover{transform:none}
#servicios .service-card img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform .45s ease,filter .45s ease}
#servicios .service-card div{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;text-align:center;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.45),rgba(0,0,0,.05));transition:background .35s ease}
#servicios .service-card h3{margin:0;font-size:clamp(1.35rem,2vw,2rem);line-height:1.2;text-transform:uppercase;text-shadow:0 3px 4px rgba(0,0,0,.85)}
#servicios .service-card p{max-width:520px;margin:18px 0 0;color:#fff;font-size:clamp(1rem,1.35vw,1.35rem);line-height:1.45;opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .35s ease;text-shadow:0 2px 4px #000}
#servicios .service-card:hover img,#servicios .service-card:focus-within img{transform:scale(1.035);filter:brightness(.46)}
#servicios .service-card:hover div,#servicios .service-card:focus-within div{background:rgba(0,0,0,.48)}
#servicios .service-card:hover p,#servicios .service-card:focus-within p{opacity:1;transform:none}
@media(max-width:1050px){#servicios>.container{width:calc(100% - 32px)}#servicios .service-grid{grid-template-columns:repeat(2,1fr);gap:18px}#servicios .service-card{min-height:350px}}
@media(max-width:620px){#servicios>.container{width:calc(100% - 20px)}#servicios .service-grid{grid-template-columns:1fr;gap:14px}#servicios .service-card{min-height:330px}#servicios .service-card p{opacity:1;transform:none;font-size:1rem}#servicios .service-card div{background:linear-gradient(0deg,rgba(0,0,0,.68),rgba(0,0,0,.05))}}

/* Video institucional de la página original */
.callout{padding:0 0 32px;background:linear-gradient(120deg,#ed3290,#f50073)}
.callout>.container{padding-top:26px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.6)}
.callout>.container h2{font-size:clamp(1.35rem,2.1vw,2.15rem);text-transform:uppercase}
.video-call-button{min-width:220px;background:#087bdd;text-transform:uppercase;font-size:1.15rem;box-shadow:none}
.video-call-button:hover,.video-call-button:focus{background:#0569bd}
.video-stage{width:min(900px,calc(100% - 40px));margin:30px auto 0;aspect-ratio:16/9;background:#111;box-shadow:0 4px 14px rgba(0,0,0,.55)}
.video-stage iframe{display:block;width:100%;height:100%;border:0}
.video-poster{position:relative;display:block;width:100%;height:100%;padding:0;border:0;overflow:hidden;background:#111;cursor:pointer}
.video-poster:before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.16);transition:background .25s ease}
.video-poster:hover:before,.video-poster:focus-visible:before{background:rgba(0,0,0,.34)}
.video-poster img{width:100%;height:100%;object-fit:cover;object-position:center 42%;transition:transform .4s ease}
.video-poster:hover img{transform:scale(1.025)}
.video-play{position:absolute;left:50%;top:50%;z-index:2;width:94px;height:94px;border:6px solid #fff;border-radius:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 6px rgba(0,0,0,.55))}
.video-play:after{content:"";position:absolute;left:36px;top:24px;border-top:20px solid transparent;border-bottom:20px solid transparent;border-left:29px solid #fff}
.video-prompt{position:absolute;left:50%;top:calc(50% + 70px);z-index:2;transform:translateX(-50%);color:#fff;font-weight:800;text-transform:uppercase;text-shadow:0 2px 5px #000}
@media(max-width:850px){.video-stage{width:calc(100% - 28px);margin-top:24px}.video-call-button{min-width:0}}
@media(max-width:560px){.video-play{width:68px;height:68px;border-width:4px}.video-play:after{left:26px;top:17px;border-top-width:15px;border-bottom-width:15px;border-left-width:22px}.video-prompt{top:calc(50% + 50px)}}

/* Proceso con ondas y tarjetas, como en la página original */
.process{position:relative;min-height:760px;padding:45px 0 52px;overflow:hidden;background:linear-gradient(135deg,#ed3290,#f50073);color:#fff;isolation:isolate}
.process:before{content:"";position:absolute;z-index:-2;left:-5%;right:-5%;top:155px;height:490px;background:#f3fafb;border-radius:48% 52% 43% 57%/16% 20% 18% 21%;transform:rotate(-1deg)}
.process:after{content:"";position:absolute;z-index:-3;left:-8%;right:-8%;top:112px;height:560px;background:rgba(255,200,227,.72);border-radius:42% 58% 48% 52%/18% 24% 15% 22%;transform:rotate(2deg)}
.process-wave{position:absolute;z-index:-1;pointer-events:none}
.process-wave-top{left:-8%;right:-8%;top:105px;height:130px;background:rgba(255,137,195,.65);border-radius:50% 48% 45% 52%;transform:rotate(-2deg)}
.process-wave-bottom{left:-8%;right:-8%;bottom:50px;height:125px;background:rgba(255,153,202,.68);border-radius:52% 45% 58% 43%;transform:rotate(2deg)}
.process-content{position:relative;z-index:1}
.process .section-head{margin-bottom:170px;color:#fff}
.process .section-head h2{margin:0;font-size:clamp(2rem,3.2vw,3rem);text-transform:none}
.process .steps{gap:20px}
.process .steps article{position:relative;min-height:255px;padding:58px 38px 30px;border:0;border-radius:0;background:#fff;color:var(--ink);text-align:center;box-shadow:0 13px 32px rgba(22,34,48,.13)}
.process .steps .step-icon{position:absolute;left:50%;top:-30px;display:grid;width:61px;height:61px;place-items:center;border-radius:50%;transform:translateX(-50%);color:#fff;font-size:1.55rem;font-weight:900;line-height:1}
.process .steps .green{background:#20a858}.process .steps .pink-icon{background:#ef4aa1}.process .steps .blue{background:#1535be}
.process .steps h3{margin:5px 0 13px;color:#ef4096;font-size:1.6rem;text-transform:capitalize}
.process .steps p{margin:0;color:#222;line-height:1.45}
.process-closing{margin:165px 0 0;text-align:center;font-size:clamp(2rem,3.2vw,3rem);color:#fff}
@media(max-width:850px){.process{min-height:auto;padding-bottom:65px}.process:before,.process:after,.process-wave{display:none}.process .section-head{margin-bottom:75px}.process .steps{gap:70px}.process .steps article{min-height:0}.process-closing{margin-top:75px}}

/* Presentación institucional: azul marino para confianza y fucsia como acento */
.staff-trust{position:relative;padding:82px 0;background:linear-gradient(135deg,#101c2d 0%,#173252 58%,#124a78 100%);color:#fff;text-align:center;overflow:hidden}
.staff-trust:before{content:"";position:absolute;width:420px;height:420px;right:-220px;top:-230px;border-radius:50%;background:rgba(255,255,255,.045)}
.staff-trust:after{content:"";position:absolute;width:360px;height:360px;left:-210px;bottom:-230px;border-radius:50%;background:rgba(245,0,115,.13)}
.staff-trust-inner{position:relative;z-index:1;max-width:1120px}
.staff-trust .eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;color:#ff75b4}
.staff-trust .eyebrow:before{content:"★";color:#fff;font-size:1.25rem}
.staff-trust h2{max-width:850px;margin:0 auto 22px;font-size:clamp(2rem,3.5vw,3.15rem)}
.staff-lead{max-width:920px;margin:0 auto 42px;color:#dbe6f2;font-size:1.13rem;line-height:1.8}
.trust-points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:38px}
.trust-points article{padding:25px 22px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.07);backdrop-filter:blur(4px)}
.trust-points span{display:grid;width:38px;height:38px;margin:0 auto 13px;place-items:center;border-radius:50%;background:var(--pink);font-weight:900}
.trust-points strong,.trust-points small{display:block}
.trust-points strong{margin-bottom:5px;font-size:1.08rem}
.trust-points small{color:#c7d7e8;font-size:.93rem}
.staff-cta{min-width:220px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:760px){.staff-trust{padding:64px 0}.trust-points{grid-template-columns:1fr}.staff-lead{font-size:1rem}.trust-points article{padding:20px}}

/* Selección: fondo claro, contenido completo e imágenes propias */
.checks{background:#f3f6fa;color:var(--ink)}
.checks .section-head{max-width:900px}
.checks .section-head .eyebrow{color:var(--pink)}
.checks .section-head h2{color:#14243a}
.checks .section-head.light-text>p:last-child{color:#5e6e82!important}
.check-grid{gap:26px}
.check-grid article{position:relative;border:1px solid #e1e7ef;border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(20,36,58,.09);transition:transform .25s ease,box-shadow .25s ease}
.check-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(20,36,58,.15)}
.check-grid article:before{content:"";position:absolute;z-index:2;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--pink),#1c70b7)}
.check-grid img{display:block;width:100%;height:230px!important;max-height:230px;aspect-ratio:auto;object-fit:cover;object-position:center}
.check-grid h3{margin-top:22px;color:#df1673;font-size:1.22rem;line-height:1.3}
.check-grid p{min-height:92px;margin-bottom:24px;color:#536276;line-height:1.55}
@media(max-width:850px){.check-grid img{height:210px!important;max-height:210px}.check-grid p{min-height:0}}
@media(max-width:560px){.check-grid img{height:220px!important;max-height:220px}}

/* Testimonios en tarjetas, tres visibles en escritorio */
.testimonials{background:#f6f7f9;border-top:5px solid var(--pink)}
.testimonials .section-head{margin-bottom:42px}
.testimonial-slider{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:none;min-height:0}
.testimonial{display:none;min-height:345px;padding:42px 36px 30px;background:#fff;border:1px solid #e7e9ee;border-radius:3px;text-align:left;box-shadow:0 10px 30px rgba(20,36,58,.08);animation:fade .4s}
.testimonial.visible{display:flex;flex-direction:column}
.testimonial.active{display:none}
.testimonial.visible.active{display:flex}
.testimonial blockquote{position:relative;flex:1;margin:0 0 26px;padding:43px 0 25px;border-bottom:2px solid #d708db;font-size:1.05rem;font-weight:400;line-height:1.55}
.testimonial blockquote:before{content:"“";position:absolute;left:0;top:-7px;color:#d708db;font-size:4.3rem;font-weight:900;line-height:1}
.testimonial-person{display:flex;align-items:center;gap:16px}
.testimonial-person img,.testimonial-avatar{flex:0 0 58px;width:58px;height:58px;margin:0;border:0;border-radius:50%;object-fit:cover}
.testimonial-avatar{display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),#8f2f92);color:#fff;font-weight:900}
.testimonial h3{margin:0 0 2px;font-size:1rem;line-height:1.25}
.testimonial p{margin:0;color:#f0a000;letter-spacing:.08em}
.testimonial-controls{margin-top:30px}
.testimonial-controls button:hover,.testimonial-controls button:focus-visible{border-color:var(--pink);color:var(--pink)}
.testimonial-person small{display:block;margin:2px 0;color:#687487;font-size:.78rem}
.testimonial.verified{border-color:#cfe8da}
.testimonial-actions{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:30px}
.testimonial-actions .testimonial-controls{margin-top:0}
.testimonial-open{min-width:220px}
.testimonial-modal[hidden]{display:none}
.testimonial-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:rgba(8,17,30,.72);overflow-y:auto}
.testimonial-dialog{position:relative;width:min(820px,100%);max-height:calc(100vh - 48px);padding:38px;background:#fff;border-radius:18px;box-shadow:0 25px 80px rgba(0,0,0,.35);overflow-y:auto}
.testimonial-dialog h2{margin-bottom:10px;font-size:2rem}
.testimonial-close{position:absolute;right:18px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:#f1f3f6;color:#182230;font-size:1.8rem;line-height:1;cursor:pointer}
.testimonial-form{margin-top:26px}
.testimonial-form label{display:block;margin-bottom:15px;font-size:.88rem;font-weight:700}
.testimonial-form input,.testimonial-form textarea,.testimonial-form select{width:100%;margin-top:6px;padding:11px 13px;border:1px solid #cbd2dc;border-radius:9px;background:#fff}
.testimonial-form .check-label{display:flex;align-items:flex-start;gap:9px;font-weight:400}
.testimonial-form .check-label input{flex:0 0 auto;width:auto;margin-top:5px}
.character-counter{display:block;margin-top:4px;color:#687487;font-weight:400;text-align:right}
.character-counter.near-limit{color:#c4175f;font-weight:700}
.testimonial-message{margin:18px 0;padding:14px 16px;border-radius:9px;background:#e8f8ef;color:#176c3a;font-weight:700}
.testimonial-thanks{max-width:610px;text-align:center}
.testimonial-thanks .testimonial-message{margin:0;padding:26px;background:transparent;color:#182230;font-weight:400}
.testimonial-thanks .testimonial-message>p{max-width:500px;margin:0 auto 17px;color:#536276}
.testimonial-thanks .testimonial-message strong{color:#182230}
.thanks-icon{display:grid;width:72px;height:72px;margin:0 auto 20px;place-items:center;border-radius:50%;background:#1eaa60;color:#fff;font-size:2.2rem;font-weight:900}
.testimonial-form-error{margin:18px 0;padding:14px 16px;border-radius:9px;background:#fff0f3;color:#a3153d;font-weight:700}
body.modal-open{overflow:hidden}
@media(max-width:850px){.testimonial-slider{grid-template-columns:repeat(2,minmax(0,1fr))}.testimonial{min-height:330px}}
@media(max-width:560px){.testimonial-slider{grid-template-columns:1fr}.testimonial{min-height:0;padding:34px 27px 27px}.testimonial-modal{padding:10px}.testimonial-dialog{max-height:calc(100vh - 20px);padding:30px 20px}.testimonial-dialog .field-row{grid-template-columns:1fr}}

/* Contacto: fondo más luminoso y consentimiento explícito */
.contact{background-image:linear-gradient(rgba(17,26,39,.64),rgba(17,26,39,.70)),url('../img/contact-bg.jpg');background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}
.contact-form{background:rgba(255,255,255,.96);backdrop-filter:blur(3px)}
.contact-consent{display:flex!important;align-items:flex-start;gap:9px;margin-bottom:10px!important;font-weight:400!important;line-height:1.45}
.contact-consent input{flex:0 0 auto;width:auto!important;margin-top:4px!important;accent-color:var(--pink)}
@media(max-width:850px){.contact{background-attachment:scroll}}

/* Pie institucional y opciones para compartir */
footer{padding-top:0;background:#111b29}
.footer-main{grid-template-columns:1.1fr 1fr 1.25fr;gap:48px;padding-top:58px;padding-bottom:48px}
.footer-main section{min-width:0}
.footer-main h2{position:relative;margin-bottom:20px;padding-left:16px;color:#fff;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase}
.footer-main h2:before{content:"";position:absolute;left:0;top:2px;width:3px;height:20px;background:var(--pink)}
.footer-main p{color:#cbd5e1;line-height:1.55}
.footer-info address{color:#d9e2ec;font-style:normal;line-height:1.7}
.footer-info address strong{display:inline-block;margin-top:10px;color:#ff73b4}
.footer-info a:hover,.footer-info a:focus{text-decoration:underline}
.footer-brand{width:170px!important;max-height:none!important;margin:0 0 24px!important;padding:8px!important;background:#fff!important}
.share-buttons{display:flex;flex-wrap:nowrap;gap:10px;margin-top:20px}
.share-buttons a{display:inline-flex;align-items:center;justify-content:center;min-width:125px;padding:11px 18px;border-radius:99px;color:#fff;font-weight:800}
.share-whatsapp{background:#168c78}.share-whatsapp:hover,.share-whatsapp:focus{background:#0d715f}
.share-facebook{background:#365899}.share-facebook:hover,.share-facebook:focus{background:#28477f}
.footer-share{display:flex;flex-direction:column;align-items:flex-start}
.footer-share .footer-brand{order:0}.footer-share h2{order:1}.footer-share .share-buttons{order:2}.footer-share>p{order:3;margin-top:16px}
.footer-brand-link{display:inline-block;order:0;line-height:0}.footer-brand-link .footer-brand{margin-bottom:24px!important}
.facebook-page-card{display:block;order:0;width:min(100%,360px);margin:0 0 28px;overflow:hidden;border:1px solid #344154;border-radius:12px;background:#fff;color:#142033!important;text-decoration:none;box-shadow:0 12px 28px rgba(0,0,0,.22);transition:transform .2s ease,box-shadow .2s ease}
.facebook-page-card:hover,.facebook-page-card:focus-visible{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.3)}
.facebook-page-cover{display:block;aspect-ratio:1.9/1;overflow:hidden;background:#172b4d}.facebook-page-cover img{display:block;width:100%!important;height:100%;margin:0!important;padding:0!important;border-radius:0!important;background:none!important;object-fit:cover}
.facebook-page-info{display:flex;align-items:center;gap:11px;padding:13px 15px 9px}.facebook-page-info>span:last-child{display:flex;min-width:0;flex-direction:column}.facebook-page-info strong{font-size:17px;line-height:1.2}.facebook-page-info small{margin-top:3px;color:#60708a;font-size:12px}
.facebook-page-icon{display:grid;flex:0 0 38px;width:38px;height:38px;border-radius:50%;place-items:center;background:#1877f2;color:#fff;font:900 29px/1 Arial,sans-serif}
.facebook-page-cta{display:flex;align-items:center;justify-content:space-between;margin:0 15px 14px;padding:10px 13px;border-radius:7px;background:#1877f2;color:#fff;font-weight:800}.facebook-page-cta b{font-size:20px}
.share-buttons a:before{display:grid;flex:0 0 25px;width:25px;height:25px;margin-right:8px;place-items:center;color:#fff;font-weight:900;line-height:1}
.share-whatsapp:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='white' d='M19.1 17.5c-.4-.2-2.2-1.1-2.5-1.2-.3-.1-.6-.2-.8.2-.2.4-.9 1.2-1.1 1.4-.2.2-.4.3-.8.1-2.1-1-3.5-1.9-4.9-4.3-.4-.7.4-.7 1.1-2.2.1-.2.1-.5 0-.7-.1-.2-.8-1.9-1.1-2.6-.3-.7-.6-.6-.8-.6h-.7c-.2 0-.7.1-1 .5-.3.4-1.3 1.3-1.3 3.2s1.4 3.7 1.6 4c.2.2 2.7 4.2 6.6 5.8 2.5 1.1 3.5 1.2 4.8 1 .8-.1 2.2-.9 2.5-1.8.3-.9.3-1.7.2-1.8-.2-.2-.5-.3-.9-.5zM16 3A13 13 0 0 0 4.8 22.5L3 29l6.7-1.8A13 13 0 1 0 16 3zm0 23.6c-2 0-3.9-.5-5.6-1.5l-.4-.2-4 1 1.1-3.9-.3-.4A10.6 10.6 0 1 1 16 26.6z'/%3E%3C/svg%3E") center/contain no-repeat}
.share-facebook:before{content:"f";font-family:Arial,sans-serif;font-size:1.45rem}
.footer-grid .ministry-logo{width:min(100%,460px);max-width:460px;height:auto;margin-top:20px;padding:10px;background:#fff;border-radius:4px}
.copyright{display:flex;justify-content:space-between;gap:24px;margin-top:0;padding:20px max(20px,calc((100% - 1140px)/2));text-align:left}
.copyright a:hover,.copyright a:focus{color:#fff;text-decoration:underline}
@media(max-width:850px){.footer-main{grid-template-columns:1fr 1fr}.footer-authority{grid-column:1/-1}.footer-grid .ministry-logo{width:min(100%,430px);max-width:430px}.share-buttons{flex-wrap:wrap}}
@media(max-width:560px){.footer-main{grid-template-columns:1fr;gap:38px}.footer-authority{grid-column:auto}.copyright{flex-direction:column;text-align:center}.share-buttons a{flex:1}}

/* Cobertura geográfica: Lima Metropolitana y Callao */
.service-area{background:#f4f7fb}
.service-area .section-head{max-width:850px}
.service-area details{max-width:1080px;margin:auto;border:1px solid #dce3ec;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(20,36,58,.07)}
.service-area summary{padding:18px 24px;color:#173252;font-weight:800;cursor:pointer}
.district-list{display:flex;flex-wrap:wrap;gap:10px;padding:4px 24px 25px}
.district-list span{padding:7px 12px;border:1px solid #e0e6ee;border-radius:99px;background:#f9fafc;color:#526174;font-size:.88rem}

/* Fotografías específicas para el slider móvil */
.hero .slide:nth-child(1){--desktop-bg:url('../img/banner-desktop-1-v2.webp')!important;--mobile-bg:url('../img/banner-mobile-1.webp')!important}
.hero .slide:nth-child(2){--desktop-bg:url('../img/banner-desktop-2-v2.webp')!important;--mobile-bg:url('../img/banner-mobile-2.webp')!important}
.hero .slide:nth-child(3){--desktop-bg:url('../img/banner-desktop-3-v2.webp')!important;--mobile-bg:url('../img/banner-mobile-3.webp')!important}
.hero .slide{background-image:linear-gradient(90deg,rgba(8,17,30,.62),rgba(8,17,30,.14)),var(--desktop-bg);background-size:cover;background-position:center}
@media(max-width:560px){
  .hero .slide{background-image:linear-gradient(180deg,rgba(8,17,30,.25),rgba(8,17,30,.76)),var(--mobile-bg);background-position:center 32%}
  .hero{height:610px;min-height:610px}
  .hero-card{align-self:end;margin:0 36px 72px;width:calc(100% - 72px);text-align:left}
  .hero h1,.hero h2{margin-bottom:20px;font-size:2.25rem;line-height:1.08}
}
