:root{--cn-red:#f9002b;--cn-white:#fff;--cn-muted:#aaa}

/* Jerarquía común de las secciones de la portada. */
.cn-home-services__eyebrow,
.cn-featured-projects__eyebrow,
.cn-home-about__eyebrow{margin-bottom:14px;color:var(--cn-red);font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}

.cn-home-services__head h2,
.cn-featured-projects h2,
.cn-home-about h2{color:var(--cn-white);font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:clamp(42px,4.2vw,60px);font-weight:700;letter-spacing:-.04em;line-height:1.06}

.cn-home-services__intro,
.cn-featured-projects__copy p,
.cn-home-about__lead{color:var(--cn-muted);font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.75}

/* Botones basados en el CTA «ESCRÍBENOS» de la cabecera. */
.cn-service-card__link,
.cn-featured-projects__link,
.cn-home-about__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 19px;border:0;border-radius:3px;background:var(--cn-red);box-shadow:6px 6px 18px rgba(0,0,0,.3);color:#fff!important;font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:1.35px;line-height:1.35;text-decoration:none!important;text-transform:uppercase;transition:background-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}

.cn-service-card__link:hover,
.cn-service-card__link:focus-visible,
.cn-featured-projects__link:hover,
.cn-featured-projects__link:focus-visible,
.cn-home-about__link:hover,
.cn-home-about__link:focus-visible{border-color:#fff;background:#fff;color:#090909!important;box-shadow:inset 0 -3px 0 var(--cn-red),0 12px 28px rgba(255,255,255,.15);transform:translateY(-3px)}

.cn-featured-projects__link:after,
.cn-home-about__link:after{transition:color .25s ease,transform .25s ease}
.cn-featured-projects__link:hover:after,
.cn-featured-projects__link:focus-visible:after,
.cn-home-about__link:hover:after,
.cn-home-about__link:focus-visible:after{color:var(--cn-red);transform:translateX(4px)}

body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_more_button.et_pb_button{transition:background-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_more_button.et_pb_button:hover{background-color:#fff!important;color:#090909!important;box-shadow:inset 0 -3px 0 var(--cn-red),0 12px 28px rgba(255,255,255,.15);transform:translateY(-3px)}
body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_more_button.et_pb_button:hover:before{color:var(--cn-red)!important}

/* Doble llamada a la acción de la cabecera. */
.et_pb_fullwidth_slider_0 .et_pb_button_wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .cn-home-projects-button.et_pb_button{display:inline-flex!important;align-items:center;justify-content:center;min-width:198px;min-height:48px;padding:12px 18px!important;margin-top:0!important;border:1px solid rgba(255,255,255,.42)!important;border-radius:3px!important;background:rgba(5,5,5,.48)!important;color:#fff!important;box-shadow:6px 6px 18px rgba(0,0,0,.18);font-size:13px!important;letter-spacing:1.15px!important;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}
body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .cn-home-projects-button.et_pb_button:before{display:none!important}
.cn-home-projects-button span{display:inline-block;margin-left:8px;color:var(--cn-red);font-size:1.15em;line-height:1;transition:transform .25s ease,color .25s ease}
body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .cn-home-projects-button.et_pb_button:hover,body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .cn-home-projects-button.et_pb_button:focus-visible{padding:12px 18px!important;border-color:#fff!important;background:#fff!important;color:#090909!important;box-shadow:inset 0 -3px 0 var(--cn-red),0 12px 28px rgba(255,255,255,.15);transform:translateY(-3px)}
.cn-home-projects-button:hover span,.cn-home-projects-button:focus-visible span{color:var(--cn-red);transform:translateX(4px)}
@media(max-width:700px){.et_pb_fullwidth_slider_0 .et_pb_button_wrapper{gap:8px}body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .cn-home-projects-button.et_pb_button,body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .cn-home-projects-button.et_pb_button:hover{min-width:174px;min-height:44px;padding:10px 15px!important;margin-top:0!important;font-size:12px!important}}

/* El módulo heredado de Divi ocultaba el hero completo en tablet y móvil. */
@media(max-width:980px){.et_pb_fullwidth_slider_0{display:block!important}}
@media(max-width:767px){
  .et_pb_fullwidth_slider_0,
  .et_pb_fullwidth_slider_0 .et_pb_slides,
  .et_pb_fullwidth_slider_0 .et_pb_slide{min-height:620px}
  .et_pb_fullwidth_slider_0 .et_pb_container{min-height:620px!important}
  .et_pb_fullwidth_slider_0 .et_pb_slide_description,
  .et_pb_slider_fullwidth_off.et_pb_fullwidth_slider_0 .et_pb_slide_description{padding:58px 6% 52px}
  .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_slide_description .et_pb_slide_title{font-size:clamp(37px,11vw,48px)!important;line-height:1.08}
  .et_pb_fullwidth_slider_0.et_pb_slider.et_pb_module .et_pb_slides .et_pb_slide_content{font-size:15px!important;line-height:1.55}
}

.cn-service-card__link:focus-visible,
.cn-featured-projects__link:focus-visible,
.cn-home-about__link:focus-visible{outline:3px solid #fff;outline-offset:4px}

@media(max-width:700px){.cn-home-services__head h2,.cn-featured-projects h2,.cn-home-about h2{font-size:38px}.cn-service-card__link,.cn-featured-projects__link,.cn-home-about__link{min-height:42px;padding:11px 17px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.cn-service-card__link,.cn-featured-projects__link,.cn-home-about__link{transition:none}}

/* Cierre emocional de la portada. */
.cn-home-final-cta{position:relative;isolation:isolate;overflow:hidden;padding:clamp(58px,6.5vw,88px) 5%;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 50% 120%,rgba(249,0,43,.2),transparent 49%),linear-gradient(180deg,#050505 0%,#090205 100%);color:#fff;text-align:center}
.cn-home-final-cta:before{content:"";position:absolute;z-index:-1;left:50%;bottom:-180px;width:min(760px,90vw);aspect-ratio:1;border:1px solid rgba(249,0,43,.14);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 90px rgba(249,0,43,.08)}
.cn-home-final-cta__inner{width:min(980px,100%);margin:0 auto}
.cn-home-final-cta h2{max-width:820px;margin:0 auto 18px;color:#fff;font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:clamp(36px,4.7vw,58px);font-weight:800;letter-spacing:-.04em;line-height:1.05;text-transform:uppercase}
.cn-home-final-cta p{max-width:680px;margin:0 auto 27px;color:rgba(255,255,255,.7);font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:clamp(15px,1.4vw,18px);line-height:1.65}
.cn-home-final-cta__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;border:0;border-radius:3px;background:var(--cn-red);box-shadow:6px 6px 18px rgba(0,0,0,.3);color:#fff!important;font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:1.35px;line-height:1.35;text-decoration:none!important;text-transform:uppercase;transition:background-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
.cn-home-final-cta__link span{margin-left:10px;font-size:1.2em;transition:color .25s ease,transform .25s ease}
.cn-home-final-cta__link:hover,.cn-home-final-cta__link:focus-visible{background:#fff;color:#090909!important;box-shadow:inset 0 -3px 0 var(--cn-red),0 12px 28px rgba(255,255,255,.15);transform:translateY(-3px)}
.cn-home-final-cta__link:hover span,.cn-home-final-cta__link:focus-visible span{color:var(--cn-red);transform:translateX(4px)}
.cn-home-final-cta__link:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:700px){.cn-home-final-cta{padding:72px 6%}.cn-home-final-cta h2{font-size:clamp(38px,11vw,54px)}.cn-home-final-cta p{font-size:15px}.cn-home-final-cta__link{min-height:44px;padding:12px 18px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.cn-home-final-cta__link,.cn-home-final-cta__link span{transition:none}}

/* Contraste reforzado solo en los dos CTA de portada señalados por Lighthouse. */
body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_more_button.et_pb_button:not(.cn-home-projects-button){background-color:#e80034!important}
body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_more_button.et_pb_button:not(.cn-home-projects-button):hover,
body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_more_button.et_pb_button:not(.cn-home-projects-button):focus-visible{background-color:#fff!important;color:#090909!important}
body #page-container .et_pb_section .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_more_button.et_pb_button:not(.cn-home-projects-button):focus{outline:3px solid #fff!important;outline-offset:4px!important;box-shadow:0 0 0 3px #fff,6px 6px 18px rgba(0,0,0,.3)!important}
.cn-home-final-cta__link{background:#e80034}
.cn-home-final-cta__link:focus{box-shadow:0 0 0 3px #fff,6px 6px 18px rgba(0,0,0,.3)}
