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

body{
    font-family:'Montserrat', sans-serif;
    background:#020202;
    color:white;
    overflow-x:hidden;
}

/* ===== HERO ===== */
.hero{
    position:relative;
    height:100vh;
    overflow:hidden;
}

/* VIDEO CINEMATICO */
.bg-video{
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:brightness(0.45) contrast(1.4) saturate(1.2);
    animation:zoomHero 20s ease-in-out infinite alternate;
}

/* OVERLAY PRO */
.overlay{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at center, rgba(0,0,0,0.2), #000),
        linear-gradient(to top, #000, transparent 60%);
}

/* CONTENIDO HERO */
.hero-content{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
    animation:cinematic 2s ease;
}

/* TITULO LUJO */
.hero h1{
    font-family:'Playfair Display', serif;
    font-size:85px;
    letter-spacing:6px;
    background:linear-gradient(120deg,#d4af37,#fff3c4,#d4af37);
    background-size:200%;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:shine 6s linear infinite;
}

/* SUBTITULO */
.hero p{
    margin-top:20px;
    color:#d4af37;
    letter-spacing:4px;
    font-size:14px;
    opacity:0.9;
}

/* LINEA DECORATIVA */
.hero p::after{
    content:"";
    display:block;
    width:60px;
    height:2px;
    margin:15px auto 0;
    background:#d4af37;
}

/* ===== CHEF SECTION ===== */
.chef{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:180px 10%;
    gap:120px;
    flex-wrap:wrap;
    background:radial-gradient(circle at top,#111,#000);
}

/* IMAGEN */
.chef-left{
    position:relative;
}

.chef-left img{
    width:400px;
    border-radius:14px;
    filter:grayscale(100%) brightness(0.7);
    transition:0.7s;
}

/* BORDE GLOW */
.chef-left::after{
    content:"";
    position:absolute;
    inset:-10px;
    border-radius:20px;
    background:linear-gradient(120deg,#d4af37,transparent,#d4af37);
    opacity:0;
    transition:0.6s;
    z-index:-1;
}

.chef-left:hover::after{
    opacity:0.4;
}

.chef-left img:hover{
    filter:grayscale(0%) brightness(1);
    transform:scale(1.07);
    box-shadow:0 30px 60px rgba(0,0,0,0.8);
}

/* TEXTO */
.chef-right{
    max-width:520px;
}

.chef-right h2{
    font-family:'Playfair Display', serif;
    font-size:50px;
    letter-spacing:2px;
}

.chef-right span{
    display:block;
    margin:15px 0 25px;
    color:#d4af37;
    letter-spacing:3px;
    font-size:13px;
}

.chef-right p{
    line-height:2;
    color:#bbb;
}

/* BOTON PREMIUM */
.btn{
    margin-top:40px;
    display:inline-block;
    padding:14px 40px;
    border:1px solid rgba(212,175,55,0.5);
    color:#d4af37;
    position:relative;
    overflow:hidden;
    cursor:pointer;
    transition:0.4s;
    letter-spacing:2px;
}

.btn::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(120deg,#d4af37,#fff3c4);
    transform:translateX(-100%);
    transition:0.5s;
    z-index:-1;
}

.btn:hover::before{
    transform:translateX(0);
}

.btn:hover{
    color:black;
    box-shadow:0 0 20px rgba(212,175,55,0.5);
}

/* ===== GALERIA PRO ===== */
.gallery{
    display:flex;
    height:450px;
    overflow:hidden;
}

/* CONTENEDORES */
.img{
    flex:1;
    position:relative;
    overflow:hidden;
    transition:0.6s;
}

/* IMAGEN */
.img img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:brightness(0.5) grayscale(100%);
    transition:0.7s;
}

/* EFECTO OVERLAY */
.img::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(0,0,0,0.7), transparent);
}

/* HOVER GALERIA */
.gallery:hover .img{
    flex:0.7;
}

.gallery .img:hover{
    flex:1.6;
}

.img:hover img{
    transform:scale(1.15);
    filter:brightness(1) grayscale(0%);
}

/* ===== ANIMACIONES ===== */
@keyframes zoomHero{
    from{transform:scale(1);}
    to{transform:scale(1.2);}
}

@keyframes cinematic{
    from{
        opacity:0;
        transform:translate(-50%,-30%);
        filter:blur(15px);
    }
    to{
        opacity:1;
        transform:translate(-50%,-50%);
        filter:blur(0);
    }
}

@keyframes shine{
    to{
        background-position:200%;
    }
}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){

    .hero h1{
        font-size:45px;
    }

    .chef{
        padding:100px 20px;
        gap:60px;
    }

    .chef-left img{
        width:100%;
        max-width:320px;
    }

    .gallery{
        flex-direction:column;
        height:auto;
    }

    .img{
        height:250px;
    }

    .gallery:hover .img,
    .gallery .img:hover{
        flex:1;
    }
}

.hero-inner{
    opacity:0;
    animation:luxFade 2.5s ease forwards;
}

/* TITULO LUJO */
.hero h1{
    font-family:'Playfair Display', serif;
    font-size:70px;
    letter-spacing:4px;

    background:linear-gradient(90deg,#d4af37,#fff3c4,#d4af37);
    background-size:200% auto;

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    opacity:0;
    transform:translateY(30px);

    animation:goldReveal 2.5s ease forwards;
}

/* SUBTITULO */
.hero p{
    margin-top:15px;
    font-size:18px;
    letter-spacing:3px;

    opacity:0;
    transform:translateY(20px);

    animation:fadeLuxury 3s ease forwards;
    animation-delay:0.8s;
}

/* ANIMACIONES */

@keyframes luxFade{
    0%{
        opacity:0;
    }
    100%{
        opacity:1;
    }
}

@keyframes goldReveal{
    0%{
        opacity:0;
        transform:translateY(40px);
        background-position:0% center;
    }
    100%{
        opacity:1;
        transform:translateY(0);
        background-position:200% center;
    }
}

@keyframes fadeLuxury{
    0%{
        opacity:0;
        transform:translateY(30px);
    }
    100%{
        opacity:1;
        transform:translateY(0);
    }
}

.nav a{
  color:#ccc;
  text-decoration:none;
  letter-spacing:6px;
  font-size:18px;
  transition:0.3s;
}

.nav a:hover{
  color:#d4af37;
}


.nav{
  display:flex;
  justify-content:center;
  gap:60px;
  padding:20px 0;
 align-items:center; /* 👈 esto arregla lo de las letras arriba */
  background:#0b0b0b;  
}

.logo img{
  height: 70px;   
  width: auto;
  display: block;
  align-items: center;
}

/* my one model responsive */
@media (max-width: 768px){

  .nav{
    flex-direction:column;
    gap:15px;
    text-align:center;
  }

  .nav{ gap:30px; }
}
