/* SODIGITION v1.0.0 | Diseño original, sin librerías ni fuentes remotas.
   Escala tipográfica fluida, grids adaptativos, accesibilidad y movimiento reducido. */
:root{color-scheme:light;--navy:#101e32;--navy-2:#142741;--navy-3:#1a3557;--blue:#2187ed;--blue-dark:#166dd1;--orange:#ff782b;--ink:#152438;--slate:#54657a;--soft:#f3f7fc;--white:#fff;--line:#dce6ef;--shadow:0 20px 60px rgba(18,41,70,.09);--radius:22px;--content:1200px;--header:88px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.65;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin-top:0}h1,h2,h3,h4{line-height:1.14;letter-spacing:-.04em;font-weight:800}h1{font-size:clamp(2.85rem,6vw,5.6rem)}h2{font-size:clamp(2.2rem,4.1vw,4rem)}h3{font-size:1.31rem;letter-spacing:-.025em}p{margin-bottom:1rem}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img,svg{max-width:100%}img{display:block}ul{padding-left:1.3rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}::selection{background:#d4e7ff;color:var(--navy)}.container{width:min(var(--content),calc(100% - 48px));margin-inline:auto}.small-muted{font-size:.86rem;color:#a5b7ca}.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;vertical-align:middle}.skip-link{position:fixed;z-index:999;top:-100px;left:15px;background:white;color:var(--navy);padding:14px 20px}.skip-link:focus{top:10px}.preview-bar{background:#fff3ca;color:#492f00;padding:11px 20px;text-align:center;font-size:.88rem;border-bottom:2px solid #d89912}.topline{background:#091728;color:#cedff0;font-size:.78rem}.topline-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:37px}.topline .icon{width:14px;height:14px;margin-right:5px;color:#7abaff}.topline a:hover{color:white}.topline-sep{margin:0 13px;color:#526a83}.site-header{z-index:50;position:sticky;top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border-bottom:1px solid #e8edf4}.nav-row{min-height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;flex:none;overflow:hidden}.brand img{width:214px;height:68px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:clamp(.5rem,1.25vw,1.45rem)}.main-nav>a{white-space:nowrap;font-weight:700;font-size:.84rem;color:#3a4960;transition:color .2s}.main-nav>a:hover,.main-nav>a.is-active{color:var(--blue-dark)}.main-nav>a.nav-support{display:inline-flex;align-items:center;gap:.48rem;padding:12px 17px;border:1px solid #b9d9fa;border-radius:12px;color:#15599c;background:#edf6ff}.main-nav>a.nav-support:hover{background:#dceeff}.nav-support .icon{width:17px;height:17px}.nav-toggle{display:none;border:1px solid var(--line);padding:11px;border-radius:12px;background:white;color:var(--navy)}.nav-toggle .icon{display:block;width:23px;height:23px}
.eyebrow{font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.19em;color:#196bc0;display:inline-flex;align-items:center;gap:10px}.eyebrow::before{content:"";display:inline-block;width:28px;height:2px;background:var(--orange)}.eyebrow--light{color:#9bc7ff}.eyebrow--light::before{background:var(--orange)}.text-accent{color:var(--blue)}.text-orange{color:var(--orange)}.section{padding:clamp(72px,8vw,124px) 0}.section--soft{background:var(--soft)}.section--dark{background:var(--navy);color:white}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head h2{max-width:820px;margin:15px 0 0}.section-head p{max-width:430px;color:var(--slate);margin:8px 0}.section--dark .section-head p{color:#b5c9db}.section-intro{max-width:650px;color:var(--slate);font-size:1.08rem}.section-intro--light{color:#baccde}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:53px;border-radius:12px;padding:12px 23px;font-size:.93rem;font-weight:800;border:1px solid transparent;transition:transform .22s,background .22s,border-color .22s,box-shadow .22s;text-align:center}.btn:hover{transform:translateY(-2px)}.btn .icon{width:18px;height:18px}.btn--blue{color:white;background:var(--blue-dark);box-shadow:0 14px 24px rgba(28,111,221,.18)}.btn--blue:hover{background:#0757b6}.btn--orange{color:#132037;background:var(--orange)}.btn--orange:hover{background:#ff965e}.btn--white{background:white;color:#11243a}.btn--outline{background:white;border-color:#c8d8e8;color:var(--navy)}.btn--outline:hover{border-color:var(--blue);background:#f2f8ff}.btn--glass{border-color:rgba(255,255,255,.33);background:rgba(255,255,255,.06);color:white}.btn--glass:hover{background:rgba(255,255,255,.15)}.text-link{display:inline-flex;gap:8px;align-items:center;color:var(--blue-dark);font-weight:800}.text-link .icon{width:17px;height:17px}.text-link:hover{gap:13px}.actions{display:flex;flex-wrap:wrap;gap:11px}.tag{display:inline-flex;border:1px solid #cce0f4;border-radius:100px;padding:6px 12px;font-size:.77rem;font-weight:760;color:#2169ad;background:#f0f7ff}
/* Portada: composición vectorial decorativa sin fotografías ni JS pesado */
.hero{background:var(--navy);color:white;position:relative;overflow:hidden;isolation:isolate;min-height:695px;display:flex;align-items:center;padding:88px 0 95px}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 80% at 83% 40%,#194d7a77,transparent 70%),radial-gradient(ellipse 25% 40% at 1% 85%,#0e61aa55,transparent 70%);z-index:-1}.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 5%,black 85%);z-index:-1}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:30px}.hero-copy{position:relative;z-index:2}.hero h1{margin:24px 0 19px;max-width:800px}.hero h1 em{font-style:normal;color:#83bdff}.hero p{max-width:585px;color:#bcd0e5;font-size:clamp(1.06rem,1.5vw,1.25rem);line-height:1.75}.hero .actions{margin-top:29px}.hero-proof{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}.hero-proof span{font-size:.81rem;color:#b8cce0;display:inline-flex;align-items:center;gap:7px}.hero-proof .icon{color:#6bdfd9;width:16px;height:16px}.hero-visual{position:relative;width:min(100%,580px);aspect-ratio:1/1;justify-self:center}.visual-core{position:absolute;inset:23%;border:1px solid #65b2f65e;border-radius:27px;background:linear-gradient(155deg,#183d68e8,#102035f2);box-shadow:inset 0 0 40px #3383cd18,0 35px 95px #03101e;transform:rotate(-8deg);display:flex;align-items:center;justify-content:center;animation:core-hover 9s ease-in-out infinite}.visual-core::before,.visual-core::after{content:"";position:absolute;inset:12px;border:1px solid #63b8fe42;border-radius:18px}.visual-core::after{inset:27px;border-style:dashed}.visual-core strong{font-weight:900;font-size:clamp(2rem,4.5vw,4rem);letter-spacing:-.08em;color:#e5f4ff;text-shadow:0 0 25px #2399ff88}.visual-core strong::after{content:".";color:var(--orange)}.orbit{position:absolute;border:1px solid #71baff4d;border-radius:50%;inset:8%;animation:orbit 35s linear infinite}.orbit--inner{inset:17%;border-style:dashed;animation-direction:reverse;animation-duration:42s}.orbit::before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;top:14%;left:14%;background:#65c5ff;box-shadow:0 0 28px #3fa8ff}.orbit--inner::before{top:79%;left:85%;background:var(--orange);box-shadow:0 0 23px #ff7a38}.orbit-node{position:absolute;border:1px solid #659cce79;background:#142c48d9;backdrop-filter:blur(10px);padding:10px 14px;border-radius:14px;color:#d9eafb;box-shadow:0 14px 30px #09132580;font-weight:700;font-size:.75rem;display:flex;align-items:center;gap:9px;white-space:nowrap}.orbit-node .icon{color:#8fc9ff}.orbit-node--1{top:8%;left:0}.orbit-node--2{top:31%;right:-4%}.orbit-node--3{bottom:12%;left:-5%}.orbit-node--4{bottom:2%;right:0}.orbit-node--2 .icon,.orbit-node--4 .icon{color:#ffa670}.glow{position:absolute;inset:23%;background:#2187ed55;filter:blur(80px);z-index:-1}.hero-scroll{position:absolute;bottom:25px;left:50%;font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:#8da6bf;transform:translateX(-50%)}
/* Banda de confianza */
.proof-strip{background:#eef5fd;border-bottom:1px solid #e1e9f2}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0;gap:22px}.proof-item{display:flex;align-items:center;gap:15px;padding-right:20px;border-right:1px solid #d4e2ef}.proof-item:last-child{border:0}.proof-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:white;color:var(--blue-dark);box-shadow:0 8px 20px #174b8c11}.proof-mark .icon{width:23px;height:23px}.proof-item strong{display:block;font-size:.99rem;line-height:1.25}.proof-item small{display:block;color:#687a8e;font-size:.78rem;margin-top:4px;line-height:1.45}
/* Split personas empresas */
.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.audience-card{border-radius:25px;padding:clamp(30px,4vw,53px);position:relative;overflow:hidden;min-height:417px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #d4e1f0;background:#f4f8fc;transition:transform .25s,box-shadow .25s}.audience-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.audience-card--dark{background:#152a45;color:white;border-color:#1f416a}.audience-card::after{content:"";position:absolute;width:240px;height:240px;right:-80px;top:-70px;border:35px solid #bcdafe48;border-radius:50%}.audience-card--dark::after{border-color:#3e8dd527}.audience-number{font-weight:900;color:#317bbd;font-size:.8rem;letter-spacing:.12em}.audience-card--dark .audience-number{color:#86baff}.audience-card h3{font-size:clamp(1.85rem,3vw,2.65rem);margin:15px 0}.audience-card p{max-width:420px;color:#53697e}.audience-card--dark p{color:#c2d2e3}.audience-card .audience-list{margin:9px 0 25px;padding:0;list-style:none;display:grid;gap:6px}.audience-list li{font-size:.91rem}.audience-list li:before{content:"↗";color:var(--blue);margin-right:9px}.audience-card--dark .audience-list li:before{color:var(--orange)}.audience-card .text-link{margin-top:auto}.audience-card--dark .text-link{color:#a5d0ff}
/* servicios */
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.service-card{background:white;border:1px solid #e0e8f1;border-radius:20px;min-height:263px;display:flex;flex-direction:column;justify-content:space-between;padding:23px;position:relative;transition:transform .23s,border-color .23s,box-shadow .23s;isolation:isolate}.service-card:hover{border-color:#a5cff8;box-shadow:var(--shadow);transform:translateY(-4px)}.service-card:focus-within{border-color:#72aeee}.service-card-top{display:flex;justify-content:space-between;align-items:flex-start}.service-icon{display:grid;place-items:center;color:#1c74c8;background:#eef6ff;border:1px solid #d7e9fd;width:52px;height:52px;border-radius:14px}.service-icon .icon{width:25px;height:25px}.card-arrow{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;color:#708ba4;border:1px solid #e6ecf3;transition:background .2s}.card-arrow .icon{width:16px;height:16px}.service-card:hover .card-arrow{background:var(--orange);color:var(--navy);border-color:var(--orange)}.service-card h3{font-size:1.14rem;margin:20px 0 10px}.service-card p{color:#66788a;font-size:.88rem;line-height:1.6;margin-bottom:0}.service-card .stretched-link{font-size:.83rem;font-weight:800;color:#146bb9;display:inline-flex;align-items:center;gap:8px;margin-top:18px}.service-card .stretched-link:after{content:"";position:absolute;inset:0}.service-card .stretched-link .icon{width:16px;height:16px}.service-card[hidden]{display:none!important}.catalog-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 0 30px}.search-field{min-width:min(100%,370px);position:relative}.search-field .icon{position:absolute;top:50%;transform:translateY(-50%);left:15px;color:#6c8397}.search-field input{width:100%;padding:15px 18px 15px 47px;border-radius:13px;border:1px solid #cdddec;background:white;color:var(--navy);outline-offset:3px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{border:1px solid #d2e0ef;border-radius:999px;padding:10px 17px;background:white;color:#39536c;font-weight:800;font-size:.85rem}.filter-btn.is-active,.filter-btn:hover{border-color:var(--navy);background:var(--navy);color:white}.empty-result{padding:40px;text-align:center;border:1px dashed #b8cadd;border-radius:17px}.section-more{text-align:center;margin-top:35px}
/* componentes y secciones */
.feature-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,80px);align-items:center}.feature-visual{background:#112741;border-radius:27px;padding:clamp(22px,4vw,40px);position:relative;overflow:hidden;min-height:390px;display:flex;flex-direction:column;justify-content:space-between}.feature-visual::before{content:"";position:absolute;width:350px;height:350px;border:1px solid #5da2df55;border-radius:50%;top:-160px;right:-140px;box-shadow:0 0 0 35px #5da2df19,0 0 0 75px #5da2df13}.feature-icon{border:1px solid #4e80b5;background:#244a735e;width:77px;height:77px;display:grid;place-items:center;border-radius:21px;color:#90c8ff}.feature-icon .icon{width:38px;height:38px}.feature-visual h3{font-size:2.3rem;max-width:430px;color:white;margin:0}.feature-visual p{color:#bad1e8;margin:0}.feature-copy h2{margin:15px 0 24px}.feature-copy p{color:#5b6d80}.check-list{list-style:none;margin:23px 0 30px;padding:0;display:grid;gap:13px}.check-list li{display:flex;gap:13px;align-items:flex-start;font-weight:650;color:#30485f}.check-list .icon{width:18px;height:18px;color:var(--blue-dark);margin-top:3px}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.process-item{padding:28px;border:1px solid #e3ebf4;border-radius:21px;background:white}.process-num{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#e8f3ff;color:#1268ba;font-weight:900}.process-item h3{margin:23px 0 11px}.process-item p{color:#647589;font-size:.93rem;margin:0}.quote-panel{border-radius:25px;background:#eaf4ff;padding:clamp(30px,5vw,59px);display:flex;align-items:center;justify-content:space-between;gap:25px}.quote-panel h2{font-size:clamp(1.8rem,3vw,2.75rem);margin:10px 0}.quote-panel p{margin:0;color:#4d6782}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.stat-row article{padding:29px;border:1px solid #dce7f2;border-radius:18px;background:white}.stat-row strong{font-size:2.6rem;letter-spacing:-.07em;line-height:1;color:#1974c8;display:block}.stat-row span{color:#64798c;font-weight:700;font-size:.9rem;display:block;margin-top:12px}.faq-list{display:grid;gap:12px}.faq-list details{background:white;border:1px solid #e1eaf2;border-radius:14px;padding:0 22px}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;padding:20px 0;font-weight:800}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--blue)}.faq-list details[open] summary::after{content:"−"}.faq-list details p{color:#63758b;margin:0;padding:0 0 22px}
/* Páginas interiores */
.page-hero{background:var(--navy);position:relative;overflow:hidden;color:white;padding:clamp(64px,7vw,103px) 0}.page-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 70%,#277bd240,transparent 42%),linear-gradient(110deg,transparent 55%,#ffffff05 55.1%,transparent 55.4%);pointer-events:none}.page-hero .container{position:relative;z-index:1}.page-hero h1{max-width:970px;margin:22px 0 16px;font-size:clamp(2.7rem,5.4vw,5rem)}.page-hero p{color:#c2d3e5;font-size:1.12rem;max-width:720px;margin-bottom:24px}.page-hero .eyebrow{color:#a3cfff}.breadcrumbs{display:flex;flex-wrap:wrap;gap:11px;color:#9eb4ca;font-size:.84rem;font-weight:600;margin-bottom:26px}.breadcrumbs a:hover{color:white}.breadcrumbs b{color:var(--orange)}.service-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:55px;align-items:start}.detail-section h2{font-size:clamp(2rem,3vw,2.9rem);margin:0 0 18px}.detail-section>p{font-size:1.07rem;color:#5b6f83}.item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;list-style:none;margin:22px 0 0;padding:0}.item-grid li{display:flex;align-items:flex-start;gap:9px;padding:14px;border:1px solid #e0eaf3;border-radius:12px;background:#fafcff;font-size:.91rem;color:#344b61;font-weight:600}.item-grid li .icon{color:#2587e5;width:17px;height:17px;margin-top:3px}.sticky-sidebar{position:sticky;top:calc(var(--header) + 30px);border-radius:24px;background:#f1f7ff;padding:30px;border:1px solid #d8e7f9}.sticky-sidebar .service-icon{margin-bottom:22px;background:white}.sticky-sidebar h3{font-size:1.53rem}.sticky-sidebar p{color:#526b83;font-size:.93rem}.sticky-sidebar .btn{width:100%;margin-top:10px}.detail-note{background:#fff6ee;border:1px solid #ffe1c9;border-radius:14px;padding:17px 19px;color:#70421d;font-size:.9rem;margin-top:28px}.quick-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px}.quick-categories a{padding:16px;border:1px solid #dce8f4;border-radius:12px;font-weight:760;font-size:.86rem;transition:background .2s}.quick-categories a:hover{background:#e8f4ff;color:#125a9e}
/* ubicación/contacto */
.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.location-card{padding:38px;border:1px solid #e0eaf3;background:white;border-radius:23px}.location-card .feature-icon{background:#eaf5ff;border-color:#d9eaff;color:var(--blue)}.location-card h3{font-size:1.7rem;margin:23px 0 8px}.location-card p{color:#61748b}.location-card .btn{margin-top:13px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.7fr);gap:31px;align-items:start}.form-card{border:1px solid #dfe8f1;box-shadow:var(--shadow);background:white;border-radius:25px;padding:clamp(25px,4vw,47px)}.form-card h2{font-size:2.3rem;margin:8px 0}.form-card>p{color:#62778c}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.field{display:flex;flex-direction:column;gap:7px}.field--wide{grid-column:1/-1}.field label{font-size:.86rem;font-weight:800;color:#283d52}.field input,.field select,.field textarea{border:1px solid #d0deeb;border-radius:11px;padding:13px 14px;min-height:50px;width:100%;color:#1a3047;background:white}.field textarea{min-height:148px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #badbff;border-color:#277bd2}.field small{font-size:.77rem;color:#627c92}.form-check{display:flex;gap:12px;align-items:flex-start;font-size:.87rem;line-height:1.55}.form-check input{width:20px;height:20px;flex:none;margin-top:3px;accent-color:var(--blue-dark)}.form-check a{color:#125eaf;text-decoration:underline}.form-status{padding:15px 18px;border-radius:12px;font-weight:700;margin:21px 0}.form-status--error{color:#7e2518;background:#fff0ec;border:1px solid #ffc9ba}.form-status--success{color:#185d3b;background:#e9fbef;border:1px solid #ade8c7}.form-disabled{padding:20px;background:#fff7e3;border:1px solid #f3d99b;border-radius:13px;color:#684900}.field-hp{position:absolute!important;left:-10000px!important;opacity:0!important;pointer-events:none!important}.contact-aside{display:grid;gap:17px}.contact-option{background:#f2f8ff;border:1px solid #daebfb;border-radius:19px;padding:27px}.contact-option--dark{background:var(--navy);color:white;border-color:var(--navy)}.contact-option h3{margin:15px 0 8px}.contact-option p{font-size:.9rem;color:#60768c}.contact-option--dark p{color:#b7cce1}.contact-option .text-link{font-size:.9rem}.contact-option--dark .text-link{color:#93caff}.legal-content{max-width:850px;margin-inline:auto}.legal-content h2{font-size:1.35rem;letter-spacing:-.025em;margin:33px 0 13px}.legal-content p,.legal-content li{color:#4f6378}.legal-content a{color:#0a68be;text-decoration:underline}.legal-alert{padding:20px;border-radius:15px;background:#fff4d9;color:#684718;border:1px solid #efcd85}.legal-alert p{color:#684718;margin:0}.legal-meta{font-size:.88rem;color:#638098}.legal-content ul{display:grid;gap:8px}.legal-content strong{color:var(--ink)}
/* Pie de página */
.footer-cta{background:#10243d;color:white;padding:75px 0;border-top:1px solid #25405e}.footer-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.footer-cta h2{font-size:clamp(2.15rem,4vw,3.7rem);margin:17px 0}.footer-cta h2 em{font-style:normal;color:#8dc7ff}.footer-cta p{max-width:600px;color:#b7c9da;margin:0}.cta-actions{display:grid;gap:12px;min-width:245px}.site-footer{background:#0a1728;color:#d5e1ee}.footer-grid{padding:71px 0 56px;display:grid;grid-template-columns:1.5fr .83fr .93fr 1.1fr;gap:36px}.footer-brand img{width:225px;height:76px;object-fit:contain;object-position:left center;filter:brightness(1.04)}.footer-brand>p{font-size:.88rem;color:#9db4ca;max-width:290px}.footer-claim{color:white!important;font-weight:800;font-size:1rem!important}.footer-grid h3{font-size:.98rem;letter-spacing:0;margin:8px 0 23px;color:#fff}.footer-grid ul{padding:0;margin:0;list-style:none;display:grid;gap:13px}.footer-grid li a{font-size:.85rem;color:#a9bdcf}.footer-grid li a:hover,.footer-bottom a:hover{color:white}.footer-contact li a{display:flex;align-items:center;gap:8px}.footer-contact .icon{width:16px;height:16px;color:#7dbbff}.social-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.social-list a{display:inline-flex;gap:5px;align-items:center;border:1px solid #2d435a;padding:7px 10px;border-radius:10px;font-size:.76rem;color:#d3e5f7}.social-list a:hover{background:#193957}.social-list .icon{width:13px;height:13px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #26394e;padding:23px 0;color:#8fa7be;font-size:.8rem}.footer-bottom>div{display:flex;gap:23px;flex-wrap:wrap}.floating-contact{position:fixed;z-index:39;right:24px;bottom:22px;display:flex;align-items:center;gap:9px;background:#168955;color:white;padding:13px 18px;border-radius:100px;font-size:.85rem;font-weight:800;box-shadow:0 14px 35px #0d482d4d;transition:transform .2s}.floating-contact:hover{transform:translateY(-4px)}.floating-contact .icon{width:19px;height:19px}
.reveal{opacity:1;transform:none}.js-animations .reveal{opacity:0;transform:translateY(19px);transition:opacity .65s,transform .65s}.js-animations .reveal.is-visible{opacity:1;transform:none}
@keyframes orbit{to{transform:rotate(360deg)}}@keyframes core-hover{50%{transform:rotate(-6deg) translateY(-13px)}}
@media(max-width:1190px){.brand img{width:175px;height:65px}.main-nav{gap:10px}.main-nav>a{font-size:.79rem}.main-nav>a.nav-support{padding:10px 12px}.service-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:30px}.footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:930px){:root{--header:76px}.topline-inner{justify-content:center}.topline-inner>div{display:none}.nav-toggle{display:block}.brand img{width:201px;height:65px}.main-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:white;padding:14px 24px 26px;box-shadow:0 22px 30px #1a293822;max-height:calc(100dvh - var(--header));overflow:auto}.main-nav.is-open{display:flex}.main-nav>a{font-size:1rem;padding:12px 4px}.main-nav>a.nav-support{margin-top:9px;justify-content:center}.hero{min-height:auto;padding:78px 0}.hero-grid{grid-template-columns:1fr .75fr}.hero-visual{width:100%}.orbit-node{font-size:.64rem;padding:8px}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-item:nth-child(2){border:0}.feature-panel{grid-template-columns:1fr 1fr;gap:30px}.feature-visual{min-height:330px}.footer-cta-inner{align-items:start}.contact-grid{grid-template-columns:1fr}.contact-aside{grid-template-columns:repeat(2,1fr)}.service-detail-grid{grid-template-columns:minmax(0,1fr)}.sticky-sidebar{position:static;max-width:none}.quick-categories{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.container{width:min(var(--content),calc(100% - 36px))}.hero-grid{grid-template-columns:1fr}.hero h1{max-width:550px}.hero-visual{width:min(90%,435px);margin-top:15px}.orbit-node{font-size:.7rem}.hero-scroll{display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid,.location-grid{grid-template-columns:1fr}.audience-card{min-height:340px}.feature-panel{grid-template-columns:1fr}.feature-visual{min-height:280px}.process-grid{grid-template-columns:1fr}.footer-cta-inner{flex-direction:column}.cta-actions{grid-template-columns:repeat(2,1fr);width:100%}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;align-items:start}.form-grid{grid-template-columns:1fr}.field--wide{grid-column:auto}.contact-aside{grid-template-columns:1fr}.item-grid{grid-template-columns:1fr}.quote-panel{flex-direction:column;align-items:start}.quote-panel .btn{width:100%}.stat-row{grid-template-columns:1fr}.quick-categories{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.container{width:calc(100% - 30px)}.topline{font-size:.68rem}.preview-bar{font-size:.76rem}.hero{padding:63px 0}.hero h1{font-size:clamp(2.55rem,11vw,3.7rem)}.hero p{font-size:1rem}.hero .actions{display:grid}.hero .actions .btn{width:100%}.hero-proof{margin-top:30px}.hero-visual{width:100%;max-width:350px}.orbit-node--2{right:-1%}.orbit-node--3{left:0}.proof-grid{gap:14px}.proof-item{padding-right:0;gap:9px}.proof-mark{width:37px;height:37px;flex:none}.proof-item strong{font-size:.82rem}.proof-item small{font-size:.68rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:222px}.section{padding:67px 0}.section-head{display:block}.section-head .text-link{margin-top:18px}.page-hero{padding:57px 0}.page-hero h1{font-size:2.7rem}.catalog-toolbar{align-items:stretch}.search-field{width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:27px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.cta-actions{grid-template-columns:1fr}.floating-contact{padding:12px;right:14px;bottom:14px}.floating-contact span{display:none}.footer-bottom>div{gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.js-animations .reveal{opacity:1;transform:none}}

/* BANDA EXCLUSIVA DE LA EDICIÓN DE PRUEBAS XAMPP */
.local-demo-banner{background:#ffde80;color:#1d2636;text-align:center;padding:9px 16px;font:700 12px/1.45 system-ui,sans-serif;letter-spacing:.025em;position:relative;z-index:100}



/* ================================================================
   SODIGITION v2.4 · Diseño equilibrado, sin imágenes repetidas.
   Se mantiene la tipografía y la identidad de la versión aprobada.
   Las ilustraciones SVG solo aparecen en portada y detalle.
   ================================================================ */

/* Tarjeta como enlace único: toda la superficie es clicable y accesible. */
.service-grid{gap:18px}
a.service-card{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:238px;padding:24px;border:1px solid #dce6f0;border-radius:20px;background:#fff;color:var(--ink);overflow:hidden;position:relative;text-decoration:none;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}
a.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
a.service-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px #10243d16;border-color:#a2c8f1}
a.service-card:hover:before,a.service-card:focus-visible:before{transform:scaleX(1)}
a.service-card:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
a.service-card[hidden]{display:none!important}
.service-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
a.service-card .service-icon{width:54px;height:54px;display:grid;place-items:center;color:#1975cb;background:#eaf5ff;border:1px solid #d4e9fa;border-radius:16px}
a.service-card .service-icon .icon{width:27px;height:27px}
a.service-card .card-arrow{display:grid;place-items:center;width:36px;height:36px;flex:none;border:1px solid #e0e9f2;border-radius:11px;color:#5882ac;background:#f6f9fc;transition:transform .25s,background .25s,color .25s}
a.service-card:hover .card-arrow{transform:translate(2px,-2px);color:#122540;background:#ff9d60;border-color:#ff9d60}
.service-card__body{display:grid;gap:8px}
.service-card__title{font-size:1.14rem;font-weight:850;line-height:1.28;letter-spacing:-.025em}
.service-card__summary{color:#5b7085;font-size:.87rem;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.service-card__bottom{display:flex;justify-content:space-between;align-items:center;gap:9px;border-top:1px solid #edf2f8;padding-top:12px;color:#467bac;text-transform:uppercase;letter-spacing:.07em;font-size:.7rem;font-weight:800}
.service-card__bottom span:last-child{font-size:1.05rem}

/* Portada: dos ilustraciones relevantes, no una imagen por tarjeta. */
.section--audiences .audience-card{display:flex;flex-direction:column;align-items:flex-start;min-height:374px;padding:clamp(28px,3.5vw,44px);isolation:isolate;text-decoration:none}
.section--audiences .audience-card::after{display:none}
.section--audiences .audience-card h3{max-width:75%;font-size:clamp(1.75rem,2.9vw,2.65rem);position:relative;z-index:1}
.section--audiences .audience-card p{max-width:56%;position:relative;z-index:1;line-height:1.55}
.section--audiences .audience-card .audience-illustration{position:absolute;width:61%;max-width:340px;height:auto;right:-16px;bottom:24px;opacity:.93;object-fit:contain;pointer-events:none;filter:drop-shadow(0 16px 28px #153b6720);animation:sodi-floating 9s ease-in-out infinite}
.section--audiences .audience-card--dark .audience-illustration{filter:drop-shadow(0 19px 25px #0006);animation-delay:-3s}
.section--audiences .audience-card__cta{position:relative;z-index:1;margin-top:auto;font-size:.84rem;font-weight:850;display:inline-flex;align-items:center;gap:8px;color:#1868b4}
.section--audiences .audience-card--dark .audience-card__cta{color:#a6d4ff}
.section--audiences .audience-card__cta .icon{width:17px;height:17px;transition:transform .2s}
.section--audiences .audience-card:hover .audience-card__cta .icon{transform:translateX(5px)}
.section--audiences .audience-card:focus-visible{outline:3px solid var(--orange);outline-offset:4px}

/* Proceso reducido a 3 decisiones, canales directos una sola vez. */
.section--workflow{padding-top:clamp(62px,7vw,104px);padding-bottom:clamp(62px,7vw,104px)}
.workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.workflow-grid>div{background:#fff;border:1px solid #dce7f1;border-radius:20px;padding:27px;min-height:174px;position:relative}
.workflow-grid>div>span{display:block;color:#2a83d6;font-size:.78rem;font-weight:900;letter-spacing:.16em;margin-bottom:17px}
.workflow-grid h3{font-size:1.26rem;margin:0 0 7px}
.workflow-grid p{color:#5c7288;font-size:.9rem;margin:0}
.workflow-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:27px}
.workflow-actions .btn{min-width:180px}

/* Cada detalle tiene UNA imagen contextual y el resto son accesos textuales. */
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.75fr);align-items:center;gap:clamp(25px,5vw,72px)}
.service-hero-copy{min-width:0}
.page-hero--service h1{font-size:clamp(2.4rem,4.8vw,4.65rem);overflow-wrap:anywhere}
.service-hero-visual{position:relative;display:grid;place-items:center;min-height:310px;border-radius:28px;background:radial-gradient(circle at 50% 50%,#316ea04a,#142b4659 66%,transparent 78%);overflow:hidden}
.service-hero-visual img{display:block;width:min(100%,520px);max-height:370px;object-fit:contain;animation:sodi-floating 9s ease-in-out infinite;filter:drop-shadow(0 16px 30px #0005)}
.detail-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:22px}
a.detail-item{position:relative;display:flex;align-items:center;gap:10px;min-height:73px;padding:14px 16px;border-radius:14px;background:#fafcff;border:1px solid #dce7f1;transition:transform .2s ease,box-shadow .2s,border-color .2s;color:#344b61}
a.detail-item:hover{transform:translateY(-2px);border-color:#9bc5ee;box-shadow:0 11px 24px #16385413}
a.detail-item:focus-visible{outline:3px solid var(--orange)}
.detail-item__icon{flex:none;color:#2187ed}
.detail-item__icon .icon{width:19px;height:19px}
.detail-item__text{font-size:.9rem;line-height:1.42;font-weight:700;min-width:0;overflow-wrap:anywhere}
.detail-item__arrow{display:grid;place-items:center;width:27px;height:27px;flex:none;border-radius:8px;margin-left:auto;background:#eaf4ff;color:#1f77c9}
.detail-item__arrow .icon{width:15px;height:15px}
.service-process ol{padding:0;list-style:none;display:grid;gap:18px;counter-reset:step;margin:24px 0}
.service-process li{display:grid;grid-template-columns:32px 1fr;column-gap:10px;counter-increment:step}
.service-process li:before{content:counter(step);grid-row:span 2;display:grid;place-items:center;width:29px;height:29px;background:#e0efff;border-radius:50%;color:#1868b4;font-size:.76rem;font-weight:900}
.service-process li strong{font-size:.9rem}
.service-process li span{font-size:.81rem;color:#61778c;line-height:1.4}

/* Contacto realmente distinto de la portada y sin bloques de CTA duplicados. */
.contact-intro{padding:clamp(45px,6vw,86px) 0 clamp(35px,4vw,60px);background:linear-gradient(145deg,#f2f8ff,#fff 70%)}
.contact-intro .breadcrumbs{color:#607b94}
.contact-intro .breadcrumbs b{color:#1e78c9}
.contact-intro h1{font-size:clamp(2.45rem,5.2vw,4.75rem);max-width:800px;margin:15px 0 15px}
.contact-intro p{max-width:670px;color:#61768a;font-size:1.04rem;margin:0}
.contact-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:29px}
.contact-shortcuts>a{display:flex;align-items:center;gap:13px;padding:16px 17px;background:#fff;border:1px solid #dbe8f4;border-radius:17px;box-shadow:0 10px 30px #1638540a;transition:transform .2s,box-shadow .2s,border-color .2s;min-width:0}
.contact-shortcuts>a:hover{transform:translateY(-3px);border-color:#92c3f1;box-shadow:0 15px 30px #16385416}
.contact-shortcuts>a>.icon:first-child{width:23px;height:23px;color:#237dd0}
.contact-shortcuts>a>.icon:last-child{width:16px;height:16px;color:#6e90b1;margin-left:auto}
.contact-shortcuts>a>span{display:grid;gap:2px;min-width:0}
.contact-shortcuts strong{font-size:.94rem}
.contact-shortcuts small{font-size:.78rem;color:#61778d}
.section--contact-form{padding-top:clamp(40px,5vw,72px)}
.contact-aside--compact{display:grid;grid-template-columns:1fr;gap:15px}
.contact-info-card{background:#10243d;border-radius:22px;color:#fff;padding:clamp(24px,3vw,34px)}
.contact-info-card .eyebrow{color:#9bcfff}
.contact-info-card h3{font-size:1.42rem;margin:15px 0 18px;color:#fff}
.contact-info-card p{color:#b6cbe0;font-size:.9rem}
.contact-info-card .text-link{color:#a8d0ff}
.contact-info-line{display:flex;align-items:center;gap:10px;padding:10px 0;font-weight:750;color:#e9f3ff;overflow-wrap:anywhere;font-size:.9rem}
.contact-info-line .icon{color:#8ac3ff;flex:none}
.contact-info-divider{height:1px;background:#39516c;margin:21px 0}
.contact-side-note{display:flex;gap:12px;align-items:flex-start;border-radius:15px;border:1px solid #d8e6f4;padding:18px;background:#fff}
.contact-side-note .icon{color:#2277c9;flex:none}
.contact-side-note p{font-size:.82rem;line-height:1.5;color:#5d7083;margin:0}

/* Todos los iconos sociales mantienen la misma paleta SODIGITION. */
.social-list{gap:10px}
.social-list a.social-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #33526f;border-radius:13px;padding:9px 12px;background:#142a45;color:#cfe6fd;font-size:.81rem;font-weight:800;transition:transform .2s,background .2s,border-color .2s}
.social-list a.social-pill:hover{background:#20456a;border-color:#629ed3;transform:translateY(-2px)}
.social-pill__icon{display:grid;place-items:center;width:29px;height:29px;flex:none;background:#286fae;border-radius:9px;color:#fff}
.social-pill__icon svg{width:17px;height:17px}

@keyframes sodi-floating{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(max-width:1050px){.contact-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.service-hero-grid{grid-template-columns:1fr .7fr}}
@media(max-width:930px){.service-hero-grid{grid-template-columns:1fr 1fr}.contact-shortcuts{grid-template-columns:1fr 1fr}.section--audiences .audience-card h3{max-width:90%}}
@media(max-width:720px){.service-hero-grid{grid-template-columns:1fr}.service-hero-visual{min-height:220px;max-height:330px}.service-hero-visual img{max-height:300px}.detail-card-grid{grid-template-columns:1fr}.contact-shortcuts{grid-template-columns:1fr}.workflow-grid{grid-template-columns:1fr}.workflow-grid>div{min-height:135px}.section--audiences .audience-card h3{max-width:70%}.section--audiences .audience-card p{max-width:56%}}
@media(max-width:480px){a.service-card{min-height:200px;padding:20px}.service-card__bottom{padding-top:9px}.service-hero-visual{min-height:200px}.section--audiences .audience-card{min-height:330px}.section--audiences .audience-card h3{max-width:85%}.section--audiences .audience-card p{max-width:80%}.section--audiences .audience-card .audience-illustration{width:55%;right:-30px;bottom:8px;opacity:.6}.contact-shortcuts>a{padding:14px 15px}.workflow-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.section--audiences .audience-illustration,.service-hero-visual img{animation:none!important}.service-card,.audience-card,.detail-item,.social-pill{transition:none!important}}

/* v2.5.0 refinamientos visuales */
.section-head--center{align-items:end}.section-head--center p{max-width:480px}
.split-grid--audiences{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.section--audiences{overflow:hidden}.section--audiences .section-head{margin-bottom:28px}
.section--audiences .audience-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:340px;padding:32px;border:1px solid #dce6f0;border-radius:28px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 18px 40px rgba(15,43,77,.06);overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.section--audiences .audience-card:hover{transform:translateY(-5px);box-shadow:0 24px 48px rgba(15,43,77,.1);border-color:#c5dbef}
.section--audiences .audience-card--dark{background:linear-gradient(180deg,#122b49,#0d223b);border-color:#1d3d60;color:#fff}.section--audiences .audience-card--dark p{color:#b5c9dc}
.audience-label{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#edf6ff;border:1px solid #dbeafb;color:#1e75c8;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.audience-card--dark .audience-label{background:#1a3b5f;border-color:#284d76;color:#9dccff}
.section--audiences .audience-card h3{font-size:clamp(2rem,3vw,3.15rem);line-height:1.02;max-width:300px;margin:18px 0 12px;letter-spacing:-.05em;position:relative;z-index:1}.section--audiences .audience-card p{max-width:280px;color:#5e7389;position:relative;z-index:1;margin-bottom:0}
.section--audiences .audience-card .audience-illustration{position:absolute;right:-18px;bottom:-10px;width:min(47%,290px);max-width:290px;opacity:.95;pointer-events:none;filter:drop-shadow(0 14px 24px rgba(20,62,109,.18));animation:sodi-floating-soft 6s ease-in-out infinite}.section--audiences .audience-card--dark .audience-illustration{filter:drop-shadow(0 14px 24px rgba(0,0,0,.28));animation-delay:-2.5s}
.audience-card__cta{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:#1c72c5;font-size:.88rem;font-weight:900;letter-spacing:.02em;position:relative;z-index:1}.audience-card--dark .audience-card__cta{color:#9fd1ff}.audience-card__cta .icon{width:16px;height:16px;transition:transform .2s}.audience-card:hover .audience-card__cta .icon{transform:translateX(4px)}
.section--audiences .audience-card::before{content:"";position:absolute;right:-90px;top:-90px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(33,135,237,.12),transparent 68%)}.section--audiences .audience-card--dark::before{background:radial-gradient(circle,rgba(92,172,255,.14),transparent 68%)}
.process-grid .process-item,.stat-row article,.service-grid .service-card,.contact-shortcuts>a,.proof-item{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.process-grid .process-item:hover,.stat-row article:hover,.proof-item:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(15,43,77,.08);border-color:#cbddec}
.section--workflow .workflow-actions{margin-top:30px}
.interactive-card{will-change:transform}
@keyframes sodi-floating-soft{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(-8px) translateX(4px)}}
@media(max-width:930px){.split-grid--audiences{grid-template-columns:1fr}.section--audiences .audience-card .audience-illustration{width:min(42%,240px)}}
@media(max-width:720px){.section-head--center{align-items:flex-start}.section--audiences .audience-card{min-height:300px;padding:28px}.section--audiences .audience-card h3{max-width:250px}.section--audiences .audience-card p{max-width:230px}.section--audiences .audience-card .audience-illustration{width:min(46%,200px);right:-8px;bottom:-4px}}
@media(max-width:480px){.section--audiences .audience-card h3{font-size:1.9rem;max-width:210px}.section--audiences .audience-card p{max-width:195px;font-size:.94rem}.section--audiences .audience-card .audience-illustration{width:min(43%,160px);opacity:.82}}
@media(prefers-reduced-motion:reduce){.section--audiences .audience-card .audience-illustration{animation:none!important}}

/* v2.6.0 ajuste de la sección inicial y nombres de ubicaciones */
.section--audiences .section-head{align-items:flex-end}
.section--audiences .section-head p{max-width:360px}
.section--audiences .audience-card{min-height:310px;padding:30px 30px 26px}.section--audiences .audience-card h3{max-width:290px;font-size:clamp(2rem,2.8vw,3rem);margin-bottom:10px}.section--audiences .audience-card p{max-width:295px}
.section--audiences .audience-card::before{right:-60px;top:-60px;width:170px;height:170px;opacity:.8}
.audience-card__visual{margin-top:auto;align-self:flex-end;position:relative;width:clamp(190px,36%,260px);height:124px;pointer-events:none}.audience-icon-panel{position:absolute;inset:0;border-radius:22px;background:linear-gradient(145deg,#16355a,#0f2540);border:1px solid rgba(72,131,191,.34);box-shadow:0 18px 34px rgba(11,33,58,.18);overflow:hidden}.audience-card--personal .audience-icon-panel{background:linear-gradient(145deg,#1a406d,#123057)}
.audience-icon-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:76px;height:76px;border-radius:22px;background:linear-gradient(145deg,#183b67,#0d223e);border:1px solid rgba(91,154,220,.42);color:#8acbff;box-shadow:0 12px 24px rgba(0,0,0,.22);animation:sodi-card-float 7s ease-in-out infinite}.audience-icon-wrap .icon{width:36px;height:36px}
.audience-card--personal .audience-icon-wrap{background:linear-gradient(145deg,#204977,#12345a);color:#69beff}.audience-card--dark .audience-icon-wrap{color:#aacfff}
.audience-dot,.audience-line{position:absolute;display:block;opacity:.82}.audience-dot{width:13px;height:13px;border-radius:50%;border:1.5px solid #4eb3ff;background:rgba(31,63,103,.25)}.audience-dot--1{right:16px;top:16px}.audience-dot--2{left:18px;bottom:16px;border-color:#ff8b44}
.audience-line{height:2px;background:linear-gradient(90deg,rgba(91,154,220,.05),rgba(91,154,220,.7),rgba(91,154,220,.05));transform-origin:left center}.audience-line--1{left:22px;right:88px;top:48px;transform:rotate(13deg)}.audience-line--2{left:88px;right:22px;bottom:42px;transform:rotate(-9deg)}
.audience-card--dark .audience-line{background:linear-gradient(90deg,rgba(127,183,255,.05),rgba(127,183,255,.62),rgba(127,183,255,.05))}
.audience-card--personal .audience-card__cta,.audience-card--dark .audience-card__cta{margin-top:18px}
@keyframes sodi-card-float{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-7px)}}
@media(max-width:930px){.section--audiences .section-head{align-items:flex-start}.audience-card__visual{width:210px;height:118px}}
@media(max-width:720px){.section--audiences .audience-card{min-height:286px;padding:26px}.section--audiences .audience-card p{max-width:100%}.audience-card__visual{width:180px;height:110px}}
@media(max-width:480px){.section--audiences .audience-card h3{max-width:210px}.audience-card__visual{width:160px;height:100px}.audience-icon-wrap{width:64px;height:64px}.audience-icon-wrap .icon{width:30px;height:30px}}


/* v2.7.0 · Tarjetas limpias: la superficie completa es el enlace.
   Sin microbotones «Entrar», flechas duplicadas ni etiquetas de audiencia
   dentro de las especialidades. El filtro sigue usando data-audience. */
.section--audiences .audience-card{cursor:pointer}
.section--audiences .audience-card p{margin-bottom:0}
.section--audiences .audience-card .audience-card__visual{margin-top:auto}
.section--audiences .audience-card:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.section--audiences .audience-card:focus-visible .audience-icon-panel,
.section--audiences .audience-card:hover .audience-icon-panel{border-color:#73b7f6;box-shadow:0 24px 42px rgba(11,33,58,.22)}
.service-grid a.service-card{min-height:192px;justify-content:flex-start;gap:18px;cursor:pointer}
.service-grid a.service-card .service-card__body{margin-top:auto}
.service-grid a.service-card:hover .service-icon,
.service-grid a.service-card:focus-visible .service-icon{background:#ddecff;border-color:#add0f4;transform:translateY(-2px)}
.service-grid a.service-card .service-icon{transition:background .24s,border-color .24s,transform .24s}
@media(max-width:480px){.service-grid a.service-card{min-height:176px}}
@media(prefers-reduced-motion:reduce){.service-grid a.service-card .service-icon{transition:none}}

/* v2.8.0 — dirección postal visible y legible en ambos puntos de atención. */
.location-address{font-style:normal;color:#4b647c;font-size:.99rem;line-height:1.65;margin:13px 0 22px;max-width:33ch;overflow-wrap:break-word;}
.location-card .actions{margin-top:auto;}
.location-card{display:flex;flex-direction:column;align-items:flex-start;}
@media(max-width:720px){.location-address{max-width:none;}}


/* v2.9.0 refinamiento de ubicaciones */
.location-grid{align-items:stretch}
.location-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.location-visual{width:100%;min-height:136px;border-radius:22px;margin-bottom:22px;overflow:hidden;position:relative;background:linear-gradient(145deg,#13365e,#0d2542);border:1px solid rgba(63,124,191,.28);box-shadow:0 18px 34px rgba(15,43,77,.08)}
.location-card--second .location-visual{background:linear-gradient(145deg,#18315a,#102744)}
.location-visual::before{content:'';position:absolute;right:-40px;top:-36px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(111,184,255,.18),transparent 65%)}
.location-visual__inner{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:22px 24px;color:#fff}
.location-chip{display:inline-flex;align-self:flex-start;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#9fd1ff}
.location-visual strong{font-size:1.3rem;letter-spacing:-.03em;margin-top:auto}
.location-visual__lines{position:absolute;right:22px;bottom:18px;width:118px;height:58px}
.location-visual__lines span{position:absolute;display:block;background:linear-gradient(90deg,rgba(97,170,243,.1),rgba(97,170,243,.85),rgba(97,170,243,.08));height:2px;border-radius:999px}
.location-visual__lines span:nth-child(1){left:0;right:24px;top:14px;transform:rotate(11deg)}
.location-visual__lines span:nth-child(2){left:28px;right:0;bottom:12px;transform:rotate(-10deg)}
.location-visual__lines span:nth-child(3){width:12px;height:12px;border-radius:50%;right:4px;top:6px;background:transparent;border:1.5px solid #ff8b44;box-shadow:none}
.location-card--second .location-chip{color:#ffd3b8}
.location-card--second .location-visual__lines span{background:linear-gradient(90deg,rgba(255,169,112,.08),rgba(255,169,112,.82),rgba(255,169,112,.08))}
.location-card--second .location-visual__lines span:nth-child(3){border-color:#79c8ff}
@media(max-width:720px){.location-visual{min-height:126px}.location-visual strong{font-size:1.14rem}}


/* v2.10.0 ajuste visual de ubicaciones */
.location-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:34px 34px 32px;border:1px solid #dfe8f1;background:#fff;border-radius:24px;box-shadow:0 14px 28px rgba(15,43,77,.05)}
.location-card--first{border-top:4px solid var(--blue)}
.location-card--second{border-top:4px solid var(--orange)}
.location-kicker{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:#f6f9fc;color:#5d748b;border:1px solid #e3ebf3;margin-bottom:18px}
.location-card h3{font-size:1.9rem;line-height:1.1;margin:0 0 14px;letter-spacing:-.04em}
.location-card--first h3{color:var(--blue)}
.location-card--second h3{color:var(--orange)}
.location-card .actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px}
.location-card .btn{margin-top:0}
.location-visual,.location-chip,.location-visual__inner,.location-visual__lines{display:none!important}
@media(max-width:720px){.location-card{padding:28px 24px 24px}.location-card h3{font-size:1.6rem}.location-kicker{margin-bottom:14px}}


/* v2.11.0 mejora de sección inicial de soluciones */
.section--audiences .section-head{margin-bottom:26px}
.section--audiences .section-head--center{align-items:flex-start}
.section--audiences .split-grid--audiences{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.section--audiences .audience-card{position:relative;min-height:322px;padding:34px 34px 30px;border:1px solid #dfe8f1;border-radius:26px;background:#fff;box-shadow:0 16px 30px rgba(15,43,77,.05);overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;transition:transform .26s ease, box-shadow .26s ease, border-color .26s ease}
.section--audiences .audience-card:hover{transform:translateY(-5px);box-shadow:0 24px 42px rgba(15,43,77,.08)}
.section--audiences .audience-card--personal{border-top:4px solid var(--blue)}
.section--audiences .audience-card--business{border-top:4px solid var(--orange)}
.section--audiences .audience-card::before{content:'';position:absolute;right:-38px;top:-38px;width:150px;height:150px;border-radius:50%;opacity:.9}
.section--audiences .audience-card--personal::before{background:radial-gradient(circle,rgba(46,130,235,.12),transparent 65%)}
.section--audiences .audience-card--business::before{background:radial-gradient(circle,rgba(255,140,66,.13),transparent 65%)}
.section--audiences .audience-card::after{content:'';position:absolute;left:34px;right:34px;bottom:26px;height:1px;background:linear-gradient(90deg,rgba(16,43,77,.08),rgba(16,43,77,.22),rgba(16,43,77,.08))}
.section--audiences .audience-label{background:#f7fbff;border:1px solid #e2edf8;color:#5b738d;font-size:.76rem}
.section--audiences .audience-card--business .audience-label{background:#fff8f2;border-color:#ffe1cc;color:#9e5b22}
.section--audiences .audience-card h3{font-size:clamp(2.15rem,3vw,3.2rem);line-height:1.02;letter-spacing:-.05em;margin:18px 0 12px;max-width:330px}
.section--audiences .audience-card--personal h3{color:var(--blue)}
.section--audiences .audience-card--business h3{color:var(--orange)}
.section--audiences .audience-card p{max-width:420px;color:#5c7187;margin-bottom:20px}
.audience-points{display:grid;gap:12px;margin-top:auto;padding:0;list-style:none;width:100%;max-width:420px}
.audience-points li{position:relative;padding-left:22px;color:#18314b;font-weight:700;line-height:1.45}
.audience-points li::before{content:'';position:absolute;left:0;top:.52em;width:9px;height:9px;border-radius:50%}
.audience-card--personal .audience-points li::before{background:var(--blue);box-shadow:0 0 0 5px rgba(46,130,235,.12)}
.audience-card--business .audience-points li::before{background:var(--orange);box-shadow:0 0 0 5px rgba(255,140,66,.16)}
.section--audiences .audience-card__visual,.section--audiences .audience-card__cta{display:none!important}
@media(max-width:930px){.section--audiences .split-grid--audiences{grid-template-columns:1fr}.section--audiences .audience-card{min-height:unset}}
@media(max-width:540px){.section--audiences .audience-card{padding:28px 24px 26px}.section--audiences .audience-card::after{left:24px;right:24px;bottom:22px}.section--audiences .audience-card h3{font-size:2rem}.audience-points li{font-size:.95rem}}

/* v2.12.0 — Tarjetas de audiencia: una descripción útil, sin etiquetas ni viñetas.
   Los recuadros completos siguen siendo enlaces, incluido el foco con teclado. */
.section--audiences .audience-card{min-height:290px;justify-content:center;padding:clamp(28px,3.4vw,42px);}
.section--audiences .audience-card h3{max-width:100%;margin:0 0 21px;font-size:clamp(2rem,3vw,3.25rem);line-height:1.1;overflow-wrap:break-word;}
.section--audiences .audience-card p{max-width:47ch;margin:0;padding-bottom:10px;font-size:clamp(.99rem,1.05vw,1.09rem);line-height:1.7;color:#495e75;}
.section--audiences .audience-card::after{left:clamp(28px,3.4vw,42px);right:auto;width:72px;bottom:25px;height:3px;border-radius:999px;background:var(--blue);}
.section--audiences .audience-card--business::after{background:var(--orange);}
.section--audiences .audience-card:focus-visible{outline:3px solid var(--orange);outline-offset:4px;}
@media(max-width:720px){.section--audiences .audience-card{min-height:235px;}.section--audiences .audience-card h3{font-size:clamp(1.9rem,7vw,2.6rem);}}
@media(prefers-reduced-motion:reduce){.section--audiences .audience-card{transition:none!important;transform:none!important;}}

/* v2.13.0: PYMEs + mejora del hero */
.actions--hero{gap:14px}
.btn--hero-choice{position:relative;min-width:248px;color:#ecf5ff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 28px rgba(4,16,29,.18);backdrop-filter:blur(8px)}
.btn--hero-choice:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.32)}
.btn--hero-choice::before{content:'';position:absolute;left:16px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%}
.btn--hero-choice{padding-left:36px;padding-right:24px}
.btn--hero-personal::before{background:var(--orange);box-shadow:0 0 0 6px rgba(255,140,66,.14)}
.btn--hero-pymes::before{background:#6db5ff;box-shadow:0 0 0 6px rgba(109,181,255,.14)}
.hero-visual{width:min(100%,620px)}
.visual-core{inset:24%;display:grid;place-items:center;animation:core-hover 10s ease-in-out infinite}
.visual-core img{display:block;width:min(62%,280px);height:auto;filter:drop-shadow(0 0 24px rgba(42,151,255,.18))}
.visual-core::before,.visual-core::after{content:"";position:absolute;inset:14px;border:1px solid #63b8fe36;border-radius:18px}.visual-core::after{inset:28px;border-style:dashed}
.orbit-node{padding:10px 14px;border-radius:14px;gap:8px}
.orbit-node--1{top:7%;left:2%}.orbit-node--2{top:28%;right:-1%}.orbit-node--3{bottom:16%;left:-3%}.orbit-node--4{bottom:4%;right:3%}
.orbit-node--5{top:50%;right:-2%}.orbit-node--6{top:16%;left:6%}.orbit-node--7{bottom:31%;right:7%}.orbit-node--8{bottom:23%;left:4%}
.orbit-node--5 .icon,.orbit-node--7 .icon{color:#8fc9ff}.orbit-node--6 .icon,.orbit-node--8 .icon{color:#ffa670}
@media(max-width:930px){.btn--hero-choice{min-width:220px}.orbit-node--2{right:0}.orbit-node--3{left:0}.orbit-node--5{right:1%}.orbit-node--7{right:4%}}
@media(max-width:720px){.actions--hero{display:grid;grid-template-columns:1fr}.btn--hero-choice{width:100%;min-width:0}.hero-visual{width:min(92%,440px)}.orbit-node{font-size:.64rem;padding:8px 10px}.orbit-node--1{top:3%;left:0}.orbit-node--2{top:21%;right:0}.orbit-node--3{bottom:16%;left:1%}.orbit-node--4{bottom:1%;right:1%}.orbit-node--5{top:43%;right:0}.orbit-node--6{top:12%;left:2%}.orbit-node--7{bottom:27%;right:5%}.orbit-node--8{bottom:23%;left:2%}.visual-core img{width:min(58%,220px)}}
@media(max-width:480px){.btn--hero-choice{font-size:.88rem}.orbit-node{font-size:.59rem;padding:7px 9px}.hero-visual{max-width:360px}.visual-core{inset:25%}.visual-core img{width:min(60%,180px)}}


/* v2.14.0 · Cotizaciones y formulario de servicio específico */
.footer-contact .footer-quote-item{margin-top:12px}
.footer-contact a.footer-quote-link{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 13px;border:1px solid #4a789e;border-radius:12px;background:#1d4165;color:#f1f8ff;font-weight:800;line-height:1.25;transition:background .2s,border-color .2s,transform .2s}
.footer-contact a.footer-quote-link:hover{background:#285783;border-color:#81b9eb;transform:translateY(-2px);color:#fff}
.footer-contact .footer-quote-link .icon{width:17px;height:17px;color:#a5d8ff;flex:none}
.footer-contact .footer-quote-link .icon:last-child{width:15px;height:15px;margin-left:auto}
#contact-detail-field{position:relative}
#contact-detail-field select:disabled{opacity:.65;background:#f1f5f9;cursor:not-allowed}
#contact-detail-field small{display:block;min-height:20px;margin-top:2px}
@media(prefers-reduced-motion:reduce){.footer-contact a.footer-quote-link{transition:none!important}.footer-contact a.footer-quote-link:hover{transform:none}}


/* v2.15.0 - ajustes visuales de WhatsApp, footer y bloque Nosotros */
.social-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.social-list a.social-icon-link{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;border:1px solid #33526f;background:#142a45;color:#d8ecff;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.social-list a.social-icon-link:hover{background:#20456a;border-color:#6aace1;transform:translateY(-2px)}
.social-list .social-icon-link__icon{display:grid;place-items:center}
.social-list .social-icon-link svg{width:18px;height:18px}
.footer-contact .footer-quote-item{margin-top:10px}
.footer-contact a.footer-text-link{display:inline-flex;align-items:center;gap:8px;color:#d7eaff;font-weight:800;font-size:.88rem;padding:0;border:0;background:none}
.footer-contact a.footer-text-link:hover{color:#ffffff;text-decoration:underline;text-underline-offset:4px}
.footer-contact .footer-text-link .icon{width:16px;height:16px;color:#7dbbff;flex:none}
.floating-contact .icon,.contact-shortcuts .icon,.workflow-actions .icon,.cta-actions .icon{width:18px;height:18px}
.feature-visual{padding:36px 34px;min-height:410px;gap:28px}
.feature-visual>div:last-child{display:grid;gap:16px;align-content:end;max-width:420px;position:relative;z-index:1}
.feature-visual h3{font-size:clamp(2rem,3vw,2.7rem);line-height:1.08;letter-spacing:-.04em;max-width:360px;margin:0}
.feature-visual p{max-width:360px;line-height:1.65}
@media(max-width:930px){.feature-visual{min-height:360px;padding:30px}.feature-visual h3{max-width:320px}}
@media(max-width:720px){.social-list{gap:10px}.social-list a.social-icon-link{width:46px;height:46px}.feature-visual{min-height:320px;padding:28px 24px;gap:22px}.feature-visual h3{font-size:2rem;max-width:none}.feature-visual p{max-width:none}}

/* v2.15.1 · Microajustes de legibilidad y semántica visual */
.feature-visual{justify-content:space-between;isolation:isolate}
.feature-visual>div:last-child{width:100%;max-width:100%;gap:12px}
.feature-visual h3{max-width:100%;font-size:clamp(1.7rem,2.25vw,2.18rem);line-height:1.16;letter-spacing:-.03em;text-wrap:balance;overflow-wrap:break-word}
.feature-visual p{max-width:100%;margin:0;line-height:1.55;font-size:.96rem}
.feature-visual::before{pointer-events:none}
.social-list{align-items:center}
.social-list a.social-icon-link{flex:0 0 48px;aspect-ratio:1;line-height:1}
.social-list a.social-icon-link:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.footer-contact .footer-quote-item{margin-top:0}
.footer-contact a.footer-text-link{justify-content:flex-start;line-height:1.5;text-decoration:none}
.footer-contact a.footer-text-link .icon{width:16px;height:16px;flex:none}
@media(max-width:720px){.feature-visual h3{font-size:clamp(1.65rem,6.5vw,2rem)}.social-list a.social-icon-link{flex-basis:46px}}


/* v2.16.4 | Nosotros: misma posición del título, descripción más separada.
   Se conserva el tamaño del panel y la ubicación del título; únicamente se baja
   un poco la descripción para que respire mejor. */
.feature-panel--about {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(30px, 5vw, 80px);
}
.feature-panel--about .feature-visual--about {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 410px;
  padding: 36px 34px;
  gap: 0;
  border-radius: 27px;
  justify-content: flex-start;
}
.feature-panel--about .feature-icon {
  position: relative;
  z-index: 1;
  margin-bottom: 30px;
}
.feature-visual--about > div:last-child {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 360px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-content: unset;
}
.feature-visual--about h3 {
  margin: 0;
  max-width: 100%;
  font-size: clamp(1.82rem, 2.12vw, 2.22rem);
  line-height: 1.18;
  letter-spacing: -.03em;
  text-wrap: balance;
  overflow-wrap: normal;
}
.feature-visual--about p {
  max-width: 100%;
  margin: 14px 0 0;
  color: #c4d6e8;
  font-size: .95rem;
  line-height: 1.62;
}
@media (max-width: 930px) {
  .feature-panel--about .feature-visual--about { min-height: 380px; padding: 32px 30px; }
  .feature-panel--about .feature-icon { margin-bottom: 26px; }
  .feature-visual--about h3 { font-size: clamp(1.72rem, 2.9vw, 2.02rem); }
  .feature-visual--about p { margin-top: 12px; }
}
@media (max-width: 720px) {
  .feature-panel--about { grid-template-columns: 1fr; gap: 32px; }
  .feature-panel--about .feature-visual--about { min-height: 340px; padding: 28px 27px; }
  .feature-panel--about .feature-icon { margin-bottom: 19px; }
  .feature-visual--about > div:last-child { max-width: 100%; }
  .feature-visual--about h3 { font-size: clamp(1.78rem, 5.1vw, 2.08rem); }
  .feature-visual--about p { font-size: .94rem; margin-top: 10px; }
}
@media (max-width: 380px) {
  .feature-panel--about .feature-visual--about { min-height: 330px; padding: 25px 23px; }
  .feature-panel--about .feature-icon { margin-bottom: 15px; }
  .feature-visual--about h3 { font-size: 1.72rem; }
  .feature-visual--about p { margin-top: 9px; }
}


/* v2.16.5 - botón flotante de WhatsApp simplificado */
.floating-contact{right:24px;bottom:22px;display:grid;place-items:center;width:62px;height:62px;padding:0;border-radius:20px;background:linear-gradient(180deg,#1fb862 0%,#159c53 100%);box-shadow:0 16px 34px rgba(13,72,45,.28), inset 0 1px 0 rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.18);gap:0;font-size:0;line-height:0}
.floating-contact:hover{transform:translateY(-4px) scale(1.02)}
.floating-contact .icon{width:29px;height:29px;color:#fff;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}
@media(max-width:480px){.floating-contact{width:58px;height:58px;right:14px;bottom:14px;border-radius:18px}.floating-contact .icon{width:27px;height:27px}}


/* v3.3.0 · SEO semántico: mantiene el diseño al usar encabezados reales en servicios. */
.detail-item__text{margin:0;font-family:inherit}
.detail-note+.detail-note{margin-top:12px}

/* v3.3.8: bloque de servicios administrados integrado en la cuadrícula de servicios. */
.ti-inline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 22px;margin-bottom:27px;background:#fff;border:1px solid #ccdeef;border-left:4px solid var(--orange);border-radius:13px;color:#344c63;font-size:.94rem}
.ti-inline>span:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ti-inline>span:first-child>.icon{width:21px;height:21px;color:#1b72bc}
.ti-inline__link{white-space:nowrap;color:#176bb4;font-size:.87rem;font-weight:800;display:inline-flex;align-items:center;gap:7px}
.ti-inline__link .icon{width:16px;height:16px}
.ti-detail-link{display:inline-flex;align-items:center;gap:9px;margin-top:21px;font-size:.95rem;font-weight:800;color:#146fc6}
.ti-detail-link .icon{width:16px;height:16px}
.ti-page-hero{padding:clamp(58px,6vw,96px) 0;background:linear-gradient(115deg,#0c2037,#163c60);color:#fff;overflow:hidden}
.ti-page-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.75fr);align-items:center;gap:clamp(32px,5vw,82px)}
.ti-page-hero .breadcrumbs{color:#aec5da}
.ti-page-hero h1{font-size:clamp(2.6rem,4.5vw,4.65rem);line-height:1.09;max-width:735px;color:#fff;margin:22px 0}
.ti-page-hero h1 em{font-style:normal;color:#9acfff}
.ti-page-hero__copy>p{font-size:clamp(1rem,1.35vw,1.12rem);color:#d0e0f0;max-width:640px;line-height:1.7}
.ti-page-hero__copy .actions{margin-top:27px}
.ti-page-hero__aside{position:relative;padding:clamp(27px,3vw,45px);border:1px solid #4b7192;border-radius:24px;background:linear-gradient(160deg,#1e486c,#102b49)}
.ti-page-hero__seal{display:inline-flex;align-items:center;gap:9px;color:#b6d5f1;font-weight:800;font-size:.79rem;letter-spacing:.13em;margin-bottom:32px}
.ti-page-hero__seal .icon{width:23px;height:23px}
.ti-page-hero__aside>strong{display:block;font-size:clamp(1.7rem,2.6vw,2.65rem);line-height:1.18;letter-spacing:-.045em;max-width:390px}
.ti-page-hero__aside>strong span{color:#9bccff}
.ti-page-hero__aside>p{color:#c1d4e7;margin:21px 0 30px}
.ti-page-hero__meta{display:flex;gap:8px;align-items:center;border-top:1px solid #6085a366;padding-top:16px;color:#e4effa;font-size:.86rem}
.ti-page-hero__meta .icon{width:18px;height:18px;color:#88d8c4}
.ti-page-content__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(30px,5vw,86px);align-items:start}
.ti-page-content h2{font-size:clamp(2rem,3.5vw,3.3rem);margin:18px 0 18px}
.ti-page-content p{color:#60768a;max-width:430px;line-height:1.65}
.ti-page-content .text-link{margin-top:12px}
.ti-page-list{margin:0;padding:0;list-style:none;display:grid;gap:0;border-top:1px solid #dbe7f3}
.ti-page-list li{display:flex;align-items:flex-start;gap:14px;padding:20px 4px;border-bottom:1px solid #dbe7f3;color:#4d6378;line-height:1.55}
.ti-page-list .icon{color:#1681cc;width:20px;height:20px;margin-top:3px}
.ti-page-list strong{color:#18344f}
.ti-page-end{background:#f2f7fc;padding:clamp(48px,6vw,80px) 0}
.ti-page-end__inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
.ti-page-end h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:12px 0}
.ti-page-end p{color:#566e82;max-width:680px;margin:0}
.ti-page-end .btn{flex:none}
@media(max-width:960px){.ti-page-hero__grid{grid-template-columns:1fr}.ti-page-hero__aside{max-width:590px}.ti-page-content__grid{grid-template-columns:1fr}}
@media(max-width:720px){.ti-inline{align-items:stretch;flex-direction:column}.ti-page-end__inner{align-items:flex-start;flex-direction:column}.ti-page-end .btn{width:100%}}
@media(max-width:440px){.ti-page-hero .actions{display:grid}.ti-page-hero .actions .btn{width:100%}.ti-page-hero__aside{padding:26px 23px}}


/* v3.3.7: ubicación visible, mapa bajo demanda y tarjeta de servicio empresarial. */
.proof-item--link{color:inherit;text-decoration:none;transition:transform .2s ease,background .2s ease}
.proof-item--link:hover{transform:translateY(-2px);background:rgba(43,116,189,.04)}
.proof-item--link:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.proof-item--link small .icon{width:13px;height:13px;vertical-align:middle}

/* v3.3.8 — Integración sobria: tarjeta de TI y ubicaciones compactas.
   Las rutas, servicios del catálogo y carga de mapas bajo consentimiento permanecen intactos. */
.service-grid--home .service-card--managed{grid-column:span 2;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-width:0;min-height:238px;padding:24px 27px;border:1px solid #c7def2;border-radius:20px;background:linear-gradient(120deg,#f4f9ff 0%,#fff 75%);color:#152c45;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.service-grid--home .service-card--managed:hover{transform:translateY(-4px);border-color:#82b9ea;box-shadow:0 20px 34px #10243d12}
.service-grid--home .service-card--managed:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.service-card--managed__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.service-grid--home .service-card--managed .service-icon{width:48px;height:48px;border-radius:14px;flex:none}
.service-grid--home .service-card--managed .service-icon .icon{width:25px;height:25px}
.service-card--managed__body{display:grid;gap:8px;max-width:485px}
.service-card--managed__body strong{font-size:clamp(1.2rem,1.7vw,1.48rem);line-height:1.18;letter-spacing:-.032em}
.service-card--managed__body>span{color:#5b7085;font-size:.88rem;line-height:1.5}
.service-card--managed__bottom{display:flex;align-items:center;gap:8px;color:#176abc;font-weight:800;font-size:.77rem;letter-spacing:.012em}
.service-card--managed__bottom .icon{width:16px;height:16px;transition:transform .2s ease}
.service-card--managed:hover .service-card--managed__bottom .icon{transform:translateX(4px)}
.locations-section{padding-top:clamp(52px,6vw,79px);padding-bottom:clamp(60px,7vw,90px)}
.locations-intro{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}
.locations-intro h2{font-size:clamp(2rem,3.6vw,3rem);margin:13px 0 0}
.locations-intro>p{max-width:430px;color:#5b7085;font-size:.94rem;line-height:1.65;margin:0}
.location-grid--refined{gap:20px;align-items:stretch}
.location-tile{display:flex;flex-direction:column;min-width:0;padding:clamp(23px,3vw,34px);background:#fff;border:1px solid #dae5f2;border-radius:23px;box-shadow:0 14px 38px rgba(18,44,76,.055);position:relative;overflow:hidden}
.location-tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}
.location-tile--orange::before{background:var(--orange)}
.location-tile__top{display:flex;align-items:center;gap:12px}
.location-tile__icon{display:grid;place-items:center;flex:none;width:49px;height:49px;color:#1977c8;background:#ebf5ff;border:1px solid #d4e9fc;border-radius:15px}
.location-tile--orange .location-tile__icon{color:#bb652c;background:#fff4eb;border-color:#ffdfc5}
.location-tile__icon .icon{width:23px;height:23px}
.location-tile__number{color:#698099;font-weight:850;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.location-tile h3{font-size:clamp(1.45rem,2.3vw,1.85rem);line-height:1.14;letter-spacing:-.04em;margin:23px 0 12px;color:#182b43}
.location-tile__address{font-style:normal;color:#546c83;line-height:1.58;font-size:.92rem;max-width:410px;min-height:73px}
.location-tile__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px;padding-top:0}
.location-tile__actions .btn{margin:0}





.location-map--inline{width:100%;aspect-ratio:16/10;border:1px solid #d6e3f0;border-radius:15px;overflow:hidden;margin-top:19px;background:#edf4fa}

.location-map--inline iframe{display:block;width:100%;height:100%;border:0}
/* Ubicaciones: única llamada a la acción, centrada bajo las tarjetas con mapas. */
.locations-help{display:flex;justify-content:center;align-items:center;margin-top:22px;text-align:center}
.locations-help>.btn.btn--blue{min-width:194px;color:#fff;text-decoration:none}
.locations-help>.btn.btn--blue:hover{color:#fff;background:#0757b6;text-decoration:none}
@media(max-width:930px){.locations-intro{align-items:start;flex-direction:column;gap:12px}.location-tile__address{min-height:94px}.location-tile__actions{gap:11px}}
@media(max-width:720px){.location-grid--refined{grid-template-columns:1fr}.location-tile__address{min-height:0}.locations-intro{margin-bottom:20px}}
@media(max-width:480px){.service-grid--home .service-card--managed{grid-column:1;padding:23px;min-height:230px}.location-tile{padding:23px}.location-tile__actions{align-items:stretch;flex-direction:column;gap:5px}.location-tile__actions .btn{width:100%}.location-map--inline{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.service-grid--home .service-card--managed,.service-card--managed__bottom .icon{transition:none!important}.service-card--managed:hover .service-card--managed__bottom .icon{transform:none!important}}


/* v3.4.1 | Microajustes adaptativos; respeta la identidad y la estructura aprobadas.
   Menú usable con teclado, targets táctiles y estados de interacción discretos. */
:where(.hero-grid,.feature-panel,.service-hero-grid,.contact-grid,.split-grid,.location-grid,.footer-grid,.service-grid)>*{min-width:0}
.catalog-feedback{color:#586f84;font-size:.84rem;line-height:1.45;margin:-4px 0 16px;min-height:1.25em}
.service-grid--home .service-card--managed:focus-visible,.location-tile__actions .btn:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.form-grid button[type=submit]:disabled{opacity:.77;cursor:wait;box-shadow:none;transform:none}
.form-grid[aria-busy=true]{cursor:progress}
@media(max-width:930px){
 .main-nav{max-height:min(calc(100dvh - var(--header) - 42px),680px);overscroll-behavior:contain;border-top:1px solid #e5eff9}
 .main-nav.is-open{animation:sodi-menu-reveal .18s ease-out both}
 .main-nav>a{min-height:44px;display:flex;align-items:center;white-space:normal}
 .main-nav>a.is-active{background:#f0f7ff;border-radius:9px;padding-inline:12px}
 .main-nav>a.nav-support{min-height:46px}
 .footer-contact li a{min-height:35px}
}
@keyframes sodi-menu-reveal{from{opacity:.92;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){
 .hero-grid,.service-hero-grid,.feature-panel,.contact-grid,.location-grid,.split-grid{min-width:0}
 .page-hero h1{font-size:clamp(2.3rem,8.2vw,3.4rem);overflow-wrap:break-word}
 .hero h1{overflow-wrap:break-word}
 .catalog-toolbar{gap:14px}
 .filters{display:flex;flex-wrap:wrap;gap:8px}
 .filter-btn{min-height:44px}
 .contact-grid .field,.form-grid>.field--wide{min-width:0}
 .location-map--inline{min-height:220px}
}
@media(max-width:480px){
 .hero h1{font-size:clamp(2.35rem,10.4vw,3.35rem)}
 .section-head h2{font-size:clamp(2.05rem,9.2vw,2.85rem)}
 .page-hero h1{font-size:clamp(2.15rem,9.2vw,2.8rem)}
 .brand img{width:min(190px,58vw);height:auto}
 .nav-row{gap:8px}
 .form-card{padding:24px 19px}
 .form-card h2{font-size:clamp(1.8rem,8vw,2.3rem)}
 .form-grid button[type=submit]{width:100%;justify-content:center;min-height:50px}
 .proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .proof-item{min-width:0}
 .proof-item strong,.proof-item small{overflow-wrap:anywhere}
 .location-tile h3{overflow-wrap:break-word}
 .footer-bottom>div{row-gap:10px}
 .footer-bottom>div a{min-height:38px;display:inline-flex;align-items:center}
}
@media(max-width:360px){
 .container{width:calc(100% - 26px)}
 .service-grid--home .service-card--managed{padding:19px}
 .service-card--managed__top{align-items:flex-start}
 .location-tile{padding:20px}
 .floating-contact{width:53px;height:53px}
}
@media(hover:none){
 .service-grid a.service-card:hover,.service-grid--home .service-card--managed:hover,.section--audiences .audience-card:hover,.proof-item--link:hover{transform:none;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){.main-nav.is-open{animation:none!important}}


/* v3.4.2 · El acceso a Ubicaciones se integra al encabezado sin comprimir el menú.
   En pantallas intermedias se usa el mismo panel navegable que en móvil. */
@media (min-width:931px) and (max-width:1050px){
 :root{--header:76px}
 .nav-toggle{display:block}
 .main-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:white;padding:14px 24px 26px;box-shadow:0 22px 30px #1a293822;max-height:min(calc(100dvh - var(--header) - 42px),680px);overflow:auto;overscroll-behavior:contain;border-top:1px solid #e5eff9}
 .main-nav.is-open{display:flex;animation:sodi-menu-reveal .18s ease-out both}
 .main-nav>a{font-size:1rem;min-height:44px;padding:12px 4px;display:flex;align-items:center;white-space:normal}
 .main-nav>a.is-active{background:#f0f7ff;border-radius:9px;padding-inline:12px}
 .main-nav>a.nav-support{margin-top:9px;justify-content:center;min-height:46px}
}
