/* Hero Banner */
.hero-banner {position:relative; width:100%; background:#000; overflow:hidden; box-sizing:border-box;}
.hero-banner .hero-img {width:100%; height:auto; display:block;}
.hero-banner .hero-content {position:absolute; top:50%; left:0; right:0; margin:-60px auto 0 auto; width:90%; max-width:600px; text-align:center; box-sizing:border-box; z-index:2;}
.hero-banner .hero-title {color:#000;font-size:45px;line-height:normal;font-weight:600;margin:0;text-transform:none;text-align:center;}
.hero-banner .hero-title-highlight {color:#fff; padding:2px 8px; display:inline-block;}
.hero-banner .hero-description {color:#fff;font-size:37px;line-height:normal;margin:0;text-align:center;}

.res1810 .hero-banner .hero-content {margin:-90px auto 0 auto; max-width:900px;}
.res1810 .hero-banner .hero-title {font-size:59px;}
.res1810 .hero-banner .hero-description {font-size:50px;}

.res940 .hero-banner .hero-content {margin:-50px auto 0 auto;}
.res940 .hero-banner .hero-title {/* font-size:32px; */}
.res940 .hero-banner .hero-description {/* font-size:18px; */}

.res720 .hero-banner .hero-content {margin:-40px auto 0 auto;}
.res720 .hero-banner .hero-title {font-size:33px;}
.res720 .hero-banner .hero-description {font-size:26px;}

.res480 .hero-banner .hero-content {margin:65px auto 0 auto;width:95%;}
.res480 .hero-banner .hero-title {font-size:32px;}
.res480 .hero-banner .hero-description {font-size:29px;}

.res320 .hero-banner .hero-content {margin:30px auto 0 auto;width:95%;}
.res320 .hero-banner .hero-title {font-size:24px;}
.res320 .hero-banner .hero-description {font-size:22px;}

/* ==========================================================================
 ANIMACIONES DE ENTRADA (Mantiene estilos actuales sin alterar la maquetación)
 ========================================================================== */

/* 1. Estado inicial e integración para la imagen (Slide In desde la derecha) */
.hero-img {opacity:0; animation:slideInRight 3s cubic-bezier(0.25, 1, 0.5, 1) forwards; animation-delay:0.2s; /* Ligera pausa antes de comenzar */
}

/* 2. Estado inicial e integración para el contenido/textos (Fade In + Lift) */
.hero-content {opacity:0; /* Comienza exactamente cuando la imagen termina de entrar (1.2s + 0.2s = 1.4s) */
 animation:fadeInUp 1s cubic-bezier(0.25, 1, 0.5, 1) forwards; animation-delay:1.0s;}

/* --------------------------------------------------------------------------
 DEFINICIÓN DE KEYFRAMES
 -------------------------------------------------------------------------- */

/* Animación de deslizamiento de la imagen de fuera hacia adentro */
@keyframes slideInRight {0% {opacity:0; transform:translateX(100px); /* Se desliza desde afuera hacia su posición */
}
 100% {opacity:1; transform:translateX(0); /* Queda exactamente como está actualmente */
}
}

/* Animación elegante de revelado para los textos y botón */
@keyframes fadeInUp {0% {opacity:0; transform:translateY(25px); /* Pequeña elevación elegante */
}
 100% {opacity:1; transform:translateY(0); /* Vuelve a su posición original */
}
}

/* service-form-section */
.service-form-section {width:100%;background-color:#dcdcdc;/* padding:40px 30px; */box-sizing:border-box;text-align:left;}
.service-form-section .info-block {width:46%; float:left; box-sizing:border-box; padding-right:20px; color:#000;}
.service-form-section .info-block h2 {font-size:26px;font-weight:800;color:#000;line-height:1.2;margin:0 0 25px 0;}
.service-form-section .info-item {margin-bottom:20px;}
.service-form-section .info-item h3 {font-size:20px;font-weight:800;color:#000;margin:0 0 6px 0;}
.service-form-section .info-item p {font-size:18px;line-height:1.35;margin:0;color:#000;}
.service-form-section .form-wrapper {width:52%; float:right; background-color:#eaeaea; border-radius:12px; padding:25px; box-sizing:border-box;}
.service-form-section .form-wrapper form {width:100%; display:block;}
.service-form-section .frmbfield {margin-bottom:15px; box-sizing:border-box; display:block; clear:both;}
.service-form-section .f-full {width:100%; clear:both;}
.service-form-section .f-half {width:48%; clear:none;}
.service-form-section .f-left {float:left;}
.service-form-section .f-right {float:right;}
.service-form-section .frmbrequired {color:#ff0000;/* display:none; */}
.service-form-section label {display:block;font-size:14px;/* font-weight:600; */color:#000;margin-bottom:6px;float:none;text-align:left;}
.service-form-section input[type="text"], .service-form-section select, .service-form-section textarea {width:100% !important;background-color:#ffffff !important;border:none !important;border-radius:8px !important;padding:10px 5px !important;font-size:14px !important;color:#000000 !important;box-sizing:border-box !important;height:auto;margin:0;}
.service-form-section input[type="text"]::placeholder, .service-form-section textarea::placeholder {color:#888; font-style:italic;}
.service-form-section select {appearance:none; -webkit-appearance:none; background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E') !important; background-repeat:no-repeat !important; background-position:right 15px center !important; background-size:10px auto !important; cursor:pointer;}
.service-form-section input[type="file"] {display:block;width:100%;font-size:12px;width:100% !important;background-color:#ffffff !important;border:none !important;border-radius:8px !important;padding:10px 5px !important;font-size:14px !important;color:#000000 !important;box-sizing:border-box !important;height:auto;margin:0;}
.service-form-section .frmbfileUploadFilesShow {display:none !important;}
.service-form-section .frmbfileUploadHelpInfo {font-size:10px;color:#666;margin-top:4px;display:block;}
.service-form-section textarea {height:100px !important; resize:none;}
.service-form-section .security {/* background-color:#fff; */border-radius:8px;padding:15px;margin-top:15px;box-sizing:border-box;clear:both;min-height:90px;}
.service-form-section .seccnt {width:70%;float:left;box-sizing:border-box;}
.service-form-section .seccnt br {width:65%;float:left;box-sizing:border-box;display:none;}
.service-form-section .sectitle {/* font-size:13px; */font-weight:700;color:#000;margin-bottom:2px;display:inline-block;}
.service-form-section .secdesc {font-size:11px;color:#444;margin:0 0 8px 0;display:block;}
.service-form-section .fsccode {font-weight:800; color:#000;}
.service-form-section input.code {width:100% !important;max-width:210px !important;padding:8px 10px !important;font-size:12px !important;border:1px solid #cccccc !important;}
.service-form-section input.submit {float:right;width:auto;background-color:#000000 !important;color:#ffffff !important;font-size:14px !important;font-weight:800 !important;padding:10px 24px !important;border:none !important;border-radius:6px !important;cursor:pointer;margin-top:15px;text-transform:none;}
.service-form-section .f-clear {clear:both; display:block; height:0; overflow:hidden;}

.service-form-section .frmbfield.frmbtext.F2QQuestion2, .service-form-section .frmbfield.frmbtext.F2QQuestion3 {margin-right:4%;width:48%;float:left;clear:none;}
.service-form-section .frmbfield.frmbtext.F2QQuestion3 {margin-right:0;}

.res1810 .service-form-section .info-block h2 {font-size:38px;}
.res1810 .service-form-section .info-item h3 {font-size:28px;}
.res1810 .service-form-section .info-item p {font-size:24px;}
.res1810 .service-form-section label {font-size:20px;}
.res1810 .service-form-section input[type="text"], .res1810 .service-form-section select, .res1810 .service-form-section textarea {font-size:18px !important;padding:16px 20px !important;.service-form-section .secdesc {font-size:11px;color:#444;margin:0 0 8px 0;display:block;};}
.res1810 .service-form-section input.submit {font-size:18px !important; padding:14px 30px !important;}
.res1810 .service-form-section input[type="file"] {display:block;width:100%;font-size:12px !important;width:100% !important;background-color:#ffffff !important;border:none !important;border-radius:8px !important;padding:12px 15px !important;font-size:18px !important;color:#000000 !important;box-sizing:border-box !important;height:auto;margin:0;}
.res1810 .service-form-section .frmbfileUploadHelpInfo {font-size:12px;color:#666;margin-top:4px;display:block;}
.res1810 .service-form-section .secdesc {font-size:17px;color:#444;margin:0 0 8px 0;display:block;}
.res1810 .service-form-section input.code {width:100% !important;max-width:260px !important;padding:8px 10px !important;font-size:15px !important;border:1px solid #cccccc !important;}

.res940 .service-form-section .info-block {/* width:100%; *//* float:none; *//* padding-right:0; *//* margin-bottom:30px; */}
.res940 .service-form-section .form-wrapper {/* width:100%; *//* float:none; */}
.res940 .service-form-section .seccnt {width:100%;float:left;box-sizing:border-box;}
.res940 .service-form-section input.submit {float:none;}

.res720 .service-form-section .info-block {width:100%; float:none; padding-right:0; margin-bottom:30px;}
.res720 .service-form-section .form-wrapper {width:100%; float:none;}

.res480 .service-form-section {padding:25px 15px;}
.res480 .service-form-section .info-block h2 {font-size:22px;}
.res480 .service-form-section .info-item h3 {font-size:17px;}
.res480 .service-form-section .info-item p {font-size:15px;}
.res480 .service-form-section .info-block {width:100%; float:none; padding-right:0; margin-bottom:30px;}
.res480 .service-form-section .form-wrapper {width:100%; float:none;}
.res480 .service-form-section .frmbfield.frmbtext.F2QQuestion2, .res480 .service-form-section .frmbfield.frmbtext.F2QQuestion3 {margin-right:0;width:100%;float:none;clear:both;}
.res480 .service-form-section input.submit {float:none;}

.res320 .service-form-section .form-wrapper {padding:15px;}
.res320 .service-form-section .info-block {width:100%; float:none; padding-right:0; margin-bottom:30px;}
.res320 .service-form-section .form-wrapper {width:100%; float:none;}
.res320 .service-form-section .info-block h2 {font-size:22px;}
.res320 .service-form-section .frmbfield.frmbtext.F2QQuestion2, .res320 .service-form-section .frmbfield.frmbtext.F2QQuestion3 {margin-right:0;width:100%;float:none;clear:both;}
.res320 .service-form-section input.submit {float:none;}

/* locations*/
.location-banner {width:100%;background-color:#fff;padding:20px 20px;box-sizing:border-box;}
.location-content {max-width:1170px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:0px;}
.location-info {text-align:left;}
.location-info h2 {color:#050b1a;font-size:44px;font-weight:900;margin:0 0 0px 0;text-transform:uppercase;/* letter-spacing:0.5px; */align-items:center;gap:10px;}
.location-info h2 .arrow-icon {display:inline-block;width:55px;height:35px;background-image:url('/images/site/newhome/flecha.png');background-size:contain;background-repeat:no-repeat;background-position:center;}
.location-info .address {color:#333;font-size:24px;font-style:italic;font-weight:300;margin:0 0 10px 0;}
.phones-wrapper {display:flex; gap:15px; margin-bottom:25px;}
.phone-btn {background-color:#050b1a;color:#fff;font-size:28px;font-weight:800;padding:5px;text-decoration:none;display:inline-block;border-radius:2px;}
.reputation-link {color:#050b1a;font-size:26px;font-weight:700;font-style:italic;text-underline-offset:4px;}
.reputation-link:hover {text-decoration:underline;}
.location-map img {max-height:max-content;width:auto;display:block;}

.res1810 .location-content {max-width:1810px;margin:40px 0px;}
.res1810 .location-info h2 {font-size:84px;}
.res1810 .location-info h2 .arrow-icon {display:inline-block;width:81px;height:94px;}
.res1810 .location-info .address {font-size:44px;}
.res1810 .reputation-link {font-size:48px;}
.res1810 .phone-btn {font-size:54px;}

.res720 .location-info .address {font-size:18px;}
.res720 .phone-btn {font-size:20px;}
.res720 .reputation-link {font-size:19px;}
.res720 .location-content {/* flex-direction:column; *//* text-align:center; */}
.res720 .location-info {/* text-align:center; */}
.res720 .location-info h2 {justify-content:center;font-size:31px;}
.res720 .phones-wrapper {/* flex-direction:column; *//* align-items:center; *//* gap:10px; */}

.res480 .location-content {/* flex-direction:column; */text-align:center;}
.res480 .location-info {text-align:center;}
.res480 .location-info h2 {text-align:center;font-size:34px;}
.res480 .phones-wrapper {flex-direction:column; align-items:center; gap:10px;}
.res480 .location-info h2 .arrow-icon {display:none;}
.res480 .phone-btn {font-size:20px;}
.res480 .reputation-link {font-size:19px;}

.res320 .location-content {flex-direction:column;text-align:center;gap:40px;}
.res320 .location-info {text-align:center;}
.res320 .location-info h2 {text-align:center;font-size:34px;}
.res320 .phones-wrapper {flex-direction:column; align-items:center; gap:10px;}
.res320 .location-info h2 .arrow-icon {display:none;}
.res320 .phone-btn {font-size:20px;}
.res320 .reputation-link {font-size:20px;}
.res320 .location-info .address {font-size:18px;}
