
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');

.manrope-<uniquifier> {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

:root{
  --bg: #0b1220;
  --bg2:#0f1b33;
  --celeste:#137fec;
	--gris:#617589;
  --soft:#f8f9fa;
  --radius: 12px;
  --shadow: 0 25px 50px  -12px rgba(0, 0, 0, 0.25); 
	--shadow2:rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px
}

html, body { height: 100%; }
body{
  font-family: "Manrope", sans-serif;
  color: #617589;
  background: #fff;
	tab-size:4;
  font-feature-settings:normal;
  font-variation-settings:normal;
}
img { max-width: 100%; -webkit-transition: all 0.3s ease-out 0s; -moz-transition: all 0.3s ease-out 0s; -ms-transition: all 0.3s ease-out 0s; -o-transition: all 0.3s ease-out 0s; transition: all 0.3s ease-out 0s; height:auto}
.tracking-tight {  letter-spacing: -0.025em;}
.leading-relaxed {  line-height: 1.625!important;}
.grid-cols-1 {  grid-template-columns:repeat(1, minmax(0, 1fr))}
.grid-cols-2 {  grid-template-columns:repeat(2, minmax(0, 1fr))}
.gap-8 {  gap:2rem}
.gap-16 {  gap: 4rem;}
.h-64 {  height: 16rem;}
.flex-1 {  flex: 1 1 0%;}
.col2resp { display:grid;}
.max-w-3xl {  max-width: 48rem;}
.mb-12 {  margin-bottom: 3rem;}
.mb-16 {  margin-bottom: 4rem;}
.text-celeste {color: var(--celeste); }
.link-celeste {  display: inline-flex;  align-items: center;  color: var(--celeste); font-weight: 700; text-decoration: none;}
.link-celeste:hover {  text-decoration: underline; }
.sr-only {  position: absolute;  width: 1px;  height: 1px;  padding: 0;  margin: -1px;  overflow: hidden;  clip: rect(0, 0, 0, 0);  white-space: nowrap;  border-width: 0;}
.size-6 {  width: 1.5rem;  height: 1.5rem;}
/* 
---------------------------------------------
Header Style
--------------------------------------------- 
*/
.brand-logo{
  width: 180px;
  height: auto;
  object-fit: contain;
} 
.header-area {position: fixed; display:block; background: rgba(255, 255, 255, 0.95); top: 0; left: 0; right: 0; z-index: 100;  -webkit-transition: all .5s ease 0s; -moz-transition: all .5s ease 0s; -o-transition: all .5s ease 0s;  transition: all .5s ease 0s;border-bottom: 1px solid rgba(240 ,242, 244,1);width: 100vw;}
.header-area .main-nav {display: flex; align-items: center;height: 5rem;position: relative;}

.navbar .nav-link{  color: #111418; font-size: 0.875rem;  line-height: 1.25rem; font-weight:500;}
.navbar .nav-link:hover,
.navbar .nav-link.active{  color: #137fec;}

.header-area .main-nav .menu-trigger { cursor: pointer; position: absolute; top: 25px; width: 32px; height: 32px;  text-indent: -9999em; z-index: 9999; right: 10px; display: none;background: transparent; border: none;}

.header-area .main-nav .menu-trigger span, .header-area .main-nav .menu-trigger span:before, .header-area .main-nav .menu-trigger span:after { -moz-transition: all 0.4s; -o-transition: all 0.4s; -webkit-transition: all 0.4s; transition: all 0.4s; background-color: #011321; display: block; position: absolute; width: 30px; height: 2px; left: 0}
.header-area .main-nav .menu-trigger span:before, .header-area .main-nav .menu-trigger span:after {
  -moz-transition: all 0.4s; -o-transition: all 0.4s; -webkit-transition: all 0.4s; transition: all 0.4s; background-color: #011321; display: block; position: absolute; width: 30px; height: 2px; left: 0; width: 100%}
.header-area .main-nav .menu-trigger span:before, .header-area .main-nav .menu-trigger span:after { content: "";}
.header-area .main-nav .menu-trigger span { top: 16px;}
.header-area .main-nav .menu-trigger span:before { -moz-transform-origin: 33% 100%; -ms-transform-origin: 33% 100%;
  -webkit-transform-origin: 33% 100%; transform-origin: 33% 100%; top: -10px; z-index: 10;}
.header-area .main-nav .menu-trigger span:after { -moz-transform-origin: 33% 0; -ms-transform-origin: 33% 0;  -webkit-transform-origin: 33% 0; transform-origin: 33% 0; top: 10px;}

.header-area .main-nav .menu-trigger.active span, .header-area .main-nav .menu-trigger.active span:before, .header-area .main-nav .menu-trigger.active span:after {background-color: transparent; width: 100%;}
.header-area .main-nav .menu-trigger.active span:before { -moz-transform: translateY(6px) translateX(1px) rotate(45deg);
  -ms-transform: translateY(6px) translateX(1px) rotate(45deg); -webkit-transform: translateY(6px) translateX(1px) rotate(45deg); transform: translateY(6px) translateX(1px) rotate(45deg); background-color: #011321;}
.header-area .main-nav .menu-trigger.active span:after { -moz-transform: translateY(-6px) translateX(1px) rotate(-45deg);
  -ms-transform: translateY(-6px) translateX(1px) rotate(-45deg); -webkit-transform: translateY(-6px) translateX(1px) rotate(-45deg); transform: translateY(-6px) translateX(1px) rotate(-45deg); background-color: #011321;}

.visible{display:inline-block !important;}
.btn-accent {  background: #137fec;  border: 0;  color: #fff;  font-weight: 700;  box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;  padding-left: 1.5rem;
  padding-right: 1.5rem;  font-size: 0.875rem;  line-height: 1.25rem;  border-radius: 0.75rem;  display: flex;  align-items: center;  justify-content: center;
  height: 2.5rem;  text-decoration: inherit;  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);  transition-duration: 150ms;}
.btn-accent:hover{  background:#0e62b8; color: #fff;}


@media (min-width:1024px) {
	.mobile { display:none}
	.col2resp{  grid-template-columns:repeat(2, minmax(0, 1fr))}
	.colreverse {flex-direction: row;}
	.paranav, .container.px {padding-left: 2rem;    padding-right: 2rem;}
	#nav-list {justify-content: center;}
	.header-area .main-nav .nav {gap: 2rem;}
	.navbar .nav-link {padding: 0 !important;}
	.hero-content{padding-left: 2rem;    padding-right: 2rem;}
	.hero-content h1 {font-size: 4.5rem !important; line-height: 1 !important;}
	.masonry{ column-count: 3 !important;}
}
@media (min-width: 768px) and (max-width: 1023.99px) {
 .hero-content h1 {  font-size: 3.75rem!important;   line-height: 1 !important;}
}
@media (min-width: 768px)  {
 .hero-content h2{font-size: 1.5rem!important;  line-height: 2rem!important;}
 h2.section-title{font-size: 3rem!important;line-height: 1!important;}
 h2.section-title2{font-size: 2.25rem!important;line-height: 2.5rem!important;}
 .masonry{ column-count: 2; }
  .cta-card{ padding:64px}
}
@media (min-width: 640px) {
  .btn-aberturas, .btn-outline-cele, .btn-whatsapp-lg, .btn-email-lg  {    width: auto!important}
}
/* mobile */
@media (max-width: 1023.99px) {
	.desk { display:none!important}
	.col2resp {  grid-template-columns:repeat(1, minmax(0, 1fr))}
	.colreverse {flex-direction: column-reverse;}
	.header-area .container { max-width:100%!important}
  .header-area .menu-trigger { display: block !important; }
  .header-area .main-nav .nav { background-color: rgba(255, 255, 255, 0.95); }
	#nav-list {  position: absolute;  width: 100vw;  top: 81px;  margin-left: -1rem;  margin-right: -1rem;}
	#nav-list ul {padding-left: 1rem;    padding-right: 1rem;}
 	.paranav, .container.px {padding-left: 1rem;    padding-right: 1rem;}
  .hero{ min-height: 88vh; }
	.hero-content{padding-left: 1rem;    padding-right: 1rem;}
  .project-card img{ height: 200px; }
}
@media (max-width: 767.99px) {
 .badge-float {    display: none;  }
 .masonry{ column-count: 1; }
 .cta-card{ padding:32px}
}
/* Hero */
.hero{  position: relative;  min-height: 600px;  display: flex;   color: #fff;  height: 100vh;  justify-content: center;  align-items: center;}
.hero-bg{  position:absolute; inset:0;  background-size: cover;  background-position: center;}
.hero-overlay{  position:absolute; inset:0;  background-image:linear-gradient(to bottom,  rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7));}
.hero-content{  position: relative;  z-index: 20; }
.hero-content .content{  max-width: 56rem;}
.hero-kicker{  display: inline-block;  padding: 0.25rem 0.75rem;  border-radius: 9999px;  background: rgba(255,255,255,.2);  border: 1px solid rgba(255,255,255,.3);
  font-weight: 600;font-size: 0.75rem;  line-height: 1rem;  letter-spacing: 0.05em;  backdrop-filter: blur(12px); text-transform:uppercase}
.hero-content h1 { color:#fff; font-size: 2.25rem;  line-height: 1.25;font-weight: 900;letter-spacing: -0.025em;filter: drop-shadow(rgba(0, 0, 0, 0.04) 0px 10px 8px) drop-shadow(rgba(0, 0, 0, 0.1) 0px 4px 3px); margin-bottom:0}
.hero-content h2{font-size: 1.125rem;  line-height: 1.75rem; color:#f3f4f6; max-width: 42rem;font-weight: 500;filter: drop-shadow(rgba(0, 0, 0, 0.07) 0px 4px 3px) drop-shadow(rgba(0, 0, 0, 0.06) 0px 2px 2px); margin-bottom:0}
.btn-accent2 { display: flex;  align-items: center; justify-content: center;
  height: 3rem; padding: 0 2rem; border-radius: 12px;background-color: #137fec; color: #fff; font-size: 1rem; font-weight: 700; box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px; text-decoration:inherit; 
  transition: all 0.2s ease-in-out;  transform: translateY(0);}

.btn-accent2:hover { background-color:#0e62b8; box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(19, 127, 236, 0.5) 0px 10px 15px -3px, rgba(19, 127, 236, 0.5) 0px 4px 6px -4px;border-color: rgba(255,255,255,0.6); transform: translateY(-2px); }

.btn-outline-glass {  display: inline-flex;  align-items: center;   justify-content: center;  height: 48px;  padding: 0 32px; border-radius: 12px;
  background: rgba(255, 255, 255, 0.10); backdrop-filter: blur(4px); line-height: 1.5rem; text-decoration:inherit;  border: 1px solid rgba(255, 255, 255, 0.30); color: #ffffff;  font-size: 16px; font-weight: 700;    transform: translateY(0);  transition:
    background-color 0.25s cubic-bezier(.4,0,.2,1),
    transform 0.25s cubic-bezier(.4,0,.2,1),
    box-shadow 0.25s cubic-bezier(.4,0,.2,1),
    border-color 0.25s ease;
}
.btn-outline-glass:hover {  background: rgba(255, 255, 255, 0.20); transform: translateY(-2px);   box-shadow:    0 14px 30px rgba(0,0,0,0.20);}

.scroll-indicator { position: absolute; bottom: 40px; left: 50%;  transform: translateX(-50%);  z-index: 20;  color: rgba(255, 255, 255, 0.7); background: transparent;  border: none;}
.scroll-indicator .material-symbols-outlined {  font-size: 36px;  line-height: 1;display: inline-block;}
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.bounce {  animation: bounceY 1s infinite;}
/* animate-bounce */
@keyframes bounceY {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-11px);
  }
}

.hero-scroll{  display:inline-grid;  place-items:center;  width: 52px; height: 52px;  border-radius: 999px;  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);  text-decoration:none;}
.hero-scroll .material-symbols-rounded{  font-size: 34px;  line-height: 1;}

/* Sections */
.section-pad{ padding: 72px 0; }
.section-soft{ background: var(--soft); }

.section-eyebrow{  color: var(--celeste);  font-weight: 700;  text-transform: uppercase; letter-spacing: 0.05em;  font-size: 0.875rem;  line-height: 1.25rem;}
.section-eyebrow span {width: 2rem; height: 0.125rem; background-color: var(--celeste); }
h2.section-title{font-size: 1.875rem;line-height: 1.25;  font-weight: 700; margin-bottom: 0;  color: #111418}
h2.section-title2{font-size: 1.875rem;line-height: 1.25;  font-weight: 700;margin-top: 0.75rem;margin-bottom: 1rem;  color: #111418}
p.text-gris {color: #617589; line-height: 1.75rem;font-size: 1.125rem;margin-bottom: 0;}

/*Servicios  Cards */
.img-card{  border-radius:24px;  overflow: hidden;  box-shadow: var(--shadow);	 aspect-ratio: 4/3;}
.img-card img {width: 100%;  height: 100%; object-fit: cover;  transform: scale(1); transition: transform 0.7s cubic-bezier(.4,0,.2,1); }
.img-card img:hover {  transform: scale(1.05); }
.stat-card h4{ color: var(--celeste);font-size: 2.25rem;  line-height: 2.5rem;font-weight: 700; margin-bottom: 0.25rem;}
.stat-card p { color: #111418; font-size: 0.875rem;  line-height: 1.25rem;margin-bottom: 0; font-weight:500 }

.badge-float {  position: absolute;  bottom: -24px;   left: -24px;  max-width: 320px;   padding: 24px; background-color: #ffffff;  border-radius: 16px;   box-shadow: var(--shadow2);  border-left: 4px solid var(--celeste);  z-index: 5;}
.badge-content {display: flex; align-items: flex-start; gap: 16px;}
.badge-icon {font-size: 1.875rem;line-height: 2.25rem; color: var(--celeste);}
.badge-title {font-size: 18px; line-height: 1.75rem;font-weight: 700;  color: #111418;margin: 0}
.badge-text {font-size: 14px; line-height: 1.25rem; color: var(--gris); margin: 0;}

.service-card {  border-radius: 16px;  background: #fff;height: 100% ;  box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;  padding: 32px; border:1px solid transparent;
  transition:    box-shadow 0.3s ease,    border-color 0.3s ease,    transform 0.3s  cubic-bezier(.4,0,.2,1)}
.service-card:hover{
	border-color:rgba(19, 127, 236, 0.2);
  box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px;
}
.service-ico { width: 56px;  height: 56px; background-color: rgba(19, 127, 236, 0.1); color: var(--celeste); border-radius: var(--radius);  display: flex; align-items: center; justify-content: center; margin-bottom: 24px; transition: background-color 0.3s ease, color 0.3s ease,
    transform 0.3s cubic-bezier(.4,0,.2,1);}
.service-ico .material-symbols-outlined {  font-size: 30px;  line-height: 1;}
.service-card:hover .service-ico {  background-color: var(--celeste);   color: #ffffff;}
.service-card h3 {color: #111418;font-weight: 700;font-size: 1.25rem;  line-height: 1.75rem;margin-bottom: 0.75rem;}
.service-card p.text-gris { font-size: inherit; line-height:inherit}


/*ABERTURAS*/

.pill-badge { display: inline-block;  padding: 4px 12px;  border-radius: 9999px;  background-color: rgba(19, 127, 236, 0.1);  color: var(--celeste);  font-size: 12px;  line-height: 1rem;  font-weight: 700;  text-transform: uppercase; margin-bottom: 16px;   }

.feature-list{ display: grid;  gap: 24px;}

.feature-item{display: flex; align-items: flex-start;  gap: 16px; padding: 16px; border-radius: 12px; transition: background-color .15s ease, transform .15s cubic-bezier(0.4, 0, 0.2, 1); }

.feature-item:hover{  background: #f8f9fa;}
/* icon pill */
.feature-icon{  flex: 0 0 auto;   width: 48px;  height: 48px;  border-radius: 9999px;  display: flex;  align-items: center;  justify-content: center;}
/* title + text */
.feature-title{  font-size: 1.125rem;  line-height: 1.75rem;  font-weight: 700;  color: #111418;  margin: 0;}
.feature-text{ font-size: 0.875rem; line-height: 1.25rem;  color: var(--gris);  margin: 4px 0 0;}
/* Color variants:  */
.feature-icon.is-green{ background: #dcfce7; color: #16a34a;}
.feature-icon.is-blue{ background: #dbeafe; color: #2563eb;}
.feature-icon.is-gray{ background: #f3f4f6; color: #4b5563;}
.cont_img img {border-radius: 16px; box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px;}
.cont_img img.izq {transform: translateY(32px);}
/* botones*/
.btn-aberturas {  display: inline-flex;  align-items: center;  justify-content: center;  height: 48px;  padding: 0 32px;  border-radius: 12px;  background-color: var(--celeste);      
  color: #ffffff;  font-size: 1rem;  line-height: 1.5rem;  font-weight: 700;  text-decoration: none;  box-shadow: rgba(19, 127, 236, 0.3) 0px 10px 15px -3px, rgba(19, 127, 236, 0.3) 0px 4px 6px -4px;  transition:    background-color 0.25s ease,    box-shadow 0.25s ease;  width: 100%;}
.btn-aberturas:hover {  background-color: #0e62b8;    box-shadow:  rgba(19, 127, 236, 0.3) 0px 10px 15px -3px, rgba(19, 127, 236, 0.3) 0px 4px 6px -4px;  }
/* icon spacing */
.btn-aberturas .btn-icon, .btn-outline-cele .btn-icon  {  margin-right: 8px; }
.btn-outline-cele {  display: inline-flex;  align-items: center;  justify-content: center;  height: 48px;  padding: 0 32px;  border-radius: 12px;  background-color: transparent;
  border: 2px solid var(--celeste);   color: var(--celeste);  font-size: 1rem;  line-height: 1.5rem; font-weight: 700;  text-decoration: none;
  transition:   background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s cubic-bezier(.4,0,.2,1);  width: 100%;}
.btn-outline-cele:hover {  background-color: rgba(19, 127, 236, 0.05);}

/* Portfolio  */
/* Contenedor  */
.masonry{ column-gap: 24px; }
/* Item */
.masonry-item{  break-inside: avoid; -webkit-column-break-inside: avoid;  page-break-inside: avoid; position: relative;    display: inline-block; width: 100%; border-radius: 12px; overflow: hidden; cursor: pointer;  margin: 0 0 24px; }
/* Imagen */
.masonry-img{  width: 100%;  height: auto;  display: block;  object-fit: cover;  transform: scale(1);  transition: transform .5s cubic-bezier(0.4, 0, 0.2, 1); }
.masonry-item:hover .masonry-img{  transform: scale(1.10);}
/* Overlay */
.masonry-overlay{  position: absolute;  inset: 0;  background: linear-gradient(to top, rgba(0,0,0,0.80), rgba(0,0,0,0.00),    rgba(0,0,0,0.00));  opacity: 0;
  transition: opacity .3s cubic-bezier(0.4, 0, 0.2, 1);   display: flex;  flex-direction: column;  justify-content: flex-end;  padding: 24px; }
.masonry-item:hover .masonry-overlay{  opacity: 1;}
/* Textos */
.masonry-title{  margin: 0;  color: #fff;  font-size: 1.25rem;
  line-height: 1.75rem;  font-weight: 700;}
.masonry-meta{  margin: 0;  color: #d1d5db;   font-size: 0.875rem;
  line-height: 1.25rem;
}

/*LIGHTBOX*/
.lightbox{  position: fixed;  inset: 0;  z-index: 9999;  display: none;}
.lightbox.is-open{  display: block;}
.lightbox__backdrop{  position: absolute;  inset: 0;  background: rgba(0,0,0,0.72);  backdrop-filter: blur(6px);}
.lightbox__dialog{  position: relative;  width: min(1100px, 92vw);  height: min(720px, 86vh);  margin: 6vh auto 0;  display: grid;  grid-template-columns: 56px 1fr 56px;
  align-items: center;  gap: 12px;  z-index: 1;}
.lightbox__figure{  margin: 0;  border-radius: 16px;  overflow: hidden;  background: rgba(10,15,25,0.65);  box-shadow: 0 30px 80px rgba(0,0,0,0.45);  display: flex;
  flex-direction: column;  height: 100%;}
.lightbox__img{  width: 100%;  height: 100%;  object-fit: contain;   background: rgba(0,0,0,0.55);  display: block;}
.lightbox__caption{  padding: 14px 16px; /* border-top: 1px solid rgba(255,255,255,0.10);*/  background: rgba(0,0,0,0.55);}
.lightbox__title{  color: #fff;  font-weight: 700;  font-size: 16px;  margin-bottom: 2px;}
.lightbox__meta{  color: rgba(255,255,255,0.70);  font-size: 13px;}
/* Botones */
.lightbox__btn{  width: 48px;  height: 48px;  border-radius: 999px;  border: 1px solid rgba(255,255,255,0.18);  background: rgba(255,255,255,0.10);  color: #fff;  display: inline-flex;  align-items: center;  justify-content: center;  cursor: pointer;  transition:  background-color .2s ease, border-color .2s ease;}
.lightbox__btn:hover{   background: rgba(255,255,255,0.16);  border-color: rgba(255,255,255,0.28);}
.lightbox__btn--close{  position: absolute;  top: -15px;  right: 0;   z-index:99999}
.lightbox__controls{  display: none;  gap: 10px;  justify-content: center;  align-items: center;}
/* Mobile: botones abajo */
@media (max-width: 575.98px){
 .lightbox__dialog{    grid-template-columns: 1fr;    grid-template-rows: 1fr auto;     gap: 10px;    height: 86vh;    margin-top: 5vh;  }
  /* Ocultamos los botones laterales desktop y el close flotante */
  .lightbox__btn--prev:not(.lightbox__btn--prev--mobile),  .lightbox__btn--next:not(.lightbox__btn--next--mobile){    display: none;  }
  /* Mostramos la barra abajo */
  .lightbox__controls{    display: flex;  }
  /* Ajuste del close en mobile: ya no es absolute
  .lightbox__btn--close--mobile{    position: static;    transform: none;  } */
}

/* CTA */
.cta-card{border-radius:24px;  background: var(--celeste);  color: #fff; text-align: center; overflow: hidden; position: relative;}
.orb-blur { position: absolute; top: 0; right: 0; width: 256px; height: 256px; background-color: rgba(255, 255, 255, 0.10); border-radius: 50%;  filter: blur(64px); transform: translateX(50%) translateY(-50%);}
.orb-blur2 { position: absolute; bottom: 0;left: 0; width: 256px; height: 256px; background-color: rgba(0, 0, 0, 0.10);  border-radius: 50%; filter: blur(64px);transform: translateX(-50%) translateY(50%);}
.cta_content { z-index:10;max-width: 42rem;}
.text-cta{ color:rgba(255, 255, 255, 0.9); font-size: 1.125rem;  line-height: 1.75rem;}
.btn-whatsapp-lg {  display: flex;  align-items: center;  justify-content: center;  gap: 8px;  height: 56px;  padding: 0 32px;  border-radius: 12px;  background-color: #25D366;  color: #ffffff;  font-size: 1.125rem;  line-height: 1.75rem;  font-weight: 700;  text-decoration: none;  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px;   width: 100%;  transform: scale(1);  transition: background-color 0.25s ease, transform 0.25s cubic-bezier(.4,0,.2,1);}
.btn-whatsapp-lg:hover { background-color: #1ebc57;  transform: scale(1.05); }
.btn-email-lg {  display: flex;  align-items: center;  justify-content: center;  gap: 8px;  height: 56px;  padding: 0 32px;  border-radius: 12px;  background-color: #ffffff;    
  color: var(--celeste); font-size: 1.125rem;  line-height: 1.75rem;  font-weight: 700;  text-decoration: none;  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px;  width: 100%;    transform: scale(1);  transition: background-color 0.25s ease, transform 0.25s cubic-bezier(.4,0,.2,1)}
.btn-email-lg:hover { background-color: #f3f4f6;transform: scale(1.05);}
.cta_info { color:rgba(255, 255, 255, 0.8);font-weight: 500;font-size: 0.875rem;  line-height: 1.25rem;margin-top: 2rem;}

/* Footer */
.footer{  background: var(--soft);   border-top: 1px solid #e5e7eb;  padding: 48px 0; position:relative}
.brand-logof{  width: 140px;  height: auto;  object-fit: contain;} 
.footer h3 {  color: #111418; font-weight: 700;font-size: 1.125rem;  line-height: 1.75rem;margin: 0;}
.footer p.bajada { color: var(--gris); margin: 0; font-weight: normal; margin: 0;font-size: 0.75rem;  line-height: 1rem;}
.footer a { color: var(--gris);  text-decoration: none;}
.footer a:hover{ color:  var(--celeste);text-decoration: underline; }
.foot_2 { color: var(--gris);font-size: 0.75rem;  line-height: 1rem;padding-top: 2rem; border-top: 1px solid #e5e7eb;margin-top: 2rem;}
/* Material symbols sizing */
.material-symbols-rounded{
  font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}
.cm {  position: absolute;  font-size: .7rem;  right: 15px;  bottom: 15px;}
.cm a {  font-weight: 600;color: #222323 !important;}
