/* HEADER STICKY */
.site-header{position:sticky;top:0;left:0;right:0;background:color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid transparent;z-index:var(--z-header);transition:border-color var(--t-fast),background var(--t-fast);}
.site-header.is-scrolled{border-bottom-color:var(--border);background:color-mix(in srgb, var(--bg) 96%, transparent);}
.site-header .container{display:flex;align-items:center;justify-content:space-between;
  height:var(--header-h-mobile);gap:16px;}
@media (min-width: 900px){.site-header .container{height:var(--header-h);}}

.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);
  font-family:var(--ff-display);min-width:0;}
.brand-mark{width:36px;height:36px;color:var(--accent);flex-shrink:0;display:grid;place-items:center;
  background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-radius:50%;padding:5px;}
.brand-mark svg{width:100%;height:100%;display:block;}
.brand-name{font-family:var(--ff-display);font-weight:700;font-size:1.06rem;line-height:1.1;color:var(--text);
  letter-spacing:-0.005em;}
.brand-name em{font-style:italic;font-weight:500;color:var(--accent);}
.brand-tag{display:block;font-family:var(--ff-ui);font-size:0.66rem;text-transform:uppercase;
  letter-spacing:0.18em;color:var(--text-mute);margin-top:2px;font-weight:500;}
@media (max-width: 460px){.brand-tag{display:none;}}

/* NAV desktop */
.nav-desktop{display:none;align-items:center;gap:28px;}
.nav-desktop a{font-family:var(--ff-ui);font-size:0.92rem;color:var(--text);text-decoration:none;
  font-weight:500;letter-spacing:0.01em;transition:color var(--t-fast);position:relative;}
.nav-desktop a:hover{color:var(--accent);}
.nav-desktop a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--accent);
  transform:scaleX(0);transform-origin:left;transition:transform var(--t-fast);}
.nav-desktop a:hover::after{transform:scaleX(1);}
.nav-desktop .btn{margin-left:8px;}
@media (min-width: 900px){.nav-desktop{display:inline-flex;}}

/* BURGER (toujours fixed top-right) */
.burger{position:fixed;top:calc((var(--header-h-mobile) - 44px) / 2);right:14px;
  width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;cursor:pointer;
  z-index:var(--z-burger);color:var(--text);}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:22px;height:2px;
  background:var(--text);border-radius:2px;position:relative;transition:transform var(--t-fast),opacity var(--t-fast);}
.burger span::before{position:absolute;top:-7px;}
.burger span::after{position:absolute;top:7px;}
.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: 900px){.burger{display:none;}}

/* MENU MOBILE */
.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:0;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{font-family:var(--ff-display);font-size:1.5rem;color:var(--text);
  padding:18px 0;border-bottom:1px solid var(--border);text-decoration:none;font-weight:500;
  display:flex;align-items:center;justify-content:space-between;}
.menu-mobile a:last-of-type{border-bottom:0;}
.menu-mobile .btn{margin-top:20px;align-self:stretch;padding:14px 22px;font-size:0.95rem;
  border-bottom:0;justify-content:center;font-family:var(--ff-ui);font-weight:600;}
.menu-mobile .btn.btn-primary{background:var(--accent);color:var(--surface);}
.menu-mobile .btn.btn-wa{background:var(--wa-green);color:#fff;margin-top:10px;}
@media (min-width: 900px){.menu-mobile{display:none;}}

/* FOOTER */
.site-footer{background:var(--surface-deep);color:var(--text-on-dark);padding:60px 0 24px;margin-top:0;}
.site-footer a{color:var(--accent-on-dark);}
.foot-grid{display:grid;grid-template-columns:1fr;gap:36px;}
@media (min-width: 700px){.foot-grid{grid-template-columns:1.3fr 1fr 1fr;gap:48px;}}
.foot-brand .brand-name{color:var(--text-on-dark);}
.foot-brand .brand-name em{color:var(--accent-on-dark);}
.foot-brand .brand-mark{background:color-mix(in srgb, var(--accent-on-dark) 16%, transparent);
  color:var(--accent-on-dark);}
.foot-brand p{color:color-mix(in srgb, var(--text-on-dark) 80%, transparent);font-size:0.95rem;margin-top:12px;}
.foot-col h4{font-family:var(--ff-display);color:var(--text-on-dark);font-size:0.85rem;
  text-transform:uppercase;letter-spacing:0.18em;font-weight:600;margin:0 0 16px;}
.foot-col ul{list-style:none;padding:0;margin:0;}
.foot-col li{font-size:0.95rem;margin-bottom:10px;color:color-mix(in srgb, var(--text-on-dark) 85%, transparent);
  display:flex;align-items:flex-start;gap:8px;}
.foot-col li svg{flex-shrink:0;margin-top:3px;color:var(--accent-on-dark);}
.foot-col li a{color:color-mix(in srgb, var(--text-on-dark) 85%, transparent);text-decoration:none;}
.foot-col li a:hover{color:var(--accent-on-dark);}
.foot-bottom{margin-top:44px;padding-top:24px;border-top:1px solid var(--border-on-dark);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;
  font-size:0.82rem;color:color-mix(in srgb, var(--text-on-dark) 65%, transparent);}
.foot-bottom button{background:none;border:0;color:inherit;text-decoration:underline;
  text-underline-offset:3px;cursor:pointer;padding:0;font-family:inherit;font-size:inherit;}
.foot-bottom button:hover{color:var(--accent-on-dark);}

/* FAB mobile */
.fab-call{position:fixed;bottom:18px;right:18px;width:56px;height:56px;border-radius:50%;
  background:var(--accent);color:var(--surface);display:grid;place-items:center;
  box-shadow:0 8px 22px rgba(31,91,78,0.32);z-index:var(--z-fab);text-decoration:none;
  opacity:0;transform:translateY(20px);transition:opacity var(--t-base), transform var(--t-base);}
.fab-call.is-visible{opacity:1;transform:translateY(0);}
.fab-call svg{width:24px;height:24px;}
@media (min-width: 900px){.fab-call{display:none;}}
