.breadcrumb{
  padding-block:1.4rem 1.4rem;
  font-size:1.2rem;
  line-height:1;
  line-height:100%;
  letter-spacing:0.1em;
  color:var(--color-gray-1);
}

.breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  row-gap:0.4rem;
}

.breadcrumb__item{
  display:flex;
  cursor:text;
}
.breadcrumb__item::after{
  content:"/";
  padding:0 0.4rem;
}
.breadcrumb__item:last-child::after{
  display:none;
}

.breadcrumb__link{
  text-decoration-color:transparent;
  color:inherit;
}
.breadcrumb__link:hover, .breadcrumb__link:focus-visible{
  color:var(--color-red);
}
.breadcrumb__link:active{
  color:inherit;
}
.breadcrumb__link--current-page{
  color:var(--color-gray-4);
  pointer-events:none;
}

/*! Catalog */

.catalog-hgroup{
  display:flex;
  flex-direction:column-reverse;
  margin-top:2.6rem;
  margin-right:0.5rem;
  margin-left:auto;
  font-size:1.6rem;
  font-weight:700;
  letter-spacing:0.01em;
  color:var(--color-white);
}

.catalog-hgroup__title{
  font-size:3.6rem;
  font-weight:700;
  letter-spacing:-0.06em;
}
.catalog-list{
  display:flex;
  flex-direction:column;
  gap:4rem;
  margin-top:4rem;
}

.catalog-item{
  display:flex;
  flex-direction:column;
  gap:max(1.9vw, 4rem);
}

.catalog-item__content{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  padding-right:6.2rem;
}

.catalog-item__title{
  font-size:3rem;
  line-height:110%;
  font-weight:700;
  letter-spacing:-0.02em;
  color:var(--color-white);
}

.catalog-item__description{
  position:relative;
  font-size:1.3rem;
  line-height:151%;
}
.catalog-item__description::after{
  content:"";
  position:absolute;
  top:0.5rem;
  right:-6.2rem;
  display:none;
  aspect-ratio:1;
  width:4.1rem;
  -webkit-mask-image:url(../svg/layout/brand-icon.svg);
          mask-image:url(../svg/layout/brand-icon.svg);
  -webkit-mask-repeat:no-repeat;
          mask-repeat:no-repeat;
  -webkit-mask-position:center;
          mask-position:center;
  -webkit-mask-size:contain;
          mask-size:contain;
  background-color:var(--color-accent);
}

.catalog-item__button{
  margin-top:-0.1rem;
  margin-left:auto;
}

.catalog-item__cover{
  aspect-ratio:390/282;
  width:calc(100% + var(--container-padding) * 2);
  margin-left:calc(var(--container-padding) * -1);
}
.catalog-item__cover picture{
  height:100%;
}
.catalog-item:nth-child(even) .catalog-item__content{
  padding-right:0;
  padding-left:6.2rem;
  text-align:left;
}
.catalog-item:nth-child(even) .catalog-item__description{
  padding-right:0;
  padding-left:0;
}
.catalog-item:nth-child(even) .catalog-item__description::after{
  right:initial;
  left:-6.2rem;
  transform:scaleX(-1);
}
.catalog-item:nth-child(even) .catalog-item__button{
  margin-right:auto;
  margin-left:0;
}
.catalog-list__load-more{
  margin:0 auto 1.5rem;
}

/*! Catalog */
.hero:has(.article-header){
  display:flex;
  flex-direction:column;
}

.hero__container:has(.article-header){
  --container-padding:1.4rem;
  flex-grow:1;
  gap:2rem;
  padding-bottom:2.4rem;
}

.article-category{
  margin-top:2.5rem;
  margin-right:0.6rem;
  margin-left:auto;
  color:var(--color-white);
}

.article-category__caption{
  margin-bottom:-0.6em;
  font-size:0.7rem;
  letter-spacing:0.46em;
  text-transform:uppercase;
}

.article-category__title{
  font-size:3.6rem;
  font-weight:700;
  letter-spacing:-0.06em;
}

.article-header{
  display:flex;
  flex-direction:column;
  gap:2rem;
  margin-top:auto;
  color:var(--color-white);
}

.article-hgroup{
  display:flex;
  flex-direction:column;
  gap:1.6rem;
  max-width:45.8rem;
}

.article-hgroup__title{
  font-size:3rem;
  line-height:1;
  font-weight:700;
  letter-spacing:-0.04em;
  text-shadow:4px 5px 10px rgb(0, 0, 0);
  word-break:break-word;
  text-wrap:balance;
}

.article-heading__caption{
  font-size:1.8rem;
  text-shadow:4px 5px 10px rgb(0, 0, 0);
  text-wrap:balance;
}

.article-info{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  column-gap:1rem;
  row-gap:1rem;
  font-size:1.4rem;
  letter-spacing:0.02em;
  color:var(--color-white);
}

.article-info__item{
  display:flex;
  align-items:center;
  gap:0.4rem;
}
.article-info__item:not(:last-child)::after{
  content:"";
  display:block;
  width:2rem;
  height:0.1rem;
  margin-left:0.6rem;
  background-color:var(--color-white);
}
.article-info__item .icon{
  font-size:2.4rem;
}
.article-info__item .icon.article-info__graph-icon{
  margin-right:0.4rem;
  font-size:1.2rem;
}

.article-info__author{
  letter-spacing:-0.028em;
}
.article-content{
  --block-gap:4rem;
  display:flex;
  flex-direction:column;
}
.article-content blockquote{
  margin-bottom:var(--block-gap);
}

.article-content__block{
  position:relative;
  margin-bottom:var(--block-gap);
}
.article-content__block picture{
  --side-offset:2rem;
  opacity:0;
}
.article-content__block picture:not(:last-child){
  margin-bottom:var(--common-gap);
}

.article-content__block--icon{
  font-size:1.5rem;
  line-height:167%;
}
.article-content__block--icon::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  display:none;
  aspect-ratio:1;
  width:4.1rem;
  -webkit-mask-image:url(../svg/layout/brand-icon.svg);
          mask-image:url(../svg/layout/brand-icon.svg);
  -webkit-mask-repeat:no-repeat;
          mask-repeat:no-repeat;
  -webkit-mask-position:center;
          mask-position:center;
  -webkit-mask-size:contain;
          mask-size:contain;
  background-color:var(--color-gray-5);
}

.article-cover{
  width:calc(100% + var(--container-padding) * 2);
  margin-bottom:var(--block-gap);
  margin-left:calc(var(--container-padding) * -1);
  opacity:0;
}
.article-cover img{
  max-height:100dvh;
}

.article-content__divider{
  margin-bottom:var(--block-gap);
  padding:0;
}

.article-nav{
  display:none;
}
.article-nav a{
  --color:var(--color-gray-6);
}
.article-nav .icon{
  font-size:max(4vw, 7.7rem);
}

/*! Forms & Dialogs page */
.forms{
  display:flex;
  flex-wrap:wrap;
  gap:4rem;
}

.form-wrapper{
  width:100%;
}
.form-wrapper .form + .button{
  margin-top:1rem;
}

/*! Sliders & Galleries page */
.basic-slider{
  margin-bottom:4rem;
}
.basic-slider .swiper-slide{
  width:100%;
  max-width:80rem;
}
.basic-slider .slider-text{
  position:absolute;
  display:flex;
  justify-content:space-between;
  width:100%;
  height:100%;
  padding:4rem 5rem;
  color:var(--color-white);
}
.basic-slider .slider-text__wrapper{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.basic-slider .slider-text__wrapper .h2{
  flex-grow:1;
}
.basic-slider .slider-text__link{
  display:flex;
  align-items:flex-end;
  padding-bottom:3rem;
}
.basic-slider .slider-text__link a{
  text-decoration-color:transparent;
  color:inherit;
}
.basic-slider .slider-text__link a:hover{
  text-decoration-color:inherit;
}
.basic-slider .slider-text__link img{
  object-fit:cover;
}
.basic-slider .swiper-controls{
  z-index:0;
  width:100%;
}
.basic-slider .swiper-button-prev{
  z-index:1;
}
@media (min-width: 390px){
  .basic-slider .slider-text{
    flex-direction:column;
    padding:3rem 4rem;
  }
  .basic-slider .slider-text__wrapper{
    gap:1rem;
  }
  .basic-slider .h2{
    font-size:2rem;
  }
  .basic-slider p{
    font-size:1.6rem;
  }
  .basic-slider br{
    display:none;
  }
  .basic-slider .slider-text__link{
    padding-bottom:1rem;
  }
}
@media (min-width: 500px){
  .article-content__block--icon{
    padding-right:6rem;
  }
  .article-content__block--icon::after{
    display:block;
  }
}
@media (min-width: 768px){
  .breadcrumb{
    font-size:1.6rem;
  }
  .catalog-hgroup{
    margin-top:2.2rem;
    font-size:2rem;
  }
  .catalog-hgroup__title{
    font-size:4.8rem;
    line-height:124%;
  }
  .catalog-list{
    gap:0;
    width:calc(100% + var(--container-padding) * 2);
    margin-left:calc(var(--container-padding) * -1);
  }
  .catalog-item{
    flex-direction:row;
  }
  .catalog-item__content{
    justify-content:center;
    padding-block:4rem;
    padding-right:5.2rem;
    padding-left:3rem;
  }
  .catalog-item__description::after{
    right:-5.4rem;
    display:block;
  }
  .catalog-item__cover{
    flex-shrink:0;
    aspect-ratio:1;
    width:50%;
    height:auto;
    margin-left:0;
  }
  .catalog-item:nth-child(even){
    flex-direction:row-reverse;
  }
  .catalog-item:nth-child(even) .catalog-item__content{
    padding-right:3rem;
    padding-left:5.2rem;
  }
  .catalog-item:nth-child(even) .catalog-item__description::after{
    right:initial;
    left:-5.4rem;
  }
  .catalog-list__load-more{
    margin-top:4rem;
  }
  .hero__container:has(.article-header){
    --container-padding:3rem;
    padding-bottom:4rem;
  }
  .article-category{
    margin-right:0.4rem;
  }
  .article-category__title{
    font-size:4.8rem;
  }
  .article-header{
    gap:2.8rem;
  }
  .article-hgroup__title{
    font-size:3.6rem;
  }
  .article-heading__caption{
    font-size:2rem;
  }
  .article-content__block picture:not(:last-child){
    margin-bottom:0;
  }
  .article-content__block picture{
    float:left;
    width:calc(100% + var(--container-padding));
    max-width:32rem;
    margin-left:calc(var(--container-padding) * -1);
    padding-right:var(--side-offset);
    padding-bottom:4rem;
  }
  .article-content__block--icon{
    padding-right:12rem;
  }
  .article-content__block--icon::after{
    width:10rem;
  }
  .article-content__block--right picture{
    float:right;
    width:calc(100% + var(--container-padding));
    margin-right:calc(var(--container-padding) * -1);
    margin-left:0;
    padding-right:0;
    padding-bottom:4rem;
    padding-left:var(--side-offset);
  }
  .form-wrapper{
    flex:1 0 0;
  }
}
@media (min-width: 960px){
  .catalog-hgroup{
    margin-top:16%;
    font-size:clamp(2rem, 1.71875vw, 3.3rem);
  }
  .catalog-hgroup__title{
    font-size:clamp(4.8rem, 4.9479166667vw, 9.5rem);
    line-height:110%;
  }
  .catalog-heading__caption{
    padding-left:0.2em;
  }
  .catalog-list{
    margin-top:0;
  }
  .catalog-item__content{
    padding-block:max(1.9vw, 4rem);
  }
  .catalog-item__title{
    font-size:clamp(3rem, 2.6041666667vw, 5rem);
  }
  .catalog-item__description{
    font-size:max(0.83vw, 1.6rem);
    line-height:150%;
  }
  .catalog-list__load-more{
    margin:max(5rem, 2.4vw) auto max(2.5rem, 1.3vw);
  }
  .hero__container:has(.article-header){
    --container-padding:max(2vw, 3.9rem);
    gap:max(3vw, 6rem);
    padding-bottom:max(2.9vw, 6rem);
  }
  .article-category{
    margin-top:4rem;
    margin-right:2rem;
  }
  .article-category__caption{
    margin-bottom:0;
    padding-left:1em;
    font-size:max(0.5vw, 1rem);
    font-weight:700;
    letter-spacing:0.42em;
  }
  .article-category__title{
    font-size:clamp(4.8rem, 6.7857142857vw, 9.5rem);
  }
  .article-header{
    gap:max(1.5vw, 3rem);
  }
  .article-hgroup{
    gap:max(1.4vw, 3rem);
    max-width:55vw;
  }
  .article-hgroup__title{
    font-size:clamp(3.6rem, 3.8541666667vw, 7.4rem);
  }
  .article-heading__caption{
    font-size:clamp(2rem, 2.7142857143vw, 3.8rem);
  }
  .article-info{
    font-size:max(0.8vw, 1.6rem);
  }
  .article-content__block:not(.article-content__block--icon) > *:not(picture){
    max-width:50%;
    margin-left:auto;
  }
  .article-content__block picture{
    --side-offset:0;
    max-width:50%;
    padding-bottom:6rem;
  }
  .article-content__block--icon{
    font-size:max(0.9vw, 1.8rem);
    line-height:183%;
  }
  .article-content__block--right:not(.article-content__block--icon) > *:not(picture){
    margin-left:initial;
  }
  .article-content__block--right picture{
    float:right;
    padding-right:0;
    padding-left:var(--side-offset);
  }
}
@media (min-width: 1400px){
  .breadcrumb{
    padding-block:max(1.1vw, 2.2rem) max(1.4vw, 3rem);
    font-size:max(0.9vw, 1.8rem);
  }
  .catalog-hgroup{
    margin-top:15%;
    margin-right:max(0.4vw, 0.8rem);
    font-size:max(1.7vw, 3.3rem);
  }
  .catalog-hgroup__title{
    font-size:max(4.9vw, 9.5rem);
  }
  .catalog-list{
    gap:0;
    width:100vw;
    margin-left:calc(-50vw + 50%);
  }
  .catalog-item__content{
    gap:max(1.5vw, 4.4rem);
    padding-right:11vw;
    padding-block:max(1vw, 2rem);
    padding-left:4rem;
  }
  .catalog-item__description::after{
    right:calc(max(6.6vw, 12.7rem) * -1);
    width:max(4.6vw, 8.8rem);
  }
  .catalog-item__button{
    margin-top:calc(max(0.5vw, 1rem) * -1);
  }
  .catalog-item:nth-child(even) .catalog-item__content{
    padding-right:4rem;
    padding-left:11vw;
  }
  .catalog-item:nth-child(even) .catalog-item__description::after{
    left:calc(max(6.6vw, 12.7rem) * -1);
  }
  .catalog-list__load-more{
    margin:max(6rem, 3.1vw) auto max(3.5rem, 1.8vw);
  }
  .article-category{
    margin-top:7.5vw;
    margin-right:8.3vw;
  }
  .article-content{
    --block-gap:max(4.1vw, 8rem);
  }
  .article-content__block:not(.article-content__block--icon) > *:not(picture){
    max-width:44.7%;
    padding-right:max(2vw, 4rem);
  }
  .article-content__block picture{
    --side-offset:max(2vw, 4rem);
    width:calc(100vw - 50%);
    max-width:initial;
    margin-left:calc((100vw - 100%) / 2 * -1);
    padding-bottom:0;
  }
  .article-content__block--icon{
    padding-right:max(28.5vw, 54.3rem);
    font-size:max(1vw, 2rem);
  }
  .article-content__block--icon::after{
    top:max(3vw, 6rem);
    width:initial;
    height:100%;
    max-height:max(24vw, 46.2rem);
  }
  .article-content__block--right:not(.article-content__block--icon) > *:not(picture){
    padding-right:0;
    padding-left:max(2vw, 4rem);
  }
  .article-content__block--right picture{
    margin-right:calc((100vw - 100%) / 2 * -1);
    margin-left:0;
  }
  .article-cover{
    width:100vw;
    margin-left:calc(-50vw + 50%);
  }
  .article-nav{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:max(2.3vw, 4.3rem);
    margin:0 auto max(2.7vw, 5.2rem);
  }
}
@media (min-width: 1920px){
  .hero__container:has(.catalog-hgroup){
    --container-padding:0;
  }
  .catalog-item__content{
    padding-right:max(11vw, 22.8rem);
    padding-left:max(2.9vw, 6rem);
  }
  .catalog-item__title{
    font-size:max(1.8vw, 5rem);
  }
  .catalog-item:nth-child(even) .catalog-item__content{
    padding-right:max(2.9vw, 6rem);
    padding-left:max(11vw, 22.8rem);
  }
  .article-category__title{
    font-size:max(4.9vw, 9.5rem);
  }
  .article-hgroup__title{
    font-size:max(3.7vw, 7.4rem);
  }
  .article-heading__caption{
    font-size:max(1.9vw, 3.8rem);
  }
  .article-content__block picture{
    width:calc(100vw - 57.8%);
  }
  .article-nav{
    margin-bottom:max(4.4vw, 8.6rem);
  }
}
@media (max-width: 959.98px){
  .article-content{
    font-size:1.5rem;
  }
}
@media (max-width: 767.98px){
  .catalog-item__content{
    padding-right:0;
  }
  .catalog-item__button{
    width:fit-content;
    margin-left:initial;
  }
  .catalog-item:nth-child(even) .catalog-item__content{
    padding-left:0;
  }
}