/* NAVBAR */

.navbar{
    position:fixed;
    top:24px;
    left:24px;
    width:auto;
    padding:0;
    display:flex;
    justify-content:flex-start;
    align-items:center;
    z-index:1000;
    background:transparent;
    pointer-events:auto;
}

/* NAVBAR DESKTOP */

.desktop-nav{
    display:none;
    position:relative;
    align-items:center;
    justify-content:center;
    gap:34px;
    padding:15px 30px;
    background:linear-gradient(135deg, rgba(32,54,74,.32), rgba(32,54,74,.16));
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,.16);
    border-radius:28px;
    overflow:hidden;
    width:auto;
    max-width:620px;
    pointer-events:auto;
    transition:max-width .45s ease, padding .45s ease, gap .45s ease, background .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.desktop-nav a{
    position:relative;
    font-size:.82rem;
    font-weight:700;
    color:var(--paper);
    text-transform:uppercase;
    letter-spacing:1.5px;
    text-shadow:0 2px 10px rgba(0,0,0,.25);
    white-space:nowrap;
    opacity:1;
    transform:translateX(0);
    transition:.35s ease;
}

.desktop-nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-7px;
    width:0;
    height:2px;
    background:var(--red);
    transition:.3s ease;
}

.desktop-nav a:hover{
    color:var(--red);
}

.desktop-nav a:hover::after{
    width:100%;
}

.desktop-nav::before{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:24px;
    height:16px;
    transform:translate(-50%,-50%);
    opacity:0;
    pointer-events:none;
    background:
        linear-gradient(var(--paper),var(--paper)) 0 0 / 24px 2px no-repeat,
        linear-gradient(var(--paper),var(--paper)) 0 7px / 24px 2px no-repeat,
        linear-gradient(var(--paper),var(--paper)) 0 14px / 24px 2px no-repeat;
    transition:.3s ease;
}

.navbar.scrolled .desktop-nav{
    max-width:58px;
    padding:16px 29px;
    gap:0;
    background:rgba(32,54,74,.62);
    border-color:rgba(255,255,255,.16);
}

.navbar.scrolled .desktop-nav::before{
    opacity:1;
}

.navbar.scrolled .desktop-nav a{
    opacity:0;
    pointer-events:none;
    transform:translateX(-12px);
}

.navbar.scrolled .desktop-nav:hover{
    max-width:620px;
    padding:15px 30px;
    gap:34px;
    background:rgba(236,227,211,.86);
    border-color:rgba(32,54,74,.12);
    box-shadow:0 12px 35px rgba(32,54,74,.08);
}

.navbar.scrolled .desktop-nav:hover::before{
    opacity:0;
}

.navbar.scrolled .desktop-nav:hover a{
    opacity:1;
    pointer-events:auto;
    transform:translateX(0);
    color:var(--blue-dark);
    text-shadow:none;
}

/* MENU MOBILE */

.menu-toggle{
    width:50px;
    height:50px;
    border:1px solid rgba(236,227,211,.7);
    background:rgba(32,54,74,.32);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    border-radius:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:7px;
    cursor:pointer;
    z-index:1100;
    transition:.3s ease;
    pointer-events:auto;
}

.menu-toggle span{
    width:22px;
    height:2px;
    background:var(--paper);
    transition:.3s ease;
}

.navbar.scrolled .menu-toggle{
    background:rgba(32,54,74,.88);
}

.menu-toggle.active span:nth-child(1){
    transform:rotate(45deg) translate(3px,3px);
}

.menu-toggle.active span:nth-child(2){
    transform:rotate(-45deg) translate(3px,-3px);
}

/* FULLSCREEN MENU */

.fullscreen-menu{
    position:fixed;
    inset:0;
    width:100%;
    height:100dvh;
    background:rgba(32,54,74,.82);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    z-index:900;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:clamp(14px,2.2vh,24px);
    padding:90px 6% 50px;
    opacity:0;
    pointer-events:none;
    overflow:hidden;
    transition:.4s ease;
}

.fullscreen-menu.active{
    opacity:1;
    pointer-events:auto;
}

.fullscreen-menu a{
    position:relative;
    font-family:'Oswald',sans-serif;
    font-size:clamp(1.35rem,2.5vw,2.45rem);
    color:var(--paper);
    text-transform:uppercase;
    letter-spacing:2px;
    transition:.3s ease;
}

.fullscreen-menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-7px;
    width:0;
    height:3px;
    background:var(--red);
    transition:.3s ease;
}

.fullscreen-menu a:hover{
    color:var(--red);
}

.fullscreen-menu a:hover::after{
    width:100%;
}

/* HERO ARCHIVO */
.archive-hero h1 span{
    display:block;
    color:var(--gold);
}

.archive-hero{
    min-height:78vh;
    display:flex;
    align-items:flex-end;
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(90deg, rgba(32,54,74,.94), rgba(32,54,74,.72), rgba(32,54,74,.35)),
        url('../../img/hero/archivo.png');
    background-size:cover;
    background-position:center;
    color:white;
}

.archive-hero::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:120px;
    background:linear-gradient(to bottom, rgba(236,227,211,0), var(--paper));
    pointer-events:none;
}

.archive-hero-content{
    position:relative;
    z-index:2;
    max-width:850px;
    padding-bottom:90px;
}

.archive-hero .section-tag{
    color:var(--gold);
}

.archive-hero h1{
    margin-top:18px;
    font-size:clamp(3.4rem,7vw,7.2rem);
    line-height:.92;
    color:white;
}

.archive-hero p{
    margin-top:24px;
    max-width:600px;
    line-height:1.75;
    color:rgba(255,255,255,.82);
    font-size:1.1rem;
}

/* INTRO */

.archive-intro{
    background:var(--paper);
    position:relative;
    padding-bottom:60px;
}

.archive-intro::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 18% 25%, rgba(179,33,33,.08), transparent 28%),
        radial-gradient(circle at 82% 75%, rgba(32,54,74,.08), transparent 34%);
    pointer-events:none;
}

.archive-intro-content{
    position:relative;
    max-width:850px;
}

.archive-intro h2{
    margin-top:16px;
    font-size:clamp(2rem,3.4vw,3.6rem);
    line-height:1.08;
    color:var(--blue-dark);
}

.archive-intro p{
    max-width:680px;
    margin-top:22px;
    line-height:1.8;
    color:var(--blue-steel);
}

/* AUDIO DESTACADO / SPOTIFY */

.archive-featured{
    background:var(--blue-dark);
    color:white;
    display:grid;
    grid-template-columns:1fr .9fr;
    gap:70px;
    align-items:center;
}

.archive-featured .section-tag{
    color:var(--gold);
}

.featured-text h2{
    margin-top:14px;
    font-size:clamp(2rem,4vw,4.4rem);
    line-height:1.04;
    color:white;
}

.featured-text p{
    max-width:620px;
    margin-top:20px;
    line-height:1.75;
    color:rgba(255,255,255,.78);
}

.featured-audio-card{
    min-height:380px;
    border-radius:32px;

    background:
        radial-gradient(circle at 24% 22%, rgba(179,33,33,.32), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.04));

    border:1px solid rgba(255,255,255,.16);

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    padding:44px;

    box-shadow:0 28px 70px rgba(0,0,0,.22);

    position:relative;
    overflow:hidden;

    transition:.4s ease;
}

.featured-audio-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        135deg,
        rgba(182,138,67,.18),
        transparent 55%
    );
    opacity:0;
    transition:.4s ease;
}

.featured-audio-card:hover{
    transform:translateY(-8px);
    box-shadow:0 35px 90px rgba(0,0,0,.32);
    border-color:rgba(255,255,255,.28);
}

.featured-audio-card:hover::before{
    opacity:1;
}


.audio-lines{
    position:relative;
    z-index:2;
    

    display:flex;
    align-items:center;
    gap:10px;
    height:90px;
}

.audio-lines span{
    width:14px;
    border-radius:20px;
    background:var(--gold);
}

.audio-lines span:nth-child(1){height:34px;}
.audio-lines span:nth-child(2){height:70px;}
.audio-lines span:nth-child(3){height:92px;}
.audio-lines span:nth-child(4){height:62px;}
.audio-lines span:nth-child(5){height:42px;}

.spotify-card-text{
    position:relative;
    z-index:2;
    text-align:center;
    margin-top:24px;
}

.spotify-card-text span{
    color:var(--gold);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.spotify-card-text h3{
    margin-top:12px;
    font-size:2.4rem;
    line-height:1;
    color:white;
}

.spotify-card-text p{
    margin-top:16px;
    color:rgba(255,255,255,.82);
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    font-size:.82rem;
}

/* GRID ARCHIVO */

.archive-grid-section{
    background:var(--paper);
    position:relative;
    padding-top:100px;
}

.archive-grid-header{
    max-width:820px;
    margin-bottom:56px;
}

.archive-grid-header h2{
    margin-top:14px;
    font-size:clamp(1.8rem,3vw,3.2rem);
    line-height:1.1;
    color:var(--blue-dark);
}

.archive-grid-header p{
    max-width:620px;
    margin-top:18px;
    line-height:1.75;
    color:var(--blue-steel);
}

.archive-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.archive-card{
    background:var(--paper-light);
    border:1px solid rgba(32,54,74,.14);
    border-radius:26px;
    overflow:hidden;
    box-shadow:0 20px 50px rgba(32,54,74,.10);
    transition:.4s ease;
    display:block;
    color:inherit;
    text-decoration:none;
    cursor:pointer;
}

.archive-card img{
    width:100%;
    aspect-ratio:4 / 3;
    object-fit:cover;
    display:block;
    filter:grayscale(.15) contrast(1.05);
}

.archive-card div{
    padding:28px;
}

.archive-card span{
    color:var(--red);
    font-weight:800;
    font-size:.78rem;
    letter-spacing:2px;
    text-transform:uppercase;
}

.archive-card h3{
    margin-top:16px;
    font-size:1.45rem;
    line-height:1.12;
    color:var(--blue-dark);
}

.archive-card p{
    margin-top:14px;
    line-height:1.65;
    color:var(--blue-steel);
    font-size:.92rem;
}

.archive-card:hover{
    transform:translateY(-8px);
    border-color:var(--red);
    box-shadow:0 28px 70px rgba(32,54,74,.16);
}

/* FOOTER */

footer{
    background:var(--red);
    color:white;
    margin-top:0;
}

.footer-container{
    display:grid;
    grid-template-columns:1.2fr 1.4fr .8fr;
    gap:70px;
    padding:60px 8%;
}

.footer-column{
    text-align:left;
}

.footer-column h3{
    font-size:1.8rem;
    color:white;
    margin-bottom:18px;
}

.footer-column h4{
    font-size:1rem;
    letter-spacing:1px;
    text-transform:uppercase;
    color:white;
    margin-bottom:18px;
}

.footer-column p{
    line-height:1.8;
    color:rgba(255,255,255,.85);
    font-size:.95rem;
}

.footer-social{
    display:flex;
    flex-direction:column;
}

.social-links{
    display:flex;
    gap:18px;
    margin-top:12px;
}

.social-links a{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    transition:.3s ease;
}

.social-links a:hover{
    transform:translateY(-4px);
    background:#8f1717;
    border-color:#8f1717;
}

.social-links img{
    width:30px;
    height:30px;
    display:block;
    filter:brightness(0) invert(1);
}

.footer-bottom{
    height:52px;
    background:#8f1717;
    border-top:1px solid rgba(255,255,255,.08);
}