/* ========================= */
/* RESET */
/* ========================= */
:root {
  --hero-height: 45vh;
  --hero-min-height: 380px;
}
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Outfit', sans-serif;
  background:#f6f2ec;
  color:#2e2621;
  overflow-x:hidden;
}


/* ========================= */
/* HERO SECONDAIRE (toutes pages sauf accueil) */
/* ========================= */

:root {
  --hero-height: 58vh;
  --hero-min-height: 480px;
}

@media (max-width: 768px) {
  :root {
    --hero-height: 360px;
    --hero-min-height: unset;
  }
}


/* ========================= */
/* NAVBAR */
/* ========================= */

.navbar{

  position:fixed;
  top:0;
  left:0;
  width:100%;

  z-index:1000;

  transition:0.35s ease;
}

.navbar.scrolled{

  background:rgba(15,15,15,0.55);

  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);

  border-bottom:1px solid rgba(255,255,255,0.08);

}

.navbar-container{

  width:min(1400px, 92%);
  margin:auto;

  height:90px;

  display:flex;
  align-items:center;
  justify-content:space-between;
}

.logo{
  height:72px;
  width:auto;
}

#nav-links{

  display:flex;
  align-items:center;
  gap:34px;

  list-style:none;
}

#nav-links a{

  color:white;
  text-decoration:none;

  font-size:0.95rem;
  font-weight:400;

  letter-spacing:0.5px;

  transition:0.25s ease;
}

#nav-links a:hover,
#nav-links a.active{

  color:#d6a36a;
}

.menu-toggle{

  display:none;

  background:none;
  border:none;

  color:white;
  font-size:2rem;

  cursor:pointer;
}


/* ========================= */
/* HERO */
/* ========================= */

.hero{

  position:relative;

  height:100vh;
  min-height:750px;

  overflow:hidden;
}

.hero-image{

  width:100%;
  height:100%;

  object-fit:cover;

  animation:heroZoom 14s ease forwards;
}

@keyframes heroZoom{

  from{
    transform:scale(1);
  }

  to{
    transform:scale(1.06);
  }

}

.hero-overlay{

  position:absolute;
  inset:0;

  background:
  linear-gradient(
    to bottom,
    rgba(0,0,0,0.45),
    rgba(0,0,0,0.25),
    rgba(0,0,0,0.55)
  );
}

.hero-content{
  position:absolute;
  inset:0;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  transform: translateY(-20px);

  text-align:center;
  z-index:2;
  padding:20px;
}


.hero-logo{
  width:min(360px, 72vw);
  margin-bottom:30px;
  filter:
  drop-shadow(0 10px 30px rgba(0,0,0,0.4));
}

.hero-logo-mobile{
  display:none;
}

@media (max-width: 768px){

  .hero-logo-desktop{
    display:none;
  }

  .hero-logo-mobile{
    display:block;
    width:140px;
  }

}

.hero-subtitle{

  color:#d6a36a;

  letter-spacing:4px;
  text-transform:uppercase;

  font-size:0.8rem;

  margin-bottom:18px;
}

.hero h1{

  max-width:900px;

  color:white;

  font-size:clamp(2.4rem, 5vw, 5.5rem);
  line-height:1.05;

  font-weight:300;

  margin-bottom:40px;

  text-shadow:0 5px 25px rgba(0,0,0,0.45);
}


/* ========================= */
/* BUTTONS */
/* ========================= */

.hero-buttons{

  display:flex;
  gap:18px;
  flex-wrap:wrap;
  justify-content:center;
}

.btn{

  padding:16px 34px;

  border-radius:999px;

  text-decoration:none;

  transition:0.3s ease;

  font-weight:500;

  letter-spacing:0.4px;
}

.btn-primary{

  background:#c9915a;
  color:white;
}

.btn-primary:hover{

  transform:translateY(-3px);

  background:#dba36a;

  box-shadow:0 15px 40px rgba(0,0,0,0.25);
}

.btn-secondary{

  border:1px solid rgba(255,255,255,0.4);

  background:rgba(255,255,255,0.08);

  color:white;

  backdrop-filter:blur(10px);
}

.btn-secondary:hover{

  background:rgba(255,255,255,0.18);
}


/* ========================= */
/* SCROLL INDICATOR */
/* ========================= */

.scroll-indicator{

  position:absolute;

  bottom:28px;
  left:50%;

  transform:translateX(-50%);

  z-index:5;
}

.scroll-indicator{

  position:absolute;

  bottom:34px;
  left:50%;

  transform:translateX(-50%);

  z-index:5;

  animation:scrollBounce 2s infinite;
}

.scroll-indicator svg{

  opacity:0.85;
}

@keyframes scrollBounce{

  0%,100%{
    transform:translate(-50%,0);
  }

  50%{
    transform:translate(-50%,8px);
  }

}


/* ========================= */
/* SECTIONS */
/* ========================= */

section{

  padding:120px 20px;
}

.intro-container,
.feature-grid,
.cta-box{

  width:min(1200px, 92%);
  margin:auto;
}

.section-tag{

  color:#c9915a;

  text-transform:uppercase;
  letter-spacing:3px;

  font-size:0.75rem;
}

.intro-text h2{

  font-size:clamp(2rem, 4vw, 4rem);

  margin:20px 0 30px;
}

.intro-text p{

  max-width:850px;

  line-height:1.9;

  font-size:1.08rem;

  margin-bottom:24px;

  color:#5d5148;
}


/* ========================= */
/* FEATURES */
/* ========================= */

.features{

  background:white;
}

.feature-grid{

  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.feature-card{

  background:#f7f2eb;

  border-radius:28px;

  padding:45px;

  transition:0.3s ease;
}

.feature-card:hover{

  transform:translateY(-8px);

  box-shadow:0 20px 40px rgba(0,0,0,0.08);
}

.feature-card h3{

  font-size:1.4rem;

  margin-bottom:18px;
}

.feature-card p{

  color:#64574e;

  line-height:1.7;
}


/* ========================= */
/* CTA */
/* ========================= */

.cta-section{

  background:#2b211c;
}

.cta-box{

  text-align:center;
}

.cta-box h2{

  color:white;

  font-size:clamp(2rem, 4vw, 4rem);

  margin-bottom:20px;
}

.cta-box p{

  color:rgba(255,255,255,0.75);

  margin-bottom:40px;
}


/* ========================= */
/* FOOTER */
/* ========================= */

footer{

  background:#1a1512;

  color:rgba(255,255,255,0.6);

  padding:50px 20px;

  text-align:center;
}

.footer-content{

  display:flex;
  flex-direction:column;
  gap:10px;
}


/* ========================= */
/* REVEAL */
/* ========================= */

.reveal{

  opacity:0;
  transform:translateY(40px);

  transition:1s ease;
}

.reveal.active{

  opacity:1;
  transform:translateY(0);
}


/* ========================= */
/* MOBILE */
/* ========================= */

@media (max-width: 980px){

  .menu-toggle{
    display:block;
  }

  #nav-links{

    position:absolute;

    top:90px;
    right:20px;

    width:240px;

    flex-direction:column;
    align-items:flex-start;

    padding:25px;

    border-radius:22px;

    background:rgba(20,20,20,0.92);

    backdrop-filter:blur(18px);

    opacity:0;
    visibility:hidden;

    transform:translateY(-10px);

    transition:0.3s ease;
  }

  #nav-links.show{

    opacity:1;
    visibility:visible;

    transform:translateY(0);
  }

  .feature-grid{
    grid-template-columns:1fr;
  }

  .hero{

    min-height:100svh;
  }

  .hero h1{

    font-size:2.8rem;
  }

  .hero-logo{

    width:240px;
  }

  section{

    padding:90px 20px;
  }

}