/* base.css — fondamenta: font del sito, icone icomoon, animazioni.
   File originali: fonts.css, style.css, animate.css */

/* ===== fonts.css ===== */
/* ============================================================
   Font del sito — Inter (font variabile, self-hosted)
   Inter        -> testo e titoli
   Inter Tight  -> disponibile per titoli piu' compatti
   ============================================================ */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/Inter-VariableFont_opsz,wght.woff2") format("woff2");
}

@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/InterTight-VariableFont_wght.woff2") format("woff2");
}

/* ===== style.css ===== */
@font-face {
    font-family: "icomoon";
    src: url("../fonts/icomoon.eot");
    src: url("../fonts/icomoon.eot") format("embedded-opentype"), url("../fonts/icomoon.ttf") format("truetype"),
        url("../fonts/icomoon.woff") format("woff"), url("../images/icomoon.svg") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: "icomoon" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-gemini:before {
    content: "\e908";
}
.icon-cloud:before {
    content: "\e909";
}
.icon-gpt:before {
    content: "\e900";
}
.icon-menu:before {
    content: "\e901";
}
.icon-close:before {
    content: "\e902";
}
.icon-arrow-top:before {
    content: "\e903";
}
.icon-arrow-caret-down:before {
    content: "\e904";
}
.icon-arrow-circle:before {
    content: "\e905";
}
.icon-plus:before {
    content: "\e906";
}
.icon-micro:before {
    content: "\e907";
}

/* ===== animate.css ===== */
/* animate.css — versione ridotta
   L'originale definiva 73 animazioni; il sito ne usa 5:
   fadeInUp, fadeInDown, fadeInLeft, fadeInRight, bounceInScale.
   Le altre 68 sono state rimosse. */

.animated {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}


@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-20px);
        transform: translateY(-20px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-20px);
        -ms-transform: translateY(-20px);
        transform: translateY(-20px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}

@-webkit-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-20px);
        -ms-transform: translateX(-20px);
        transform: translateX(-20px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }
}

@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translateX(20px);
        transform: translateX(20px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translateX(20px);
        -ms-transform: translateX(20px);
        transform: translateX(20px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(20px);
        -ms-transform: translateY(20px);
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes bounceInScale {
    0% {
        opacity: 0;
        transform: scale(0.5);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.fadeInDown{-webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;}

.fadeInLeft{-webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;}

.fadeInRight{-webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;}

.fadeInUp{-webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;}

.bounceInScale{-webkit-animation-name: bounceInScale;
    animation-name: bounceInScale;}
