:root {
    
    --main-padding: 50px;
    --title-margin-top: 120px;
    --text-margin-top: 70px;
    --text-margin-bottom: 150px;
    
    --title-font-size: 40px;
    --text-font-size: 20px;
    
    --max-width: 1200px;
    
    --scale: 1;
}

/* 7680px */
@media screen and (min-width: 7680px) {
    :root {
        --scale: 4;
    }
}

/* 5760px */
@media screen and (min-width: 5760px) and (max-width: 7679px) {
    :root {
        --scale: 3;
    }
}

/* 3840px */
@media screen and (min-width: 3840px) and (max-width: 5759px) {
    :root {
        --scale: 2;
    }
}

/* 2880px */
@media screen and (min-width: 2880px) and (max-width: 3839px) {
    :root {
        --scale: 1.5;
    }
}

/* 2560px */
@media screen and (min-width: 2560px) and (max-width: 2879px) {
    :root {
        --scale: 1.333; 
    }
}

/* 2400px */
@media screen and (min-width: 2400px) and (max-width: 2559px) {
    :root {
        --scale: 1.25; 
    }
}

/* 2133px */
@media screen and (min-width: 2133px) and (max-width: 2399px) {
    :root {
        --scale: 1.111; 
    }
}

/* 1920px */
@media screen and (min-width: 1920px) and (max-width: 2132px) {
    :root {
        --scale: 1;
    }
}

/* 1728px */
@media screen and (min-width: 1728px) and (max-width: 1919px) {
    :root {
        --scale: 0.9; 
    }
}

/* 1600px */
@media screen and (min-width: 1600px) and (max-width: 1727px) {
    :root {
        --scale: 0.833; 
    }
}

/* 1536px */
@media screen and (min-width: 1536px) and (max-width: 1599px) {
    :root {
        --scale: 0.8; 
    }
}

/* 1366px */
@media screen and (min-width: 1366px) and (max-width: 1535px) {
    :root {
        --scale: 0.711; 
    }
}

/* 1280px */
@media screen and (min-width: 1280px) and (max-width: 1365px) {
    :root {
        --scale: 0.667; 
    }
}

/* 1097px */
@media screen and (min-width: 1097px) and (max-width: 1279px) {
    :root {
        --scale: 0.571; 
    }
}

/* 1024px */
@media screen and (min-width: 1024px) and (max-width: 1096px) {
    :root {
        --scale: 0.533; 
    }
}

/* 960px */
@media screen and (min-width: 960px) and (max-width: 1023px) {
    :root {
        --scale: 0.5; 
    }
}

/* 769px */
@media screen and (min-width: 769px) and (max-width: 959px) {
    :root {
        --scale: 0.4; 
    }
}

/* Мобильная версия до 768px */
@media screen and (max-width: 768px) {
    :root {
        
        --scale: 1;
        --main-padding: 30px;
        --title-margin-top: 110px;
        --title-font-size: 28px;
        --text-font-size: 16px;
        --text-margin-top: 0px;
        --text-margin-bottom: 50px;
        --max-width: 100%;
    }
}

@media screen and (max-width: 480px) {
    :root {
        --title-margin-top: 90px;
        --title-font-size: 24px;
        --text-font-size: 14px;
        --text-margin-bottom: 40px;
        --main-padding: 24px;
    }
}

.approval-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 var(--main-padding);
}

.approval-title {
    font-family: 'Russo One', sans-serif;
    font-size: calc(var(--title-font-size) * var(--scale));
    color: white;
    text-align: center;
    margin: calc(var(--title-margin-top) * var(--scale)) 0 0 0;
    max-width: calc(var(--max-width) * var(--scale));
    width: 100%;
    box-sizing: border-box;
}

.approval-text {
    font-family: 'Golos Text', sans-serif;
    font-size: calc(var(--text-font-size) * var(--scale));
    color: white;
    text-align: justify;
    text-justify: inter-word;
    margin: calc(var(--text-margin-top) * var(--scale)) 0 calc(var(--text-margin-bottom) * var(--scale)) 0;
    max-width: calc(var(--max-width) * var(--scale));
    width: 100%;
    box-sizing: border-box;
    line-height: 1.6;
}

.policy-link {
    color: #ffffff;
    text-decoration: underline;
    font-weight: normal;
    transition: opacity 0.3s ease;
}

.policy-link:hover {
    text-decoration: none;
    opacity: 0.8;
}

/* Для мобильной версии */
@media screen and (max-width: 768px) {
    .policy-link {
        word-break: break-word; 
    }
}