

/* services-index */

/* Parallax suave para el fondo */
    .parallax-bg{
      background-attachment: fixed;
      background-position: center;
      background-size: cover;
    }
    /* Línea decorativa bajo el H1 */
    .accent-line::after{
      content:"";
      display:block;
      width:80px;
      height:3px;
      margin:12px auto 0;
      background: linear-gradient(90deg,#e63946,#ef476f);
      border-radius:9999px;
    }
    /* Sombra sutil de las cards */
    .card-shadow{
      box-shadow: 0 10px 30px rgba(0,0,0,.08);
    }

    .colormain{
        color: rgb(30 57 95) ;
    }



     /* Título principal */
  .why-title {
    margin-top: 40px; /* separación arriba */
    font-size: 2.8rem; /* tamaño por defecto */
    font-weight: 800;
    color: #172F53;
    line-height: 1.2;
  }

  /* Textos de la derecha */
  .why-text {
    font-size: 1.65rem; /* un poco más grande */
    font-weight: 700;   /* más grosor */
    color: #000;
  }



  /*-------------------------------------------------- about page-------------------------------------------- */

  /* Contenedor general */
.blog-section-alt {
  display: grid;
  grid-template-columns: 1.5fr 1fr; /* izquierda 60%, derecha 40% */
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  /* padding: 3rem 1.5rem; */
}

/* Columnas */
.blog-left {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.blog-right {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* Tarjetas */
.values-card,
.sidebar-card {
  background: #f9f9f9;
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.service-area {
  background: #1e3a8a;
  color: white;
  text-align: center;
}

.phone-btn {
  display: inline-block;
  margin-top: 1rem;
  background: #2563eb;
  color: white;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: bold;
  text-decoration: none;
  transition: background 0.3s;
}
.phone-btn:hover {
  background: #1d4ed8;
}

/* Colores personalizados */
.about-title {
  color: #F4633A; /* Naranja */
}

.subtitle {
  color: #002554; /* Azul oscuro */
}

/* Responsive */
@media (max-width: 1024px) {
  .blog-section-alt {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px){
  /* Columnas */
.blog-left {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-left: 10px;
}
  }
/*-------------------------------- Our Team -------------------------------------------*/
    /* --- Layout general --- */
    .intro {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 2rem;
      margin-bottom: 3rem;
    }
    .intro-text {
      flex: 1 1 60%;
    }
    .intro-image {
      flex: 1 1 35%;
      text-align: center;
    }

    .team-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 2rem;
      margin-bottom: 3rem;
    }
.team-card {
  width: 100%;
  max-width: 260px;   /* ✅ más compacta */
  min-height: 320px;  /* altura reducida */
  margin: 0 auto;
  position: relative;
  background: white;
  border: 1px solid #ddd;
  text-align: center;
  overflow: hidden;
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem;
}
.team-card:hover {
  transform: translateY(-5px);
}
  /* --- Imagen más pequeña --- */
.team-card img {
  max-width: 200px;   /* ✅ reducida */
  height: auto;
  object-fit: contain;
  margin: 0.5rem auto;
  z-index: 1;
  position: relative;
}

   /* --- Overlay diagonal naranja --- */
.team-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #f4633a;
  transform: skewX(-20deg);
  transition: all 0.5s ease;
  z-index: 0;  /* queda detrás del texto */
}
.team-card:hover::before {
  left: 0;
}


   /* --- Social icons --- */
.social-icons {
  position: absolute;
  left: -60px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: left 0.3s ease;
  z-index: 2;
}
.team-card:hover .social-icons {
  left: 10px;
}
.social-icons a {
  color: #002554;
  background: white;
  border: 1px solid #ddd;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 14px;
  transition: background 0.3s, color 0.3s;
}
.social-icons a:hover {
  background: #F4633A;
  color: white;
}

 /* --- Texto más grande --- */
.card-text h3 {
  font-weight: bold;
  font-size: 1.2rem;  /* más grande */
  margin-bottom: 0.25rem;
  color: #002554;
  transition: color 0.3s ease;
  position: relative;
  z-index: 2;         /* siempre encima del overlay */
}

.card-text p {
  color: #b02a2a;
  font-size: 1rem;    /* más grande */
  transition: color 0.3s ease;
  position: relative;
  z-index: 2;
}

/* --- Cambios de color en hover --- */
.team-card:hover .card-text h3 {
  color: #000; /* negro */
}
.team-card:hover .card-text p {
  color: #fff; /* blanco */
}
    /* --- Botón Meet the Team --- */
    .meet-btn {
      background-color: #F4633A;
      color: white;
      font-weight: bold;
      padding: 0.5rem 1rem;
      border: none;
      cursor: pointer;
      font-size: 0.9rem;
      letter-spacing: 0.5px;
      margin-bottom: 1rem;
      display: inline-block;
      transition: background 0.3s ease;
    }
    .meet-btn:hover {
      background-color: #d94e27;
    }

    /* --- Map Grid --- */
    .map-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.5rem;
    }
    .map-grid iframe {
      width: 100%;
      height: 250px;
      border: 0;
    }

    /* Responsive */
    @media (max-width: 768px) {
      .intro {
        flex-direction: column;
        text-align: center;
      }
      .intro-text, .intro-image {
        flex: 1 1 100%;
      }
    }


/*----------------------locations------------------*/
 .location-card {
    background: #fff;
    border: 1px solid #ddd; /* borde resaltado */
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: all .3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .location-card:hover {
    transform: translateY(-6px);
    border-color: #bbb;
    box-shadow: 0 12px 28px rgba(0,0,0,0.15);
  }
  .card-footer {
    padding: 1rem;
    border-top: 1px solid #eee;
    text-align: center;
  }
  .visit-btn {
    display: inline-block;
    background: #F4633A;
    color: #fff;
    font-weight: 600;
    padding: 0.6rem 1.2rem;
    border-radius: 0.4rem;
    text-decoration: none;
    transition: background .3s ease;
  }
  .visit-btn:hover {
    background: #d94e25;
  }

    .location-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  }
  .location-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    border-color: #F4633A;
  }


  /*--------------------------------vancouver-----------------------------*/

  /* ====== HERO ====== */
.frs-hero{
  position:relative;
  width:100%;
  height:75vh;             
  display:flex;
  justify-content:flex-start; 
  align-items:flex-start;    
  overflow:hidden;
}

.frs-hero-bg{
  position:absolute; 
  inset:0;
  width:100%; 
  height:100%;
  object-fit:cover; 
  object-position:center;
  z-index:0;
}

/* ====== CARD ====== */
.frs-card{
  position:relative;   
  z-index:1;           
  width:50%;               
  min-width:520px;         
  background:rgba(11,42,87,0.95);
  color:#fff;
  padding:36px 40px;
  border-radius:0 0 36px 0;
  border-bottom:8px solid #F4633A;
  text-align:center;        
}

.hero-title{
  margin:0 0 18px;
  line-height:1.3;
  font-size:32px;          
  font-weight:800;
  text-align:center;
  color:#fff;
}

.frs-license{ 
  margin:0 0 20px; 
  font-size:15px; 
  opacity:.95; 
}
.frs-subtitle{ 
  margin:0 0 16px; 
  font-size:20px; 
  font-weight:800; 
}

/* ====== FORM ====== */
.frs-form{ 
  display:flex; 
  flex-direction:column; 
  gap:14px;                
  align-items:center;     
}

.frs-input{
  width:80%;              
  max-width:360px;        
  padding:14px 16px;       
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.06);
  color:white;
  border-radius:6px;
  font-size:16px;          
  outline:none;
  text-align:left;
}
.frs-input::placeholder{ 
  color:rgba(255,255,255,.7); 
}
.frs-input:focus{ 
  border-color:#F4633A; 
  background:rgba(255,255,255,.12); 
}

.frs-input2{
  width:80%;              
  max-width:360px;        
  padding:14px 16px;       
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.06);
  color:black;
  border-radius:6px;
  font-size:16px;          
  outline:none;
  text-align:left;
}
.frs-small{ 
  margin:4px 0 0; 
  font-size:14px; 
  opacity:.9; 
  text-align:center; 
}

/* ====== BOTÓN ====== */
.frs-btn{
  margin-top:6px;
  background:#F4633A;
  color:#fff;
  border:0;
  padding:12px 20px;        
  border-radius:6px;       
  font-size:15px;          
  font-weight:700;
  cursor:pointer;
}
.frs-btn:hover{ 
  filter:brightness(.95); 
}

.frs-note{ 
  margin:14px 0 0; 
  font-size:14px; 
  opacity:.9; 
  text-align:center; 
}

/* ====== Responsive ====== */
@media (max-width: 900px){
  .frs-hero{
    height:auto;          
  }

  .frs-card{
    width:85%;          /* más angosta en celular (no ocupa toda la pantalla) */
    min-width:auto;
    border-radius:0 0 24px 0;
    padding:22px 18px;  
    text-align:left;    
  }

  .hero-title{
    text-align:left;
    font-size:22px;  /* texto más pequeño en celular */
  }

  .frs-form{ 
    align-items:flex-start;  
  }

  .frs-input{
    width:75%;   /* más pequeños los inputs */
    font-size:14px;
    padding:10px 12px;
  }

  .frs-btn{
    font-size:14px;
    padding:10px 16px;
  }

  .frs-small, .frs-note{ 
    text-align:left; 
    font-size:13px;
  }
}

  /*--------------------------------vancouver seccion 2-----------------------------*/

/* ====== SECTION INFO ====== */
.vnc-info{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:40px;
  padding:80px 8%;
  background:#fff;
  
}

/* ====== Columna izquierda (video + features) ====== */
.vnc-info-left{
  flex:1.3;                 /* más ancho que el texto */
  background:#F4633A;
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  color:#fff;
}

.vnc-media{
  display:flex;
  gap:20px;
  align-items:flex-start;
  width:100%;
}

/* Video */
.vnc-video{
  flex:1;
  max-width:380px;
  border-radius:6px;
  max-height: 380px;
}

/* Features */
.vnc-features{
  flex:1;
  list-style:none;
  padding:0;
  margin:0;
}
.vnc-features li{
  display:flex;
  align-items:center;
  gap:14px;          /* espacio entre icono y texto */
  font-size: 20px;    /* texto más grande al lado de los iconos */
  margin:12px 0;
  font-weight:500;
  line-height:1.4;
}

/* SLOT del icono SVG */
.vnc-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  color:#fff;              /* SVG con currentColor */
}
.vnc-ico svg{
  width:100%;
  height:100%;
  display:block;
  fill:currentColor;
  stroke:currentColor;
}

/* ====== Columna derecha (texto) ====== */
.vnc-info-right{ flex:1; }
.vnc-title{
  color:#F4633A;
  font-size:28px;
  font-weight:800;
  margin-bottom:12px;
}
.vnc-subtitle{
  font-size:20px;
  font-weight:700;
  margin-bottom:14px;
}
.vnc-info-right p{
  font-size:16px;
  line-height:1.65;
  margin-bottom:12px;
  color:#333;
}

/* ====== Orden en móvil: TEXTO PRIMERO ====== */
@media (max-width: 900px){
  .vnc-info{
    flex-direction:column;
    padding:50px 20px;
  }

  /* Reordenar: primero el texto, luego el bloque naranja */
  .vnc-info-right{ order: 1; }
  .vnc-info-left{ order: 2; }

  .vnc-media{
    flex-direction:column;
    align-items:center;
  }
  .vnc-video{
    max-width:580px;
    max-height: 380px;
  }
  .vnc-features{
    width:100%;
    margin-top:10px;
  }
}






  /* 🎯 contact seccion */
     /* 🎯 Clases únicas FRS2 */
  .frs2-contact-hero {
    position: relative;
    min-height: 100vh; /**/
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 40px 0; /* margen arriba y abajo */
  }

  .frs2-contact-bg {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 0;
  }

  .frs2-contact-bg::after {
    content:"";
    position:absolute;
    inset:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    filter: blur(10px) brightness(.6);
    transform: scale(1.05);
    z-index:0;
  }

  .frs2-contact-card {
    position: relative;
    z-index: 10;
    width: 600px; /* ⬅️ antes 420px, ahora más ancho */
    max-width: calc(100% - 80px); /* margen lateral más chico */
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 25px 50px rgba(2,6,23,0.4);
    padding: 40px; /* ⬅️ antes 28px */
    border-top: 8px solid #1e3a8a;
  }

  .frs2-contact-title {
    color:#0b2a57;
    font-weight:800;
    font-size:1.6rem; /* un poquito más grande */
    text-align:center;
    margin-bottom:12px;
  }

  .frs2-contact-desc {
    color:#333;
    font-size:1rem;
    line-height:1.6;
    margin-bottom:22px;
    text-align:center;
  }

  .frs2-input {
    background:#2f4056;
    color:#fff;
    border: 2px solid rgba(255,255,255,0.06);
    padding:12px 14px;
    border-radius:6px;
    font-size:1rem;
    outline:none;
    transition: all .15s ease;
    width: 100%;
  }

  .frs2-input::placeholder {
    color: rgba(255,255,255,0.7);
  }

  .frs2-input:focus {
    box-shadow: 0 0 0 3px rgba(244,99,58,0.12);
    border-color: rgba(244,99,58,0.9);
    background:#34495f;
  }

  .frs2-textarea {
    min-height:200px;
    resize:vertical;
  }

  .frs2-btn {
    background:#F4633A;
    color:#fff;
    font-weight:700;
    padding:12px 16px;
    border-radius:8px;
    box-shadow: 0 6px 16px rgba(244,99,58,0.18);
    transition: transform .12s ease, box-shadow .12s ease;
    width: 100%;
    text-align: center;
  }

  .frs2-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(244,99,58,0.22);
  }

  .frs2-small-note {
    font-size:0.9rem;
    color:#667085;
    margin-top:16px;
    text-align:center;
  }

  @media (max-width:640px) {
    .frs2-contact-card {
      width:95%;
      padding:24px;
    }
    .frs2-input {
      font-size:0.95rem;
      padding:10px 12px;
    }
    .frs2-textarea {
      min-height:150px;
    }
  }