/* ═══════════════════════════════
   LA ROSE POUDRÉE — STYLE COMMUN
═══════════════════════════════ */
:root {
  --ink:    #2b1a17;
  --paper:  #f5ede6;
  --paper2: #edddd3;
  --dust:   #c4878e;
  --dustl:  #d8a8ae;
  --dustd:  #a86870;
  --stone:  #8a6f6a;
  --rose:   #e8c4c4;
  --brun:   #3d2420;
  --line:   rgba(43,26,23,.1);
  --white:  #fdf8f5;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'DM Sans', sans-serif;
  font-weight:300;
  background:var(--paper);
  color:var(--ink);
  overflow-x:hidden;
}

/* NAV */
nav {
  position:fixed; top:0; left:0; right:0; z-index:800;
  padding:1.4rem 3.5rem;
  display:flex; align-items:center; justify-content:space-between;
  background: var(--brun);
}
.nav-brand {
  font-family:'Bodoni Moda', serif;
  font-size:.88rem; font-weight:400;
  letter-spacing:.25em; text-transform:uppercase;
  color:var(--white); text-decoration:none;
}
.nav-brand em { font-style:italic; color:var(--dust); }
.nav-menu { display:flex; gap:3rem; list-style:none; align-items:center; }
.nav-menu a {
  font-size:.63rem; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(253,248,245,.5); text-decoration:none; transition:color .25s;
  position:relative;
}
.nav-menu a::after {
  content:''; position:absolute; bottom:-3px; left:0;
  width:0; height:1px; background:var(--dust); transition:width .3s;
}
.nav-menu a:hover, .nav-menu a.active { color:var(--white); }
.nav-menu a.active::after, .nav-menu a:hover::after { width:100%; }
.nav-rdv {
  font-size:.63rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--dust); text-decoration:none;
  padding:.55rem 1.4rem; border:1px solid var(--dust); transition:all .3s;
}
.nav-rdv:hover { background:var(--dust); color:var(--ink); }

/* HAMBURGER */
.hamburger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:4px; z-index:900;
}
.hamburger span { display:block; width:22px; height:1px; background:var(--white); transition:all .35s; }
.hamburger.open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.nav-drawer {
  position:fixed; inset:0; background:var(--brun); z-index:700;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:2.5rem; opacity:0; visibility:hidden; transition:opacity .4s, visibility .4s;
}
.nav-drawer.open { opacity:1; visibility:visible; }
.nav-drawer a {
  font-family:'Bodoni Moda', serif; font-size:2rem; font-weight:300; font-style:italic;
  color:rgba(253,248,245,.6); text-decoration:none; transition:color .25s;
}
.nav-drawer a:hover { color:var(--dust); }
.nav-drawer .drawer-rdv {
  font-family:'DM Sans', sans-serif; font-size:.7rem; font-style:normal;
  letter-spacing:.25em; text-transform:uppercase; color:var(--dust);
  border:1px solid var(--dust); padding:.8rem 2rem; margin-top:1rem;
}

/* TYPO COMMUNE */
.section-kicker {
  font-size:.6rem; letter-spacing:.35em; text-transform:uppercase;
  color:var(--dust); margin-bottom:1.2rem;
}
h2.display {
  font-family:'Bodoni Moda', serif;
  font-size:clamp(3rem, 5vw, 4.5rem);
  font-weight:300; line-height:1.1; color:var(--ink);
}
h2.display em { font-style:italic; }

/* BOUTONS */
.btn-dark {
  display:inline-flex; align-items:center; gap:1.2rem;
  background:var(--ink); color:var(--paper);
  padding:1.1rem 2.2rem;
  font-size:.65rem; letter-spacing:.25em; text-transform:uppercase;
  text-decoration:none; font-family:'DM Sans',sans-serif; font-weight:400;
  transition:all .35s; width:fit-content;
}
.btn-dark:hover { background:var(--dust); gap:2rem; }

/* PAGE HEADER (pour pages internes) */
.page-header {
  padding:11rem 3.5rem 5rem;
  text-align:center;
  background:linear-gradient(135deg, var(--paper) 0%, var(--paper2) 100%);
  position:relative; overflow:hidden;
}
.page-header::before {
  content:''; position:absolute; top:-6rem; right:-6rem;
  width:24rem; height:24rem; border-radius:50%;
  background:radial-gradient(circle, rgba(196,135,142,.12) 0%, transparent 70%);
}
.page-header .section-kicker { display:flex; justify-content:center; }
.page-header h1 {
  font-family:'Bodoni Moda', serif;
  font-size:clamp(2.8rem, 6vw, 4.5rem);
  font-weight:300; line-height:1.1; color:var(--ink);
  position:relative; z-index:2;
}
.page-header h1 em { font-style:italic; color:var(--dust); }
.page-header p {
  font-size:.9rem; line-height:1.9; color:var(--stone);
  max-width:520px; margin:1.5rem auto 0; position:relative; z-index:2;
}

/* MARQUEE */
.marquee-wrap { background:var(--brun); padding:.9rem 0; overflow:hidden; }
.marquee-track { display:flex; white-space:nowrap; animation:marquee 28s linear infinite; }
.marquee-item {
  font-size:.62rem; letter-spacing:.35em; text-transform:uppercase;
  color:rgba(253,248,245,.35); padding:0 3rem; flex-shrink:0;
}
.marquee-item.accent { color:var(--dust); }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* FOOTER */
footer { background:var(--brun); border-top:1px solid rgba(253,248,245,.06); padding:4rem 3.5rem 3rem; }
.footer-top { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:4rem; }
.footer-mark {
  font-family:'Bodoni Moda',serif; font-size:8rem; font-style:italic; font-weight:300;
  color:transparent; -webkit-text-stroke:1px rgba(253,248,245,.08); line-height:1;
}
.footer-links { display:flex; flex-direction:column; gap:1rem; text-align:right; list-style:none; }
.footer-links a { font-size:.65rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(253,248,245,.25); text-decoration:none; transition:color .3s; }
.footer-links a:hover { color:var(--dust); }
.footer-bottom {
  display:flex; align-items:center; justify-content:space-between;
  padding-top:2rem; border-top:1px solid rgba(253,248,245,.05);
}
.footer-brand { font-family:'Bodoni Moda',serif; font-size:.9rem; font-style:italic; color:rgba(253,248,245,.25); }
.footer-copy { font-size:.58rem; letter-spacing:.18em; color:rgba(253,248,245,.12); }

/* REVEALS */
.fade { opacity:0; transform:translateY(24px); transition:opacity .85s ease, transform .85s ease; }
.fade.in { opacity:1; transform:translateY(0); }

/* RESPONSIVE COMMUN */
@media (max-width:960px) {
  nav { padding:1.2rem 1.5rem; }
  .nav-menu { display:none; }
  .hamburger { display:flex; }
}
@media (max-width:600px) {
  nav { padding:1rem 1.2rem; }
  .page-header { padding:8rem 1.5rem 3.5rem; }
  .marquee-item { font-size:.55rem; padding:0 1.5rem; }
  footer { padding:2.5rem 1.2rem 2rem; }
  .footer-top { flex-direction:column; align-items:flex-start; gap:2rem; margin-bottom:2rem; }
  .footer-mark { font-size:4rem; }
  .footer-links { text-align:left; flex-direction:row; flex-wrap:wrap; gap:.8rem 1.5rem; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:.5rem; }
}
