/* =========================================
   MENÚ GLOBAL
========================================= */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#fbf8f1;
    color:#1f1f1f;
}

.header {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    min-height: 96px;

    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 148px;
    align-items: center;

    gap: 24px;

    padding: 16px 6%;

    background: transparent;

    z-index: 9999;

    transition:
        min-height 0.35s ease,
        padding 0.35s ease,
        background-color 0.35s ease,
        box-shadow 0.35s ease;
}


/* LOGO */

.logo {
    width: 150px;

    display: flex;
    align-items: center;
    justify-content: flex-start;

    text-decoration: none;

    position: relative;
    z-index: 10002;
}

.logo-img {
    display: block;

    width: 125px;
    height: auto;

    object-fit: contain;

    filter: drop-shadow(
        0 8px 18px rgba(0, 0, 0, 0.45)
    );
}

.logo-text {
    display: none;

    color: #1f1f1f;

    line-height: 1;
    text-align: center;
}

.logo-text strong {
    display: block;

    font-family: "Cormorant Garamond", serif;

    font-size: 20px;
    font-weight: 500;
    line-height: 0.95;

    letter-spacing: 2px;
}

.logo-text span {
    display: block;

    margin-top: 5px;

    color: #555555;

    font-family: "Poppins", sans-serif;
    font-size: 7px;
    font-weight: 500;

    letter-spacing: 5px;
}


/* NAVEGACIÓN */

.nav {
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: clamp(15px, 1.55vw, 28px);
}

.nav a{

    position:relative;

    flex-shrink:0;

    color:#ffffff;

    font-family:'Poppins',sans-serif;

    font-size:11px;      /* Igual al index */
    font-weight:500;     /* Igual al index */

    letter-spacing:.9px; /* Igual al index */

    line-height:1;

    text-transform:uppercase;

    text-decoration:none;

    white-space:nowrap;

    transition:.35s ease;

}
.nav a::after {
    content: "";

    position: absolute;
    left: 50%;
    bottom: -10px;

    width: 0;
    height: 2px;

    border-radius: 50px;

    background: linear-gradient(
        to right,
        rgba(198, 163, 101, 0),
        rgba(198, 163, 101, 0.45),
        #c6a365,
        rgba(198, 163, 101, 0.45),
        rgba(198, 163, 101, 0)
    );

    transform: translateX(-50%);

    transition: width 0.4s ease;
}

.nav a:hover,
.nav a.active-link {
    color: #c6a365;
}

.nav a:hover::after,
.nav a.active-link::after {
    width: 90%;
}


/* BOTÓN */

.talk-btn {
    min-width: 148px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 14px 20px;

    color: #ffffff;
    background: transparent;

    border: 1px solid rgba(255, 255, 255, 0.72);

    font-family: "Poppins", sans-serif;
    font-size: 9px;
    font-weight: 600;

    letter-spacing: 0.8px;
    text-transform: uppercase;
    text-decoration: none;

    white-space: nowrap;

    transition:
        color 0.3s ease,
        background-color 0.3s ease,
        border-color 0.3s ease;
}

.talk-btn:hover {
    color: #111111;
    background: #ffffff;
    border-color: #ffffff;
}


/* HEADER AL HACER SCROLL */

.header.scrolled {
    min-height: 78px;

    padding-top: 10px;
    padding-bottom: 10px;

    background: rgba(255, 255, 255, 0.98);

    box-shadow:
        0 1px 0 rgba(0, 0, 0, 0.06),
        0 8px 25px rgba(0, 0, 0, 0.05);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.header.scrolled .logo-img {
    display: none;
}

.header.scrolled .logo-text {
    display: block;
}

.header.scrolled .nav a {
    color: #242424;
}

.header.scrolled .nav a:hover,
.header.scrolled .nav a.active-link {
    color: #b89a63;
}

.header.scrolled .talk-btn {
    color: #242424;
    border-color: #242424;
}

.header.scrolled .talk-btn:hover {
    color: #ffffff;
    background: #242424;
    border-color: #242424;
}


/* BOTÓN MÓVIL */

.menu-btn {
    display: none;

    padding: 0;

    color: #ffffff;
    background: transparent;

    border: none;

    font-size: 30px;
    line-height: 1;

    cursor: pointer;

    position: relative;
    z-index: 10002;
}

.header.scrolled .menu-btn {
    color: #242424;
}


/* COMPUTADORES MEDIANOS */

@media (max-width: 1280px) {

    .header {
        grid-template-columns:
            125px minmax(0, 1fr) 122px;

        gap: 15px;

        padding-left: 4%;
        padding-right: 4%;
    }

    .logo {
        width: 125px;
    }

    .logo-img {
        width: 108px;
    }

    .nav {
        gap: 14px;
    }

    .nav a {
        font-size: 8px;
        letter-spacing: 0.35px;
    }

    .talk-btn {
        min-width: 122px;
        padding: 12px 14px;
        font-size: 8px;
    }

}


/* TABLET Y MÓVIL */

@media (max-width: 1024px) {

    .header,
    .header.scrolled {
        min-height: 76px;

        display: flex;
        align-items: center;
        justify-content: space-between;

        padding: 12px 7%;
    }

    .logo {
        width: auto;
    }

    .logo-img {
        width: 110px;
    }

    .talk-btn {
        display: none;
    }

    .menu-btn {
        display: block;
    }

    .nav {
        position: fixed;
        top: 0;
        right: -100%;

        width: min(360px, 88%);
        height: 100dvh;

        display: flex;
        align-items: flex-start;
        justify-content: center;
        flex-direction: column;

        gap: 0;

        padding: 100px 35px 40px;

        background: rgba(15, 15, 15, 0.99);

        visibility: hidden;

        box-shadow:
            -15px 0 45px rgba(0, 0, 0, 0.25);

        transition:
            right 0.4s ease,
            visibility 0.4s ease;
    }

    .nav.active {
        right: 0;
        visibility: visible;
    }

    .nav a,
    .header.scrolled .nav a {
        width: 100%;

        padding: 14px 0;

        color: rgba(255, 255, 255, 0.86);

        border-bottom:
            1px solid rgba(255, 255, 255, 0.1);

        font-family: "Cormorant Garamond", serif;

        font-size: 20px;
        font-weight: 500;

        letter-spacing: 0;
        text-transform: none;
    }

    .nav a::after {
        display: none;
    }

    .nav a:hover,
    .nav a.active-link,
    .header.scrolled .nav a:hover,
    .header.scrolled .nav a.active-link {
        color: #d6b16b;
    }

    .header.scrolled .menu-btn[aria-expanded="true"] {
        color: #ffffff;
    }

}


/* CELULAR */

@media (max-width: 480px) {

    .header,
    .header.scrolled {
        padding-left: 6%;
        padding-right: 6%;
    }

    .logo-img {
        width: 100px;
    }

    .nav {
        width: 100%;

        padding: 95px 27px 35px;
    }

}




.nav a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-10px;

    width:0;
    height:1px;

    background:#c6a365;

    transform:translateX(-50%);
    transition:width .35s ease;
}

/* Solo aparece al pasar el mouse */
.nav a:hover::after{
    width:75%;
}

/* Y en la página activa */
.nav a.active-link::after{
    width:75%;
}

/* =====================================================
   MENÚ RESPONSIVE GLOBAL
===================================================== */

@media (max-width:1024px){

    body.menu-open{
        overflow:hidden;
    }

    .header,
    .header.scrolled{
        min-height:76px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:12px 6%;
    }

    .header.scrolled{
        background:#ffffff;
        box-shadow:0 8px 28px rgba(0,0,0,.08);
    }

    .logo{
        width:auto;
    }

    .logo-img{
        width:105px;
    }

    .header.scrolled .logo-img{
        display:none;
    }

    .header.scrolled .logo-text{
        display:block;
        color:#1f1f1f;
    }

    .talk-btn{
        display:none;
    }

    .menu-btn{
        position:relative;
        z-index:10005;

        width:42px;
        height:42px;

        display:flex;
        align-items:center;
        justify-content:center;

        padding:0;

        color:#ffffff;
        background:transparent;
        border:0;

        font-size:28px;
        line-height:1;

        cursor:pointer;
    }

    .header.scrolled .menu-btn{
        color:#1f1f1f;
    }

    .menu-btn[aria-expanded="true"]{
        color:#1f1f1f;
    }

    .nav{
        position:fixed;
        top:76px;
        right:-100%;

        width:calc(100% - 46px);
        max-width:360px;
        height:calc(100dvh - 92px);

        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:center;

        gap:0;

        padding:42px 28px;

        background:#ffffff;
        border-radius:16px 0 0 16px;

        box-shadow:-16px 18px 50px rgba(0,0,0,.14);

        overflow-y:auto;
        visibility:hidden;

        transition:
            right .4s ease,
            visibility .4s ease;
    }

    .nav.active{
        right:0;
        visibility:visible;
    }

    .nav a,
    .header.scrolled .nav a{
        width:100%;

        padding:17px 0;

        color:#252525;

        border-bottom:1px solid rgba(0,0,0,.10);

        font-family:"Cormorant Garamond",serif;
        font-size:18px;
        font-weight:500;
        line-height:1.25;

        letter-spacing:0;
        text-transform:none;
        text-decoration:none;
    }

    .nav a:last-child{
        border-bottom:0;
    }

    .nav a::after{
        display:none;
    }

    .nav a:hover,
    .nav a.active-link,
    .header.scrolled .nav a:hover,
    .header.scrolled .nav a.active-link{
        color:#b89a63;
    }

}


/* =====================================================
   CELULAR PEQUEÑO
===================================================== */

@media (max-width:480px){

    .header,
    .header.scrolled{
        padding-left:6%;
        padding-right:6%;
    }

    .logo-img{
        width:98px;
    }

    .nav{
        width:calc(100% - 46px);
        max-width:none;
        padding:40px 27px;
    }

    .nav a,
    .header.scrolled .nav a{
        padding:16px 0;
        font-size:17px;
    }

}