 @import url("https://use.typekit.net/rfv6jzn.css");
 *{
      -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
 }
.fade-in {
     opacity: 0;
     transition: opacity 0.5s ease-in-out, transform 0.15s ease-in-out, background 0.15s ease-in-out;
 }

 body {
     margin: 0;
     font-family: "korolev", sans-serif;
     background-color: #F4ECE8;
     color: #322F2C;
     min-height: 100vh;
     display: grid;
     place-items: self-end;
     font-family: "articulat-cf", sans-serif;
font-weight: 600;
font-style: normal;
     font-size: 16px;
     line-height: 1;
      max-width: 1600px;
      margin: auto;
 }
 h1{
    font-weight: 700;
 }
header{
    position: fixed;
    z-index: 2;
    width: calc(100% - 40px);
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    padding: 10px 20px;
        max-width: calc(1600px - 40px);
        margin: auto;
}
nav{
    display: flex;
}
main{
    width: 100%;
}
.top-section{
        max-width: 470px;
    padding: 100px 20px 10px 20px;
} 
.top-section ul{
    display: none;
}
header ul{
    padding-left: 0px;
    margin: 0px;
    display: flex;
    margin: auto;
}
header ul li{
    padding-left: 30px;
    list-style: none;
    position: relative;
        padding-left: 20px;
    margin-left: 10px;
}
header ul li:before{
content: "";
width: 4px;
height: 4px;
position: absolute;
background-color: #222;
    top: calc(50% - 2px);
    left: 10px;
    border-radius: 4px;
}
header img{
    max-width: 180px;
    height: auto;
    max-width: clamp(200px, 18vw, 300px);
}
 .gallery {
    max-width: calc(100% - 40px);
     margin: 24px auto;
     font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
     position: relative;
 }

 .stage {
     position: relative;
     height: clamp(400px, 66vh, 1000px);
     background: #f3f3f3;
     border-radius: 14px;
     overflow: hidden;
 }
 .stage .btn{
position: absolute;
top: 0;
bottom: 0;
width: 50%;
opacity: 0;
 }
   .stage .btn.prev{
   left: 0;
  }
  .stage .btn.next{
    right: 0;
  }
 .stage img {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     opacity: 0;
       transition: opacity 650ms cubic-bezier(.22, .61, .36, 1); /* slower + smoother */
  will-change: opacity; /* hint to browser */
  transform: translateZ(0); /* optional: helps on some devices */
     pointer-events: none;
     user-select: none;
 }

 .stage img.is-active {
     opacity: 1;
     pointer-events: auto;
 }

 .caption {
     font-size: 14px;
     line-height: 1.35;
     color: #222;
     min-height: 1.35em;
     /* prevents layout jump */
 }

 .controls {
     display: flex;
     align-items: center;
     gap: 12px;
     color: rgb(0,0,0,0.25);
     background-color: rgb(255,255,255,0.6);
     backdrop-filter: blur(4px);
     border-radius: 20px;
     border: 1px solid white;
     max-width: max-content;
    padding: 5px 15px;
    position: absolute;
        bottom: 20px;
    right: 20px;
 }


 .dots {
     display: flex;
     gap: 6px;
     align-items: center;
     justify-content: center;
     flex: 1;
 }

 .dot {
     width: 8px;
     height: 8px;
     border-radius: 999px;
     border: none;
     background: rgb(0,0,0,0.3);
     padding: 0;
     cursor: pointer;
     opacity: .6;
 }

 .dot[aria-current="true"] {
     background: #111;
     opacity: 1;
 }

 


 h1 {
     
     font-size: clamp(34px, 3.4vw, 40px);
     margin: 0;
     font-weight: 700;
 }

 h2 {
     font-size: clamp(18px, 2vw, 24px);
     margin-bottom: 10px;
 }

 p {
     margin: 0;
     font-size: 18px;
 }

 a {
     color: #14222B;
     text-decoration: none;
 }

  @media screen and (max-width:760px) {
    .top-section ul{
    display: block;
    padding-left: 0px;
    margin: 0;
    margin-top: 20px;
}
  .top-section ul li:before{
    content: "";
    width: 4px;
    height: 4px;
    position: absolute;
    background-color: #222;
    top: calc(50% - 2px);
    left: 2px;
    border-radius: 4px;
}
  .top-section ul li{
    position: relative;
    padding: 3px 0px 3px 14px;
    list-style: none;
  }
  h1{
        max-width: 350px;
  }
header nav{
    display: none;
}
 }
 @media screen and (max-width:500px) {
     .stage {
     height: clamp(400px, 54vh,700px);

 }

 }