/*  Fuentes  */
@font-face {
    font-family: 'FTPolar Regular';
    src: url('../fonts/FTPolar-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FTPolar Medium';
    src: url('../fonts/FTPolar-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Grotesk Semibold';
    src: url('../fonts/Grotesk-Semibold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

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

:root {
    --font-400: 'FTPolar Regular', -apple-system, sans-serif;
    --font-500: 'FTPolar Medium', -apple-system, sans-serif;
    --font-600: 'Grotesk Semibold', -apple-system, sans-serif;
    --blanco-primario: #fffffe;
    --blanco-secundario: #fafafb;
    --blanco-opacity: rgba(255, 255, 255, 0.58);
    --negro-primario: #1d1d1f;
    --hf-duracion: 1400ms;
    --hf-delay: 1900ms;
    --divider-duracion: 1900ms;
    --divider-delay: 7500ms;
}

@keyframes letterSpan {
    0% {
        transform: translateZ(400px) scaleX(2);
        opacity: 0;
            }
    40% {
        opacity: 0.6;
    }
    100% {
        letter-spacing: 0;
        transform: translateZ(0) scaleX(1);
        opacity: 1;
    }
}

@keyframes animateHeader {
    0% {
        opacity: 0;
        transform: translateY(-4rem) scale(0.3);
    }
    70% {
        transform: translateY(0.0625rem) scale(1.02);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes vibrate {
    0% {
        transform: translateX(0);
    }
    25% {
        transform: translateX(-3px);
    }
    50% {
        transform: translateX(3px);
    }
    75% {
        transform: translateX(-3px);
    }
    100% {
        transform: translateX(0);
    }
}

@keyframes expandDivider {
    0% {
        opacity: 1;
        transform: scaleX(0);
    }
    100% {
        opacity: 1;
        transform: scaleX(1);
    }
}

@keyframes textSentense {
    0% {
        visibility: visible;
        opacity: 0;
        transform: translateX(100%);
    }
    100% {
        visibility: visible;
        opacity: 1;
        transform: translateX(0);
    }
}


@keyframes animateFooter {
    0% {
        opacity: 0;
        transform: translateY(4rem) scale(0.3);
    }
    70% {
        transform: translateY(-0.0625rem) scale(1.02);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow-x: hidden;
    overflow-y: auto;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    color: transparent;
    font-family: var(--font-400);
    font-size: 1rem;
    background-color: var(--negro-primario);
    -webkit-tap-highlight-color: transparent;
}

::-moz-selection {
    color: var(--negro-primario);
    background-color: var(--blanco-primario);
}

::selection {
    color: var(--negro-primario);
    background-color: var(--blanco-primario);
}

header {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    height: 3rem;
}

.header-content {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    width: 100%;
    max-width: 100%;
    padding: 0.313rem 1.125rem;
    opacity: 0;
    will-change: transform, opacity;
    transform: translateY(-4rem);
    animation: animateHeader var(--hf-duracion) ease-out var(--hf-delay) 1 forwards;
    user-select: none;
}

.header-content h2 {
    color: var(--blanco-secundario);
    font-family: var(--font-500);
    font-size: 1.0625rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    transition: opacity 800ms ease-in-out;
}

.header-content h2.fade-out {
    opacity: 0;
}

.header-links {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 0.6875rem;
}

.header-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-grow: 0;
    flex-shrink: 0;
    width: 1.875rem;
    height: 1.875rem;
    padding: 0.3125rem;
    border-radius: 50%;
    text-decoration: none;
    background-color: var(--blanco-secundario);
    will-change: transform;
    transition: transform 300ms ease;
    cursor: pointer;
    touch-action: manipulation;
}

.header-account {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-grow: 0;
    flex-shrink: 0;
    width: auto;
    max-width: 100%;
    height: 1.875rem;
    padding: 0.3125rem 0.625rem;
    border-radius: 5rem;
    text-decoration: none;
    background-color: var(--blanco-secundario);
    will-change: transform;
    transition: transform 300ms ease;
    cursor: pointer;
    touch-action: manipulation;
}

.header-icon {
    display: block;
    width: auto;
    height: auto;
}

.header-span {
    font-family: var(--font-400);
    font-size: 0.8125rem;
    letter-spacing: 0.01875em;
    white-space: nowrap;
}

.header-link:hover,
.header-link:focus,
.header-account:hover,
.header-account:focus {
    transform: scale(0.95);
}

.section-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
}

.divider {
    width: calc(100% - 2.5rem);
    height: 0.6998px;
    background-color: var(--blanco-opacity);
    opacity: 0;
    transform: scaleX(0);
    transform-origin: center;
    animation: expandDivider var(--divider-duracion) ease-out var(--divider-delay) 1 forwards;
}

main {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
}

.main-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.0125rem;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    padding: 0.313rem 1.5rem 0.313rem 1.125rem;
}

.sentence-part {
    visibility: hidden;
    width: 100%;
    color: var(--blanco-primario);
    font-family: var(--font-600);
    font-size: 2.375rem;
    font-weight: ;
    font-feature-settings: 'salt' 1;
    line-height: 1;
    /*letter-spacing: -0.028125em;*/
    opacity: 0;
    will-change: transform, opacity;
    transform: translateX(100%);
    animation: textSentense 1000ms ease-out forwards;
}

.sentence-part:nth-of-type(1) {
    animation-delay: 3200ms;
}

.sentence-part:nth-of-type(2) {
    animation-delay: 3600ms;
}

.sentence-part:nth-of-type(3) {
    animation-delay: 4000ms;
}

.sentence-part:nth-of-type(4) {
    animation-delay: 4400ms;
}

.sentence-part:nth-of-type(5) {
    animation-delay: 4800ms;
}

.sentence-part:nth-of-type(6) {
    animation-delay: 5200ms;
}

.sentence-part:nth-of-type(7) {
    animation-delay: 5600ms;
}

footer {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.313rem;
    width: 100%;
    max-width: 100%;
    padding: 0.625rem;
    opacity: 0;
    will-change: transform, opacity;
    transform: translateY(4rem);
    animation: animateFooter var(--hf-duracion) ease-out var(--hf-delay) 1 forwards;
}

.footer-content > p {
    color: var(--blanco-secundario);
    font-family: var(--font-500);
    font-size: 0.5rem;
    font-weight: 500;
    font-feature-settings: 'case' 1, 'tnum' 1;
    letter-spacing: 0.03125em;
    text-transform: uppercase;
}

.tagline {
    opacity: 0;
    will-change: opacity;
    transition: opacity 100ms ease;
    user-select: none;
}

/*  MÓVIL - VERTICAL  */
@media (min-width: 375px) and (max-width: 389px) {
    html {
        font-size: 16.5px;
    }
    header {
        height: 3.125rem;
    }
    .sentence-part {
        font-size: 2.46875rem;
    }
}

@media (min-width: 390px) and (max-width: 404px) {
    html {
        font-size: 17px;
    }
    header {
        height: 3.275rem;
    }
    .sentence-part {
        font-size: 2.5625rem;
    }
}

@media (min-width: 405px) and (max-width: 419px) {
    html {
        font-size: 18px;
    }
    header {
        height: 3.43125rem;
    }
    .sentence-part {
        font-size: 2.65625rem;
    }
}

@media (min-width: 420px) and (max-width: 434px) {
    html {
        font-size: 19px;
    }
    header {
        height: 3.566875rem;
    }
    .sentence-part {
        font-size: 2.75rem;
    }
}

@media (min-width: 435px) and (max-width: 449px) {
    html {
        font-size: 20px;
    }
    header {
        height: 3.6625rem;
    }
    .sentence-part {
        font-size: 2.84375rem;
    }
}

@media (min-width: 450px) and (max-width: 464px) {
    html {
        font-size: 21px;
    }
    header {
        height: 3.78125rem;
    }
    .sentence-part {
        font-size: 2.9375rem;
    }
}

@media (min-width: 465px) and (max-width: 479px) {
    html {
        font-size: 22px;
    }
    header {
        height: 3.9rem;
    }
    .sentence-part {
        font-size: 3.03125rem;
    }
}

@media (min-width: 480px) and (max-width:499px) {
    html {
        font-size: 23px;
    }
    header {
        height: 4.0125rem;
    }
    .sentence-part {
        font-size: 3.125rem;
    }
}

/*  MÓVIL - HORIZONTAL  */
@media (min-width: 500px) and (max-width: 779px) and (orientation: landscape) {
    header {
        height: 2.5rem;
    }
    .header-content {
        max-width: 80%;
    }
    .header-content h2 {
        font-size: 0.9125rem;
    }
    .header-content a {
        /*padding: 0.4125rem 0.75rem 0.36875rem 0.75rem;*/
        font-size: 0.675rem;
    }
    .divider {
        max-width: calc(80% - 2.5rem);
    }
    .main-content {
        max-width: 80%;
    }
    .sentence-part {
        font-size: 1.1875rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 0.5875rem;
    }
    .footer-content {
        gap: 0.1875rem;
        padding: 0.375rem;
    }
    .footer-content > p {
        font-size: 0.40625rem;
    }
}
@media (min-width: 780px) and (max-width: 849px) and (orientation: landscape) {
    header {
        height: 2.6875rem;
    }
    .header-content {
        max-width: 80%;
    }
    .header-content h2 {
        font-size: 0.98125rem;
    }
    .header-content a {
        /*padding: 0.425rem 0.775rem 0.39375rem 0.775rem;*/
        font-size: 0.71875rem;
    }
    .divider {
        max-width: calc(80% - 2.5rem);
    }
    .main-content {
        max-width: 80%;
    }
    .sentence-part {
        font-size: 1.29375rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 0.64375rem;
    }
    .footer-content {
        gap: 0.25rem;
        padding: 0.4375rem;
    }
    .footer-content > p {
        font-size: 0.45rem;
    }
}
@media (min-width: 850px) and (max-width: 894px) and (orientation: landscape) {
    header {
        height: 2.8125rem;
    }
    .header-content {
        max-width: 82%;
    }
    .header-content h2 {
        font-size: 1.05rem;
    }
    .header-content a {
        /*padding: 0.44375rem 0.8rem 0.4125rem 0.8rem;*/
        font-size: 0.75rem;
    }
    .divider {
        max-width: calc(82% - 2.5rem);
    }
    .main-content {
        max-width: 82%;
    }
    .sentence-part {
        font-size: 1.40625rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 0.6875rem;
    }
    .footer-content {
        gap: 0.3125rem;
        padding: 0.5rem;
    }
    .footer-content > p {
        font-size: 0.5rem;
    }
}
@media (min-width: 895px) and (max-width: 925px) and (orientation: landscape) {
    header {
        height: 3rem;
    }
    .header-content {
        max-width: 82%;
    }
    .header-content h2 {
        font-size: 1.0875rem;
    }
    .header-content a {
        /*padding: 0.4625rem 0.8125rem 0.43125rem 0.8125rem;*/
        font-size: 0.78125rem;
    }
    .divider {
        max-width: calc(82% - 2.5rem);
    }
    .main-content {
        max-width: 82%;
    }
    .sentence-part {
        font-size: 1.5125rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 0.75rem;
    }
    .footer-content {
        gap: 0.34375rem;
        padding: 0.58125rem;
    }
    .footer-content > p {
        font-size: 0.58125rem;
    }
}
@media (min-width: 926px) and (orientation: landscape) {
    header {
        height: 3.125rem;
    }
    .header-content {
        max-width: 82%;
    }
    .header-content h2 {
        font-size: 1.125rem;
    }
    .header-content a {
        /*padding: 0.48125rem 0.825rem 0.45rem 0.825rem;*/
        font-size: 0.8125rem;
    }
    .divider{
        max-width: calc(82% - 2.5rem);
    }
    .main-content {
        max-width: 82%;
    }
    .sentence-part {
        font-size: 1.625rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 0.8125rem;
    }
    .footer-content {
        gap: 0.375rem;
        padding: 0.65rem;
    }
    .footer-content > p {
        font-size: 0.65625rem;
    }
}

/*  TABLET - VERTICAL  */
@media (min-width: 600px) and (max-width: 744px) and (orientation: portrait) {
    header {
        height: 3.25rem;
    }
    .header-content {
        max-width: 85%;
    }
    .header-content h2 {
        font-size: 1.1875rem;
    }
    .header-content a {
        /*padding: 0.475rem 0.8125rem 0.43125rem 0.8125rem;*/
        font-size: 0.875rem;
    }
    .divider {
        max-width: calc(85% - 2.5rem);
    }
    .main-content {
        max-width: 85%;
    }
    .sentence-part {
        font-size: 2.75rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 0.9375rem;
    }
    .footer-content {
        padding: 0.625rem;
        gap: 0.25rem;
    }
    .footer-content > p {
        font-size: 0.5625rem;
    }
}
@media (min-width: 745px) and (max-width: 799px) and (orientation: portrait) {
    header {
        height: 3.5rem;
    }
    .header-content {
        max-width: 80%;
    }
    .header-content h2 {
        font-size: 1.25rem;
    }
    .header-content a {
        /*padding: 0.5rem 0.825rem 0.45rem 0.825rem;*/
        font-size: 0.9375rem;
    }
    .divider {
        max-width: calc(80% - 2.5rem);
    }
    .main-content {
        max-width: 80%;
    }
    .sentence-part {
        font-size: 2.9375rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 1rem;
    }
    .footer-content {
        padding: 0.6875rem;
        gap: 0.3125rem;
    }
    .footer-content > p {
        font-size: 0.625rem;
    }
}
@media (min-width: 800px) and (max-width: 1024px) and (orientation: portrait) {
    header {
        height: 3.75rem;
    }
    .header-content {
        max-width: 75%;
    }
    .header-content h2 {
        font-size: 1.3125rem;
    }
    .header-content a {
        /*padding: 0.51875rem 0.84375rem 0.46875rem 0.84375rem;*/
        font-size: 1rem;
    }
    .divider {
        max-width: calc(75% - 2.5rem);
    }
    .main-content {
        max-width: 75%;
    }
    .sentence-part {
        font-size: 3.1875rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 1.0625rem;
    }
    .footer-content {
        padding: 0.75rem;
        gap: 0.375rem;
    }
    .footer-content > p {
        font-size: 0.6875rem;
    }
}
@media (min-width: 1025px) and (orientation: portrait) {
    header {
        height: 4rem;
    }
    .header-content {
        max-width: 70%;
    }
    .header-content h2 {
        font-size: 1.375rem;
    }
    .header-content a {
        /*padding: 0.54375rem 0.85625rem 0.4875rem 0.85625rem;*/
        font-size: 1.0625rem;
    }
    .divider {
        max-width: calc(70% - 2.5rem);
    }
    .main-content {
        max-width: 70%;
    }
    .sentence-part {
        font-size: 3.375rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 1.125rem;
    }
    .footer-content {
        padding: 0.8125rem;
        gap: 0.4375rem;
    }
    .footer-content > p {
        font-size: 0.75rem;
    }
}

/*  TABLET - HORIZONTAL  */
@media (min-width: 950px) and (max-width: 1023px) and (orientation: landscape) {
    header {
        height: 3.25rem;
    }
    .header-content {
        max-width: 85%;
    }
    .header-content h2 {
        font-size: 1.1875rem;
    }
    .header-content a {
        /*padding: 0.48125rem 0.825rem 0.45rem 0.825rem;*/
        font-size: 0.84375rem;
    }
    .divider {
        max-width: calc(85% - 2.5rem);
    }
    .main-content {
        max-width: 85%;
    }
    .sentence-part {
        font-size: 2.375rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 0.90625rem;
    }
    .footer-content {
        padding: 0.625rem 1.25rem 0.625rem 1.25rem;
    }
    .footer-content > p {
        font-size: 0.65625rem;
    }
}
@media (min-width: 1024px) and (max-width: 1111px) and (orientation: landscape) {
    header {
        height: 3.4375rem;
    }
    .header-content {
        max-width: 80%;
    }
    .header-content h2 {
        font-size: 1.25rem;
    }
    .header-content a {
        /*padding: 0.5rem 0.875rem 0.46875rem 0.875rem;*/
        font-size: 0.875rem;
    }
    .divider {
        max-width: calc(80% - 2.5rem);
    }
    .main-content {
        max-width: 80%;
    }
    .sentence-part {
        font-size: 2.5rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 0.9375rem;
    }
    .footer-content {
        padding: 0.65rem 1.25rem 0.65rem 1.25rem;
    }
    .footer-content > p {
        font-size: 0.6875rem;
    }
}
@media (min-width: 1112px) and (max-width: 1182px) and (orientation: landscape) {
    header {
        height: 3.625rem;
    }
    .header-content {
        max-width: 75%;
    }
    .header-content h2 {
        font-size: 1.3125rem;
    }
    .header-content a {
        /*padding: 0.51875rem 0.90625rem 0.4875rem 0.90625rem;*/
        font-size: 0.90625rem;
    }
    .divider {
        max-width: calc(75% - 2.5rem);
    }
    .main-content {
        max-width: 75%;
    }
    .sentence-part {
        font-size: 2.625rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 0.96875rem;
    }
    .footer-content {
        padding: 0.675rem 1.25rem 0.675rem 1.25rem;
    }
    .footer-content > p {
        font-size: 0.71875rem;
    }
}
@media (min-width: 1183px) and (max-width: 1365px) and (orientation: landscape) {
    header {
        height: 3.8125rem;
    }
    .header-content {
        max-width: 70%;
    }
    .header-content h2 {
        font-size: 1.375rem;
    }
    .header-content a {
        /*padding: 0.5375rem 0.95rem 0.50625rem 0.95rem;*/
        font-size: 0.95rem;
    }
    .divider {
        max-width: calc(70% - 2.5rem);
    }
    .main-content {
        max-width: 70%;
    }
    .sentence-part {
        font-size: 2.75rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 1rem;
    }
    .footer-content {
        padding: 0.70625rem 1.25rem 0.70625rem 1.25rem;
    }
    .footer-content > p {
        font-size: 0.75rem;
    }
}
@media (min-width: 1366px) and (orientation: landscape) {
    header {
        height: 4rem;
    }
    .header-content {
        max-width: 70%;
    }
    .header-content h2 {
        font-size: 1.4375rem;
    }
    .header-content a {
        /*padding: 0.5625rem 1rem 0.525rem 1rem;*/
        font-size: 1rem;
    }
    .divider {
        max-width: calc(70% - 2.5rem);
    }
    .main-content {
        max-width: 70%;
    }
    .sentence-part {
        font-size: 2.875rem;
    }
    .tagline {
        right: 1.25rem;
        font-size: 1.025rem;
    }
    .footer-content {
        padding: 0.7375rem 1.25rem 0.7375rem 1.25rem;
    }
    .footer-content > p {
        font-size: 0.78125rem;
    }
}
