:root{
  --primary:#0c1c3c;
  --primary-2:#15284f;
  --accent:#d4af37;
  --text:#222;
  --bg:#f8f8f8;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Arial, Helvetica, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}

/* Header fijo y limpio */
header{
  position:sticky; top:0; z-index:1000;
  background:rgba(12,28,60,.98);
  color:#fff; display:flex; align-items:center; justify-content:space-between;
  padding:14px 28px; box-shadow:0 4px 12px rgba(0,0,0,.18);
}
header img{height:56px; width:auto; display:block}
nav a{
  color:#fff; text-decoration:none; margin:0 14px; font-weight:700;
}
nav a:hover{text-decoration:underline}
.hero{
  color:#fff; text-align:center;
  /* top extra por header */
  padding:92px 24px 88px;

  /* Overlay + imagen con fallback */
  background:
    linear-gradient(180deg, rgba(14,26,49,.82), rgba(21,40,79,.82)),
    url('../assets/hero_argus_photo.jpg?v=1201');

  /* Preferir WebP donde exista */
  background:
    linear-gradient(180deg, rgba(14,26,49,.82), rgba(21,40,79,.82)),
    -webkit-image-set(url('../assets/hero_argus_photo.webp?v=1201') type('image/webp'),
                      url('../assets/hero_argus_photo.jpg?v=1201')  type('image/jpeg'));
  background:
    linear-gradient(180deg, rgba(14,26,49,.82), rgba(21,40,79,.82)),
    image-set(url('../assets/hero_argus_photo.webp?v=1201') type('image/webp'),
              url('../assets/hero_argus_photo.jpg?v=1201')  type('image/jpeg'));
  background-position:center 32%;
  background-size:cover;
  background-repeat:no-repeat;

  min-height:48vh;      
  height:52vh;          
  max-height:560px;      
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px;
}
.hero h1{
  font-size:clamp(28px,4.4vw,44px);
  margin:0; letter-spacing:.3px; text-shadow:0 2px 10px rgba(0,0,0,.45);
}
.hero p{
  font-size:clamp(14px,2vw,18px);
  margin:0 0 18px; opacity:.98; text-shadow:0 1px 6px rgba(0,0,0,.45);
}
.hero a{
  display:inline-block; padding:12px 22px; font-weight:700;
  color:#0b1220; background:#fff; border:1px solid #fff; border-radius:8px; text-decoration:none
}
.hero a:hover{ background:transparent; color:#fff }

/* Secciones genéricas */
section:not(.hero){
  padding:56px 24px; max-width:1100px; margin:0 auto;
}
h2{color:var(--primary); margin:0 0 24px}

/* Nosotros / Servicios */
.info-boxes, .services{
  display:flex; align-items:stretch; justify-content:center; gap:16px; flex-wrap:wrap;
}
.box{
  background:#f2f2f2; border-left:5px solid var(--accent);
  padding:16px 20px; flex:1; min-width:280px; border-radius:8px;
}
.services .box{ border-left-color:var(--primary-2) }
.box h3{ margin:0 0 8px; color:var(--primary-2) }

/* Contacto */
.contact-form{
  display:flex; gap:20px; flex-wrap:wrap; align-items:flex-start
}
.contact-form form{
  background:#eee; padding:20px; border-radius:10px; border:1px solid #ddd;
  flex:1; min-width:280px
}
.contact-form input,
.contact-form textarea{
  width:100%; padding:10px; margin-bottom:12px; border:1px solid #ccc; border-radius:6px;
  font:inherit
}
.contact-form input[type=submit]{
  background:var(--accent); border:none; color:#0b1220; font-weight:700; cursor:pointer
}
.contact-form input[type=submit]:hover{ filter:brightness(.95) }

.contact-form p{ margin:0; flex:1; min-width:280px }
footer{
  margin-top:28px;
  background:var(--primary);
  color:#fff; text-align:center; padding:20px
}
section[id]{ scroll-margin-top: 88px; }
@media (max-width: 768px){
  header img{height:48px}
  .hero{ padding:96px 16px 72px; min-height:52vh; height:56vh; }
}
header{
  position: sticky;
  top: 0;
  z-index: 1000;
}
header nav{
  display: flex;
  align-items: center;
  gap: 22px;           
  flex-wrap: nowrap;   
}
@media (max-width: 980px){
  header{ padding: 10px 16px; }
  header nav{ gap: 14px; }
  nav a{ font-size: 15px; margin: 0; }
}
@media (max-width: 720px){
  header img{ height: 44px; }
  nav a{ font-size: 14px; }
}
.hero{
  background-position: 50% 22%;   
  min-height: 50vh;
  height: 56vh;                   
  max-height: 620px;
}
@media (min-width: 1400px){
  .hero{
    height: 58vh;
    background-position: 50% 18%;
  }
}
@media (max-width: 1200px){
  .hero{ background-position: 52% 22%; }
}
@media (max-width: 992px){
  .hero{ background-position: 58% 24%; }
}
@media (max-width: 768px){
  .hero{
    height: 58vh;                 
    background-position: 62% 28%; 
  }
}
section[id]{ scroll-margin-top: 92px; }    
.logo-container {
  display: flex;
  align-items: center;
  gap: 10px; /* espacio entre logo y texto */
}

.logo-img {
  height: 50px; /* tamaño del logo */
  width: auto; /* mantiene proporción */
}

.logo-text {
  color: white;
  font-size: 1.2rem;
  font-weight: bold;
  font-family: inherit;
  white-space: nowrap; /* evita que baje de línea */
}
