:root{--main-color:#212225;--action-color:#e61923;--highlight-color:#4fa501}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px;overflow-x:hidden}
body{font-family:Arial,Helvetica,sans-serif!important;background:#f5f5f5;color:#30343a}
main{padding-top:70px;overflow:hidden}
h1,h2,h3,h4,.hero-title,.hero-subtitle{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:0}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,label.menu-toggle:focus-visible{outline:3px solid #77bd39;outline-offset:3px}
.skip-link{position:fixed;left:10px;top:8px;z-index:100000;background:#fff;color:#111;padding:10px 14px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.fas,.far,.fab{font-family:Arial,Helvetica,sans-serif!important;font-style:normal;font-weight:700;display:inline-flex!important;align-items:center;justify-content:center;width:1.2em;min-width:1.2em}
.fa-phone-alt:before{content:'☎'}.fa-home:before{content:'⌂'}.fa-chevron-right:before{content:'›'}.fa-check:before{content:'✓'}.fa-bars:before{content:'☰'}
header{z-index:9000!important}
header nav{grid-template-columns:260px auto;align-items:center;min-height:70px;padding-right:330px}
a.logo{display:flex;align-items:center;margin:0 0 0 14px}
.logo img{display:block;width:245px;max-width:100%;height:auto;aspect-ratio:400/94}
ul.main-nav>li{padding:0 15px}
ul.main-nav li a{min-height:44px}
a.buttom{box-sizing:border-box;display:inline-flex!important;align-items:center;justify-content:center;gap:.4em;min-height:50px;text-align:center;animation:none!important;transform:none!important}
header>a.buttom.stick{position:fixed!important;top:11px!important;right:22px!important;bottom:auto!important;left:auto!important;z-index:10001!important;margin:0!important;min-width:285px!important;height:48px!important;padding:0 22px!important;border-radius:999px!important;box-shadow:0 8px 20px rgba(0,0,0,.28);white-space:nowrap}
section.hero-molde{padding:0;max-width:1500px;min-height:660px;background:#eceeef}
section.hero-molde>article{align-content:center;padding:58px clamp(28px,5vw,74px);background:rgba(255,255,255,.94)}
section.hero-molde h1{font-size:clamp(2.35rem,4.5vw,4rem);line-height:1.08;margin:22px 0 20px}
section.hero-molde article p{font-size:17px;line-height:1.66}
#breadcrumb{margin-bottom:10px}
#breadcrumb ul{margin:0;padding:10px 0;list-style:none}
article ul.points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0;padding:0;list-style:none}
article ul.points li{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:10px 11px;white-space:normal!important;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:6px;line-height:1.4}
article ul.points i{flex:0 0 auto;margin-top:0;background:var(--highlight-color);color:#fff;padding:6px;border-radius:50%}
.hero-photo{position:relative;background-size:cover;background-position:center;background-attachment:scroll;min-height:660px}
.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,17,19,.1),rgba(15,17,19,.68))}
.hero-photo .content{position:relative!important;z-index:1;top:0!important;min-height:660px!important;justify-content:flex-end;padding:68px 40px;background:transparent!important;backdrop-filter:none!important}
.hero-title{font-size:clamp(2.1rem,4vw,3.8rem);margin:0 0 14px;color:#fff}
.hero-subtitle{font-size:1.25rem;color:#fff;margin:0 0 15px}
.hero-photo .buttom.blob{font-size:1.55rem!important;margin:12px auto 0!important}
.section-lead{max-width:980px;font-size:1.08rem;line-height:1.7}
.cards{align-items:stretch;margin-top:28px}
.cards .card{min-height:100%;overflow:hidden;background:#fff}
.cards .card a.imgbounds{display:block;aspect-ratio:16/9;height:auto;min-height:200px;contain:layout paint}
.cards .card img{width:100%!important;height:100%!important;aspect-ratio:16/9;object-fit:cover;display:block;filter:grayscale(.22)}
.cards .card>a.imgbounds p{left:0;right:0;bottom:0;top:auto;width:auto;margin:0;background:rgba(18,22,24,.78);color:#fff;font-size:18px}
.cards .card .card-content{padding:20px 22px 24px}
.cards .card .card-content h3{margin:0 0 10px;font-size:1.28rem}
.cards .card .card-content p{margin:0;color:#4a5158;line-height:1.6}
.codex-human-home,.codex-specific-local,.codex-extra-local,.codex-situations,.codex-domain-context,.codex-zonas-relacionadas{display:block!important;clear:both;max-width:none;padding:58px 20px}
.codex-human-home{background:#212225;color:#fff}
.codex-human-home h2,.codex-human-home h3,.codex-human-home strong{color:#fff}
.codex-human-home p{color:#e6e8ea}
.codex-specific-local,.codex-domain-context{background:#fff}
.codex-extra-local,.codex-zonas-relacionadas{background:#f1f3f4}
.codex-human-home>.inner,.codex-specific-local>.wrap,.codex-extra-local>.inner,.codex-situations>.wrap,.codex-domain-context>.wrap,.codex-zonas-relacionadas>.inner{width:min(1120px,92vw);margin:0 auto}
.reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.reason-grid article{display:block;padding:24px;background:#fff;border-left:5px solid var(--highlight-color);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.reason-grid h3{margin:0 0 9px}.reason-grid p{margin:0}
.codex-human-home .reason-grid article{background:#2d3034;border-left-color:#ff3038}.codex-human-home .reason-grid p{color:#e6e8ea}
.codex-testimonials-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:26px}
.codex-testimonial{display:block;padding:22px;background:#fff;border:1px solid rgba(0,0,0,.1);border-top:4px solid var(--action-color);box-shadow:0 9px 24px rgba(0,0,0,.08)}
.codex-testimonial strong{display:block;font-size:1.08rem;margin-bottom:8px}.codex-testimonial p{margin:0}
.service-accordion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin-top:28px}
.acordeon{border-bottom:0;border-radius:6px}
.acordeon label{padding:0 3.2em 0 1em;background:#fff;border:1px solid #d7dade;color:#23272b;line-height:3.2}
.acordeon-content{background:#fff;color:#394048}
.acordeon input:checked~.acordeon-content{max-height:28em;border:1px solid #d7dade;border-top:0}
section.bg{background:#212225;border-block:5px solid var(--action-color)}
section.bg p:first-child{font-size:clamp(1.65rem,3vw,2.45rem)}
section.bg p,section.bg strong{color:#fff}
section.contact-map{padding:0;max-width:1500px;align-items:stretch;background:#eceeef}
section.contact-map>article{display:block;padding:52px clamp(24px,4vw,60px);background:#fff}
section.contact-map>aside{display:block;background:#e7e9eb;padding:24px;min-width:0}
.contact-map>aside>.content{position:sticky!important;top:94px!important;display:block!important;width:100%;min-height:0!important;text-align:left;background:transparent;backdrop-filter:none}
iframe#map{display:block;width:100%!important;height:auto!important;min-height:430px;aspect-ratio:4/3;border:0;border-radius:7px;box-shadow:0 10px 28px rgba(0,0,0,.14)}
.contact-map .codex-nap-map{display:block!important;margin:18px 0 0;padding:0;max-width:none}
.codex-nap-inner{background:#fff;color:#272b30;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:22px;box-shadow:0 8px 22px rgba(0,0,0,.09)}
.codex-nap-kicker{margin:0 0 5px;color:#a81118;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.codex-nap-map h2{margin:0 0 8px;font-size:1.7rem}
.codex-nap-summary{margin:0 0 12px}
.codex-nap-grid{display:grid;grid-template-columns:1fr;gap:9px}
.codex-nap-grid>div{background:#f4f5f6;border-radius:6px;padding:12px}
.codex-nap-grid strong{display:block;font-size:12px;text-transform:uppercase;color:#616970}.codex-nap-grid p{margin:3px 0 0}
.codex-nap-checks{padding-left:20px}.codex-nap-checks li{list-style:disc;margin:5px 0}
.form{position:relative;margin-top:24px}
.form .inputGrp{display:flex;flex-direction:column;gap:5px;margin:12px 0}
.form .inputGrp label{font-weight:800;color:#252a2f}
.form .inputGrp input,.form .inputGrp textarea{width:100%;padding:12px;border:1px solid #9ea6ad;border-radius:5px;background:#fff;color:#202429;font-size:16px}
.form .anti-spam input{max-width:130px}
.legal-row{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:14px}
.legal-row #legal{width:19px;height:19px;flex:0 0 19px;margin:3px 0 0}
.form button.codex-submit{background:var(--action-color);color:#fff;min-height:52px;font-size:17px}
.form-note{font-size:13px;color:#616970}
.codex-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.codex-field-error{border:2px solid #b42318!important;background:#fff7f6!important}
.zone-tags{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 0;padding:0}.zone-tags li{list-style:none;background:#fff;border:1px solid #d5d9dc;border-radius:999px;padding:8px 14px;font-weight:700}
.internal-hero article{align-content:center}.internal-hero .hero-photo,.internal-hero .hero-photo .content{min-height:520px!important}
.legal-main{padding:115px 20px 70px;background:#f1f3f4}.legal-article{display:block;max-width:900px;margin:0 auto;padding:45px;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.1)}
.legal-article h1{font-size:clamp(2rem,5vw,3.4rem)}.legal-article h2{font-size:1.55rem;margin-top:34px}
.thanks-main{min-height:100vh;display:grid;place-items:center;padding:100px 20px;background:#f1f3f4}.thanks-card{max-width:680px;background:#fff;padding:46px;box-shadow:0 12px 34px rgba(0,0,0,.12);text-align:center}
footer{background:#151719;color:#dfe2e4;padding:45px 20px 100px}
footer p,footer strong,footer a{color:#dfe2e4}footer a{white-space:normal}
@media(max-width:1050px) and (min-width:768px){header nav{grid-template-columns:225px auto;padding-right:275px}.logo img{width:205px}ul.main-nav>li{padding:0 8px}header>a.buttom.stick{min-width:250px!important}.codex-testimonials-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){html,body{width:100%;max-width:100%;overflow-x:hidden}body{padding-bottom:88px;font-size:16px}header{height:70px}header nav{grid-template-columns:1fr 58px;padding:0 9px;overflow:visible!important}a.logo{margin:0}.logo img{width:min(240px,68vw)}label.menu-toggle{position:relative!important;display:flex!important;opacity:1!important;pointer-events:auto!important;width:48px!important;height:48px!important;align-items:center;justify-content:center;color:#fff;font-size:25px;cursor:pointer}.menu-toggle input{display:none}#menu-toggle:checked+label.menu-toggle:before{content:'×'!important;font-size:34px}ul.main-nav{display:none;position:fixed;left:0;right:0;top:70px;width:100%;height:auto;max-height:calc(100vh - 170px);overflow:auto;margin:0;padding:12px 16px 20px;background:#212225;text-align:left;box-shadow:0 12px 25px rgba(0,0,0,.35)}#menu-toggle:checked~ul.main-nav{display:block}ul.main-nav>li{display:block;height:auto;padding:0;border-bottom:1px solid #3d4145}ul.main-nav li a{display:flex;padding:9px 10px;color:#fff}ul.dropdownmenu{position:static;display:grid!important;opacity:1!important;width:100%;margin:0;background:#2d3034}ul.dropdownmenu li,ul.dropdownmenu li:first-child,ul.dropdownmenu li:last-child{margin:0;padding:4px 12px}header>a.buttom.stick{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;width:auto!important;min-width:0!important;max-width:none!important;height:58px!important;margin:0!important;padding:0 14px!important;z-index:99999!important;border-radius:999px!important;white-space:normal}main{padding-top:70px}section,section.c2,section.c2.o1{display:block!important;width:100%;max-width:100%;margin:0;padding:36px 16px;overflow:hidden}section.hero-molde{padding:0}.hero-molde>article{padding:30px 18px!important}.hero-molde h1{font-size:clamp(2rem,9vw,2.65rem)}article ul.points{grid-template-columns:1fr}.hero-photo{display:block!important;min-height:330px!important;background-position:center}.hero-photo .content{min-height:330px!important;padding:35px 18px!important}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.05rem}.hero-photo .buttom.blob{font-size:1.25rem!important;width:100%}.cards{grid-template-columns:1fr!important}.cards .card a.imgbounds{min-height:200px}.codex-human-home,.codex-specific-local,.codex-extra-local,.codex-situations,.codex-domain-context,.codex-zonas-relacionadas{padding:38px 16px!important}.reason-grid,.service-accordion-grid,.codex-testimonials-grid{grid-template-columns:1fr}.contact-map>article{padding:36px 18px!important}.contact-map>aside{display:block!important;padding:16px!important}.contact-map>aside>.content{position:static!important}.contact-map iframe#map{min-height:350px;aspect-ratio:4/3}.codex-nap-inner{padding:18px}.legal-main{padding:95px 14px 40px}.legal-article{padding:28px 20px}.thanks-card{padding:32px 22px}footer{padding:38px 16px 105px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Red local de dominios: enlaces cruzados visibles y con anclas de marca. */
.codex-red-local{display:block!important;clear:both;max-width:none!important;padding:54px 20px!important;background:#212225;color:#fff;border-top:5px solid var(--highlight-color)}
.codex-red-local>.inner{width:min(1120px,92vw);margin:0 auto}
.codex-red-local h2{margin:0 0 14px;color:#fff}
.codex-red-local .red-local-intro{max-width:880px;margin:0 0 24px;color:#e5e8ea;line-height:1.7}
.codex-red-local-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin:0;padding:0;list-style:none}
.codex-red-local-grid li{list-style:none;min-width:0}
.codex-red-local-grid a{display:flex;flex-direction:column;gap:5px;height:100%;margin:0;padding:17px 18px;border:1px solid rgba(255,255,255,.2);border-radius:7px;background:#2d3034;color:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.codex-red-local-grid a:hover,.codex-red-local-grid a:focus{background:#383c40;color:#fff;border-color:var(--highlight-color)}
.codex-red-local-grid strong{color:#fff;font-size:1rem;line-height:1.3}
.codex-red-local-grid span{color:#bdc5ca;font-size:.88rem;line-height:1.4}
@media(max-width:767px){.codex-red-local{padding:38px 16px!important}.codex-red-local-grid{grid-template-columns:1fr}}