.knt-home {
  background: #f5f1e8;
  color: #1f1b16;
}

.knt-home * {
  box-sizing: border-box;
}

.knt-stats,
.knt-section,
.knt-films,
.knt-current {
  max-width: 1200px;
  margin: 0 auto;
}

.knt-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  padding: 70px 20px 35px;
}

.knt-stat {
  background: #fff;
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 12px 35px rgba(0,0,0,.08);
}

.knt-stat strong {
  display: block;
  font-size: 36px;
  color: #1d4b43;
  line-height: 1;
}

.knt-stat span {
  display: block;
  margin-top: 10px;
  color: #8a6b45;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 13px;
  font-weight: 700;
}

.knt-section {
  padding: 60px 20px;
}

.knt-section-head {
  max-width: 760px;
  margin-bottom: 35px;
}

.knt-section-head span {
  display: inline-block;
  background: #1d4b43;
  color: #fff;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 13px;
}

.knt-section-head h2 {
  font-size: 46px;
  line-height: 1.08;
  margin: 22px 0 18px;
  color: #1f1b16;
}

.knt-section-head p {
  font-size: 18px;
  line-height: 1.75;
  color: #5c5248;
}


.knt-films {
  margin-top: 40px;
  padding: 55px 30px;
  background: #1f1b16;
  color: #fff;
  border-radius: 42px;
  box-shadow: 0 20px 55px rgba(0,0,0,.16);
}

.knt-section-head-dark h2,
.knt-section-head-dark p {
  color: #fff;
}

.knt-section-head-dark p {
  color: rgba(255,255,255,.72);
}

.knt-film-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.knt-film-card {
  display: block;
  min-height: 260px;
  padding: 28px;
  border-radius: 30px;
  background: rgba(255,255,255,.08);
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.12);
}

.knt-play {
  width: 60px;
  height: 60px;
  border-radius: 999px;
  background: #f0b35b;
  color: #1f1b16;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  margin-bottom: 35px;
}

.knt-film-card h3 {
  font-size: 26px;
  margin: 0 0 12px;
}

.knt-film-card p {
  color: rgba(255,255,255,.72);
  line-height: 1.7;
}

.knt-how-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.knt-how-grid article {
  background: #fff;
  border-radius: 30px;
  padding: 30px;
  box-shadow: 0 12px 32px rgba(0,0,0,.08);
}

.knt-how-grid strong {
  color: #c46b2f;
  font-size: 26px;
}

.knt-how-grid h3 {
  font-size: 24px;
  margin: 18px 0 12px;
  color: #1d4b43;
}

.knt-how-grid p {
  color: #5c5248;
  line-height: 1.7;
}

.knt-current {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  overflow: hidden;
  margin-top: 40px;
  margin-bottom: 80px;
  background: #1d4b43;
  border-radius: 42px;
  color: #fff;
  box-shadow: 0 22px 55px rgba(0,0,0,.18);
}

.knt-current-text {
  padding: 50px;
}

.knt-current-text span {
  display: inline-block;
  background: rgba(255,255,255,.15);
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 13px;
}

.knt-current h2 {
  font-size: 48px;
  line-height: 1.08;
  margin: 24px 0 20px;
  color: #fff;
}

.knt-current p {
  font-size: 18px;
  line-height: 1.75;
  color: rgba(255,255,255,.82);
}

.knt-current-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 28px 0;
}

.knt-current-tags b {
  background: rgba(255,255,255,.14);
  padding: 10px 16px;
  border-radius: 999px;
}

.knt-current a {
  display: inline-block;
  background: #f0b35b;
  color: #1f1b16;
  padding: 16px 26px;
  border-radius: 999px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.knt-current img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

@media (max-width: 900px) {
  .knt-stats,
  .knt-trip-grid,
  .knt-how-grid,
  .knt-film-grid {
    grid-template-columns: 1fr 1fr;
  }

  .knt-current {
    grid-template-columns: 1fr;
    margin-left: 15px;
    margin-right: 15px;
  }

  .knt-section-head h2,
  .knt-current h2 {
    font-size: 36px;
  }
}

@media (max-width: 600px) {
  .knt-stats,
  .knt-trip-grid,
  .knt-how-grid,
  .knt-film-grid {
    grid-template-columns: 1fr;
  }

  .knt-stats {
    padding: 45px 15px 25px;
  }

  .knt-section {
    padding: 45px 15px;
  }

  .knt-films {
    margin: 30px 15px;
    padding: 35px 20px;
    border-radius: 32px;
  }

  .knt-current-text {
    padding: 35px 22px;
  }

  .knt-current img {
    min-height: 280px;
  }
}
.knt-gallery {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px;
}

.knt-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}

.knt-gallery-grid a {
  display: block;
  overflow: hidden;
  border-radius: 28px;
}

.knt-gallery-grid img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  transition: .4s;
}

.knt-gallery-grid img:hover {
  transform: scale(1.05);
}

@media(max-width:768px){
  .knt-gallery-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:575px){
  .knt-gallery-grid{
    grid-template-columns:1fr;
  }
}
.knt-gallery-preview {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px;
}

.knt-gallery-mosaic {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  grid-template-rows: 230px 230px;
  gap: 18px;
}

.knt-gallery-mosaic a,
.knt-gallery-more a {
  display: block;
  overflow: hidden;
  border-radius: 30px;
  box-shadow: 0 12px 35px rgba(0,0,0,.10);
}

.knt-gallery-mosaic img,
.knt-gallery-more img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: .45s;
}

.knt-gallery-mosaic a:hover img,
.knt-gallery-more a:hover img {
  transform: scale(1.05);
}

.knt-gallery-large {
  grid-row: span 2;
}

.knt-gallery-more {
  display: none;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 18px;
}

.knt-gallery-more.is-open {
  display: grid;
}

.knt-gallery-more a {
  height: 230px;
}

.knt-gallery-cta {
  text-align: center;
  margin-top: 32px;
}

.knt-gallery-cta button {
  border: 0;
  cursor: pointer;
  padding: 16px 28px;
  background: #1d4b43;
  color: #fff;
  border-radius: 999px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

@media (max-width: 850px) {
  .knt-gallery-mosaic,
  .knt-gallery-more {
    grid-template-columns: 1fr 1fr;
  }

  .knt-gallery-mosaic {
    grid-template-rows: auto;
  }

  .knt-gallery-large {
    grid-row: auto;
    grid-column: span 2;
  }

  .knt-gallery-mosaic a,
  .knt-gallery-more a {
    height: 230px;
  }

  .knt-gallery-large {
    height: 320px !important;
  }
}

@media (max-width: 575px) {
  .knt-gallery-mosaic,
  .knt-gallery-more {
    grid-template-columns: 1fr;
  }

  .knt-gallery-large {
    grid-column: auto;
  }

  .knt-gallery-mosaic a,
  .knt-gallery-more a,
  .knt-gallery-large {
    height: 240px !important;
  }
}
.knt-icon {
  width: 80px;
  height: 80px;
  border-radius: 24px;
  background: #f1dfc3;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 42px;
  margin-bottom: 24px;

  box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

.knt-how-grid strong {
  color: #c46b2f;
  font-size: 22px;
  display: block;
}
.knt-proof-mini {
  margin-top: 28px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.knt-proof-mini div {
  background: #f5f1e8;
  border-radius: 20px;
  padding: 18px;
  font-weight: 800;
  color: #1f1b16;
}

.knt-proof-mini span {
  display: block;
  font-size: 28px;
  margin-bottom: 8px;
}

@media (max-width: 575px) {
  .knt-proof-mini {
    grid-template-columns: 1fr;
  }
}
.knt-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 22px;
}

.knt-icon {
  width: 90px;
  height: 90px;
  border-radius: 24px;
  background: #f1dfc3;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 48px;

  box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

.knt-how-grid strong {
  font-size: 46px;
  line-height: 1;
  color: rgba(29,75,67,.10);
  font-weight: 900;
}
.knt-film-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.knt-film-card {
  display: block;
  overflow: hidden;
  border-radius: 30px;
  background: rgba(255,255,255,.08);
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 14px 36px rgba(0,0,0,.18);
}

.knt-film-thumb {
  position: relative;
  height: 210px;
  overflow: hidden;
  background: #000;
}

.knt-film-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: .82;
  transition: .4s;
}

.knt-film-card:hover img {
  transform: scale(1.06);
  opacity: 1;
}

.knt-film-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,.05));
}

.knt-play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  width: 66px;
  height: 66px;
  border-radius: 999px;
  background: #f0b35b;
  color: #1f1b16;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-weight: 900;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

.knt-film-content {
  padding: 24px;
}

.knt-film-content h3 {
  margin: 0 0 10px;
  font-size: 26px;
  color: #fff;
}

.knt-film-content p {
  margin: 0;
  line-height: 1.7;
  color: rgba(255,255,255,.72);
}

@media (max-width: 900px) {
  .knt-film-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 575px) {
  .knt-film-grid {
    grid-template-columns: 1fr;
  }

  .knt-film-thumb {
    height: 200px;
  }
}
.knt-future-trip {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0;
}

.knt-future-content {
  padding: 35px 40px;
  border-radius: 34px;

  background: linear-gradient(
    135deg,
    #f0b35b,
    #d89a41
  );

  color: #1f1b16;

  box-shadow: 0 18px 40px rgba(0,0,0,.15);
}

.knt-future-content span {
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .08em;
  font-size: 13px;
}

.knt-future-content h2 {
  margin: 14px 0;
  font-size: 42px;
}

.knt-future-content p {
  max-width: 700px;
  line-height: 1.7;
  font-size: 18px;
}

.knt-future-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.knt-future-tags b {
  background: rgba(255,255,255,.35);
  padding: 10px 16px;
  border-radius: 999px;
}
.knt-why {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px;
}

.knt-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.knt-why-grid article {
  background: #fff;
  border-radius: 34px;
  padding: 30px;
  box-shadow: 0 12px 35px rgba(0,0,0,.08);
  transition: .25s;
}

.knt-why-grid article:hover {
  transform: translateY(-4px);
}

.knt-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}

.knt-icon {
  width: 90px;
  height: 90px;
  border-radius: 24px;
  background: #f1dfc3;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 48px;

  box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

.knt-why-grid strong {
  font-size: 46px;
  line-height: 1;
  font-weight: 900;
  color: rgba(29,75,67,.10);
}

.knt-why-grid h3 {
  margin: 0 0 14px;
  font-size: 26px;
  color: #1d4b43;
}

.knt-why-grid p {
  margin: 0;
  color: #5c5248;
  line-height: 1.75;
  font-size: 16px;
}

@media (max-width: 900px) {

  .knt-why-grid {
    grid-template-columns: 1fr 1fr;
  }

}

@media (max-width: 600px) {

  .knt-why {
    padding: 45px 15px;
  }

  .knt-why-grid {
    grid-template-columns: 1fr;
  }

  .knt-icon {
    width: 75px;
    height: 75px;
    font-size: 40px;
  }

  .knt-why-grid strong {
    font-size: 38px;
  }

}
@media (max-width: 900px) {
  .knt-future-trip {
    margin-left: 15px;
    margin-right: 15px;
  }
}