/* Perritos de la hoja del usuario (1152 × 2048).
   Cada encuadre usa la misma imagen; no se redibuja ningún personaje.
   Ajusta --dog-size en el elemento para cambiar el tamaño del recorte.
   El modo multiply integra el fondo blanco en superficies claras. */
.dog {
  --dog-size: 240px;
  display: block;
  position: relative;
  width: var(--dog-size);
  aspect-ratio: var(--dog-ratio, 1);
  flex: none;
  overflow: hidden;
  mix-blend-mode: multiply;
  user-select: none;
  -webkit-user-select: none;
}
.dog > .dog-sheet {
  display: block;
  position: absolute;
  width: var(--sheet-width);
  max-width: none;
  height: auto;
  left: var(--sheet-left);
  top: var(--sheet-top);
  pointer-events: none;
  object-fit: fill;
}
.dog-wave {
  --dog-ratio: 416 / 280;
  --sheet-width: 276.92308%;
  --sheet-left: -93.75000%;
  --sheet-top: -86.42857%;
}
.dog-rottie {
  --dog-ratio: 300 / 165;
  --sheet-width: 384.00000%;
  --sheet-left: -25.00000%;
  --sheet-top: -103.03030%;
}
.dog-bull {
  --dog-ratio: 300 / 310;
  --sheet-width: 384.00000%;
  --sheet-left: -268.33333%;
  --sheet-top: -3.22581%;
}
.dog-husky {
  --dog-ratio: 371 / 224;
  --sheet-width: 310.51213%;
  --sheet-left: -10.78167%;
  --sheet-top: -220.98214%;
}
.dog-collie {
  --dog-ratio: 282 / 213;
  --sheet-width: 408.51064%;
  --sheet-left: -154.25532%;
  --sheet-top: -309.85915%;
}
.dog-frenchie {
  --dog-ratio: 476 / 310;
  --sheet-width: 242.01681%;
  --sheet-left: -75.63025%;
  --sheet-top: -322.58065%;
}
.dog-silly {
  --dog-ratio: 319 / 310;
  --sheet-width: 361.12853%;
  --sheet-left: -16.30094%;
  --sheet-top: -401.61290%;
}
.dog-lab {
  --dog-ratio: 285 / 223;
  --sheet-width: 404.21053%;
  --sheet-left: -284.21053%;
  --sheet-top: -724.21525%;
}
.dog-golden {
  --dog-ratio: 242 / 198;
  --sheet-width: 476.03306%;
  --sheet-left: -35.12397%;
  --sheet-top: -444.44444%;
}
.dog-beagle {
  --dog-ratio: 265 / 142;
  --sheet-width: 434.71698%;
  --sheet-left: -312.45283%;
  --sheet-top: -330.28169%;
}
.dog-peek {
  --dog-ratio: 264 / 202;
  --sheet-width: 436.36364%;
  --sheet-left: -317.80303%;
  --sheet-top: -396.03960%;
}
/* El frame transparente no debe aislar la mezcla: los recortes blancos
   se integran con el fondo real de la intro y conservan el perro completo. */
.intro .intro__frame { z-index: auto; }
