/* fonts */ 
@font-face {
font-family: "Chens Sans";
src: url("/assets/fonts/ChensSansVF.woff2") format("woff2"),
url("/assets/fonts/ChensSansVF.ttf") format("truetype");
font-weight: 25 200; /* Variable weights */
}
    

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -ms-overflow-style: none;  /* Internet Explorer y Edge */
    scrollbar-width: none;      /* Firefox */
}

::-webkit-scrollbar {
display: none;
width: 0px;
height: 0px;
}

::-webkit-scrollbar-track {
background: #000; /* Fondo de la barra (negro) */
}


html, body {
overscroll-behavior: none;
touch-action: pan-y;
/* Set the font globally */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
-moz-text-size-adjust: none;
-webkit-text-size-adjust: none;
text-size-adjust: none;
}

body {
    background: #000;
    color: #fff;
    font-family: "Chens Sans", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

a, p a {
color: white;
}

a:hover:not(.nounderline) {
transition: 0.3s;
font-variation-settings: "wght" 180, "dspl" 0;  
}

a .nounderline, .nounderline {
text-decoration: none!important;
}

.balanced{
    max-inline-size: 50ch;
    text-wrap: balance;
    }

.container {
    height: 100vh;
    scroll-snap-type: y mandatory;
    overflow-y: scroll;
    scroll-behavior: smooth;
}

.slide {
    height: 100vh;
    scroll-snap-align: start;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.media {
    max-height: 90vh;
    max-width: 90vw;
    object-fit: contain;
}

.caption {
    text-align: center;
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.7);
    padding: 0.5rem 1rem;
    border-radius: 4px;
    opacity: 0;
    transition: opacity 0.3s ease;
    font-variation-settings: "wght" 70, "dspl" 0;
font-feature-settings: "dlig" off, "liga" on;
letter-spacing: 1px;
}

.slide:hover .caption {
    opacity: 1;
}

/* Estilos para slides de texto */
.text-slide {
    text-align: center;
    padding: 2rem;
    max-width: 800px;
    margin: 0 auto;
}

.text-slide h1 {
font-size: 3.5rem;
margin-bottom: 1rem;
line-height: 1.2;
font-variation-settings: "wght" 50, "dspl" 100;
font-feature-settings: "dlig" on, "liga" on;
letter-spacing: -px;
}

.text-slide p {
font-size: 1.5rem;
opacity: 0.8;
line-height: 1.6;
font-variation-settings: "wght" 70, "dspl" 0;
font-feature-settings: "dlig" off, "liga" on;
}

.text-slide p:not(:first-of-type), h1:not(:first-of-type) {
margin-top: 2rem;
}

.text-slide {
    font-size: 4rem;
    margin-top: 2rem;
}

.emoji {
    font-size: 4rem;
    margin-top: 1.4rem;
}

.invert {
    -webkit-filter: invert(1) grayscale(100%);
    filter: invert(1) grayscale(100%);
    }

.bold, strong {
    font-variation-settings: "wght" 150;
}

.thin {
    font-variation-settings: "wght" 25!important;
}


video::-webkit-media-controls {
    background: rgba(0, 0, 0, 0.5);
}

.scroll-indicator {
    position: fixed;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 100px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
}

.scroll-progress {
    width: 100%;
    background: rgba(255, 255, 255, 0.5);
    position: absolute;
    bottom: 0;
    transition: height 0.1s ease;
}

@media (max-width: 768px) {
    .text-slide h1 {
        font-size: 2.5rem;
    }
    .text-slide p {
        font-size: 1.2rem;
    }
    .text-slide .emoji {
        font-size: 3rem;
    }
}