@media (min-width: 769px) and (max-width: 1024px) {
  
  .hide-tb { display: none !important; }
  /* Variables */
  :root {
    --scale: 0.65;
    --scale-spacing: 0.5;
  }

  /* Layout */
  .col-2-tb { -ms-grid-columns: (minmax(0, 1fr))[2]; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .col-3-tb { -ms-grid-columns: (minmax(0, 1fr))[3]; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .col-span-2-tb { -ms-grid-column-span: 2; grid-column: span 2; }
  .overflow-tb { width: 90dvw; }
  .flex-tb { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .flex-col-tb { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-flow: column; flex-flow: column; }
  .flex-wrap-tb { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; }
  .justify-between-tb { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .justify-center-tb { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  .items-stretch-tb { -webkit-box-align: stretch ; -ms-flex-align: stretch ; align-items: stretch ;}

  /* Typography */
  .text-xl-tb { font-size: var(--font-xl); }

  /* Spacing */
  .p-m-tb { padding: var(--m); }
  .gap-tiny-tb { gap: var(--tiny); }
  .gap-xs-tb { gap: var(--xs); }
  .gap-s-tb { gap: var(--s); }
  .gap-m-tb { gap: var(--m); }
  .mt-none-tb { margin-top: 0; }
  .ml-neg-tb { margin-left: -10vw; }

  /* Header */
  .nav { height: 55px; }
  .header-icon { width: 1.15rem; }

  .nav-drawer, .drawer-submenu {
    display: none;
    left: 0;
    width: 100dvw;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    -webkit-transition: -webkit-transform var(--transition);
    transition: -webkit-transform var(--transition);
    transition: transform var(--transition);
    transition: transform var(--transition), -webkit-transform var(--transition);
    overflow: hidden;
  }

  .nav-drawer {
    -webkit-box-shadow: 0 10px 10px rgba(0,0,0,0.15);
            box-shadow: 0 10px 10px rgba(0,0,0,0.15);
    position: absolute;
    top: 55px;
    background: var(--color-green);
    padding: var(--m) 0 0;
    height: 95px;
  }
  
  .nav-drawer-menu {
    height: 55px;
    padding-left: var(--s);
    padding-right: var(--s);
    width: 100%;
  }
  
  .drawer-submenu {
    -webkit-box-shadow: inset 0 3px 6px -3px rgba(0, 0, 0, 0.5);
            box-shadow: inset 0 3px 6px -3px rgba(0, 0, 0, 0.5);
    position: absolute;
    left: 0;
    top: 95px;
    background: var(--color-blue-bright);
    padding-left: var(--s);
    padding-right: var(--s);
    height: 55px;
    color: white;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  
  .nav-drawer.open, .drawer-submenu.open { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }
  .nav-drawer-menu button img, .nav-drawer-menu a img, .drawer-submenu button img, .drawer-submenu a img { display: none; }
  header:has(.nav-drawer.open) .logo { display: block; }
  body:has(.nav-drawer.open) { height: 100dvh; overflow: hidden; }
  .nav-drawer:has(.drawer-submenu.open) { height: 150px; }
  .nav .logo, .hero-logo {
    max-height: 5rem;
    max-width: 5rem;
  }

  .nav-drawer-menu button, .nav-drawer-menu a, .drawer-submenu button, .drawer-submenu a { 
    -webkit-box-align: center; 
        -ms-flex-align: center; 
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: auto; 
    -webkit-box-pack: center; 
        -ms-flex-pack: center; 
            justify-content: center;
    width: auto;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }

  /* Footer */
  .foot-logo {
    width: 12rem;
  }

  /* Elements */
  .over-top img { max-height: 50rem; object-position: top center; }

  .sponsor {
    height: auto;
    margin: .5rem 1rem;
    max-height: 4rem;
    max-width: 7rem;
    -o-object-fit: contain;
       object-fit: contain;
    width: 100%;
  }

  .dot {
    height: 1rem;
    max-height: 1rem;
    max-width: 1rem;
    width: 1rem;
  }

  .hero {
    height: calc(80dvh - 70px);
    max-height: 800px;
    min-height: 650px;
  }

  .hero-logo {
    max-width: unset;
    max-height: unset;
    width: 7rem;
    height: 7rem;
  }

  .hero-title {
    height: auto;
    min-height: 20rem;
    max-height: 600px;
  }

  .hero-title img { max-height: 480px; }
  video { 
    max-width: 40rem;
    max-height: 20rem;
  }

  .inline-logo { width: var(--jumbo); }

  .shadow-img {
    max-width: 80dvw;
    max-height: 25rem !important;
  }

  .whatsapp {
    bottom: 2rem;
    right: 2rem;
  }

  .whatsapp a {
    height: 3rem;
    width: 3rem;
  }

  .gallery-item {
    max-height: 15rem !important;
    min-height: 10rem;
  }

  .lightbox-nav { width: 1rem; }
  .move-left-tb { margin-left: -5rem; }
  .card-list .card { -webkit-box-flex: 0; -ms-flex: 0 0 48%; flex: 0 0 48%; }
  .card-tip { font-size: 1.25rem; }
  .card-list .card-img { height: 15rem; }

  .card-img-sm {
    min-height: 15rem;
    max-height: 15rem;
    height: 15rem;
    max-width: 100%;
    min-width: 100%;
  }

  .card-icon {
    width: 1.5rem;
    margin-right: .5rem;
  }

  img.overflown {
    max-width: unset;
    position: relative;
  }
  
  img.overflown.left { 
    right: 25vw; 
    object-position: top right;
  }

  img.overflown.right { 
    left: 15vw; 
    object-position: top left;
  }

  .floating-btn {
    top: 55px;
    padding: .75rem 2.5rem;
  }
}

/* Sticky categoría debajo del header principal */
.registro-category-sticky{
  position:fixed;
  top:72px;
  left:0;
  right:0;
  z-index:95;
  opacity:0;
  transform:translateY(-10px);
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
.registro-category-sticky.is-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.registro-category-sticky-inner{
  max-width:1100px;
  margin:0 auto;
  padding:.65rem 1rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  backdrop-filter:blur(14px);
  background:rgba(4,58,153,.82);
  border:1px solid rgba(255,255,255,.12);
  border-radius:0 0 16px 16px;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.registro-category-pill{
  color:#fff;
  font-weight:900;
}
.registro-category-link{
  background:none;
  border:0;
  color:#8aea1b;
  font-weight:800;
  cursor:pointer;
}


/* Ajuste final sticky categoría */
.registro-category-sticky{
  top:70px !important;
}

.registro-category-sticky-inner{
  max-width:50% !important;
  margin:0 0 0 auto !important;
  justify-content:right !important;
}

/* En mobile el header principal ocupa más alto.
   Bajamos esta barra para que no se encime y la hacemos full width. */
@media (max-width: 768px){
  .registro-category-sticky{
    top:92px !important;
  }

  .registro-category-sticky-inner{
    max-width:100% !important;
    margin:0 !important;
    justify-content:space-between !important;
    border-radius:0 0 14px 14px;
  }
}

@media (max-width: 480px){
  .registro-category-sticky{
    top:104px !important;
  }

  .registro-category-sticky-inner{
    padding:.55rem .75rem !important;
    gap:.65rem;
  }

  .registro-category-pill{
    font-size:.82rem;
  }

  .registro-category-link{
    font-size:.78rem;
    white-space:nowrap;
  }
}
