@import url("https://fonts.googleapis.com/css2?family=Merriweather+Sans:ital,wght@0,300..800;1,300..800&display=swap");

/* ---------- Base / Reset ---------- */
*,*::before,*::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; }
body{
  font-family: "Raleway", sans-serif;
  font-size: 1.2em;
  color: #707070;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background-image: url("../img/IMÁGENES_Mesa de trabajo1.jpg");
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
img,video,canvas,svg,iframe{ max-width:100%; height:auto; display:block; }
a{ transition: all 0.3s ease; color:#0d1e56; }
a:hover,a:focus{ text-decoration:none; color:#369; }
a:focus{ outline: none; }
button,input,select,textarea{ font: inherit; }
input,select,textarea{ font-size:16px; }
p{ line-height:1.9; }

/* ---------- Utils ---------- */
.tm-section-pad-top{ padding-top:40px; padding-bottom:40px; }
.tm-content-box{ padding-top:10px; padding-bottom:40px; }
.tm-text-primary{ color:#0d1e56; margin:0; }
.tm-font-big{ font-size:1.25rem; }
.tm-btn-primary{ color:#fff; background:#369; padding:14px 30px; }
.tm-btn-primary:hover,.tm-btn-primary:focus{ color:#fff; background:#0d1e56; }
.tm-icon{ display:block; color:#37A; }
.tm-continue{ padding:20px 0 30px 0; }

/* ---------- Navbar ---------- */
.tm-navbar{
  position: fixed; width:100%; z-index:1000;
  top: 0;      
  left: 0;
  right: 0;
  background-color: transparent; transition: all 0.3s ease; opacity:0;
}

.tm-navbar.scroll{ background:#fff !important; border-bottom:1px solid #e9ecef; opacity:1; }
.navbar-brand{ color:#fff; font-size:1.4rem; font-weight:bold; }
.tm-navbar.scroll .navbar-brand{ color:#0d1e56; }
.nav-item{ list-style:none; }
.tm-nav-link{ color:#fff; }
.tm-navbar.scroll .tm-nav-link{ color:#0d1e56; }
.tm-navbar.scroll .tm-nav-link:hover,
.tm-navbar.scroll .tm-nav-link.current,
.tm-nav-link:hover{ color:#FFF; background:#0d1e56; }
.navbar-toggler{ border:1px solid #fff; padding:0 10px; }
.navbar-toggler-icon{ color:#fff; padding-top:6px; }
.tm-navbar.scroll .navbar-toggler{ border:1px solid #707070; }
.tm-navbar.scroll .navbar-toggler-icon{ color:#707070; }

/* ---------- Hero ---------- */
#infinite{
  background-color:#222;
  background-image:url("../img/home2.png");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  min-height:100dvh;
  position:relative;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  opacity: 0;
  animation: fadeIn 3s ease-in forwards;
}

@keyframes fadeIn {
  to { opacity: 1; }
}

.tm-hero-text-container{ width:100%; display:flex; flex-flow:column; justify-content:center; }
.tm-hero-text-container-inner{ margin-top:-25dvb; }
.tm-hero-title{ font-size: clamp(2rem, 6vw, 3.5rem); text-shadow:5px 5px 5px #333; }
.tm-hero-subtitle{ text-shadow:5px 5px 5px #333; }

.tm-intro-next{ position:absolute; bottom:100px; left:0; right:0; margin:1%; }
@media (max-height:480px){
  .tm-intro-next{ bottom:20px; margin:1%; }
}

.tm-down-arrow-link{ display:block; margin-top:18%; }
.tm-down-arrow{
  color:#FFF; cursor:pointer;
  background:url("../img/LOGO CURVAS-15.svg") no-repeat;
  padding:100px 100px; transition: all 0.3s ease;
}

.tm-down-arrow:hover,.tm-down-arrow:focus{
  color:#FFF; background:url("../img/LOGO CURVAS-15.svg") no-repeat;
  padding:110px 110px;
}

/* ---------- Section titles ---------- */
.tm-section-title{ font-size:2.6rem; font-weight:normal; text-align:center; }
.tm-intro-text{ font-size:1.2rem; margin:1%; }

.tm-intro-text-container h2{
  position:relative; display:inline-block; padding-bottom:.3em; margin:1%;
}
.tm-intro-text-container h2::after{
  content:""; position:absolute; left:0; bottom:0; width:60%; height:4px;
  background:#369; border-radius:2px;
}

/* ---------- Testimonials ---------- */
#testimonials{
  color:#fff;
  background-image:url("../img/clientes.png");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  position:relative;
}
.tm-testimonials-content{ position:relative; z-index:100; }
.tm-bg-overlay{ width:100%; height:100%; background:rgba(20,70,80,.2);
  position:absolute; inset:0; z-index:0; }
.tm-testimonials-carousel{ max-width:1050px; margin:0 auto; }
.tm-testimonial-item{ max-width:100%; margin: 0 16px; }
.tm-testimonial-item img{ border-radius:10%; margin-bottom:35px; }
.tm-testimonial-item figcaption{ text-align:right; font-style:italic; font-size:1.1rem; }

/* ---------- Gallery ---------- */
.tm-section-desc{ max-width:650px; width:100%; font-size:0.9rem; }
.tm-gallery-container{ padding-top:70px; padding-bottom:120px; }
.tm-gallery-item{ margin:0 15px; }
.slick-dots{ bottom:-65px; }
.slick-dots li{ margin:0 13px; }
.slick-dots li button:before{ font-size:18px; }
.slick-dots li button:hover:before,
.slick-dots li button:focus:before,
.slick-dots li.slick-active button:before{ opacity:1; color:#3ba0dd; }
.tm-testimonials-carousel .slick-dots li button:before{ color:#fff; opacity:.5; }
.tm-testimonials-carousel .slick-dots li button:hover:before,
.tm-testimonials-carousel .slick-dots li button:focus:before,
.tm-testimonials-carousel .slick-dots li.slick-active button:before{ color:#fff; opacity:1; }

/* Hover “Honey” */
.grid figure{ position:relative; float:left; overflow:hidden; background:#3085a3; text-align:center; cursor:pointer; }
.grid figure img{ position:relative; display:block; min-height:100%; max-width:100%; opacity:.8; }
.grid figure figcaption{ padding:2em; color:#fff; text-transform:uppercase; font-size:1.25em; backface-visibility:hidden; }
.grid figure figcaption, .grid figure figcaption > a{ position:absolute; inset:0; }
.grid figure figcaption > a{ z-index:1000; text-indent:200%; white-space:nowrap; font-size:0; opacity:0; }
.grid figure h2{ word-spacing:-.15em; font-size:.9em; font-weight:300; }
.grid figure h2 span{ font-weight:600; }
.grid figure h2, .grid figure p{ margin:0; }
.grid figure p{ letter-spacing:1px; font-size:68.5%; }

figure.effect-honey{ background:#4a3753; max-width:100%; }
figure.effect-honey img{ opacity:1; transition:opacity .35s; }
figure.effect-honey:hover img{ opacity:.4; }
figure.effect-honey figcaption::before{
  position:absolute; bottom:0; left:0; width:100%; height:10px; background:#38C; content:"";
  transform:translate3d(0,10px,0);
}
figure.effect-honey h2{
  position:absolute; bottom:0; left:0; padding:1em 1.5em; width:100%; text-align:left;
  transform:translate3d(0,-30px,0);
}
figure.effect-honey h2 i{ font-style:normal; opacity:0; transition: opacity .35s, transform .35s; transform:translate3d(0,-30px,0); }
figure.effect-honey figcaption::before, figure.effect-honey h2{ transition: transform .35s; }
figure.effect-honey:hover figcaption::before, figure.effect-honey:hover h2, figure.effect-honey:hover h2 i{
  opacity:1; transform:translate3d(0,0,0);
}
.tm-container-gallery{ padding-top:30px; }

/* ---------- Contact ---------- */
#contact{
  color:#fff;
  background-color:#001828;
  background-image:url("../img/infinite-loop-03.jpg");
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  min-height:980px;
  position:relative;
  padding:100px 0 50px;
}
.contact-item{ margin-left:20px; margin-bottom:50px; }
.item-link{ display:flex; align-items:center; }
.item-link i, .item-link span{ color:#fff; transition:all .3s ease; }
.item-link:hover i, .item-link:hover span{ color:#3496d8; }

.tm-input{
  margin:0 0 20px 0; width:90%;
  padding:8px 20px; border-radius:6px;
  border:1px solid #fff; background:transparent; color:#fff;
}
.tm-btn-submit{ font-size:.9em; color:#fff; background:#369; width:50%; margin-bottom:60px; }
.tm-btn-submit:hover{ color:#fff; background:#38B; }

::placeholder{ color:#fff; opacity:1; }
.tm-footer{ position: static; padding:20px 15px; text-align:center; }
.tm-footer a{ color:#fff; }
.tm-footer a:hover{ color:#9CF; }

/* ---------- Checklist (unificado) ---------- */
.tm-checklist{
  list-style:none; padding:0; margin:0 0 1.2rem 0;
  display:grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr));
  gap:14px 32px;
  background-color: #ebeff1;   
  padding: 20px;                
  border-radius: 10px;           
  box-shadow: 0 5px 12px rgba(0,0,0,0.15);
  margin: 20px auto;          
}
.tm-checklist li{
  display:flex; align-items:flex-start; gap:10px;
  line-height:1.55; color:#1a2b3c; font-size:1rem;
  margin: 8px 0;
  font-size: 16px;
}
.tm-checklist li i{ color:#369; margin-top:.2em; font-size:1rem; }

/* ---------- Responsive tweaks ---------- */
@media (min-width:768px){
  .tm-intro-text-container{ padding-left:0; }
  .navbar-expand-md .navbar-nav .nav-link{ padding: 0 30px; }
}
@media (min-width:1200px){
  .container{ max-width:1275px; }
  .tm-container-gallery{ max-width:1290px; }
  .tm-container-contact{ max-width:1063px; }
}
@media (max-width:991px){
  .tm-intro-text-container{
    padding-left:15px; padding-top:30px; max-width:600px; margin-inline:auto;
  }
  .tm-btn-submit{ margin-left:0; margin-top:20px; }
}
@media (max-width:767px){
  .navbar-nav{ max-width:200px; text-align:right; }
  .navbar-collapse{ background:#fff; padding:10px; border-radius:3px; }
  .navbar-collapse .nav-link{ color:#707070; padding-right:20px; }
}
@media (max-width:480px){
  .tm-gallery-container{ max-width: 100%; margin-inline:auto; }
  .tm-gallery-container-2{ max-width: 100%; }
  .slick-dots li{ margin:0 8px; }
  .tm-gallery-item{ margin:1%; }
}
