/* Navigation production V3.1 — scoped styles only. No JavaScript dependency. */
:root {
  --naz-green: #2D5A27;
  --naz-gold: #C5A059;
  --naz-dark: #1A1A1A;
}

html { scroll-padding-top: 112px; }


/* Header entrance and scroll transition */
.naz-site-header {
  will-change: padding, background-color, box-shadow, backdrop-filter;
  animation: nazHeaderEnter .7s cubic-bezier(.22,1,.36,1) both;
}
.naz-header-top { border-bottom: 1px solid transparent; }
.naz-header-scrolled {
  border-bottom: 1px solid rgba(197,160,89,.18);
}
.naz-logo-link img { transform-origin: left center; }
.naz-logo-link:hover img { transform: translateY(-2px) scale(1.025); }

/* Desktop links: elegant expanding underline and micro-lift */
.naz-nav-link {
  position: relative;
  isolation: isolate;
  border: 0 !important;
  transition: color .28s ease, transform .28s ease, text-shadow .28s ease;
}
.naz-nav-link::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 2px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--naz-green), var(--naz-gold));
  transition: left .32s cubic-bezier(.22,1,.36,1), right .32s cubic-bezier(.22,1,.36,1), opacity .25s ease;
  opacity: .9;
}
.naz-nav-link:hover,
.naz-nav-link:focus-visible {
  transform: translateY(-2px);
  text-shadow: 0 8px 22px rgba(0,0,0,.16);
  outline: none;
}
.naz-nav-link:hover::after,
.naz-nav-link:focus-visible::after { left: 0; right: 0; }
.naz-nav-gold::after { background: linear-gradient(90deg, #e5c77f, var(--naz-gold)); }

/* CTA: subtle shine, not a constant distracting pulse */
.naz-nav-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, background-color .3s ease;
}
.naz-nav-cta::before {
  content: "";
  position: absolute;
  inset: -2px auto -2px -45%;
  width: 32%;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  transition: left .65s cubic-bezier(.22,1,.36,1);
  z-index: -1;
}
.naz-nav-cta:hover,
.naz-nav-cta:focus-visible {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 14px 32px rgba(45,90,39,.28);
  outline: none;
}
.naz-nav-cta:hover::before,
.naz-nav-cta:focus-visible::before { left: 115%; }

/* Mobile bottom dock */
.naz-mobile-dock {
  animation: nazDockEnter .65s .15s cubic-bezier(.22,1,.36,1) both;
  transform-origin: bottom center;
}
.naz-mobile-action {
  transition: color .25s ease, transform .25s cubic-bezier(.22,1,.36,1);
}
.naz-mobile-action:hover,
.naz-mobile-action:focus-visible { transform: translateY(-4px); outline: none; }
.naz-mobile-action:active { transform: translateY(-1px) scale(.94); }
.naz-mobile-call {
  animation: nazCallEnter .7s .35s cubic-bezier(.22,1,.36,1) both;
  transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease;
}
.naz-mobile-call:hover,
.naz-mobile-call:focus-visible {
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 16px 32px rgba(45,90,39,.32);
  outline: none;
}

/* Fullscreen mobile menu */
.naz-mobile-menu { overflow: hidden; }
.naz-mobile-menu::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 10%, rgba(197,160,89,.13), transparent 32%),
              radial-gradient(circle at 86% 82%, rgba(45,90,39,.12), transparent 38%);
  pointer-events: none;
}
.naz-mobile-menu > * { position: relative; z-index: 2; }
.naz-mobile-menu-item {
  animation: nazMenuItemEnter .5s cubic-bezier(.22,1,.36,1) both;
  animation-delay: calc(var(--nav-index) * 55ms);
  transition: color .25s ease, transform .25s cubic-bezier(.22,1,.36,1);
}
.naz-mobile-menu-item:hover,
.naz-mobile-menu-item:focus-visible {
  transform: translateX(6px);
  color: var(--naz-green);
  outline: none;
}
.naz-mobile-menu-cta:hover,
.naz-mobile-menu-cta:focus-visible {
  color: white;
  transform: translateY(-3px) scale(1.025);
  box-shadow: 0 16px 34px rgba(197,160,89,.3);
}
.naz-menu-close {
  transition: transform .35s cubic-bezier(.22,1,.36,1), color .25s ease, background-color .25s ease;
  border-radius: 999px;
  padding: 6px;
}
.naz-menu-close:hover,
.naz-menu-close:focus-visible {
  transform: rotate(90deg) scale(1.06);
  color: var(--naz-green);
  background: rgba(45,90,39,.08);
  outline: none;
}
.naz-menu-orb {
  position: absolute !important;
  z-index: 0 !important;
  border-radius: 999px;
  filter: blur(1px);
  opacity: .6;
  pointer-events: none;
  animation: nazOrbFloat 7s ease-in-out infinite alternate;
}
.naz-menu-orb-one {
  width: 210px; height: 210px; left: -90px; top: 13%;
  background: rgba(197,160,89,.11);
}
.naz-menu-orb-two {
  width: 260px; height: 260px; right: -130px; bottom: 8%;
  background: rgba(45,90,39,.1);
  animation-delay: -2.4s;
}

@keyframes nazHeaderEnter {
  from { opacity: 0; transform: translateY(-18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes nazDockEnter {
  from { opacity: 0; transform: translateY(45px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes nazCallEnter {
  from { opacity: 0; transform: translateY(20px) scale(.72); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes nazMenuItemEnter {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes nazOrbFloat {
  from { transform: translate3d(0,0,0) scale(1); }
  to { transform: translate3d(12px,-18px,0) scale(1.08); }
}

@media (min-width: 768px) {
  }

@media (prefers-reduced-motion: reduce) {
  .naz-site-header,
  .naz-mobile-dock,
  .naz-mobile-call,
  .naz-mobile-menu-item,
  .naz-menu-orb { animation: none !important; }
  .naz-nav-link,
  .naz-nav-cta,
  .naz-logo-link img,
  .naz-mobile-action,
  .naz-mobile-call,
  .naz-menu-close { transition-duration: .01ms !important; }
}


/* V4 — navigation détaillée, menus SEO et accès clavier */
.naz-nav-group{position:relative;display:flex;align-items:center}
.naz-nav-trigger .naz-chevron{transform-origin:center;opacity:.75}
.naz-nav-group:hover .naz-chevron,.naz-nav-group:focus-within .naz-chevron{transform:rotate(180deg)}
.naz-dropdown{position:absolute;top:calc(100% + 14px);left:50%;z-index:120;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,12px) scale(.985);transition:opacity .22s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility .22s ease;background:rgba(255,255,255,.985);border:1px solid rgba(45,90,39,.12);border-radius:20px;box-shadow:0 28px 70px rgba(15,28,15,.22);color:#293229;text-transform:none;letter-spacing:normal;font-weight:500}
.naz-dropdown:before{content:"";position:absolute;left:0;right:0;top:-18px;height:20px}
.naz-nav-group:hover .naz-dropdown,.naz-nav-group:focus-within .naz-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.naz-mega-menu{width:min(820px,88vw);padding:24px}
.naz-zones-menu{width:min(560px,82vw);padding:24px}
.naz-small-menu{width:340px;padding:20px;left:auto;right:0;transform:translate(0,12px) scale(.985)}
.naz-nav-group:hover .naz-small-menu,.naz-nav-group:focus-within .naz-small-menu{transform:translate(0,0) scale(1)}
.naz-expertise-menu{width:430px;padding:22px;left:auto;right:0;transform:translate(0,12px) scale(.985)}
.naz-nav-group:hover .naz-expertise-menu,.naz-nav-group:focus-within .naz-expertise-menu{transform:translate(0,0) scale(1)}
.naz-mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.naz-zones-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.naz-menu-column{min-width:0}.naz-menu-title{margin:0 0 10px;padding:0 8px 10px;border-bottom:1px solid rgba(45,90,39,.12);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--naz-green)}
.naz-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 8px;border-radius:10px;color:#4b5563;font-size:12px;line-height:1.35;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.naz-menu-item:hover,.naz-menu-item:focus-visible{background:rgba(45,90,39,.08);color:var(--naz-green);transform:translateX(3px);outline:none}
.naz-expertise-grid{display:grid;gap:10px}.naz-expertise-card{display:block;padding:14px;border-radius:13px;background:#f7f8f5;border:1px solid transparent;transition:.22s ease}.naz-expertise-card strong{display:block;color:var(--naz-dark);font-family:"Playfair Display",Georgia,serif;font-size:16px}.naz-expertise-card span{display:block;margin-top:4px;color:#6b7280;font-size:11px;line-height:1.45}.naz-expertise-card:hover,.naz-expertise-card:focus-visible{border-color:rgba(197,160,89,.65);background:#fff;transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.08);outline:none}
.naz-mobile-menu{overflow-y:auto!important;align-items:stretch!important;justify-content:flex-start!important}.naz-mobile-menu-shell{isolation:isolate}.naz-mobile-pill{display:inline-flex;align-items:center;padding:10px 15px;border:1px solid #e5e7eb;border-radius:999px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#374151;transition:.2s ease}.naz-mobile-pill:hover{border-color:var(--naz-green);color:var(--naz-green);transform:translateY(-2px)}
.naz-mobile-section-title{margin:0 0 15px;color:var(--naz-green);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.naz-mobile-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.naz-mobile-links-grid a{display:block;padding:9px 0;border-bottom:1px solid #eef0ec;color:#374151;font-size:13px;font-weight:600;transition:.2s ease}.naz-mobile-links-grid a:hover{color:var(--naz-green);padding-left:5px}.naz-mobile-all-link{display:inline-block;margin-top:18px;color:var(--naz-green);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.naz-mobile-card{display:block;padding:15px 17px;border-radius:14px;background:#f6f7f4;border:1px solid #e8ebe5;transition:.22s ease}.naz-mobile-card strong{display:block;color:#1f2937;font-family:"Playfair Display",Georgia,serif;font-size:17px}.naz-mobile-card span{display:block;margin-top:4px;color:#6b7280;font-size:11px;line-height:1.45}.naz-mobile-card:hover{border-color:rgba(45,90,39,.35);transform:translateY(-2px)}.naz-mobile-card-green{background:var(--naz-green);border-color:var(--naz-green)}.naz-mobile-card-green strong,.naz-mobile-card-green span{color:#fff}
@media(max-width:767px){.naz-mobile-links-grid{grid-template-columns:1fr}.naz-mobile-zones{grid-template-columns:repeat(2,minmax(0,1fr))}.naz-mobile-menu-shell{padding-top:72px;padding-bottom:110px}}
@media(max-width:420px){.naz-mobile-zones{grid-template-columns:1fr}}

/* V5 — menu zones élargi */
.naz-zones-menu-wide{width:min(920px,92vw)}.naz-zones-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1100px){.naz-zones-menu-wide{width:min(760px,94vw)}.naz-zones-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
