/* =========================================
   THE БЮРО — HERO
   ========================================= */

body,
body input,
body button,
body select,
body textarea {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
}

h1, h2, h3, h4, h5, h6,
#menu .nav > li > a,
.product-thumb .caption h4 a {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
}

.tb-hero-full {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  background-color: #F0EAED;
  background-image: url('/image/catalog/hero-baner.PNG');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* Высота hero */

@media (min-width: 1920px) {
  .tb-hero-full { height: 820px; }
}

@media (min-width: 1440px) and (max-width: 1919px) {
  .tb-hero-full { height: 720px; }
}

@media (min-width: 1200px) and (max-width: 1439px) {
  .tb-hero-full { height: 640px; }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .tb-hero-full { height: 560px; }
}

/* Overlay */

.tb-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.tb-hero-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(240,234,237,0.78) 0%,
      rgba(240,234,237,0.52) 18%,
      rgba(240,234,237,0.24) 34%,
      rgba(240,234,237,0.00) 56%
    );
}

.tb-hero-overlay::after {
  content: "";
  position: absolute;
  left: -6%;
  bottom: -8%;
  width: 52%;
  height: 62%;
  background: radial-gradient(
    ellipse at left bottom,
    rgba(240,234,237,0.62) 0%,
    rgba(240,234,237,0.34) 38%,
    rgba(240,234,237,0.00) 72%
  );
}

/* Текст */

.tb-hero-text {
  position: absolute;
  left: 64px;
  bottom: 128px;
  max-width: 500px;
  z-index: 3;
  pointer-events: auto;
}

.tb-hero-text h1 {
  margin: 0 0 24px;
  font-size: 58px;
  line-height: 0.96;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #1E1E1E;
}

.tb-hero-text p {
  margin: 0 0 12px;
  max-width: 420px;
  font-size: 23px;
  line-height: 1.55;
  font-weight: 300;
  letter-spacing: -0.01em;
  color: #4A4A4A;
}

.tb-hero-text p:last-child {
  margin-bottom: 0;
}

/* Кнопки */

.tb-hero-buttons {
  display: flex;
  gap: 14px;
  margin-top: 60px;
  flex-wrap: wrap;
}

.tb-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid #1E1E1E;
  background: transparent;
  color: #1E1E1E;
  text-decoration: none;
  font-size: 13px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: all .25s ease;
}

.tb-btn-outline:hover {
  background: #1E1E1E;
  color: #F0EAED;
}

/* 1600–1919 */

@media (min-width:1600px) and (max-width:1919px){

  .tb-hero-text{
    left:72px;
    bottom:128px;
    max-width:520px;
  }

  .tb-hero-text h1{
    font-size:60px;
  }

  .tb-hero-text p{
    font-size:24px;
  }

}

/* 1200–1439 */

@media (min-width:1200px) and (max-width:1439px){

  .tb-hero-text{
    left:48px;
    bottom:96px;
    max-width:420px;
  }

  .tb-hero-text h1{
    font-size:46px;
  }

  .tb-hero-text p{
    font-size:19px;
    line-height:1.5;
  }

}

/* Планшет */

@media (min-width:768px) and (max-width:1199px){

  .tb-hero-text{
    left:36px;
    bottom:72px;
    max-width:360px;
  }

  .tb-hero-text h1{
    font-size:40px;
  }

  .tb-hero-text p{
    font-size:17px;
    line-height:1.5;
  }

}

/* Мобильная версия */

@media (max-width:767px){

  .tb-hero-full{
    height:auto;
    min-height:0;
    background-position:center;
    background-size:cover;
  }

  .tb-hero-overlay{
    position:static;
    width:100%;
    height:auto;
    pointer-events:auto;
  }

  .tb-hero-overlay::before,
  .tb-hero-overlay::after{
    display:none;
  }

  .tb-hero-text{
    position:static;
    max-width:none;
    padding:26px 20px 22px;
    background:#F0EAED;
  }

  .tb-hero-text h1{
    margin:0 0 14px;
    font-size:32px;
    line-height:1.08;
  }

  .tb-hero-text p{
    margin:0 0 10px;
    max-width:none;
    font-size:17px;
    line-height:1.5;
  }

  .tb-hero-buttons{
    flex-direction:column;
    gap:10px;
    margin-top:22px;
  }

  .tb-btn-outline{
    width:100%;
    min-height:44px;
    font-size:12px;
  }

  .tb-hero-full::after{
    content:"";
    display:block;
    width:100%;
    padding-bottom:58%;
  }

}