:root {
  --euro-primary: #2F52A0;  /* azul */
  --euro-accent: #ff9900;   /* amarillo/naranja destacado */
  --euro-footer: #ebebeb;   /* gris claro del footer */
}

body { font-family: 'Open Sans', Arial, sans-serif; }

/* Títulos (Oswald, semi-bold, mayúsculas, color #444) */
h1, h2, h3, .display-5, .section-title {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  color: #444;
}
.section-title { margin-bottom: 1rem; }

/* Header alto + shrink (10% menos) */
.site-header {
  position: sticky; top: 0; z-index: 1030;
  background: #ffffffcc; backdrop-filter: blur(6px);
  border-bottom: 1px solid #eef1f4;
  transition: padding .25s ease;
}
.header-inner {
  padding: 16px 0;            /* antes 18px → 10% menos */
  transition: padding .25s ease;
}
.brand-logo {
  height: 88px;               /* logo grande inicial */
  width: auto;
  transition: height .25s ease;
}
.site-header.scrolled .header-inner { padding: 7px 0; }  /* antes 8px */
.site-header.scrolled .brand-logo { height: 44px; }


@media (max-width: 576px) {
.brand-logo {
  height: 68px;
}
}

/* Botón header (amarillo, texto blanco, padding en mobile) */
.btn-cta-header { 
  text-transform: uppercase; 
}
@media (max-width: 576px) {
  .btn-cta-header {
    margin-right: 10px;
  }
}

/* Hero */
.hero {
  background: linear-gradient(
      180deg,
      #203b75 0%,    /* azul más oscuro arriba */
      #2F52A0 100%   /* azul base abajo */
    );
  color: #fff;
  padding: 96px 0 48px;
}
.hero h1,
.hero p {
  color: #fff;
}
.hero .lead {
  opacity: .9;
}
/* sombra mínima en imágenes del carrusel */
.hero .carousel-item img {
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

/* Servicios: bullets azules */
.check li { margin-bottom: .5rem; }
.check i { color: var(--euro-primary); margin-right: .4rem; }

/* Igualar tamaño de párrafos y listas */
#servicios p, #servicios li,
#contacto p,  #contacto li {
  font-size: 1.125rem; /* ~18px */
  line-height: 1.6;
}

.soft-card { box-shadow: 0 8px 30px rgba(47,82,160,.08); }

/* Botones: Oswald, mayúsculas, fondo amarillo, texto blanco */
.btn {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 1rem; /* unificación del tamaño tipográfico */
}
.btn-primary {
  background-color: var(--euro-accent);
  border-color: var(--euro-accent);
  color: #fff;
}
.btn-primary:hover {
  background-color: #e68a00;
  border-color: #e68a00;
  color: #fff;
}
/* Secundario oscuro (teléfonos/mail) */
.btn-outline-dark {
  border-color: #333;
  color: #333;
  font-size: 1rem; /* mismo tamaño que los primarios */
}
.btn-outline-dark:hover {
  background: #333;
  color: #fff;
}

/* Redes centradas */
.social-links { justify-content: center; }

/* WhatsApp flotante */
.whatsapp-float {
  position: fixed; right: 18px; bottom: 18px; z-index: 1030;
  width: 56px; height: 56px; border-radius: 50%;
  background: #25d366; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px; box-shadow: 0 6px 20px rgba(0,0,0,.2);
}
.whatsapp-float:hover { opacity: .9; }

/* Footer */
.footer {
  background: var(--euro-footer);
  color: #333;
}
.footer a { color: #333; }