:root{--cp-color-heading-primary:#424a33;--cp-color-theme-primary:#c8ba93;--cp-color-text-2:#d9d6c4;--cp-color-border-1:#b8bda8}
.header .header-logo{background:#fcfbf7!important}.header-logo img{width:210px!important;max-width:100%;height:auto}.side-menu-head img{width:210px;height:auto}.footer-logo img{width:240px;height:auto}
.top-bar a{color:inherit}.hero-section .hero-bg::after{background:linear-gradient(180deg,rgba(48,59,31,.1),#35432a)}.hero-section .overlay{background:linear-gradient(180deg,rgba(48,59,31,.08) 20%,#35432a 100%);pointer-events:none}
.hero-title-wrap{max-width:850px}.hero-description{max-width:740px;color:white;font-size:20px;line-height:1.5;margin:18px 0 28px}.hero-content .sub-title{color:#e8dfc6}.hero-bg{transition:opacity .4s ease}.slide-controls{display:flex;align-items:center;gap:15px;margin-top:25px;color:white;font-size:16px}.slide-controls button{background:transparent;color:white;border:1px solid #e8dfc6;border-radius:5px;padding:6px 13px}.slide-controls button:hover{background:#424a33}
.footer-list-wrap{min-width:0}.footer-list.address-list a{overflow-wrap:anywhere}.footer-section .title-logo,.footer-section-2 .footer-bottom .title{font-size:clamp(58px,13vw,205px)!important;white-space:nowrap;letter-spacing:-.035em}.footer-section-2 .footer-bottom .title{font-size:clamp(48px,7.6vw,120px)!important}.ideasweb-credit{font-size:14px;color:inherit;text-align:right}.ideasweb-row{text-align:right;padding-top:25px;padding-bottom:25px;color:white}.footer-bottom-inner .ideasweb-credit{margin-left:auto}
.skip-link{position:fixed;top:-100px;left:15px;z-index:999999;background:#fff;color:#424a33;padding:12px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #a67c36;outline-offset:4px}
.form-item label{display:block;font-size:15px;font-weight:600;margin:0 0 8px;color:#424a33}.form-item .field-error{font-size:14px;color:#9d2020;margin:7px 0 0}.form-status{margin:18px 0 0;font-size:16px}.form-status[data-state=error]{color:#9d2020}.form-status[data-state=success]{color:#316321}.form-control[aria-invalid=true]{border-color:#9d2020!important}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-btn:disabled{opacity:.65;cursor:wait}.form-note{font-size:14px;line-height:1.5;margin:18px 0}.opportunity-form{background:var(--cp-color-bg-1);padding:26px;border-radius:8px;margin-top:20px}.opportunity-form .form-group.row>div{width:100%}.opportunity-description{margin:14px 0 22px}.contact-section .contact-txt{overflow-wrap:anywhere}.contact-section .contact-txt a{font:inherit}.ir-about-copy{font-size:20px;line-height:1.6;color:var(--cp-color-heading-primary)}
@media(max-width:1399px) and (min-width:992px){.header .primary-header-inner .header-menu-wrap ul li>a{font-size:14px}.header-logo img{width:185px!important}.header .header-menu-wrap ul li{margin-right:18px}.header .primary-header-inner .header-right-wrap{gap:12px}}
@media(max-width:767px){.hero-description{font-size:17px}.hero-content .sub-title{font-size:18px}.slide-controls{gap:10px}.footer-bottom-inner{flex-wrap:wrap;gap:15px}.footer-bottom-inner .ideasweb-credit{display:block;width:100%;text-align:right}.contact-section .contact-content-wrap{flex-wrap:wrap}.opportunity-form{padding:20px}.hero-title-wrap{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hero-bg{transition:none}.preloader{display:none}}
.section-heading .sub-heading{color:var(--cp-color-heading-primary)}.section-heading.white-content .sub-heading{color:#e9e2cc}
.cp-primary-btn,.cp-primary-btn .btn-text,.cp-primary-btn .btn-left,.cp-primary-btn .btn-right{color:#343d29}.contact-btn{color:#fff}.contact-btn:hover{color:#343d29}
@media(max-width:767px){.portfolio-section-inner .gutter-gap-56{--bs-gutter-x:1.5rem}}
.cp-primary-btn i,.cp-primary-btn .btn-text span.active{color:#343d29}.hero-content .title br{display:initial}
.contact-content .contact-btn,.question-content .contact-btn{color:#343d29}
.contact-btn,.contact-content .contact-btn,.question-content .contact-btn{color:#343d29}.contact-btn:hover,.contact-content .contact-btn:hover,.question-content .contact-btn:hover{color:#fff}
.footer-section .title-logo{color:#66704e}
@media(max-width:567px){.breadcum-content .title{font-size:clamp(28px,8vw,40px);word-break:normal}.contact-section .title{font-size:clamp(28px,8vw,40px);letter-spacing:0;line-height:1.1;white-space:normal}.hero-content .title{font-size:clamp(40px,12vw,50px)}}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #a67c36!important;outline-offset:4px!important}.mobile-side-menu{visibility:hidden}.mobile-side-menu.is-open{visibility:visible}.mobile-side-menu-toggle{padding:0;border:0;background:transparent}
.mobile-side-menu .mobile-side-menu-close{transition-property:color,background-color,border-color}

/* Contacto: reservar ancho legible para los datos junto a la introducción. */
.contact-section .contact-content-wrap{column-gap:48px;row-gap:32px}
.contact-section .contact-content-wrap .content-left{flex:1 1 0;min-width:0}
.contact-section .contact-content-wrap .content-right{flex:0 0 285px;max-width:100%}
.contact-section .contact-content-wrap .desc{margin-bottom:0}
@media(max-width:767px){.contact-section .contact-content-wrap .content-left,.contact-section .contact-content-wrap .content-right{flex:0 0 100%;width:100%}}
@media(min-width:1200px) and (max-width:1399px){.contact-section .title{font-size:110px;letter-spacing:4px}}
@media(min-width:568px) and (max-width:767px){.contact-section .title{font-size:clamp(44px,10vw,76px);letter-spacing:1px}}

/* Proceso de Inicio y Cómo funciona: cuatro columnas desde 1280 px; dos en tablet. */
@media(min-width:768px){.ir-home-process .process-items-wrap,.inner-process-section .process-items-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.ir-home-process .process-item,.inner-process-section .process-item{min-width:0}}
@media(min-width:1280px){.ir-home-process .process-items-wrap,.inner-process-section .process-items-wrap{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Franja rural: fotografía fundida con el fondo blanco, como la referencia. */
.service-section .service-bg{background:#fff;overflow:hidden}
.service-section .service-bg img{object-position:center bottom;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 65%);mask-image:linear-gradient(to bottom,transparent 0%,#000 65%)}
/* Foto del proceso separada del borde superior y con las cuatro esquinas redondeadas. */
.ir-home-process>.container>.row:first-child{padding-top:50px}
.ir-home-process .section-heading{padding-top:0}
.ir-home-process .image{border-radius:16px;overflow:hidden}
.ir-home-process .image img{border-radius:16px}

/* Mantener las caras visibles en el recorte panorámico de Cómo funciona. */
.service-details-section .image-1 img{object-position:center 30%}

/* Inicio: separar visualmente el proceso del footer por pedido de Ideasweb. */
.ir-home-process{background-color:var(--cp-color-bg-1)}
.ir-home-process .section-heading.white-content .section-title,
.ir-home-process .section-heading.white-content .section-title span,
.ir-home-process .section-heading.white-content .sub-heading,
.ir-home-process .process-item .title,
.ir-home-process .process-item>span,
.ir-home-process .process-item p{color:var(--cp-color-heading-primary)}
.ir-home-process .process-item .icon{background-color:var(--cp-color-heading-primary)}
.ir-home-process .process-items-wrap::after{border-top-color:var(--cp-color-border-1)}

/* Foto de orientación debajo del título de preguntas frecuentes. */
#preguntas-frecuentes .ir-faq-image{margin-top:32px}
#preguntas-frecuentes .ir-faq-image img{display:block;width:100%;height:auto;border-radius:16px}

/* Franja superior alineada con el inicio del logo y el extremo del botón. */
.header .top-bar .top-bar-container{padding-left:132px;padding-right:128px}
@media(max-width:1600px){.header .top-bar .top-bar-container{padding-left:32px;padding-right:28px}}

/* FAQ: bajar el acordeón 60 px cuando comparte fila con el título y la foto. */
@media(min-width:992px){#preguntas-frecuentes .faq-content{padding-top:60px}}
