/* ========================================= */
/* CHAPTER I */
/* North Legacy FILM */
/* ========================================= */

:root{

    --gold:#C9A857;

    --text:#111;

    --secondary:#6E6E73;

    --line:#E9E9E9;

    --bg:#FAFAFA;

}

*{

    margin:0;
    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:
    "Inter",
    sans-serif;

    color:var(--text);

    background:var(--bg);

    overflow-x:hidden;

}

/* ========================================= */
/* BACKGROUND */
/* ========================================= */

.bg-grid{

    position:fixed;

    inset:0;

    background-image:

    linear-gradient(
    rgba(0,0,0,.03) 1px,
    transparent 1px),

    linear-gradient(
    90deg,
    rgba(0,0,0,.03) 1px,
    transparent 1px);

    background-size:42px 42px;

    z-index:-3;

}

.bg-glow{

    position:fixed;

    width:700px;
    height:700px;

    left:50%;
    top:-200px;

    transform:
    translateX(-50%);

    border-radius:50%;

    background:

    radial-gradient(

    circle,

    rgba(201,168,87,.14),

    transparent 70%

    );

    filter:blur(80px);

    z-index:-2;

}

.bg-noise{

    position:fixed;

    inset:0;

    opacity:.035;

    pointer-events:none;

    background-image:url("/images/noise.png");

    background-size:250px;

    z-index:-1;

}

/* ========================================= */
/* NAVBAR */
/* ========================================= */

.chapter-nav{

    width:100%;

    position:fixed;

    top:0;

    left:0;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:30px 70px;

    backdrop-filter:blur(18px);

    background:

    rgba(250,250,250,.72);

    border-bottom:

    1px solid rgba(0,0,0,.05);

    z-index:999;

}

.chapter-logo{

    font-size:.82rem;

    letter-spacing:7px;

    font-weight:700;

}

.back-btn{

    display:flex;

    align-items:center;

    gap:12px;

    color:#111;

    text-decoration:none;

    font-size:.82rem;

    letter-spacing:2px;

    transition:.35s;

}

.back-btn:hover{

    color:var(--gold);

    transform:translateX(-5px);

}

/* ========================================= */
/* HERO */
/* ========================================= */

.chapter-hero{

    min-height:100vh;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:180px 30px 120px;

}

.chapter-tag{

    color:var(--gold);

    letter-spacing:7px;

    font-size:.82rem;

    font-weight:700;

    margin-bottom:30px;

}

.chapter-hero h1{

    font-size:

    clamp(4rem,9vw,8rem);

    line-height:.95;

    letter-spacing:-4px;

    font-weight:800;

    max-width:1000px;

}

.chapter-hero p{

    margin-top:35px;

    max-width:720px;

    color:var(--secondary);

    font-size:1.15rem;

    line-height:2;

}

/* ========================================= */
/* HERO LINE */
/* ========================================= */

.chapter-hero::after{

    content:"";

    width:1px;

    height:110px;

    background:

    linear-gradient(

    to bottom,

    var(--gold),

    transparent

    );

    margin-top:90px;

}

/* ========================================= */
/* VIDEO SECTION */
/* ========================================= */

.video-section{

    padding:80px 30px 140px;

}

.video-container{

    position:relative;

    max-width:1300px;

    margin:0 auto;

    border-radius:34px;

    overflow:hidden;

    background:#111;

    box-shadow:

    0 30px 80px rgba(0,0,0,.14);

}

/* VIDEO */

.video-container video{

    display:block;

    width:100%;

    aspect-ratio:16 / 9;

    object-fit:cover;

    background:black;

}

/* EFECTO BORDE */

.video-container::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:34px;

    border:1px solid rgba(255,255,255,.08);

    pointer-events:none;

}

/* ========================================= */
/* FILM INFORMATION */
/* ========================================= */

.film-info{

    max-width:1350px;

    margin:120px auto 0;

    display:grid;

    grid-template-columns:

    repeat(auto-fit,minmax(180px,1fr));

    gap:28px;

}

/* CARD */

.film-card{

    position:relative;

    padding:34px 30px;

    background:

    rgba(255,255,255,.72);

    backdrop-filter:blur(18px);

    border-radius:24px;

    border:1px solid rgba(0,0,0,.05);

    transition:

    transform .35s ease,

    border-color .35s ease,

    box-shadow .35s ease;

}

/* EFECTO */

.film-card::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:24px;

    background:

    linear-gradient(

    135deg,

    rgba(201,168,87,.06),

    transparent 55%

    );

    opacity:0;

    transition:.35s;

}

/* HOVER */

.film-card:hover{

    transform:

    translateY(-8px);

    border-color:

    rgba(201,168,87,.20);

    box-shadow:

    0 18px 45px rgba(0,0,0,.08);

}

.film-card:hover::before{

    opacity:1;

}

/* LABEL */

.film-card span{

    display:block;

    color:var(--gold);

    font-size:.78rem;

    font-weight:700;

    letter-spacing:4px;

    margin-bottom:18px;

    text-transform:uppercase;

}

/* VALUE */

.film-card h3{

    font-size:1.2rem;

    font-weight:700;

    color:#111;

    line-height:1.4;

}

/* ========================================= */
/* CHAPTER BLOCKS */
/* ========================================= */

.chapter-block{

    max-width:900px;

    margin:180px auto;

    padding:0 30px;

}

/* PEQUEÑO TITULO */

.chapter-block span{

    display:inline-block;

    color:var(--gold);

    font-size:.82rem;

    font-weight:700;

    letter-spacing:5px;

    text-transform:uppercase;

    margin-bottom:25px;

}

/* TITULO */

.chapter-block h2{

    font-size:

    clamp(2.3rem,5vw,4rem);

    line-height:1.08;

    letter-spacing:-2px;

    color:#111;

    max-width:760px;

    margin-bottom:35px;

}

/* TEXTO */

.chapter-block p{

    max-width:760px;

    color:var(--secondary);

    font-size:1.05rem;

    line-height:2.1;

}

/* ========================================= */
/* DIVISOR */
/* ========================================= */

.chapter-block::after{

    content:"";

    display:block;

    width:80px;

    height:2px;

    background:var(--gold);

    margin-top:70px;

    opacity:.35;

}

/* ========================================= */
/* EFECTO ENTRADA */
/* ========================================= */

.chapter-block{

    opacity:0;

    transform:translateY(60px);

    animation:

    fadeUp .9s ease forwards;

}

.chapter-block:nth-child(1){

    animation-delay:.05s;

}

.chapter-block:nth-child(2){

    animation-delay:.15s;

}

.chapter-block:nth-child(3){

    animation-delay:.25s;

}

.chapter-block:nth-child(4){

    animation-delay:.35s;

}

.chapter-block:nth-child(5){

    animation-delay:.45s;

}

.chapter-block:nth-child(6){

    animation-delay:.55s;

}

/* ========================================= */
/* HOVER */
/* ========================================= */

.chapter-block:hover h2{

    color:var(--gold);

    transition:.35s;

}

.chapter-block:hover::after{

    width:130px;

    opacity:1;

    transition:.4s ease;

}

/* ========================================= */
/* TEXTO DESTACADO */
/* ========================================= */

.chapter-block strong{

    color:#111;

    font-weight:700;

}

.chapter-block em{

    color:var(--gold);

    font-style:normal;

}

/* ========================================= */
/* ESPACIADO ENTRE BLOQUES */
/* ========================================= */

.chapter-block + .chapter-block{

    margin-top:40px;

}

/* ========================================= */
/* QUOTE */
/* ========================================= */

.quote-section{

    padding:220px 30px;

    text-align:center;

}

.quote-section blockquote{

    max-width:950px;

    margin:0 auto;

    font-size:

    clamp(2.4rem,6vw,5rem);

    line-height:1.1;

    letter-spacing:-2px;

    font-weight:700;

    color:#111;

}

.quote-section::before{

    content:"“";

    display:block;

    font-size:7rem;

    color:rgba(201,168,87,.18);

    margin-bottom:30px;

}

/* ========================================= */
/* NEXT CHAPTER */
/* ========================================= */

.next-section{

    max-width:1200px;

    margin:0 auto 180px;

    padding:90px 60px;

    border-radius:34px;

    background:

    linear-gradient(
    135deg,
    #111,
    #1B1B1B
    );

    color:white;

    text-align:center;

    position:relative;

    overflow:hidden;

}

/* GLOW */

.next-section::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    top:-220px;
    right:-120px;

    border-radius:50%;

    background:

    radial-gradient(
    circle,
    rgba(201,168,87,.22),
    transparent 70%
    );

}

.next-section span{

    display:block;

    color:rgba(255,255,255,.65);

    letter-spacing:5px;

    font-size:.82rem;

    margin-bottom:18px;

}

.next-section h2{

    font-size:

    clamp(2.4rem,5vw,4.8rem);

    margin-bottom:45px;

    line-height:1;

}

.next-section a{

    display:inline-flex;

    align-items:center;

    gap:16px;

    padding:18px 36px;

    border-radius:999px;

    text-decoration:none;

    background:white;

    color:#111;

    font-weight:700;

    transition:

    transform .35s ease,

    box-shadow .35s ease;

}

.next-section a:hover{

    transform:

    translateY(-6px);

    box-shadow:

    0 20px 45px rgba(0,0,0,.22);

}

/* ========================================= */
/* FOOTER */
/* ========================================= */

.chapter-footer{

    padding:60px 20px;

    border-top:

    1px solid rgba(0,0,0,.06);

    text-align:center;

}

.chapter-footer p{

    color:#777;

    font-size:.9rem;

    letter-spacing:1px;

}

/* ========================================= */
/* ANIMATIONS */
/* ========================================= */

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(45px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.chapter-hero,
.video-section,
.film-info,
.quote-section,
.next-section{

    animation:

    fadeUp 1s ease;

}

/* ========================================= */
/* RESPONSIVE */
/* ========================================= */

@media(max-width:900px){

    .chapter-nav{

        padding:25px;

    }

    .chapter-hero{

        padding:160px 25px 100px;

    }

    .film-info{

        grid-template-columns:

        repeat(2,1fr);

    }

    .next-section{

        margin:0 25px 120px;

        padding:70px 35px;

    }

}

@media(max-width:768px){

    .bg-grid{

        background-size:30px 30px;

    }

    .chapter-hero h1{

        letter-spacing:-1px;

    }

    .chapter-hero p{

        font-size:1rem;

    }

    .video-section{

        padding:60px 20px 100px;

    }

    .film-info{

        grid-template-columns:1fr;

        margin-top:80px;

    }

    .chapter-block{

        margin:120px auto;

        padding:0 20px;

    }

    .chapter-block h2{

        font-size:2rem;

    }

    .chapter-block p{

        font-size:.98rem;

    }

    .quote-section{

        padding:140px 20px;

    }

    .quote-section blockquote{

        font-size:2rem;

    }

    .next-section h2{

        font-size:2.2rem;

    }

    .next-section a{

        width:100%;

        justify-content:center;

    }

}

/* ========================================= */
/* BEHIND THE FILM */
/* ========================================= */

.behind-film{

    max-width:1400px;

    margin:220px auto;

    padding:0 30px;

}

/* HEADER */

.behind-header{

    text-align:center;

    margin-bottom:90px;

}

.behind-header span{

    display:block;

    color:var(--gold);

    font-size:.82rem;

    letter-spacing:6px;

    font-weight:700;

    margin-bottom:20px;

}

.behind-header h2{

    font-size:

    clamp(2.5rem,6vw,5rem);

    line-height:1;

    margin-bottom:30px;

}

.behind-header p{

    max-width:700px;

    margin:auto;

    color:var(--secondary);

    line-height:2;

}

/* GRID */

.behind-grid{

    display:grid;

    grid-template-columns:

    repeat(3,1fr);

    gap:30px;

}

/* CARD */

.behind-card{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    aspect-ratio:1 / 1.1;

    background:#ececec;

    cursor:pointer;

    transition:

    transform .45s ease,

    box-shadow .45s ease;

}

/* IMAGEN */

.behind-card img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:

    transform .8s ease;

}

/* OVERLAY */

.behind-overlay{

    position:absolute;

    inset:0;

    display:flex;

    align-items:flex-end;

    padding:35px;

    background:

    linear-gradient(

    transparent,

    rgba(0,0,0,.82)

    );

}

.behind-overlay h3{

    color:white;

    font-size:1.2rem;

    letter-spacing:3px;

}

/* HOVER */

.behind-card:hover{

    transform:

    translateY(-10px);

    box-shadow:

    0 25px 60px rgba(0,0,0,.14);

}

.behind-card:hover img{

    transform:scale(1.06);

}

/* RESPONSIVE */

@media(max-width:900px){

    .behind-grid{

        grid-template-columns:1fr;

    }

}