html body {
    width: 100dvw;
    height: 100dvh;
    overflow: hidden;
}
body{
    display: flex;
    flex-direction: column;
}
:root {
    --color-blanco: #ffffff;
    --color-verde: #009c7a;
    --color-amarillo: #e6a800;
    --color-rojo: #ea2173;
    --color-azul: #4d70ae;
    --color-gris: #585858;
    --color-sombra: #00000060;
    --font-h2: clamp(1.75rem, 5vh, 2rem);
    --font-h1: clamp(2.2rem, 5vw, 2.5rem);
    --font-h3: clamp(1.25rem, 2.5vw, 1.5625rem);
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
    color: var(--color-gris);
}

main {
    background-color: #f7f9fc;
    width: 100%;
    height: calc(100% - 80px);
    overflow: hidden;
    overflow-y: auto;
}

section {
    overflow: hidden;
    width: 100%;
    opacity: 0;
    height: 100%;
}

p {
    font-size: clamp(1rem, 1.5vw, 1.25rem);
}

h2 {
    font-size: var(--font-h2);
}

h1 {
     font-size: var(--font-h1);
}

h3 {
     font-size: var(--font-h3);
    font-weight: bold;
}

li {
    font-size: clamp(1rem, 1.5vw, 1.25rem);
}

.linkHeader {
    font-size: clamp(1rem, 1.5vw, 1.25rem);
}

#portadaSubtitle {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
}

a {
    font-size: clamp(1rem, 1.5vw, 1.25rem);
}

/* Scrollbar styles */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--color-blanco);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: var(--color-rojo);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-verde);
}

.aparecer {
    opacity: 1;
    transform: translateY(0);
    animation: aparecer 1s ease forwards;
}

@keyframes aparecer {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive adjustments for small screens */
@media (max-width: 768px) {
    main {
        top: 60px;
        height: calc(100% - 60px);
    }
}

@media (max-width: 480px) {
    main {
        top: 50px;
        height: calc(100% - 50px);
    }
}
