/* Sistema editorial compartido para Servicios — hereda los tokens de cada página. */
:root{
  --editorial-ink:#06080f;
  --editorial-blue:#5b5ef4;
  --editorial-cyan:#0e9fcb;
  --editorial-paper:#f7f9fd;
  --editorial-line:rgba(15,23,42,.1);
  --editorial-shadow:0 22px 64px rgba(19,35,75,.1);
}
body{font-size:16px;letter-spacing:0}
body:not(.dark){--bg-alt:var(--editorial-paper);--border:#dce3ee;--text:#0b1223;--text2:#3d4a60;--text3:#667085;--cardsh:0 1px 0 rgba(15,23,42,.04);--hoversh:var(--editorial-shadow)}
.sw{max-width:1200px}
.nav{padding:18px 0}
.nav.scrolled{padding:11px 0;background:color-mix(in srgb,var(--navbg) 92%,transparent);box-shadow:0 12px 36px rgba(6,8,15,.07)}
.ndrop{border-radius:8px;padding:7px;box-shadow:0 24px 70px rgba(6,8,15,.16)}
.ndi,.ndi-all,.nml,.nml-sub,.nml-cta,.nml-sup{border-radius:6px}
.nlogo img,.nmode,.nburger,.ncta,.nsup,.bprim,.bsec{border-radius:6px}
.shero{min-height:620px;display:flex;align-items:center;padding:126px 0 66px;background:linear-gradient(150deg,#f9fbff 0%,#f0f4ff 54%,#eaf8fc 100%);border-bottom:1px solid var(--border)}
body.dark .shero{background:linear-gradient(150deg,#06080f 0%,#0a1022 55%,#071722 100%)}
.shero::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--bb),transparent)}
.bggrid{opacity:.65;background-size:38px 38px;mask-image:linear-gradient(to bottom,black,transparent 92%)}
.orb1,.orb2{filter:blur(12px);opacity:.72}
.shw{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:76px}
.shero-in{max-width:850px}
.scrumb{font-size:12px;margin-bottom:24px}
.stag{border-radius:5px;padding:7px 11px;margin-bottom:22px;letter-spacing:.08em}
h1{font-size:clamp(46px,5vw,68px);line-height:1.01;letter-spacing:0;max-width:850px;margin-bottom:24px}
.h1sub{letter-spacing:0}
.shsub{font-size:18px;line-height:1.62;max-width:680px;color:var(--text2)}
.shctas{margin:28px 0 24px}
.bprim,.bsec{min-height:48px;padding:13px 22px}
.bprim{box-shadow:0 12px 32px var(--bs)}
.shfeats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--border);padding-top:20px;max-width:700px}
.shfeat{align-items:flex-start;padding-right:18px;font-size:13.5px;line-height:1.45}
.shfeat-ck{border-radius:5px;width:20px;height:20px}
.htrust{padding-top:2px}
.phone,.erp,.wcc,.bw,.ide,.cc,.dsh,.vf-inv,.mshow-imgwrap{border-radius:8px!important;box-shadow:0 34px 80px rgba(35,52,95,.18)!important;transform:perspective(1200px) rotateY(-2deg);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.phone:hover,.erp:hover,.wcc:hover,.bw:hover,.ide:hover,.cc:hover,.dsh:hover,.vf-inv:hover,.mshow-imgwrap:hover{transform:perspective(1200px) rotateY(0) translateY(-4px);box-shadow:0 40px 95px rgba(35,52,95,.24)!important}
body.dark .phone,body.dark .erp,body.dark .wcc,body.dark .bw,body.dark .ide,body.dark .cc,body.dark .dsh,body.dark .vf-inv,body.dark .mshow-imgwrap{box-shadow:0 34px 90px rgba(0,0,0,.55)!important}
.section{padding:82px 0}
.section.alt{background:var(--bg-alt);border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}
.shead{max-width:820px;margin-bottom:38px}
.shead.left{max-width:620px}
.seyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.12em;margin-bottom:18px}
.seyebrow::before{content:"";width:26px;height:1px;background:var(--brand)}
h2{font-size:clamp(34px,4vw,50px);line-height:1.08;letter-spacing:0;margin-bottom:20px}
.sdesc{font-size:17px;line-height:1.65}
.two{gap:52px}
.prose h3{font-size:30px;line-height:1.15;letter-spacing:0;margin-bottom:18px}
.prose p{line-height:1.7}
.grid3,.inc-grid,.prob-grid{gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.grid4,.steps{gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.gcard,.inc-card,.prob-card,.vcard,.step{border:0!important;border-radius:0!important;box-shadow:none!important;padding:26px;background:var(--surface);position:relative}
.gcard::before,.inc-card::before,.vcard::before,.step::before{content:"";position:absolute;left:0;top:0;width:0;height:2px;background:var(--gbtn);transition:width .35s}
.gcard:hover::before,.inc-card:hover::before,.vcard:hover::before,.step:hover::before{width:100%}
.gcard:hover,.inc-card:hover,.vcard:hover{transform:none;background:color-mix(in srgb,var(--surface) 92%,var(--ba))}
.gico,.inc-ico,.svc-ic,.seg-ic{border-radius:6px;box-shadow:0 10px 26px var(--bs)}
.vic{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--ba);border:1px solid var(--bb);border-radius:6px;margin-bottom:14px}
.grid4 .vh,.steps .step-h{margin-bottom:8px;line-height:1.25}
.grid4 .vp,.steps .step-p{font-size:14px;line-height:1.55}
.midcard,.cmpc,.dualc,.approach,.seg,.svc-card,.faqi{border-radius:8px;box-shadow:none}
.midcard{padding:38px;border-left:3px solid var(--brand)}
.midrow-ic,.shfeat-ck,.svc-feat-ck,.mshow-hic,.mshow-k{border-radius:5px}
.cmp,.dual{gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.cmpc,.dualc{border:0;border-radius:0;padding:32px}
.cmpc.good,.dualc.ent{box-shadow:none;border-top:3px solid var(--brand)}
.integ{gap:8px;max-width:940px}
.ichip{border-radius:5px;padding:12px 18px;box-shadow:none}
.cifras{border-radius:8px;padding:64px 48px;background:linear-gradient(135deg,#06080f,#10172c 62%,#08222c)}
.faq-wrap{max-width:900px;gap:8px}
.faqi{border-left:3px solid transparent}
.faqi.open{border-left-color:var(--brand)}
.faqq{padding:24px 28px}
.midcta,.ctaband{border-radius:8px;background:linear-gradient(135deg,#090d19 0%,#151d39 58%,#073040 100%);box-shadow:0 30px 80px rgba(6,8,15,.22)}
.midcta{padding:42px 46px}
.ctaband{padding:78px 52px}
.ctatitle{font-size:clamp(34px,4vw,48px);letter-spacing:0}
.ctaband .bprim,.midcta .bprim{color:#3036ad}
.cta-sec{padding-bottom:120px}
footer{padding-top:76px}
/* Portada /Servicios */
.svcs-grid{gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.svc-card{border:0;border-radius:0;padding:34px;box-shadow:none}
.svc-card:hover{transform:none;background:color-mix(in srgb,var(--surface) 92%,var(--ba));box-shadow:none}
.svc-card.reveal.in:hover{transform:none}
.approach{padding:38px 42px;margin-bottom:76px;border-left:3px solid var(--brand)}
.approach-t{font-size:26px;letter-spacing:0}
.area{position:relative;margin-bottom:0;padding:62px 0;border-top:1px solid var(--border);scroll-margin-top:90px}
.area:first-of-type{border-top:0}
.area-head{display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px;margin-bottom:24px}
.area-n{font-size:58px;letter-spacing:0}
.area-h{font-size:clamp(30px,3.5vw,44px);letter-spacing:0;margin:2px 0 12px}
.area-p{font-size:16.5px;max-width:850px}
.area-caps,.area-grid{margin-left:96px}
.area-cap,.approach-steps span{border-radius:5px}
.area-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;background:transparent;border:0;border-radius:0;overflow:visible}
.area-grid .svc-card{min-height:100%;border:1px solid var(--border);border-radius:8px}
.segs{gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.seg{border:0;border-radius:0;padding:38px}
.seg:hover{transform:none;background:color-mix(in srgb,var(--surface) 92%,var(--ba));box-shadow:none}
/* Catálogo compacto de servicios */
.services-overview{margin-bottom:28px;display:flex;justify-content:space-between;align-items:end;gap:24px}
.services-overview .sech{margin-bottom:8px}
.services-overview .sechp{max-width:720px}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:58px}
.service-tile{min-width:0;display:flex;flex-direction:column;min-height:230px;padding:24px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);transition:border-color .25s,background .25s,transform .25s}
.service-tile:hover{border-color:var(--bb);background:color-mix(in srgb,var(--surface) 92%,var(--ba));transform:translateY(-3px)}
.service-tile-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.service-tile-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:6px;background:var(--ba);border:1px solid var(--bb);font-size:19px}
.service-tile-area{font-family:'Space Grotesk',sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);text-align:right}
.service-tile h3{font-family:'Space Grotesk',sans-serif;font-size:20px;line-height:1.16;letter-spacing:0;margin:0 0 9px;color:var(--text)}
.service-tile p{font-size:13.5px;line-height:1.52;color:var(--text2);margin:0 0 18px;flex:1}
.service-tile-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:17px}
.service-tile-tags span{font-size:11px;font-weight:600;padding:4px 7px;border-radius:4px;background:var(--ba);color:var(--brand)}
.service-tile-go{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;color:var(--brand)}
/* Movimiento */
@media(prefers-reduced-motion:no-preference){
  .section .shead,.section .two,.section .grid3,.section .grid4,.section .cmp,.section .dual,.section .cifras,.section .faq-wrap,.area{animation:editorial-in .7s both;animation-timeline:view();animation-range:entry 5% cover 28%}
  @keyframes editorial-in{from{opacity:.25;transform:translateY(28px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(max-width:1024px){
  .shero{min-height:auto}.shw{grid-template-columns:minmax(0,1fr);gap:42px}.shw>*{min-width:0;max-width:100%}.shw>div:last-child{max-width:620px;width:100%;margin:0 auto}.shfeats{max-width:none}.two{gap:40px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  .sw,.nw,.fw{padding-left:22px;padding-right:22px}.shero{padding:108px 0 52px}.section{padding:58px 0}.shw{gap:34px}h1{font-size:38px;line-height:1.06;max-width:100%;overflow-wrap:anywhere}.gr{-webkit-box-decoration-break:clone;box-decoration-break:clone}.shsub{font-size:16.5px;line-height:1.58;max-width:100%;overflow-wrap:anywhere}.shfeats{grid-template-columns:1fr;gap:9px}.shfeat{padding-right:0}.shead{text-align:left;margin-left:0;margin-bottom:28px}.seyebrow{margin-bottom:12px}.seyebrow::before{width:18px}h2{font-size:32px;margin-bottom:14px}.grid3,.inc-grid,.prob-grid{grid-template-columns:1fr!important}.grid4,.steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}.two{gap:28px}.cmp,.dual{display:grid;grid-template-columns:1fr}.ctaband{padding:46px 24px}.midcta{padding:30px 24px}.area{padding:46px 0}.area-head{grid-template-columns:1fr;gap:6px;margin-bottom:18px}.area-n{font-size:34px}.area-caps,.area-grid{margin-left:0}.area-grid{grid-template-columns:1fr}.approach{padding:26px 22px;margin-bottom:38px}.phone,.erp,.wcc,.bw,.ide,.cc,.dsh,.vf-inv,.mshow-imgwrap{transform:none!important;max-width:100%}.cta-sec{padding-bottom:64px}.services-overview{align-items:flex-start;flex-direction:column}.services-grid{grid-template-columns:1fr 1fr}.service-tile{min-height:215px;padding:20px}
}
@media(max-width:480px){
  h1{font-size:33px}.section{padding:52px 0}h2{font-size:29px}.shero{padding-bottom:48px}.shctas{margin:24px 0 20px}.shctas .bprim,.shctas .bsec{width:100%;justify-content:center}.gcard,.inc-card,.prob-card,.svc-card{padding:22px 20px}.vcard,.step{padding:18px 16px}.grid4 .vic{width:32px;height:32px;margin-bottom:11px}.grid4 .vh,.steps .step-h{font-size:15px}.grid4 .vp,.steps .step-p{font-size:13px;line-height:1.45}.cmpc,.dualc{padding:25px 20px}.ctatitle{font-size:30px}.area-h{font-size:29px}.services-grid{grid-template-columns:1fr}.service-tile{min-height:0}.service-tile p{margin-bottom:14px}
}
