html, body {
  min-height: 100%;
  margin: 0;
  padding: 0;
  /* Pas de width ici sur desktop ! */
}
body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff !important;
}



[data-rooms="6"] {
    --wings-width: 425px;
    --front-width: 150px;
  }
  [data-rooms="6"] .house-wings {
    width: 425px;
    left: calc(50% - 212.5px);
  }
  [data-rooms="6"] .house-front {
    width: 150px;
    left: calc(50% - 75px);
  }
  
  [data-rooms="5"] {
    --wings-width: 355px;
    --front-width: 150px;
  }
  [data-rooms="5"] .house-wings {
    width: 355px;
    left: calc(50% - 177.5px);
  }
  [data-rooms="5"] .house-front {
    width: 150px;
    left: calc(50% - 75px);
  }
  
  [data-rooms="4"] {
    --wings-width: 300px;
    --front-width: 125px;
  }
  [data-rooms="4"] .house-wings {
    width: 300px;
    left: calc(50% - 150px);
  }
  [data-rooms="4"] .house-front {
    width: 125px;
    left: calc(50% - 62.5px);
  }
  
  [data-rooms="3"] {
    --wings-width: 240px;
    --front-width: 150px;
  }
  [data-rooms="3"] .house-wings {
    width: 240px;
    left: calc(50% - 120px);
  }
  [data-rooms="3"] .house-front {
    width: 150px;
    left: calc(50% - 75px);
  }
  
  .house {
  height: 380px;
  width: 900px;
}

  
  .house-label {
    text-transform: uppercase;
    font-weight: bold;
    padding-left: calc(20px + 1ch);
    font-size: 25px;
    color: #355962;
    margin: 30px 0 5px;
    font-family: Arial Rounded MT Bold, Helvetica Neue, Helvetica, sans serif;
  }
  .house-label:before, .house-label:after {
    position: absolute;
    text-align: right;
    left: 0;
    top: 0;
    padding: 0 0.5ch;
    will-change: transform;
  }
  .house-label:before {
    content: attr(data-prev-rooms);
  }
  .house-label:after {
    content: attr(data-rooms);
  }
  .house-label[data-rooms="6"][data-rooms-delta^="-"]:before {
    -webkit-animation: prev-label-up-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: prev-label-up-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="6"][data-rooms-delta^="-"]:after {
    -webkit-animation: label-up-6 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: label-up-6 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="6"]:not([data-rooms-delta^="-"]):before {
    -webkit-animation: prev-label-down-6 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: prev-label-down-6 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="6"]:not([data-rooms-delta^="-"]):after {
    -webkit-animation: label-down-6 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: label-down-6 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  @-webkit-keyframes prev-label-up-6 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(-100%) scale(1.5);
      opacity: 0;
    }
  }
  @keyframes prev-label-up-6 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(-100%) scale(1.5);
      opacity: 0;
    }
  }
  @-webkit-keyframes prev-label-down-6 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(100%) scale(1.5);
      opacity: 0;
    }
  }
  @keyframes prev-label-down-6 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(100%) scale(1.5);
      opacity: 0;
    }
  }
  @-webkit-keyframes label-up-6 {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes label-up-6 {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @-webkit-keyframes label-down-6 {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes label-down-6 {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  .house-label[data-rooms="5"][data-rooms-delta^="-"]:before {
    -webkit-animation: prev-label-up-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: prev-label-up-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="5"][data-rooms-delta^="-"]:after {
    -webkit-animation: label-up-5 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: label-up-5 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="5"]:not([data-rooms-delta^="-"]):before {
    -webkit-animation: prev-label-down-5 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: prev-label-down-5 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="5"]:not([data-rooms-delta^="-"]):after {
    -webkit-animation: label-down-5 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: label-down-5 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  @-webkit-keyframes prev-label-up-5 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(-100%) scale(1.5);
      opacity: 0;
    }
  }
  @keyframes prev-label-up-5 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(-100%) scale(1.5);
      opacity: 0;
    }
  }
  @-webkit-keyframes prev-label-down-5 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(100%) scale(1.5);
      opacity: 0;
    }
  }
  @keyframes prev-label-down-5 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(100%) scale(1.5);
      opacity: 0;
    }
  }
  @-webkit-keyframes label-up-5 {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes label-up-5 {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @-webkit-keyframes label-down-5 {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes label-down-5 {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  .house-label[data-rooms="4"][data-rooms-delta^="-"]:before {
    -webkit-animation: prev-label-up-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: prev-label-up-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="4"][data-rooms-delta^="-"]:after {
    -webkit-animation: label-up-4 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: label-up-4 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="4"]:not([data-rooms-delta^="-"]):before {
    -webkit-animation: prev-label-down-4 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: prev-label-down-4 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="4"]:not([data-rooms-delta^="-"]):after {
    -webkit-animation: label-down-4 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: label-down-4 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  @-webkit-keyframes prev-label-up-4 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(-100%) scale(1.5);
      opacity: 0;
    }
  }
  @keyframes prev-label-up-4 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(-100%) scale(1.5);
      opacity: 0;
    }
  }
  @-webkit-keyframes prev-label-down-4 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(100%) scale(1.5);
      opacity: 0;
    }
  }
  @keyframes prev-label-down-4 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(100%) scale(1.5);
      opacity: 0;
    }
  }
  @-webkit-keyframes label-up-4 {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes label-up-4 {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @-webkit-keyframes label-down-4 {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes label-down-4 {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  .house-label[data-rooms="3"][data-rooms-delta^="-"]:before {
    -webkit-animation: prev-label-up-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: prev-label-up-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="3"][data-rooms-delta^="-"]:after {
    -webkit-animation: label-up-3 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: label-up-3 1000ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="3"]:not([data-rooms-delta^="-"]):before {
    -webkit-animation: prev-label-down-3 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: prev-label-down-3 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house-label[data-rooms="3"]:not([data-rooms-delta^="-"]):after {
    -webkit-animation: label-down-3 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: label-down-3 1000ms 70ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  @-webkit-keyframes prev-label-up-3 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(-100%) scale(1.5);
      opacity: 0;
    }
  }
  @keyframes prev-label-up-3 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(-100%) scale(1.5);
      opacity: 0;
    }
  }
  @-webkit-keyframes prev-label-down-3 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(100%) scale(1.5);
      opacity: 0;
    }
  }
  @keyframes prev-label-down-3 {
    from {
      transform: translateY(0);
      opacity: 1;
    }
    to {
      transform: translateY(100%) scale(1.5);
      opacity: 0;
    }
  }
  @-webkit-keyframes label-up-3 {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes label-up-3 {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @-webkit-keyframes label-down-3 {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes label-down-3 {
    from {
      transform: translateY(-100%);
      opacity: 0;
    }
    50% {
      transform: translateY(0) scale(1.5);
      opacity: 1;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  
  .house-wings {
    position: absolute;
    bottom: 0;
    height: 125px;
  }
  .house-wings:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    border: 5px solid #355962;
    box-shadow: inset 0 15px #b4b5b4;
  }
  .house-wings:after {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 5px;
    width: 100%;
    background-color: #355962;
    transform: scaleX(1.2);
  }
  .house-wings > .house-roof {
    height: 65px;
    width: calc(100% + 40px);
    left: -20px;
    border-bottom: 5px solid #355962;
    position: absolute;
    bottom: 100%;
  }
  .house-wings > .house-roof:before, .house-wings > .house-roof:after {
    position: absolute;
    height: 100%;
    width: 50%;
     background-color: #008F8C;
    border: 5px solid #355962;
    border-bottom: none;
  }
  .house-wings > .house-roof:before {
    left: 0;
    transform-origin: bottom left;
    transform: skewX(-30deg);
    border-right: none;
  }
  .house-wings > .house-roof:after {
    right: 0;
    transform-origin: bottom right;
    transform: skewX(30deg);
    border-left: none;
  }
  .house-wings .house-ledge {
    position: absolute;
    bottom: -15px;
    width: 100%;
    height: 15px;
    background-color: #008F8C;
    border: 5px solid #355962;
  }
  
  .house-facade {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 15px 0 rgba(214, 214, 214, 0.2);
  }
  .house-facade:before, .house-facade:after {
    position: absolute;
    height: 100%;
    width: 50%;
    background-color: #fff;
    top: 0;
    border-top: 5px solid #355962;
    box-shadow: inset 0 calc(var(--front-width) / 6) #b4b5b4;
  }
  .house-facade:before {
    left: 0;
    transform-origin: top left;
    transform: skewY(-40deg);
    border-left: 5px solid #355962;
  }
  .house-facade:after {
    right: 0;
    transform-origin: top right;
    transform: skewY(40deg);
    border-right: 5px solid #355962;
  }
  
  @-webkit-keyframes wing-roof-6-move {
    from {
      transform-origin: bottom left;
    }
    25% {
      transform: translateY(-10px) rotate(-5deg);
    }
    50% {
      transform-origin: bottom left;
      transform: none;
    }
    51% {
      transform-origin: bottom right;
    }
    75% {
      transform-origin: bottom right;
      transform: translateY(-5px) rotate(2deg);
    }
    to {
      transform-origin: bottom right;
      transform: none;
    }
  }
  
  @keyframes wing-roof-6-move {
    from {
      transform-origin: bottom left;
    }
    25% {
      transform: translateY(-10px) rotate(-5deg);
    }
    50% {
      transform-origin: bottom left;
      transform: none;
    }
    51% {
      transform-origin: bottom right;
    }
    75% {
      transform-origin: bottom right;
      transform: translateY(-5px) rotate(2deg);
    }
    to {
      transform-origin: bottom right;
      transform: none;
    }
  }
  @-webkit-keyframes wing-roof-5-move {
    from {
      transform-origin: bottom right;
    }
    25% {
      transform: translateY(-20px) rotate(10deg);
    }
    50% {
      transform-origin: bottom right;
      transform: none;
    }
    51% {
      transform-origin: bottom left;
    }
    75% {
      transform-origin: bottom left;
      transform: translateY(-10px) rotate(-2deg);
    }
    to {
      transform-origin: bottom left;
      transform: none;
    }
  }
  @keyframes wing-roof-5-move {
    from {
      transform-origin: bottom right;
    }
    25% {
      transform: translateY(-20px) rotate(10deg);
    }
    50% {
      transform-origin: bottom right;
      transform: none;
    }
    51% {
      transform-origin: bottom left;
    }
    75% {
      transform-origin: bottom left;
      transform: translateY(-10px) rotate(-2deg);
    }
    to {
      transform-origin: bottom left;
      transform: none;
    }
  }
  @-webkit-keyframes wing-roof-4-move {
    from {
      transform-origin: bottom left;
    }
    25% {
      transform: translateY(-15px) rotate(-10deg);
    }
    50% {
      transform-origin: bottom left;
      transform: none;
    }
    51% {
      transform-origin: bottom right;
    }
    75% {
      transform-origin: bottom right;
      transform: translateY(-10px) rotate(2deg);
    }
    to {
      transform-origin: bottom right;
      transform: none;
    }
  }
  @keyframes wing-roof-4-move {
    from {
      transform-origin: bottom left;
    }
    25% {
      transform: translateY(-15px) rotate(-10deg);
    }
    50% {
      transform-origin: bottom left;
      transform: none;
    }
    51% {
      transform-origin: bottom right;
    }
    75% {
      transform-origin: bottom right;
      transform: translateY(-10px) rotate(2deg);
    }
    to {
      transform-origin: bottom right;
      transform: none;
    }
  }
  @-webkit-keyframes wing-roof-3-move {
    from {
      transform-origin: bottom right;
    }
    25% {
      transform: translateY(-20px) rotate(10deg);
    }
    50% {
      transform-origin: bottom right;
      transform: none;
    }
    51% {
      transform-origin: bottom left;
    }
    75% {
      transform-origin: bottom left;
      transform: translateY(-10px) rotate(-2deg);
    }
    to {
      transform-origin: bottom left;
      transform: none;
    }
  }
  @keyframes wing-roof-3-move {
    from {
      transform-origin: bottom right;
    }
    25% {
      transform: translateY(-20px) rotate(10deg);
    }
    50% {
      transform-origin: bottom right;
      transform: none;
    }
    51% {
      transform-origin: bottom left;
    }
    75% {
      transform-origin: bottom left;
      transform: translateY(-10px) rotate(-2deg);
    }
    to {
      transform-origin: bottom left;
      transform: none;
    }
  }
  @-webkit-keyframes front-roof-6-move {
    from {
      transform-origin: bottom right;
    }
    25% {
      transform: translateY(-5px) rotate(5deg);
    }
    50% {
      transform-origin: bottom right;
      transform: none;
    }
    51% {
      transform-origin: bottom left;
    }
    75% {
      transform-origin: bottom left;
      transform: translateY(-2px) rotate(-1deg);
    }
    to {
      transform-origin: bottom left;
      transform: none;
    }
  }
  @keyframes front-roof-6-move {
    from {
      transform-origin: bottom right;
    }
    25% {
      transform: translateY(-5px) rotate(5deg);
    }
    50% {
      transform-origin: bottom right;
      transform: none;
    }
    51% {
      transform-origin: bottom left;
    }
    75% {
      transform-origin: bottom left;
      transform: translateY(-2px) rotate(-1deg);
    }
    to {
      transform-origin: bottom left;
      transform: none;
    }
  }
  @-webkit-keyframes front-roof-5-move {
    from {
      transform-origin: bottom left;
    }
    25% {
      transform: translateY(-10px) rotate(-5deg);
    }
    50% {
      transform-origin: bottom left;
      transform: none;
    }
    51% {
      transform-origin: bottom right;
    }
    75% {
      transform-origin: bottom right;
      transform: translateY(-5px) rotate(1deg);
    }
    to {
      transform-origin: bottom right;
      transform: none;
    }
  }
  @keyframes front-roof-5-move {
    from {
      transform-origin: bottom left;
    }
    25% {
      transform: translateY(-10px) rotate(-5deg);
    }
    50% {
      transform-origin: bottom left;
      transform: none;
    }
    51% {
      transform-origin: bottom right;
    }
    75% {
      transform-origin: bottom right;
      transform: translateY(-5px) rotate(1deg);
    }
    to {
      transform-origin: bottom right;
      transform: none;
    }
  }
  @-webkit-keyframes front-roof-4-move {
    from {
      transform-origin: bottom right;
    }
    25% {
      transform: translateY(-5px) rotate(10deg);
    }
    50% {
      transform-origin: bottom right;
      transform: none;
    }
    51% {
      transform-origin: bottom left;
    }
    75% {
      transform-origin: bottom left;
      transform: translateY(-2px) rotate(-2deg);
    }
    to {
      transform-origin: bottom left;
      transform: none;
    }
  }
  @keyframes front-roof-4-move {
    from {
      transform-origin: bottom right;
    }
    25% {
      transform: translateY(-5px) rotate(10deg);
    }
    50% {
      transform-origin: bottom right;
      transform: none;
    }
    51% {
      transform-origin: bottom left;
    }
    75% {
      transform-origin: bottom left;
      transform: translateY(-2px) rotate(-2deg);
    }
    to {
      transform-origin: bottom left;
      transform: none;
    }
  }
  @-webkit-keyframes front-roof-3-move {
    from {
      transform-origin: bottom right;
    }
    25% {
      transform: translateY(-10px) rotate(-5deg);
    }
    50% {
      transform-origin: bottom right;
      transform: none;
    }
    51% {
      transform-origin: bottom left;
    }
    75% {
      transform-origin: bottom left;
      transform: translateY(-5px) rotate(2deg);
    }
    to {
      transform-origin: bottom left;
      transform: none;
    }
  }
  @keyframes front-roof-3-move {
    from {
      transform-origin: bottom right;
    }
    25% {
      transform: translateY(-10px) rotate(-5deg);
    }
    50% {
      transform-origin: bottom right;
      transform: none;
    }
    51% {
      transform-origin: bottom left;
    }
    75% {
      transform-origin: bottom left;
      transform: translateY(-5px) rotate(2deg);
    }
    to {
      transform-origin: bottom left;
      transform: none;
    }
  }
  @-webkit-keyframes house-6-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.95, 1.05);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.98, 1.02);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes house-6-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.95, 1.05);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.98, 1.02);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @-webkit-keyframes house-5-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.2);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.05);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes house-5-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.2);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.05);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @-webkit-keyframes house-4-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.2);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.05);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes house-4-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.2);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.05);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @-webkit-keyframes house-3-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.2);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.05);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes house-3-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.2);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.05);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @-webkit-keyframes facade-6-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.95, 1.05);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.98, 1.02);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes facade-6-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.95, 1.05);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.98, 1.02);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @-webkit-keyframes facade-5-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.05);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.02);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes facade-5-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.05);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.02);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @-webkit-keyframes facade-4-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.05);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.02);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes facade-4-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.05);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.02);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @-webkit-keyframes facade-3-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.05);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.02);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes facade-3-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: scale(0.9, 1.05);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: scale(0.95, 1.02);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @-webkit-keyframes chimney-6-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: rotate(10deg) translateY(-15px);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: rotate(-5deg) translateY(-5px);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes chimney-6-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: rotate(10deg) translateY(-15px);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: rotate(-5deg) translateY(-5px);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @-webkit-keyframes chimney-5-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: rotate(-10deg) translateY(-15px);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: rotate(5deg) translateY(-5px);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes chimney-5-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: rotate(-10deg) translateY(-15px);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: rotate(5deg) translateY(-5px);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @-webkit-keyframes chimney-4-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: rotate(10deg) translateY(-15px);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: rotate(-5deg) translateY(-5px);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes chimney-4-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: rotate(10deg) translateY(-15px);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: rotate(-5deg) translateY(-5px);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @-webkit-keyframes chimney-3-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: rotate(-10deg) translateY(-15px);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: rotate(5deg) translateY(-5px);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  @keyframes chimney-3-move {
    from {
      transform-origin: bottom center;
    }
    25% {
      transform: rotate(-10deg) translateY(-15px);
    }
    50% {
      transform-origin: bottom center;
      transform: none;
    }
    51% {
      transform-origin: bottom center;
    }
    75% {
      transform-origin: bottom center;
      transform: rotate(5deg) translateY(-5px);
    }
    to {
      transform-origin: bottom center;
      transform: none;
    }
  }
  [data-rooms="6"] .house-wings > .house-roof {
    -webkit-animation: wing-roof-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: wing-roof-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="6"] .house-front > .house-gable {
    -webkit-animation: front-roof-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: front-roof-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="6"] .house-wings:before,
  [data-rooms="6"] .house-left-wing,
  [data-rooms="6"] .house-right-wing {
    -webkit-animation: house-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: house-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="6"] .house-facade,
  [data-rooms="6"] .house-front .house-window,
  [data-rooms="6"] .house-doorway {
    -webkit-animation: facade-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: facade-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="6"] .house-chimney {
    -webkit-animation: chimney-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: chimney-6-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  
  [data-rooms="5"] .house-wings > .house-roof {
    -webkit-animation: wing-roof-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: wing-roof-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="5"] .house-front > .house-gable {
    -webkit-animation: front-roof-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: front-roof-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="5"] .house-wings:before,
  [data-rooms="5"] .house-left-wing,
  [data-rooms="5"] .house-right-wing {
    -webkit-animation: house-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: house-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="5"] .house-facade,
  [data-rooms="5"] .house-front .house-window,
  [data-rooms="5"] .house-doorway {
    -webkit-animation: facade-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: facade-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="5"] .house-chimney {
    -webkit-animation: chimney-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: chimney-5-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  
  [data-rooms="4"] .house-wings > .house-roof {
    -webkit-animation: wing-roof-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: wing-roof-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="4"] .house-front > .house-gable {
    -webkit-animation: front-roof-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: front-roof-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="4"] .house-wings:before,
  [data-rooms="4"] .house-left-wing,
  [data-rooms="4"] .house-right-wing {
    -webkit-animation: house-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: house-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="4"] .house-facade,
  [data-rooms="4"] .house-front .house-window,
  [data-rooms="4"] .house-doorway {
    -webkit-animation: facade-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: facade-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="4"] .house-chimney {
    -webkit-animation: chimney-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: chimney-4-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  
  [data-rooms="3"] .house-wings > .house-roof {
    -webkit-animation: wing-roof-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: wing-roof-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="3"] .house-front > .house-gable {
    -webkit-animation: front-roof-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: front-roof-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="3"] .house-wings:before,
  [data-rooms="3"] .house-left-wing,
  [data-rooms="3"] .house-right-wing {
    -webkit-animation: house-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: house-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="3"] .house-facade,
  [data-rooms="3"] .house-front .house-window,
  [data-rooms="3"] .house-doorway {
    -webkit-animation: facade-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: facade-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  [data-rooms="3"] .house-chimney {
    -webkit-animation: chimney-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
            animation: chimney-3-move 500ms 70ms cubic-bezier(0.1, 0, 0.3, 1);
  }
  
  .house-front {
    position: absolute;
    bottom: 0;
    height: 160px;
  }
  .house-front > .house-window {
    width: 60px;
    height: 55px;
    position: absolute;
    left: calc(50% - 30px);
    top: -10px;
  }
  [data-rooms="4"] .house-front > .house-window, [data-rooms="3"] .house-front > .house-window {
    border-bottom-left-radius: 50% 40%;
    border-bottom-right-radius: 50% 40%;
  }
  [data-rooms="4"] .house-front > .house-window:after, [data-rooms="3"] .house-front > .house-window:after {
    display: none;
  }
  [data-rooms="4"]:not([data-prev-rooms="3"]) .house-front > .house-window > .house-sparkle, [data-rooms="3"]:not([data-prev-rooms="4"]) .house-front > .house-window > .house-sparkle, [data-rooms="5"]:not([data-prev-rooms="6"]) .house-front > .house-window > .house-sparkle, [data-rooms="6"]:not([data-prev-rooms="5"]) .house-front > .house-window > .house-sparkle {
    display: block;
  }
  .house-front > .house-window > .house-sparkle {
    display: none;
  }
  .house-front .house-ledge {
    height: 20px;
    width: 20px;
    position: absolute;
    background: #000;
    left: calc(50% - 10px);
    background-color: #008F8C;
    border: 5px solid #355962;
    transform: rotate(-45deg) translate(5px, -5px);
  }
  .house-front .house-ledge:before, .house-front .house-ledge:after {
    position: absolute;
    width: calc(var(--front-width) / 1.25);
    height: calc(100% + 10px);
    top: -5px;
    background-color: #008F8C;
    border: 5px solid #355962;
  }
  .house-front .house-ledge:before {
    right: 100%;
    border-right: none;
  }
  .house-front .house-ledge:after {
    left: 0;
    transform-origin: left bottom;
    transform: rotate(90deg) translate(-5px, 5px);
    border-left: none;
  }
  
  .house-gable {
    position: absolute;
    bottom: calc(100% - 5px);
    left: 0;
    width: 100%;
    height: 70px;
  }
  .house-gable > .house-roof {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scaleY(0.8);
    z-index: 1;
  }
  
  .house-chimney {
    width: 35px;
    height: 70px;
    position: absolute;
    background-color: #355962;
    left: 15px;
    bottom: 100%;
    z-index: 0;
  }
  
  .house-left-wing,
  .house-right-wing {
    position: absolute;
    height: 100%;
    width: calc(50% - var(--front-width) / 2);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  
  .house:not([data-rooms="6"]) .house-wings .house-window:first-child {
    display: none;
  }
  .house[data-rooms="3"] .house-wings .house-window {
    display: none;
  }
  .house[data-rooms="6"] .house-wings .house-sparkle, .house[data-rooms="5"]:not([data-prev-rooms="4"]) .house-wings .house-sparkle, .house[data-rooms="4"][data-prev-rooms="3"] .house-wings .house-sparkle, .house[data-rooms="3"] .house-wings .house-sparkle {
    display: block;
  }
  
  .house-left-wing {
    left: 0;
  }
  
  .house-right-wing {
    right: 0;
    flex-flow: row-reverse;
  }
  
  .house-sparkle {
    position: absolute;
    height: 90px;
    width: 90px;
    border-radius: 50%;
    border: 5px solid #355962;
    top: calc(50% - 45px);
    left: calc(50% - 45px);
    display: none;
  }
  .house-sparkle:before {
    top: 0;
    left: 0;
    background-color: #87C6AF;
  }
  .house-sparkle:after {
    bottom: 0;
    right: 0;
    background-color: #355962;
  }
  
  .house-sparkle:before, .house-sparkle:after,
  .house-sparkle-dots:before,
  .house-sparkle-dots:after {
    position: absolute;
    height: 10px;
    width: 10px;
    border-radius: 50%;
  }
  
  .house-sparkle-dots {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .house-sparkle-dots:before {
    bottom: -15px;
    right: 40px;
    background-color: #87C6AF;
  }
  
  .house[data-rooms="6"] .house-left-wing .house-sparkle {
    left: calc(25% - 45px);
  }
  .house[data-rooms="6"] .house-right-wing .house-sparkle {
    left: initial;
    right: calc(25% - 45px);
  }
  
  @-webkit-keyframes sparkle-6 {
    from {
      transform: scale(1);
      opacity: 1;
    }
    to {
      transform: scale(2);
      opacity: 0;
      border-width: 0;
    }
  }
  
  @keyframes sparkle-6 {
    from {
      transform: scale(1);
      opacity: 1;
    }
    to {
      transform: scale(2);
      opacity: 0;
      border-width: 0;
    }
  }
  @-webkit-keyframes sparkle-dots-6 {
    from {
      transform: scale(1);
    }
    to {
      transform: scale(0);
    }
  }
  @keyframes sparkle-dots-6 {
    from {
      transform: scale(1);
    }
    to {
      transform: scale(0);
    }
  }
  .house[data-rooms="6"] .house-sparkle {
    -webkit-animation: sparkle-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: sparkle-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house[data-rooms="6"] .house-sparkle:before, .house[data-rooms="6"] .house-sparkle:after,
  .house[data-rooms="6"] .house-sparkle-dots:before,
  .house[data-rooms="6"] .house-sparkle-dots:after {
    -webkit-animation: sparkle-dots-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: sparkle-dots-6 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  
  @-webkit-keyframes sparkle-5 {
    from {
      transform: scale(1);
      opacity: 1;
    }
    to {
      transform: scale(2);
      opacity: 0;
      border-width: 0;
    }
  }
  
  @keyframes sparkle-5 {
    from {
      transform: scale(1);
      opacity: 1;
    }
    to {
      transform: scale(2);
      opacity: 0;
      border-width: 0;
    }
  }
  @-webkit-keyframes sparkle-dots-5 {
    from {
      transform: scale(1);
    }
    to {
      transform: scale(0);
    }
  }
  @keyframes sparkle-dots-5 {
    from {
      transform: scale(1);
    }
    to {
      transform: scale(0);
    }
  }
  .house[data-rooms="5"] .house-sparkle {
    -webkit-animation: sparkle-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: sparkle-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house[data-rooms="5"] .house-sparkle:before, .house[data-rooms="5"] .house-sparkle:after,
  .house[data-rooms="5"] .house-sparkle-dots:before,
  .house[data-rooms="5"] .house-sparkle-dots:after {
    -webkit-animation: sparkle-dots-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: sparkle-dots-5 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  
  @-webkit-keyframes sparkle-4 {
    from {
      transform: scale(1);
      opacity: 1;
    }
    to {
      transform: scale(2);
      opacity: 0;
      border-width: 0;
    }
  }
  
  @keyframes sparkle-4 {
    from {
      transform: scale(1);
      opacity: 1;
    }
    to {
      transform: scale(2);
      opacity: 0;
      border-width: 0;
    }
  }
  @-webkit-keyframes sparkle-dots-4 {
    from {
      transform: scale(1);
    }
    to {
      transform: scale(0);
    }
  }
  @keyframes sparkle-dots-4 {
    from {
      transform: scale(1);
    }
    to {
      transform: scale(0);
    }
  }
  .house[data-rooms="4"] .house-sparkle {
    -webkit-animation: sparkle-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: sparkle-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house[data-rooms="4"] .house-sparkle:before, .house[data-rooms="4"] .house-sparkle:after,
  .house[data-rooms="4"] .house-sparkle-dots:before,
  .house[data-rooms="4"] .house-sparkle-dots:after {
    -webkit-animation: sparkle-dots-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: sparkle-dots-4 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  
  @-webkit-keyframes sparkle-3 {
    from {
      transform: scale(1);
      opacity: 1;
    }
    to {
      transform: scale(2);
      opacity: 0;
      border-width: 0;
    }
  }
  
  @keyframes sparkle-3 {
    from {
      transform: scale(1);
      opacity: 1;
    }
    to {
      transform: scale(2);
      opacity: 0;
      border-width: 0;
    }
  }
  @-webkit-keyframes sparkle-dots-3 {
    from {
      transform: scale(1);
    }
    to {
      transform: scale(0);
    }
  }
  @keyframes sparkle-dots-3 {
    from {
      transform: scale(1);
    }
    to {
      transform: scale(0);
    }
  }
  .house[data-rooms="3"] .house-sparkle {
    -webkit-animation: sparkle-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: sparkle-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  .house[data-rooms="3"] .house-sparkle:before, .house[data-rooms="3"] .house-sparkle:after,
  .house[data-rooms="3"] .house-sparkle-dots:before,
  .house[data-rooms="3"] .house-sparkle-dots:after {
    -webkit-animation: sparkle-dots-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
            animation: sparkle-dots-3 500ms cubic-bezier(0.1, 0, 0.3, 1) both;
  }
  
  @-webkit-keyframes windows-leave {
    to {
      width: 0;
    }
  }
  
  @keyframes windows-leave {
    to {
      width: 0;
    }
  }
  .house-window {
    height: 60px;
    width: 30px;
    border: 5px solid #355962;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    background-image: linear-gradient(to right, #C7FFED, #C7FFED 49.9%, #9cfedf 50%, #9cfedf);
  }
  .house-window:before {
    height: 100%;
    width: 5px;
    left: calc(50% - 2.5px);
    top: 0;
    background-color: #355962;
  }
  .house-window:after {
    height: 15px;
    width: calc(100% + 20px);
    left: -10px;
    bottom: 5px;
    border-radius: 15px;
    background-color: #008F8C;
    border: 5px solid #355962;
    box-shadow: 0 5px #b4b5b4;
  }
  
  .house-doorway {
    width: 65px;
    height: 90px;
    position: absolute;
    bottom: 0;
    left: calc(50% - 65px / 2);
  }
  
  .house-stairs {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 15px;
    border: 5px solid #355962;
    z-index: 0;
    box-shadow: 5px -5px #b4b5b4;
  }
  .house-stairs, .house-stairs:before, .house-stairs:after {
    background-color: white;
  }
  .house-stairs:before, .house-stairs:after {
    box-shadow: 5px -5px #b4b5b4;
    position: absolute;
    height: 15px;
    width: 100%;
    border: 5px solid #355962;
  }
  .house-stairs:before {
    bottom: 100%;
    transform: scaleX(0.9);
    z-index: 0;
  }
  .house-stairs:after {
    bottom: calc(200% + 5px);
    transform: scaleX(0.75);
    z-index: 0;
  }
  
  .house-door {
    position: absolute;
    background-color: #355962;
    width: 50%;
    height: 55px;
    left: 25%;
    bottom: 35px;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
  }
  
  body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #fff !important;
  }
  
  body, html {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #fff !important;
  }
  
  *, *:before, *:after {
    box-sizing: border-box;
    position: relative;
  }
  
  *:before, *:after {
    content: "";
    display: block;
  }
  
  [type=range] {
    -webkit-appearance: none;
    margin: 20px 0;
    width: 330px;
    background: transparent;
  }
  [type=range]:focus {
    outline: 0;
  }
  [type=range]:focus::-webkit-slider-runnable-track {
    background: linear-gradient(to bottom, #C7FFED, #C7FFED 49.9%, #9BEACE 50%, #9BEACE 100%);
  }
  [type=range]:focus::-ms-fill-lower {
    background: linear-gradient(to bottom, #C7FFED, #C7FFED 49.9%, #9BEACE 50%, #9BEACE 100%);
  }
  [type=range]:focus::-ms-fill-upper {
    background: linear-gradient(to bottom, #C7FFED, #C7FFED 49.9%, #9BEACE 50%, #9BEACE 100%);
  }
  [type=range]::-webkit-slider-runnable-track {
    cursor: pointer;
    height: 25px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    width: 330px;
    background: linear-gradient(to bottom, #C7FFED, #C7FFED 49.9%, #9BEACE 50%, #9BEACE 100%);
    border: 5px solid #355962;
    border-radius: 25px;
  }
  [type=range]::-webkit-slider-thumb {
    background: #355962;
    border-radius: 20px;
    cursor: pointer;
    height: 40px;
    width: 40px;
    -webkit-appearance: none;
    margin-top: -12.5px;
  }
  [type=range]::-moz-range-track {
    cursor: pointer;
    height: 25px;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
    width: 330px;
    background: linear-gradient(to bottom, #C7FFED, #C7FFED 49.9%, #9BEACE 50%, #9BEACE 100%);
    border: 5px solid #355962;
    border-radius: 25px;
  }
  [type=range]::-moz-range-thumb {
    background: #355962;
    border-radius: 20px;
    cursor: pointer;
    height: 40px;
    width: 40px;
  }
  [type=range]::-ms-track {
    cursor: pointer;
    height: 25px;
    -ms-transition: all 0.2s ease;
    transition: all 0.2s ease;
    width: 330px;
    background: transparent;
    border-color: transparent;
    border-width: 20px 0;
    color: transparent;
  }
  [type=range]::-ms-fill-lower {
    background: linear-gradient(to bottom, #C7FFED, #C7FFED 49.9%, #9BEACE 50%, #9BEACE 100%);
    border: 5px solid #355962;
    border-radius: 50px;
  }
  [type=range]::-ms-fill-upper {
    background: linear-gradient(to bottom, #C7FFED, #C7FFED 49.9%, #9BEACE 50%, #9BEACE 100%);
    border: 5px solid #355962;
    border-radius: 50px;
  }
  [type=range]::-ms-thumb {
    background: #355962;
    border-radius: 20px;
    cursor: pointer;
    height: 40px;
    width: 40px;
    margin-top: 0;
  }

.house-controls {
  /* Ajoute ou modifie ceci : */
  margin-top: 40px;
}

/* --- MAISON & CONTENU CENTRÉS ET GRANDS SUR DESKTOP --- */
/* Conteneur qui prend toute la largeur sur desktop */
.house-scaler {
  width: 100vw;
  max-width: 100vw;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* La maison s’adapte à la taille de l’écran, mais ne dépasse pas 1200px */
.house {
  width: 80vw;
  max-width: 1200px;
  min-width: 400px;
  height: 380px;
  margin: 0 auto;
}


.house-controls {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 32px;
  margin-bottom: 0;
}

/* TABLETTE : max-width 950px (tu peux ajuster à 900 ou 1000px si tu veux) */
@media (max-width: 800px) {
  .house-scaler {
    width: 96vw;
    max-width: 96vw;
  }
  .house {
    width: 95vw;
    max-width: 95vw;
    height: 280px; /* réduit la hauteur, ajuste si besoin */
  }
  [type=range] {
    width: 90vw;
    max-width: 90vw;
  }
}

/* MOBILE : max-width 650px */
@media (max-width: 650px) {
  .house-scaler {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 auto !important;
    transform: scale(0.53); /* tu peux ajuster 0.5 à 0.7 selon ce que tu préfères */
    transform-origin: top center;
  }
  .house {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 180px !important; /* adapte la hauteur */
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .house-label {
    font-size: 18px !important;
    margin: 18px 0 3px !important;
  }
  .house-controls {
    width: 100vw !important;
    padding: 0 !important;
    margin-top: 18px !important;
  }
  [type=range] {
    width: 95vw !important;
    max-width: 100vw !important;
    margin-bottom: 8px !important;
  }
  html, body {
    overflow-x: hidden !important;
  }
}

@media (max-width: 650px) {
  html, body {
    overflow-x: hidden !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
}