 :root {
     --color-primary: #0A2240;
     /* Azul corporativo elegante */
     --color-gold: #C5A059;
     /* Dorado Cannes Lions / Cerveza */
     --color-light: #F8F9FA;
     --font-editorial: 'Lora', serif;
     --font-sans: 'Montserrat', sans-serif;
 }

 body {
     font-family: var(--font-sans);
     color: #333333;
     overflow-x: hidden;
     background-color: #ffffff;
 }

 /* Marcador de patrocinio superior */
 .sponsored-tag {
     font-size: 0.75rem;
     text-transform: uppercase;
     letter-spacing: 2px;
     font-weight: 700;
     color: #6c757d;
 }

 .head_exp {
     top: 0;
     background-color: #ed1c24;
     padding: 0.5em;
     position: fixed;
     display: block;
     width: 100%;
     border-bottom-color: #000;
     border-right-width: 2px;
     border-bottom-style: solid;
     z-index: 99;
     -webkit-transition: background-color 0.5s ease-out;
     -moz-transition:
         background-color 0.5s ease-out;
     -o-transition: background-color 0.5s ease-out;
     transition: background-color 0.5s ease-out;
 }

 /* Sección Box-1 */
 .box-1 {
     background: linear-gradient(135deg, var(--color-primary) 0%, #153258 100%);
     color: #ffffff;
     padding: 6rem 0;
     text-align: center;
     margin: 0;
     width: 100%;
     box-shadow: 0 10px 30px rgba(10, 34, 64, 0.1);
 }
 
 .box-1 .main-title {
     color: #ffffff;
     margin: 0;
     font-size: clamp(2.5rem, 5.5vw, 4.25rem);
     line-height: 1.15;
     font-weight: 800;
     text-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
 }

 /* Hero Section */
 .hero-section {
     background: linear-gradient(180deg, rgba(10, 34, 64, 0.05) 0%, rgba(255, 255, 255, 1) 100%);
     padding-top: 5rem;
     padding-bottom: 4rem;
 }

 .main-title {
     font-family: var(--font-sans);
     font-weight: 700;
     color: var(--color-primary);
     font-size: 2.5rem;
     line-height: 1.2;
 }

 .lead-text {
     font-family: var(--font-editorial);
     font-size: 1.25rem;
     color: #4a4a4a;
     line-height: 1.6;
     border-left: 3px solid var(--color-gold);
     padding-left: 1.5rem;
 }

 /* Bloques de Texto */
 .block-title {
     font-family: var(--font-sans);
     font-weight: 700;
     color: var(--color-primary);
     font-size: 1.75rem;
     position: relative;
     margin-bottom: 1.5rem;
 }

 .block-title::after {
     content: '';
     display: block;
     width: 50px;
     height: 3px;
     background-color: var(--color-gold);
     margin-top: 0.5rem;
 }

 .editorial-text {
     font-family: var(--font-editorial);
     font-size: 1.15rem;
     line-height: 1.8;
     color: #2b2b2b;
 }

 /* Quotes destacados */
 .quote-container {
     background-color: var(--color-light);
     border-radius: 4px;
     border-top: 4px solid var(--color-primary);
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
     transition: transform 0.3s ease;
 }

 .quote-container:hover {
     transform: translateY(-5px);
 }

 .quote-text {
     font-family: var(--font-editorial);
     font-size: 1.25rem;
     font-style: italic;
     color: var(--color-primary);
 }

 .quote-author {
     font-size: 0.9rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 1px;
     color: var(--color-gold);
 }

 /* Sección de Datos Clave (Counters) */
 .stats-section {
     background-color: var(--color-primary);
     color: #ffffff;
     padding: 5rem 0;
     position: relative;
 }

 .stat-card {
     text-align: center;
     padding: 1.5rem;
 }

 .stat-number {
     font-size: 3.5rem;
     font-weight: 700;
     color: var(--color-gold);
     line-height: 1;
     margin-bottom: 0.5rem;
 }

 .stat-desc {
     font-size: 0.95rem;
     font-weight: 300;
     letter-spacing: 0.5px;
     opacity: 0.9;
 }

 /* Clases de animación sencillas mediante JS */
 .reveal {
     opacity: 0;
     transform: translateY(30px);
     transition: all 0.8s ease;
 }

 .reveal.active {
     opacity: 1;
     transform: translateY(0);
 }

 footer {
     background-color: #111;
     color: #888;
     font-size: 0.85rem;
 }

 footer a {
     color: var(--color-gold);
     text-decoration: none;
 }

 footer a:hover {
     text-decoration: underline;
 }

 /* Premium CTA Button */
 .btn-premium {
     background: linear-gradient(135deg, var(--color-gold) 0%, #a27e3d 100%);
     color: #ffffff;
     font-family: var(--font-sans);
     font-weight: 700;
     font-size: 0.95rem;
     text-transform: uppercase;
     letter-spacing: 2px;
     padding: 1rem 3rem;
     border: 2px solid transparent;
     border-radius: 50px;
     box-shadow: 0 4px 15px rgba(197, 160, 89, 0.3);
     transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
     position: relative;
     overflow: hidden;
     z-index: 1;
     display: inline-flex;
     align-items: center;
     justify-content: center;
 }

 .btn-premium::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: linear-gradient(135deg, var(--color-primary) 0%, #153258 100%);
     border-radius: 50px;
     opacity: 0;
     transition: opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
     z-index: -1;
 }

 /* Shimmer shine effect */
 .btn-premium::after {
     content: '';
     position: absolute;
     top: -50%;
     left: -60%;
     width: 30%;
     height: 200%;
     background: rgba(255, 255, 255, 0.25);
     transform: rotate(30deg);
     transition: none;
     z-index: 2;
 }

 .btn-premium:hover {
     color: #ffffff;
     transform: translateY(-4px);
     box-shadow: 0 10px 25px rgba(10, 34, 64, 0.4), 0 0 15px rgba(197, 160, 89, 0.4);
     border-color: var(--color-gold);
 }

 .btn-premium:hover::before {
     opacity: 1;
 }

 .btn-premium:hover::after {
     left: 150%;
     transition: left 0.8s ease-in-out;
 }

 .btn-premium:active {
     transform: translateY(-1px);
     box-shadow: 0 4px 10px rgba(10, 34, 64, 0.3);
 }

 /* Featured Image Styling */
 .image-wrapper {
     position: relative;
     border: 1px solid rgba(197, 160, 89, 0.25);
     box-shadow: 0 15px 35px rgba(10, 34, 64, 0.15);
     border-radius: 12px;
     overflow: hidden;
     transition: border-color 0.4s ease, box-shadow 0.4s ease;
 }
 
 .featured-image {
     transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
     display: block;
 }
 
 .image-wrapper:hover {
     border-color: var(--color-gold);
     box-shadow: 0 20px 40px rgba(10, 34, 64, 0.25), 0 0 15px rgba(197, 160, 89, 0.25);
 }
 
 .image-wrapper:hover .featured-image {
     transform: scale(1.025);
 }

 /* Sticky Sidebar Layout */
 @media (min-width: 992px) {
     .sticky-sidebar {
         position: sticky;
         top: 120px; /* Aligns comfortably below the sticky header */
         z-index: 10;
     }
 }