
:root{

  /* ===============================
     PRINCIPALES
  =============================== */

  --principal-a:#132F5C;
  --principal-b:#23478D;


  /* ===============================
     SECUNDARIOS
  =============================== */

  --secundario-a:#F4B52D;
  --secundario-b:#FFD45A;


  /* ===============================
     TERCIARIOS
  =============================== */

  --terciario-a:#F05A49;
  --terciario-b:#2E7D5A;


  /* ===============================
     NEUTROS
  =============================== */

  --fondo:#F7EDD8;
  --fondo-soft:#FFF2C9;

  --surface:#FFFAF0;
  --surface-2:#FFFFFF;

  --text:var(--principal-a);
  --muted:#6A5D49;

  --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);

}

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

.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:#fff !important;
}

.btn-main{
  color:#fff;
  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);
  border:1px solid var(--line);
  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:#fff;
}

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

.footer-shell{
  background:var(--principal-a);
  color:#fff;
}

.socials a,
.footer-nav 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:#fff !important;
  box-shadow:0 10px 24px rgba(242,90,75,.28);
}

.btn-main{
  color:#fff;
  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: #0a2247;
      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:.35rem .2rem;
    }

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

    .mobile-brand-badge{
      width:42px;
      height:42px;
      border-radius:10px;
      background:linear-gradient(180deg, var(--secundario-a), var(--secundario-b));
      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:#fff;
      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:#fff;
      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:#fff9ec;
      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:#fff9ec;
      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:#fff;
      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:#fff;
      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;}





/* 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:#fffaf0ed;
  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:#132f5c;
  opacity:.075;
  pointer-events:none;
}

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

.stat-number{
  display:block;
  font-size:3.1rem;
  line-height:.95;
  font-weight:900;
  color:#132f5c;
}

.stat-card-min p{
  margin:8px 0 0;
  font-size:.9rem;
  font-weight:800;
  color:#706555;
  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, #fffefb, #fff7e9);
      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), #ffd85d);
      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:#fff;
      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:#fff9ed;
      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:#fff;
      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:#fff;
      border-color:var(--principal-b);
    }

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

    .judge-mini{
      border-radius:20px;
      background:#fff;
      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:#fff;
      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), #fff);
    }

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

    .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:#fff;
      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;
      border-radius:18px;
      border:2px dashed rgba(36,79,152,.18);
      background:linear-gradient(180deg, #fffdf8, #fff7eb);
      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:#fff;
      border-style:solid;
      color:var(--terciario-a);
      box-shadow:var(--shadow);
    }

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

    .footer-shell{
      padding:34px;
      border-radius:30px;
      background:linear-gradient(180deg, var(--principal-a), #0a2247);
      color:#fff;
      box-shadow:0 28px 50px rgba(11,22,34,.22);
      position:relative;
      overflow:hidden;
    }

    .footer-shell::before{
      content:"";
      position:absolute;
      top:0;
      left:0;
      right:0;
      height:10px;
    }

    .footer-title{
      font-size:1.3rem;
      font-weight:700;
      margin-bottom:14px;
      font-family:'Oswald',sans-serif;
      text-transform:uppercase;
    }

    .footer-copy{
      color:rgba(255,255,255,.74);
      line-height:1.8;
      font-size:.95rem;
      margin-bottom:0;
    }

    .footer-nav{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:20px;
    }

    .footer-nav a{
      color:#fff;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.08);
      padding:10px 14px;
      border-radius:12px;
      font-size:.82rem;
      font-weight:600;
      transition:.25s ease;
      font-family:'Oswald',sans-serif;
      text-transform:uppercase;
    }

    .footer-nav a:hover{
      background:rgba(255,255,255,.14);
    }

    .footer-bottom{
      margin-top:24px;
      padding-top:20px;
      border-top:1px solid rgba(255,255,255,.09);
      color:rgba(255,255,255,.58);
      font-size:.86rem;
    }

    .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:#fff;
      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:#fff;
      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:#fff;
      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), #ffd756);
      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:#fff;
      box-shadow:none;
      border:1px solid rgba(36,79,152,.08) !important;
      margin-bottom:14px;
    }

    .faq-card .card-header{
      background:#fff;
      border:none;
      padding:0;
    }

    .faq-btn{
      width:100%;
      text-align:left;
      padding:20px 24px;
      border:none;
      background:#fff;
      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:18px;
        min-height:auto;
        padding:10px 12px;
      }
      .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,
      .footer-shell,
      .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;
  background:var(--fondo);
}

.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;
}

.judges-years{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:28px;
}

.judge-year-btn{
  border:1px solid var(--line);
  background:var(--surface-2);
  color:var(--principal-a);
  border-radius:999px;
  padding:10px 17px;
  font-size:.82rem;
  font-weight:800;
  cursor:pointer;
  transition:.25s ease;
}

.judge-year-btn.active,
.judge-year-btn:hover{
  background:var(--principal-a);
  color:#fff;
}

.judges-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}

.judges-meta strong{
  font-size:2rem;
  font-weight:800;
  color:var(--principal-a);
  font-family:'Oswald',sans-serif;
}

.judges-meta span{
  color:var(--muted);
  font-weight:700;
  font-size:.9rem;
}

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

.judge-card{
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  transition:.25s ease;
}

.judge-card:hover{
  transform:translateY(-4px);
}

.judge-photo{
  aspect-ratio:1/1;
  background:var(--surface);
  overflow:hidden;
}

.judge-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.judge-info{
  padding:18px;
}

.judge-info span{
  display:block;
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.2px;
  color:var(--terciario-a);
  margin-bottom:7px;
}

.judge-info h3{
  font-size:1.05rem;
  font-weight:800;
  color:var(--principal-a);
  margin-bottom:5px;
}

.judge-info p{
  margin:0;
  color:var(--muted);
  font-size:.85rem;
}

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

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

@media(max-width:767px){
  .judges-head{
    text-align:left;
  }

  .judges-years{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:8px;
  }

  .judge-year-btn{
    flex:0 0 auto;
  }

  .judges-meta{
    align-items:flex-start;
    flex-direction:column;
  }

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

  .judge-info{
    padding:14px;
  }

  .judges-section{
    background:var(--fondo);
  width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    margin-top:50px
  }
}

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


/* 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:#fff;
  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);
}

.container-fluid{
   width: 100%;
    padding-left: 32px;
    padding-right: 32px;
    margin-top:20px
}

@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;
  }
  .container-fluid{
    background:var(--fondo);
  width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    margin-top:50px
  }
}

/* FIN REGLAMENTO */




/* GANADORES */

.winners-section{
  padding-top:60px;
  background:var(--fondo);
}

.winners-years{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:32px;
}

.winner-year-btn{
  border:1px solid var(--line);
  background:var(--surface-2);
  color:var(--principal-a);
  border-radius:999px;
  padding:10px 18px;
  font-size:.82rem;
  font-weight:800;
  cursor:pointer;
  transition:.25s ease;
}

.winner-year-btn.active,
.winner-year-btn:hover{
  background:var(--principal-a);
  color:#fff;
}

.winner-year-btn.current{
  border-color:var(--terciario-a);
}

.winners-current{
  margin:0 auto 28px;
  padding:28px 32px;
  border-radius:28px;
  background:var(--surface-2);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
}

.winners-current span{
  display:block;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.4px;
  color:var(--terciario-a);
  margin-bottom:8px;
}

.winners-current strong{
  display:block;
  font-family:'Oswald',sans-serif;
  font-size:3rem;
  line-height:1;
  color:var(--principal-a);
}

.winners-current p{
  margin:0;
  color:var(--muted);
  font-weight:700;
}

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

.award-card{
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
  box-shadow:var(--shadow-soft);
  transition:.25s ease;
}

.award-card{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:22px;
  align-items:center;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
  box-shadow:var(--shadow-soft);
  transition:.25s ease;
}

.award-card:hover{
  transform:translateY(-4px);
}

.award-logo{
  width:86px;
  height:86px;
  border-radius:22px;
  background:var(--surface);
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:12px;
}

.award-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.award-content span{
  display:block;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.2px;
  color:var(--muted);
  margin-bottom:8px;
}

.award-content h3{
  font-size:1.35rem;
  font-weight:800;
  color:var(--principal-a);
  margin-bottom:8px;
}

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

.award-card.featured{
  border-color:rgba(240,90,73,.35);
}

.award-card.featured .award-logo{
  border-color:rgba(240,90,73,.35);
}

@media(max-width:575px){
  .award-card{
    grid-template-columns:70px 1fr;
    gap:16px;
    padding:18px;
    border-radius:20px;
  }

  .award-logo{
    width:70px;
    height:70px;
    border-radius:18px;
    padding:10px;
  }

  .award-content h3{
    font-size:1.1rem;
  }

  .award-content span{
    font-size:.66rem;
  }
}

@media(max-width:767px){
  .winners-years{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:8px;
  }

  .winner-year-btn{
    flex:0 0 auto;
  }

  .winners-current{
    flex-direction:column;
    align-items:flex-start;
    padding:24px;
  }

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

  .winners-current strong{
    font-size:2.4rem;
  }
}
/* 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:focus,
.rule-toggle:active{
  outline:none;
  box-shadow:none;
}

.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:#fff;
  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-diamond{
  border-color:rgba(35,71,141,.28);
}

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

.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:#fff;
  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:#fff;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.8px;
  font-size:.78rem;
  transition:.25s ease;
}

.package-link:hover{
  color:#fff;
  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;
}

.style-card{
  min-height:245px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:26px;
  padding:26px;
  box-shadow:var(--shadow-soft);
  transition:.25s ease;
}

.style-card:hover{
  transform:translateY(-4px);
}

.style-icon{
  width:54px;
  height:54px;
  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.25rem;
  margin-bottom:20px;
}

.style-card span{
  display:block;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.3px;
  color:var(--muted);
  margin-bottom:8px;
}

.style-card h3{
  font-size:1.35rem;
  line-height:1.05;
  font-weight:800;
  color:var(--principal-a);
  margin-bottom:12px;
}

.style-card p{
  color:var(--muted);
  line-height:1.65;
  font-size:.92rem;
  margin:0;
}

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

.featured-style .style-icon{
  background:var(--terciario-a);
  color:#fff;
}

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

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

  .styles-intro{
    padding:26px;
    border-radius:24px;
  }

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

  .style-card{
    min-height:auto;
    padding:22px;
  }
}

/* FIN ESTILOS */

/* SEMANA CERVCERA */

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

.beer-route-hero{
  max-width:1180px;
  margin:0 auto 28px;
  display:grid;
  grid-template-columns:1fr 300px;
  gap:22px;
}

.beer-route-copy,
.beer-glass-card{
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:30px;
  padding:36px;
}

.beer-route-copy span,
.beer-route-card span{
  display:block;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.4px;
  color:var(--terciario-a);
  margin-bottom:12px;
}

.beer-route-copy h2{
  max-width:760px;
  font-size:clamp(2rem,4vw,3.6rem);
  line-height:1;
  color:var(--principal-a);
  margin-bottom:16px;
}

.beer-route-copy p{
  color:var(--muted);
  line-height:1.8;
  margin:0;
}

.beer-glass-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}

.beer-glass-card i{
  font-size:3.2rem;
  color:var(--secundario-a);
  margin-bottom:18px;
}

.beer-glass-card strong{
  font-size:4rem;
  line-height:1;
  color:var(--principal-a);
  font-family:'Oswald',sans-serif;
}

.beer-glass-card span{
  color:var(--muted);
  font-weight:800;
  text-transform:uppercase;
  font-size:.8rem;
}

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

.beer-route-card{
  min-height:260px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:28px;
  padding:28px;
  box-shadow:var(--shadow-soft);
}

.big-card{
  grid-column:span 2;
}

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

.beer-route-card h3{
  font-size:1.7rem;
  color:var(--principal-a);
  margin-bottom:12px;
}

.beer-route-card p{
  color:var(--muted);
  line-height:1.75;
  margin:0;
}

.dark-card{
  background:var(--principal-a);
}

.dark-card h3,
.dark-card p{
  color:#fff;
}

.dark-card span{
  color:var(--secundario-b);
}

.dark-card .beer-card-icon{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.18);
  color:var(--secundario-b);
}

.beer-days-strip{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:10px;
}

.beer-days-strip div{
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 12px;
  text-align:center;
}

.beer-days-strip strong{
  display:block;
  color:var(--principal-a);
  font-family:'Oswald',sans-serif;
  margin-bottom:4px;
}

.beer-days-strip span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
}

@media(max-width:991px){
  .beer-route-hero,
  .beer-route-grid{
    grid-template-columns:1fr;
  }

  .big-card{
    grid-column:auto;
  }

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

@media(max-width:575px){
  .beer-route-copy,
  .beer-glass-card,
  .beer-route-card{
    padding:24px;
    border-radius:24px;
  }

  .beer-days-strip{
    grid-template-columns:1fr;
  }

  .beer-glass-card strong{
    font-size:3rem;
  }
}

/* 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:#fff;
  border-radius:16px;
  padding:14px 18px;
  font-weight:900;
  text-transform:uppercase;
  font-size:.78rem;
}

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

.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:#fff;
  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 */