*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#23313b;background:#fff;line-height:1.65}img{max-width:100%;display:block}.container{width:min(1120px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);box-shadow:0 4px 20px rgba(0,0,0,.07);backdrop-filter:blur(10px)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:185px;max-height:58px;object-fit:contain}.menu{display:flex;align-items:center;gap:26px}.menu a{color:#19304b;text-decoration:none;font-weight:700;font-size:14px}.nav-cta{background:#079a86!important;color:#fff!important;padding:11px 18px;border-radius:10px}.menu-toggle{display:none;background:none;border:0;cursor:pointer}.menu-toggle span{display:block;width:25px;height:3px;background:#19304b;margin:5px}.hero{position:relative;min-height:640px;overflow:hidden;background:#123}.hero-slides,.hero-slide,.hero-slide img{position:absolute;inset:0;width:100%;height:100%}.hero-slide{opacity:0;transition:opacity 1s ease}.hero-slide.active{opacity:1}.hero-slide img{object-fit:cover;object-position:center;background:#102e4c}.hero-overlay{position:absolute;inset:0;background:transparent;pointer-events:none}.hero-content{position:relative;z-index:2;min-height:640px;display:flex;align-items:center}.hero-copy{max-width:680px;color:#fff}.eyebrow,.section-kicker{display:inline-block;letter-spacing:1.5px;font-weight:800;font-size:12px;color:#08a38e;margin-bottom:10px}.eyebrow{color:#7be3d5}.hero h1{font-size:clamp(38px,5vw,68px);line-height:1.08;margin:0 0 20px}.hero p{font-size:18px;max-width:600px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;padding:14px 22px;border-radius:10px;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:#079a86;color:#fff;box-shadow:0 10px 25px rgba(7,154,134,.25)}.btn-light{background:#fff;color:#17304b}.slider-dots{position:absolute;z-index:3;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.dot{width:10px;height:10px;border:0;border-radius:50%;background:#fff8;cursor:pointer}.dot.active{background:#08a38e;width:30px;border-radius:10px}.section{padding:90px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.image-card{border-radius:22px;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.12)}.image-card img{width:100%;min-height:360px;object-fit:cover}.content-card h2,.section-head h2,.trust h2,.complaints h2{font-size:clamp(30px,4vw,46px);line-height:1.15;color:#17304b;margin:0 0 18px}.content-card p,.section-head p{color:#64717b;text-align:justify}.mini-features{display:grid;gap:12px;margin-top:25px}.mini-features div{display:flex;gap:12px;align-items:center}.mini-features strong{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#dff7f2;color:#079a86}.services{background:#f4f7f8}.centered{text-align:center;max-width:700px;margin:0 auto 42px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(20,40,50,.08);transition:.3s}.service-card:hover{transform:translateY(-8px)}.service-card img{height:210px;width:100%;object-fit:cover}.service-card div{padding:20px}.service-card h3{margin:0 0 8px;color:#17304b}.service-card p{margin:0;color:#68757e}.trust{background:linear-gradient(135deg,#102e4c,#086c73);color:#fff}.trust h2{color:#fff}.trust p{color:#dceaf0}.light{color:#74e4d4}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.trust-points{display:grid;gap:18px}.trust-points>div{display:flex;gap:16px;align-items:center;padding:18px;background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px}.trust-points b{font-size:24px;color:#75e5d6}.trust-points span{display:grid}.trust-points small{color:#d4e6ec}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-grid img{height:280px;width:100%;object-fit:cover;border-radius:16px;transition:.3s}.gallery-grid img:hover{transform:scale(1.02)}.office{background:#f4f7f8}.contact-list{display:grid;gap:14px;margin:24px 0}.contact-list div{padding:14px 16px;border-left:4px solid #079a86;background:#fff;border-radius:8px}.contact-list span{display:block;color:#66757e;font-size:14px}.complaints-box{display:grid;grid-template-columns:1.25fr .75fr;gap:35px;background:#fff;border:1px solid #e4eaed;border-radius:24px;padding:45px;box-shadow:0 20px 55px rgba(17,46,70,.08)}.complaints-copy ul{padding-left:20px;color:#52616b}.complaints-action{border-radius:20px;background:linear-gradient(160deg,#eefaf8,#e6f2f8);padding:30px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.icon-circle{width:65px;height:65px;border-radius:50%;display:grid;place-items:center;background:#079a86;color:#fff;font-size:32px;font-weight:bold}.complaints-action h3{color:#17304b;margin:18px 0 4px}.complaints-action p{color:#63727c}footer{background:#102e4c;color:#d9e5ea;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:45px}.footer-logo{width:180px;filter:brightness(0) invert(1);margin-bottom:14px}.footer-grid h4{color:#fff;margin:0 0 12px}.footer-grid a{display:block;color:#d9e5ea;text-decoration:none;margin:7px 0}.footer-grid p{margin:6px 0}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:999;width:58px;height:58px;border-radius:50%;background:#18b96f;color:#fff;display:grid;place-items:center;text-decoration:none;font-size:30px;box-shadow:0 12px 30px rgba(0,0,0,.2)}@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.two-col,.trust-grid,.complaints-box,.footer-grid{grid-template-columns:1fr}.hero,.hero-content{min-height:560px}.menu-toggle{display:block}.menu{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px;width:100%;box-shadow:0 12px 20px rgba(0,0,0,.08);flex-direction:column;align-items:stretch}.menu.open{display:flex}.menu a{padding:10px}.nav-cta{text-align:center}.section{padding:65px 0}.complaints-box{padding:28px}}@media(max-width:560px){.service-grid,.gallery-grid{grid-template-columns:1fr}.hero h1{font-size:38px}.hero p{font-size:16px}.hero-actions .btn{width:100%}.gallery-grid img{height:240px}.brand img{width:150px}.complaints-box{padding:20px}.section{padding:55px 0}}

/* PORTADA: solo botones centrados dentro de la imagen */
.hero-content{
  position:absolute;
  inset:0;
  z-index:4;
  min-height:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}

.hero-copy{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
}

.hero-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  margin:0;
  pointer-events:auto;
}

@media(max-width:560px){
  .hero-actions{
    flex-direction:column;
    width:88%;
  }
  .hero-actions .btn{
    width:100%;
  }
}


/* BOTONES EN LA PARTE INFERIOR DERECHA DE LA PORTADA */
.hero-content{position:absolute;inset:0;z-index:4;width:100%;min-height:0;display:block;pointer-events:none}
.hero-copy{position:absolute;right:7%;bottom:28px;width:auto;display:block}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;pointer-events:auto}
.hero-actions .btn{min-width:220px}

/* FLECHAS DEL CARRUSEL */
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:58px;height:58px;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(16,46,76,.72);color:#fff;font-size:34px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.25s}
.slider-arrow:hover{background:#079a86;transform:translateY(-50%) scale(1.08)}
.slider-prev{left:26px}.slider-next{right:26px}

@media(max-width:900px){
  .hero-copy{left:50%;right:auto;bottom:28px;transform:translateX(-50%);width:90%}
  .slider-arrow{width:48px;height:48px;font-size:28px}
  .slider-prev{left:14px}.slider-next{right:14px}
}
@media(max-width:560px){
  .hero-copy{bottom:38px}
  .hero-actions{flex-direction:column;width:100%;gap:10px}
  .hero-actions .btn{width:100%;min-width:0}
  .slider-arrow{width:42px;height:42px;font-size:24px}
}


/* CORRECCIÓN FINAL DE LA PORTADA */
.hero {
  position: relative;
  overflow: hidden;
}

.hero-buttons-position {
  position: absolute !important;
  z-index: 20 !important;
  right: 8% !important;
  bottom: 22px !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
}

.hero-buttons-position .btn {
  min-width: 235px !important;
  margin: 0 !important;
}

.hero .slider-arrow {
  z-index: 25 !important;
}

.hero .slider-dots {
  z-index: 21 !important;
}

@media (max-width: 900px) {
  .hero-buttons-position {
    left: 50% !important;
    right: auto !important;
    bottom: 22px !important;
    transform: translateX(-50%) !important;
    width: 90% !important;
  }
}

@media (max-width: 560px) {
  .hero-buttons-position {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .hero-buttons-position .btn {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* UBICACIÓN FINAL: BOTONES CENTRADOS EN LA PARTE INFERIOR DE LA PORTADA */
.hero-buttons-position{
  position:absolute !important;
  z-index:30 !important;
  left:50% !important;
  right:auto !important;
  bottom:28px !important;
  top:auto !important;
  transform:translateX(-50%) !important;
  width:auto !important;
  display:flex !important;
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  gap:16px !important;
}

@media(max-width:560px){
  .hero-buttons-position{
    width:88% !important;
    bottom:34px !important;
    flex-direction:column !important;
  }
}


/* CENTRADO REAL DE LOS DOS BOTONES EN TODA LA PORTADA */
.hero .hero-buttons-position{
  position:absolute !important;
  z-index:50 !important;
  left:0 !important;
  right:0 !important;
  bottom:35px !important;
  top:auto !important;
  width:100% !important;
  margin:0 auto !important;
  transform:none !important;

  display:flex !important;
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  gap:16px !important;
  box-sizing:border-box !important;
}

.hero .hero-buttons-position .btn{
  flex:0 0 auto !important;
}

@media(max-width:560px){
  .hero .hero-buttons-position{
    flex-direction:column !important;
    gap:10px !important;
    padding:0 20px !important;
  }

  .hero .hero-buttons-position .btn{
    width:100% !important;
    max-width:320px !important;
  }
}
/* =====================================================
   DISEÑO RESPONSIVO - CELULAR, TABLET, LAPTOP Y PC
   ===================================================== */

/* Evita que el contenido se salga de la pantalla */
* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

/* Imágenes adaptables */
img {
  max-width: 100%;
  height: auto;
}

/* Videos y contenido multimedia */
video,
iframe {
  max-width: 100%;
}

/* Contenedores */
.container {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* ================= TABLETS ================= */

@media screen and (max-width: 1024px) {

  .container {
    width: 92%;
  }

  h1 {
    font-size: clamp(2rem, 5vw, 3.5rem);
  }

  h2 {
    font-size: clamp(1.6rem, 4vw, 2.5rem);
  }

}

/* ================= CELULARES ================= */

@media screen and (max-width: 768px) {

  body {
    font-size: 15px;
  }

  .container {
    width: 94%;
  }

  /* Secciones en varias columnas pasan a una columna */
  .grid,
  .cards,
  .services-grid,
  .products-grid,
  .credits-grid {
    grid-template-columns: 1fr !important;
  }

  /* Elementos flexibles se acomodan verticalmente */
  .row,
  .content-row,
  .hero-content,
  .section-content {
    flex-direction: column !important;
  }

  /* Imágenes */
  img {
    max-width: 100%;
    height: auto;
  }

  /* Títulos */
  h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  h2 {
    font-size: 1.6rem;
    line-height: 1.3;
  }

  h3 {
    font-size: 1.3rem;
  }

  /* Botones */
  button,
  .btn,
  a.button {
    max-width: 100%;
  }

  /* Formularios */
  input,
  select,
  textarea {
    width: 100%;
    max-width: 100%;
  }

  /* Evita espacios laterales grandes */
  section {
    padding-left: 15px;
    padding-right: 15px;
  }

}

/* ================= CELULARES PEQUEÑOS ================= */

@media screen and (max-width: 480px) {

  .container {
    width: 95%;
  }

  h1 {
    font-size: 1.7rem;
  }

  h2 {
    font-size: 1.4rem;
  }

  p {
    font-size: 0.95rem;
  }

  section {
    padding-left: 10px;
    padding-right: 10px;
  }

}

/* =====================================================
   AJUSTE RESPONSIVO FINAL - MÓVIL, TABLET, LAPTOP Y PC
   No modifica el diseño de escritorio
   ===================================================== */

html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

img, video, iframe{
  max-width:100%;
}

.hero-slide img{
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Pantallas grandes */
@media (min-width:1200px){
  .container{width:min(1200px,92%)}
}

/* Tablets y laptops pequeñas */
@media (max-width:1024px){
  .container{width:92%}
  .two-col,
  .trust-grid{gap:35px}
  .complaints-box{padding:35px}
  #creditos .product-image{height:200px!important}
}

/* Tablets */
@media (max-width:900px){
  .hero{min-height:520px}
  .hero-slides,.hero-slide,.hero-slide img{height:100%}

  .two-col,
  .trust-grid,
  .complaints-box,
  .footer-grid{
    grid-template-columns:1fr!important;
  }

  .two-col{gap:35px}
  .image-card img{min-height:0}

  .hero .hero-buttons-position{
    bottom:28px!important;
    padding:0 70px!important;
  }

  .complaints-box{gap:25px}
}

/* Celulares */
@media (max-width:768px){
  body{font-size:15px}

  .container{width:94%}

  .section{
    padding-top:60px!important;
    padding-bottom:60px!important;
  }

  .service-grid,
  .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  #creditos .service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  #creditos .culture-card h3{
    min-height:auto!important;
    margin:14px 8px 8px!important;
  }

  #creditos .culture-card > p{
    min-height:auto!important;
    margin:0 14px!important;
  }

  #creditos .culture-card a{
    margin:18px auto 20px!important;
    width:calc(100% - 28px);
  }

  .hero .hero-buttons-position{
    padding:0 55px!important;
  }

  .gallery-grid img{
    height:240px;
  }

  .complaints-box{
    padding:28px!important;
  }

  .whatsapp-float{
    right:16px;
    bottom:16px;
  }
}

/* Celulares pequeños */
@media (max-width:560px){
  .container{width:94%}

  .hero{
    min-height:420px;
  }

  .hero .hero-buttons-position{
    left:0!important;
    right:0!important;
    bottom:22px!important;
    width:100%!important;
    padding:0 24px!important;
    gap:10px!important;
  }

  .hero .hero-buttons-position .btn{
    width:100%!important;
    max-width:360px!important;
    padding:12px 16px!important;
  }

  .slider-dots{
    bottom:145px!important;
  }

  .slider-arrow{
    width:38px!important;
    height:38px!important;
    font-size:22px!important;
  }

  .slider-prev{left:10px!important}
  .slider-next{right:10px!important}

  .service-grid,
  .gallery-grid,
  #creditos .service-grid{
    grid-template-columns:1fr!important;
  }

  #creditos .product-image{
    height:auto!important;
    aspect-ratio:16/10;
    object-fit:cover!important;
  }

  .gallery-grid img{
    height:auto;
    aspect-ratio:4/3;
  }

  .section{
    padding-top:50px!important;
    padding-bottom:50px!important;
  }

  .section-head h2,
  .content-card h2,
  .trust h2,
  .complaints h2{
    font-size:clamp(26px,7vw,34px);
  }

  .content-card p,
  .section-head p,
  .trust p,
  .complaints p{
    text-align:justify;
  }

  .complaints-box{
    padding:20px!important;
    border-radius:18px;
  }

  .complaints-action{
    padding:24px 18px;
  }

  footer{
    padding-top:40px;
  }

  .footer-grid{
    gap:28px;
  }
}

/* Pantallas muy pequeñas */
@media (max-width:360px){
  .brand img{width:135px}
  .nav{gap:12px}
  .hero{min-height:400px}
  .hero .hero-buttons-position{padding:0 14px!important}
  .hero .hero-buttons-position .btn{font-size:13px}
  .section{padding-top:42px!important;padding-bottom:42px!important}
}


/* =====================================================
   CORRECCIÓN FINAL RESPONSIVE - PORTADA Y PANTALLAS
   Mantiene la proporción de las imágenes sin deformarlas
   ===================================================== */

html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

/* PORTADA: la imagen llena el espacio sin estirarse */
.hero {
  width: 100%;
  min-height: 640px;
  height: clamp(520px, 52vw, 760px);
  position: relative;
  overflow: hidden;
}

.hero-slides,
.hero-slide,
.hero-slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-slide img {
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
}

/* Tablet */
@media (max-width: 1024px) {
  .hero {
    min-height: 560px;
    height: 62vw;
    max-height: 680px;
  }
}

/* Celulares */
@media (max-width: 768px) {
  .hero {
    min-height: 520px;
    height: 115vw;
    max-height: 650px;
  }

  .hero-slide img {
    object-position: center center !important;
  }

  .hero .hero-buttons-position {
    left: 0 !important;
    right: 0 !important;
    bottom: 28px !important;
    width: 100% !important;
    padding: 0 16px !important;
  }
}

/* Celulares pequeños */
@media (max-width: 560px) {
  .hero {
    min-height: 500px;
    height: 125vw;
    max-height: 620px;
  }

  .hero .hero-buttons-position {
    flex-direction: column !important;
    gap: 10px !important;
    bottom: 24px !important;
  }

  .hero .hero-buttons-position .btn {
    width: 100% !important;
    max-width: 320px !important;
  }

  .slider-arrow {
    width: 40px !important;
    height: 40px !important;
    font-size: 22px !important;
  }
}

/* Contenido adaptable */
@media (max-width: 768px) {
  .two-col,
  .trust-grid,
  .complaints-box,
  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #creditos .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .gallery-grid,
  #creditos .service-grid {
    grid-template-columns: 1fr !important;
  }

  .section {
    padding: 50px 0 !important;
  }
}
