
body{
  margin: 0;
  background: #fff;
  font-family: Open Sans;
  font-style: normal;
  font-weight: normal;
  height: 100vh;
}

header, section, footer{
  width: 100%;
  display: block;
}



.container{
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  height: 100%;
}


@media(max-width:1120px){

  .container{
    width: calc(100% - 20px);
  }
}

*{
  box-sizing: border-box;
}



.logo{
  display: flex;
  justify-content: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
}


/*.hero{
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  
}

.hero img{
  width: 100%;
  max-width: 928px;
}*/




:root{
    --hero-max-w: 928px;
    --hero-radius: 10px;
    --hero-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    --play-size-desktop: 80px;
    --play-size-mobile: 64px;
  }

  .hero-wrap{
    display: grid;
    place-items: center;
    padding: clamp(12px, 3vw, 24px);
  }

  .hero{
    width: 100%;
    max-width: var(--hero-max-w);
    position: relative;
    border-radius: var(--hero-radius);
    box-shadow: var(--hero-shadow);
    overflow: hidden;
    /* Desktop — 16:9 */
    aspect-ratio: 16 / 9;
    margin: 0 auto;
  }

  /* Mobile до 700px: квадрат */
  @media (max-width: 700px){
    .hero{ aspect-ratio: 1 / 1; }
  }

  .hero video,
  .hero .poster{
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
  }

  .hero .poster{ display: block; }

  .hero .play-btn{
    position: absolute; inset: 0;
    display: grid; place-items: center;
    pointer-events: none;
  }

  .hero .play-btn .btn{
    width: var(--play-size-desktop);
    height: var(--play-size-desktop);
    border: none;
    border-radius: 999px;
    background: rgba(255,255,255,.9);
    display: grid; place-items: center;
    cursor: pointer;
    pointer-events: auto; /* кликабельно */
    transition: transform .15s ease, background .15s ease, opacity .2s ease;
  }
  .hero .play-btn .btn:hover{ transform: scale(1.05); background: #fff; }

  .hero .play-btn .btn svg{ width: 44%; height: 44%; }

  @media (max-width: 700px){
    .hero .play-btn .btn{ width: var(--play-size-mobile); height: var(--play-size-mobile); }
  }

  .hero.is-playing .poster,
  .hero.is-playing .play-btn{ opacity: 0; pointer-events: none; }


  .hero .click-layer{
    position: absolute; 
    inset: 0;
    background: transparent;
    cursor: pointer;
    border: 0;

  }





.content{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 1rem;
  margin-bottom: 2rem;
}


.content h2{
  font-family: 'DIN Next W1G';
  font-weight: 500;
  font-size: 28px;
  text-align: center;
  color: rgba(40, 48, 64, 1);
  margin-bottom: 2rem;
}

.content .region-heading{
  font-family: 'DIN Next W1G';
  font-size: 18px;
  font-weight: 500;
  color: rgba(92, 95, 98, 1);
}


.region-list{
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.5rem;
}





.region-list .region{
  display: flex;
  align-items: center;
  width: 280px;
  background: rgba(244, 245, 245, 1);
  border: 1px solid rgba(217, 217, 217, 1);
  padding: 10px 20px;
  text-decoration: none;
  color: inherit;
  border-radius: 4px;
  transition: .2s ease;
}


.region-list .region:hover{
  border: 1px solid #b31d3e;
}

.region-list .region .region-media{
  display: flex;
  padding: 0 1rem;
}

.region-list .region .region-meta{
  display: flex;
  flex-direction: column;
}

.region-list .region .region-meta h3{
  font-size: 14px;
  margin: 0;
  color: rgba(179, 29, 62, 1);
}

.region-list .region .region-meta span{
  font-size: 12px;
  color: rgba(92, 95, 98, 1);
}



@media(max-width:600px){
  
   .region-list{
    flex-direction: column;
   }
}


.footer{
  display: flex;
  justify-content: space-between;
  border-top: 1.5px solid rgba(179, 188, 197, 1);
  padding-top: 1.5rem;
  margin-top: auto;
  padding-bottom: 1.5rem;
}


.footer .copy{
  font-family: 'Open Sans';
  font-size: 14px;
  font-weight: 600;
  color: rgba(135, 148, 158, 1);

}

.footer-social{
  display: flex;
  flex-direction: row;
  column-gap: 1rem;
}

.footer-social a{
  display: flex;
  transition: .2s ease;
}

.footer-social a:hover{
  opacity: .7;
}
