/* ============================================================
   VARIABLES & RESET
   ============================================================ */
:root {

  /* ====================================================
     PALETA PRINCIPAL 
     ==================================================== */

  /* Azul corporativo → reemplazado por Antracita profundo */
--azul:         #2A2A4E;
--azul-dark:    #1E1E30;
  --azul-light:   #2D2D44;   /* antes #2A4FA8 — hover y variante media        */

  /* Naranja/acento → reemplazado por Piedra dorada */
  --naranja:      #C9A96E;   /* antes #F57C00 — acento principal, iconos      */
  --naranja-v:    #E8D5B0;   /* antes #FF9800 — hover del acento, versión clara*/

  /* Grises → actualizados a la nueva escala */
--gris-med:     #A0A5B5;
  --gris-claro:   #D4D6E0;   /* antes #C7C9CC — bordes y separadores          */
  --gris-bg:      #F5F0E8;   /* antes #F4F5F7 — fondos de secciones claras    */

  /* Básicos */
  --blanco:       #FFFFFF;   /* blanco puro                                   */
  --negro:        #1A1A2E;   /* antes #0f0f0f — negro suavizado               */
  --texto:        #4A4A5E;   /* antes #2d2d2d — color base del texto          */

  /* Sombras — actualizadas al nuevo color base */
  --shadow:       0 4px 24px rgba(26, 26, 46, 0.13);
  --shadow-lg:    0 12px 48px rgba(26, 26, 46, 0.18);

  /* Sin cambios */
  --radius:       6px;
  --transition:   .35s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:17px;}
body{font-family:'Lato',sans-serif;color:var(--azul-dark);background:var(--blanco);overflow-x:hidden;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:#f1f1f1;}
::-webkit-scrollbar-thumb{background:var(--naranja);border-radius:99px;}

/* ============================================================
   UTILIDADES
   ============================================================ */
.container{max-width:1180px;margin:0 auto;padding:0 28px;}
.section-tag{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--naranja);margin-bottom:12px;}
.section-tag::before{content:'';width:28px;height:2px;background:var(--naranja);}
.section-title{font-family:'Montserrat',sans-serif;font-size:clamp(28px,4vw,46px);font-weight:900;line-height:1.1;color:var(--azul);}
.section-title span{color:var(--naranja);}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:14px 30px;border-radius:var(--radius);cursor:pointer;transition:var(--transition);border:none;outline:none;}
.btn-primary{background:var(--naranja);color:#fff;}
.btn-primary:hover{background:var(--azul);transform:translateY(-2px);box-shadow:var(--shadow);}
.btn-outline{background:transparent;color:var(--azul);border:2px solid var(--azul);}
.btn-outline:hover{background:var(--azul);color:#fff;transform:translateY(-2px);}
.btn-white{background:#fff;color:var(--azul);}
.btn-white:hover{background:var(--naranja);color:#fff;transform:translateY(-2px);}

/* ============================================================
   TOPBAR
   ============================================================ */
.topbar{background:var(--azul-dark);padding:8px 0;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.topbar-info{display:flex;gap:24px;flex-wrap:wrap;}
.topbar-item{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--gris-claro);font-family:'Montserrat',sans-serif;}
.topbar-item i{color:var(--naranja);font-size:11px;}
.topbar-right{display:flex;align-items:center;gap:14px;}
.topbar-phone{display:flex;align-items:center;gap:8px;background:var(--naranja);color:#fff;padding:5px 16px;border-radius:99px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;transition:var(--transition);}
.topbar-phone:hover{background:var(--naranja-v);}
.topbar-phone i{font-size:12px;}

/* ============================================================
   NAVBAR
   ============================================================ */
nav{position:sticky;top:0;z-index:900;background:#fff;box-shadow:0 2px 16px rgba(26,26,46,.1);transition:var(--transition);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:105px;}

/* LOGO */
.logo-link{display:flex;align-items:center;}
.logo-img-wrap{height:82px;display:flex;align-items:center;}
.logo-img-wrap img{height:100%;width:auto;object-fit:contain;}

/* Logo en navbar */
.logo-img{height:120px;width:auto;object-fit:contain;}

/* Logo en footer */
.footer-brand .logo-img{height:120px;width:auto;object-fit:contain;}

/* Logo SVG embebido  */
.logo-svg-embed{height:85px;width:auto;}

.nav-menu{display:flex;align-items:center;gap:6px;}
.nav-menu a{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:700;color:var(--texto);padding:10px 16px;border-radius:var(--radius);transition:var(--transition);letter-spacing:.5px;}
.nav-menu a:hover,.nav-menu a.active{color:var(--azul);background:var(--gris-bg);}
.nav-wa{background:var(--naranja)!important;color:#fff!important;display:flex;align-items:center;gap:7px;padding:9px 20px!important;}
.nav-wa:hover{background:var(--azul)!important;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--azul);margin:5px 0;transition:var(--transition);}

/* ============================================================
   HERO
   ============================================================ */
#inicio{background:var(--azul);position:relative;overflow:hidden;min-height:92vh;display:flex;align-items:center;}

.hero-bg-pattern{position:absolute;inset:0;background-image:
  repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(255,255,255,.025) 60px,rgba(255,255,255,.025) 61px),
  repeating-linear-gradient(0deg,transparent,transparent 60px,rgba(255,255,255,.025) 60px,rgba(255,255,255,.025) 61px);
}
.hero-accent{position:absolute;right:-120px;top:-100px;width:600px;height:600px;background:radial-gradient(circle,rgba(201,169,110,.18) 0%,transparent 70%);pointer-events:none;}
.hero-accent2{position:absolute;left:-60px;bottom:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 70%);pointer-events:none;}

/* Diagonal cut en la base del hero */
.hero-wave{position:absolute;bottom:0;left:0;right:0;height:80px;overflow:hidden;}
.hero-wave svg{width:100%;height:100%;}

.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:100px 0 120px;}

.hero-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(201,169,110,.15);border:1px solid rgba(201,169,110,.35);color:var(--naranja-v);padding:7px 18px;border-radius:99px;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:22px;animation:fadeUp .7s ease both;}

.hero-title{font-family:'Montserrat',sans-serif;font-size:clamp(36px,4.5vw,62px);font-weight:900;line-height:1.05;color:#fff;margin-bottom:22px;animation:fadeUp .7s .1s ease both;}
.hero-title em{font-style:normal;color:var(--naranja);}

.hero-subtitle{font-size:17px;font-weight:300;line-height:1.75;color:rgba(255,255,255,.78);max-width:460px;margin-bottom:38px;animation:fadeUp .7s .2s ease both;}

.hero-actions{display:flex;gap:14px;flex-wrap:wrap;animation:fadeUp .7s .3s ease both;}

.btn-wa-hero{background:#25D366;color:#fff;display:flex;align-items:center;gap:9px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:16px 30px;border-radius:var(--radius);cursor:pointer;transition:var(--transition);border:none;}
.btn-wa-hero:hover{background:#1ebe5d;transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,211,102,.35);}
.btn-wa-hero i{font-size:22px;}

.btn-tel-hero{background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.3);display:flex;align-items:center;gap:9px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:15px 28px;border-radius:var(--radius);cursor:pointer;transition:var(--transition);}
.btn-tel-hero:hover{background:#fff;color:var(--azul);}

.hero-trust{display:flex;gap:28px;margin-top:36px;animation:fadeUp .7s .4s ease both;flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.65);font-size:13px;font-family:'Montserrat',sans-serif;font-weight:600;}
.trust-item i{color:var(--naranja);font-size:14px;}

/* Hero visual side */
.hero-visual{animation:fadeIn 1s .5s ease both;position:relative;}
.hero-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hero-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:22px 18px;backdrop-filter:blur(6px);transition:var(--transition);}
.hero-card:hover{background:rgba(255,255,255,.12);border-color:rgba(201,169,110,.4);}
.hero-card-icon{width:44px;height:44px;background:var(--naranja);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;margin-bottom:12px;}
.hero-card h4{font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:700;color:#fff;margin-bottom:5px;}
.hero-card p{font-size:12px;color:rgba(255,255,255,.55);line-height:1.5;}
.hero-card-wide{grid-column:1/-1;background:rgba(201,169,110,.12);border-color:rgba(201,169,110,.3);}
.hero-card-wide .hero-card-icon{background:rgba(201,169,110,.25);}

/* Stats strip */
.stats-strip{background:#fff;box-shadow:var(--shadow-lg);position:relative;z-index:3;}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);border-left:4px solid var(--naranja);}
.stat-box{padding:28px 24px;border-right:1px solid #f0f0f0;text-align:center;transition:var(--transition);}
.stat-box:hover{background:var(--gris-bg);}
.stat-num{font-family:'Montserrat',sans-serif;font-size:38px;font-weight:900;color:var(--azul);line-height:1;}
.stat-num span{color:var(--naranja);}
.stat-label{font-size:12px;color:var(--gris-med);font-family:'Montserrat',sans-serif;font-weight:600;margin-top:5px;letter-spacing:.5px;}

/* ============================================================
   SERVICIOS
   ============================================================ */
#servicios{padding:40px 0;background:var(--blanco);}
.servicios-header{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:56px;}
.servicios-desc{font-size:15.5px;line-height:1.8;color:var(--gris-med);align-self:end;}

.servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.serv-card{background:#fff;border:1px solid #ebebeb;border-radius:10px;padding:36px 28px;position:relative;overflow:hidden;transition:var(--transition);cursor:pointer;}
.serv-card::before{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--naranja);transform:scaleX(0);transform-origin:left;transition:var(--transition);}
/* .serv-card{grid-column: 1 / 3;} */
.serv-card:hover{border-color:rgba(26,26,46,.15);box-shadow:var(--shadow-lg);transform:translateY(-5px);}
.serv-card:hover::before{transform:scaleX(1);}
.serv-card:hover .serv-icon{background:var(--naranja);color:#fff;}
.serv-num{position:absolute;top:18px;right:22px;font-family:'Montserrat',sans-serif;font-size:52px;font-weight:900;color:rgba(26,26,46,.05);line-height:1;}
.serv-icon{width:58px;height:58px;background:rgba(26,26,46,.07);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--azul);margin-bottom:20px;transition:var(--transition);}
.serv-card h3{font-family:'Montserrat',sans-serif;font-size:17px;font-weight:800;color:var(--azul);margin-bottom:12px;}
.serv-card p{font-size:14px;line-height:1.7;color:var(--gris-med);margin-bottom:16px;}
.serv-list{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;}
.serv-list li{font-size:13px;color:var(--texto);display:flex;align-items:flex-start;gap:7px;line-height:1.4;}
.serv-list li::before{content:'›';color:var(--naranja);font-weight:900;font-size:15px;line-height:1.2;flex-shrink:0;}
.serv-link{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;color:var(--naranja);letter-spacing:1px;text-transform:uppercase;display:flex;align-items:center;gap:6px;transition:var(--transition);}
.serv-link:hover{gap:10px;}

/* Tarjeta gestión integral — especial -->
.serv-card.featured{background:var(--azul);border-color:var(--azul);}
.serv-card.featured .serv-num{color:rgba(255,255,255,.06);}
.serv-card.featured .serv-icon{background:rgba(255,255,255,.12);color:#fff;}
.serv-card.featured:hover .serv-icon{background:var(--naranja);}
.serv-card.featured h3{color:#fff;}
.serv-card.featured p{color:rgba(255,255,255,.72);}
.serv-card.featured .serv-list li{color:rgba(255,255,255,.85);}
.serv-card.featured .serv-list li::before{color:var(--naranja);}
.serv-card.featured .serv-link{color:var(--naranja-v);}
.serv-card.featured::before{background:#fff;}

/* ============================================================
   GALERÍA / PROYECTOS
   ============================================================ */
#proyectos{padding:40px 0;background:var(--gris-bg);}
.proyectos-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;flex-wrap:wrap;gap:20px;}

.filtros{display:flex;gap:8px;flex-wrap:wrap;}
.filtro-btn{font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:8px 18px;border-radius:99px;border:2px solid #ddd;color:var(--gris-med);background:#fff;cursor:pointer;transition:var(--transition);}
.filtro-btn.active,.filtro-btn:hover{border-color:var(--naranja);color:var(--naranja);background:rgba(201,169,110,.06);}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto;gap:14px;}
.gal-item{position:relative;overflow:hidden;border-radius:10px;background:var(--azul-dark);cursor:pointer;}
.gal-item:first-child{grid-column:1/3;min-height:300px;}
.gal-item{min-height:220px;}
.gal-visual{width:100%;height:100%;position:absolute;inset:0;}
.gal-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,15,50,.88) 0%,rgba(15,15,50,.1) 60%);padding:22px;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transition:var(--transition);}
.gal-item:hover .gal-overlay{opacity:1;}
.gal-tag{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--naranja-v);margin-bottom:6px;}
.gal-title{font-family:'Montserrat',sans-serif;font-size:17px;font-weight:800;color:#fff;margin-bottom:4px;}
.gal-sub{font-size:12.5px;color:rgba(255,255,255,.65);}
/* Label siempre visible */
.gal-label{position:absolute;bottom:0;left:0;right:0;padding:16px 18px 14px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);}
.gal-label .gal-tag{opacity:.8;}
.gal-label .gal-title{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:800;color:#fff;}

/* SVG scene fills for gallery */
.gal-item svg{width:100%;height:100%;object-fit:cover;}



/* ============================================================
   BOTÓN "VER GALERÍA DE OBRAS" (Google Photos)
   Reutiliza las variables ya definidas en :root 
   ============================================================ */
.proyectos-cta{
  display:flex;
  justify-content:center;
  margin-top:40px;
}

.btn-galeria-obras{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:'Montserrat',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  padding:14px 30px;
  border-radius:var(--radius);
  background:var(--naranja);
  color:#fff;
  cursor:pointer;
  transition:var(--transition);
  border:none;
}

.btn-galeria-obras:hover,
.btn-galeria-obras:focus-visible{
  background:var(--azul);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}

.btn-galeria-obras__icon{
  width:18px;
  height:18px;
  flex-shrink:0;
}

/* ============================================================
   NOSOTROS
   ============================================================ */
#nosotros{padding:40px 0;background:#fff;}
.nosotros-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.nosotros-visual{position:relative;}
.nosotros-visual::after{content:'';position:absolute;bottom:-16px;right:-16px;width:55%;height:55%;border:3px solid var(--naranja);border-radius:8px;z-index:0;}
.nosotros-img{position:relative;z-index:1;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-lg);}
.años-badge{position:absolute;top:28px;right:-24px;z-index:2;background:var(--naranja);color:#fff;border-radius:10px;padding:18px 20px;text-align:center;box-shadow:var(--shadow);}
.años-num{font-family:'Montserrat',sans-serif;font-size:44px;font-weight:900;line-height:1;}
.años-txt{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-top:2px;}

.nosotros-content .section-title{margin-bottom:18px;}
.nosotros-txt{font-size:15px;line-height:1.85;color:var(--gris-med);margin-bottom:14px;}
.valores-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0;}
.valor-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--gris-bg);border-radius:8px;border-left:3px solid var(--naranja);}
.valor-item i{color:var(--naranja);font-size:17px;margin-top:1px;flex-shrink:0;}
.valor-item div strong{display:block;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;color:var(--azul);margin-bottom:2px;}
.valor-item div span{font-size:12.5px;color:var(--gris-med);}

.garantias{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.garantia-chip{display:flex;align-items:center;gap:6px;background:rgba(26,26,46,.07);border:1px solid rgba(26,26,46,.12);border-radius:99px;padding:7px 15px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;color:var(--azul);}
.garantia-chip i{color:var(--naranja);font-size:12px;}

/* ============================================================
   PROCESO
   ============================================================ */
#proceso{padding:40px 0;background:var(--azul);position:relative;overflow:hidden;}
#proceso::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(255,255,255,.02) 60px,rgba(255,255,255,.02) 61px),repeating-linear-gradient(0deg,transparent,transparent 60px,rgba(255,255,255,.02) 60px,rgba(255,255,255,.02) 61px);}
.proceso-header{text-align:center;margin-bottom:64px;position:relative;z-index:1;}
.proceso-header .section-tag{justify-content:center;}
.proceso-header .section-title{color:#fff;}
.proceso-sub{font-size:16px;color:rgba(255,255,255,.65);max-width:520px;margin:14px auto 0;}

.pasos-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;z-index:1;}
.pasos-grid::before{content:'';position:absolute;top:36px;left:10%;width:80%;height:2px;background:linear-gradient(90deg,var(--naranja),rgba(201,169,110,.2));z-index:0;}
.paso{padding:0 14px;text-align:center;position:relative;}
.paso-num{width:72px;height:72px;background:var(--azul-dark);border:3px solid var(--naranja);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-size:26px;font-weight:900;color:var(--naranja);margin:0 auto 20px;position:relative;z-index:1;transition:var(--transition);}
.paso:hover .paso-num{background:var(--naranja);color:#fff;border-color:#fff;}
.paso h4{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:800;color:#fff;margin-bottom:8px;}
.paso p{font-size:12.5px;line-height:1.65;color:rgba(255,255,255,.58);}

/* ============================================================
   OPINIONES
   ============================================================ */
#opiniones{padding:40px 0;background:var(--gris-bg);}
.opiniones-header{text-align:center;margin-bottom:52px;}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.review-card{background:#fff;border-radius:10px;padding:28px 24px;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:var(--transition);position:relative;}
.review-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.review-card::before{content:'"';position:absolute;top:12px;right:20px;font-size:72px;color:rgba(26,26,46,.06);font-family:'Montserrat',sans-serif;font-weight:900;line-height:1;}
.stars{display:flex;gap:3px;margin-bottom:14px;}
.stars i{color:#C9A96E;font-size:14px;}
.review-text{font-size:14.5px;line-height:1.75;color:var(--texto);margin-bottom:18px;font-style:italic;}
.review-author{display:flex;align-items:center;gap:12px;}
.review-avatar{width:42px;height:42px;border-radius:50%;background:var(--azul);display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;color:#fff;flex-shrink:0;}
.review-name{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;color:var(--azul);}
.review-loc{font-size:12px;color:var(--gris-med);}
.google-badge{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:40px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;color:var(--gris-med);}
.google-badge i{color:#8B8FA8;font-size:20px;}
.google-score{font-size:22px;font-weight:900;color:var(--azul);}

/* ============================================================
   CONTACTO
   ============================================================ */
.contacto-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;align-items:start;}
.contacto-info .section-title{margin-bottom:20px;}
.contacto-intro{font-size:15px;line-height:1.8;color:var(--gris-med);margin-bottom:32px;}
.contact-items{display:flex;flex-direction:column;gap:0;}
.contact-item{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid #f0f0f0;}
.contact-item:last-child{border-bottom:none;}
.c-icon{width:44px;height:44px;background:rgba(26,26,46,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--azul);flex-shrink:0;}
.c-label{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--naranja);margin-bottom:3px;}
.c-value{font-size:15px;color:var(--texto);font-weight:400;}
.horario-wrap{background:var(--gris-bg);border-radius:10px;padding:16px 18px;margin-top:6px;font-size:13.5px;color:var(--gris-med);}
.horario-wrap strong{color:var(--azul);}

/* Zonas de servicio */
.zonas{margin-top:24px;}
.zonas-label{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gris-med);margin-bottom:10px;}
.zonas-chips{display:flex;flex-wrap:wrap;gap:7px;}
.zona-chip{background:rgba(26,26,46,.07);border:1px solid rgba(26,26,46,.12);border-radius:99px;padding:5px 13px;font-size:12px;font-family:'Montserrat',sans-serif;font-weight:600;color:var(--azul);}

/* Formulario */
.form-wrap{background:var(--azul);border-radius:14px;padding:44px 40px;box-shadow:var(--shadow-lg);}
.form-title{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:900;color:#fff;margin-bottom:6px;}
.form-sub{font-size:14px;color:rgba(255,255,255,.65);margin-bottom:28px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fgroup{margin-bottom:16px;}
.fgroup label{display:block;font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:7px;}
.fgroup input,.fgroup select,.fgroup textarea{width:100%;background:rgba(255,255,255,.09);border:1.5px solid rgba(255,255,255,.15);color:#fff;padding:13px 16px;border-radius:7px;font-family:'Lato',sans-serif;font-size:14.5px;outline:none;transition:var(--transition);}
.fgroup select option{background:var(--azul-dark);color:#fff;}
.fgroup input::placeholder,.fgroup textarea::placeholder{color:rgba(255,255,255,.35);}
.fgroup input:focus,.fgroup select:focus,.fgroup textarea:focus{border-color:var(--naranja);background:rgba(255,255,255,.13);}
.fgroup textarea{height:96px;resize:none;}
.form-privacy{font-size:12px;color:rgba(255,255,255,.45);margin-bottom:20px;line-height:1.5;}
.form-privacy a{color:var(--naranja-v);text-decoration:underline;}
.form-submit{width:100%;background:var(--naranja);color:#fff;border:none;padding:15px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;border-radius:7px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:9px;}
.form-submit:hover{background:var(--naranja-v);transform:translateY(-2px);}
.form-success{display:none;margin-top:14px;padding:14px 18px;background:rgba(37,211,102,.15);border:1px solid rgba(37,211,102,.4);border-radius:7px;color:#4ade80;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;text-align:center;}

/* ============================================================
   FOOTER
   ============================================================ */
footer{background:var(--azul-dark);padding:70px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:50px;margin-bottom:50px;}
.footer-brand p{font-size:14px;line-height:1.8;color:rgba(255,255,255,.6);margin:18px 0 22px;}
.social-row{display:flex;gap:10px;color:var(--azul-dark);}
.soc-btn{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:15px;transition:var(--transition);}
.soc-btn:hover{background:var(--naranja);border-color:var(--naranja);color:#fff;}
.fcol h4{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:#fff;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid rgba(201,169,110,.4);}
.fcol ul li{margin-bottom:10px;}
.fcol ul li a{color:rgba(255,255,255,.65);font-size:13.5px;transition:var(--transition);display:flex;align-items:center;gap:7px;}
.fcol ul li a:hover{color:var(--naranja-v);}
.fcol ul li a i{font-size:11px;color:var(--naranja);flex-shrink:0;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.footer-bottom p{color:rgba(255,255,255,.38);font-size:12.5px;}
.footer-bottom a{color:var(--naranja-v);font-size:12.5px;}

/* ============================================================
   WHATSAPP PLUGIN FLOTANTE
   ============================================================ */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:9999;}
.wa-fab{width:74px;height:74px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;outline:none;box-shadow:0 6px 24px rgba(37,211,102,.5);transition:var(--transition);position:relative;}
.wa-fab:hover{transform:scale(1.08);}
.wa-fab i{font-size:30px;color:#fff;transition:var(--transition);}
.wa-pulse{position:absolute;inset:0;border-radius:50%;background:rgba(37,211,102,.4);animation:waPulse 2.2s infinite;}
.wa-tooltip-txt{position:absolute;right:72px;top:50%;transform:translateY(-50%);background:var(--azul-dark);color:#fff;white-space:nowrap;padding:9px 16px;border-radius:7px;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;pointer-events:none;opacity:0;transition:var(--transition);box-shadow:var(--shadow);}
.wa-tooltip-txt::after{content:'';position:absolute;right:-7px;top:50%;transform:translateY(-50%);border:7px solid transparent;border-right:none;border-left-color:var(--azul-dark);}
.wa-float:hover .wa-tooltip-txt{opacity:1;}

/* Panel WhatsApp */
/* .wa-panel{position:absolute;bottom:15px;right:0;width:318px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25);display:none;transform-origin:bottom right;} */
.wa-panel{position:absolute;bottom:15px;right:0;width:318px;max-height:calc(100vh - 80px);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25);display:none;transform-origin:bottom right;flex-direction:column;}

.wa-panel.open{display:flex;animation:panelPop .3s cubic-bezier(.34,1.56,.64,1) forwards;}
@keyframes panelPop{from{opacity:0;transform:scale(.85) translateY(12px);}to{opacity:1;transform:scale(1) translateY(0);}}

.wa-head{background:linear-gradient(135deg,#3b4364,#C9A96E);padding:16px 18px;display:flex;align-items:center;gap:12px;}
.wa-head-ava{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.wa-head-name{font-family:'Montserrat',sans-serif;font-size:14.5px;font-weight:800;color:#fff;}
.wa-head-status{font-size:11.5px;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:5px;margin-top:2px;}
.wa-head-status::before{content:'';width:7px;height:7px;border-radius:50%;background:#4ade80;display:inline-block;}
.wa-close-btn{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.7);font-size:18px;cursor:pointer;transition:var(--transition);padding:3px;}
.wa-close-btn:hover{color:#fff;}


.wa-body{background:#ECE5DD;padding:18px 16px 20px;overflow-y:auto;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Crect width='80' height='80' fill='%23ECE5DD'/%3E%3C/svg%3E");}

.wa-bubble{background:#fff;border-radius:3px 12px 12px 12px;padding:13px 15px 9px;margin-bottom:16px;box-shadow:0 1px 2px rgba(0,0,0,.09);position:relative;}
.wa-bubble::before{content:'';position:absolute;top:0;left:-8px;border:8px solid transparent;border-right-color:#fff;border-top-color:#fff;}
.wa-bubble-txt{font-size:13.5px;color:#2d2d2d;line-height:1.55;}
.wa-bubble-txt strong{color:#075e54;}
.wa-bubble-time{font-size:11px;color:#aaa;text-align:right;margin-top:5px;}

.wa-opts-label{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#075e54;margin-bottom:9px;}
.wa-opts{display:flex;flex-direction:column;gap:7px;}
.wa-opt{display:flex;align-items:center;gap:11px;background:#fff;border:none;border-radius:10px;padding:11px 13px;cursor:pointer;width:100%;text-align:left;transition:var(--transition);box-shadow:0 1px 3px rgba(0,0,0,.08);}
.wa-opt:hover{background:#f0fff4;transform:translateX(3px);}
.wa-opt-ico{width:34px;height:34px;border-radius:8px;background:#3b4364;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff;flex-shrink:0;}
.wa-opt-main{font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:800;color:#1a1a1a;}
.wa-opt-sub{font-size:11px;color:#888;margin-top:1px;}
.wa-opt-arr{margin-left:auto;color:#25D366;font-size:13px;}

/* ============================================================
   ANIMACIONES
   ============================================================ */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes waPulse{0%{transform:scale(1);opacity:.8;}70%{transform:scale(1.55);opacity:0;}100%{opacity:0;}}

/* Reveal scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;padding:80px 0 100px;}
  .hero-visual{display:none;}
  .stats-inner{grid-template-columns:repeat(2,1fr);}
  .servicios-header{grid-template-columns:1fr;}
  .servicios-grid{grid-template-columns:repeat(2,1fr);}
   .serv-card.featured{grid-column: 1 / 3; /* ocupa todo el ancho de las 2 columnas */}
  .gallery-grid{grid-template-columns:1fr 1fr;}.gal-item:first-child{grid-column:auto;}
  .nosotros-inner{grid-template-columns:1fr;}
  .pasos-grid{grid-template-columns:repeat(2,1fr);}.pasos-grid::before{display:none;}
  .reviews-grid{grid-template-columns:1fr 1fr;}
  .contacto-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
}
@media(max-width:768px){
  .topbar{display:none;}
  .nav-menu{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.1);border-top:2px solid var(--gris-bg);}
  .nav-menu.open{display:flex;}
  .nav-toggle{display:flex;flex-direction:column;}
  .servicios-grid{grid-template-columns:1fr;}
  .serv-card.featured{grid-column: auto; /* una sola columna, sin span especial */}
  .gallery-grid{grid-template-columns:1fr;}
  .valores-grid{grid-template-columns:1fr;}
  .pasos-grid{grid-template-columns:1fr;}
  .reviews-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .años-badge{right:0;}
  .hero-actions{flex-direction:column;align-items:flex-start;}
}

/* === IMÁGENES REALES === */
.serv-card-img {
  width: calc(100% + 56px);
  margin: -36px -28px 22px -28px;
  height: 170px;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}
.serv-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.serv-card:hover .serv-card-img img { transform: scale(1.06); }
.gal-item img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .6s ease;
}
.gal-item:hover img { transform: scale(1.05); }
