:root{
    --font-family: "Poppins", sans-serif;
    --section-padding-block: 64px;
    --section-padding-inline: clamp(24px, 6vw, 64px);
    --section-gap: 32px;
    --header-gap: 16px;
    --content-width: 900px;
    --section-title-size: clamp(32px, 5vw, 48px);
    --section-title-line-height: 1;
    --body-size: 14px;
    --body-line-height: 1.5;
}

@media (min-width: 768px){
    :root{
        --section-padding-block: 88px;
        --section-padding-inline: clamp(40px, 6vw, 64px);
        --section-gap: 48px;
        --header-gap: 20px;
        --content-width: 1120px;
        --section-title-size: clamp(48px, 6vw, 64px);
        --body-size: 16px;
    }
}

@media (min-width: 1024px){
    :root{
        --section-padding-block: 120px;
        --section-padding-inline: 64px;
        --section-gap: 64px;
        --header-gap: 24px;
        --content-width: 1312px;
        --section-title-size: clamp(56px, 5vw, 72px);
        --body-size: 18px;
    }
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body{
    width: 100%;
    min-height: 100%;
}

html{
    scroll-padding-top: 0;
}

[id]{
    scroll-margin-top: 0;
}

body{
    font-family: var(--font-family);
    overflow-x: hidden;
}

.skip-link{
    position: fixed;
    z-index: 2000;
    top: 8px;
    left: 8px;
    padding: 10px 14px;
    border-radius: 6px;
    background: #fff;
    color: #0003ff;
    font-weight: 700;
    text-decoration: none;
    transform: translateY(-150%);
}

.skip-link:focus{
    transform: translateY(0);
}

a:focus-visible,
button:focus-visible,
[tabindex="0"]:focus-visible{
    outline: 3px solid #ffce00;
    outline-offset: 3px;
}

.topbar,
.hero{
    padding-inline: var(--section-padding-inline);
}

.about--us,
.education-stages,
.contact-section{
    gap: var(--section-gap);
    padding: var(--section-padding-block) var(--section-padding-inline);
}

.about--us__header,
.contact-section__header{
    gap: var(--header-gap);
}

.about--us__header h2,
.education-stages > h2,
.contact-section__header h2{
    font-family: var(--font-family);
    font-size: var(--section-title-size);
    font-weight: 800;
    line-height: var(--section-title-line-height);
}

.about--us__header p,
.contact-section__header p{
    font-family: var(--font-family);
    font-size: var(--body-size);
    font-weight: 400;
    line-height: var(--body-line-height);
}
