:root{
  --brand-blue: #192e61;
  --text-blue: #003366;
  --accent-red: #d00000;
  --muted: #6b6b6b;
  --bg: #ffffff;
  --font: 'Arial', sans-serif;
}


/*Advantages*/
.section-title {
	text-align: center;
	color: #008a2e;
	font-weight: 700;
	font-size:1.5rem;
}

.advantage-item {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 10px;
}


.content h3 {
	color: #008a2e;
	margin-bottom: 20px;
	font-weight: 700;
	font-size: 1.3rem;
}

.content p {
	line-height: 1.8;
	color: #555;
	margin-bottom: 20px;
}

.content strong {
	font-weight: 700;
	color: #444;
}

/* Responsive */
@media (max-width: 768px) {

	.advantage-item {
		flex-direction: column;
		gap: 20px;
	}

	.icon {
		width: 90px;
	}
}



.link{ color:black; text-decoration:none; }
.product-card {
    background: transparent;
    transition: .2s;
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0px 4px 12px rgba(0,0,0,0.15);
}

.product-title {
    font-size: 16px;
    font-weight: 600;
    color: #111;
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: var(--font);
  color:#222;
  margin:0;
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.text-left{ text-align:left !important; }
.txt-grey{ color:#b5b5b5; } 
.txt-greyer{ color:#666; } 
.txt-white{ color:white; } 
.txt-blue{ color: var(--text-blue); }
.txt-black{ color:black; }

#videos a{ font-size: .8rem; }
#videos{ text-align:center; }

/* TOP BAR */
.top-bar{
  background: #f8f9fa;
  font-size: .9rem;
  padding:6px 12px;
}
.top-link{
  color: #0b3b66;
  font-weight:700;
  text-decoration:none;
}
.top-link:hover{ text-decoration:underline; }

/* HEADER */
.site-header{ border-bottom:1px solid #ececec; position:sticky; top:0; z-index:1040; background:#fff;}
.brand-logo{ height:63px; }

/* Desktop nav */
.main-nav .nav-link{
  color:#333;
  font-weight:600;
  padding: .5rem .8rem;
  text-transform:uppercase;
}
.main-nav .nav-link:hover, .main-nav .nav-link:focus{ color:var(--brand-blue);}

/* navbar toggler (mobile) */
.btn-plain{ background:transparent; border:0; padding:6px 8px; }
.hamburger{ display:inline-block; width:28px; height:20px; position:relative; }
.hamburger span{ position:absolute; left:0; right:0; height:2px; background:#222; display:block; }
.hamburger span:nth-child(1){ top:3px; }
.hamburger span:nth-child(2){ top:9px; }
.hamburger span:nth-child(3){ bottom:3px; }

/* SIDE MENU & OVERLAY */
.overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.6);
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
  z-index:1090;
}
.overlay.active{ opacity:1; visibility:visible; }

.side-menu{
  position:fixed;
  top:0;
  left:-320px;
  width:320px;
  max-width:90%;
  height:100vh;
  background:#031a2b; /* dark navy */
  color:#fff;
  transition:left .28s ease;
  z-index:1100;
  display:flex;
  flex-direction:column;
}
.side-menu.open{ left:0; }
.side-header{ border-bottom:1px solid rgba(255,255,255,0.05); }
.side-logo{ height:42px; }

/* side body links */
.side-body a{ color:#fff; text-decoration:none; display:block; padding:.55rem 0; font-weight:600; }
.side-body .side-link:hover{ color:var(--accent-red); }

/* mobile dropdowns */
.mobile-item{ margin-bottom:.25rem; }
.mobile-toggle{
  width:100%;
  text-align:left;
  background:transparent;
  border:0;
  color:#fff;
  padding:.55rem 0;
  font-weight:700;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.mobile-toggle .chev{ transform:rotate(0); transition: transform .2s ease; }
.mobile-toggle.open .chev{ transform:rotate(90deg); }

.mobile-submenu{
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease, padding .2s ease;
  padding-left:12px;
}
.mobile-submenu a{ color: rgba(255,255,255,0.92); padding:.35rem 0; display:block; font-weight:500; }

/* side CTA */
.side-cta .btn{ border-radius:6px; font-weight:700; }
.side-contact{ color:rgba(255,255,255,0.85); font-size:.95rem; }

/* HERO carousel */
.hero-section .carousel-item img{
  width:100%;
  height:640px;
  object-fit:cover;
}

/* TILES */
.tiles .tile{ border-radius:6px; transition:transform .16s ease, box-shadow .16s ease; }
.tiles .tile:hover{ transform:translateY(-6px); box-shadow:0 10px 30px rgba(11,59,102,0.08); }
.tile-title{ font-weight:700; color:var(--brand-blue); margin-top:.5rem; }

/* FOOTER */
.site-footer{ background:var(--brand-blue); color:#fff; }
.footer-top{ border-bottom:1px solid rgba(255,255,255,0.06); }
.footer-title{ color:#fff; font-weight:700; margin-bottom: .75rem; font-size:.95rem; }
.footer-text{ color:rgba(255,255,255,0.85); line-height:1.6; }
.footer-input{ background: rgba(255,255,255,0.08); border: none; color:#fff; }
.footer-input::placeholder{ color: rgba(255,255,255,0.6); }

/* footer links */
.footer-links a{ color: #b5b5b5; text-decoration:none; display:block; padding:.28rem 0; }
.footer-links a:hover{ text-decoration:underline; color:#fff; }

.social-icon{
  display:inline-block;
  width:36px; height:36px; line-height:36px;
  border-radius:50%;
  background: rgba(255,255,255,0.08);
  color:#fff; text-align:center; margin-right:.35rem;
  font-weight:700; text-decoration:none;
}

.footer-bottom{ background: rgba(0,0,0,0.06); font-size:.9rem; }

.back-to-top{
  position:fixed; right:18px; bottom:18px;
  width:44px; height:44px; border-radius:50%;
  background:#fff; color:var(--brand-blue);
  display:none; align-items:center; justify-content:center;
  box-shadow: 0 8px 24px rgba(11,59,102,0.12); border:none; z-index:2000;
}

#descripcion, #features h2{ color: var(--text-blue); }
#descripcion h2, #descripcion h4{ font-weight:bold; }
#descripcion p{ margin-top:2rem; }
.bg-gray{ background-color: #e4eaee; }
.bg-blue{ background-color: #003366; } 
.bg-green{ background-color: #00913a; } 
.bg-red{ background-color: #ff0303; }
.accordion .accordion-button{color:#666; font-weight: bold; background: #e4eaee; border-bottom: 1px solid white; transition: all .3s ease; }
.accordion .accordion-button:hover{background: #f7f7f7; }
.btn-blue{ background-color: #0c3c6d; color:white; padding:10px; text-decoration:none; margin-top:15px; display:inline-block; font-size: .9rem; } 
#banner-acerca{height: 630px; color:white;} 
#banner-acerca h1{font-size:3rem; margin-bottom:1.5rem;} 
#contacto h2, #contacto h4{ margin-bottom:2rem; color: var(--text-blue); }
#contacto h5{ color: #666; }
#contacto a{ color:#0c3c6d; text-decoration: none;}
#contacto a:hover{ color:#939393; }
#mapa iframe{ width:100% !important; }
.forma-contacto input, .forma-contacto textarea{ 
	color: #777;
    padding: .6em;
    display: inline-block;
    font-size: 1em;
    transition: .15s 
linear border;
    -webkit-appearance: none;
    max-width: 100%;
    border: 1px solid #eee;
    background: #f7f7f7;
    font-family: inherit;
    line-height: inherit; }

@media only screen and (max-width: 600px) { 
  .main-nav{ display:none; }
  .hero-section .carousel-item img{ height:190px; }
  .brand-logo{ height:48px; }
  #mapa{ margin-top:2rem; }
}