@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* ==========================
   FUENTES LOCALES NOVATEK
   Colocar estos archivos dentro de /fonts/
========================== */

@font-face{
  font-family:'Morien';
  src:
    url('../fonts/Morien-Light.woff2') format('woff2'),
    url('../fonts/Morien-Light.woff') format('woff');
  font-weight:300;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:'Morien';
  src:
    url('../fonts/Morien-Regular.woff2') format('woff2'),
    url('../fonts/Morien-Regular.woff') format('woff');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:'Morien';
  src:
    url('../fonts/Morien-Bold.woff2') format('woff2'),
    url('../fonts/Morien-Bold.woff') format('woff');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:'Stardock';
  src:
    url('../fonts/Stardock.woff') format('woff'),
    url('../fonts/Stardock.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  --gray:#575757;
  --orange:#E87F00;
  --white:#FFFFFF;
  --light:#F7F7F7;
  --dark:#2B2B2B;
  --orange-hover:#D97300;
  --border:#E8E8E8;
  --container:1200px;
  --radius:18px;
  --shadow:0 18px 45px rgba(0,0,0,.08);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:'Inter', Arial, sans-serif;
  color:var(--gray);
  background:var(--white);
  font-size:18px;
  line-height:1.7;
}

body.menu-open{overflow:hidden}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:inherit;
  text-decoration:none;
}

p{margin:0 0 18px}

h1,h2,h3,h4,h5,h6{
  font-family:'Morien', 'Montserrat', Arial, sans-serif;
  color:var(--gray);
  line-height:1.08;
  margin:0 0 18px;
  letter-spacing:.02em;
}

h1{font-size:clamp(40px, 6vw, 76px)}
h2{font-size:clamp(30px, 4vw, 50px)}
h3{font-size:clamp(22px, 2vw, 28px)}

.container{
  width:min(100% - 40px, var(--container));
  margin-inline:auto;
}

.narrow{max-width:850px}

.section{padding:90px 0}

.eyebrow{
  display:inline-flex;
  color:var(--orange);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:13px;
  margin-bottom:16px;
}

.grid{
  display:grid;
  gap:28px;
}

.grid-2{
  grid-template-columns:repeat(2, minmax(0,1fr));
  align-items:center;
  gap:60px;
}

.grid-3{grid-template-columns:repeat(3, minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4, minmax(0,1fr))}

.section-heading{
  text-align:center;
  max-width:760px;
  margin:0 auto 46px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:14px 28px;
  border-radius:999px;
  font-weight:700;
  border:1px solid transparent;
  transition:.25s ease;
  cursor:pointer;
}

.btn-primary{
  background:var(--orange);
  color:var(--white);
}

.btn-primary:hover{
  background:var(--orange-hover);
  transform:translateY(-2px);
}

.btn-secondary{
  border-color:var(--orange);
  color:var(--orange);
  background:transparent;
}

.btn-secondary:hover{
  background:var(--orange);
  color:var(--white);
}

.btn-secondary.light{
  color:var(--white);
  border-color:rgba(255,255,255,.75);
}

.btn-secondary.light:hover{
  border-color:var(--orange);
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:99;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(87,87,87,.12);
}

.header-wrapper{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.brand{
  display:inline-flex;
  flex-direction:column;
  line-height:1;
}

.brand-main{
  font-family:'Morien', 'Montserrat', Arial, sans-serif;
  color:var(--gray);
  font-size:32px;
  letter-spacing:.06em;
}

.brand-main span{color:var(--orange)}

.brand small{
  margin-top:7px;
  color:var(--gray);
  font-size:12px;
  letter-spacing:.05em;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:19px;
  font-size:14px;
  font-weight:700;
}

.main-nav a{transition:.25s ease}
.main-nav a:hover{color:var(--orange)}

.nav-cta{
  background:var(--orange);
  color:var(--white)!important;
  padding:11px 20px;
  border-radius:999px;
}

.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:0;
  border-radius:10px;
  background:var(--light);
  cursor:pointer;
}

.menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:var(--gray);
  margin:5px auto;
}

/* Hero Slider */
.hero-slider{
  position:relative;
  min-height:86vh;
  padding:0;
  overflow:hidden;
  background:var(--dark);
}

.hero-slide{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.04);
  transition:opacity .75s ease, transform 6s ease;
}

.hero-slide.active{
  opacity:1;
  z-index:1;
  transform:scale(1);
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.45), rgba(0,0,0,.18));
}

.hero-slide-content{
  position:relative;
  z-index:2;
  max-width:760px;
}

.hero-slide-content h1{
  color:var(--white);
  font-size:clamp(42px, 6vw, 82px);
  max-width:780px;
}

.hero-slide-content p{
  color:rgba(255,255,255,.9);
  max-width:680px;
  font-size:clamp(17px, 1.7vw, 22px);
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}

.hero-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:52px;
  height:52px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  background:rgba(0,0,0,.25);
  color:var(--white);
  font-size:38px;
  cursor:pointer;
  transition:.25s ease;
}

.hero-arrow:hover{
  background:var(--orange);
  border-color:var(--orange);
}

.hero-prev{left:28px}
.hero-next{right:28px}

.hero-dots{
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  z-index:6;
  display:flex;
  gap:10px;
}

.hero-dots button{
  width:12px;
  height:12px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.5);
  cursor:pointer;
  transition:.25s ease;
}

.hero-dots button.active{
  width:36px;
  background:var(--orange);
}

/* Producto */
.product-section{background:var(--white)}

.product-image-card{
  background:linear-gradient(135deg, var(--light), var(--white));
  border:1px solid var(--border);
  border-radius:28px;
  padding:36px;
  box-shadow:var(--shadow);
  display:grid;
  place-items:center;
}

.product-image-card img{
  max-height:420px;
  object-fit:contain;
}

.check-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:24px;
}

.check-list span{
  background:var(--light);
  border-radius:12px;
  padding:13px 15px;
  font-weight:700;
}

.check-list span::before{
  content:"✓";
  color:var(--orange);
  margin-right:8px;
}

/* Categorías */
.categories-section{background:var(--white)}

.category-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:30px;
  box-shadow:0 10px 28px rgba(0,0,0,.05);
  border-top:5px solid var(--orange);
  min-height:230px;
}

/* Benefits */
.benefits-section{background:var(--light)}

.benefits-grid{
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}

.benefit-card,
.app-card,
blockquote{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:0 10px 28px rgba(0,0,0,.05);
}

.benefit-card{
  padding:28px 24px;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.benefit-card h3{
  font-size:clamp(17px, 1.1vw, 20px);
  line-height:1.25;
  margin-bottom:14px;
  max-width:100%;
  word-break:normal;
  overflow-wrap:normal;
}

.benefit-card p{
  font-size:16px;
  line-height:1.75;
  margin-bottom:0;
}

.icon{
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--orange);
  color:var(--white);
  font-weight:800;
  margin-bottom:22px;
  flex:0 0 auto;
}

/* Stats */
.stats-section{
  background:var(--gray);
  color:var(--white);
  padding:58px 0;
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  text-align:center;
}

.stat strong{
  display:block;
  font-family:'Morien', 'Montserrat', Arial, sans-serif;
  font-size:clamp(34px, 4vw, 56px);
  color:var(--orange);
  line-height:1;
  margin-bottom:8px;
}

.stat span{color:var(--white)}

/* Galería Slider */
.slider-section{
  background:var(--white);
  overflow:hidden;
}

.novatek-slider{position:relative}

.slider-track-wrapper{
  overflow:hidden;
  border-radius:28px;
  box-shadow:var(--shadow);
}

.slider-track{
  display:flex;
  transition:transform .45s ease;
}

.slide{
  min-width:100%;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  min-height:470px;
  background:var(--dark);
}

.slide img{
  width:100%;
  height:470px;
  object-fit:cover;
}

.slide-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:46px;
  color:var(--white);
  background:linear-gradient(135deg, var(--gray), #363636);
}

.slide-content h3{
  color:var(--white);
  font-size:clamp(30px, 4vw, 52px);
}

.slide-content p{
  color:rgba(255,255,255,.86);
  font-size:18px;
}

.slider-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  background:var(--orange);
  color:var(--white);
  font-size:34px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 25px rgba(0,0,0,.18);
  transition:.25s ease;
}

.slider-btn:hover{background:var(--orange-hover)}
.slider-prev{left:-24px}
.slider-next{right:-24px}

.slider-dots{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:24px;
}

.slider-dots button{
  width:12px;
  height:12px;
  border:0;
  border-radius:999px;
  background:rgba(87,87,87,.28);
  cursor:pointer;
  transition:.25s ease;
}

.slider-dots button.active{
  width:34px;
  background:var(--orange);
}

/* Applications */
.app-card{
  min-height:210px;
  transition:.25s ease;
}

.app-card:hover,
.benefit-card:hover,
.category-card:hover{
  transform:translateY(-5px);
}

/* Before / After */
.before-after-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:30px;
}

.before-after-card{
  position:relative;
  margin:0;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}

.before-after-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.before-after-tag{
  position:absolute;
  top:18px;
  left:18px;
  padding:8px 20px;
  border-radius:999px;
  font-weight:700;
  font-size:14px;
  letter-spacing:.04em;
  color:var(--white);
  background:rgba(0,0,0,.55);
}

.tag-after{
  background:var(--orange);
}

/* Demostración en video */
.video-wrapper{
  position:relative;
  margin-top:28px;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#000;
}

.video-wrapper video{
  display:block;
  width:100%;
  max-height:520px;
}

.video-poster{
  position:absolute;
  inset:0;
  cursor:pointer;
}

.video-poster img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.video-poster.is-hidden{
  display:none;
}

.video-play-btn{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:76px;
  height:76px;
  border-radius:50%;
  background:rgba(0,0,0,0.55);
  border:2px solid #FFFFFF;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}

.video-play-btn:hover{
  background:var(--orange);
  transform:translate(-50%, -50%) scale(1.06);
}

.video-play-btn svg{
  width:28px;
  height:28px;
  margin-left:4px;
  fill:#FFFFFF;
}

.video-play-btn.is-hidden{
  display:none;
}

/* About */
.about-section{
  background:linear-gradient(180deg, var(--white), var(--light));
}

.history-section{
  background:var(--white);
  text-align:center;
}

.about-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:60px;
  row-gap:20px;
}

.about-heading{
  grid-column:1;
  grid-row:1;
}

.about-image{
  grid-column:1;
  grid-row:2;
}

.about-text{
  grid-column:2;
  grid-row:2;
  align-self:center;
}

.about-image img{
  width:100%;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  object-fit:cover;
  max-height:320px;
}

/* Testimonials */
blockquote{
  margin:0;
  font-size:17px;
}

blockquote cite{
  display:block;
  margin-top:18px;
  color:var(--orange);
  font-style:normal;
  font-weight:700;
}

.testimonials-slider{position:relative}

.testimonial-group{display:none}

.testimonial-group.active{display:grid}

.testimonials-slider .slider-dots{margin-top:32px}

/* FAQ */
.faq-list{
  display:grid;
  gap:14px;
  margin-top:28px;
}

details{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:14px;
  padding:18px 22px;
}

summary{
  cursor:pointer;
  font-weight:800;
  color:var(--gray);
}

details p{margin-top:14px}

/* Contact */
.contact-section{
  background:linear-gradient(135deg, var(--gray), #3f3f3f);
}

.contact-card{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:50px;
  background:var(--white);
  border-radius:28px;
  padding:50px;
  box-shadow:var(--shadow);
}

.contact-info{
  display:flex;
  flex-direction:column;
}

.contact-map{
  margin-top:26px;
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--shadow);
  flex:1;
}

.contact-map iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:280px;
  border:0;
}

.contact-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.contact-form textarea{
  flex:1;
}

.form-feedback{
  display:none;
  margin:0;
  padding:14px 16px;
  border-radius:12px;
  font-size:15px;
  line-height:1.5;
}

.form-feedback.is-visible{
  display:block;
}

.form-feedback.success{
  background:#E9F7EF;
  color:#1E7A44;
  border:1px solid #BFE8CE;
}

.form-feedback.error{
  background:#FDECEC;
  color:#B42318;
  border:1px solid #F5C2C0;
}

input,
select,
textarea{
  width:100%;
  min-height:52px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:14px 16px;
  font:inherit;
  color:var(--gray);
  background:var(--white);
}

textarea{
  min-height:130px;
  resize:vertical;
}

/* Footer */
.site-footer{
  background:var(--dark);
  color:var(--white);
  padding:60px 0 24px;
}

.site-footer h3,
.site-footer .brand-main{color:var(--white)}

.site-footer a{
  display:block;
  margin-bottom:10px;
  color:rgba(255,255,255,.82);
}

.site-footer a:hover{color:var(--orange)}

.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:40px;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:34px;
  padding-top:22px;
  font-size:14px;
  color:rgba(255,255,255,.72);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.back-to-top{
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  background:var(--orange);
  color:var(--white);
  font-size:24px;
  cursor:pointer;
  transition:.25s ease;
  display:grid;
  place-items:center;
}

.back-to-top:hover{
  background:var(--orange-hover);
  transform:translateY(-3px);
}

/* Tablet */
@media(max-width:1199px){
  .main-nav{gap:13px;font-size:13px}
  .benefits-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}
}

@media(max-width:1100px){
  .grid-4,
  .stats-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .hero{
    padding:100px 0 70px;
  }

  .grid-2,
  .contact-card,
  .about-grid{
    grid-template-columns:1fr;
  }

  .about-heading,
  .about-image,
  .about-text{
    grid-column:1;
  }

  .about-image{grid-row:2}
  .about-text{grid-row:3}
}

@media(max-width:900px){
  .benefits-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}

/* Mobile */
@media(max-width:820px){
  body{font-size:16px}

  .container{
    width:min(100% - 32px, var(--container));
  }

  .section{padding:58px 0}

  .menu-toggle{display:block}

  .main-nav{
    position:fixed;
    top:82px;
    left:16px;
    right:16px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:20px;
    background:var(--white);
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:var(--shadow);
    max-height:calc(100vh - 110px);
    overflow:auto;
  }

  body.menu-open .main-nav{display:flex}

  .main-nav a{
    padding:14px 10px;
    border-bottom:1px solid var(--border);
  }

  .main-nav a:last-child{border-bottom:0}

  .nav-cta{
    text-align:center;
    margin-top:12px;
  }

  .hero-slider{min-height:78vh}

  .hero-overlay{
    background:linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.58));
  }

  .hero-arrow{
    width:42px;
    height:42px;
    font-size:30px;
    top:auto;
    bottom:80px;
  }

  .hero-prev{left:18px}
  .hero-next{right:18px}
  .hero-dots{bottom:32px}

  .grid-4,
  .grid-3,
  .stats-grid,
  .footer-grid,
  .benefits-grid,
  .before-after-grid,
  .check-list{
    grid-template-columns:1fr;
  }

  .hero-actions{flex-direction:column}

  .btn{width:100%}

  .benefit-card{
    min-height:auto;
    padding:28px 24px;
  }

  .slide{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .slide img{
    height:300px;
  }

  .slide-content{
    padding:30px;
  }

  .slider-prev{left:12px}
  .slider-next{right:12px}

  .slider-btn{
    width:42px;
    height:42px;
    font-size:28px;
    top:38%;
  }

  .contact-card{
    padding:28px;
    border-radius:20px;
  }

  .brand-main{font-size:26px}

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* Ajustes v5: logo oficial, menú y títulos más limpios */
.brand-logo img{
  width:280px;
  max-height:100px;
  object-fit:contain;
}

.footer-brand.brand-logo img{
  width:210px;
  filter:none;
}

.section-heading{
  max-width:700px;
}

.section-heading h2,
.product-section h2,
.about-section h2,
.faq-section h2,
.contact-section h2{
  max-width:720px;
}

h2{
  font-size:clamp(28px, 3.4vw, 44px);
}

h3{
  font-size:clamp(21px, 1.8vw, 26px);
}

@media(max-width:820px){
  .brand-logo img{
    width:220px;
    max-height:75px;
    object-fit:contain;
  }

  .footer-brand.brand-logo img{
    width:170px;
  }

  h2{
    font-size:clamp(27px, 8vw, 36px);
  }
}


/* Ajustes v6 */
.hero-slide-content h1{
  font-size:clamp(34px, 4.8vw, 64px);
  max-width:680px;
}

.hero-slide-content p{
  font-size:clamp(16px, 1.45vw, 20px);
}

.fade-in{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .8s ease, transform .8s ease;
}

.fade-in.is-visible{
  opacity:1;
  transform:translateY(0);
}

.stat{
  opacity:0;
  transform:translateY(20px) scale(.96);
  transition:opacity .65s ease, transform .65s ease;
}

.stats-section.is-visible .stat{
  opacity:1;
  transform:translateY(0) scale(1);
}

.stats-section.is-visible .stat:nth-child(1){transition-delay:.05s}
.stats-section.is-visible .stat:nth-child(2){transition-delay:.15s}
.stats-section.is-visible .stat:nth-child(3){transition-delay:.25s}
.stats-section.is-visible .stat:nth-child(4){transition-delay:.35s}

.history-section{
  text-align:left;
  background:var(--white);
}

.history-section .narrow{
  max-width:900px;
}

.history-section p{
  font-size:18px;
  line-height:1.85;
}

.footer-social{
  display:flex;
  gap:12px;
  margin-top:18px;
}

.footer-social a{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--orange);
  color:var(--white);
  margin:0;
}

.footer-social svg{
  width:21px;
  height:21px;
  fill:currentColor;
}

.footer-legal-title{
  margin-top:22px;
}

@media(max-width:820px){
  .hero-slide-content h1{
    font-size:clamp(32px, 10vw, 44px);
  }

  .history-section p{
    font-size:16px;
  }
}


/* Ajustes v7 */
.hero-slide-content h1{
  font-size:clamp(30px, 4.1vw, 54px);
  max-width:650px;
  line-height:1.05;
}

.nav-cta{
  position:relative;
  overflow:hidden;
  box-shadow:0 10px 22px rgba(232,127,0,.22);
}

.nav-cta:hover{
  background:var(--gray);
  color:var(--white)!important;
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(87,87,87,.22);
}

.nav-cta::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
  transform:translateX(-120%);
  transition:.45s ease;
}

.nav-cta:hover::after{
  transform:translateX(120%);
}

@media(max-width:820px){
  .hero-slide-content h1{
    font-size:clamp(29px, 8.5vw, 39px);
  }
}


.legal-page h1{
  font-size:clamp(34px, 5vw, 56px);
}

.legal-page h2{
  font-size:clamp(23px, 3vw, 32px);
  margin-top:34px;
}

.legal-page p{
  font-size:17px;
  line-height:1.85;
}


/* Ajustes v8 footer minimalista */
.minimal-footer{
  padding:52px 0 22px;
  background:#242424;
}

.footer-minimal-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:46px;
  align-items:start;
}

.footer-main-info p{
  margin-bottom:9px;
  color:rgba(255,255,255,.78);
  font-size:15px;
  line-height:1.65;
}

.footer-main-info a{
  color:rgba(255,255,255,.9);
}

.footer-links-minimal{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 22px;
  align-content:start;
}

.footer-links-minimal a{
  margin:0;
  font-size:15px;
  color:rgba(255,255,255,.78);
  transition:.25s ease;
}

.footer-links-minimal a:hover{
  color:var(--orange);
  transform:translateX(4px);
}

.footer-social{
  display:flex;
  gap:12px;
  margin-top:20px;
}

.footer-social a{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:var(--white);
  margin:0;
  transition:.28s ease;
}

.footer-social a:hover{
  background:var(--orange);
  border-color:var(--orange);
  color:var(--white);
  transform:translateY(-4px) scale(1.06);
  box-shadow:0 12px 26px rgba(232,127,0,.32);
}

.footer-social svg{
  width:21px;
  height:21px;
  fill:currentColor;
}

.developer-signature{
  color:rgba(255,255,255,.72);
}

.developer-signature a{
  color:var(--orange);
  font-weight:700;
}

.developer-signature a:hover{
  color:var(--white);
}

@media(max-width:820px){
  .footer-minimal-grid,
  .footer-links-minimal{
    grid-template-columns:1fr;
  }

  .footer-links-minimal{
    gap:8px;
  }
}


/* Ajustes SEO local v10 */
.coverage-section{
  background:var(--light);
  text-align:center;
}

.coverage-section p{
  font-size:18px;
  line-height:1.85;
}

.site-footer a[href^="tel:"]{
  color:inherit;
  font-weight:700;
}

@media(max-width:820px){
  .coverage-section p{
    font-size:16px;
  }
}


/* Ajustes v11 footer alineado */
.minimal-footer{
  padding-top:56px;
}

.footer-minimal-grid{
  grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr);
  align-items:start;
  gap:70px;
}

.footer-left{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  max-width:620px;
}

.footer-left .footer-brand{
  margin-bottom:20px;
}

.footer-left .footer-brand img,
.footer-brand.brand-logo img{
  width:275px;
  max-height:95px;
  object-fit:contain;
  object-position:left center;
}

.footer-main-info p{
  max-width:560px;
  margin-bottom:8px;
}

.footer-right{
  align-self:start;
  padding-top:8px;
}

.footer-links-minimal{
  grid-template-columns:repeat(2, minmax(120px, 1fr));
  justify-items:start;
}

.footer-bottom{
  align-items:center;
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:20px;
}

.developer-signature{
  text-align:center;
  margin:0;
}

.back-to-top{
  justify-self:end;
}

@media(max-width:980px){
  .footer-minimal-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .footer-right{
    padding-top:0;
  }

  .footer-bottom{
    grid-template-columns:1fr;
    justify-items:start;
  }

  .developer-signature{
    text-align:left;
  }

  .back-to-top{
    justify-self:start;
  }
}

@media(max-width:620px){
  .footer-left .footer-brand img,
  .footer-brand.brand-logo img{
    width:230px;
    max-height:82px;
  }

  .footer-links-minimal{
    grid-template-columns:1fr;
  }
}


/* Ajustes v12 menú móvil */
@media(max-width:820px){
  .main-nav{
    display:flex;
    opacity:0;
    visibility:hidden;
    transform:translateY(-12px) scale(.98);
    pointer-events:none;
    transition:opacity .28s ease, transform .28s ease, visibility .28s ease;
  }

  body.menu-open .main-nav{
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
    pointer-events:auto;
  }

  .main-nav a{
    font-size:17px;
    line-height:1.35;
    font-weight:700;
  }

  .nav-cta{
    font-size:17px;
  }

  .menu-toggle span{
    transition:transform .25s ease, opacity .25s ease;
  }

  body.menu-open .menu-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  body.menu-open .menu-toggle span:nth-child(2){
    opacity:0;
  }

  body.menu-open .menu-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
}


/* Ajustes v13 */
.product-image-card{
  overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.product-image-card img{
  transition:transform .45s ease, filter .35s ease;
}

.product-image-card:hover{
  transform:translateY(-6px);
  border-color:rgba(232,127,0,.38);
  box-shadow:0 24px 56px rgba(0,0,0,.12);
}

.product-image-card:hover img{
  transform:scale(1.06) rotate(-1deg);
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.18));
}

.hero-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  padding:0;
  font-family:Arial, sans-serif;
}

.hero-prev,
.hero-next{
  top:50%;
  transform:translateY(-50%);
}

.hero-next{
  right:28px;
}

.hero-prev{
  left:28px;
}

.footer-links-minimal.footer-right{
  display:grid;
  grid-template-columns:repeat(2, minmax(150px, 1fr));
  gap:54px;
  align-items:start;
}

.footer-links-group{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.footer-links-title{
  font-size:13px;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:var(--orange) !important;
  margin:0 0 10px;
  line-height:1.2;
}

.footer-main-info a[href*="maps.app.goo.gl"]{
  color:rgba(255,255,255,.9);
  text-decoration:none;
  border-bottom:1px solid rgba(232,127,0,.45);
  transition:.25s ease;
}

.footer-main-info a[href*="maps.app.goo.gl"]:hover{
  color:var(--orange);
  border-color:var(--orange);
}

@media(max-width:820px){
  .hero-prev,
  .hero-next{
    top:auto;
    bottom:80px;
    transform:none;
  }

  .footer-links-minimal.footer-right{
    grid-template-columns:1fr;
    gap:28px;
  }
}


/* ==========================
   TIPOGRAFÍA NOVATEK
   TÍTULOS = MORIEN
   CONTENIDO = INTER
========================== */

body,
p,
a,
li,
span,
small,
strong,
em,
blockquote,
cite,
label,
input,
select,
textarea,
button,
summary,
details,
td,
th,
.main-nav,
.main-nav a,
.btn,
.contact-form,
.footer-main-info,
.footer-links-minimal,
.footer-bottom,
.site-footer,
.check-list span,
.category-card,
.benefit-card,
.app-card,
.faq-list,
.hero-slide-content p{
  font-family:'Inter', Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.brand-main,
.section-heading h2,
.hero-slide-content h1,
.stat strong{
  font-family:'Morien', Arial, sans-serif;
  font-weight:700;
}

.eyebrow{
  font-family:'Inter', Arial, sans-serif;
  font-weight:700;
  letter-spacing:.14em;
}

/* Mejor lectura del contenido */
p,
li,
.hero-slide-content p,
.contact-form,
.footer-main-info p,
.benefit-card p,
.app-card p,
blockquote{
  font-weight:400;
  letter-spacing:.01em;
}

.main-nav a{
  font-weight:600;
}

.btn{
  font-weight:600;
}

input,
select,
textarea{
  font-family:'Inter', Arial, sans-serif;
  font-size:16px;
}


/* Ajustes v16 favicon + webp */
.hero-slide{
  background-repeat:no-repeat;
}

/* Logo alineado a la izquierda en móvil */
@media (max-width: 820px) {

  .header-wrapper{
    justify-content:space-between;
    align-items:center;
  }

  .brand,
  .brand-logo{
    margin-right:auto;
    display:flex;
    align-items:center;
    justify-content:flex-start;
  }

  .brand-logo img{
    width:220px;
    max-height:75px;
    object-fit:contain;
    object-position:left center;
  }

}

/* Botón flotante de WhatsApp */
.whatsapp-float{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:999;
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}

.whatsapp-float-icon{
  width:60px;
  height:60px;
  border-radius:50%;
  background:#25D366;
  color:var(--white);
  display:grid;
  place-items:center;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  transition:.25s ease;
  flex-shrink:0;
}

.whatsapp-float-icon svg{
  width:32px;
  height:32px;
}

.whatsapp-float:hover .whatsapp-float-icon{
  background:#1EBE57;
  transform:translateY(-3px);
}

.whatsapp-float-bubble{
  background:var(--white);
  color:var(--gray);
  font-size:14px;
  font-weight:600;
  padding:12px 18px;
  border-radius:14px;
  box-shadow:var(--shadow);
  max-width:220px;
  opacity:0;
  transform:translateX(8px);
  transition:opacity .4s ease, transform .4s ease;
}

.whatsapp-float-bubble.is-visible{
  opacity:1;
  transform:translateX(0);
}

@media(max-width:620px){
  .whatsapp-float{
    right:16px;
    bottom:16px;
  }

  .whatsapp-float-icon{
    width:52px;
    height:52px;
  }

  .whatsapp-float-icon svg{
    width:28px;
    height:28px;
  }

  .whatsapp-float-bubble{
    display:none;
  }
}