:root{--so-ink:#132638;--so-blue:#206EF3;--so-paper:#F7F6F2;--so-line:rgba(19,38,56,.13);--so-muted:#667581}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.services-overview-page{margin:0;background:#fff;color:var(--so-ink);font-family:var(--font-body);overflow-x:hidden}.so-shell{width:min(1240px,calc(100% - 72px));margin:0 auto}.so-eyebrow{display:block;font:500 .75rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.so-hero{position:relative;isolation:isolate;min-height:660px;display:flex;align-items:flex-end;padding:150px 0 92px;overflow:hidden;background:#02070D;color:#F7FAFD}.so-hero__texture{position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 78% 30%,rgba(32,110,243,.22),transparent 27%),radial-gradient(circle at 64% 78%,rgba(117,103,232,.14),transparent 30%),linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px);background-size:auto,auto,100% 76px}.so-hero .so-eyebrow{color:#8FC0FF}.so-hero h1{max-width:950px;margin:25px 0 0;font:400 clamp(4rem,8vw,118px)/.9 var(--font-heading);letter-spacing:-.065em}.so-hero p{max-width:780px;margin:38px 0 0;color:rgba(237,244,252,.7);font-size:clamp(1.0625rem,1.55vw,1.3125rem);line-height:1.6}.so-capabilities{padding:110px 0 130px;background:var(--so-paper)}.so-section-head{display:grid;grid-template-columns:190px 1fr;gap:60px;align-items:start;margin-bottom:54px}.so-section-head .so-eyebrow{padding-top:10px;color:#397BCB}.so-section-head h2{max-width:850px;margin:0;font:400 clamp(2.625rem,4.7vw,70px)/1 var(--font-heading);letter-spacing:-.05em}.so-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.so-card{position:relative;isolation:isolate;min-height:390px;display:flex;flex-direction:column;justify-content:flex-end;padding:42px;border:1px solid var(--so-line);border-radius:22px;background:#fff;color:var(--so-ink);overflow:hidden;text-decoration:none;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.so-card:hover{transform:translateY(-4px);border-color:rgba(32,110,243,.32);box-shadow:0 24px 60px rgba(18,39,61,.1)}.so-card__number{position:absolute;z-index:-1;right:28px;top:4px;color:rgba(32,110,243,.07);font:400 9.375rem/1 var(--font-body);letter-spacing:-.08em}.so-card__category{color:#467AB6;font:500 .75rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.so-card h3{max-width:540px;margin:16px 0 0;font:500 clamp(2.125rem,3.6vw,54px)/1 var(--font-heading);letter-spacing:-.045em}.so-card p{max-width:480px;margin:17px 0 0;color:var(--so-muted);font-size:.875rem;line-height:1.55}.so-card i{position:absolute;right:36px;bottom:37px;color:var(--so-blue);font-style:normal;font-size:1.25rem;transition:transform .25s ease}.so-card:hover i{transform:translate(3px,-3px)}.so-contact{padding:110px 0;background:#071A2D;color:#F7FAFD}.so-contact__inner{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:end}.so-contact .so-eyebrow{color:#88BBFA}.so-contact h2{margin:20px 0 0;font:400 clamp(2.875rem,5vw,76px)/.98 var(--font-heading);letter-spacing:-.055em}.so-contact p{max-width:720px;margin:24px 0 0;color:rgba(237,244,252,.68);font-size:1rem;line-height:1.6}.so-contact a{display:inline-flex;align-items:center;gap:12px;min-height:50px;padding:0 23px;border-radius:999px;background:var(--so-blue);color:#fff;font-size:.8125rem;font-weight:500;text-decoration:none;white-space:nowrap}.so-contact a span{transition:transform .25s}.so-contact a:hover span{transform:translateX(3px)}
@media(max-width:767px){.so-shell{width:min(100% - 40px,720px)}.so-hero{min-height:580px;padding:130px 0 70px}.so-section-head{grid-template-columns:1fr;gap:18px}.so-grid{grid-template-columns:1fr}.so-card{min-height:330px}.so-contact__inner{grid-template-columns:1fr;align-items:start}.so-contact a{justify-self:start}}
@media(max-width:479px){.so-shell{width:calc(100% - 28px)}.so-hero{min-height:540px;padding:116px 0 60px}.so-hero h1{font-size:3.625rem}.so-hero p{font-size:.9375rem}.so-capabilities{padding:72px 0 84px}.so-section-head{margin-bottom:34px}.so-section-head h2{font-size:2.625rem}.so-grid{gap:12px}.so-card{min-height:286px;padding:28px 24px;border-radius:17px}.so-card__number{right:16px;font-size:7rem}.so-card h3{font-size:2.375rem}.so-card p{padding-right:28px;font-size:.8125rem}.so-card i{right:23px;bottom:27px}.so-contact{padding:78px 0}.so-contact h2{font-size:3rem}}

/* Hero compacto + ticker editorial continuo. */
.so-hero{min-height:615px;display:block;padding:112px 0 48px}
.so-hero>.so-shell{min-height:455px;display:flex;flex-direction:column;align-items:flex-start}
.so-hero h1{margin-top:17px;font-size:clamp(3.625rem,7vw,6rem)}
.so-hero .so-hero__lead{max-width:850px;margin:25px 0 0;color:#F2F6FA;font-size:clamp(1rem,1.35vw,1.1875rem);line-height:1.5}
.so-hero .so-hero__body{max-width:940px;margin:25px 0 0;color:rgba(237,244,252,.66);font-size:.8438rem;line-height:1.6}
.so-ticker{width:100%;margin-top:auto;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.so-ticker__track{display:flex;width:max-content;animation:soTicker 52s linear infinite;will-change:transform}
.so-ticker__group{display:flex;flex-shrink:0;gap:8px;padding-right:8px}
.so-ticker span{display:block;padding:7px 11px;border:1px solid rgba(214,229,247,.18);border-radius:999px;background:rgba(255,255,255,.035);color:rgba(238,244,251,.68);font:500 .75rem var(--font-mono);letter-spacing:.06em;white-space:nowrap}
.so-capabilities{padding-top:72px}
@keyframes soTicker{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.so-ticker__track{animation-play-state:paused}}
@media(max-width:767px){.so-hero{min-height:650px;padding:104px 0 42px}.so-hero>.so-shell{min-height:504px}}
@media(max-width:479px){.so-hero{min-height:660px;padding:96px 0 34px}.so-hero>.so-shell{min-height:530px}.so-hero h1{font-size:3.375rem}.so-hero .so-hero__lead{margin-top:25px;font-size:.9375rem}.so-hero .so-hero__body{margin-top:22px;font-size:.7812rem;line-height:1.55}.so-ticker{margin-top:auto}.so-capabilities{padding-top:42px}}

/* Capacidades: proporción horizontal compacta. */
.so-card{min-height:250px;justify-content:flex-start;padding:30px 36px}
.so-card__number{top:0;right:25px;font-size:7rem}
.so-card h3{margin-top:12px}
.so-card p{margin-top:12px;padding-right:42px}
.so-card i{top:29px;right:31px;bottom:auto}
@media(max-width:767px){.so-card{min-height:230px}}
@media(max-width:479px){.so-card{min-height:220px;padding:24px}.so-card__number{right:14px;font-size:5.5rem}.so-card h3{margin-top:11px}.so-card p{margin-top:10px}.so-card i{top:23px;right:22px}}

/* Identidad cromática por capacidad. */
.so-card{transition:background-color .23s ease,transform .23s ease,border-color .23s ease,box-shadow .23s ease}
.so-card__number{transition:color .23s ease}
.so-card:nth-child(1):is(:hover,:focus-visible,:active){background:#E6DFF2;border-color:#B9AAD4}
.so-card:nth-child(2):is(:hover,:focus-visible,:active){background:#DCEEF1;border-color:#A4CCD4}
.so-card:nth-child(3):is(:hover,:focus-visible,:active){background:#E0E6E2;border-color:#B4C1BA}
.so-card:nth-child(4):is(:hover,:focus-visible,:active){background:#EEDDE1;border-color:#D4ADB7}
.so-card:nth-child(1):is(:hover,:focus-visible,:active) .so-card__number{color:rgba(112,78,160,.13)}
.so-card:nth-child(2):is(:hover,:focus-visible,:active) .so-card__number{color:rgba(36,130,151,.13)}
.so-card:nth-child(3):is(:hover,:focus-visible,:active) .so-card__number{color:rgba(70,103,84,.13)}
.so-card:nth-child(4):is(:hover,:focus-visible,:active) .so-card__number{color:rgba(157,83,102,.13)}
.so-card:is(:hover,:focus-visible,:active){transform:translateY(-2px);box-shadow:0 16px 38px rgba(18,39,61,.09)}
@media(prefers-reduced-motion:reduce){.so-card,.so-card__number{transition:none}}
