@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#10294d;--deep:#0a1d37;--blue:#1767bd;--bright:#2f88dc;--ink:#24344b;--muted:#64748b;--pale:#f3f7fc;--line:#dfe8f2;--white:#fff;--gold:#d7b77d;--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:400 16px/1.7 'DM Sans',Arial,sans-serif;background:#fff}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;color:var(--navy);line-height:1.15;letter-spacing:-.045em}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--bright);outline-offset:4px}.container{width:min(1180px,calc(100% - 48px));margin:auto}.skip-link{position:absolute;top:-60px;left:16px;background:var(--navy);color:#fff;padding:8px 16px;z-index:20}.skip-link:focus{top:12px}.site-header{position:relative;z-index:10;background:#fff;border-bottom:1px solid #eef2f7}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:12px;min-width:223px}.brand-mark{display:flex;align-items:end;gap:4px;width:36px;height:37px;transform:skew(-13deg)}.brand-mark i{width:8px;border-radius:3px 3px 1px 1px;background:var(--blue);display:block}.brand-mark i:nth-child(1){height:17px}.brand-mark i:nth-child(2){height:28px}.brand-mark i:nth-child(3){height:37px}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font:800 32px/.95 Manrope,Arial,sans-serif;letter-spacing:-.08em;color:var(--navy)}.brand-dot{color:var(--blue)}.brand-copy small{font-size:8px;letter-spacing:.085em;font-weight:700;color:var(--muted);margin-top:7px}.nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700;color:#42536c}.nav a:not(.nav-contact):hover,.inline-link:hover,.text-link:hover{color:var(--blue)}.nav-contact{background:var(--navy);padding:12px 21px;border-radius:9px;color:#fff}.nav-contact:hover,.button-primary:hover{background:#1a477d}.menu-toggle{display:none}.hero{overflow:hidden;background:linear-gradient(130deg,#fff 37%,#f4f8fd 100%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:615px;align-items:center;gap:35px}.hero-content{padding:70px 0 80px}.eyebrow{font:800 12px/1.4 Manrope,Arial,sans-serif;letter-spacing:.17em;color:var(--blue);display:inline-flex;align-items:center;gap:12px}.eyebrow-line{height:2px;width:28px;background:var(--blue)}.hero h1{font-size:clamp(38px,4.5vw,63px);margin:24px 0 24px;max-width:680px}.accent{color:var(--blue)}.hero-content>p{max-width:590px;font-size:18px;color:#56667d;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:33px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;border-radius:10px;font-size:15px;font-weight:700;min-height:52px;padding:12px 23px;line-height:1.25;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--navy);color:#fff}.text-link,.inline-link{font-size:15px;font-weight:700;color:var(--navy)}.text-link span,.inline-link span{margin-left:6px}.hero-foot{margin-top:43px;color:#6c7b91;font-size:14px;display:flex;gap:9px;align-items:center}.hero-foot-icon{color:var(--blue);font-size:22px}.hero-art{height:475px;position:relative;isolation:isolate}.hero-art:before{content:'';position:absolute;inset:15px 25px 10px 25px;border-radius:48% 52% 42% 58%;background:linear-gradient(145deg,#e7f1fd,#c9dcf3);transform:rotate(-9deg);z-index:-2}.art-orbit{position:absolute;border:1px solid rgba(23,103,189,.18);border-radius:50%;inset:50px 55px;transform:rotate(-22deg)}.art-orbit-two{inset:95px 15px;transform:rotate(22deg)}.art-center{position:absolute;top:137px;left:26%;width:48%;height:195px;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--navy);color:#dbeafe;text-align:center;box-shadow:0 30px 55px #10294d38;font:500 17px/1.4 Manrope}.art-center strong{color:#fff}.art-center-mark{display:grid;place-items:center;border-radius:17px;width:67px;height:67px;background:#fff;color:var(--blue);font:800 40px Manrope}.art-card{position:absolute;display:flex;align-items:center;gap:12px;background:#fff;padding:15px 19px;border:1px solid #e8eff8;border-radius:15px;box-shadow:0 14px 35px #18345c20;min-width:190px}.art-card span:last-child{display:grid;line-height:1.3}.art-card strong{font:800 15px Manrope;color:var(--navy)}.art-card small{font-size:12px;color:var(--muted);margin-top:5px}.art-icon{color:var(--blue);background:#ecf5ff;border-radius:11px;width:42px;height:42px;display:grid;place-items:center;font-size:25px}.art-card-one{top:47px;left:0}.art-card-two{top:97px;right:-8px}.art-card-three{bottom:45px;right:12px}.art-spark{position:absolute;color:var(--gold);font-size:32px}.art-spark-one{bottom:48px;left:47px}.art-spark-two{top:44px;right:85px}.section{padding:100px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.intro h2,.section-heading h2,.process h2,.contact h2{font-size:clamp(31px,3.3vw,45px);margin:16px 0 0}.intro p{font-size:18px;color:var(--muted)}.inline-link{display:inline-block;margin-top:10px;color:var(--blue)}.services{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:38px}.section-heading h2{max-width:670px}.section-heading p{max-width:320px;color:var(--muted);margin-bottom:3px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:#fff;border:1px solid #e4edf6;padding:31px;border-radius:var(--radius);display:flex;flex-direction:column;min-height:463px;box-shadow:0 10px 32px #14365a08;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #14365a13}.service-number{font-size:11px;letter-spacing:.11em;font-weight:800;color:#8190a4}.service-symbol{width:62px;height:62px;background:#ebf4ff;border-radius:15px;color:var(--blue);display:grid;place-items:center;font-size:32px;margin:29px 0 20px}.service-card h3{font-size:23px;margin:0 0 12px}.service-card p{color:var(--muted);line-height:1.65;margin-bottom:16px}.service-card ul{padding-left:19px;margin:0 0 26px;color:#405571}.service-card li{margin:6px 0}.service-card li::marker{color:var(--blue)}.card-link{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;color:var(--blue);font-weight:700;font-size:14px;display:flex;justify-content:space-between;gap:10px}.process{background:var(--navy);color:#d2dfec}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.process .eyebrow{color:#80bdfa}.process h2{color:#fff;max-width:500px}.process p{color:#c6d5e6;max-width:510px;margin-top:20px}.button-light{margin-top:22px;background:#fff;color:var(--navy)}.button-light:hover{background:#e8f2fc}.steps{border-left:1px solid #355071}.step{display:flex;gap:25px;padding:24px 0 25px 33px;border-bottom:1px solid #355071}.step:last-child{border:0}.step>span{color:#81bdf7;font:800 15px Manrope}.step h3{color:#fff;font-size:21px;margin:0 0 5px}.step p{margin:0;color:#c6d5e6}.contact{background:#fff}.contact-panel{border-radius:28px;background:#eff6fd;padding:65px 75px;display:flex;justify-content:space-between;align-items:center;gap:45px}.contact h2{max-width:650px}.contact p{color:var(--muted);margin:17px 0 0;max-width:580px}.contact-actions{display:grid;gap:14px;justify-items:start;min-width:225px}.contact-note{font-size:12px;line-height:1.5;color:#66788e;max-width:230px}.contact-note code{font-size:12px}.footer{background:var(--deep);color:#b3c1d2}.footer-main{padding:60px 0 45px;display:flex;justify-content:space-between;gap:30px}.brand-footer .brand-copy strong{color:#fff}.brand-footer .brand-copy small{color:#b7c8db}.footer-main p{font-size:14px;margin:24px 0 0}.footer nav{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 35px;font-size:14px}.footer nav a:hover,.footer-bottom a:hover{color:#fff}.footer-bottom{border-top:1px solid #30425b;padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:13px}
@media(max-width:950px){.nav{gap:15px;font-size:13px}.brand{min-width:200px}.brand-copy small{font-size:7px}.hero-grid{grid-template-columns:1fr 1fr}.art-card{min-width:155px;padding:10px}.art-card strong{font-size:13px}.art-card small{font-size:11px}.art-card-two{right:-18px}.section-heading{gap:30px}.service-card{padding:24px}.process-grid{gap:55px}}
@media(max-width:760px){.container{width:min(100% - 36px,560px)}.header-inner{min-height:75px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:0;background:#eff5fc;border-radius:9px;padding:10px;cursor:pointer}.menu-toggle span{display:block;height:2px;width:100%;background:var(--navy);border-radius:2px}.nav{display:none;position:absolute;top:75px;left:0;right:0;padding:14px 18px 22px;background:#fff;box-shadow:0 14px 25px #10294d15;flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a{padding:11px 14px}.nav-contact{margin-top:9px;text-align:center}.hero-grid,.intro-grid,.process-grid{grid-template-columns:1fr;gap:0}.hero-grid{min-height:0}.hero-content{padding:65px 0 0}.hero h1{font-size:clamp(38px,9vw,55px)}.hero-art{height:410px;margin:30px 0 35px}.art-card-two{right:0}.section{padding:72px 0}.intro-grid{gap:20px}.intro p{font-size:16px}.section-heading{display:block}.section-heading p{margin:17px 0 0;max-width:560px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-symbol{margin:23px 0 17px}.process-grid{gap:45px}.steps{margin-left:0}.contact-panel{display:block;padding:42px 30px}.contact-actions{margin-top:30px}.footer-main{flex-direction:column}.footer nav{max-width:320px}}
@media(max-width:440px){.brand-copy strong{font-size:28px}.brand-copy small{font-size:6.5px}.brand{min-width:0;gap:9px}.brand-mark{transform:skew(-13deg) scale(.85);transform-origin:left center;width:30px}.hero-actions{gap:18px}.hero-art{height:350px}.art-center{height:155px;top:110px}.art-card{min-width:145px}.art-card-one{top:25px}.art-card-two{top:89px}.art-card-three{bottom:13px}.art-icon{width:34px;height:34px;font-size:21px}.contact h2{font-size:31px}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card,.button{transition:none}}
/* Slideshow: añade más elementos .hero-slide en index.html. */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.slide-title{font-size:clamp(38px,4.5vw,63px);margin:24px 0;max-width:680px}.hero-slide .hero-grid{min-height:615px}.slider-controls{display:flex;align-items:center;gap:20px;padding-bottom:24px}.slider-buttons{display:flex;gap:8px}.slider-buttons button{background:#fff;border:1px solid #cbd9e9;color:var(--navy);border-radius:50%;width:42px;height:42px;font-size:29px;line-height:1;cursor:pointer}.slider-dots{display:flex;gap:12px}.slider-dot{width:12px;height:12px;padding:0;border:0;border-radius:50%;background:#b9cce2;cursor:pointer}.slider-dot[aria-current="true"]{background:var(--blue);box-shadow:0 0 0 4px #1767bd18}.slider-pause{margin-left:auto;min-height:40px;background:transparent;border:0;color:var(--navy);font-size:14px;text-decoration:underline;cursor:pointer}.legal-visual{position:relative;min-height:465px;border-radius:30px;background:#e9f2fc;display:grid;place-items:center;overflow:hidden}.family-photo{width:321px;height:353px;background-image:url('../assets/referencia-hero.png');background-size:438.63% 207.65%;background-position:61.18% 48.16%;background-repeat:no-repeat;border-radius:24px;box-shadow:0 15px 35px #10294d18}.legal-caption{position:absolute;bottom:18px;left:20px;background:var(--navy);padding:18px 24px;border-radius:14px;color:#fff;box-shadow:0 10px 20px #10294d25}.legal-caption span{font-size:9px;letter-spacing:.13em;display:block;color:#9dc9f4;margin-bottom:6px}.legal-caption strong{font:700 21px/1.25 Manrope,Arial,sans-serif}.hero-slide.custom-image-slide img{display:block;width:100%;height:auto;border-radius:24px}
@media(max-width:760px){.slide-title{font-size:clamp(38px,9vw,55px)}.hero-slide .hero-grid{min-height:0}.legal-visual{min-height:420px;margin:35px 0}.slider-controls{padding-top:8px;padding-bottom:25px}.hero-slide .hero-content{min-height:0}}
@media(max-width:390px){.family-photo{width:280px;height:308px}.legal-caption{left:10px}}
