:root{--blue:#001e62;--gold:#f3c45c;--purple:#8b8bd0;--ink:#142854;--paper:#f5f6fa;--line:#d8deeb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font:16px/1.65 Verdana,Arial,sans-serif;color:var(--ink);background:white}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #997011;outline-offset:5px}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.topbar{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{text-decoration:none;font-size:27px;line-height:1;font-weight:bold;letter-spacing:-1.5px}.wordmark span{display:block;font-size:13px;text-align:right;letter-spacing:.2px;margin-top:6px}.topbar nav{display:flex;gap:34px}.topbar nav a{text-decoration:none;font-size:14px}.topbar nav a:hover{text-decoration:underline}.anniversary,.eyebrow{font-size:12px;font-weight:bold;letter-spacing:2px}.anniversary{border:1px solid var(--line);border-radius:30px;padding:9px 15px}.hero{background:var(--blue);color:white}.banner{display:block;width:80%;height:auto;margin-left: auto;margin-right: auto}.hero-body{display:grid;grid-template-columns:1.5fr 1fr;gap:90px;padding-top:35px;padding-bottom:80px}.eyebrow{margin:0 0 22px}.gold{color:var(--gold)}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(36px,4.1vw,60px);line-height:1.15;letter-spacing:-2.6px;margin:0 0 5px}em{font-style:normal;color:var(--gold)}.intro{max-width:560px;color:#e0e7f7;margin:0 0 30px}.button{display:inline-flex;justify-content:center;align-items:center;border:0;padding:15px 24px;border-radius:5px;font-weight:bold;text-decoration:none;font-size:14px;cursor:pointer;min-height:50px}.gold-button{background:var(--gold);color:var(--blue)}.gold-button:hover{background:#ffda84}.countdown-panel{align-self:center;border-left:1px solid #ffffff45;padding:20px 0 20px 55px}.countdown-panel .eyebrow{font-size:11px;letter-spacing:1.5px;color:#d2dbef}.countdown strong{font-size:clamp(80px,9vw,132px);line-height:1;font-weight:normal;letter-spacing:-7px;color:var(--gold);display:block}.countdown span{display:block;font-size:18px;margin-top:14px}.countdown-date{font-size:24px;letter-spacing:3px;margin:30px 0 12px}.countdown-date span{color:var(--purple)}#countdown-note{font-size:18px;color:#fff}.ribbon{display:flex;justify-content:center;gap:35px;background:var(--gold);color:var(--blue);padding:20px;font-size:14px;font-weight:bold}.section{padding-block:95px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;margin-bottom:45px}.section-heading h2{font-size:36px;line-height:1.25;letter-spacing:-1.5px;margin:0}.section-heading h2 span{font-weight:normal}.section-heading>p{max-width:430px;align-self:end;margin:0;color:#52617e}.feature{background:var(--paper);border-top:4px solid var(--purple);padding:36px 40px;display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:28px}.feature .eyebrow{font-size:11px;letter-spacing:1.4px;margin-bottom:12px}.feature h3{font-size:28px;line-height:1.3;margin:0 0 10px;letter-spacing:-1px}.feature p{margin:0;max-width:700px}.feature .button{flex-shrink:0}.feature-date{white-space:nowrap;font-size:24px;font-weight:bold;border-left:1px solid var(--line);padding-left:30px}.challenge-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.card{padding:23px 19px;border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;min-height:270px}.card.active{background:var(--blue);color:white;border-color:var(--blue)}.card-number{font-size:35px;line-height:1;color:var(--purple);margin-bottom:25px}.card.active .card-number{color:var(--gold)}.card time{font-size:13px;font-weight:bold}.card h3{font-size:17px;line-height:1.4;margin:12px 0 20px}.card small{font-size:12px;color:#58657d;margin-top:auto}.card button{padding:0;text-align:left;background:none;border:0;text-decoration:underline;text-underline-offset:5px;cursor:pointer;color:var(--blue);font-size:14px;margin-top:auto}.card.active button{color:var(--gold)}.schedule-note{font-size:13px;color:#58657d;margin:24px 0 0}.celebration{background:var(--blue);color:white}.celebration-inner{padding-block:76px;display:grid;grid-template-columns:1fr 1.4fr;gap:95px;align-items:center}.date-block{text-align:center;border:1px solid #ffffff45;border-radius:180px 180px 8px 8px;padding:55px 25px 35px;color:var(--gold)}.date-block span{display:block;font-size:14px;letter-spacing:4px}.date-block strong{font-weight:normal;font-size:150px;line-height:1.4;letter-spacing:-10px}.celebration h2{font-size:42px;line-height:1.2;letter-spacing:-1.5px;margin:0 0 24px}.celebration p:not(.eyebrow){color:#dee5f4}.light-button{background:white;color:var(--blue);margin-top:15px}.closing{text-align:center;padding-block:85px}.closing>p{color:#596783}.closing h2{font-size:44px;line-height:1.2;letter-spacing:-2px;margin:24px 0 30px}.closing em{color:var(--blue);font-weight:normal}.closing>span{font-size:11px;letter-spacing:2px}.footer{border-top:1px solid var(--line);padding-block:24px;display:flex;justify-content:space-between;font-size:12px}.skip{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}[hidden]{display:none!important}@media(min-width:1600px){.banner{max-height:400px;object-fit:contain}}@media(max-width:1000px){.hero-body{gap:35px}.countdown-panel{padding-left:30px}.challenge-grid{grid-template-columns:repeat(3,1fr)}.celebration-inner{gap:45px}.section-heading{gap:30px}.ribbon{gap:20px;font-size:12px}}@media(max-width:650px){.wrap{width:calc(100% - 40px)}.topbar{min-height:80px;gap:18px}.topbar nav{gap:16px}.topbar nav a{font-size:12px}.anniversary{display:none}.wordmark{font-size:23px}.hero-body{display:block;padding-top:32px;padding-bottom:40px}h1{font-size:39px;letter-spacing:-1.8px}.intro{font-size:15px}.countdown-panel{border-left:0;border-top:1px solid #ffffff45;padding:28px 0 0;margin-top:40px}.countdown-panel .eyebrow{margin-bottom:16px}.countdown{display:flex;align-items:baseline;gap:20px}.countdown strong{font-size:84px;letter-spacing:-4px}.countdown span{font-size:15px}.countdown-date{margin:15px 0;font-size:20px}#countdown-note{display:none}.ribbon{flex-wrap:wrap;gap:8px 16px;padding:18px 20px}.ribbon span:last-child{display:none}.section{padding-block:55px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:29px;letter-spacing:-1px}.section-heading>p{margin-top:20px;font-size:15px}.eyebrow{font-size:10px;letter-spacing:1.5px}.feature{display:block;padding:25px}.feature h3{font-size:24px}.feature p{font-size:14px}.feature .button{margin-top:20px}.feature-date{border:0;padding:15px 0 0;font-size:20px}.challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{padding:20px 15px;min-height:245px}.card:last-child{grid-column:1/-1;min-height:200px}.card h3{font-size:16px}.celebration-inner{grid-template-columns:1fr;padding-block:50px;gap:35px}.date-block{max-width:240px;width:100%;margin:auto;padding:30px 20px 25px}.date-block strong{font-size:115px;line-height:1.3}.celebration h2{font-size:35px}.closing{padding-block:50px}.closing h2{font-size:33px;letter-spacing:-1px}.footer{gap:20px;font-size:11px}dialog{padding:24px}dialog h2{font-size:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Solapas visibles y accionables desde el primer día. */
.challenge-grid{align-items:start}
.card{display:block;padding:0;min-height:0;overflow:hidden;border:1px solid var(--blue);border-radius:5px;background:var(--blue)}
.flap-cover{display:flex;flex-direction:column;position:relative;padding:26px 19px;min-height:285px;list-style:none;background:var(--blue);color:white;cursor:pointer;isolation:isolate}
.flap-cover::-webkit-details-marker{display:none}
.flap-cover::after{content:"";position:absolute;right:0;top:0;width:94px;height:94px;background:url('solapa.svg') center/contain no-repeat;pointer-events:none;transform-origin:top right;transition:transform .25s ease;z-index:-1}
.flap-cover:hover::after{transform:scale(1.1)}
.flap[open] .flap-cover::after{transform:scale(1.22)}
.flap-cover:focus-visible{outline:3px solid var(--gold);outline-offset:-5px}
.flap-cover .card-number{color:var(--gold);font-size:35px;margin:0 0 35px;max-width:50%}
.flap-cover h3{font-size:17px;line-height:1.4;margin:12px 0 22px}
.flap-hint{font-size:13px;color:var(--gold);text-decoration:underline;text-underline-offset:5px;margin-top:auto}
.flap-hide{display:none}.flap[open] .flap-show{display:none}.flap[open] .flap-hide{display:block}
.flap[open] summary{border-bottom:1px solid #ffffff50}
.flap-content{padding:22px 18px;background:var(--paper);color:var(--ink);font-size:13px}
.flap-content h3{font-size:18px;line-height:1.4;margin:0 0 14px}
.flap-content p{margin:0 0 14px}.flap-content p:last-child{margin-bottom:0}
.flap-content ol{padding-left:18px}.flap-content li{margin-bottom:12px}
.flap-content .button{font-size:12px;padding:12px;width:100%;overflow-wrap:anywhere}
@media(max-width:650px){.flap-cover{min-height:270px;padding:24px 15px}.flap-cover::after{width:82px;height:82px}.card:last-child .flap-cover{min-height:240px}}
@media(prefers-reduced-motion:reduce){.flap-cover::after{transition:none}}

/* Aviso visible también en móvil: no forma parte de la nota que se oculta. */
.event-hint{border-top:1px solid #ffffff45;margin-top:24px;padding-top:24px;max-width:580px}
.event-hint h2{font-size:24px;line-height:1.3;letter-spacing:-.6px;color:var(--gold);margin:0 0 14px}
.event-hint p{font-size:14px;line-height:1.7;color:#e0e7f7;margin:0 0 12px}
.event-hint p:last-child{margin-bottom:0}.event-hint strong{font-weight:bold;color:white}
@media(max-width:650px){.event-hint{max-width:none;margin-top:20px;padding-top:20px}.event-hint h2{font-size:23px}}



/* Cabecera: logo y navegación */
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding-block: 18px;
}

.topbar .wordmark {
  flex: 0 0 160px;
  display: block;
}

.topbar .wordmark img {
  display: block;
  width: 100%;
  height: auto;
}

.topbar nav {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 32px;
}

.topbar nav a {
  color: #001E62;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
  text-decoration: none;
  padding: 10px 0;
  border-bottom: 3px solid transparent;
  transition: border-color 0.2s ease;
}

.topbar nav a:hover,
.topbar nav a:focus-visible {
  border-bottom-color: #f3c45c;
  text-decoration: none;
}

/* Móvil: logo arriba y menú debajo */
@media (max-width: 650px) {
  .topbar {
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }

  .topbar .wordmark {
    flex: 0 0 140px;
  }

  .topbar nav {
    flex: 0 0 100%;
    justify-content: center;
    gap: 26px;
  }

  .topbar nav a {
    font-size: 16px;
  }
}

/* Inscripción y mensaje GoDigital */
.event-hint.registration-hint {
  max-width: 580px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.registration-hint .godigital-tag {
  display: inline-block;
  margin-bottom: 16px;
  padding: 5px 14px;
  border-radius: 20px;
  background: #f3c45c;
  color: #001E62;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
}

.registration-hint h2 {
  margin: 0 0 16px;
  color: #f3c45c;
  font-size: 25px;
  line-height: 1.3;
  letter-spacing: -0.5px;
}

.registration-hint p {
  margin: 0 0 16px;
  color: #e0e7f7;
  font-size: 14px;
  line-height: 1.7;
}

.registration-hint .registration-button {
  width: 100%;
  margin: 4px 0 20px;
}

.registration-hint .registration-notice {
  margin: 0;
  padding: 14px 16px;
  border-left: 3px solid #f3c45c;
  border-radius: 0 5px 5px 0;
  background: rgba(255, 255, 255, 0.07);
  color: #ffffff;
  font-size: 13px;
  line-height: 1.65;
}

.registration-hint .registration-notice strong {
  display: block;
  margin-bottom: 6px;
  color: #f3c45c;
}

@media (max-width: 650px) {
  .event-hint.registration-hint {
    max-width: none;
  }

  .registration-hint h2 {
    font-size: 23px;
  }
}


.aviso-anfitriona {
  /* Ajusta estos valores a la posición de la ventana del avatar */
  --distancia-derecha: 20px;
  --altura-sobre-avatar: 290px;

  position: fixed;
  right: var(--distancia-derecha);
  bottom: var(--altura-sobre-avatar);
  z-index: 9999;

  width: 230px;
  max-width: calc(100vw - 32px);
  box-sizing: border-box;
  padding: 14px 16px;

  background: #001e62;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 14px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);

  font-family: Verdana, sans-serif;
  text-align: left;

  /* Permite pulsar cualquier control que quede detrás */
  pointer-events: none;
}

.aviso-anfitriona strong {
  display: block;
  margin-bottom: 6px;
  color: #f6c85f;
  font-size: 16px;
}

.aviso-anfitriona span {
  display: block;
  font-size: 13px;
  line-height: 1.5;
}

/* Pequeña flecha que señala hacia el avatar */
.aviso-anfitriona::after {
  content: "";
  position: absolute;
  right: 30px;
  bottom: -8px;
  width: 14px;
  height: 14px;
  background: #001e62;
  transform: rotate(45deg);
}

@media (max-width: 600px) {
  .aviso-anfitriona {
    --distancia-derecha: 12px;
    --altura-sobre-avatar: 290px;

    width: 205px;
    padding: 11px 13px;
  }

  .aviso-anfitriona strong {
    font-size: 14px;
  }

  .aviso-anfitriona span {
    font-size: 12px;
  }
}

/* Deja espacio para la equis */
.aviso-anfitriona {
  padding-right: 42px;
}

/* Botón de cierre */
.cerrar-aviso-anfitriona {
  position: absolute;
  top: 6px;
  right: 6px;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;

  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;

  /* Permite pulsarlo aunque el bocadillo tenga pointer-events: none */
  pointer-events: auto;
}

.cerrar-aviso-anfitriona:hover {
  background: rgba(255, 255, 255, 0.3);
}

.cerrar-aviso-anfitriona:focus-visible {
  outline: 2px solid #f6c85f;
  outline-offset: 2px;
}