:root{
    --night:#0d5449;
    --night-2:#05211d;
    --night-3:#116e5f;
    --gold:#F0A94E;
    --coral:#E15B44;
    --paper:#F2ECDD;
    --ink:#062924;
    --cream:#F6F1E4;
    --muted:#8FA6B6;
    --line:rgba(246,241,228,0.14);
    --maxw:1120px;
  }

@import url('https://fonts.googleapis.com/css2?family=Oswald&display=swap');
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--night);
    color:var(--cream);
    font-family:'Oswald',sans-serif;
    font-size:16px;
    line-height:1.55;
  }
  h1,h2,h3,.display{
    font-family:'Big Shoulders Display',sans-serif;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:0.01em;
    line-height:0.95;
    margin:0;
  }
  a{color:inherit;}
  img{max-width:100%;max-height:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  section{padding:88px 0;}
  .section-alt{background:var(--night-2);}

  h2.section-title{
    font-size:clamp(2.1rem,4.4vw,3.2rem);
    color:var(--gold);
    margin-bottom:8px;
  }
  .section-sub{
    color:var(--muted);
    font-size:1.05rem;
    max-width:56ch;
    margin-bottom:44px;
  }

  /* Header */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(13,34,23,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    max-width:var(--maxw);margin:0 auto;padding:16px 28px;
    display:flex;align-items:center;justify-content:space-between;
  }
  .brand{
    display:flex;align-items:center;
    text-decoration:none;
  }
  .brand img{height:52px;width:auto;display:block;}
  nav.links{display:flex;gap:32px;list-style:none;margin:0;padding:0;}
  nav.links a{
    text-decoration:none;color:var(--cream);
    font-size:0.95rem;font-weight:500;
    padding-bottom:4px;border-bottom:2px solid transparent;
    transition:border-color .2s ease, color .2s ease;
  }
  nav.links a:hover{border-color:var(--gold);color:var(--gold);}
  .nav-toggle{display:none;}
  .burger{display:none;background:none;border:none;color:var(--cream);font-size:1.6rem;cursor:pointer;}

  @media (max-width:760px){
    nav.links{
      position:absolute;top:100%;left:0;right:0;
      flex-direction:column;gap:0;
      background:var(--night-2);
      max-height:0;overflow:hidden;
      transition:max-height .3s ease;
      border-bottom:1px solid var(--line);
    }
    nav.links a{display:block;padding:16px 28px;border-bottom:1px solid var(--line);}
    .nav-toggle:checked ~ nav.links{max-height:260px;}
    .burger{display:block;}
  }

  /* Hero */
  .hero{
    position:relative;overflow:hidden;
    padding:110px 0 70px;
    border-bottom:1px solid var(--line);
  }
  .hero-court{
    position:absolute;right:-120px;top:-80px;
    width:520px;height:520px;
    opacity:0.55;pointer-events:none;
  }
  .hero-grid{
    display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;
    position:relative;z-index:1;
  }
  .edition{
    font-size:clamp(5.5rem,14vw,9.5rem);
    color:var(--gold);
    letter-spacing:-0.01em;
    animation:rise .7s ease both;
  }
  @keyframes rise{
    from{opacity:0;transform:translateY(18px);}
    to{opacity:1;transform:translateY(0);}
  }
  
  @media (prefers-reduced-motion:reduce){
    .edition{animation:none;}
  }
  .hero h1{
    font-size:clamp(1.9rem,4.4vw,3rem);
    color:var(--cream);
    margin-top:6px;
    max-width:14ch;
  }
  .hero-dates{
    margin-top:26px;
    font-size:1.15rem;
    color:var(--gold);
    font-weight:600;
  }
    .hero-categoria{
    margin-top:26px;
    font-size:1.5rem;
    color:var(--paper);
    font-weight:600;
  }
  .hero-place{color:var(--muted);margin-top:6px;}
  .hero-side{
    border-left:1px solid var(--line);
    padding-left:32px;
  }
  .hero-side p{color:var(--muted);margin:0 0 20px;}
  .btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;}
  .btn{
    display:inline-block;padding:14px 26px;
    font-weight:600;font-size:0.98rem;
    text-decoration:none;border-radius:2px;
    transition:transform .15s ease, background .15s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--gold);color:var(--night);}
  .btn-primary:hover{background:#f6ba6e;}
  .btn-ghost{border:1px solid var(--line);color:var(--cream);}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
  
  .btn-largo{background:var(--gold);color:var(--night);margin:0;
  display: flex;
  justify-content: center; /* Centra horizontalmente */
  align-items: center;     /* Centra verticalmente */
}

  .btn-largo:hover{background:#f6ba6e;}
  /* Stat strip */
  .stats{
    display:grid;grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);
  }
  .stat{
    padding:32px 28px;border-right:1px solid var(--line);
    text-align:left;
  }
  .stat:last-child{border-right:none;}
  .stat .num{
    font-family:'Big Shoulders Display',sans-serif;
    font-weight:900;font-size:2.6rem;color:var(--gold);
    display:block;line-height:1;
  }
  .stat .label{color:var(--muted);font-size:0.92rem;margin-top:6px;}
  @media (max-width:700px){
    .stats{grid-template-columns:1fr;}
    .stat{border-right:none;border-bottom:1px solid var(--line);}
    .hero-grid{grid-template-columns:1fr;}
    .hero-side{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:28px;margin-top:10px;}
  }

  /* Info importante */
  .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
  @media (max-width:760px){.info-grid{grid-template-columns:1fr;}}
  .info-block h3{
    font-family:'Work Sans',sans-serif;text-transform:none;
    font-weight:700;font-size:1.15rem;color:var(--gold);
    margin-bottom:14px;
  }
  .info-block ul{margin:0;padding-left:20px;color:var(--muted);}
  .info-block li{margin-bottom:10px;}
  .info-block li b{color:var(--cream);}
  .callout{
    margin-top:28px;padding:18px 20px;
    background:rgba(225,91,68,0.12);
    border-left:3px solid var(--coral);
    color:var(--cream);font-size:0.95rem;
  }

  /* Categorías: age progression */
  .cat-track{
    display:flex;flex-wrap:wrap;gap:0;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .cat-step{
    flex:1 1 100px;text-align:center;padding:22px 8px;
    border-right:1px solid var(--line);
  }
  .cat-step:last-child{border-right:none;}
  .cat-step .age{
    font-family:'Big Shoulders Display',sans-serif;font-weight:700;
    font-size:1.5rem;color:var(--cream);
  }
  .cat-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:36px;}
  @media (max-width:700px){.cat-cols{grid-template-columns:1fr;}}
  .cat-col h3{
    font-family:'Work Sans',sans-serif;text-transform:none;
    font-weight:700;color:var(--gold);font-size:1.05rem;margin-bottom:8px;
  }
  .cat-col p{color:var(--muted);font-size:0.92rem;margin:0;}
  .cat-note{color:var(--muted);margin-top:30px;font-size:0.92rem;max-width:70ch;}

  /* Costos */
  .price-table{width:100%;border-collapse:collapse;margin-bottom:36px;}
  .price-table th,.price-table td{
    text-align:left;padding:16px 14px;border-bottom:1px solid var(--line);
  }
  .price-table th{color:var(--muted);font-weight:500;font-size:0.88rem;}
  .price-table td{font-size:1rem;}
  .price-table td.amount{font-weight:600;color:var(--gold);font-family:'Big Shoulders Display',sans-serif;font-size:1.3rem;}
  .bank-card{
    background:var(--night-3);padding:26px 28px;
    border-left:3px solid var(--gold);
  }
  .bank-card h3{
    font-family:'Work Sans',sans-serif;text-transform:none;font-weight:700;
    color:var(--cream);font-size:1.05rem;margin-bottom:14px;
  }
  .bank-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:0.94rem;color:var(--muted);}
  .bank-row b{color:var(--cream);font-weight:500;}
  .bank-row:last-child{border-bottom:none;}

  /* Incluye */
  .includes{
    display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
    background:var(--line);
  }
  @media (max-width:760px){.includes{grid-template-columns:1fr 1fr;}}
  @media (max-width:480px){.includes{grid-template-columns:1fr;}}
  .include-item{
    background:var(--night);padding:26px 22px;
  }
  .include-item .mark{color:var(--gold);font-size:1.1rem;font-weight:700;}
  .include-item p{margin:8px 0 0;font-size:0.92rem;color:var(--muted);}

  /* Fiestas - momento cálido */
  .fiestas{
    background:linear-gradient(135deg,#5A2A22 0%,#8A3C24 45%,#B4642F 100%);
    color:var(--cream);
  }
  .fiestas h2.section-title{color:var(--cream);}
  .fiestas .section-sub{color:rgba(246,241,228,0.75);}
  .party-list{display:flex;flex-direction:column;}
  .party{
    display:grid;grid-template-columns:140px 1fr;gap:24px;
    padding:22px 0;border-bottom:1px solid rgba(246,241,228,0.22);
  }
  .party:last-child{border-bottom:none;}
  .party .day{font-family:'Big Shoulders Display',sans-serif;font-weight:700;font-size:1.3rem;}
  .party .name{font-weight:600;font-size:1.05rem;}
  .party .place{color:rgba(246,241,228,0.75);font-size:0.9rem;margin-top:4px;}
  @media (max-width:600px){.party{grid-template-columns:1fr;gap:4px;}}

  /* Alojamiento */
  .hotels{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px;}
  @media (max-width:760px){.hotels{grid-template-columns:1fr;}}
  .hotel-card{
    background:var(--night-2);padding:24px;border-top:3px solid var(--gold);
  }
  .hotel-card h3{
    font-family:'Work Sans',sans-serif;text-transform:none;font-weight:700;
    color:var(--cream);font-size:1.05rem;
  }
  .hotel-card p{color:var(--muted);font-size:0.88rem;margin-top:6px;}

  /* Documentación */
  .doc-steps{counter-reset:doc;}
  .doc-step{
    display:grid;grid-template-columns:44px 1fr;gap:18px;
    padding:18px 0;border-bottom:1px solid var(--line);
  }
  .doc-step:last-child{border-bottom:none;}
  .doc-step::before{
    counter-increment:doc;content:counter(doc);
    font-family:'Big Shoulders Display',sans-serif;font-weight:900;
    font-size:1.6rem;color:var(--gold);
  }
  .doc-step p{margin:0;color:var(--muted);font-size:0.95rem;}
  .doc-step p b{color:var(--cream);}

  /* Contacto */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:50px;}
  @media (max-width:700px){.contact-grid{grid-template-columns:1fr;}}
  .contact-card{background:var(--night-2);padding:28px;}
  .contact-card h3{
    font-family:'Work Sans',sans-serif;text-transform:none;font-weight:700;
    color:var(--gold);font-size:1rem;margin-bottom:8px;
  }
  .contact-card a{color:var(--cream);text-decoration:none;font-size:1.05rem;font-weight:600;}
  .contact-card a:hover{color:var(--gold);}
  .contact-card p{color:var(--muted);font-size:0.88rem;margin-top:8px;}

  /* Video y mapa */
  .media-frame{
    position:relative;width:100%;padding-bottom:56.25%;height:0;
    overflow:hidden;background:var(--night-2);border:1px solid var(--line);
  }
  .media-frame iframe{
    position:absolute;top:0;left:0;width:100%;height:100%;border:0;
  }
  .media-note{color:var(--muted);font-size:0.85rem;margin-top:14px;}

  /* Anunciantes */
  .sponsors-grid{
    display:grid;grid-template-columns:repeat(5,1fr);gap:2px;
    background:var(--line);
  }
  @media (max-width:760px){.sponsors-grid{grid-template-columns:repeat(2,1fr);}}
  .sponsor-item{
    background:var(--night);
    padding:5px;
    display:flex;align-items:center;justify-content:center;
    min-height:110px;
  }
  .sponsor-item img{
    max-height:150px;max-width:100%;width:auto;
    object-fit:contain;
    filter:grayscale(1) brightness(1.6) opacity(0.75);
    transition:filter .2s ease;
  }
  .sponsor-item img:hover{filter:none;}
  
    .imagen-item img{
    max-height:400px;max-width:100%;width:auto;
    object-fit:contain;
    filter:grayscale(1) brightness(1.6) opacity(0.75);
    transition:filter .2s ease;
    margin: 0 auto
  }
  .imagen-item img:hover{filter:none;}

  footer{
    border-top:1px solid var(--line);
    padding:32px 0;text-align:center;color:var(--muted);font-size:0.85rem;
  }
  footer strong{color:var(--cream);}

/* Multi-page: nav activa, paginación y footer sitemap */
nav.links a.active{color:var(--gold);border-color:var(--gold);}

.pager{
  border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;
  padding:28px var(--pad,0);
}
.wrap.pager{padding-top:28px;padding-bottom:28px;}
.pager a{
  text-decoration:none;color:var(--muted);font-size:0.92rem;
  display:flex;flex-direction:column;gap:2px;
}
.pager a:hover{color:var(--gold);}
.pager .pager-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted);}
.pager a:hover .pager-label{color:var(--gold);}
.pager .pager-next{text-align:right;align-items:flex-end;}

.sitemap{
  border-top:1px solid var(--line);
  padding:36px 0 8px;
}
.sitemap-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px 24px;
  margin-bottom:28px;
}
@media (max-width:700px){.sitemap-grid{grid-template-columns:repeat(2,1fr);}}
.sitemap-grid a{
  color:var(--muted);text-decoration:none;font-size:0.88rem;
}
.sitemap-grid a:hover{color:var(--gold);}
.footer-bottom{
  border-top:1px solid var(--line);
  padding-top:18px;text-align:center;color:var(--muted);font-size:0.85rem;
}
/* Cuenta regresiva */
.countdown{
  display:flex;gap:14px;margin:26px 0;flex-wrap:wrap;
}
.cd-box{
  background:var(--night-2);
  border:1px solid var(--line);
  border-top:2px solid var(--gold);
  padding:14px 16px;
  min-width:65px;
  text-align:center;
}
.cd-num{
  font-family:'Big Shoulders Display',sans-serif;
  font-weight:900;font-size:2.1rem;color:var(--gold);
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.cd-label{
  color:var(--muted);font-size:0.5rem;
  text-transform:uppercase;letter-spacing:0.05em;
  margin-top:4px;
}
.countdown.is-done{display:none;}
.cd-done-msg{
  display:none;
  color:var(--gold);font-weight:600;margin:26px 0;
}
.cd-done-msg.show{display:block;}
