@font-face {
    font-family: 'Montserrat';
    src: url('fonts/Montserrat-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'HK Grotesk';
    src: url('fonts/HKGrotesk-Bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Stavok Grotesque';
    src: url('fonts/StavokGrotesque-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'TT Squares';
    src: url('fonts/TT Squares Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    background: #000;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    color: #fff;
    font-family: 'Montserrat', Arial, sans-serif;
}

.container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    padding: 53px 21px 0 21px; /* 46px * 1.15 */
}

.main-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: auto 0;
}

.question-mark {
    font-family: 'HK Grotesk', Arial, sans-serif;
    color: #fff;
    font-size: 177px; /* 160px * 1.3 */
    margin-bottom: 23px; /* уменьшено расстояние до текста */
    font-weight: normal;
    animation: rotate 4.5s linear infinite;
}

@keyframes rotate {
    0% { transform: rotate(0deg);}
    100% { transform: rotate(360deg);}
}

.text {
    margin-bottom: 74px; /* 90px * 0.4 */
    text-align: center;
}

.line1, .line2 {
    font-family: 'TT Squares', Arial, sans-serif;
    font-size: 47px; /* 54px * 1.3 */
    color: #fff;
    line-height: 0.8;
    font-weight: normal;
}

.line2 {
    margin-top: 9px; /* 10px * 1.3 */
}

@media (max-width: 900px) {
    .question-mark { font-size: 120px; }
    .line1, .line2 { font-size: 36px; }
    .line2 { margin-top: 8px; }
    .text { margin-bottom: 32px; }
}

@media (max-width: 600px) {
    .question-mark { font-size: 70px; }
    .line1, .line2 { font-size: 22px; }
    .line2 { margin-top: 5px; }
    .text { margin-bottom: 20px; }
}

.button {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #000;
    font-family: 'Montserrat', Arial, sans-serif;
    font-weight: 300;
    font-size: 36px; /* 21px * 1.3 */
    border: none;
    border-radius: 12px; /* 7px * 1.3 */
    padding: 21px 53px; /* 12px 31px * 1.3 */
    text-decoration: none;
    margin-bottom: 74px; /* 36px * 1.3 */
    transition: background 0.2s, color 0.2s;
    box-shadow: 0 2px 16px rgba(0,0,0,0.05);
    animation: flicker-brightness 7s infinite;
}

.button span {
    animation: flicker-brightness 7s infinite;
}

@keyframes flicker-brightness {
    0%, 100% { filter: brightness(1); }
    10% { filter: brightness(0.7); }
    20% { filter: brightness(1.2); }
    30% { filter: brightness(0.8); }
    40% { filter: brightness(1.1); }
    50% { filter: brightness(0.6); }
    60% { filter: brightness(1.2); }
    70% { filter: brightness(0.9); }
    80% { filter: brightness(1.1); }
    90% { filter: brightness(0.8); }
}

.button:hover, .button:focus {
    background: #f2f2f2;
    color: #111;
}

@media (max-width: 900px) {
    .button {
        font-size: 28px;
        padding: 16px 40px;
        margin-bottom: 32px;
    }
}

@media (max-width: 600px) {
    .button {
        font-size: 16px;
        padding: 10px 18px;
        margin-bottom: 20px;
    }
}

.description {
    color: #a6a6a6;
    font-family: 'Stavok Grotesque', Arial, sans-serif;
    font-size: 22px; /* 14px * 1.3 */
    text-align: center;
    max-width: 1610px; /* 900px * 1.3 */
    margin-bottom: 0;
    line-height: 1.6;
    word-break: break-word;
}

@media (max-width: 900px) {
    .description { font-size: 18px; }
}
@media (max-width: 600px) {
    .description { font-size: 12px; }
}

.footer {
    font-size: 22px; /* 21px * 1.15 */
    padding-bottom: 41px; /* 36px * 1.15 */
    margin-top: auto;
    color: #fff;
    background: transparent;
    width: 100%;
    text-align: center;
    letter-spacing: 0.02em;
    font-family: 'Stavok Grotesque', Arial, sans-serif;
}

@media (max-width: 900px) {
    .footer { font-size: 18px; }
}
@media (max-width: 600px) {
    .footer { font-size: 12px; }
}

* {
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
}