/* ================================================= */
/* VARIABLES */
/* ================================================= */

:root{
--primary:#7E9475;
--primary-dark:#4F6348;
}

/* ================================================= */
/* GLOBAL TYPOGRAPHY */
/* ================================================= */

body{
font-family:'Roboto',sans-serif;
}

.section-title{
font-size:2.4rem;
font-weight:700;
letter-spacing:.5px;
color:#3d6b4f;
}

.section-title::after{
content:"";
display:block;
width:60px;
height:3px;
background:#3d6b4f;
margin:15px auto;
}

.section-subtitle{
font-size:1.15rem;
line-height:1.35;
font-weight:600;
color:#4a4a4a;
letter-spacing:.2px;
margin-bottom:12px;

}

.text-center{
text-align:center !important;
}

.section-text{
font-size:1.05rem;
line-height:1.65;
color:#444;
max-width:620px;
}

.mi_color{
color:#7E9475;
font-weight:700;
}



/* ================================================= */
/* NAVBAR */
/* ================================================= */

.custom-navbar{
background:rgba(57,75,52,0.35);
backdrop-filter:blur(8px);
transition:all .3s ease;
}

.custom-navbar.scrolled{
background:rgba(57,75,52,0.95);
box-shadow:0 4px 12px rgba(0,0,0,.2);
}

/* ================================================= */
/* HERO VIDEO */
/* ================================================= */

.video-hero{
position:relative;
height:100vh;
overflow:hidden;
}

.video-hero video{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
z-index:0;
}

.video-hero::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(
rgba(0,0,0,.55),
rgba(0,0,0,.35)
);
z-index:1;
}

.video-hero::before{
content:"";
position:absolute;
bottom:-1px;
left:0;
width:100%;
height:120px;
background:linear-gradient(to bottom,transparent,white);
}

.hero-content{
position:relative;
z-index:2;
height:100vh;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
color:#fff;
padding:20px;
}

.hero-content h1{
font-size:3.4rem;
font-weight:700;
letter-spacing:.5px;
}

.hero-content p{
font-size:1.25rem;
opacity:.9;
}

/* BUTTON */

.custom-btn{
background:var(--primary);
border:none;
padding:12px 30px;
font-weight:600;
}

.custom-btn:hover{
background:var(--primary-dark);
}

/* ================================================= */
/* OBSERVABILITY SECTION */
/* ================================================= */

.observability-section{
background:#f8f9f8;
padding-top:100px;
padding-bottom:100px;
}


.observability-section .section-title::after{
margin:15px auto;
}


.observability-section .section-dyna{
font-size:1.1rem;
font-weight: 700;
}

.obs-lead{
font-size:1.1rem;
color:#666;
margin-bottom:20px;
}

.obs-text{
font-size:1rem;
line-height:1.6;
color:#444;
max-width:620px;
}

/* VIDEO */

.observability-wrapper{
position:relative;
display:inline-block;
}

.observability-video{
width:100%;
max-width:540px;
border-radius:6px;
box-shadow:0 20px 45px rgba(0,0,0,0.15);
opacity:0;
transition:opacity 1.2s ease;
}

.observability-video.visible{
opacity:1;
}

/* SIGNAL LABELS */

.signal-label{
position:absolute;
left:12px;
font-family:monospace;
font-size:12px;
font-weight:600;
color:#2c2c2c;
background:rgba(255,255,255,0.9);
padding:4px 8px;
border-radius:4px;
letter-spacing:.5px;
}

.top-label{
top:10px;
}

.bottom-label{
bottom:10px;
}


.section-dyna:first-of-type{
  font-weight:600;
  font-size:1.1rem;
  color:#3d6b4f;
  text-align: center;
}

/* ================================================= */
/* ABOUT SECTION */
/* ================================================= */

.about-block{
background:#fff;
}

.about-left{
height:520px;
overflow:hidden;
}

.about-left img{
width:100%;
height:100%;
object-fit:cover;
}

.about-right{
padding:80px 70px;
max-width:650px;
}

.about-subtitle{
font-size:13px;
letter-spacing:1.5px;
text-transform:uppercase;
color:#7E9475;
margin-bottom:10px;
}

/* ================================================= */
/* SERVICES GRID */
/* ================================================= */

.service-card{
position:relative;
display:block;
height:260px;
border-radius:18px;
overflow:hidden;
text-decoration:none;
box-shadow:0 10px 30px rgba(0,0,0,.15);
transition:.4s;
}

.service-card img{
width:100%;
height:100%;
object-fit:cover;
transition:.5s;
}

.service-card::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(
to top,
rgba(0,0,0,.6),
rgba(0,0,0,.2)
);
}

.service-overlay{
position:absolute;
bottom:20px;
left:20px;
color:#fff;
z-index:2;
text-align:left;
}

.service-overlay h3{
font-size:1.3rem;
margin:0;
}

.service-overlay span{
display:block;
font-size:.9rem;
opacity:.8;
margin-top:6px;
}

.service-card:hover{
transform:translateY(-10px);
box-shadow:0 18px 40px rgba(0,0,0,.25);
}

.service-card:hover img{
transform:scale(1.1);
}
.service-subtitle{
  font-size:0.9rem;
  color: rgba(255,255,255,0.85);
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
  margin-top:5px;
  margin-bottom:10px;
  font-weight:400;
  letter-spacing:0.3px;
}

/* ================================================= */
/* INDUSTRIES SECTION */
/* ================================================= */

.industries-section{
background:#f8f9f8;
}

.industry-card{
padding:25px 10px;
transition:all .3s ease;
border-radius:8px;
}

.industry-card i{
font-size:44px;
color:#3d6b4f;
margin-bottom:10px;
display:block;
}

.industry-card p{
margin:0;
font-weight:500;
color:#333;
}

.industry-card:hover{
transform:translateY(-6px);
box-shadow:0 12px 30px rgba(0,0,0,.08);
background:white;
}

.industry-title{
  font-weight:600;
  margin-bottom:4px;
}

.industry-sub{
  font-size:0.85rem;
  color:#6c757d;
  margin:0;
}

.industry-sub{
  opacity:0.7;
  transition:0.3s;
}

.industry-card:hover .industry-sub{
  opacity:1;
  color:#4F6348;
}

/* ================================================= */
/* INSIGHT SECTION */
/* ================================================= */

.insight-section{
background:
linear-gradient(
rgba(255,255,255,0.82),
rgba(255,255,255,0.82)
),
url("/foto/fft-spectrum.jpg");
background-size:75%;
background-position:center bottom;
background-attachment:fixed;
padding-top:90px;
padding-bottom:90px;
}

.insight-divider{
width:60px;
height:3px;
background:#7E9475;
margin:0 auto 30px auto;
}

.insight-section .section-subtitle{
font-size:1.2rem;
font-weight:500;
max-width:750px;
margin:auto;
}

.insight-text{
font-size:1.05rem;
line-height:1.7;
color:#444;
max-width:800px;
margin:auto;
text-align:center;
}

.insight-strong{
  font-size:1.1rem;
  font-weight:600;
  color:#3d6b4f;
  margin-top:20px;
  letter-spacing:0.3px;
}

/* ================================================= */
/* FOOTER */
/* ================================================= */

.site-footer{
background:rgba(57,75,52,.95);
color:#adb5bd;
padding:40px 0 20px;
margin-top:60px;
border-top:3px solid #7E9475;
}

.site-footer h6{
color:#fff;
margin-bottom:15px;
}

.footer-links{
list-style:none;
padding:0;
}

.footer-links li{
margin-bottom:6px;
}

.footer-links a{
color:#adb5bd;
text-decoration:none;
transition:.3s;
}

.footer-links a:hover{
color:#0d6efd;
}

.site-footer hr{
border-color:rgba(255,255,255,.1);
margin:30px 0;
}

.footer-bottom{
text-align:center;
font-size:.9rem;
}

footer a {
  color: #adb5bd; /* mismo color que el texto */
  text-decoration: none;
}

footer a:hover {
  color: #ffffff; /* opcional: blanco al pasar el mouse */
}

/* ================================================= */
/* ANIMATIONS */
/* ================================================= */

.reveal{
opacity:0;
transform:translateY(40px);
transition:.8s;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}