img.icon {
    width: 3%;
    height: auto;
}



/* Homepage link buttons: base + hover animation (lift + soft shadow) */
.content-element a.link,
.link {
    font-size: 281%;
    font-style: normal;
    font-family: var(--main-font);
    margin-top: 0;
    text-decoration: none;
    color: rgba(0, 0, 233, 0.500);
    display: inline-block;
    opacity: 0.75;
}

.content-element a.link:visited,
.link:visited {
    color: rgba(0, 0, 233, 0.500);
    text-decoration: none;
}

.content-element a.link:hover,
.link:hover,
.content-element a.link:focus,
.link:focus {
    text-decoration: underline;
    color: rgb(0, 0, 233, 0.801);
    opacity: 1;
}

div.content-element {
    display: block;
    text-align: center;
}

/* Additional utility classes for inline styles */
.intro-title {
    max-width: 65%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    margin-top: 1.5%;
    margin-bottom: 0px;
    font-size: 400%;
    font-style: normal;
    font-family: var(--main-font);
}

.intro-subtitle {
    max-width: 65%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    margin-top: 0px;
    margin-bottom: 0px;
    font-size: 119%;
    font-style: italic;
    font-family: var(--main-font);
    font-weight: 300;
}

.intro-description {
    max-width: 65%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    margin-top: 0px;
    margin-bottom: 1%;
    font-size: 281%;
    font-style: normal;
    font-family: var(--main-font);
}

.contents-heading {
    text-align: center;
    margin-top: 0px;
    margin-bottom: 1%;
    font-size: 331%;
    font-style: italic;
    font-family: var(--main-font);
}

@media (max-width: 900px) {
    .intro-title,
    .intro-subtitle,
    .intro-description {
        max-width: 92%;
    }

    .intro-title {
        font-size: clamp(1.75rem, 7vw, 2.4rem);
    }

    .intro-subtitle {
        font-size: clamp(0.95rem, 3.8vw, 1.1rem);
    }

    .intro-description {
        font-size: clamp(1.3rem, 5.5vw, 1.9rem);
    }

    .contents-heading {
        font-size: clamp(1.6rem, 6.2vw, 2.2rem);
    }

    .content-element a.link,
    .link {
        font-size: clamp(1.45rem, 6vw, 2rem);
    }

    img.icon {
        width: clamp(1.2rem, 4.5vw, 1.7rem);
    }
}

@media (max-width: 600px) {
    .slide-left,
    .slide-right {
        animation-duration: 1500ms !important;
    }

    .content-element a.link,
    .link {
        display: inline;
        line-height: 1.45;
    }
}
