body {
    margin: 0;
    padding: 0;
}
.outer-wrapper {
    width: 100vh;
    height: 100vw;
    transform: rotate(-90deg) translateX(-100vh);
    transform-origin: top left;
    overflow-y: scroll;
    overflow-x: hidden;
    position: absolute;
    scrollbar-width: none;
    -ms-overflow-style: none;

    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}
.wrapper {
    display: flex;
    flex-direction: row;
    width: 300vw;
    transform: rotate(90deg) translateY(-100vh);
    transform-origin: top left;
}
.slide {
    width: 100vw;
    height: 100vh;

    scroll-snap-align: start;
    position: relative;
    flex-shrink: 0;
}

.one {
    background-image: linear-gradient(to right, #330101 97%, #36454F);
}
.first-name {
    position: absolute;
    top: 100px;
    left: 56px;
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: clamp(64px, 8vw, 112px);
    font-weight: 900;
    color: #ffffff;
    letter-spacing: 0.04em;
    line-height: 1;
 
    text-shadow:
        4px 4px 0px rgba(0,0,0,0.5),
        0 0 60px rgba(180,30,30,0.35);
}
.about {
    position: absolute;
    top: 70%;
    left: 56px;
    transform: translateY(-50%);
    max-width: 420px;
}
.about-label {
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: clamp(22px, 3vw, 36px);
    color: #cc3333;
    letter-spacing: 0.12em;
    margin: 0 0 12px 0;
    text-transform: uppercase;
}
.about-text {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(14px, 1.4vw, 18px);
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.75;
    margin: 0;
    border-left: 2px solid #cc3333;
    padding-left: 18px;
}
.last-name {
    position: absolute;
    bottom: 150px;
    right: 96px;
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: clamp(64px, 8vw, 112px);
    font-weight: 900;
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: 0.04em;
    line-height: 1;
 
    text-shadow:
        4px 4px 0px rgba(0,0,0,0.5),
        0 0 60px rgba(180,30,30,0.35);
}

.two {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at center, rgba(255,255,255,0.12), transparent 35%),
        linear-gradient(135deg, #111820, #36454F);
}
.uni-name {
    position: absolute;
    top: 60px;
    left: 56px;
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: clamp(64px, 8vw, 112px);
    font-weight: 900;
    color: #ffffff;
    letter-spacing: 0.04em;
    line-height: 1;
 
    text-shadow:
        4px 4px 0px rgba(0,0,0,0.5),
        0 0 60px rgba(54, 69, 79, 1);
}
.masters-name {
    position: absolute;
    top: 200px;
    left: 56px;
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: clamp(64px, 8vw, 112px);
    font-weight: 900;
    color: #ffffff;
    letter-spacing: 0.04em;
    line-height: 1;
 
    text-shadow:
        4px 4px 0px rgba(0,0,0,0.5),
        0 0 60px rgba(54, 69, 79, 1);
}
.about_2nd {
    position: absolute;
    top: 70%;
    left: 56px;
    transform: translateY(-50%);
    max-width: 420px;
}
.about-label_2nd {
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: clamp(22px, 3vw, 36px);
    color: #cc3333;
    letter-spacing: 0.12em;
    margin: 0 0 12px 0;
    text-transform: uppercase;
}
.about-text_2nd {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(14px, 1.4vw, 18px);
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.75;
    margin: 0;
    border-left: 2px solid #cc3333;
    padding-left: 18px;
}
#modelCanvas {
    position: absolute;
    top: 40%;
    left: 50%;
    width: 550px;
    height: 550px;
    transform: translate(-50%, -50%);
    z-index: 2;
}
.masters-name2nd {
    position: absolute;
    bottom: 250px;
    right: 400px;
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: clamp(64px, 8vw, 112px);
    font-weight: 900;
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: 0.04em;
    line-height: 1;
 
    text-shadow:
        4px 4px 0px rgba(0,0,0,0.5),
        0 0 60px rgba(54, 69, 79, 1);
}
.masters-name3rd {
    position: absolute;
    bottom: 100px;
    right: 66px;
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: clamp(64px, 8vw, 112px);
    font-weight: 900;
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: 0.04em;
    line-height: 1;
 
    text-shadow:
        4px 4px 0px rgba(0,0,0,0.5),
        0 0 60px rgba(54, 69, 79, 1);
}

.three {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 30% 45%, rgba(255,255,255,0.10), transparent 30%),
        linear-gradient(135deg, #111820, #36454F);
}
.third-slide-image {
    position: absolute;
    top: 50%;
    left: 35%;
    width: 750px;
    height: 750px;
    transform: translate(-50%, -50%);
    object-fit: cover;
    border-radius: 24px;
    z-index: 0;
}
.contacts-label {
    position: absolute;
    bottom: 250px;
    right: 250px;
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: clamp(64px, 8vw, 112px);
    font-weight: 900;
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: 0.04em;
    line-height: 1;
 
    text-shadow:
        4px 4px 0px rgba(0,0,0,0.5),
        0 0 60px rgba(54, 69, 79, 1);
}
.contacts {
    position: absolute;
    bottom: 230px;
    right: 400px;
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(14px, 1.4vw, 18px);
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.75;
 
}

.contacts a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
}

.contacts a:hover {
    color: #cc3333;
}

::-webkit-scrollbar {
    display:none;
}