/*=========================================================
 Reinhold y Asociados - style.css
=========================================================*/

/* ROOT */
:root{
  --bs-body-bg:#0f172a;
  --bs-body-color:#e5e7eb;
  --bs-border-color:rgba(255,255,255,.08);

  --primary:#2563eb;
  --secondary:#10b981;

  --surface:#16213a;
  --surface-2:#1e293b;
  --surface-hover:#2a3a52;

  --text:#f8fafc;
  --text-muted:#94a3b8;
  --border:rgba(255,255,255,.08);

  --radius:20px;
  --transition:.35s ease;
  --shadow:0 20px 60px rgba(0,0,0,.25);
}

/* RESET */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  font-family:'Inter',sans-serif;
  background:var(--bs-body-bg);
  color:var(--text);
  line-height:1.8;
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
}




img{max-width:100%;height:auto}
a{text-decoration:none;color:inherit;transition:var(--transition)}
ul{list-style:none;padding:0;margin:0}

/* TYPOGRAPHY */
h1,h2,h3,h4,h5,h6{
  font-family:'Poppins',sans-serif;
  color:#fff;
  font-weight:700;
  letter-spacing:-.03em;


}
h1, h2, h3 { color: #10b981 }


p{color:var(--text-muted)}
.section-subtitle{
  color:var(--primary);
  text-transform:uppercase;
  letter-spacing:.25rem;
  font-size:.8rem;
  font-weight:600;
}
.section-title{font-size:clamp(2rem,5vw,3.5rem);margin:.5rem 0 1.5rem}

/* LAYOUT */
section{position:relative;padding:120px 0}
.bg-primary-dark{background:var(--bs-body-bg)}
.bg-secondary-dark{background:var(--surface)}
.bg-gradient{
background:linear-gradient(135deg,#1d4ed8,#059669);
}

/* NAV */
#mainNav{
padding:1.25rem 0;
background:#0f172a;
transition:var(--transition);
}

#mainNav.scrolled{
padding:.75rem 0;
background:rgba(15,23,42,.82);
backdrop-filter:blur(18px);
border-bottom:1px solid var(--border);
}

.nav-link{
color:#fff;
margin-left:1.25rem;
position:relative;
}
.nav-link:hover,.nav-link.active{color:#fff}
.nav-link:after{
content:"";
position:absolute;
left:0;bottom:-6px;
height:2px;width:0;
background:var(--secondary);
transition:var(--transition);
}
.nav-link:hover:after,.nav-link.active:after{width:100%}

/* HERO */
.hero{
min-height:100vh;
display:flex;
align-items:center;
background-size:cover;
background-position:center;
position:relative;


    margin-top: 120px;
}
.hero:before{
content:"";
position:absolute;inset:0;
background:
linear-gradient(rgba(15,23,42,.82),rgba(15,23,42,.55)),
linear-gradient(135deg,rgba(37,99,235,.25),rgba(16,185,129,.15));
}
.hero .container{position:relative;z-index:2}
.hero h1{font-size:clamp(3rem,7vw,5.5rem)}
.hero .lead{color:#dbe4ef;max-width:700px}

/* BUTTONS */
.btn{
border-radius:999px;
padding:.9rem 2rem;
font-weight:600;
transition:var(--transition);
}
.btn-primary-custom{
background:linear-gradient(135deg,var(--primary),var(--secondary));
color:#fff;border:0;
}
.btn-primary-custom:hover{
transform:translateY(-3px);
color:#fff;
}
.btn-outline-custom{
border:2px solid var(--secondary);
color:#fff;
}
.btn-outline-custom:hover{
background:var(--secondary);
color:#fff;
}

/* CARDS */
.card{
background:var(--surface);
border:1px solid var(--border);
border-radius:var(--radius);
overflow:hidden;
transition:var(--transition);
box-shadow:var(--shadow);
}
.card:hover{
transform:translateY(-8px);
background:var(--surface-hover);
}
.card-body{padding:2rem}
.card img{transition:.5s}
.card:hover img{transform:scale(1.04)}

/* FORMS */
.form-control,.form-select{
background:var(--surface-2);
border:1px solid var(--border);
color:#fff;
}
.form-control:focus,.form-select:focus{
background:var(--surface-2);
color:#fff;
border-color:var(--secondary);
box-shadow:0 0 0 .2rem rgba(16,185,129,.2);
}

/* CTA */
.cta-section{
position:relative;
overflow:hidden;

padding:120px 0;
}
.cta-shape{
position:absolute;
width:420px;height:420px;
border-radius:50%;
filter:blur(100px);
background:radial-gradient(circle,rgba(255,255,255,.15),transparent 70%);
}
.cta-shape-1{top:-120px;right:-120px}
.cta-shape-2{bottom:-120px;left:-120px}

/* FOOTER */
.footer{
background:#09111d;
padding:80px 0 30px;
border-top:1px solid var(--border);
}
.footer h5{color:#fff;margin-bottom:1.25rem}
.footer a{color:var(--text-muted)}
.footer a:hover{color:var(--secondary)}
.footer-divider{
border-color:var(--border);
margin:3rem 0 2rem;
}
.footer-social a{
display:inline-flex;
align-items:center;
justify-content:center;
width:42px;height:42px;
border-radius:50%;
background:var(--surface);
margin-right:.5rem;
}
.footer-social a:hover{background:var(--secondary);color:#fff}


.footer-logo {width:90%;}


/* GLOW */
.glow{
position:absolute;
width:500px;height:500px;
border-radius:50%;
background:radial-gradient(circle,rgba(16,185,129,.12),transparent 70%);
filter:blur(90px);
pointer-events:none;
}

/* UTILITIES */
.rounded-xl{border-radius:var(--radius)}
.shadow-custom{box-shadow:var(--shadow)}
.text-muted-custom{color:var(--text-muted)!important}

/* RESPONSIVE */
@media(max-width:991px){
section{padding:80px 0}
.hero{text-align:center}
.nav-link{margin-left:0;padding:.75rem 0}
}



.nohero {
    padding-top: 160px;
    padding-bottom: 60px;
}

/*======================================================
CONTACT
======================================================*/

.contact-card{
    background: var(--surface);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 1rem;
    box-shadow: 0 15px 40px rgba(0,0,0,.25);
}

.contact-card h3{
    margin-bottom:1.5rem;
}

.contact-card h5{
    font-size:1rem;
    margin-bottom:.5rem;
}

.contact-card p{
    margin-bottom:0;
}

.contact-card a{
    color:var(--bs-body-color);
    text-decoration:none;
}

.contact-card a:hover{
    color:var(--bs-primary);
}

.contact-card .form-control,
.contact-card .form-select{
    padding:.8rem 1rem;
}

/*======================================================
TIMELINE
======================================================*/

.timeline{
    position:relative;
    padding-left:2rem;
}

.timeline::before{
    content:"";
    position:absolute;
    left:8px;
    top:0;
    bottom:0;
    width:2px;
    background:rgba(255,255,255,.15);
}

.timeline-item{
    position:relative;
}

.timeline-item::before{
    content:"";
    position:absolute;
    left:-2rem;
    top:.4rem;
    width:18px;
    height:18px;
    border-radius:50%;
    background:var(--bs-primary);
    border:4px solid var(--surface);
}

.timeline h4{
    color:var(--bs-primary);
    font-weight:700;
    margin-bottom:.75rem;
}

