@font-face{font-family:Manrope;src:url('fonts/manrope.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--ink:#28265b;--paper:#fafbf8;--lime:#e5f0e6}
body{font-family:Manrope,Arial,sans-serif;letter-spacing:-.015em}h1,h2,h3{font-weight:500;letter-spacing:-.055em}h2{line-height:1.16}.wrap{width:min(1320px,calc(100% - 112px))}
.site-header{background:#28265b;border-color:#55517d;color:var(--paper)}.header-inner{min-height:100px}.brand img{width:202px}.brand span{color:#e1ebde;font-size:.8125rem;letter-spacing:.06em}.nav{gap:38px}.nav a{font-size:.875rem}.nav a:hover{color:var(--lime)}.nav .button{background:var(--lime);border-color:var(--lime);color:var(--ink);padding:13px 24px}.button{font-weight:600;gap:26px;border-radius:2px;min-height:52px;transition:background .18s,color .18s}.button:hover{background:#00552b}.button span[aria-hidden]{font-size:1.25rem}.hero-shell{background:#28265b;color:var(--paper);position:relative}.hero{grid-template-columns:1.18fr .82fr;align-items:stretch;gap:60px;padding-block:65px 58px}.hero>div:first-child{padding-block:18px 12px}.hero h1{font-size:clamp(3.3rem,5.05vw,5.1rem);line-height:1.045;font-weight:500;letter-spacing:-.055em}.hero h1 em{color:var(--lime)}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em}.hero .eyebrow{color:#c9d9c5;margin-bottom:30px}.hero .lead{color:#d4e0d9;font-size:1.0625rem;line-height:1.8;max-width:520px;margin:26px 0 30px}.hero .button{background:var(--lime);color:var(--ink);border-color:var(--lime)}.hero .button:hover{background:#ffffff}.hero .text-link{color:var(--paper);font-size:.875rem;font-weight:500}.hero .text-link:hover{color:var(--lime)}.hero .tiny-caption{font-size:.75rem;letter-spacing:.14em;color:#b8cec1;margin-top:28px}.hero-media{height:auto;min-height:565px;border-radius:0;position:relative;background:#1b4439}.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-media::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#201e49dc);pointer-events:none}.hero-media .image-note{z-index:1;left:30px;bottom:35px;background:transparent;border-left:2px solid var(--lime);padding:0 0 0 20px;color:#e7ede7;font-size:.75rem;letter-spacing:.04em;max-width:calc(100% - 52px)}.image-note strong{font-size:1.45rem;line-height:1.3;font-weight:500;letter-spacing:-.02em;margin-bottom:14px}.frameworks{padding-block:27px;border-top:1px solid #55517d;border-bottom:0;gap:22px}.frameworks a{font-weight:500;font-size:.875rem;letter-spacing:.025em;color:#dce5df}.frameworks a:hover{color:var(--lime)}.section{padding-block:100px}.section-head{grid-template-columns:1.12fr .88fr;gap:85px;align-items:end;margin-bottom:50px}.section-head h2{font-size:clamp(2.2rem,3.5vw,3.4rem)}.section-head .eyebrow{color:var(--green)}.section-head .lead{font-size:1.0625rem;line-height:1.8;max-width:490px}.services{display:block;border-left:0;border-top:1px solid #b8c8be}.service{display:grid;grid-template-columns:.9fr 1.15fr 1.6fr auto;gap:30px;align-items:center;padding:31px 12px 31px 0;min-height:150px;border-right:0;border-bottom:1px solid #b8c8be;transition:background .2s,padding .2s}.service .serial{font-size:.75rem;line-height:1.65;letter-spacing:.015em;max-width:150px}.service h3{font-size:1.55rem;letter-spacing:-.045em;line-height:1.2}.service p{font-size:.9375rem;line-height:1.7}.service .more{margin:0;font-size:.8125rem;white-space:nowrap}.service .more span{display:block;font-size:1.5rem;margin-top:8px;font-weight:400}.service:hover{background:#ecf2e8;padding-left:20px}.dark{background:#e8eee6;color:var(--ink)}.dark p{color:#43594e}.dark .eyebrow{color:var(--green)}.dark .button.light{background:var(--ink);border-color:var(--ink);color:white}.dark .steps li{border-color:#bccbbe}.dark .steps li::before{color:var(--green);font-weight:700}.dark a:hover{color:var(--paper)}.dark .split{gap:100px}.dark h2{font-size:clamp(2.3rem,3.8vw,3.8rem)}.dark .lead{font-size:1.0625rem;line-height:1.8;max-width:470px}.steps h3{font-size:1.3rem;font-weight:600}.steps p{font-size:.9375rem}.steps li{padding-block:26px;gap:25px}.about-strip{grid-template-columns:.8fr 1.2fr;gap:105px}.about-strip .big-number{font-size:clamp(5rem,10vw,9rem);font-weight:400}.about-strip h2{font-size:clamp(2.2rem,3.5vw,3.4rem)}.about-strip .lead{font-size:1.1rem;line-height:1.8}.cta{background:#28265b;color:var(--paper);padding:62px 65px;position:relative;border-top:4px solid var(--lime);margin-bottom:85px}.cta h2{max-width:760px;font-size:clamp(2.2rem,3.5vw,3.5rem);font-weight:400}.cta .button{background:var(--lime);border-color:var(--lime);color:var(--ink);flex-shrink:0}.site-footer{background:#201e49;padding-top:65px}.footer-top{grid-template-columns:1.8fr 1fr 1fr}.footer-brand{text-decoration:none;font-size:2rem;font-weight:500}.footer-top p{font-size:.9375rem}.footer-links a{font-size:.875rem}.footer-bottom{font-size:.8125rem}.page-hero{background:#28265b;color:var(--paper);padding-block:38px 64px;border:0}.page-hero .breadcrumb{color:#c5d6ca;font-size:.8125rem;margin-bottom:48px}.page-hero .eyebrow{color:var(--lime)}.page-hero h1{font-size:clamp(2.9rem,4.7vw,4.5rem);max-width:1050px;font-weight:400;line-height:1.13}.page-hero .lead{color:#d4e0d9;font-size:1.125rem;max-width:840px;line-height:1.8}.page-hero a:hover{color:var(--lime)}.content-grid{grid-template-columns:1.45fr .65fr;gap:100px}.prose>p{line-height:1.85}.prose h2{font-size:1.9rem;font-weight:500}.aside-card{background:#e8eee6;border-top:3px solid var(--green);padding:32px}.aside-card .eyebrow{font-size:.75rem}.aside-card p{font-size:.9375rem;line-height:1.8}.deliverable h3{font-weight:600}.contact-grid{gap:110px}.contact-grid h2{font-size:2.6rem}.contact-details dd{font-size:1.2rem}.form-grid{gap:25px}.field input,.field select,.field textarea{background:#fff;border:1px solid #7b9485;padding:14px;border-radius:2px}.field label{font-weight:500}.check span,.form-note{font-size:.8125rem}.form-note{line-height:1.8}.whatsapp{font-family:Manrope,Arial,sans-serif;font-size:.8125rem;border-color:#55776a;background:#28265b;bottom:22px;right:22px;padding:12px 20px}.cookie-panel{border-top:3px solid var(--green)}.cookie-panel p{font-size:.875rem}.site-header :focus-visible,.hero-shell :focus-visible,.page-hero :focus-visible{outline-color:var(--lime)}.dark :focus-visible{outline-color:#8b4300}
@media(min-width:1600px){.hero{padding-block:70px 65px}.hero h1{font-size:5.65rem}.hero-media{min-height:640px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:36px}.hero h1{font-size:4.25rem}.hero-media{min-height:550px}.hero .actions{gap:20px}.nav{gap:25px}.service{grid-template-columns:.65fr 1.1fr 1.4fr auto;gap:20px}.service h3{font-size:1.4rem}.service .more{font-size:.75rem}.split,.content-grid,.contact-grid{gap:50px}.cta{padding:45px}.section-head{gap:45px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:88px}.brand img{width:165px}.brand span{font-size:.75rem}.menu-toggle{border-color:#6d8e7d;color:var(--paper);font-size:.875rem;min-width:74px}.nav{padding:16px 0 22px;gap:22px}.hero{grid-template-columns:1fr;padding-block:30px 30px;gap:30px}.hero>div:first-child{padding:10px 0 0}.hero h1{font-size:clamp(2.65rem,10vw,4.5rem);line-height:1.09;letter-spacing:-.05em}.hero .eyebrow{font-size:.75rem;line-height:1.7;margin-bottom:24px}.hero .lead{font-size:1rem;line-height:1.8;max-width:530px;margin-block:22px 27px}.hero .actions{gap:22px}.hero .button{font-size:.875rem;padding:13px 18px}.hero .tiny-caption{font-size:.75rem;line-height:1.7;letter-spacing:.08em;margin-top:23px}.hero-media{height:310px;min-height:0}.hero-media img{object-position:center 57%}.hero-media .image-note{left:23px;bottom:24px}.image-note strong{font-size:1.3rem}.frameworks{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 12px;padding:25px 0 30px}.frameworks a{font-size:.75rem;line-height:1.6}.section{padding-block:65px}.section-head{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.section-head h2{font-size:2.1rem}.section-head .lead{font-size:1rem}.service{grid-template-columns:1fr auto;gap:13px 20px;padding:24px 0;min-height:0}.service .serial{grid-column:1/-1;max-width:none;font-size:.75rem}.service h3{font-size:1.45rem;grid-column:1;grid-row:2}.service p{grid-column:1;grid-row:3;font-size:.9375rem}.service .more{grid-column:2;grid-row:2/4;font-size:.75rem;align-self:center}.service .more span{font-size:1.5rem}.service:hover{padding-left:10px}.dark .split{gap:32px}.dark h2{font-size:2.3rem}.dark .lead{font-size:1rem}.steps li{gap:12px;padding-block:23px}.about-strip{grid-template-columns:1fr;gap:30px}.about-strip .big-number{font-size:5.5rem}.about-strip h2{font-size:2.25rem}.about-strip .lead{font-size:1rem}.cta{padding:34px 26px;gap:28px;align-items:flex-start;margin-bottom:55px}.cta h2{font-size:2rem}.footer-top{grid-template-columns:1fr 1fr;gap:32px}.site-footer{padding-top:45px}.footer-bottom{gap:20px;padding-bottom:70px}.footer-top>div:first-child{grid-column:1/-1}.page-hero{padding-block:25px 45px}.page-hero .breadcrumb{margin-bottom:32px}.page-hero h1{font-size:clamp(2.35rem,8.5vw,3.5rem);line-height:1.15}.page-hero .lead{font-size:1rem;line-height:1.8}.content-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.prose h2{font-size:1.7rem}.whatsapp{right:14px;bottom:14px}.contact-grid h2{font-size:2.2rem}.contact-details dd{font-size:1.125rem}.aside-card{padding:25px}}
@media(max-width:360px){.service{grid-template-columns:1fr}.service .more{grid-column:1;grid-row:4}.service .more span{display:inline;margin-left:15px}.hero .actions{gap:20px}.hero h1{font-size:2.5rem}.frameworks{grid-template-columns:1fr 1fr}.footer-top{gap:30px 18px}}
@media(prefers-reduced-motion:reduce){.button,.service{transition:none}}
/* Identidad corporativa: logotipo íntegro, azul y verde del archivo del titular. */
.site-header{background:#fff;color:#28265b;border-bottom:1px solid #dedee8}.header-inner{min-height:118px}.brand{padding:4px 0;flex-shrink:1}.brand img{width:330px;max-width:100%;height:auto;object-fit:contain;display:block}.nav a:hover{color:#076633}.nav .button,.hero .button,.cta .button{background:#076633;border-color:#076633;color:#fff}.nav .button:hover,.hero .button:hover,.cta .button:hover{background:#00552b;color:#fff}.site-header :focus-visible{outline-color:#076633}.hero h1 em{color:#fff}.hero .eyebrow{color:#e5f0e6}.hero-media .image-note{border-color:#e5f0e6}.menu-toggle{color:#28265b;border-color:#777591}.frameworks{justify-content:space-between}.service .serial{line-height:1.8}
@media(max-width:1050px) and (min-width:761px){.brand img{width:265px}.nav{gap:19px}.header-inner{gap:20px}}
@media(max-width:900px){.header-inner{flex-wrap:wrap;gap:0}.brand img{width:270px}.menu-toggle{display:block;min-height:44px;min-width:70px;background:none;padding:8px 12px;border:1px solid #777591}.nav{width:100%;flex-wrap:wrap;padding:16px 0 22px;gap:22px}.js .nav{display:none}.js .nav.is-open{display:flex}}
@media(max-width:760px){.header-inner{min-height:103px}.brand img{width:250px}.brand{max-width:calc(100% - 84px)}.frameworks{grid-template-columns:repeat(2,1fr)}}

/* Logotipo blanco completo en el faldón. */
.footer-brand{display:inline-block;max-width:100%;line-height:1}
.footer-brand img{display:block;width:290px;max-width:100%;height:auto;object-fit:contain}

.linkedin-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.linkedin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}.linkedin-card{border-top:2px solid #076633;padding:28px 0;display:flex;flex-direction:column;align-items:start}.linkedin-card h3{font-size:1.5rem;line-height:1.3;margin:18px 0}.linkedin-card p{color:#43594e}.linkedin-card .text-link{margin-top:auto}.linkedin-section .lead{max-width:760px}@media(max-width:760px){.linkedin-grid{grid-template-columns:1fr;gap:12px}.linkedin-heading{display:block}.linkedin-heading>.text-link{display:inline-block;margin-top:16px}}

