/* VARIABLES Y RESET */
:root{
  --azul:#00294d;
  --dorado:#c9a13c;
  --bg:#f6f7f9;
  --card:#ffffff;
  --muted:#6b7280;
  --shadow: rgba(2,6,23,0.12);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:Inter, Poppins, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; background:var(--bg); color:#0b1a2b; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale}

/* CONTAINER */
.container{max-width:1180px;margin:0 auto;padding:0 20px}

/* NAVBAR */
.navbar{position:fixed;top:0;left:0;width:100%;background:linear-gradient(90deg,var(--azul), darken(var(--azul),5%));box-shadow:0 6px 18px var(--shadow);z-index:1000}
.nav-inner, .nav-inner .nav-links{}
.nav-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
.logo{height:56px;transition:transform .25s ease}
.logo:hover{transform:scale(1.03)}
.nav-links{display:flex;gap:20px;align-items:center}
.nav-links a{color:white;text-decoration:none;font-weight:600;padding:8px 6px;border-radius:6px;transition:background .2s, color .2s}
.nav-links a:hover, .nav-links a.active{color:var(--dorado);background:rgba(255,255,255,0.03)}

/* MOBILE MENU */
.menu-toggle{display:none;background:none;border:0;color:white;cursor:pointer}

/* HERO */
.hero{min-height:78vh;display:flex;align-items:center;justify-content:center;padding-top:80px;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg, rgba(0,41,77,0.75), rgba(3,24,45,0.75));mix-blend-mode:multiply}
.hero .hero-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:1180px;margin:0 auto;padding:40px 20px}
.hero-text{max-width:640px;color:#fff}
.hero-text h1{font-size:2.1rem;line-height:1.05;margin-bottom:10px;letter-spacing:-0.2px}
.lead{color:rgba(255,255,255,0.92);margin-bottom:18px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 22px;border-radius:28px;text-decoration:none;font-weight:700}
.btn-primary{background:var(--dorado);color:var(--azul);box-shadow:0 6px 18px rgba(201,161,60,0.18);transition:transform .18s}
.btn-primary:hover{transform:translateY(-4px)}
.btn-outline{background:transparent;border:2px solid rgba(255,255,255,0.12);color:#fff}

/* hero image */
.hero-image img{width:420px;max-width:38vw;border-radius:12px;box-shadow:0 10px 30px rgba(2,6,23,0.18);transform:translateY(0);transition:transform .6s}
.hero-image img:hover{transform:translateY(-6px)}

/* SECTION STYLES */
.section{padding:72px 0}
.section--dark{background:linear-gradient(180deg, rgba(0,41,77,0.95), rgba(0,41,77,0.95));color:#fff}
.section--dark-alt{background:linear-gradient(180deg, rgba(0,41,77,0.9), rgba(3,24,45,0.95));color:#fff}
.section--light{background:var(--bg);color:#0b1a2b}

/* section header */
.section-header{text-align:center;margin-bottom:36px}
.section-header h2{font-size:1.6rem;margin-bottom:6px}
.section-sub{color:var(--muted);margin-top:6px}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
.about-text p{line-height:1.6;color:rgba(255,255,255,0.94)}
.about-logo{height:86px;margin-bottom:12px}
.values-list{list-style:none;color:rgba(255,255,255,0.92);padding-left:0}
.values-list li{margin-bottom:10px}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.service-card{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(2,6,23,0.06);display:flex;flex-direction:column;transition:transform .28s,box-shadow .28s}
.service-media img{width:100%;height:170px;object-fit:cover;display:block}
.service-body{padding:18px}
.service-body i{width:44px;height:44px;color:var(--azul);margin-bottom:8px}
.service-body h3{margin-bottom:8px}
.service-body p{color:var(--muted);line-height:1.6}
.service-card:hover{transform:translateY(-8px);box-shadow:0 14px 40px rgba(2,6,23,0.12)}

/* CLIENTS */
.clients-grid{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
.client-card{background:rgba(255,255,255,0.04);padding:18px;border-radius:10px;min-width:220px;text-align:center;color:#fff;box-shadow:0 6px 20px rgba(2,6,23,0.08)}
.client-card i{width:46px;height:46px;color:var(--dorado);margin-bottom:8px}

/* TESTIMONIALS */
.testimonials-wrap{position:relative;display:flex;align-items:center;gap:12px}
.testimonials-track{display:flex;gap:16px;overflow:hidden;width:100%}
.testimonial{min-width:100%;max-width:100%;background:var(--card);padding:26px;border-radius:12px;box-shadow:0 10px 30px rgba(2,6,23,0.06);color:#0b1a2b}
.testimonial p{line-height:1.6;margin-bottom:12px}
.testimonial cite{color:var(--muted)}
.carousel-btn{background:var(--azul);color:#fff;border:0;padding:10px 12px;border-radius:8px;cursor:pointer;box-shadow:0 8px 20px rgba(2,6,23,0.12)}
.confidential-note{margin-top:12px;color:var(--muted);text-align:center}

/* ACCORDION */
.accordion{max-width:980px;margin:0 auto}
.accordion-item{background:transparent;margin-bottom:12px;border-radius:10px;overflow:hidden}
.accordion-toggle{width:100%;text-align:left;padding:16px;background:rgba(255,255,255,0.04);color:#fff;border:0;font-weight:700;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.accordion-panel{padding:16px;background:rgba(255,255,255,0.02);color:#fff;display:none}
.accordion-panel ul{list-style:disc;margin-left:18px;color:#fff}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 420px;gap:28px;align-items:start}
.contact-info h3{margin-bottom:8px}
.contact-info p{color:var(--muted);margin-bottom:8px}
.contact-form{background:var(--card);padding:18px;border-radius:10px;box-shadow:0 8px 30px rgba(2,6,23,0.06)}
.contact-form label{display:block;margin-top:10px;font-weight:600}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:10px;border-radius:8px;border:1px solid #e6e9ef;margin-top:6px}
.form-row{display:flex;gap:10px;align-items:center;margin-top:12px}
.btn{cursor:pointer}
.form-status{margin-top:10px;padding:10px;border-radius:8px}

/* FOOTER */
.footer{background:var(--azul);color:#fff;padding:20px;text-align:center}

/* ANIMACIONES / UTILIDADES */
.reveal{opacity:0;transform:translateY(18px);transition:all .7s ease}
.reveal.visible{opacity:1;transform:none}
.muted{color:var(--muted)}

/* RESPONSIVE */
@media(max-width:980px){
  .services-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .hero .hero-inner{flex-direction:column-reverse;gap:18px}
  .hero-image img{max-width:90%}
  .nav-links{display:none}
  .menu-toggle{display:block}
}
