.elementor-74 .elementor-element.elementor-element-d93e938{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-74 .elementor-element.elementor-element-a8bcbc1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0rem;--padding-bottom:2rem;--padding-left:2rem;--padding-right:2rem;}.elementor-74 .elementor-element.elementor-element-a8bcbc1:not(.elementor-motion-effects-element-type-background), .elementor-74 .elementor-element.elementor-element-a8bcbc1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5F5;}.elementor-74 .elementor-element.elementor-element-1ba10c0{--display:flex;--padding-top:2rem;--padding-bottom:0rem;--padding-left:2rem;--padding-right:2rem;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-74 .elementor-element.elementor-element-efd67e6 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:2.25em;font-weight:800;color:#003366;}.elementor-74 .elementor-element.elementor-element-3200d1f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:2rem;--padding-bottom:0rem;--padding-left:2rem;--padding-right:2rem;}.elementor-74 .elementor-element.elementor-element-81dc40c{--display:flex;--justify-content:center;}.elementor-widget-media-carousel .elementor-carousel-image-overlay{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-74 .elementor-element.elementor-element-8c77144.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-74 .elementor-element.elementor-element-8c77144 .elementor-main-swiper{height:350px;}.elementor-74 .elementor-element.elementor-element-8c77144 .elementor-main-swiper .swiper-slide{border-radius:1rem;}.elementor-74 .elementor-element.elementor-element-8c77144 .elementor-swiper-button{font-size:20px;}.elementor-74 .elementor-element.elementor-element-e9083c2{--display:flex;}.elementor-74 .elementor-element.elementor-element-49364ee{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-74 .elementor-element.elementor-element-5390d2c{padding:15px 15px 15px 15px;color:var( --e-global-color-secondary );}.elementor-74 .elementor-element.elementor-element-20ca0ad{--display:flex;}.elementor-74 .elementor-element.elementor-element-bfde789{padding:15px 15px 15px 15px;color:var( --e-global-color-secondary );}.elementor-74 .elementor-element.elementor-element-62debb0{--display:flex;}.elementor-74 .elementor-element.elementor-element-7ae00b3{padding:15px 15px 15px 15px;color:var( --e-global-color-secondary );}.elementor-74 .elementor-element.elementor-element-14654ec{--display:flex;}.elementor-74 .elementor-element.elementor-element-78fece6{padding:15px 15px 15px 15px;color:var( --e-global-color-secondary );}.elementor-74 .elementor-element.elementor-element-07c5fca{--display:flex;}.elementor-74 .elementor-element.elementor-element-801072a{padding:15px 15px 15px 15px;color:var( --e-global-color-secondary );}.elementor-74 .elementor-element.elementor-element-718c769{--n-accordion-title-font-size:1rem;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-border-radius:15px 15px 15px 15px;--n-accordion-icon-size:15px;}.elementor-74 .elementor-element.elementor-element-718c769 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );}:where( .elementor-74 .elementor-element.elementor-element-718c769 > .e-n-accordion > .e-n-accordion-item ) > .e-con{border-style:none;}.elementor-74 .elementor-element.elementor-element-93f3f83{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-74 .elementor-element.elementor-element-fce7b76{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-74 .elementor-element.elementor-element-2e74663{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-74 .elementor-element.elementor-element-00d3712{--display:flex;}.elementor-74 .elementor-element.elementor-element-00d3712.e-con{--align-self:center;}.elementor-74 .elementor-element.elementor-element-f68001d{color:#FFFFFF;}.elementor-74 .elementor-element.elementor-element-8fa591e{--display:flex;}.elementor-74 .elementor-element.elementor-element-6b6d3eb{--display:flex;--border-radius:15px 15px 15px 15px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-74 .elementor-element.elementor-element-6b6d3eb:not(.elementor-motion-effects-element-type-background), .elementor-74 .elementor-element.elementor-element-6b6d3eb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF30;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-74 .elementor-element.elementor-element-0f504eb .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-74 .elementor-element.elementor-element-0f504eb .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-74 .elementor-element.elementor-element-0f504eb .elementor-field-group.recaptcha_v3-bottomleft, .elementor-74 .elementor-element.elementor-element-0f504eb .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-74 .elementor-element.elementor-element-0f504eb .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-74 .elementor-element.elementor-element-0f504eb .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-74 .elementor-element.elementor-element-0f504eb .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-74 .elementor-element.elementor-element-0f504eb .elementor-field-type-html{padding-bottom:0px;}.elementor-74 .elementor-element.elementor-element-0f504eb .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-74 .elementor-element.elementor-element-0f504eb .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-74 .elementor-element.elementor-element-0f504eb .e-form__buttons__wrapper__button-next{background-color:#9E0E10;color:#ffffff;}.elementor-74 .elementor-element.elementor-element-0f504eb .elementor-button[type="submit"]{background-color:#9E0E10;color:#ffffff;}.elementor-74 .elementor-element.elementor-element-0f504eb .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-74 .elementor-element.elementor-element-0f504eb .e-form__buttons__wrapper__button-previous{background-color:#9E0E10;color:#ffffff;}.elementor-74 .elementor-element.elementor-element-0f504eb .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-74 .elementor-element.elementor-element-0f504eb .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-74 .elementor-element.elementor-element-0f504eb .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-74 .elementor-element.elementor-element-0f504eb .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-74 .elementor-element.elementor-element-0f504eb{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-74 .elementor-element.elementor-element-6e1672a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-74 .elementor-element.elementor-element-dade309{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-74 .elementor-element.elementor-element-8c77144.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(max-width:767px){.elementor-74 .elementor-element.elementor-element-a8bcbc1{--padding-top:1rem;--padding-bottom:1rem;--padding-left:1rem;--padding-right:1rem;}.elementor-74 .elementor-element.elementor-element-3200d1f{--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-74 .elementor-element.elementor-element-8c77144.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(min-width:768px){.elementor-74 .elementor-element.elementor-element-a8bcbc1{--content-width:1280px;}.elementor-74 .elementor-element.elementor-element-1ba10c0{--content-width:1280px;}}@media(min-width:2400px){.elementor-74 .elementor-element.elementor-element-8c77144.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}/* Start custom CSS for html, class: .elementor-element-72df16d *//* ------------------- */
    /* VARIABLES Y GLOBALES */
    /* ------------------- */
    :root {
      --rail-red: #B71C1C;   /* rojo ferroviario */
      --rail-blue: #003366;  /* azul confianza */
      --rail-green: #28A745; /* CTA */
      --rail-gray: #F5F5F5;  /* fondos claros */
      --slate-100: #f1f5f9;
      --slate-200: #e2e8f0;
      --slate-500: #64748b;
      --slate-600: #475569;
      --slate-700: #334155;
      --slate-800: #1e293b;
    }

    /* Reseteo básico y configuración de fuentes */
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      background-color: #fff;
      color: var(--slate-800);
      line-height: 1.6;
    }
.h1boton{
font-size: 15px !important;
font-family:  Montserrat, Inter, system-ui, sans-serif;
font-weight: 500 !important;
}
.blanco{
    color: #ffffff !important;
}
 
#areas {
	background-image: linear-gradient(to right, rgba(0,0,0,0.6), rgba(0,0,0,0.3), rgba(0,0,0,0.1)), url(https://innobahn.cl/wp-content/uploads/2025/11/Puente-Malleco-01.jpg);
	background-position: center;
	padding: 60px 0px;
	/* color: #ffffff; */
}
    .heading {
      font-family: Montserrat, Inter, system-ui, sans-serif;
    }
    .fondoblanco{
        background-color: #ffffff;
    }
    .section {
      padding-top: 5rem;    /* 80px */
      padding-bottom: 5rem; /* 80px */
      scroll-margin-top: 64px; /* Altura del navbar */
    }

    .container {
      max-width: 1280px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 1rem;
      padding-right: 1rem;
    }
    
    /* Clases de utilidad personalizadas */
    .glass {
      backdrop-filter: saturate(140%) blur(10px);
      background: rgba(255, 255, 255, .08);
    }
    .shadow-soft {
      box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
    }
    
    /* ------------------- */
    /* COMPONENTES GENERALES */
    /* ------------------- */
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.75rem 1.5rem; /* py-3 px-6 */
      border-radius: 0.75rem; /* rounded-xl */
      text-decoration: none;
      font-weight: 500;
      transition: opacity 0.2s;
    }
    .btn:hover {
      opacity: 0.9;
    }
    .btn-green {
      background-color: #9e0e10;
      color: white;
    }
    .btn-green:hover{
        color: #ffffff;
    }
    .btn-red {
      background-color: red;
      color: white;
    }

    /* ------------------- */
    /* NAVBAR */
    /* ------------------- */
    .main-header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 50;
      background-color: rgba(0, 0, 0, 0.8);
      backdrop-filter: blur(10px);
    }
    
    .navbar {
      height: 64px; /* h-16 */
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    
    .logo {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      text-decoration: none;
    }
    
    .logo-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 36px;
      height: 36px;
      border-radius: 0.75rem;
      background-color: var(--rail-red);
      color: white;
    }
    
    .logo-text {
      font-size: 1.25rem;
      font-weight: 800;
      letter-spacing: -0.05em;
      color: var(--rail-blue);
    }
    
    .main-nav {
      display: none; /* Oculto por defecto */
      align-items: center;
      gap: 2rem;
      font-size: 0.875rem;
      font-weight: 500;
    }
    
    .main-nav a {
      text-decoration: none;
      color: #ffffff;
    }
    
    .main-nav a:hover {
      color: #ffffff;
    }

    .main-nav .btn {
      margin-left: 0.5rem;
      padding: 0.5rem 1rem; /* py-2 px-4 */
    }
    
    /* ------------------- */
    /* HERO */
    /* ------------------- */
    .hero {
      padding-top: 3rem; /* pt-28 */
      	padding-bottom: 0px;
    }

    .hero-wrapper {
      position: relative;
    }

    .hero-bg {
      position: absolute;
      inset: 0;
      z-index: -1;
    }

    .hero-bg img {
      width: 100%;
      height: 100vh;
      object-fit: cover;
    }

    .hero-bg-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, rgba(0,0,0,0.6), rgba(0,0,0,0.3), rgba(0,0,0,0.1));
    }
    
    .hero-content {
      min-height: 60vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding-top: 20px;
  padding-bottom: 20px;
    }
    
    .hero-content h1 {
      font-size: 2.25rem;
      font-weight: 800;
      color: white;
      line-height: 1.2;
    }
    
    .hero-content h1 span {
      color: #9e0e10;
    }
    
    .hero-content p {
      margin-top: 1.5rem;
      font-size: 1.125rem;
      color: var(--slate-100);
      max-width: 56rem; /* max-w-3xl */
    }
    
    .hero-buttons {
      margin-top: 2rem;
      display: flex;
      align-items: center;
      gap: 1rem;
    }
    
    .btn-secondary {
      background-color: rgba(255, 255, 255, 0.1);
      color: white;
      border: 1px solid rgba(255, 255, 255, 0.3);
    }
    .btn-secondary:hover {
      background-color: rgba(255, 255, 255, 0.2);
    }

    /* ------------------- */
    /* GRID LAYOUTS */
    /* ------------------- */
    .grid {
      display: grid;
      gap: 2.5rem; /* gap-10 */
    }

    .grid-gap-6 {
      gap: 1.5rem;
    }
    .grid-gap-4 {
      gap: 1rem;
    }

    /* ------------------- */
    /* SECTIONS */
    /* ------------------- */
    .bg-light-gray {
      background-color: var(--rail-gray);
    }

    .section-title {
      font-size: 1.875rem;
      font-weight: 800;
      color: var(--rail-blue);
    }
    
 
    .title-wrapper {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 1.5rem;
    }
    
    /* About Us Section */
    .about-content {
      align-items: center;
    }
    .about-content h2 {
      margin: 0;
    }
    .about-content p {
      margin-top: 1.25rem;
      font-size: 1.125rem;
      color: var(--slate-700);
    }
    .tags-container {
      margin-top: 1.5rem;
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
    }
    .tag {
      padding: 0.25rem 0.75rem;
      border-radius: 9999px;
      background-color: white;
      border: 1px solid var(--slate-200);
      font-size: 0.875rem;
    }
    .image-box {
      position: relative;
    }
    .image-box img {
      width: 100%;
      border-radius: 1rem;
    }
    .image-card {
      position: absolute;
      bottom: -1.5rem;
      left: -1.5rem;
      background-color: white;
      border-radius: 1rem;
      padding: 1.5rem;
      border: 1px solid var(--slate-200);
    }
    .image-card p:first-child {
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--rail-blue);
    }
    .image-card p:last-child {
      font-size: 0.875rem;
      color: var(--slate-600);
    }
    
    /* Services Section */
    .service-card {
      padding: 1.5rem;
      border-radius: 1rem;
      border: 1px solid var(--slate-200);
      transition: transform 0.2s;
    }
    .service-card:hover {
      transform: translateY(-2px);
    }
    .service-card-icon {
      width: 48px;
      height: 48px;
      border-radius: 0.75rem;
      background-color: rgba(0, 51, 102, 0.1);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1rem;
      padding: 5px;
    }
    .service-card-icon svg {
      width: 24px;
      height: 24px;
      color: var(--rail-blue);
    }
    .service-card h3 {
      font-size: 1.25rem;
      font-weight: 700;
    }
    .service-card p {
      margin-top: 0.5rem;
      font-size: 0.875rem;
      color: var(--slate-600);
    }
    
    /* Methodology Section */
    .step-card {
      position: relative;
      background-color: white;
      padding: 1.5rem;
      border-radius: 1rem;
      border: 1px solid var(--slate-200);
    }
    .step-card h3 {
      font-size: 1.125rem;
      font-weight: 700;
      color: var(--rail-blue);
    }
    .step-card ul {
      margin-top: 0.75rem;
      font-size: 0.875rem;
      color: var(--slate-600);
      list-style-position: inside;
      padding-left: 0;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
    .step-card.highlighted {
      box-shadow: 0 0 0 2px rgba(183, 28, 28, 0.4);
    }
    .step-card::before {
      content: "";
      position: absolute;
      left: 1rem;
      top: 0;
      bottom: 0;
      width: 0px;
      background: linear-gradient(180deg, var(--rail-blue), var(--rail-red));
      opacity: .2
    }

    /* Clients Section */
    .client-box {
      padding: 1.25rem;
      border-radius: 1rem;
      border: 1px solid var(--slate-200);
      text-align: center;
      background: #fff;
    }
    
    /* Benefits Section */
    .benefit-card {
      padding: 1.5rem;
      border-radius: 1rem;
      border: 1px solid var(--slate-200);
      background-color: white;
    }
    .benefit-card h3 {
      font-weight: 700;
    }
    .benefit-card p {
      margin-top: 0.5rem;
      font-size: 0.875rem;
      color: var(--slate-600);
    }

    /* Cases Section */
    .cases-grid img {
      border-radius: 1rem;
      width: 100%;
      height: 256px; /* h-64 */
      object-fit: cover;
    }

    /* Contact Section */
    .contact-section {
      background: linear-gradient(to bottom right, var(--rail-blue), var(--rail-red));
      color: white;
    }
    .contact-grid {
      align-items: center;
    }
    .contact-content h2 {
      font-size: 1.875rem;
      font-weight: 800;
    }
    .contact-content p {
      margin-top: 0.75rem;
      color: rgba(255,255,255,0.9);
    }
    .contact-content ul {
      margin-top: 1.5rem;
      list-style-type: none;
      color: rgba(255,255,255,0.85);
      font-size: 0.875rem;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
    .contact-form {
      border-radius: 1rem;
      padding: 1.5rem;
      border: 1px solid rgba(255,255,255,0.1);
    }
    .contact-form .grid { gap: 1rem; }
    
    .contact-form input, .contact-form textarea {
      width: 100%;
      padding: 0.75rem 1rem;
      border-radius: 0.75rem;
      background-color: rgba(255,255,255,0.9);
      color: var(--slate-800);
      border: none;
      outline: none;
      transition: box-shadow 0.2s;
    }
    .contact-form input::placeholder, .contact-form textarea::placeholder {
      color: var(--slate-500);
    }
    .contact-form input:focus, .contact-form textarea:focus {
      box-shadow: 0 0 0 4px rgba(40, 167, 69, 0.3);
    }
    .contact-form button {
      margin-top: 0.5rem;
      width: 100%;
      border: none;
      cursor: pointer;
    }

    /* ------------------- */
    /* FOOTER */
    /* ------------------- */
    .main-footer {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
      background-color: #0b1524;
      color: white;
    }
    .footer-content {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      gap: 1.5rem;
    }
    .footer-logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }
    .footer-logo p { line-height: 1.2; }
    .footer-logo .heading { font-weight: 700; }
    .footer-logo .subtext { font-size: 0.75rem; color: rgba(255,255,255,0.7); }
    .footer-nav {
      display: flex;
      gap: 1.5rem;
      font-size: 0.875rem;
      color: rgba(255,255,255,0.8);
    }
    .footer-nav a { text-decoration: none; color: inherit; }
    .footer-nav a:hover { color: white; }
    .footer-copy {
      font-size: 0.75rem;
      color: rgba(255,255,255,0.6);
    }
    
    /* ------------------- */
    /* RESPONSIVE DESIGN */
    /* ------------------- */
    @media (min-width: 640px) { /* sm */
      .container { padding-left: 1.5rem; padding-right: 1.5rem; }
      .hero-content h1 { font-size: 3rem; }
      .hero-content p { font-size: 1.25rem; }
      .grid-sm-cols-2 { grid-template-columns: repeat(2, 1fr); }
    }
    
    @media (min-width: 768px) { /* md */
      .main-nav { display: flex; }
      .section-title { font-size: 2.25rem; }
      .hero-content h1 { font-size: 3.75rem; }
      .grid-md-cols-2 { grid-template-columns: repeat(2, 1fr); }
      .grid-md-cols-3 { grid-template-columns: repeat(3, 1fr); }
      .grid-md-cols-4 { grid-template-columns: repeat(4, 1fr); }
      .footer-content { flex-direction: row; }
    }

    @media (min-width: 1024px) { /* lg */
      .container { padding-left: 2rem; padding-right: 2rem; }
      .grid-lg-cols-4 { grid-template-columns: repeat(4, 1fr); }
      .grid-lg-cols-5 { grid-template-columns: repeat(5, 1fr); }
    }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fce7b76 *//* CONTENEDOR CON FONDO DEGRADADO */
.cf7-agendar{
  background: linear-gradient(160deg,#3a2742 0%, #5a2945 50%, #b33b2f 100%);
  padding: 0px
  border-radius: 14px;
  position: relative;
}

/* TARJETA SEMITRANSPARENTE (GLASS) */
.cf7-agendar .cf7-card{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.18);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 14px;
  padding: 20px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.25);
    padding-bottom: 0px;
}

/* GRID PARA EMAIL + TELÉFONO */
.cf7-agendar .cf7-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 12px 0;
}

/* INPUTS Y TEXTAREA */
.cf7-agendar input[type="text"],
.cf7-agendar input[type="email"],
.cf7-agendar input[type="tel"],
.cf7-agendar textarea{
  width: 100%;
  background: #f3eef1;
  color: #2a2a2a;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 12px;
  padding: 14px 16px;
  outline: none;
  box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 6px 16px rgba(0,0,0,0.06);
  transition: border-color .2s, box-shadow .2s, background .2s;
  font-size: 15px;
}

/* PLACEHOLDER */
.cf7-agendar ::placeholder{
  color: #7a8896;
  opacity: 1;
}

/* FOCUS */
.cf7-agendar input:focus,
.cf7-agendar textarea:focus{
  border-color: #7fb3ff;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(127,179,255,0.18);
}

/* ALTURA DEL MENSAJE */
.cf7-agendar textarea{
  min-height: 160px;
  resize: vertical;
}

/* BOTÓN ENVIAR */
.cf7-agendar input[type="submit"]{
  width: 100%;
  background: #48a447;         /* verde principal */
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 14px 18px;
  font-weight: 600;
  letter-spacing: .2px;
  cursor: pointer;
  margin-top: 14px;
  box-shadow: 0 8px 20px rgba(72,164,71,.25);
  transition: transform .05s ease, background .2s ease, box-shadow .2s ease;
}

.cf7-agendar input[type="submit"]:hover{
  background: #3f9340;
  box-shadow: 0 10px 22px rgba(72,164,71,.32);
}

.cf7-agendar input[type="submit"]:active{
  transform: translateY(1px);
}

/* MENSAJES DE ÉXITO/ERROR DE CF7 (opcional) */
.cf7-agendar .wpcf7-response-output{
  border-radius: 10px;
  margin: 14px 0 0;
}

/* RESPONSIVE: apilar email/teléfono en móvil */
@media (max-width: 640px){
  .cf7-agendar .cf7-row{ grid-template-columns: 1fr; }
}/* End custom CSS */