/* =========================================================
   COPA CERVECERA - CSS ORGANIZADO
   Criterio: una sola paleta, variables limpias y bloques agrupados.
   Mantiene compatibilidad con nombres antiguos: --principal-a, etc.
========================================================= */

:root {
  /* Marca */
  --color-primary: #164792;
  --color-primary-dark: #132f5c;
  --color-primary-deep: #0a2247;

  /* Acentos */
  --color-accent: #F4B52D;
  --color-accent-soft: #F5C542;
  --color-coral: #F05A49;
  --color-green: #2E7D5A;

  /* Neutros */
  --color-bg: #fdf9f1;
  --color-bg-soft: #fbedf2;
  --color-surface: #FFFAF0;
  --color-surface-2: #FFFFFF;
  --color-white: #FFFFFF;
  --color-text: var(--color-primary);
  --color-muted: #6A5D49;
  --color-line: rgba(19, 47, 92, .14);

  /* Sombras */
  --shadow: 0 8px 20px rgba(18, 40, 80, .10);
  --shadow-soft: 0 4px 12px rgba(18, 40, 80, .08);

  /* Layout */
  --ccmm-container: min(100% - 48px, 1280px);
  --ccmm-container-wide: min(100% - 48px, 1440px);
  --ccmm-section-space: clamp(72px, 8vw, 116px);
  --ccmm-section-space-small: clamp(48px, 6vw, 82px);
  --ccmm-block-gap: clamp(22px, 3vw, 42px);

  /* Alias legacy: no rompen tu HTML/CSS actual */
  --principal-a: var(--color-primary);
  --principal-b: var(--color-primary);
  --secundario-a: var(--color-accent);
  --secundario-b: var(--color-accent);
  --terciario-a: var(--color-coral);
  --terciario-b: var(--color-green);
  --fondo: var(--color-bg);
  --fondo-soft: var(--color-bg-soft);
  --surface: var(--color-surface);
  --surface-2: var(--color-surface-2);
  --text: var(--color-text);
  --muted: var(--color-muted);
  --line: var(--color-line);
}

/* =========================================================
   01. BASE / RESET / TIPOGRAFÍA
========================================================= */

*{box-sizing:border-box;}
    html{scroll-behavior:smooth;}
   body{
  font-family:"Inter",sans-serif;
  background:var(--fondo);
  color:var(--text);
}

.site-header{
  backdrop-filter:blur(8px);
}

.nav-shell{
  background:rgba(255,255,255,.72);
  box-shadow:var(--shadow-soft);
}

.nav-link{
  color:var(--principal-a) !important;
}

.nav-link:hover{
  color:var(--principal-b) !important;
  background:rgba(244,181,45,.18);
}

.nav-link.cta-link{
  background:var(--terciario-a);
  color:var(--color-white) !important;
}

.btn-main{
  color:var(--color-white);
  background:var(--principal-b);
  border:none;
  box-shadow:var(--shadow);
}

.btn-ghost{
  background:var(--surface);
  border:2px solid var(--line);
  color:var(--principal-a);
}

.hero-card,
.glass-card,
.card-soft,
.stat-card,
.timeline-step,
.sponsor-item,
.preview-mini,
.winner-item,
.metric-box,
.faq-card{
 /*  background:var(--surface); */
 /*  box-shadow:var(--shadow-soft); */
}

.section-title,
.hero-title,
.info-card h4,
.event-card h5,
.timeline-step h4{
  color:var(--principal-a);
}

.hero-title .accent,
.panel-label,
.card-link,
.event-date,
.winner-year{
  color:var(--terciario-a);
}

.eyebrow{
  background:var(--secundario-a);
  color:var(--principal-a);
}

.event-badge,
.judge-meta span,
.experience-tags span,
.cta-tags span{
  background:var(--fondo-soft);
  border:1px solid var(--line);
  color:var(--principal-a);
}

.preview-pill{
  background:var(--principal-b);
  color:var(--color-white);
}

.timeline-number{
  background:var(--principal-b);
  color:var(--color-white);
}



.socials a{
  background:rgba(255,255,255,.08);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:radial-gradient(rgba(0,0,0,.04) 1px, transparent 1px);
  background-size:12px 12px;
  pointer-events:none;
  opacity:.25;
}

    h1,h2,h3,h4,h5,h6,
    .section-title,
    .hero-title,
    .nav-link,
    .eyebrow,
    .btn-main,
    .btn-ghost,
    .panel-label,
    .winner-year,
    .event-date{
      font-family:"Oswald",sans-serif;
      letter-spacing:.02em;
      text-transform:uppercase;
    }

    a{text-decoration:none !important;}

    .section-pad{padding:95px 0;}
    .site-wrap{width:100%;padding-left:32px;padding-right:32px;}
    .site-wrap-wide{max-width:1700px;margin:0 auto;}
    .site-wrap-content{max-width:1500px;margin:0 auto;}

    .section-head{
      text-align:center;
      margin-bottom:52px;
    }

    .section-title{
      font-size:clamp(2rem, 3vw, 3.4rem);
      font-weight:700;
      line-height:1;
      color:var(--principal-a);
      margin-bottom:14px;
    }

    .section-subtitle{
      max-width:930px;
      margin:0 auto;
      color:var(--muted);
      line-height:1.85;
      font-size:1rem;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1050;
      padding:14px 0 0 0;
      backdrop-filter:blur(8px);
      -webkit-backdrop-filter:blur(8px);
      transition:.3s ease;
    }

    .site-header.is-scrolled{padding:8px 0;}

    .nav-shell{
      width:100%;
      min-height:56px;
      position:relative;
      padding:0 10px;
      border-radius:40px;
      background:rgba(255,255,255,.72);
      box-shadow:var(--shadow-soft);
    }

    .navbar{
      min-height:66px;
      padding:.35rem 0;
      position:relative;
      z-index:2;
    }

    .navbar-nav{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
    }

    .nav-side{
      flex:1 1 0;
      display:flex;
      align-items:center;
      gap:4px;
    }

    .nav-side.left{
      justify-content:flex-end;
      padding-right:66px;
    }

    .nav-side.right{
      justify-content:flex-start;
      padding-left:66px;
    }

    .nav-link{
      color:var(--principal-a) !important;
      font-size:.9rem;
      font-weight:600;
      padding:.58rem .78rem !important;
      border-radius:12px;
      transition:.25s ease;
      white-space:nowrap;
      line-height:1;
    }

    .nav-link:hover{
      color:var(--principal-b) !important;
      background:rgba(242,180,0,.18);
    }

    .nav-link.cta-link{
  background:var(--terciario-a);
  color:var(--color-white) !important;
  box-shadow:0 10px 24px rgba(242,90,75,.28);
}

.btn-main{
  color:var(--color-white);
  background:var(--principal-b);
  border:none;
  box-shadow:0 14px 30px rgba(30,63,120,.28);
}

.btn-ghost{
  background:var(--secundario-a);
  border:2px solid rgba(30,63,120,.18);
  color:var(--principal-a);
}
.hero-card,
.glass-card,
.card-soft{
  background:rgba(255,243,199,.96);
  border:2px solid rgba(30,63,120,.12);
  box-shadow:var(--shadow);
  border-radius:28px;
}


.nav-dropdown{
  position:relative;
}

.custom-dropdown{
  border:1px solid var(--line);
  border-radius:18px;
  padding:10px;
  background:rgba(255,255,255,.96);
  box-shadow:var(--shadow-soft);
  min-width:190px;
  margin-top:12px;
}

.custom-dropdown .dropdown-item{
  border-radius:12px;
  padding:10px 14px;
  font-family:"Oswald",sans-serif;
  font-size:.82rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:var(--principal-a);
}

.custom-dropdown .dropdown-item:hover{
  background:rgba(244,181,45,.18);
  color:var(--principal-b);
}

.dropdown-toggle::after{
  margin-left:.45rem;
  vertical-align:.12em;
}

@media(max-width:991.98px){
  .custom-dropdown{
    position:static !important;
    float:none;
    width:100%;
    margin-top:6px;
    box-shadow:none;
    background:var(--surface);
  }

  .custom-dropdown .dropdown-item{
    text-align:center;
  }
}

    .navbar-brand-center{
      position:absolute;
      left:50%;
      top:50%;
      transform:translate(-50%,-50%);
      width:85px;
      height:85px;
      background: var(--color-primary-deep);
      color:var(--principal-a);
      border-radius:118px;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      font-size:.72rem;
      font-weight:700;
      line-height:1.02;
      box-shadow:0 16px 32px rgba(242,180,0,.28);
      border:1px solid rgba(255,255,255,.95);
      z-index:4;
      padding:13px;
    }

    .navbar-brand-center img{
     max-width: 90px;
    }

    .navbar-toggler{
      border:none;
      outline:none !important;
      box-shadow:none !important;
      color:var(--principal-b);
      font-size:1.2rem;
      padding:.15rem .2rem;
    }

    .mobile-brand{
      display:none;
      align-items:center;
      gap:10px;
      font-weight:700;
      color:var(--principal-a);
    }

    .mobile-brand-badge{
      width:52px;
      height:52px;
      border-radius:50px;
      background:#164792;
      color:var(--principal-a);
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:.58rem;
      font-family:"Oswald",sans-serif;
      font-weight:700;
      line-height:1;
      box-shadow:0 10px 20px rgba(242,180,0,.22);
    }

    .hero{
      padding:86px 0 70px;
      position:relative;
      overflow:hidden;
    }

    .hero::before{
      content:"";
      position:absolute;
      left:-120px;
      top:80px;
      width:320px;
      height:320px;
      background:radial-gradient(circle, rgba(36,79,152,.16), transparent 68%);
      pointer-events:none;
    }

    .hero::after{
      content:"";
      position:absolute;
      right:-120px;
      top:0;
      width:380px;
      height:380px;
      background:radial-gradient(circle, rgba(242,180,0,.22), transparent 64%);
      pointer-events:none;
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      background:var(--secundario-a);
      color:var(--principal-a);
      padding:10px 16px;
      border-radius:12px;
      font-size:.92rem;
      font-weight:600;
      margin-bottom:20px;
      box-shadow:0 10px 24px rgba(242,180,0,.22);
    }

    .hero-title{
      font-size:clamp(3rem, 6vw, 6.2rem);
      line-height:.92;
      font-weight:700;
      margin-bottom:20px;
      max-width:1250px;
      margin-left:auto;
      margin-right:auto;
      color:var(--principal-b);
    }

    .hero-title .accent{
      color:var(--principal-a);
    }

    .hero-text{
      max-width:940px;
      font-size:1.06rem;
      line-height:1.85;
      color:var(--muted);
      margin:0 auto 28px;
    }

    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      justify-content:center;
      margin-bottom:38px;
    }

    .btn-main,
    .btn-ghost{
      border-radius:14px;
      padding:15px 24px;
      font-weight:600;
      font-size:.96rem;
      transition:.25s ease;
      display:inline-flex;
      align-items:center;
      gap:10px;
    }

    .btn-main{
      color:var(--color-white);
      background:linear-gradient(135deg, var(--principal-b), var(--principal-b));
      border:none;
      box-shadow:0 14px 30px rgba(36,79,152,.24);
    }

    .btn-main:hover{
      transform:translateY(-2px);
      color:var(--color-white);
      box-shadow:0 18px 34px rgba(36,79,152,.3);
    }

    .btn-ghost{
      background:var(--surface);
      border:2px solid rgba(242,180,0,.28);
      color:var(--principal-a);
    }

    .btn-ghost:hover{
      transform:translateY(-2px);
      color:var(--principal-b);
      background:var(--color-white)9ec;
      box-shadow:var(--shadow-soft);
    }

    .hero-card,
    .glass-card,
    .card-soft{
      background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,252,244,.96));
      border:2px solid rgba(36,79,152,.08);
      box-shadow:var(--shadow);
      border-radius:28px;
    }

    .hero-card{
      width:100%;
      padding:28px;
      position:relative;
      overflow:hidden;
    }

    .hero-card::before{
      content:"";
      position:absolute;
      top:0;
      left:0;
      right:0;
      height:10px;
      background:linear-gradient(90deg, var(--secundario-a) 0%, var(--terciario-a) 40%, var(--principal-b) 100%);
    }

    .hero-grid{
      display:grid;
      grid-template-columns:1.35fr .9fr;
      gap:22px;
      align-items:stretch;
    }

    .hero-panel{
      background:
        linear-gradient(135deg, rgba(242,180,0,.09), rgba(36,79,152,.08)),
        var(--white);
      border-radius:24px;
      border:1px solid rgba(36,79,152,.08);
      padding:30px;
      height:100%;
      position:relative;
      overflow:hidden;
    }

    .panel-label{
      font-size:.84rem;
      font-weight:600;
      color:var(--terciario-a);
      margin-bottom:12px;
    }

    .event-badges{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:18px;
    }

    .event-badge{
      background:var(--color-white)9ec;
      border:1px solid rgba(242,180,0,.26);
      border-radius:12px;
      padding:9px 14px;
      font-size:.78rem;
      font-weight:700;
      color:var(--principal-a);
      font-family:"Oswald",sans-serif;
      text-transform:uppercase;
    }

    .preview-stack{display:grid;gap:14px;}

    .preview-mini{
      background:var(--color-white);
      border:1px solid rgba(36,79,152,.08);
      border-left:6px solid var(--secundario-a);
      border-radius:18px;
      padding:18px;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      min-height:105px;
    }

    .preview-mini h6{
      margin:0 0 4px;
      font-size:1rem;
      font-weight:800;
      color:var(--principal-a);
    }

    .preview-mini p{
      margin:0;
      font-size:.84rem;
      color:var(--muted);
    }

    .preview-pill{
      white-space:nowrap;
      background:var(--principal-b);
      color:var(--color-white);
      border-radius:12px;
      padding:8px 12px;
      font-size:.74rem;
      font-weight:700;
      font-family:"Oswald",sans-serif;
      text-transform:uppercase;
    }

    .stats-wrap{margin-top:28px;}

/* hero */
.hero-ccmm{
  position:relative;
  min-height:120vh;
  padding:150px 0 120px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:var(--principal-a);
   background-image:url("<?php print RUTA; ?>ccmm/mitad-pc.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  
}

.hero-bg-layer{
  position:absolute;
  inset:0;
  z-index:0;
  display:grid;
  grid-template-columns:1fr .42fr;
}

.hero-bg-img{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  min-height:100%;
}

.hero-bg-main{
 
}

/* .hero-bg-side{
  background-image:url('<?php print RUTA; ?>ccmm/mitad-pc.png');
  filter:saturate(1.05) contrast(1.05);
} */

.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 0% 100%,
      rgba(255, 204, 64, 0.24) 0%,
      rgba(255, 204, 64, 0.12) 20%,
      rgba(255, 204, 64, 0.04) 38%,
      transparent 58%
    ),
    linear-gradient(90deg,
      rgba(9, 31, 73, 0.78) 0%,
      rgba(12, 35, 79, 0.62) 42%,
      rgba(12, 35, 79, 0.34) 72%,
      rgba(12, 35, 79, 0.18) 100%
    ),
    linear-gradient(180deg,
      rgba(6, 18, 42, 0.10) 0%,
      rgba(6, 18, 42, 0.38) 54%,
      rgba(6, 18, 42, 0.68) 100%
    );
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:1080px;
  margin:0 auto;
}

.hero-ccmm .hero-eyebrow{
  background:rgba(244,181,45,.96);
  color:var(--principal-a);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:none;
}

.hero-ccmm .hero-title{
  color:var(--color-white);
  text-shadow:0 14px 40px rgba(0,0,0,.22);
}

.hero-ccmm .hero-title .accent{
  color:var(--secundario-b);
}

.hero-ccmm .hero-text{
  color:rgba(255,255,255,.86);
  max-width:880px;
}

.hero-ccmm .btn-main{
  background:var(--secundario-a);
  color:var(--principal-a);
  box-shadow:none;
}

.hero-ccmm .btn-main:hover{
  background:var(--secundario-b);
  color:var(--principal-a);
}

.hero-ccmm .btn-ghost{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.38);
  color:var(--color-white);
  backdrop-filter:blur(8px);
}

.hero-ccmm .btn-ghost:hover{
  background:rgba(255,255,255,.22);
  color:var(--color-white);
}

@media(max-width:991px){
  .hero-ccmm{
    min-height:auto;
    padding:125px 0 95px;
  }

  .hero-bg-layer{
    grid-template-columns:1fr;
  }

  .hero-bg-side{
    display:none;
  }

  .hero-overlay{
    background:
      radial-gradient(circle at 50% 20%, rgba(244,181,45,.20), transparent 34%),
      linear-gradient(180deg, rgba(19,47,92,.78), rgba(19,47,92,.94));
  }
}

@media(max-width:575px){
  .hero-ccmm{
    padding:105px 0 78px;
  }

  .hero-ccmm .hero-title{
    font-size:2.75rem;
  }

  .hero-ccmm .hero-text{
    font-size:.96rem;
  }

  .hero-actions{
    width:100%;
  }
}


/* hero final */


/* cards */


/* .stats-minimal{
  margin-left:-8px;
  margin-right:-8px;
} */

/* .stat-col{
  padding:0 8px;
  margin-bottom:16px;
} */

.stat-card-min{
  position:relative;
  min-height:145px;
  padding:26px 24px;
  background:var(--color-surface)ed;
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(19,47,92,.08);
         backdrop-filter: blur(8px);
    transition: 0.3s;
}

.stat-bg-icon{
  position:absolute;
  right:20px;
  top:18px;
  font-size:11.2rem;
  color:var(--color-primary-dark);
  opacity:.075;
  pointer-events:none;
}

.stat-kicker{
  display:block;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.3px;
  color:var(--color-coral);
  margin-bottom:8px;
}

.stat-number{
  display:block;
  font-size:3.1rem;
  line-height:.95;
  font-weight:900;
  color:var(--color-primary-dark);
}

.stat-card-min p{
  margin:8px 0 0;
  font-size:.9rem;
  font-weight:800;
  color:var(--color-muted);
  text-transform:uppercase;
}

@media(max-width:768px){
  .stat-card-min{
    min-height:125px;
    padding:20px 16px;
    border-radius:20px;
  }

  .stat-bg-icon{
    font-size:3.2rem;
    right:14px;
    top:16px;
  }

  .stat-number{
    font-size:2.35rem;
  }

  .stat-card-min p{
    font-size:.74rem;
  }
}

/* fin cards */


    .stat-card{
      height:100%;
      background:linear-gradient(180deg, var(--color-white)efb, var(--color-white)7e9);
      border:2px solid rgba(242,180,0,.18);
      box-shadow:var(--shadow-soft);
      border-radius:22px;
      padding:34px 18px;
      text-align:center;
      transition:.3s ease;
      position:relative;
      overflow:hidden;
    }

    .stat-card::before{
      content:"";
      position:absolute;
      top:0;
      left:0;
      right:0;
      height:7px;
    }

    .stat-card:hover{transform:translateY(-7px);}

    .stat-number{
      font-size:clamp(2rem, 4vw, 3.6rem);
      font-family:"Oswald",sans-serif;
      font-weight:700;
      line-height:1;
      margin-bottom:10px;
      color:var(--principal-a);
    }

    .stat-label{
      color:var(--muted);
      font-weight:700;
      margin-bottom:0;
      text-transform:uppercase;
      font-size:.88rem;
      letter-spacing:.03em;
    }

    .card-soft{
      height:100%;
      transition:.3s ease;
    }

    .card-soft:hover{
      transform:translateY(-8px);
    }

    .info-card{
      padding:28px;
      position:relative;
      overflow:hidden;
    }

    .info-card .icon,
    .experience-icon{
      width:58px;
      height:58px;
      border-radius:16px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(135deg, var(--secundario-a), var(--color-accent-soft));
      color:var(--principal-a);
      font-size:1.25rem;
      margin-bottom:18px;
      box-shadow:0 10px 24px rgba(242,180,0,.2);
    }

    .info-card h4,
    .experience-card h4,
    .showcase-card h4{
      font-size:1.18rem;
      font-weight:700;
      margin-bottom:10px;
      color:var(--principal-a);
    }

    .info-card p,
    .event-card p,
    .experience-card p,
    .showcase-card p{
      color:var(--muted);
      margin-bottom:18px;
      line-height:1.75;
      font-size:.95rem;
    }

    .card-link{
      font-weight:700;
      color:var(--terciario-a);
      display:inline-flex;
      gap:8px;
      align-items:center;
      font-family:"Oswald",sans-serif;
      text-transform:uppercase;
      letter-spacing:.02em;
    }

    .card-link:hover{color:#b63043;}

    .org-block{padding:34px;height:100%;}
    .org-list{display:grid;gap:14px;margin-top:24px;}

    .org-item{
      display:flex;
      gap:14px;
      align-items:flex-start;
      padding:16px 18px;
      border-radius:18px;
      background:linear-gradient(135deg, rgba(242,180,0,.10), rgba(255,255,255,.9));
      border:1px solid rgba(242,180,0,.18);
    }

    .org-item i{
      color:var(--terciario-a);
      font-size:1rem;
      margin-top:3px;
    }

    .feature-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:22px;
    }

    .judge-wrapper{padding:36px;}

    .judge-main{
      display:grid;
      grid-template-columns:360px 1fr;
      gap:30px;
      align-items:start;
    }

    .judge-photo{
      border-radius:24px;
      background:
        linear-gradient(180deg, rgba(242,180,0,.34), rgba(36,79,152,.72)),
        linear-gradient(135deg, #e5e7ec, #f6f0e4);
      border:1px solid rgba(36,79,152,.08);
      position:relative;
      overflow:hidden;
    }

    .judge-photo::before{
      content:"JUEZ DESTACADO";
      position:absolute;
      top:20px;
      left:20px;
      background:var(--terciario-a);
      color:var(--color-white);
      font-size:.76rem;
      font-family:"Oswald",sans-serif;
      font-weight:700;
      padding:8px 12px;
      border-radius:10px;
      letter-spacing:.04em;
    }

    .judge-copy h3{
      font-size:clamp(2rem, 3vw, 2.8rem);
      font-weight:700;
      margin-bottom:6px;
      color:var(--principal-a);
    }

    .judge-role{
      font-size:1rem;
      color:var(--terciario-a);
      margin-bottom:18px;
      font-family:"Oswald",sans-serif;
      text-transform:uppercase;
    }

    .judge-bio{
      color:var(--muted);
      line-height:1.85;
      margin-bottom:22px;
      max-width:900px;
    }

    .judge-meta{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-bottom:24px;
    }

    .judge-meta span,
    .experience-tags span,
    .cta-tags span{
      background:var(--color-white)9ed;
      border:1px solid rgba(242,180,0,.22);
      border-radius:12px;
      padding:10px 14px;
      font-size:.8rem;
      font-weight:700;
      color:var(--principal-a);
      font-family:"Oswald",sans-serif;
      text-transform:uppercase;
    }

    .judge-years{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-bottom:24px;
    }

    .judge-years button{
      border:none;
      background:var(--color-white);
      border:1px solid rgba(36,79,152,.14);
      color:var(--principal-a);
      font-weight:700;
      padding:11px 16px;
      border-radius:12px;
      transition:.25s ease;
      font-size:.88rem;
      font-family:"Oswald",sans-serif;
    }

    .judge-years button.active,
    .judge-years button:hover{
      background:var(--principal-b);
      color:var(--color-white);
      border-color:var(--principal-b);
    }

    .judge-mini-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
    }

    .judge-mini{
      border-radius:20px;
      background:var(--color-white);
      border:1px solid rgba(36,79,152,.08);
      padding:16px;
      min-height:220px;
      transition:.3s ease;
    }

    .judge-mini:hover{
      transform:translateY(-6px);
      box-shadow:var(--shadow);
    }

    .judge-mini-photo{
      height:110px;
      border-radius:16px;
      background:linear-gradient(135deg, rgba(242,180,0,.28), rgba(36,79,152,.2));
      margin-bottom:14px;
    }

    .judge-mini h6{
      margin-bottom:4px;
      font-weight:800;
      font-size:.95rem;
      color:var(--principal-a);
    }

    .judge-mini p{
      color:var(--muted);
      font-size:.82rem;
      margin-bottom:0;
    }

    .cta-panel{
      padding:44px;
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at top right, rgba(255,212,73,.24), transparent 24%),
        linear-gradient(135deg, var(--principal-b), var(--principal-a));
      color:var(--color-white);
      border-radius:30px;
      box-shadow:0 24px 50px rgba(18,44,92,.25);
    }

    .cta-panel::before{
      content:"";
      position:absolute;
      top:0;
      left:0;
      right:0;
      height:10px;
      background:linear-gradient(90deg, var(--secundario-a), var(--terciario-a), var(--color-white));
    }

    .cta-panel h2{
      font-size:clamp(2rem, 4vw, 3.2rem);
      font-weight:700;
      line-height:1;
      margin-bottom:14px;
      color:var(--color-white);
    }

    .cta-panel p{
      max-width:780px;
      color:rgba(255,255,255,.84);
      line-height:1.85;
      margin-bottom:22px;
    }

    .winners-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:22px;
    }

    .winner-card{padding:26px;}

    .winner-year{
      font-size:2rem;
      font-weight:700;
      color:var(--terciario-a);
      margin-bottom:16px;
    }

    .winner-list{display:grid;gap:12px;}

    .winner-item{
      background:var(--color-white);
      border:1px solid rgba(36,79,152,.08);
      border-left:5px solid var(--secundario-a);
      border-radius:16px;
      padding:14px 16px;
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:center;
    }

    .winner-item strong{
      display:block;
      font-size:.93rem;
      color:var(--principal-a);
    }

    .winner-item small{color:var(--muted);}
    .medal{font-size:1.15rem;}

    .event-card{padding:28px;height:100%;}

    .event-date{
      font-size:.82rem;
      font-weight:600;
      color:var(--terciario-a);
      margin-bottom:12px;
    }

    .event-card h5{
      font-weight:700;
      margin-bottom:10px;
      font-size:1.08rem;
      color:var(--principal-a);
    }

    .sponsor-wrap{padding:34px;}
    .sponsor-grid{
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:16px;
      margin-top:24px;
    }

    .sponsor-item{
      min-height:96px;   
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight:700;
      color:var(--principal-b);
      transition:.25s ease;
      font-family:"Oswald",sans-serif;
      text-transform:uppercase;
    }

    .sponsor-item:hover{
      transform:translateY(-4px);
      background:var(--color-white);
      color:var(--terciario-a);
     /*  box-shadow:var(--shadow); */
    }

    .site-footer{padding:70px 0 32px;}

    

    .socials{
      display:flex;
      gap:10px;
      justify-content:flex-end;
      flex-wrap:wrap;
    }

    .socials a{
      width:44px;
      height:44px;
      border-radius:12px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      color:var(--color-white);
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.08);
      transition:.25s ease;
    }

    .socials a:hover{
      transform:translateY(-2px);
      background:rgba(255,255,255,.16);
    }

    .timeline-wrap{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:22px;
    }

    .timeline-step{
      position:relative;
      padding:28px 24px;
      border-radius:24px;
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,249,236,.98));
      border:2px solid rgba(242,180,0,.14);
      box-shadow:var(--shadow);
      transition:.3s ease;
      overflow:hidden;
    }

    .timeline-step:hover{transform:translateY(-8px);}

    .timeline-step::before{
      content:"";
      position:absolute;
      top:0;
      left:0;
      width:100%;
      height:8px;
      background:linear-gradient(90deg, var(--secundario-a), var(--terciario-a));
    }

    .timeline-number{
      width:54px;
      height:54px;
      border-radius:14px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(135deg, var(--principal-b), var(--principal-b));
      color:var(--color-white);
      font-weight:700;
      font-size:1rem;
      margin-bottom:18px;
      box-shadow:0 12px 24px rgba(18,58,94,.2);
      font-family:"Oswald",sans-serif;
    }

    .timeline-step h4{
      font-size:1.08rem;
      font-weight:700;
      margin-bottom:10px;
      color:var(--principal-a);
    }

    .timeline-step p{
      margin-bottom:0;
      color:var(--muted);
      line-height:1.75;
      font-size:.94rem;
    }

    .showcase-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:22px;
    }

    .showcase-main{
      padding:34px;
      min-height:100%;
      position:relative;
      overflow:hidden;
    }

    .showcase-main::after{
      content:"";
      position:absolute;
      right:-80px;
      bottom:-80px;
      width:220px;
      height:220px;
      background:radial-gradient(circle, rgba(214,69,88,.12), transparent 65%);
      pointer-events:none;
    }

    .showcase-main .mini-label{
      display:inline-flex;
      padding:9px 14px;
      border-radius:12px;
      background:var(--secundario-a);
      color:var(--principal-a);
      font-size:.75rem;
      font-weight:700;
      letter-spacing:.04em;
      text-transform:uppercase;
      margin-bottom:18px;
      font-family:"Oswald",sans-serif;
    }

    .showcase-main h3{
      font-size:clamp(2rem, 3vw, 3rem);
      font-weight:700;
      line-height:1;
      margin-bottom:14px;
      max-width:700px;
      color:var(--principal-a);
    }

    .showcase-main p{
      color:var(--muted);
      line-height:1.85;
      max-width:760px;
      margin-bottom:22px;
    }

    .showcase-points{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
    }

    .showcase-point{
      background:var(--color-white);
      border:1px solid rgba(36,79,152,.08);
      border-left:5px solid var(--terciario-a);
      border-radius:16px;
      padding:16px 18px;
    }

    .showcase-point strong{
      display:block;
      margin-bottom:4px;
      font-size:.95rem;
      color:var(--principal-a);
    }

    .showcase-point span{
      color:var(--muted);
      font-size:.86rem;
    }

    .showcase-side{display:grid;gap:22px;}

    .showcase-card{
      padding:26px;
      min-height:220px;
      position:relative;
      overflow:hidden;
    }

    .showcase-card.top{
      background:linear-gradient(180deg, var(--secundario-a), var(--color-accent-soft));
      color:var(--principal-a);
      box-shadow:0 24px 46px rgba(242,180,0,.2);
    }

    .showcase-card.top p{color:#304055;}

    .showcase-card.bottom{
      background:linear-gradient(180deg, rgba(214,69,88,.08), rgba(255,255,255,.96));
    }

    .metric-row{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
      margin-top:18px;
    }

    .metric-box{
      background:rgba(255,255,255,.82);
      border:1px solid rgba(36,79,152,.08);
      border-radius:16px;
      padding:18px 16px;
      text-align:center;
    }

    .metric-box strong{
      display:block;
      font-size:1.5rem;
      font-weight:700;
      line-height:1;
      margin-bottom:6px;
      color:var(--principal-a);
      font-family:"Oswald",sans-serif;
    }

    .metric-box span{
      font-size:.82rem;
      color:var(--muted);
      text-transform:uppercase;
      font-weight:700;
    }

    .experience-grid,
    .testimonial-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:22px;
    }

    .experience-card,
    .testimonial-card{
      padding:28px;
      position:relative;
      overflow:hidden;
      min-height:280px;
    }

    .experience-card::before,
    .testimonial-card::before{
      content:"";
      position:absolute;
      inset:auto -60px -60px auto;
      width:180px;
      height:180px;
      background:radial-gradient(circle, rgba(242,180,0,.10), transparent 66%);
      pointer-events:none;
    }

    .experience-tags{display:flex;flex-wrap:wrap;gap:10px;}

    .testimonial-shell{padding:34px;}
    .quote-mark{
      font-size:3rem;
      line-height:1;
      color:rgba(214,69,88,.18);
      font-weight:800;
      margin-bottom:12px;
    }

    .testimonial-card p{
      color:var(--muted);
      line-height:1.85;
      font-size:.95rem;
      margin-bottom:20px;
    }

    .testimonial-user{
      display:flex;
      align-items:center;
      gap:12px;
    }

    .testimonial-avatar{
      width:52px;
      height:52px;
      border-radius:12px;
      background:linear-gradient(135deg, rgba(242,180,0,.28), rgba(36,79,152,.18));
      border:1px solid rgba(0,0,0,.05);
    }

    .testimonial-user strong{
      display:block;
      font-size:.95rem;
      line-height:1.1;
      color:var(--principal-a);
    }

    .testimonial-user span{
      color:var(--muted);
      font-size:.82rem;
    }

    .faq-shell{padding:34px;}
    .faq-intro{max-width:760px;margin-bottom:22px;}

    .faq-intro p{
      color:var(--muted);
      line-height:1.85;
      margin-bottom:0;
    }

    .faq-card{
      border:none;
      border-radius:18px !important;
      overflow:hidden;
      background:var(--color-white);
      box-shadow:none;
      border:1px solid rgba(36,79,152,.08) !important;
      margin-bottom:14px;
    }

    .faq-card .card-header{
      background:var(--color-white);
      border:none;
      padding:0;
    }

    .faq-btn{
      width:100%;
      text-align:left;
      padding:20px 24px;
      border:none;
      background:var(--color-white);
      font-weight:700;
      color:var(--principal-a);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      font-family:"Oswald",sans-serif;
      text-transform:uppercase;
      letter-spacing:.02em;
    }

    .faq-btn:focus{outline:none;}

    .faq-btn i{
      color:var(--terciario-a);
      transition:.25s ease;
    }

    .faq-btn[aria-expanded="true"] i{
      transform:rotate(180deg);
    }

    .faq-body{
      padding:0 24px 22px;
      color:var(--muted);
      line-height:1.85;
      font-size:.94rem;
    }

    @media (max-width: 1399.98px){
      .nav-side.left{padding-right:54px;}
      .nav-side.right{padding-left:54px;}
      .nav-link{padding:.54rem .68rem !important;font-size:.84rem;}
    }

    @media (max-width: 1199.98px){
      .site-wrap{padding-left:24px;padding-right:24px;}
      .feature-grid{grid-template-columns:repeat(2,1fr);}
      .judge-mini-grid{grid-template-columns:repeat(2,1fr);}
      .winners-grid{grid-template-columns:repeat(2,1fr);}
      .sponsor-grid{grid-template-columns:repeat(4,1fr);}
      .timeline-wrap{grid-template-columns:repeat(2,1fr);}
      .experience-grid,.testimonial-grid{grid-template-columns:repeat(2,1fr);}
    }

    @media (max-width: 991.98px){
      .site-wrap{padding-left:18px;padding-right:18px;}
      .nav-shell{
        border-radius:58px;
        min-height:auto;
        padding:0px 3px;
      }
      .navbar{min-height:auto;padding:.15rem 0;}
      .navbar-brand-center{display:none;}
      .mobile-brand{display:flex;}
      .navbar-collapse{padding-top:12px;}
      .navbar-nav{display:block;}
      .nav-side{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        padding:0 !important;
        gap:4px;
      }
      .nav-link{
        text-align:center;
        width:100%;
        padding:.78rem .95rem !important;
        font-size:.88rem;
      }
      .hero-grid,
      .judge-main,
      .showcase-grid{
        grid-template-columns:1fr;
      }
      .judge-photo{min-height:320px;}
      .sponsor-grid{grid-template-columns:repeat(3,1fr);}
    }

    @media (max-width: 767.98px){
      .site-wrap{padding-left:16px;padding-right:16px;}
      .section-pad{padding:74px 0;}
      .hero-title{font-size:2.8rem;}
      .hero-actions{
        flex-direction:column;
        align-items:center;
      }
      .btn-main,.btn-ghost{
        width:100%;
        max-width:320px;
        justify-content:center;
      }
      .feature-grid,
      .judge-mini-grid,
      .winners-grid,
      .timeline-wrap,
      .experience-grid,
      .testimonial-grid,
      .showcase-points,
      .metric-row{
        grid-template-columns:1fr;
      }
      .sponsor-grid{grid-template-columns:repeat(2,1fr);}
      .judge-wrapper,
      .org-block,
      .cta-panel,
      .sponsor-wrap,
      .showcase-main,
      .testimonial-shell,
      .faq-shell{
        padding:24px;
      }
      .preview-mini{
        flex-direction:column;
        align-items:flex-start;
      }
      .socials{
        justify-content:flex-start;
        margin-top:18px;
      }
    }

    @media (max-width: 575.98px){
      .judge-years{
        overflow:auto;
        white-space:nowrap;
        flex-wrap:nowrap;
        padding-bottom:6px;
      }
      .judge-years::-webkit-scrollbar{height:5px;}
      .judge-years::-webkit-scrollbar-thumb{
        background:rgba(36,79,152,.18);
        border-radius:999px;
      }
    }


    /* oragnizadores */

.page-hero{
  padding:70px 0 55px;
  text-align:center;
}

.page-kicker{
  display:inline-block;
  margin-bottom:16px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--terciario-a);
}

.page-title{
  font-size:clamp(3rem,7vw,6.4rem);
  line-height:.9;
  font-weight:800;
  color:var(--principal-b);
  margin-bottom:20px;
}

.page-title span{
  color:var(--principal-a);
}

.page-intro{
  max-width:640px;
  margin:0 auto;
  color:var(--muted);
  font-size:1rem;
  line-height:1.8;
}

.organizers-section{
  background:var(--fondo);
  width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    margin-top:80px
}

.organizers-card{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:60px;
  align-items:center;
  background:var(--surface-2);
  border-radius:34px;
  padding:70px;
}

.organizers-brand{
  text-align:center;
  border-right:1px solid var(--line);
  padding-right:50px;
}

.logo-frame{
  width:230px;
  height:230px;
  margin:0 auto 22px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px;
}

.logo-frame img{
  max-width:100%;
  height:auto;
}

.organizers-brand span{
  display:block;
  font-size:.85rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:var(--principal-a);
}

.section-eyebrow{
  display:block;
  margin-bottom:16px;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.7px;
  color:var(--secundario-a);
}

.organizers-content h2{
  max-width:820px;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1;
  font-weight:800;
  color:var(--principal-a);
  margin-bottom:24px;
}

.organizers-content p{
  max-width:760px;
  font-size:1rem;
  line-height:1.85;
  color:var(--muted);
  margin-bottom:18px;
}

.organizers-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:34px;
}

.organizers-points div{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:20px;
  padding:22px 18px;
}

.organizers-points i{
  font-size:1.35rem;
  color:var(--terciario-a);
  margin-bottom:14px;
}

.organizers-points strong{
  display:block;
  font-size:.9rem;
  font-weight:800;
  text-transform:uppercase;
  color:var(--principal-a);
  margin-bottom:4px;
}

.organizers-points small{
  display:block;
  color:var(--muted);
  line-height:1.4;
}

@media(max-width:991px){
  .organizers-card{
    grid-template-columns:1fr;
    padding:42px 28px;
    gap:35px;
  }

  .organizers-brand{
    border-right:0;
    border-bottom:1px solid var(--line);
    padding-right:0;
    padding-bottom:35px;
  }

  .logo-frame{
    width:190px;
    height:190px;
  }

  .organizers-points{
    grid-template-columns:1fr;
  }
  .organizers-section{
  background:var(--fondo);
  width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    margin-top:50px
}
}


/* JUECES */

.judges-section{
  background:var(--fondo);
}

.judges-head{
  max-width:720px;
  margin:0 auto 34px;
  text-align:center;
}

.judges-head h2{
  font-size:clamp(2.4rem,5vw,4.5rem);
  line-height:1;
  font-weight:800;
  color:var(--principal-a);
  margin-bottom:14px;
}

.judges-head p{
  color:var(--muted);
  line-height:1.8;
}

/* ===============================
   SECCIÓN GENERAL
=============================== */

.judges-page-section {
  padding: 82px 0;
  background:
    radial-gradient(circle at top left, rgba(244, 181, 45, .16), transparent 32%),
    linear-gradient(180deg, var(--fondo) 0%, var(--surface) 100%);
}

/* ===============================
   CABECERA
=============================== */

.judges-page-head {
  max-width: 780px;
  margin: 0 auto 42px;
  text-align: center;
}

.judges-page-head > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--terciario-a);
}

.judges-page-head > span::before,
.judges-page-head > span::after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--secundario-a);
}

.judges-page-head h2 {
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.12;
  color: var(--principal-a);
  margin-bottom: 14px;
  font-weight: 850;
}

.judges-page-head p {
  max-width: 680px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
}

/* ===============================
   CONTADOR
=============================== */

.judges-page-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(8px);
}

.judges-page-meta strong {
  color: var(--terciario-a);
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
}

.judges-page-meta small {
  color: var(--principal-a);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* ===============================
   GRID
=============================== */

.judges-page-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

/* ===============================
   CARD
=============================== */

.judge-page-card {
  position: relative;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.judge-page-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 22px;
  pointer-events: none;
  background: linear-gradient(
    145deg,
    rgba(244, 181, 45, .14),
    transparent 42%
  );
  opacity: 0;
  transition: opacity .28s ease;
}

.judge-page-card:hover {
  transform: translateY(-5px);
  border-color: rgba(244, 181, 45, .55);
  box-shadow: var(--shadow);
}

.judge-page-card:hover::before {
  opacity: 1;
}

/* ===============================
   IMAGEN
=============================== */

.judge-page-img {
  position: relative;
  height: 218px;
  background: var(--surface);
  overflow: hidden;
}

.judge-page-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(22, 71, 146, .42),
    rgba(22, 71, 146, .06) 58%,
    transparent
  );
  pointer-events: none;
}

.judge-page-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: saturate(.96) contrast(1.02);
  transition: transform .45s ease, filter .45s ease;
}

.judge-page-card:hover .judge-page-img img {
  transform: scale(1.035);
  filter: saturate(1.04) contrast(1.04);
}

/* ===============================
   BADGE PAÍS
=============================== */

.judge-page-badge {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 2;
  padding: 6px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.5);
  color: var(--principal-a);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  backdrop-filter: blur(8px);
}

/* ===============================
   CONTENIDO
=============================== */

.judge-page-info {
  position: relative;
  z-index: 2;
  padding: 16px 16px 17px;
}

.judge-page-type {
  display: inline-block;
  margin-bottom: 7px;
  color: var(--terciario-a);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.judge-page-info h3 {
  color: var(--principal-a);
  font-size: 18px;
  line-height: 1.18;
  font-weight: 850;
  margin: 0 0 12px;
}

/* ===============================
   TAGS
=============================== */

.judge-page-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}

.judge-page-tags small {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(244, 181, 45, .16);
  color: var(--principal-a);
  border: 1px solid rgba(244, 181, 45, .28);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .02em;
}

/* ===============================
   BOTÓN
=============================== */

.judge-page-btn {
  width: 100%;
  border: 1px solid var(--principal-a);
  border-radius: 12px;
  padding: 10px 14px;
  background: transparent;
  color: var(--principal-a);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.judge-page-btn:hover {
  background: var(--principal-a);
  color: var(--color-white);
  border-color: var(--principal-a);
  transform: translateY(-1px);
}

/* ===============================
   EMPTY
=============================== */

.judges-page-empty {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.judges-page-empty div {
  background: rgba(255,255,255,.9);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
  box-shadow: var(--shadow-soft);
}

.judges-page-empty strong {
  display: block;
  color: var(--principal-a);
  font-size: 17px;
  margin-bottom: 8px;
}

.judges-page-empty span {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

/* ===============================
   MODAL
=============================== */

.judge-profile-modal .modal-content {
  border: 0;
  border-radius: 26px;
  overflow: hidden;
  background: var(--surface-2);
  box-shadow: 0 28px 70px rgba(18,40,80,.22);
}

.judge-modal-close {
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 10;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  color: var(--principal-a);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  box-shadow: var(--shadow-soft);
}

.judge-modal-close span {
  display: block;
  line-height: 34px;
}

.judge-modal-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  min-height: 430px;
}

.judge-modal-img {
  background: var(--surface);
}

.judge-modal-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.judge-modal-copy {
  padding: 40px;
}

.judge-modal-copy span {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--terciario-a);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.judge-modal-copy h3 {
  color: var(--principal-a);
  font-size: 32px;
  line-height: 1.12;
  margin-bottom: 10px;
  font-weight: 850;
}

.judge-modal-copy h4 {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 22px;
}

.judge-modal-bio {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

/* ===============================
   RESPONSIVE
=============================== */

@media (max-width: 1199px) {
  .judges-page-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .judges-page-empty {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  .judges-page-section {
    padding: 70px 0;
  }

  .judges-page-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .judge-modal-layout {
    grid-template-columns: 1fr;
  }

  .judge-modal-img {
    height: 360px;
  }
}

@media (max-width: 575px) {
  .judges-page-section {
    padding: 58px 0;
  }

  .judges-page-head {
    text-align: left;
    margin-bottom: 30px;
  }

  .judges-page-head > span::before,
  .judges-page-head > span::after {
    display: none;
  }

  .judges-page-head p {
    font-size: 15px;
  }

  .judges-page-grid,
  .judges-page-empty {
    grid-template-columns: 1fr;
  }

  .judge-page-img {
    height: 270px;
  }

  .judge-page-info {
    padding: 16px;
  }

  .judge-modal-copy {
    padding: 28px;
  }

  .judge-modal-copy h3 {
    font-size: 27px;
  }
}


/* FIN JUECES */


/* REGLAMENTO */

.rules-section{
  padding:60px 0 110px;
  background:var(--fondo);
}

.rules-layout{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:36px;
  align-items:start;
}

.rules-summary{
  position:sticky;
  top:110px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:28px;
  padding:34px;
  box-shadow:var(--shadow-soft);
}

.rules-summary span{
  display:block;
  margin-bottom:14px;
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.6px;
  color:var(--terciario-a);
}

.rules-summary h2{
  font-size:2.1rem;
  line-height:1;
  font-weight:800;
  color:var(--principal-a);
  margin-bottom:16px;
}

.rules-summary p{
  color:var(--muted);
  line-height:1.75;
  margin-bottom:26px;
}

.rules-dates{
  display:grid;
  gap:12px;
}

.rules-dates div{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
}

.rules-dates strong{
  display:block;
  font-size:1.4rem;
  font-weight:800;
  color:var(--principal-a);
  font-family:"Oswald",sans-serif;
}

.rules-dates small{
  display:block;
  color:var(--muted);
  line-height:1.4;
}

.rules-list{
  display:grid;
  gap:14px;
}

.rule-item{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:18px;
  align-items:flex-start;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px 26px;
  box-shadow:var(--shadow-soft);
}

.rule-item span{
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--principal-a);
  color:var(--color-white);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.86rem;
  font-weight:800;
  font-family:"Oswald",sans-serif;
}

.rule-item p{
  margin:0;
  color:var(--muted);
  line-height:1.8;
}

.rule-item strong{
  color:var(--principal-a);
}

.rule-warning{
  border-color:rgba(240,90,73,.35);
}

.rule-warning span{
  background:var(--terciario-a);
}



@media(max-width:991px){
  .rules-layout{
    grid-template-columns:1fr;
  }

  .rules-summary{
    position:relative;
    top:auto;
  }
}

@media(max-width:575px){
  .rules-section{
    padding:45px 0 80px;
  }

  .rule-item{
    grid-template-columns:1fr;
    gap:12px;
    padding:22px;
  }

  .rules-summary{
    padding:26px;
  }
 
}

/* FIN REGLAMENTO */


/* GANADORES */
 /* ===============================
   PREMIACIÓN Y RECONOCIMIENTOS
================================ */

.awards-section {
  position: relative;
  overflow: hidden;
}

.awards-section::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  top: 40px;
  left: -160px;
  pointer-events: none;
}

.awards-section::after {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
 bottom: -180px;
  right: -180px;
  pointer-events: none;
}

.awards-section .site-wrap-content {
  position: relative;
  z-index: 2;
}

.section-kicker {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--color-coral);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.awards-grid {
  display: grid;
  grid-template-columns: 1fr 1.12fr 1fr;
  gap: 22px;
  align-items: stretch;
}

.award-card {
  position: relative;
  min-height: 330px;
  padding: 28px 24px;
  border-radius: 28px;
  background: var(--color-white);
  border: 1px solid rgba(16, 42, 82, 0.08);
  box-shadow: 0 18px 45px rgba(16, 42, 82, 0.10);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.award-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 65px rgba(16, 42, 82, 0.15);
}

.award-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 7px;
  background: var(--color-primary);
}

.award-medals::before {
  background: linear-gradient(90deg, #c89016, var(--color-accent-soft));
}

.award-main::before {
  background: linear-gradient(90deg, var(--color-coral), var(--color-accent-soft));
}

.award-brewery::before {
  background: linear-gradient(90deg, var(--color-primary), #19a7ce);
}

.award-bg-icon {
  position: absolute;
  right: -24px;
  bottom: -34px;
  font-size: 155px;
  color: rgba(18, 63, 125, 0.055);
  line-height: 1;
  pointer-events: none;
}

.award-main .award-bg-icon {
  color: rgba(245, 197, 66, 0.10);
}

.award-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: rgba(18, 63, 125, 0.10);
  color: var(--color-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 18px;
}

.award-medals .award-icon {
  background: rgba(245, 197, 66, 0.18);
  color: #b98010;
}

.award-main .award-icon {
  background: rgba(227, 68, 54, 0.12);
  color: var(--color-coral);
}

.award-brewery .award-icon {
  background: rgba(18, 63, 125, 0.10);
  color: var(--color-primary);
}

.award-label {
  display: inline-flex;
  align-items: center;
  margin-bottom: 10px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(18, 63, 125, 0.07);
  color: var(--color-primary);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.award-card h5 {
  position: relative;
  z-index: 2;
  margin: 0 0 12px;
  color: var(--color-primary);
  font-size: 25px;
  line-height: 1.05;
  font-weight: 900;
}

.award-card p {
  position: relative;
  z-index: 2;
  margin: 0;
  color: rgba(20, 28, 45, 0.72);
  font-size: 14px;
  line-height: 1.55;
}

.award-main {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-deep));
  color: var(--color-white);
  border: 0;
  transform: translateY(-12px);
}

.award-main:hover {
  transform: translateY(-18px);
}

.award-main h5,
.award-main .award-label {
  color: var(--color-white);
}

.award-main .award-label {
  background: rgba(255, 255, 255, 0.13);
}

.award-main p {
  color: rgba(255, 255, 255, 0.78);
}

.award-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--color-accent-soft);
  color: var(--color-primary);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.award-mini-list {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.award-mini-list span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(245, 197, 66, 0.13);
  color: #8a6410;
  font-size: 12px;
  font-weight: 800;
}

.award-mini-list i {
  font-size: 7px;
}

.award-highlight-line {
  position: relative;
  z-index: 2;
  margin-top: 22px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.14);
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  font-weight: 700;
}

.award-highlight-line i {
  color: var(--color-accent-soft);
}

.award-points {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-top: 20px;
}

.award-points div {
  padding: 12px 8px;
  border-radius: 16px;
  background: rgba(18, 63, 125, 0.07);
  text-align: center;
}

.award-points strong {
  display: block;
  color: var(--color-primary);
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
}

.award-points span {
  display: block;
  margin-top: 5px;
  color: rgba(20, 28, 45, 0.65);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

/* Responsive */
@media (max-width: 992px) {
  .awards-grid {
    grid-template-columns: 1fr;
  }

  .award-main {
    transform: none;
  }

  .award-main:hover {
    transform: translateY(-6px);
  }

  .award-card {
    min-height: auto;
  }
}

@media (max-width: 576px) {
  .award-card {
    padding: 24px 20px;
    border-radius: 24px;
  }

  .award-card h5 {
    font-size: 22px;
  }

  .award-bg-icon {
    font-size: 125px;
  }

  .award-badge {
    position: static;
    display: inline-flex;
    margin-bottom: 14px;
  }
}
/* FIN GANADORES */


/* REGLAMENTOS */
.rules-page{
  background:var(--fondo);
}

.rules-overview{
  max-width:1180px;
  margin:0 auto 36px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:30px;
  padding:36px;
  box-shadow:var(--shadow-soft);
  display:grid;
  grid-template-columns:1fr 420px;
  gap:32px;
  align-items:center;
}

.rules-overview span{
  display:block;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--terciario-a);
  margin-bottom:12px;
}

.rules-overview h2{
  font-size:clamp(1.8rem,3vw,3rem);
  line-height:1;
  font-weight:800;
  color:var(--principal-a);
  margin:0;
}

.rules-highlights{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.rules-highlights div{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:20px;
  padding:18px;
}

.rules-highlights strong{
  display:block;
  font-family:"Oswald",sans-serif;
  font-size:1.5rem;
  color:var(--principal-a);
  margin-bottom:4px;
}

.rules-highlights small{
  display:block;
  color:var(--muted);
  line-height:1.35;
}

.rules-layout{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:260px 1fr;
  gap:28px;
  align-items:start;
}

.rules-nav{
  position:sticky;
  top:110px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:24px;
  padding:16px;
  box-shadow:var(--shadow-soft);
}

.rules-nav a{
  display:block;
  padding:13px 14px;
  border-radius:14px;
  color:var(--principal-a);
  font-weight:800;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.6px;
}

.rules-nav a:hover{
  background:var(--surface);
  color:var(--terciario-a);
}

.rules-content{
  display:grid;
  gap:14px;
}

.rule-block{
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow-soft);
}


.rule-toggle::-moz-focus-inner{
  border:0;
}

.rule-block.is-open{
  border-color:var(--line);
}

.rule-block.is-open .rule-toggle{
  background:var(--surface-2);
}

.rule-toggle:focus-visible{
  outline:2px solid var(--terciario-a);
  outline-offset:-6px;
  border-radius:20px;
}

.rule-toggle:focus,
.rule-toggle:active{
  outline:none;
  box-shadow:none;
}

.rule-toggle:focus-visible{
  outline:2px solid var(--terciario-a);
  outline-offset:-6px;
}

.rule-toggle{
  width:100%;
  border:0;
  background:transparent;
  padding:22px 26px;
  display:grid;
  grid-template-columns:48px 1fr 18px;
  align-items:center;
  gap:16px;
  text-align:left;
  color:var(--principal-a);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
  cursor:pointer;
}

.rule-toggle span{
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--principal-a);
  color:var(--color-white);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Oswald",sans-serif;
  font-size:.82rem;
}

.rule-toggle i{
  color:var(--terciario-a);
  transition:.25s ease;
}

.rule-block.is-open .rule-toggle i{
  transform:rotate(180deg);
}

.rule-body{
  display:none;
  padding:0 26px 28px 90px;
}

.rule-block.is-open .rule-body{
  display:block;
}

.rule-body ul{
  margin:0;
  padding-left:18px;
}

.rule-body li{
  color:var(--muted);
  line-height:1.75;
  margin-bottom:10px;
}

.rule-body strong{
  color:var(--principal-a);
}

.category-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:20px;
}

.category-grid span{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 14px;
  color:var(--principal-a);
  font-weight:700;
  font-size:.86rem;
}

.rule-note{
  margin:0;
  color:var(--muted);
  line-height:1.75;
}

@media(max-width:991px){
  .rules-overview{
    grid-template-columns:1fr;
  }

  .rules-layout{
    grid-template-columns:1fr;
  }

  .rules-nav{
    position:relative;
    top:auto;
    display:flex;
    overflow-x:auto;
    gap:8px;
  }

  .rules-nav a{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .category-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:575px){
  .rules-page{
    padding:45px 0 80px;
  }

  .rules-overview{
    padding:26px;
    border-radius:24px;
  }

  .rules-highlights{
    grid-template-columns:1fr;
  }

  .rule-toggle{
    grid-template-columns:42px 1fr 16px;
    padding:18px;
    gap:12px;
    font-size:.82rem;
  }

  .rule-body{
    padding:0 18px 22px 18px;
  }

  .category-grid{
    grid-template-columns:1fr;
  }
}

/* FIN REGLAMENTOS */


/* AUSPICIANTES */

.sponsors-page{
  padding:60px 0 110px;
  background:var(--fondo);
}

.sponsors-head,
.packages-head{
  max-width:820px;
  margin:0 auto 34px;
  text-align:center;
}

.sponsors-head span,
.packages-head span{
  display:block;
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.6px;
  color:var(--terciario-a);
  margin-bottom:10px;
}

.sponsors-head h2,
.packages-head h2{
  font-size:clamp(2rem,4vw,3.6rem);
  line-height:1;
  font-weight:800;
  color:var(--principal-a);
  margin-bottom:12px;
}

.packages-head p{
  color:var(--muted);
  margin:0;
}

.sponsors-showcase{
  max-width:1180px;
  margin:0 auto 80px;
  display:grid;
  gap:18px;
}

.sponsor-tier{
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:28px;
  padding:28px;
  box-shadow:var(--shadow-soft);
}

.tier-title{
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:var(--principal-a);
  margin-bottom:20px;
}


.diamond-logos img{
  width:220px;
  height:130px;
}

.gold-logos img{
  width:180px;
  height:110px;
}

.silver-logos img{
  width:150px;
  height:92px;
}

.bronze-logos img{
  width:125px;
  height:78px;
}

.gastro-logos img{
  width:170px;
  height:105px;
}


.tier-gastro{
  border-color:rgba(46,125,90,.32);
}

.packages-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.packages-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  align-items:stretch;
}

.package-card{
  position:relative;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:28px;
  padding:30px;
  box-shadow:var(--shadow-soft);
  transition:.25s ease;
  overflow:hidden;
}

.package-card:hover{
  transform:translateY(-5px);
}

.featured-package{
  border:2px solid var(--principal-a);
}

.package-badge{
  position:absolute;
  top:18px;
  right:18px;
  background:var(--principal-a);
  color:var(--color-white);
  border-radius:999px;
  padding:8px 12px;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.8px;
}

.package-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  background:var(--surface);
  border:1px solid var(--line);
  color:var(--terciario-a);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  margin-bottom:22px;
}

.package-top{
  border-bottom:1px solid var(--line);
  padding-bottom:20px;
  margin-bottom:20px;
}

.package-top span{
  display:block;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.4px;
  color:var(--terciario-a);
  margin-bottom:10px;
}

.package-top strong{
  display:block;
  font-family:"Oswald",sans-serif;
  font-size:2.25rem;
  line-height:1;
  color:var(--principal-a);
  margin-bottom:14px;
}

.package-top p{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.6;
  margin:0;
}

.package-benefits{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:11px;
}

.package-benefits li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.45;
}

.package-benefits i{
  color:var(--terciario-b);
  margin-top:3px;
  font-size:.8rem;
}

.package-link{
  margin-top:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:13px 16px;
  border-radius:16px;
  background:var(--principal-a);
  color:var(--color-white);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.8px;
  font-size:.78rem;
  transition:.25s ease;
}

.package-link:hover{
  color:var(--color-white);
  background:var(--principal-b);
}

.package-diamond .package-icon{ color:var(--principal-b); }
.package-gold .package-icon{ color:var(--secundario-a); }
.package-gastro .package-icon{ color:var(--terciario-b); }
.package-silver .package-icon{ color:var(--muted); }
.package-bronze .package-icon{ color:var(--terciario-a); }

@media(max-width:991px){
  .packages-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:767px){
  .packages-grid{
    grid-template-columns:1fr;
  }

  .package-card{
    padding:24px;
    border-radius:24px;
  }

  .package-top strong{
    font-size:2rem;
  }

  .package-badge{
    position:static;
    display:inline-block;
    margin-bottom:18px;
  }
}

.package-top{
  border-bottom:1px solid var(--line);
  padding-bottom:18px;
  margin-bottom:20px;
}

.package-top span{
  display:block;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.4px;
  color:var(--terciario-a);
  margin-bottom:8px;
}

.package-top strong{
  display:block;
  font-family:"Oswald",sans-serif;
  font-size:2rem;
  line-height:1;
  color:var(--principal-a);
}

.package-card ul{
  margin:0;
  padding-left:18px;
}

.package-card li{
  color:var(--muted);
  line-height:1.65;
  margin-bottom:9px;
  font-size:.92rem;
}

.package-diamond{
  border-color:rgba(35,71,141,.35);
}

.package-gold{
  border-color:rgba(244,181,45,.45);
}

.package-gastro{
  border-color:rgba(46,125,90,.35);
}

.package-silver{
  border-color:rgba(120,120,120,.22);
}

.package-bronze{
  border-color:rgba(160,95,55,.25);
}

@media(max-width:991px){
  .packages-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .diamond-logos img{
    width:190px;
    height:115px;
  }
}

@media(max-width:767px){
  .sponsors-page{
    padding:45px 0 80px;
  }

  .sponsors-head,
  .packages-head{
    text-align:left;
  }

  .sponsor-tier{
    padding:22px;
    border-radius:24px;
  }

  .sponsor-logos{
    justify-content:flex-start;
  }

  .diamond-logos img,
  .gold-logos img,
  .gastro-logos img{
    width:145px;
    height:90px;
  }

  .silver-logos img{
    width:125px;
    height:78px;
  }

  .bronze-logos img{
    width:110px;
    height:70px;
  }

  .packages-grid{
    grid-template-columns:1fr;
  }

  .package-card{
    padding:22px;
  }
}


.sponsors-dynamic{
  max-width:1180px;
  margin:0 auto 80px;
  display:grid;
  gap:22px;
}

.sponsor-tier{
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:30px;
  padding:28px;
  box-shadow:var(--shadow-soft);
}

.tier-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:24px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}

.tier-header span{
  display:block;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.4px;
  color:var(--terciario-a);
}

.tier-header h3{
  margin:0;
  font-size:2rem;
  line-height:1;
  font-weight:800;
  color:var(--principal-a);
}

.sponsor-logo-grid{
  display:grid;
  gap:16px;
  grid-template-columns:repeat(auto-fit, minmax(var(--logo-min), 1fr));
}

.sponsor-logo{
  min-height:var(--logo-height);
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  transition:.25s ease;
}

.sponsor-logo:hover{
}

.sponsor-logo img{
  width:auto;
  max-width:100%;
  max-height:var(--logo-img);
  object-fit:contain;
  display:block;
  border-radius: 15px;
}

/* Tamaños por jerarquía */
.size-xl{
  --logo-min:260px;
  --logo-height:180px;
  --logo-img:115px;
}

.size-lg{
  --logo-min:220px;
  --logo-height:145px;
  --logo-img:90px;
}

.size-md{
  --logo-min:180px;
  --logo-height:125px;
  --logo-img:76px;
}

.size-sm{
  --logo-min:150px;
  --logo-height:105px;
  --logo-img:62px;
}

/* Colores sutiles por categoría */
.tier-diamond{
  border-color:rgba(35,71,141,.28);
}

.tier-gold{
  border-color:rgba(244,181,45,.42);
}

.tier-silver{
  border-color:rgba(120,120,120,.24);
}

.tier-bronze{
  border-color:rgba(160,95,55,.28);
}

.tier-gastro{
  border-color:rgba(46,125,90,.34);
}

@media(max-width:767px){
  .sponsor-tier{
    padding:22px;
    border-radius:24px;
  }

  .tier-header{
    display:block;
  }

  .tier-header span{
    margin-bottom:8px;
  }

  .tier-header h3{
    font-size:1.7rem;
  }

  .sponsor-logo-grid{
    grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  }

  .size-xl,
  .size-lg,
  .size-md,
  .size-sm{
    --logo-height:110px;
    --logo-img:70px;
  }
}


      


      
/* FIN AUSPICIANTES */


/* ESTILOS */
.styles-page{
  background:var(--fondo);
  padding:60px 0 110px;
}

.styles-intro{
  max-width:1180px;
  margin:0 auto 36px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:30px;
  padding:36px;
  box-shadow:var(--shadow-soft);
}

.styles-intro span{
  display:block;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--terciario-a);
  margin-bottom:12px;
}

.styles-intro h2{
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1;
  font-weight:800;
  color:var(--principal-a);
  margin-bottom:14px;
}

.styles-intro p{
  max-width:780px;
  color:var(--muted);
  line-height:1.8;
  margin:0;
}

.styles-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

/* FIN ESTILOS */

/* SEMANA CERVCERA */

/* ===============================
   SEMANA CERVECERA
================================ */

.semana-cervecera-page {
  padding: 34px 0 48px;
}

.semana-wrap {
  width: min(96vw, 1480px);
  margin: 0 auto;
}

.semana-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(260px, .55fr);
  gap: 22px;
  align-items: stretch;
  margin-bottom: 22px;
}

.semana-hero-copy {
  background: var(--color-white);
  border-radius: 26px;
  padding: 30px;
  border: 1px solid rgba(16, 42, 82, 0.08);
  box-shadow: 0 16px 40px rgba(16, 42, 82, 0.08);
}

.semana-hero-copy > span,
.semana-section-title > span,
.semana-gastro-copy > span {
  display: inline-block;
  color: var(--color-coral);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.semana-hero-copy h2 {
  max-width: 850px;
  margin: 0 0 12px;
  color: var(--color-primary);
  font-size: clamp(36px, 4.5vw, 66px);
  line-height: .92;
  font-weight: 900;
  text-transform: uppercase;
}

.semana-hero-copy p {
  max-width: 860px;
  margin: 0;
  color: rgba(20, 28, 45, .72);
  font-size: 15px;
  line-height: 1.55;
}

.semana-hero-tags {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.semana-hero-tags div {
  border-radius: 18px;
  padding: 15px;
  background: rgba(31, 79, 153, .06);
  border: 1px solid rgba(31, 79, 153, .09);
}

.semana-hero-tags i {
  color: var(--color-coral);
  margin-right: 7px;
}

.semana-hero-tags strong {
  display: block;
  color: var(--color-primary);
  font-size: 17px;
  font-weight: 900;
  margin-bottom: 3px;
}

.semana-hero-tags small {
  display: block;
  color: rgba(20, 28, 45, .65);
  font-size: 12px;
  line-height: 1.3;
}

.semana-hero-card {
  border-radius: 26px;
  padding: 26px;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-deep));
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-align: center;
  min-height: 100%;
  box-shadow: 0 16px 42px rgba(16, 42, 82, 0.16);
}

.semana-hero-card i {
  font-size: 42px;
  color: var(--color-accent-soft);
}

.semana-hero-card strong {
  display: block;
  font-size: 38px;
  font-weight: 900;
  line-height: 1;
}

.semana-hero-card span {
  display: block;
  color: rgba(255,255,255,.75);
  font-size: 13px;
}

.semana-info-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 46px;
}

.semana-info-grid article {
  background: var(--color-white);
  border: 1px solid rgba(16, 42, 82, .08);
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 12px 30px rgba(16, 42, 82, .07);
}

.semana-info-grid article i {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(31, 79, 153, .10);
  color: var(--color-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  margin-bottom: 12px;
}

.semana-info-grid article span {
  display: block;
  color: var(--color-coral);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.semana-info-grid article h3 {
  margin: 0 0 7px;
  color: var(--color-primary);
  font-size: 21px;
  font-weight: 900;
  line-height: 1.05;
}

.semana-info-grid article p {
  margin: 0;
  color: rgba(20, 28, 45, .70);
  font-size: 13px;
  line-height: 1.4;
}

.semana-card-wide {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-deep)) !important;
  color: var(--color-white);
}

.semana-card-wide i {
  background: rgba(255,255,255,.12) !important;
  color: var(--color-accent-soft) !important;
}

.semana-card-wide span {
  color: var(--color-accent-soft) !important;
}

.semana-card-wide h3 {
  color: var(--color-white) !important;
}

.semana-card-wide p {
  color: rgba(255,255,255,.72) !important;
}

.semana-section-title {
  max-width: 780px;
  margin: 0 auto 24px;
  text-align: center;
}

.semana-section-title h2 {
  margin: 0;
  color: var(--color-primary);
  font-size: clamp(34px, 4vw, 58px);
  line-height: .95;
  font-weight: 900;
  text-transform: uppercase;
}

.semana-section-title p {
  max-width: 620px;
  margin: 10px auto 0;
  color: rgba(20, 28, 45, .68);
  font-size: 14px;
  line-height: 1.5;
}

.semana-agenda-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.semana-day-card {
  display: grid;
  grid-template-columns: 105px 1fr;
  gap: 14px;
  align-items: stretch;
  background: var(--color-white);
  border: 1px solid rgba(16, 42, 82, .08);
  border-radius: 20px;
  padding: 12px;
  box-shadow: 0 12px 30px rgba(16, 42, 82, .07);
}

.semana-date {
  border-radius: 16px;
  background: var(--color-primary);
  color: var(--color-white);
  min-height: 92px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.semana-date strong {
  display: block;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
}

.semana-date span {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
}

.semana-day-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2px 0;
}

.semana-day-content small {
  display: block;
  color: var(--color-coral);
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 6px;
}

.semana-day-content h3 {
  margin: 0 0 6px;
  color: var(--color-primary);
  font-size: 21px;
  font-weight: 900;
  line-height: 1.08;
}

.semana-day-content p {
  margin: 0;
  color: rgba(20, 28, 45, .70);
  font-size: 13.5px;
  line-height: 1.42;
}

.semana-day-highlight {
  border-color: rgba(227, 68, 54, .24);
}

.semana-day-highlight .semana-date {
  background: var(--color-coral);
}

.semana-gastro-panel {
  margin-top: 44px;
  padding: 28px;
  border-radius: 28px;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-deep));
  color: var(--color-white);
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 24px;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.semana-gastro-panel::after {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  right: -80px;
  top: -90px;
  background: rgba(245, 197, 66, .15);
}

.semana-gastro-copy,
.semana-gastro-grid {
  position: relative;
  z-index: 2;
}

.semana-gastro-copy span {
  color: var(--color-accent-soft);
}

.semana-gastro-copy h2 {
  margin: 0 0 10px;
  font-size: clamp(30px, 4vw, 52px);
  line-height: .94;
  font-weight: 900;
  text-transform: uppercase;
}

.semana-gastro-copy p {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 14px;
  line-height: 1.55;
}

.semana-gastro-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.semana-gastro-grid div {
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
}

.semana-gastro-grid i {
  color: var(--color-accent-soft);
  font-size: 18px;
  margin-bottom: 9px;
}

.semana-gastro-grid strong {
  display: block;
  font-size: 15px;
  line-height: 1.15;
}

.semana-gastro-grid span {
  display: block;
  margin-top: 5px;
  color: rgba(255,255,255,.70);
  font-size: 12px;
  line-height: 1.3;
}

.semana-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 34px;
}

.semana-strip div {
  background: var(--color-white);
  border: 1px solid rgba(16, 42, 82, .08);
  border-radius: 16px;
  padding: 13px 10px;
  text-align: center;
  box-shadow: 0 10px 24px rgba(16, 42, 82, .06);
}

.semana-strip strong {
  display: block;
  color: var(--color-primary);
  font-size: 20px;
  font-weight: 900;
}

.semana-strip span {
  display: block;
  color: rgba(20, 28, 45, .64);
  font-size: 12px;
  font-weight: 800;
}

/* ===============================
   RESPONSIVE
================================ */

@media (max-width: 1200px) {
  .semana-info-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .semana-gastro-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .semana-wrap {
    width: min(94vw, 760px);
  }

  .semana-hero,
  .semana-gastro-panel {
    grid-template-columns: 1fr;
  }

  .semana-info-grid,
  .semana-agenda-grid {
    grid-template-columns: 1fr;
  }

  .semana-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .semana-cervecera-page {
    padding: 26px 0 38px;
  }

  .semana-wrap {
    width: calc(100% - 28px);
  }

  .semana-hero-copy,
  .semana-gastro-panel {
    padding: 22px 18px;
    border-radius: 22px;
  }

  .semana-hero-tags,
  .semana-gastro-grid,
  .semana-strip {
    grid-template-columns: 1fr;
  }

  .semana-day-card {
    grid-template-columns: 1fr;
  }

  .semana-date {
    min-height: auto;
    align-items: flex-start;
    padding: 14px;
  }
}

/* FIN SEMANA CERVECERA */

/* INSCRIBETE */
.register-page{
  background:var(--fondo);
  padding:60px 0 110px;
}

.register-overview{
  max-width:1180px;
  margin:0 auto 34px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:30px;
  padding:36px;
  display:grid;
  grid-template-columns:1fr 420px;
  gap:32px;
  box-shadow:var(--shadow-soft);
}

.register-overview span,
.pricing-head span,
.samples-head span{
  display:block;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:var(--terciario-a);
  margin-bottom:12px;
}

.register-overview h2,
.pricing-head h2,
.samples-head h2{
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1;
  font-weight:800;
  color:var(--principal-a);
  margin-bottom:16px;
}

.register-overview p{
  color:var(--muted);
  line-height:1.8;
  margin:0;
}

.register-dates{
  display:grid;
  gap:12px;
}

.register-dates div{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:20px;
  padding:18px;
}

.register-dates strong{
  display:block;
  font-family:"Oswald",sans-serif;
  color:var(--principal-a);
  font-size:1.4rem;
}

.register-dates small{
  color:var(--muted);
  line-height:1.4;
}

.register-layout{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:300px 1fr;
  gap:28px;
  align-items:start;
}

.register-sidebar{
  position:sticky;
  top:110px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:26px;
  padding:26px;
  box-shadow:var(--shadow-soft);
}

.register-sidebar h3{
  color:var(--principal-a);
  font-size:1.5rem;
  margin-bottom:20px;
}

.side-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}

.side-item i{
  color:var(--terciario-a);
  margin-top:4px;
}

.side-item span{
  color:var(--muted);
  font-size:.9rem;
  line-height:1.45;
}

.register-main-btn{
  margin-top:24px;
  display:flex;
  justify-content:center;
  background:var(--principal-a);
  color:var(--color-white);
  border-radius:16px;
  padding:14px 18px;
  font-weight:900;
  text-transform:uppercase;
  font-size:.78rem;
}

.register-main-btn:hover{
  background:var(--principal-b);
  color:var(--color-white);
}

.register-content{
  display:grid;
  gap:24px;
}

.steps-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.register-step,
.pricing-box,
.samples-box{
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:26px;
  padding:26px;
  box-shadow:var(--shadow-soft);
}

.register-step span{
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--principal-a);
  color:var(--color-white);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Oswald",sans-serif;
  font-weight:800;
  margin-bottom:18px;
}

.register-step h3{
  font-size:1.3rem;
  color:var(--principal-a);
  margin-bottom:10px;
}

.register-step p{
  color:var(--muted);
  line-height:1.7;
  margin:0;
}

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.price-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:20px;
  padding:22px;
}

.price-card span{
  display:block;
  font-size:.75rem;
  font-weight:900;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:10px;
}

.price-card strong{
  display:block;
  font-family:"Oswald",sans-serif;
  font-size:2.5rem;
  color:var(--principal-a);
  line-height:1;
  margin-bottom:6px;
}

.price-card small{
  color:var(--muted);
}

.samples-list{
  display:grid;
  gap:12px;
}

.samples-list div{
  display:flex;
  justify-content:space-between;
  gap:18px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
}

.samples-list strong{
  color:var(--principal-a);
}

.samples-list span{
  color:var(--muted);
}

@media(max-width:991px){
  .register-overview,
  .register-layout{
    grid-template-columns:1fr;
  }

  .register-sidebar{
    position:relative;
    top:auto;
  }

  .pricing-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:767px){
  .register-page{
    padding:45px 0 80px;
  }

  .register-overview,
  .register-step,
  .pricing-box,
  .samples-box,
  .register-sidebar{
    padding:24px;
    border-radius:24px;
  }

  .steps-grid{
    grid-template-columns:1fr;
  }

  .samples-list div{
    flex-direction:column;
  }
}

/* FIN INSCRIBETE */


/* seccion competencia */
/* ===============================
   COMPETENCIA 2026 COMPACTA
================================ */


/* Responsive */


/* final seccion competencia */


/* participacion */
  


.participant-timeline-wrap::before {
  content: "";
  position: absolute;
  top: 42px;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(22, 71, 146, .22),
    rgba(244, 181, 45, .55),
    rgba(22, 71, 146, .22),
    transparent
  );
  z-index: 0;
}


/* final participacion */


/* categorias */
.categorias-visual-section{
  padding:58px 0;
  
}

.categorias-visual-head{
  max-width:760px;
  margin:0 auto 30px;
  text-align:center;
}

.section-kicker{
  display:inline-flex;
  margin-bottom:8px;
  padding:7px 12px;
  border-radius:999px;
  background:var(--secundario-a);
  color:var(--principal-a);
  font-family:"Oswald",sans-serif;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.categorias-visual-head .section-title{
  font-size:clamp(2rem,4vw,3.35rem);
  line-height:.95;
  margin-bottom:8px;
}

.categorias-visual-head .section-subtitle{
  max-width:620px;
  margin:0 auto;
  font-size:.9rem;
  line-height:1.55;
}

/* GRID */

.categorias-visual-grid{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

/* CARD */

.categoria-visual-card{
  position:relative;
  min-height:230px;
  border-radius:24px;
  overflow:hidden;
  background:var(--principal-a);
  border:none;
  box-shadow:0 12px 30px rgba(19,47,92,.10);
  isolation:isolate;
  transition:.28s ease;
}

.categoria-visual-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 46px rgba(19,47,92,.16);
}

.categoria-visual-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border:none;
  outline:none;
  transition:.45s ease;
  z-index:1;
}

.categoria-visual-card:hover img{
  transform:scale(1.06);
}

.categoria-visual-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg, rgba(8,24,56,.02) 0%, rgba(8,24,56,.28) 42%, rgba(8,24,56,.86) 100%),
    radial-gradient(circle at 10% 10%, rgba(244,181,45,.14), transparent 38%);
  pointer-events:none;
}

.categoria-visual-copy{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  padding:20px;
}

.categoria-visual-copy span{
  display:inline-flex;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--secundario-a);
  color:var(--principal-a);
  font-family:"Oswald",sans-serif;
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.categoria-visual-copy h4{
  color:var(--color-white);
  font-size:1.35rem;
  line-height:1.02;
  font-weight:900;
  margin-bottom:6px;
  text-shadow:0 8px 22px rgba(0,0,0,.20);
}

.categoria-visual-copy p{
  max-width:95%;
  color:rgba(255,255,255,.84);
  font-size:.82rem;
  line-height:1.38;
  margin:0;

  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* OPCIÓN: destacar primera card */
.categoria-visual-card:first-child{
  grid-column:span 1;
}

/* RESPONSIVE */

@media(max-width:1199px){
  .categorias-visual-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .categoria-visual-card{
    min-height:230px;
  }
}

@media(max-width:767px){
  .categorias-visual-section{
    padding:46px 0;
  }

  .categorias-visual-grid{
    grid-template-columns:1fr;
  }

  .categoria-visual-card{
    min-height:240px;
    border-radius:22px;
  }

  .categoria-visual-copy{
    padding:18px;
  }
}
/* final categorias */


/* jueces seccion */
  .judges-showcase-section{
  padding:58px 0;
 
}

.judges-showcase-head{
  max-width:780px;
  margin:0 auto 28px;
  text-align:center;
}

.judges-showcase-head span{
  display:inline-flex;
  margin-bottom:8px;
  padding:7px 12px;
  border-radius:999px;
  background:var(--secundario-a);
  color:var(--principal-a);
  font-family:"Oswald",sans-serif;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.judges-showcase-head h2{
  color:var(--principal-a);
  font-size:clamp(2.1rem,4vw,3.6rem);
  line-height:.94;
  font-weight:900;
  margin-bottom:8px;
}

.judges-showcase-head p{
  max-width:640px;
  margin:0 auto;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.55;
}

.judges-showcase-layout{
  
  margin:0 auto;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:18px;
  align-items:stretch;
}

/* CARD IZQUIERDA CON FONDO */

.judge-feature-bg{
  position:relative;
  min-height:430px;
  border-radius:28px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:0 14px 34px rgba(19,47,92,.10);
  border:1px solid rgba(19,47,92,.12);
  transition:opacity .25s ease, transform .25s ease, filter .25s ease;
}

.judge-feature-bg.is-changing{
  opacity:.55;
  transform:scale(.985);
  filter:blur(1px);
}

.judge-feature-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(9,31,73,.05) 0%, rgba(9,31,73,.40) 42%, rgba(9,31,73,.92) 100%),
    radial-gradient(circle at 20% 20%, rgba(244,181,45,.22), transparent 42%);
  z-index:1;
}

.judge-feature-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:30px;
}

.judge-feature-badge{
  display:inline-flex;
  margin-bottom:12px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--terciario-a);
  font-family:"Oswald",sans-serif;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.judge-feature-content h3{
  color:var(--color-white);
  font-size:clamp(2rem,3vw,3.1rem);
  line-height:.95;
  font-weight:900;
  margin-bottom:8px;
  text-shadow:0 10px 25px rgba(0,0,0,.20);
}

.judge-feature-role{
  color:var(--secundario-a);
  font-family:"Oswald",sans-serif;
  font-size:.82rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:12px;
}

.judge-feature-content p{
  max-width:560px;
  color:rgba(255,255,255,.84);
  font-size:.88rem;
  line-height:1.55;
  margin-bottom:14px;

  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.judge-feature-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.judge-feature-tags small{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:var(--secundario-a);
  color:var(--principal-a);
  font-family:"Oswald",sans-serif;
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
}

/* TARJETAS DERECHA SIMÉTRICAS */

.judges-showcase-cards{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  align-content:start;
}

.judge-mini-select{
  min-height:132px;
  display:grid;
  grid-template-columns:92px 1fr;
  gap:14px;
  align-items:center;
  padding:12px;
  border-radius:22px;
  border:1px solid rgba(19,47,92,.10);
  background:rgba(255,255,255,.76);
  text-align:left;
  font-family:inherit;
  cursor:pointer;
  transition:.22s ease;
}

.judge-mini-select:hover{
  background:var(--color-white);
  transform:translateY(-3px);
  box-shadow:0 10px 26px rgba(19,47,92,.09);
}

.judge-mini-select.active{
  background:var(--color-white);
  border-color:rgba(244,181,45,.95);
  box-shadow:0 12px 28px rgba(19,47,92,.10);
}

.judge-mini-img{
  width:92px;
  height:92px;
  border-radius:18px;
  overflow:hidden;
  background:var(--surface);
}

.judge-mini-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:.3s ease;
}

.judge-mini-select:hover .judge-mini-img img{
  transform:scale(1.05);
}

.judge-mini-copy span{
  display:inline-flex;
  margin-bottom:6px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(244,181,45,.22);
  color:var(--principal-a);
  font-family:"Oswald",sans-serif;
  font-size:.6rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.judge-mini-select.active .judge-mini-copy span{
  background:var(--secundario-a);
}

.judge-mini-copy h4{
  color:var(--principal-a);
  font-size:1.02rem;
  line-height:1.05;
  font-weight:900;
  margin-bottom:4px;
}

.judge-mini-copy p{
  color:var(--muted);
  font-size:.78rem;
  line-height:1.3;
  margin:0;
}

/* EMPTY */

.judges-showcase-empty{
  max-width:1080px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.judges-showcase-empty div{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(19,47,92,.10);
}

.judges-showcase-empty strong{
  display:block;
  color:var(--principal-a);
  font-family:"Oswald",sans-serif;
  text-transform:uppercase;
  margin-bottom:6px;
  font-size:.9rem;
}

.judges-showcase-empty span{
  color:var(--muted);
  font-size:.8rem;
  line-height:1.4;
}

@media(max-width:1199px){
  .judges-showcase-layout{
    grid-template-columns:1fr;
  }

  .judge-feature-bg{
    min-height:390px;
  }
}

@media(max-width:991px){
  .judges-showcase-cards{
    grid-template-columns:repeat(2,1fr);
  }

  .judges-showcase-empty{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:767px){
  .judges-showcase-section{
    padding:48px 0;
  }

  .judge-feature-bg{
    min-height:360px;
    border-radius:24px;
  }

  .judge-feature-content{
    padding:24px;
  }

  .judges-showcase-cards{
    grid-template-columns:1fr;
  }

  .judge-mini-select{
    min-height:102px;
    grid-template-columns:76px 1fr;
  }

  .judge-mini-img{
    width:76px;
    height:76px;
    border-radius:15px;
  }

  .judges-showcase-empty{
    grid-template-columns:1fr;
  }
}
/* jueces final */


/* sponsor */

  .sponsors-flow-section{
  padding:52px 0;
  background:var(--fondo);
  overflow:hidden;
}

.sponsors-flow-head{
  max-width:1220px;
  margin:0 auto 18px;
  text-align:left;
}

.sponsors-flow-head h2{
  color:var(--principal-a);
  font-family:"Oswald",sans-serif;
  font-size:clamp(1.45rem,2.3vw,2.25rem);
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  margin:0 0 7px;
}

.sponsors-flow-head p{
  max-width:520px;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.5;
  margin:0;
}

/* CONTENEDOR PRINCIPAL */

.sponsors-flow{
  position:relative;
  max-width:1220px;
  margin:0 auto;
  overflow:hidden;
  cursor:grab;
  user-select:none;
  touch-action:pan-y;
  padding:22px 0;
}

.sponsors-flow.is-dragging{
  cursor:grabbing;
}

.sponsors-flow::before,
.sponsors-flow::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:110px;
  z-index:3;
  pointer-events:none;
}

.sponsors-flow::before{
  left:0;
  background:linear-gradient(90deg, var(--fondo), transparent);
}

.sponsors-flow::after{
  right:0;
  background:linear-gradient(270deg, var(--fondo), transparent);
}

/* TRACK */



/* LOGO SIN CARD */

.sponsor-flow-item{
  flex:0 0 auto;
  width:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
}

.sponsor-flow-item img{
  max-width:170px;
  max-height:78px;
  object-fit:contain;
  display:block;
  pointer-events:none;
  user-select:none;
  filter:saturate(.98) contrast(1.02);
  transition:.22s ease;
}

.sponsor-flow-item span{
  color:var(--principal-a);
  font-family:"Oswald",sans-serif;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  line-height:1.15;
  opacity:.78;
  transition:.22s ease;
}

.sponsor-flow-item:hover img{
  transform:scale(1.05);
  filter:saturate(1.06) contrast(1.05);
}

.sponsor-flow-item:hover span{
  opacity:1;
}

/* EMPTY */

.sponsors-flow-empty{
  max-width:1220px;
  margin:0 auto;
  padding:24px;
  color:var(--muted);
  text-align:center;
  font-size:.9rem;
}

/* TABLET */

@media(max-width:991px){
  .sponsors-flow-track{
    gap:38px;
  }

  .sponsor-flow-item{
    width:150px;
  }

  .sponsor-flow-item img{
    max-width:145px;
    max-height:64px;
  }
}

/* MÓVIL */

@media(max-width:575px){
  .sponsors-flow-section{
    padding:42px 0;
  }

  .sponsors-flow-head h2{
    font-size:1.4rem;
  }

  .sponsors-flow-head p{
    max-width:320px;
    font-size:.8rem;
  }

  .sponsors-flow{
    padding:18px 0;
  }

  .sponsors-flow::before,
  .sponsors-flow::after{
    width:48px;
  }

  .sponsors-flow-track{
    gap:30px;
  }

  .sponsor-flow-item{
    width:125px;
    gap:8px;
  }

  .sponsor-flow-item img{
    max-width:120px;
    max-height:52px;
  }

  .sponsor-flow-item span{
    font-size:.58rem;
  }
}
/* sponsor final seccion */


    

    

    


    /* ===== Mejoras de lectura y scroll ===== */
    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    


    /* ===== Reajuste visual: secciones abiertas, menos encuadradas ===== */
    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    


    /* ===== Ajuste final de márgenes y respiración visual ===== */
    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    


    /* ===== Ajuste solicitado: contenido centrado ===== */
    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

     

    

    

    

    

    /* ===============================
   COMPETENCIA 2026 COMPACTA
================================ */

    .competition-compact-section {
      position: relative;
    }

    .competition-compact-section .section-kicker {
      display: inline-block;
      margin-bottom: 8px;
      color: var(--color-coral);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.13em;
      text-transform: uppercase;
    }

    .competition-compact-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .competition-compact-card {
      display: grid;
      grid-template-columns: 52px 1fr;
      gap: 14px;
      align-items: flex-start;
      padding: 20px;
      border-radius: 18px;
      background: var(--color-white);
      border: 1px solid rgba(16, 42, 82, 0.10);
      box-shadow: 0 10px 24px rgba(16, 42, 82, 0.06);
    }

    .competition-compact-icon {
      width: 52px;
      height: 52px;
      border-radius: 14px;
      background: rgba(18, 63, 125, 0.08);
      color: var(--color-primary);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
    }

    .competition-compact-card span {
      display: block;
      color: var(--color-coral);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: 0.10em;
      text-transform: uppercase;
      margin-bottom: 5px;
    }

    .competition-compact-card h4 {
      margin: 0 0 7px;
      color: var(--color-primary);
      font-size: 20px;
      line-height: 1.1;
      font-weight: 900;
    }

    .competition-compact-card p {
      margin: 0;
      color: rgba(20, 28, 45, 0.70);
      font-size: 13.5px;
      line-height: 1.45;
    }

    .competition-price-line {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 8px 0 9px;
    }

    .competition-price-line strong {
      display: inline-flex;
      align-items: center;
      min-height: 30px;
      padding: 0 10px;
      border-radius: 999px;
      background: rgba(227, 68, 54, 0.08);
      color: var(--color-coral);
      font-size: 12px;
      font-weight: 900;
    }

    .competition-compact-dates {
      margin-top: 22px;
      padding: 22px;
      border-radius: 20px;
      background: var(--color-white);
      border: 1px solid rgba(16, 42, 82, 0.10);
      box-shadow: 0 12px 28px rgba(16, 42, 82, 0.07);
    }

    .competition-compact-dates-head {
      margin-bottom: 18px;
    }

    .competition-compact-dates-head span {
      display: block;
      color: var(--color-coral);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      margin-bottom: 6px;
    }

    .competition-compact-dates-head h3 {
      margin: 0 0 6px;
      color: var(--color-primary);
      font-size: 28px;
      line-height: 1;
      font-weight: 900;
    }

    .competition-compact-dates-head p {
      margin: 0;
      color: rgba(20, 28, 45, 0.68);
      font-size: 14px;
      line-height: 1.45;
    }

    .competition-date-list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }

    .competition-date-item {
      display: grid;
      grid-template-columns: 34px 1fr;
      gap: 10px;
      align-items: flex-start;
      padding: 14px;
      border-radius: 16px;
      background: #f8fafc;
      border: 1px solid rgba(16, 42, 82, 0.07);
    }

    .competition-date-item i {
      width: 34px;
      height: 34px;
      border-radius: 11px;
      background: rgba(18, 63, 125, 0.08);
      color: var(--color-primary);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
    }

    .competition-date-item strong {
      display: block;
      color: var(--color-primary);
      font-size: 14px;
      line-height: 1.15;
      margin-bottom: 4px;
    }

    .competition-date-item span {
      display: block;
      color: rgba(20, 28, 45, 0.68);
      font-size: 12.5px;
      line-height: 1.35;
    }

    .competition-date-alert {
      background: rgba(245, 197, 66, 0.12);
      border-color: rgba(245, 197, 66, 0.28);
    }

    .competition-date-alert i {
      background: rgba(245, 197, 66, 0.22);
      color: #9b6a00;
    }

    /* Responsive */
    @media (max-width: 1100px) {
      .competition-date-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 800px) {

      .competition-compact-grid,
      .competition-date-list {
        grid-template-columns: 1fr;
      }

      .competition-compact-card {
        grid-template-columns: 46px 1fr;
        padding: 18px;
      }

      .competition-compact-icon {
        width: 46px;
        height: 46px;
      }

      .competition-compact-dates {
        padding: 18px;
      }
    }


      .participant-route-section {
      position: relative;
      overflow: hidden;

    }

    .participant-route-head {
      margin-bottom: 46px;
    }

    .participant-timeline-wrap {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
    }

    .participant-timeline-wrap::before {
      content: "";
      position: absolute;
      top: 42px;
      left: 10%;
      right: 10%;
      height: 1px;
      background: linear-gradient(90deg,
          transparent,
          rgba(22, 71, 146, .22),
          rgba(244, 181, 45, .55),
          rgba(22, 71, 146, .22),
          transparent);
      z-index: 0;
    }

    .participant-step {
      position: relative;
      z-index: 1;
      background: rgba(255, 255, 255, .86);
      border: 1px solid var(--line);
      border-radius: 22px;
      padding: 18px;
      box-shadow: var(--shadow-soft);
      transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    }

    .participant-step:hover {
      transform: translateY(-5px);
      border-color: rgba(244, 181, 45, .55);
      box-shadow: var(--shadow);
    }

    .participant-step-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 26px;
    }

    .participant-icon {
      width: 52px;
      height: 52px;
      border-radius: 16px;
      background: var(--principal-a);
      color: var(--color-white);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      box-shadow: 0 10px 22px rgba(22, 71, 146, .18);
    }

    .participant-number {
      font-size: 13px;
      font-weight: 900;
      letter-spacing: .08em;
      color: var(--terciario-a);
      background: rgba(240, 90, 73, .10);
      border: 1px solid rgba(240, 90, 73, .18);
      border-radius: 999px;
      padding: 6px 10px;
    }

    .participant-step-copy h4 {
      font-size: 19px;
      line-height: 1.2;
      color: var(--principal-a);
      margin-bottom: 10px;
      font-weight: 850;
    }

    .participant-step-copy p {
      font-size: 14px;
      line-height: 1.65;
      color: var(--muted);
      margin: 0;
    }

    .participant-step:nth-child(2) .participant-icon {
      background: var(--secundario-a);
      color: var(--principal-a);
    }

    .participant-step:nth-child(3) .participant-icon {
      background: var(--terciario-a);
      color: var(--color-white);
    }

    .participant-step:nth-child(4) .participant-icon {
      background: var(--terciario-b);
      color: var(--color-white);
    }

    @media (max-width: 991px) {
      .participant-timeline-wrap {
        grid-template-columns: repeat(2, 1fr);
      }

      .participant-timeline-wrap::before {
        display: none;
      }
    }

    @media (max-width: 575px) {
      .participant-route-head {
        text-align: left;
        margin-bottom: 30px;
      }

      .participant-timeline-wrap {
        grid-template-columns: 1fr;
        gap: 14px;
      }

      .participant-step {
        padding: 16px;
        border-radius: 18px;
      }

      .participant-step-top {
        margin-bottom: 20px;
      }

      .participant-icon {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        font-size: 18px;
      }

      .participant-step-copy h4 {
        font-size: 18px;
      }

      .participant-step-copy p {
        font-size: 13.5px;
      }
    }


      .categorias-visual-section {
      padding: 58px 0;

    }

    .categorias-visual-head {
      max-width: 760px;
      margin: 0 auto 30px;
      text-align: center;
    }

    .section-kicker {
      display: inline-flex;
      margin-bottom: 8px;
      padding: 7px 12px;
      border-radius: 999px;
      background: var(--secundario-a);
      color: var(--principal-a);
      font-family: "Oswald", sans-serif;
      font-size: .68rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    .categorias-visual-head .section-title {
      font-size: clamp(2rem, 4vw, 3.35rem);
      line-height: .95;
      margin-bottom: 8px;
    }

    .categorias-visual-head .section-subtitle {
      max-width: 620px;
      margin: 0 auto;
      font-size: .9rem;
      line-height: 1.55;
    }

    /* GRID */

    .categorias-visual-grid {
      max-width: 1220px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
    }

    /* CARD */

    .categoria-visual-card {
      position: relative;
      min-height: 230px;
      border-radius: 24px;
      overflow: hidden;
      background: var(--principal-a);
      border: none;
      box-shadow: 0 12px 30px rgba(19, 47, 92, .10);
      isolation: isolate;
      transition: .28s ease;
    }

    .categoria-visual-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 20px 46px rgba(19, 47, 92, .16);
    }

    .categoria-visual-card img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      border: none;
      outline: none;
      transition: .45s ease;
      z-index: 1;
    }

    .categoria-visual-card:hover img {
      transform: scale(1.06);
    }

    .categoria-visual-overlay {
      position: absolute;
      inset: 0;
      z-index: 2;
      background:
        linear-gradient(180deg, rgba(8, 24, 56, .02) 0%, rgba(8, 24, 56, .28) 42%, rgba(8, 24, 56, .86) 100%),
        radial-gradient(circle at 10% 10%, rgba(244, 181, 45, .14), transparent 38%);
      pointer-events: none;
    }

    .categoria-visual-copy {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 3;
      padding: 20px;
    }

    .categoria-visual-copy span {
      display: inline-flex;
      margin-bottom: 8px;
      padding: 6px 10px;
      border-radius: 999px;
      background: var(--secundario-a);
      color: var(--principal-a);
      font-family: "Oswald", sans-serif;
      font-size: .62rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    .categoria-visual-copy h4 {
      color: var(--color-white);
      font-size: 1.35rem;
      line-height: 1.02;
      font-weight: 900;
      margin-bottom: 6px;
      text-shadow: 0 8px 22px rgba(0, 0, 0, .20);
    }

    .categoria-visual-copy p {
      max-width: 95%;
      color: rgba(255, 255, 255, .84);
      font-size: .82rem;
      line-height: 1.38;
      margin: 0;

      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    /* OPCIÓN: destacar primera card */
    .categoria-visual-card:first-child {
      grid-column: span 1;
    }

    /* RESPONSIVE */

    @media(max-width:1199px) {
      .categorias-visual-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .categoria-visual-card {
        min-height: 230px;
      }
    }

    @media(max-width:767px) {
      .categorias-visual-section {
        padding: 46px 0;
      }

      .categorias-visual-grid {
        grid-template-columns: 1fr;
      }

      .categoria-visual-card {
        min-height: 240px;
        border-radius: 22px;
      }

      .categoria-visual-copy {
        padding: 18px;
      }
    }


    .judges-showcase-section {
      padding: 58px 0;

    }

    .judges-showcase-head {
      max-width: 780px;
      margin: 0 auto 28px;
      text-align: center;
    }

    .judges-showcase-head span {
      display: inline-flex;
      margin-bottom: 8px;
      padding: 7px 12px;
      border-radius: 999px;
      background: var(--secundario-a);
      color: var(--principal-a);
      font-family: "Oswald", sans-serif;
      font-size: .68rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    .judges-showcase-head h2 {
      color: var(--principal-a);
      font-size: clamp(2.1rem, 4vw, 3.6rem);
      line-height: .94;
      font-weight: 900;
      margin-bottom: 8px;
    }

    .judges-showcase-head p {
      max-width: 640px;
      margin: 0 auto;
      color: var(--muted);
      font-size: .92rem;
      line-height: 1.55;
    }

    .judges-showcase-layout {

      margin: 0 auto;
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 18px;
      align-items: stretch;
    }

    /* CARD IZQUIERDA CON FONDO */

    .judge-feature-bg {
      position: relative;
      min-height: 430px;
      border-radius: 28px;
      overflow: hidden;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      box-shadow: 0 14px 34px rgba(19, 47, 92, .10);
      border: 1px solid rgba(19, 47, 92, .12);
      transition: opacity .25s ease, transform .25s ease, filter .25s ease;
    }

    .judge-feature-bg.is-changing {
      opacity: .55;
      transform: scale(.985);
      filter: blur(1px);
    }

    .judge-feature-overlay {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(9, 31, 73, .05) 0%, rgba(9, 31, 73, .40) 42%, rgba(9, 31, 73, .92) 100%),
        radial-gradient(circle at 20% 20%, rgba(244, 181, 45, .22), transparent 42%);
      z-index: 1;
    }

    .judge-feature-content {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2;
      padding: 30px;
    }

    .judge-feature-badge {
      display: inline-flex;
      margin-bottom: 12px;
      padding: 7px 12px;
      border-radius: 999px;
      background: rgba(255, 255, 255, .92);
      color: var(--terciario-a);
      font-family: "Oswald", sans-serif;
      font-size: .68rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    .judge-feature-content h3 {
      color: var(--color-white);
      font-size: clamp(2rem, 3vw, 3.1rem);
      line-height: .95;
      font-weight: 900;
      margin-bottom: 8px;
      text-shadow: 0 10px 25px rgba(0, 0, 0, .20);
    }

    .judge-feature-role {
      color: var(--secundario-a);
      font-family: "Oswald", sans-serif;
      font-size: .82rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .06em;
      margin-bottom: 12px;
    }

    .judge-feature-content p {
      max-width: 560px;
      color: rgba(255, 255, 255, .84);
      font-size: .88rem;
      line-height: 1.55;
      margin-bottom: 14px;

      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .judge-feature-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }

    .judge-feature-tags small {
      display: inline-flex;
      padding: 7px 10px;
      border-radius: 999px;
      background: var(--secundario-a);
      color: var(--principal-a);
      font-family: "Oswald", sans-serif;
      font-size: .62rem;
      font-weight: 900;
      text-transform: uppercase;
    }

    /* TARJETAS DERECHA SIMÉTRICAS */

    .judges-showcase-cards {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
      align-content: start;
    }

    .judge-mini-select {
      min-height: 132px;
      display: grid;
      grid-template-columns: 92px 1fr;
      gap: 14px;
      align-items: center;
      padding: 12px;
      border-radius: 22px;
      border: 1px solid rgba(19, 47, 92, .10);
      background: rgba(255, 255, 255, .76);
      text-align: left;
      font-family: inherit;
      cursor: pointer;
      transition: .22s ease;
    }

    .judge-mini-select:hover {
      background: var(--color-white);
      transform: translateY(-3px);
      box-shadow: 0 10px 26px rgba(19, 47, 92, .09);
    }

    .judge-mini-select.active {
      background: var(--color-white);
      border-color: rgba(244, 181, 45, .95);
      box-shadow: 0 12px 28px rgba(19, 47, 92, .10);
    }

    .judge-mini-img {
      width: 92px;
      height: 92px;
      border-radius: 18px;
      overflow: hidden;
      background: var(--surface);
    }

    .judge-mini-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: .3s ease;
    }

    .judge-mini-select:hover .judge-mini-img img {
      transform: scale(1.05);
    }

    .judge-mini-copy span {
      display: inline-flex;
      margin-bottom: 6px;
      padding: 5px 9px;
      border-radius: 999px;
      background: rgba(244, 181, 45, .22);
      color: var(--principal-a);
      font-family: "Oswald", sans-serif;
      font-size: .6rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    .judge-mini-select.active .judge-mini-copy span {
      background: var(--secundario-a);
    }

    .judge-mini-copy h4 {
      color: var(--principal-a);
      font-size: 1.02rem;
      line-height: 1.05;
      font-weight: 900;
      margin-bottom: 4px;
    }

    .judge-mini-copy p {
      color: var(--muted);
      font-size: .78rem;
      line-height: 1.3;
      margin: 0;
    }

    /* EMPTY */

    .judges-showcase-empty {
      max-width: 1080px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }

    .judges-showcase-empty div {
      padding: 18px;
      border-radius: 18px;
      background: rgba(255, 255, 255, .72);
      border: 1px solid rgba(19, 47, 92, .10);
    }

    .judges-showcase-empty strong {
      display: block;
      color: var(--principal-a);
      font-family: "Oswald", sans-serif;
      text-transform: uppercase;
      margin-bottom: 6px;
      font-size: .9rem;
    }

    .judges-showcase-empty span {
      color: var(--muted);
      font-size: .8rem;
      line-height: 1.4;
    }

    @media(max-width:1199px) {
      .judges-showcase-layout {
        grid-template-columns: 1fr;
      }

      .judge-feature-bg {
        min-height: 390px;
      }
    }

    @media(max-width:991px) {
      .judges-showcase-cards {
        grid-template-columns: repeat(2, 1fr);
      }

      .judges-showcase-empty {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media(max-width:767px) {
      .judges-showcase-section {
        padding: 48px 0;
      }

      .judge-feature-bg {
        min-height: 360px;
        border-radius: 24px;
      }

      .judge-feature-content {
        padding: 24px;
      }

      .judges-showcase-cards {
        grid-template-columns: 1fr;
      }

      .judge-mini-select {
        min-height: 102px;
        grid-template-columns: 76px 1fr;
      }

      .judge-mini-img {
        width: 76px;
        height: 76px;
        border-radius: 15px;
      }

      .judges-showcase-empty {
        grid-template-columns: 1fr;
      }
    }


     .sponsors-flow-section {
      padding: 52px 0;
      background: var(--fondo);
      overflow: hidden;
    }

    .sponsors-flow-head {
      max-width: 1220px;
      margin: 0 auto 18px;
      text-align: left;
    }

    .sponsors-flow-head h2 {
      color: var(--principal-a);
      font-family: "Oswald", sans-serif;
      font-size: clamp(1.45rem, 2.3vw, 2.25rem);
      line-height: 1;
      font-weight: 900;
      text-transform: uppercase;
      margin: 0 0 7px;
    }

    .sponsors-flow-head p {
      max-width: 520px;
      color: var(--muted);
      font-size: .86rem;
      line-height: 1.5;
      margin: 0;
    }

    /* CONTENEDOR PRINCIPAL */

    .sponsors-flow {
      position: relative;
      max-width: 1220px;
      margin: 0 auto;
      overflow: hidden;
      cursor: grab;
      user-select: none;
      touch-action: pan-y;
      padding: 22px 0;
    }

    .sponsors-flow.is-dragging {
      cursor: grabbing;
    }

    .sponsors-flow::before,
    .sponsors-flow::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      width: 110px;
      z-index: 3;
      pointer-events: none;
    }

    .sponsors-flow::before {
      left: 0;
      background: linear-gradient(90deg, var(--fondo), transparent);
    }

    .sponsors-flow::after {
      right: 0;
      background: linear-gradient(270deg, var(--fondo), transparent);
    }

    /* TRACK */

    .sponsors-flow-track {
      display: flex;
      align-items: center;
      gap: 48px;
      width: max-content;
      will-change: transform;
    }

    /* LOGO SIN CARD */

    .sponsor-flow-item {
      flex: 0 0 auto;
      width: 180px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 10px;
      text-align: center;
    }

    .sponsor-flow-item img {
      max-width: 170px;
      max-height: 78px;
      object-fit: contain;
      display: block;
      pointer-events: none;
      user-select: none;
      filter: saturate(.98) contrast(1.02);
      transition: .22s ease;
    }

    .sponsor-flow-item span {
      color: var(--principal-a);
      font-family: "Oswald", sans-serif;
      font-size: .68rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .05em;
      line-height: 1.15;
      opacity: .78;
      transition: .22s ease;
    }

    .sponsor-flow-item:hover img {
      transform: scale(1.05);
      filter: saturate(1.06) contrast(1.05);
    }

    .sponsor-flow-item:hover span {
      opacity: 1;
    }

    /* EMPTY */

    .sponsors-flow-empty {
      max-width: 1220px;
      margin: 0 auto;
      padding: 24px;
      color: var(--muted);
      text-align: center;
      font-size: .9rem;
    }

    /* TABLET */

    @media(max-width:991px) {
      .sponsors-flow-track {
        gap: 38px;
      }

      .sponsor-flow-item {
        width: 150px;
      }

      .sponsor-flow-item img {
        max-width: 145px;
        max-height: 64px;
      }
    }

    /* MÓVIL */

    @media(max-width:575px) {
      .sponsors-flow-section {
        padding: 42px 0;
      }

      .sponsors-flow-head h2 {
        font-size: 1.4rem;
      }

      .sponsors-flow-head p {
        max-width: 320px;
        font-size: .8rem;
      }

      .sponsors-flow {
        padding: 18px 0;
      }

      .sponsors-flow::before,
      .sponsors-flow::after {
        width: 48px;
      }

      .sponsors-flow-track {
        gap: 30px;
      }

      .sponsor-flow-item {
        width: 125px;
        gap: 8px;
      }

      .sponsor-flow-item img {
        max-width: 120px;
        max-height: 52px;
      }

      .sponsor-flow-item span {
        font-size: .58rem;
      }
    }


     .legal-note {
      max-width: 850px;
      margin: 0 auto;
      color: var(--muted);
      font-size: .88rem;
      line-height: 1.7;
    }

    .mt-4 {
      margin-top: 1.5rem !important;
    }

    .agenda-wrap {
      grid-template-columns: repeat(3, 1fr);
    }

    .sponsor-empty {
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 24px;
      color: var(--muted);
      font-weight: 700;
      text-align: center;
    }

    #auspiciantes .sponsor-item img {
      width: 80%;
      max-height: 90px;
      object-fit: contain;
    }

    .package-card .package-badge {
      max-width: 70%;
      text-align: center;
    }

    @media(max-width:1199px) {
      .agenda-wrap {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media(max-width:767px) {
      .agenda-wrap {
        grid-template-columns: 1fr;
      }

      .package-card .package-badge {
        max-width: 100%;
      }
    }


    /* ===== Mejoras de lectura y scroll ===== */
    html {
      scroll-padding-top: 105px;
    }

    .ccmm-scroll-progress {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 4px;
      z-index: 9999;
      background: rgba(19, 47, 92, .08);
    }

    .ccmm-scroll-progress span {
      display: block;
      width: 0;
      height: 100%;
      background: linear-gradient(90deg, var(--secundario-a), var(--terciario-a), var(--principal-b));
      transition: width .12s linear;
    }

    .section-pad {
      scroll-margin-top: 110px;
    }

    .section-head {
      position: relative;
      z-index: 1;
    }

    .section-subtitle,
    .hero-text,
    .legal-note,
    .info-card p,
    .timeline-step p,
    .showcase-main p,
    .event-card p,
    .faq-body {
      font-size: 1rem;
      line-height: 1.85;
    }

    .glass-card,
    .card-soft,
    .timeline-step,
    .package-card,
    .faq-card,
    .stat-card-min,
    .preview-mini,
    .sponsor-wrap {
      background: rgba(255, 255, 255, .96) !important;
      border: 1px solid rgba(19, 47, 92, .14) !important;
      box-shadow: 0 10px 28px rgba(18, 40, 80, .10) !important;
    }

    .hero-card,
    .hero-panel {
      background: rgba(255, 255, 255, .94) !important;
    }

    .section-title,
    .hero-title {
      letter-spacing: .01em;
    }

    .hero {
      padding-top: 105px;
    }

    .nav-link.is-active {
      background: rgba(244, 181, 45, .22);
      color: var(--terciario-a) !important;
    }

    .showcase-point,
    .org-item,
    .metric-box,
    .price-card,
    .samples-list div {
      background: var(--color-white) !important;
      box-shadow: 0 4px 14px rgba(18, 40, 80, .06);
    }

    .package-card {
      min-height: 100%;
    }

    .package-benefits li {
      border-bottom: 1px solid rgba(19, 47, 92, .07);
      padding-bottom: 9px;
    }

    .package-benefits li:last-child {
      border-bottom: 0;
      padding-bottom: 0;
    }

    .judge-photo,
    .judge-mini-photo {
      background-size: cover;
      background-position: center;
    }

    .sponsor-grid {
      align-items: stretch;
    }

    #auspiciantes .sponsor-item {
      background: var(--color-white);
      border: 1px solid var(--line);
      border-radius: 18px;
      min-height: 120px;
      padding: 16px;
    }

    @media(max-width:991px) {
      html {
        scroll-padding-top: 85px;
      }

      .hero {
        padding-top: 72px;
      }

      .section-subtitle,
      .hero-text {
        font-size: .95rem;
      }

      .section-pad {
        padding: 70px 0;
      }
    }

    @media(max-width:575px) {
      .section-title {
        font-size: 2rem;
      }

      .hero-title {
        font-size: 2.55rem;
      }

      .stat-number {
        font-size: 2rem;
      }

      .glass-card,
      .card-soft,
      .timeline-step,
      .package-card {
        border-radius: 20px !important;
      }

      .section-subtitle,
      .hero-text,
      .legal-note,
      .info-card p,
      .timeline-step p,
      .showcase-main p,
      .event-card p,
      .faq-body {
        font-size: .93rem;
        line-height: 1.75;
      }
    }


    /* ===== Reajuste visual: secciones abiertas, menos encuadradas ===== */
    body {
      background:
        radial-gradient(circle at top left, rgba(244, 181, 45, .16), transparent 28%),
        radial-gradient(circle at 90% 18%, rgba(240, 90, 73, .10), transparent 22%),
        var(--fondo);
    }

    .section-pad {
      padding: 112px 0;
      position: relative;
    }

    .section-pad+.section-pad {
      border-top: 1px solid rgba(19, 47, 92, .08);
    }

    .section-head {
      text-align: left;
      max-width: 980px;
      margin: 0 0 46px;
    }

    .section-title {
      font-size: clamp(2.45rem, 4.4vw, 4.9rem);
      line-height: .92;
      letter-spacing: -.02em;
      margin-bottom: 16px;
    }

    .section-subtitle {
      margin: 0;
      max-width: 780px;
      color: rgba(19, 47, 92, .72);
      font-size: 1.04rem;
      line-height: 1.8;
    }

    .hero {
      min-height: auto;
      padding: 118px 0 84px;
    }

    .hero .site-wrap-content {
      max-width: 1280px;
      text-align: left !important;
    }

    .hero-title {
      max-width: 980px;
      margin-left: 0;
      margin-right: 0;
      letter-spacing: -.035em;
    }

    .hero-title .accent {
      margin-top: 8px;
    }

    .hero-text {
      max-width: 780px;
      margin-left: 0;
      margin-right: 0;
      color: rgba(19, 47, 92, .72);
    }

    .hero-actions {
      justify-content: flex-start;
    }

    .legal-note {
      margin-left: 0;
      margin-right: 0;
      color: rgba(19, 47, 92, .58);
    }

    .eyebrow {
      box-shadow: none;
      border-radius: 999px;
    }

    .glass-card,
    .card-soft,
    .timeline-step,
    .package-card,
    .faq-card,
    .stat-card-min,
    .sponsor-wrap {
      background: rgba(255, 250, 240, .58) !important;
      border: 1px solid rgba(19, 47, 92, .10) !important;
      box-shadow: none !important;
      backdrop-filter: blur(10px);
    }

    .card-soft,
    .timeline-step,
    .package-card {
      border-radius: 26px !important;
    }

    .info-card,
    .experience-card,
    .event-card {
      padding: 22px 8px 22px 0;
      background: transparent !important;
      border: 0 !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      border-top: 1px solid rgba(19, 47, 92, .14) !important;
    }

    .info-card:hover,
    .experience-card:hover,
    .event-card:hover,
    .timeline-step:hover,
    .package-card:hover {
      transform: none;
    }

    .info-card .icon,
    .experience-icon {
      width: 46px;
      height: 46px;
      border-radius: 50%;
      box-shadow: none;
      background: rgba(244, 181, 45, .30);
    }

    .feature-grid,
    .experience-grid,
    .testimonial-grid {
      gap: 34px;
    }

    .org-block {
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      padding: 0;
    }

    .org-list {
      gap: 10px;
    }

    .org-item {
      background: rgba(255, 255, 255, .38) !important;
      border: 1px solid rgba(19, 47, 92, .10);
      box-shadow: none !important;
      border-radius: 18px;
    }

    .showcase-grid {
      gap: 42px;
      align-items: start;
    }

    .showcase-main {
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      padding: 0;
    }

    .showcase-main::after {
      display: none;
    }

    .showcase-points {
      gap: 16px;
    }

    .showcase-point,
    .metric-box {
      background: rgba(255, 255, 255, .45) !important;
      border: 1px solid rgba(19, 47, 92, .10);
      box-shadow: none !important;
      border-radius: 20px;
    }

    .showcase-side {
      gap: 18px;
    }

    .showcase-card {
      border-radius: 26px !important;
      box-shadow: none !important;
    }

    .showcase-card.top {
      background: rgba(244, 181, 45, .28) !important;
    }

    .showcase-card.bottom {
      background: rgba(255, 255, 255, .42) !important;
    }

    .timeline-wrap {
      gap: 22px;
    }

    .timeline-step {
      padding: 24px;
      background: rgba(255, 255, 255, .42) !important;
      border-radius: 24px !important;
      overflow: visible;
    }

    .timeline-step::before {
      display: none;
    }

    .timeline-number {
      box-shadow: none;
      border-radius: 999px;
      background: var(--secundario-a);
      color: var(--principal-a);
    }

    .judge-wrapper {
      padding: 0;
      background: transparent !important;
      border: 0 !important;
    }

    .judge-main {
      gap: 42px;
    }

    .judge-photo {
      border-radius: 32px;
      box-shadow: none;
      min-height: 520px;
    }

    .judge-mini {
      background: rgba(255, 255, 255, .42);
      border: 1px solid rgba(19, 47, 92, .10);
      box-shadow: none;
    }

    .packages-grid {
      gap: 24px;
      align-items: start;
    }

    .package-card {
      background: rgba(255, 255, 255, .42) !important;
    }

    .package-badge {
      background: var(--secundario-a);
      color: var(--principal-a);
    }

    .package-icon {
      background: transparent;
      border: 1px solid rgba(19, 47, 92, .12);
    }

    .package-benefits li {
      border-bottom: 1px solid rgba(19, 47, 92, .08);
    }

    .sponsor-wrap {
      background: transparent !important;
      border: 0 !important;
      padding: 0;
    }

    #auspiciantes .sponsor-item {
      background: rgba(255, 255, 255, .48);
      border: 1px solid rgba(19, 47, 92, .10);
      box-shadow: none;
    }

    .faq-shell {
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      padding: 0;
    }

    .faq-card {
      background: rgba(255, 255, 255, .46) !important;
      border-radius: 18px !important;
    }

    .faq-btn,
    .faq-card .card-header {
      background: transparent !important;
    }

    @media(max-width:991px) {
      .section-pad {
        padding: 82px 0;
      }

      .section-head {
        margin-bottom: 34px;
      }

      .hero {
        padding: 82px 0 58px;
      }

      .judge-photo {
        min-height: 340px;
      }

      .showcase-grid,
      .judge-main {
        gap: 28px;
      }
    }

    @media(max-width:575px) {
      .section-title {
        font-size: 2.25rem;
      }

      .section-subtitle,
      .hero-text {
        font-size: .95rem;
      }

      .section-pad {
        padding: 68px 0;
      }

      .timeline-step,
      .package-card,
      .showcase-card {
        border-radius: 20px !important;
      }
    }


    /* ===== Ajuste final de márgenes y respiración visual ===== */
    

    .site-wrap {
      width: 100%;
      max-width: var(--ccmm-container-wide);
      margin-left: auto;
      margin-right: auto;
      padding-left: 0 !important;
      padding-right: 0 !important;
    }

    main {
      width: 100%;
      max-width: var(--ccmm-container);
      margin-left: auto;
      margin-right: auto;
    }

    .hero .site-wrap-content {
      max-width: var(--ccmm-container);
    }

    .section-pad {
      padding-top: var(--ccmm-section-space) !important;
      padding-bottom: var(--ccmm-section-space) !important;
    }

    .hero {
      padding-top: clamp(88px, 9vw, 124px) !important;
      padding-bottom: var(--ccmm-section-space-small) !important;
    }

    .section-head {
      margin-bottom: var(--ccmm-block-gap) !important;
    }

    .feature-grid,
    .experience-grid,
    .timeline-wrap,
    .packages-grid,
    .showcase-grid,
    .judge-main {
      gap: var(--ccmm-block-gap) !important;
    }

    .stats-wrap {
      margin-top: clamp(26px, 4vw, 48px) !important;
      margin-bottom: 0 !important;
    }

  

  

    .row {
      margin-left: -12px;
      margin-right: -12px;
    }

    .row>[class*="col-"] {
      padding-left: 12px;
      padding-right: 12px;
    }

    .org-block,
    .showcase-main,
    .sponsor-wrap,
    .faq-shell {
      margin-left: 0 !important;
      margin-right: 0 !important;
    }

    .showcase-points,
    .org-list,
    .winner-list,
    .package-benefits {
      row-gap: 16px !important;
    }

    .stat-col {
      margin-bottom: 24px;
    }

    .section-pad+.section-pad {
      border-top: 0 !important;
    }

    section[id] {
      scroll-margin-top: 118px;
    }

    @media(max-width:1199px) {
      :root {
        --ccmm-container: min(100% - 40px, 1120px);
        --ccmm-container-wide: min(100% - 40px, 1240px);
      }
    }

    @media(max-width:767px) {
      :root {
        --ccmm-container: min(100% - 28px, 100%);
        --ccmm-container-wide: min(100% - 28px, 100%);
        --ccmm-section-space: 64px;
        --ccmm-section-space-small: 48px;
        --ccmm-block-gap: 22px;
      }

      .hero-actions {
        align-items: stretch;
      }

      .btn-main,
      .btn-ghost {
        max-width: none !important;
      }

      .row {
        margin-left: -8px;
        margin-right: -8px;
      }

      .row>[class*="col-"] {
        padding-left: 8px;
        padding-right: 8px;
      }

      .stat-col {
        margin-bottom: 16px;
      }
    }

    @media(max-width:420px) {
      :root {
        --ccmm-container: min(100% - 22px, 100%);
        --ccmm-container-wide: min(100% - 22px, 100%);
      }

      .section-pad {
        padding-top: 58px !important;
        padding-bottom: 58px !important;
      }
    }


    /* ===== Ajuste solicitado: contenido centrado ===== */
    .hero .site-wrap-content {
      text-align: center !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .hero-title,
    .hero-text,
    .legal-note {
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .hero-actions {
      justify-content: center !important;
    }

    .section-head {
      text-align: center !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .section-subtitle {
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .section-title {
      text-align: center !important;
    }

    .showcase-main .mini-label,
    .ccmm-kicker {
      margin-left: auto;
      margin-right: auto;
    }

    .showcase-main h3,
    .showcase-main p,
    .faq-intro,
    .faq-intro p {
      text-align: center;
      margin-left: auto;
      margin-right: auto;
    }

    .showcase-points {
      text-align: left;
    }

    .org-block h3,
    .org-block p {
      text-align: center;
      margin-left: auto;
      margin-right: auto;
    }

    .org-list,
    .feature-grid,
    .experience-grid,
    .timeline-wrap,
    .packages-grid,
    .sponsor-grid {
      margin-left: auto;
      margin-right: auto;
    }

    .sponsor-wrap .row,
    #auspiciantes .row {
      justify-content: center;
      text-align: center;
    }

    #auspiciantes .sponsor-grid {
      text-align: center;
    }

    .faq-intro .section-title {
      text-align: center !important;
    }

    @media(max-width:767px) {

      .hero .site-wrap-content,
      .section-head,
      .showcase-main h3,
      .showcase-main p,
      .org-block h3,
      .org-block p {
        text-align: center !important;
      }

      .hero-actions {
        align-items: center !important;
      }
    }
    
    
     overflow-x:none;
    /* ===============================
   FIX MOBILE OVERFLOW / HERO
================================ */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}



/* Corrige el contenedor general en móvil */
@media (max-width: 767px) {
  :root {
    --ccmm-container: calc(100% - 28px);
    --ccmm-container-wide: calc(100% - 28px);
  }

  body {
    overflow-x: hidden;
  }

 

  .site-wrap,
  .site-wrap-content {
    width: 100%;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

 
}

/* =========================================================
   FIX REAL: DESBORDE HORIZONTAL EN MÓVIL
   Pegar al FINAL del CSS
========================================================= */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

body {
  position: relative;
}

/* Evita que cualquier bloque se pase del ancho real */


/* Imágenes y elementos embebidos nunca deben romper el layout */
img,
video,
iframe,
svg {
  max-width: 100%;
  height: auto;
}

/* Bootstrap row puede generar desborde por márgenes negativos */
@media (max-width: 767.98px) {
  .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .row > [class*="col-"] {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .site-wrap,
  .site-wrap-content{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .p-2 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Hero móvil: el problema principal */
@media (max-width: 575.98px) {
  .hero-ccmm {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 112px 0 72px !important;
    overflow: hidden !important;
    background-position: center center !important;
    background-size: cover !important;
  }

  .hero-content {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .hero-ccmm .hero-eyebrow {
    max-width: 100% !important;
    width: 100% !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.25 !important;
    border-radius: 18px !important;
    padding: 12px 14px !important;
    font-size: 0.82rem !important;
  }

  .hero-ccmm .hero-title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2.1rem, 11vw, 2.85rem) !important;
    line-height: 0.95 !important;
    letter-spacing: 0 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    text-wrap: balance;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero-ccmm .hero-text {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .hero-actions {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .btn-main,
  .btn-ghost {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* Header móvil: evita que el menú empuje el ancho */
@media (max-width: 991.98px) {
  .site-header,
  .nav-shell,
  .navbar {
    width: 100% !important;
    max-width: 100% !important;
  }

  .navbar-nav,
  .nav-side {
    width: 100% !important;
    max-width: 100% !important;
  }

  .nav-link {
    white-space: normal !important;
  }
}

/* =========================================================
   FIX FINAL MOBILE: DESBORDE HORIZONTAL REAL
========================================================= */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip !important;
}

body {
  position: relative;
}

img,
video,
iframe,
svg {
  max-width: 100%;
  height: auto;
}

@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden !important;
  }
}

/* Contenedores generales */
.site-wrap,
.site-wrap-content,
.site-wrap-wide,
main,
section {
}

/* Bootstrap row: evitar desborde móvil */
@media (max-width: 767.98px) {
  .container,
  .container-fluid,
  .site-wrap,
  .site-wrap-content,
  .site-wrap-wide {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .row > [class*="col-"] {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .p-2 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Hero */
@media (max-width: 575.98px) {
  .hero-ccmm {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .hero-content {
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero-ccmm .hero-eyebrow,
  .hero-ccmm .hero-title,
  .hero-ccmm .hero-text,
  .hero-actions {
    max-width: 100% !important;
  }

  .hero-ccmm .hero-title {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .btn-main,
  .btn-ghost {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* Nav móvil: que baje, no que empuje el ancho */
@media (max-width: 991.98px) {
  .site-header,
  .nav-shell,
  .navbar {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .navbar {
    flex-wrap: wrap !important;
  }

  .navbar-collapse {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    overflow: visible !important;
  }

  .navbar-nav {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .nav-side,
  .nav-side.left,
  .nav-side.right {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .nav-link {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

/* Slider de auspiciantes */
@media (max-width: 767.98px) {
  .sponsors-flow-section,
  .sponsors-flow {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .sponsors-flow-track {
    max-width: none !important;
  }
}

/* Grids que pueden empujar */
@media (max-width: 767.98px) {
  .judges-showcase-layout,
  .judges-showcase-cards,
  .categorias-visual-grid,
  .competition-compact-grid,
  .participant-timeline-wrap,
  .showcase-grid,
  .awards-grid,
  .packages-grid,
  .semana-hero,
  .semana-info-grid,
  .semana-agenda-grid,
  .semana-gastro-panel,
  .register-overview,
  .register-layout,
  .rules-overview,
  .rules-layout {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
}
