/* HEADER STICKY */
.site-header{
  position:fixed;top:0;left:0;right:0;
  height:var(--header-h-mobile);
  background:rgba(242,234,221,.94);
  backdrop-filter:saturate(1.1) blur(8px);
  -webkit-backdrop-filter:saturate(1.1) blur(8px);
  border-bottom:1px solid transparent;
  z-index:var(--z-header);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.site-header.scrolled{
  border-bottom-color:var(--border);
  box-shadow:0 1px 0 rgba(42,33,26,.04);
}
@media (min-width:769px){
  .site-header{height:var(--header-h);}
}
.header-inner{
  max-width:var(--container);
  margin:0 auto;
  height:100%;
  padding:0 20px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
}
@media (min-width:768px){.header-inner{padding:0 40px;}}

/* BRAND / LOGO */
.brand{
  display:inline-flex;align-items:center;gap:10px;
  text-decoration:none;color:var(--text);
}
.brand-mark{
  width:36px;height:36px;
  color:var(--accent);
  flex-shrink:0;
  display:grid;place-items:center;
}
.brand-mark svg{width:100%;height:100%;display:block;}
.brand-name{
  font-family:var(--ff-display);
  font-weight:500;
  font-size:1.15rem;
  line-height:1;
  letter-spacing:-.005em;
  color:var(--text);
}
.brand-tag{
  display:block;
  font-family:var(--ff-body);
  font-weight:400;
  font-size:.66rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--text-mute);
  margin-top:4px;
}

/* NAV DESKTOP */
.nav-desktop{display:none;}
@media (min-width:1000px){
  .nav-desktop{display:flex;align-items:center;gap:28px;}
  .nav-desktop a{
    font-family:var(--ff-body);
    font-size:.92rem;
    font-weight:500;
    color:var(--text);
    position:relative;padding:4px 0;
    transition:color .2s;
  }
  .nav-desktop a::after{
    content:"";position:absolute;left:0;right:0;bottom:-2px;
    height:1px;background:var(--accent);
    transform:scaleX(0);transform-origin:left;
    transition:transform .25s ease;
  }
  .nav-desktop a:hover{color:var(--accent);}
  .nav-desktop a:hover::after{transform:scaleX(1);}
}

/* HEADER ACTIONS */
.header-actions{display:flex;align-items:center;gap:10px;}
.header-call{
  display:none;
}
@media (min-width:768px){
  .header-call{
    display:inline-flex;align-items:center;gap:8px;
    padding:9px 14px;
    background:var(--text);color:var(--bg);
    border-radius:999px;
    font-family:var(--ff-body);font-size:.88rem;font-weight:500;
    text-decoration:none;
    transition:background .2s, color .2s;
  }
  .header-call:hover{background:var(--accent);color:var(--bg);}
  .header-call svg{width:14px;height:14px;}
}

/* BURGER */
.burger{
  width:44px;height:44px;
  border:none;background:transparent;
  display:grid;place-items:center;
  cursor:pointer;
  padding:0;
  z-index:calc(var(--z-header) + 1);
}
.burger span,
.burger span::before,
.burger span::after{
  content:"";display:block;
  width:22px;height:2px;
  background:var(--text);
  border-radius:1px;
  transition:transform .3s ease, opacity .25s ease;
}
.burger span{position:relative;}
.burger span::before{position:absolute;top:-7px;left:0;}
.burger span::after{position:absolute;top:7px;left:0;}
.burger.is-open span{background:transparent;}
.burger.is-open span::before{transform:translateY(7px) rotate(45deg);}
.burger.is-open span::after{transform:translateY(-7px) rotate(-45deg);}
@media (min-width:1000px){.burger{display:none;}}

/* MENU MOBILE (enfant DIRECT de body — refermable) */
.menu-mobile{
  position:fixed;
  top:0;left:0;
  width:100%;
  height:100dvh;
  background:var(--bg);
  z-index:var(--z-menu);
  padding:calc(var(--header-h-mobile) + 24px) 24px 40px;
  display:flex;flex-direction:column;gap:6px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  transform:translateY(-100%);
  opacity:0;
  visibility:hidden;
  transition:transform .35s ease, opacity .35s ease, visibility 0s linear .35s;
}
.menu-mobile.is-open{
  transform:translateY(0);
  opacity:1;
  visibility:visible;
  transition:transform .35s ease, opacity .35s ease;
}
.menu-mobile a:not(.btn){
  display:block;
  font-family:var(--ff-display);
  font-size:1.65rem;
  font-weight:400;
  color:var(--text);
  padding:14px 0;
  border-bottom:1px solid var(--border);
  text-decoration:none;
  line-height:1.2;
}
.menu-mobile a:not(.btn):hover{color:var(--accent);}
.menu-mobile .menu-cta{
  margin-top:24px;
  display:flex;flex-direction:column;gap:12px;
}
.menu-mobile .btn{width:100%;justify-content:center;}
.menu-mobile .menu-meta{
  margin-top:auto;
  padding-top:32px;
  font-size:.85rem;color:var(--text-mute);
  line-height:1.55;
}
.menu-mobile .menu-meta strong{color:var(--text);font-weight:600;display:block;margin-bottom:4px;}
.menu-mobile .menu-meta p{margin:0;}
@media (min-width:1000px){
  .burger{display:none;}
  .menu-mobile{display:none;}
}

/* FOOTER */
.site-footer{
  margin-top:48px;
  background:var(--dark);
  color:#E7DCC9;
  padding:48px 0 28px;
  position:relative;z-index:1;
}
@media (min-width:768px){.site-footer{padding:64px 0 32px;margin-top:80px;}}
.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
}
@media (min-width:768px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;}}

.footer-brand .brand-mark{color:#D9B27A;}
.footer-brand .brand-name{color:#fff;}
.footer-brand p{color:#B5A892;font-size:.92rem;margin-top:14px;max-width:34ch;line-height:1.55;}

.footer-col h4{
  font-family:var(--ff-body);
  font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;
  color:#D9B27A;margin-bottom:14px;font-weight:500;
}
.footer-col ul{list-style:none;padding:0;margin:0;}
.footer-col li{margin-bottom:8px;font-size:.93rem;color:#C9BCA5;}
.footer-col a{color:#C9BCA5;}
.footer-col a:hover{color:#fff;}
.footer-col svg{width:13px;height:13px;display:inline-block;vertical-align:-2px;margin-right:6px;color:#D9B27A;}

.footer-bottom{
  margin-top:36px;
  padding-top:24px;
  border-top:1px solid rgba(217,178,122,.16);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;
  font-size:.82rem;color:#9A8E78;
}
.footer-bottom a{color:#9A8E78;}
.footer-bottom a:hover{color:#fff;}
.footer-bottom .ml-trigger{
  background:none;border:none;color:#9A8E78;
  font-family:inherit;font-size:.82rem;cursor:pointer;text-decoration:underline;
  text-underline-offset:3px;padding:0;
}
.footer-bottom .ml-trigger:hover{color:#fff;}

/* FAB MOBILE */
.fab-call{
  position:fixed;
  right:18px;bottom:18px;
  width:56px;height:56px;
  border-radius:50%;
  background:var(--text);color:var(--bg);
  display:grid;place-items:center;
  box-shadow:0 8px 24px rgba(42,33,26,.28);
  z-index:var(--z-fab);
  text-decoration:none;
  transition:transform .2s, background .2s;
}
.fab-call:hover{background:var(--accent);transform:translateY(-2px);}
.fab-call svg{width:24px;height:24px;}
@media (min-width:768px){.fab-call{display:none;}}
