@font-face{font-family:Satoshi;src:url('fonts/satoshi-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Satoshi;src:url('fonts/satoshi-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Satoshi;src:url('fonts/satoshi-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--sans:Satoshi,Arial,sans-serif;--ink:#17212b;--muted:#606b76;--accent:#006596;--accent-dark:#004e76;--line:#e2e7ec;--surface:#f5f8fa;--page-width:1180px;--gutter:40px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:102px}
body{background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:#d8eaf4;color:var(--accent-dark)}
a{color:inherit;text-decoration:none}button{font:inherit}img,svg{display:block}button,a,summary{-webkit-tap-highlight-color:transparent}
.wrap{width:min(var(--page-width),calc(100% - var(--gutter)*2));margin-inline:auto}
:where(a,button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.skip-link{position:fixed;z-index:100;top:10px;left:20px;padding:12px 20px;border-radius:8px;background:var(--ink);color:#fff;transform:translateY(-180%)}
.skip-link:focus{transform:none}#contenido:focus{outline:none}
header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .2s}
header.scrolled{border-color:var(--line)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between}
.logo{font-size:19px;font-weight:700;letter-spacing:-.035em;white-space:nowrap;display:flex;gap:6px;align-items:center}
.logo b{font-size:14px;color:var(--accent);font-weight:700;letter-spacing:-.02em}
.links{display:flex;gap:36px;align-items:center}
.links>a{font-size:14px;font-weight:500;color:#59636e;transition:color .2s}
.links>a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;padding:13px 22px;border:1px solid rgba(0,57,85,.15);border-radius:9px;background:var(--accent);color:#fff;font-size:15px;font-weight:500;line-height:1.3;box-shadow:0 2px 3px rgba(0,59,89,.09),inset 0 1px 0 rgba(255,255,255,.15);transition:background .25s,transform .25s var(--ease),box-shadow .25s}
.btn:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,59,89,.13)}
.btn:active{transform:translateY(0)}
.links>a.btn{color:#fff}.btn-sm{min-height:42px;padding:10px 17px;font-size:14px;gap:16px}
.arrow{display:inline-block;position:relative;flex:0 0 auto;width:15px;height:12px;color:inherit;transition:transform .25s var(--ease)}
.arrow::before{content:'';position:absolute;top:5px;left:0;width:14px;height:1.5px;background:currentColor;border-radius:2px}
.arrow::after{content:'';position:absolute;right:1px;top:2px;width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
a:hover>.arrow{transform:translateX(3px)}
.arrow-down{transform:rotate(90deg)}a:hover>.arrow-down{transform:translateY(3px) rotate(90deg)}
.menu-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;border:none;background:none;border-radius:8px;cursor:pointer}
.menu-btn span{width:20px;height:1.5px;background:var(--ink);transition:transform .25s}
.menu-open .menu-btn span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-open .menu-btn span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.menu-mov{display:none;position:absolute;top:74px;left:0;right:0;padding:12px var(--gutter) 26px;background:#fff;border-bottom:1px solid var(--line)}
.menu-mov a{padding:12px 0;font-size:16px}.menu-mov a.btn{margin-top:12px}.menu-open .menu-mov{display:flex;flex-direction:column}
.velo{position:fixed;inset:0;z-index:49;background:rgba(23,33,43,.2)}
#hero{position:relative;min-height:720px;min-height:clamp(690px,87svh,780px);display:flex;align-items:center;overflow:hidden;padding:146px 0 96px}
#hero .hero-content{position:relative;z-index:2}
h1{max-width:850px;font-size:clamp(54px,5.05vw,74px);font-weight:500;line-height:1.04;letter-spacing:-.038em;text-wrap:balance}
h1 em{font-style:normal;color:var(--accent);font-weight:500}
.hero-sub{font-size:18px;line-height:1.65;color:#596570;max-width:480px;margin-top:28px}
.hero-ctas{display:flex;align-items:center;gap:29px;margin-top:34px}
.text-link{display:inline-flex;align-items:center;gap:13px;font-size:15px;font-weight:500;min-height:44px;transition:color .2s}.text-link:hover{color:var(--accent)}
#hero .hero-flow::after{background:linear-gradient(90deg,#fff 6%,rgba(255,255,255,.98) 30%,rgba(255,255,255,.94) 43%,rgba(255,255,255,.5) 57%,transparent 75%),linear-gradient(0deg,#fff,rgba(255,255,255,0) 24%)}
#hero .hero-motion-toggle{font-size:11px;min-height:36px;bottom:21px;background:rgba(255,255,255,.82);border-color:#dce5ec}
#integraciones{padding:14px 0 28px;background:#fff;overflow:hidden}
#integraciones h2{text-align:center;font-size:15px;line-height:1.5;letter-spacing:0;color:#626c77;font-weight:400;margin-bottom:10px}
.integrations-mount{min-height:104px}
.integration-fallback{display:flex;flex-wrap:wrap;list-style:none;gap:20px 28px;justify-content:center;padding:16px 0;color:#454e58;font-size:17px;font-weight:500}
.integration-footnote{text-align:center;font-size:12px;line-height:18px;color:#626d78;margin-top:4px}
section:not(#hero,#integraciones){padding:108px 0}
h2{font-size:clamp(34px,3.45vw,48px);font-weight:500;letter-spacing:-.032em;line-height:1.12;text-wrap:balance}
.section-heading{margin-bottom:48px}.section-heading h2 span{color:#7b8792}.section-heading>p{color:var(--muted);font-size:17px;margin-top:19px;max-width:53ch}
#servicios{background:#f7f9fb}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.service-card{overflow:hidden;border-radius:16px;background:#fff;border:1px solid #e5ebf0;transition:border-color .3s,box-shadow .3s}
.service-card:hover{border-color:#cbdde9;box-shadow:0 8px 22px rgba(21,51,76,.035)}
.service-copy{padding:36px 38px 0}.service-copy h3{font-weight:500;font-size:27px;letter-spacing:-.025em;line-height:1.15}
.service-copy>p{font-size:16px;line-height:1.65;color:var(--muted);max-width:43ch;margin-top:17px}
.service-picture{height:316px;min-width:0;padding:6px 10px 0}
.service-card-featured{grid-column:1/-1;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;background:linear-gradient(115deg,#fff 26%,#f0f6fa)}
.service-card-featured .service-copy{padding:48px;max-width:500px}
.service-card-featured .service-copy h3{font-size:32px;max-width:10ch}
.service-card-featured .service-picture{height:350px;padding:24px 24px 24px 0}
.service-card-systems{background:#f0f5f9;border-color:#e3eaf0}
.visual-fallback{height:100%;display:flex;align-items:center;justify-content:center;gap:24px;flex-direction:column;color:var(--accent);font-size:13px}
.visual-fallback>span{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
#proceso{padding:112px 0 106px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}
.process-grid article{padding-top:25px;border-top:1px solid #ccdbe5}
.process-grid h3{font-size:22px;line-height:1.3;font-weight:500;letter-spacing:-.02em;margin-bottom:15px}
.process-grid p{font-size:16px;color:var(--muted);line-height:1.65;max-width:33ch}
#preguntas{padding:26px 0 110px}
.faq-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:80px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;padding:24px 0;font-size:16px;font-weight:500;line-height:1.5;transition:color .2s}
.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--accent)}
.plus{display:block;flex:0 0 auto;width:12px;height:12px;position:relative;color:#576675;transition:transform .25s var(--ease)}
.plus::before,.plus::after{content:'';position:absolute;background:currentColor;top:5px;left:0;width:12px;height:1.3px}.plus::after{transform:rotate(90deg)}
details[open] .plus{transform:rotate(45deg)}
.faq details>p{padding:0 34px 25px 0;color:var(--muted);font-size:15px;line-height:1.7}
#contacto{background:#eef4f8;padding:85px 0 88px}
.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:80px}
.contact-layout h2{font-size:clamp(40px,4.3vw,60px);line-height:1.05}.contact-layout h2 em{color:var(--accent);font-style:normal}
.contact-email{display:inline-flex;align-items:center;gap:16px;color:#4e6575;font-size:16px;margin-top:28px}.contact-email:hover{color:var(--accent)}
.contact-action{justify-self:start;display:flex;flex-direction:column;align-items:flex-start}.contact-action>p{font-size:19px;line-height:1.5;color:#405566;margin-bottom:21px}
.meeting-detail{font-size:13px;color:#596a78;margin-bottom:19px}.contact-action .btn{min-width:245px}.contact-action small{margin-top:16px;font-size:12px;color:#596a78;max-width:38ch;line-height:1.5}
footer{padding:30px 0 32px}.footer-content{display:flex;justify-content:space-between;align-items:center;color:#6c7680;font-size:12px}.footer-content nav{display:flex;gap:26px}.footer-content a:hover{color:var(--accent)}
@media(min-width:901px){.menu-mov{display:none!important}}
@media(max-width:1100px){:root{--gutter:32px}.links{gap:26px}h1{font-size:60px}.service-card-featured .service-copy{padding:32px}.service-copy{padding:30px 30px 0}.faq-layout{gap:50px}.contact-layout{gap:50px}}
@media(max-width:900px){.nav{height:74px}.links>a{display:none}.links{gap:0}.menu-btn{display:flex}h1{font-size:54px;max-width:680px}#hero{min-height:670px;padding:130px 0 90px}.hero-sub{max-width:440px}.service-card-featured{grid-template-columns:1fr 1.05fr}.service-card-featured .service-picture{padding-right:8px}.service-copy h3{font-size:24px}.service-copy>p{font-size:15px}.process-grid{gap:25px}}
@media(max-width:700px){:root{--gutter:24px}html{scroll-padding-top:90px}.nav{height:70px}.menu-mov{top:70px}.logo{font-size:18px}#hero{padding:130px 0 245px;min-height:0}h1{font-size:clamp(38px,7.1vw,48px);line-height:1.08;letter-spacing:-.032em;max-width:540px}.desktop-break{display:none}.hero-sub{font-size:16px;line-height:1.6;margin-top:24px;max-width:36ch}.hero-ctas{gap:13px;flex-wrap:wrap;margin-top:28px}.hero-ctas .btn{padding-inline:18px;gap:17px;font-size:14px}.text-link{font-size:14px}#integraciones{padding:14px 0 28px}#integraciones h2{font-size:13px;max-width:27ch;margin-inline:auto;margin-bottom:10px}.integration-footnote{font-size:12px;max-width:32ch;margin-inline:auto}section:not(#hero,#integraciones){padding:70px 0}.section-heading{margin-bottom:30px}h2{font-size:34px}.section-heading>p{font-size:16px}.service-grid{grid-template-columns:1fr;gap:18px}.service-card-featured{display:block}.service-copy,.service-card-featured .service-copy{padding:27px 26px 0;max-width:none}.service-card-featured .service-copy h3{font-size:26px;max-width:none}.service-copy h3{font-size:26px}.service-copy>p{font-size:15px;margin-top:14px;max-width:45ch}.service-picture,.service-card-featured .service-picture{height:256px;padding:0 8px}.service-picture>.service-visual{transform:translateY(-12px)}.process-grid{grid-template-columns:1fr;gap:30px}.process-grid article{padding-top:22px}.process-grid h3{font-size:22px;margin-bottom:10px}.process-grid p{max-width:44ch;font-size:15px}.faq-layout{grid-template-columns:1fr;gap:28px}#preguntas{padding:10px 0 70px}.faq-layout h2 br{display:none}.faq summary{font-size:15px;padding:23px 0;gap:22px}.faq details>p{font-size:14px;padding-right:12px}.contact-layout{grid-template-columns:1fr;gap:35px}#contacto{padding:57px 0 60px}.contact-layout h2{font-size:44px}.contact-email{font-size:15px;margin-top:22px}.contact-action>p{font-size:17px;margin-bottom:14px}.meeting-detail{font-size:12px;margin-bottom:20px}.contact-action small{font-size:12px;max-width:32ch}.footer-content{align-items:flex-start;flex-direction:column;gap:14px}.footer-content nav{gap:24px}footer{padding:26px 0}}
@media(max-width:360px){:root{--gutter:20px}h1{font-size:37px}.hero-ctas{gap:13px}.service-copy,.service-card-featured .service-copy{padding:24px 22px 0}.service-copy h3,.service-card-featured .service-copy h3{font-size:24px}.contact-layout h2{font-size:40px}h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
