/* ========================= BASE ========================= */
body.no-scroll-structural{overflow:hidden;}

:root{
  --menu-hero-offset-structural: 0px;
}

/* ========================= BANDEAU TOP ========================= */
.menu-header-structural{
  position:sticky;
  top:0;
  z-index:1200;
}

.menu-top-bar-structural{
  background:#6e7076;
  color:#fff;
  font-size:clamp(12px,.85vw,14px);
}

.menu-top-bar-content-structural{
  width:100%;
  padding:clamp(10px,1.2vw,14px) clamp(12px,2vw,24px);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  align-items:center;
  text-align:center;
}

.menu-top-item-structural{
  display:flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  font-size:clamp(11px,.8vw,14px);
  opacity:.95;
  padding:0 clamp(8px,1vw,16px);
}

.menu-top-item-structural + .menu-top-item-structural{
  border-left:1px solid rgba(255,255,255,.35);
}

.menu-top-link-structural{
  color:inherit;
  text-decoration:none;
  opacity:inherit;
  white-space:inherit;
}
.menu-top-link-structural:hover,
.menu-top-link-structural:focus{outline:none;text-decoration:none;color:inherit;}


.menu-top-actions-structural{display:none;}

/* ========================= HEADER / MENU ========================= */
.menu-header-structural{background:#fff;border-bottom:1px solid #eaeaea;}

.menu-header-container-structural{
  max-width:1600px;
  margin:0 auto;
  padding:clamp(18px,2vw,26px) clamp(12px,2vw,20px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(14px,3vw,64px);
}

.menu-logo-structural{
  width:200px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  text-decoration:none;
}
.menu-logo-structural img{width:100%;height:70px;object-fit:contain;display:block;}
.menu-logo-tagline-structural{
  display:block;
  width:100%;
  margin-top:-2px;
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:16px;
  line-height:1;
  letter-spacing:.3px;
  color:#1c1c1c;
}


.menu-nav-structural{flex:1;display:flex;justify-content:flex-end;}
.menu-nav-list-structural{list-style:none;display:flex;gap:clamp(18px,3vw,58px);}

.menu-nav-item-structural{position:relative;}
.menu-nav-item-structural > a{
  position:relative;
  display:inline-block;
  padding:6px 0;
  text-decoration:none;
  color:#000;
  font-weight:700;
  font-size:clamp(14px,.95vw,16px);
  letter-spacing:clamp(.3px,.06vw,.6px);
  transition:color .25s ease;
}
.menu-nav-item-structural > a:hover{color:#70a57e;}

.menu-nav-item-structural > a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:0;
  height:3px;
  border-radius:2px;
  background:#fad659;
  transform:translateX(-50%);
  transition:width .3s ease;
}
.menu-nav-item-structural > a:hover::after{width:100%;}

/* ========================= SOUS-MENU ========================= */
.menu-nav-item-structural.has-submenu-structural > a{padding-right:16px;}
.menu-nav-item-structural.has-submenu-structural > a::before{
  content:"v";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-55%);
  font-size:12px;
  opacity:.8;
  color:currentColor;
}

.menu-nav-item-structural.has-submenu-structural::after{
  content:"";
  position:absolute;
  left:0;right:0;top:100%;
  height:14px;
}

.menu-submenu-structural{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%) translateY(12px);
  min-width:420px;

  list-style:none;
  background:#fff;
  border:1px solid #eaeaea;
  border-radius:8px;
  padding:10px 0;
  box-shadow:0 10px 25px rgba(0,0,0,.12);

  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
  z-index:999;
}

.menu-nav-item-structural.has-submenu-structural:hover .menu-submenu-structural,
.menu-nav-item-structural.has-submenu-structural:focus-within .menu-submenu-structural{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.menu-submenu-structural a{
  position:relative;
  display:inline-block;
  width:100%;
  padding:12px 18px;
  text-decoration:none;
  color:#000;
  font-weight:700;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.6px;
  transition:color .25s ease;
}
.menu-submenu-structural a:hover{color:#70a57e;}

@media (min-width: 769px) {
  .menu-submenu-structural a{
    white-space:nowrap;
  }
}

.menu-submenu-structural a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:6px;
  width:0;
  height:3px;
  border-radius:2px;
  background:#fad659;
  transform:translateX(-50%);
  transition:width .3s ease;
}
.menu-submenu-structural a:hover::after{width:calc(100% - 36px);}

/* ========================= MENU MOBILE HEADER ========================= */
.menu-mobile-header-structural{display:none;}

/* ========================= HERO ========================= */
.menu-hero-structural{
  position:relative;
  min-height:max(420px, calc(100svh - var(--menu-hero-offset-structural)));
  height:max(420px, calc(100dvh - var(--menu-hero-offset-structural)));
  overflow:hidden;
}

@supports not (height: 100dvh){
  .menu-hero-structural{
    min-height:max(420px, calc(100vh - var(--menu-hero-offset-structural)));
    height:max(420px, calc(100vh - var(--menu-hero-offset-structural)));
  }
}

@media (min-width:1400px) and (max-width:1700px) and (max-height:1000px){
  .menu-header-container-structural{
    padding:clamp(14px,1.6vw,20px) clamp(10px,1.6vw,16px);
    gap:clamp(12px,2.4vw,48px);
  }

  .menu-logo-structural{
    width:180px;
  }

  .menu-logo-structural img{
    height:62px;
  }

  .menu-logo-tagline-structural{
    font-size:15px;
  }

  .menu-nav-list-structural{
    gap:clamp(14px,2.4vw,46px);
  }

  .menu-nav-item-structural > a{
    font-size:clamp(13px,.85vw,15px);
  }

  .menu-hero-band-structural{
    height:100%;
  }

  .menu-hero-title-structural{
    font-size:clamp(24px,2.2vw,46px);
  }

  .menu-hero-subtitle-structural{
    font-size:clamp(14px,1.8vw,36px);
  }

  .menu-hero-actions-structural{
    margin-top:clamp(14px,1.6vw,22px);
  }
}

body.compact-125-structural .menu-header-container-structural{
  padding:clamp(14px,1.6vw,20px) clamp(10px,1.6vw,16px);
  gap:clamp(12px,2.4vw,48px);
}

body.compact-125-structural .menu-logo-structural{
  width:180px;
}

body.compact-125-structural .menu-logo-structural img{
  height:62px;
}

body.compact-125-structural .menu-logo-tagline-structural{
  font-size:15px;
}

body.compact-125-structural .menu-nav-list-structural{
  gap:clamp(14px,2.4vw,46px);
}

body.compact-125-structural .menu-nav-item-structural > a{
  font-size:clamp(13px,.85vw,15px);
}

body.compact-125-structural .menu-hero-band-structural{
  height:100%;
}

body.compact-125-structural .menu-hero-title-structural{
  font-size:clamp(24px,2.2vw,46px);
}

body.compact-125-structural .menu-hero-subtitle-structural{
  font-size:clamp(14px,1.8vw,36px);
}

body.compact-125-structural .menu-hero-actions-structural{
  margin-top:clamp(14px,1.6vw,22px);
}

.menu-hero-img-structural{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}

.menu-hero-overlay-structural{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.20);
  z-index:1;
}

.menu-hero-band-structural{
  position:absolute;
  inset:0;
  transform:none;
  background:rgba(160,120,75,.45);
  z-index:2;
}

.menu-hero-content-structural{
  position:relative;
  z-index:4;
  max-width:1600px;
  margin:0 auto;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0 20px;
  color:#fff;
}

.menu-hero-title-structural{
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(26px,2.6vw,54px);
  letter-spacing:clamp(.6px,.12vw,1px);
  line-height:1.1;
}

.menu-hero-subtitle-structural{
  margin-top:10px;
  font-weight:600;
  text-transform:uppercase;
  font-style:italic;
  opacity:.95;
  font-size:clamp(16px,2.0vw,44px);
  letter-spacing:clamp(.5px,.10vw,1px);
  line-height:1.2;
}

.menu-hero-actions-structural{
  margin-top:clamp(18px,2vw,28px);
  display:flex;
  gap:clamp(12px,1.4vw,18px);
}

.menu-hero-scroll-structural{
  position:absolute;
  left:50%;
  bottom:clamp(18px,2.6vw,32px);
  transform:translateX(-50%);
  width:22px;
  height:36px;
  border-radius:18px;
  border:2px solid rgba(255,255,255,.9);
  display:grid;
  place-items:start center;
  padding-top:5px;
  text-decoration:none;
  background:rgba(0,0,0,.15);
  box-shadow:0 6px 16px rgba(0,0,0,.25);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.menu-hero-scroll-structural:hover{
  transform:translateX(-50%) translateY(2px);
  border-color:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.28);
}

.menu-hero-scroll-dot-structural{
  width:4px;
  height:8px;
  border-radius:999px;
  background:#fff;
  animation:menu-hero-scroll-dot 1.8s ease-in-out infinite;
}

@keyframes menu-hero-scroll-dot{
  0%{transform:translateY(0); opacity:.95;}
  70%{transform:translateY(10px); opacity:.2;}
  100%{transform:translateY(0); opacity:.95;}
}


.menu-btn-structural{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:clamp(42px,3vw,52px);
  padding:0 clamp(18px,1.8vw,28px);
  border-radius:4px;
  font-weight:700;
  font-size:clamp(13px,.9vw,15px);
  text-decoration:none;
  transition:transform .15s ease, filter .2s ease;
}
.menu-btn-primary-structural{background:#70a57e;color:#fff;}
.menu-btn-structural:hover{transform:translateY(-1px);filter:brightness(.95);}

/* ========================= OVERLAY ========================= */
.menu-overlay-structural[hidden]{display:none;}
.menu-overlay-structural{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  z-index:1099;
}

/* ========================= BURGER ========================= */
.menu-burger-structural{
  display:none;
  width:44px;height:44px;
  border:0;
  background:transparent;
  cursor:pointer;
  position:relative;
  z-index:1101;
}
.menu-burger-structural span{
  position:absolute;
  left:10px;right:10px;
  height:2px;
  background:#000;
  transition:transform .2s ease, opacity .2s ease, top .2s ease;
}
.menu-burger-structural span:nth-child(1){top:14px;}
.menu-burger-structural span:nth-child(2){top:21px;}
.menu-burger-structural span:nth-child(3){top:28px;}

.menu-burger-structural.is-active-structural span:nth-child(1){top:21px;transform:rotate(45deg);}
.menu-burger-structural.is-active-structural span:nth-child(2){opacity:0;}
.menu-burger-structural.is-active-structural span:nth-child(3){top:21px;transform:rotate(-45deg);}

/* ========================= RESPONSIVE (<=992px) ========================= */
@media (max-width:992px){

  
  .menu-hero-band-structural{
    top:0;
    transform:none;
    height:100%;
  }

  .menu-hero-scroll-structural{
    display:none;
  }

  
  .menu-top-bar-content-structural{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
  }
  .menu-top-item-structural{padding:0;}
  .menu-top-item-structural + .menu-top-item-structural{border-left:0;padding-left:0;}

  
  .menu-header-container-structural{
    padding-left:10px;
    padding-right:14px;
    gap:12px;
  }
  .menu-logo-structural{
    width:clamp(150px, 42vw, 180px);
    margin-left:0;
    gap:1px;
  }
  .menu-logo-structural img{
    height:auto;
    max-height:60px;
    object-position:center;
  }
  .menu-logo-tagline-structural{
    font-size:clamp(13px, 4.4vw, 15px);
    letter-spacing:.15px;
    white-space:nowrap;
  }

  .menu-burger-structural{display:inline-flex;align-items:center;justify-content:center;}
  .menu-burger-structural.is-active-structural{
    position:fixed;top:18px;right:18px;z-index:1101;
  }

  
  .menu-nav-structural{
    display:block;
    position:fixed;
    top:0;right:0;
    width:min(420px,88vw);
    height:100vh;
    background:#fff;
    border-left:1px solid #eaeaea;
    padding:20px;
    text-align:left;
    transform:translateX(100%);
    transition:transform .25s ease;
    z-index:1100;
  }
  .menu-nav-structural.is-open-structural{transform:translateX(0);}

  
  .menu-mobile-header-structural{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding-bottom:18px;
    margin-bottom:50px;
    border-bottom:1px solid #eaeaea;
  }
  .menu-mobile-brand-structural{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
  }
  .menu-mobile-logo-structural{max-width:110px;height:auto;display:block;}
  .menu-mobile-logo-tagline-structural{
    font-family:Georgia,"Times New Roman",serif;
    font-style:italic;
    font-size:18px;
    line-height:1;
    color:#1c1c1c;
  }

  .menu-nav-list-structural{
    flex-direction:column;
    gap:18px;
    width:100%;
    align-items:flex-start;
  }

  .menu-nav-item-structural > a{
    display:block;
    width:100%;
    text-align:left;
  }
  .menu-nav-item-structural > a::after{left:0;transform:none;}

  
  .menu-submenu-structural{
    position:static;
    transform:none;
    min-width:unset;
    border:0;
    box-shadow:none;
    padding:8px 0 0;

    opacity:1;
    visibility:visible;
    pointer-events:auto;

    display:none;
  }
  .menu-nav-item-structural.has-submenu-structural.is-open-structural > .menu-submenu-structural{display:block;}
  .menu-nav-item-structural.has-submenu-structural::after{display:none;}

  
  .menu-top-phone-structural,
  .menu-top-mail-structural,
  .menu-top-address-structural{display:none;}

  .menu-top-actions-structural{
    display:flex;
    justify-content:center;
    gap:12px;
    padding:10px 12px;
    background:#fff;
    border-bottom:1px solid #eaeaea;
  }

  .menu-top-action-structural{
    width:275px;
    height:44px;
    border-radius:10px;
    background:#70a57e;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:transform .15s ease, filter .2s ease;
  }
  .menu-top-action-structural:hover,
  .menu-top-action-structural:focus{
    transform:translateY(-1px);
    filter:brightness(.95);
    outline:none;
  }
  .menu-top-action-structural svg{
    width:22px;height:22px;
    fill:#6e7076;
    display:block;
  }
}

/* ========================= RESPONSIVE (<=600px) ========================= */
@media (max-width:600px){
  .menu-nav-structural{width:100vw;}

  .menu-logo-structural{
    width:150px;
  }

  .menu-logo-structural img{
    max-height:54px;
  }

  .menu-logo-tagline-structural{
    font-size:13px;
  }

  .menu-hero-actions-structural{
    flex-direction:column;
    width:100%;
    align-items:center;
  }
  .menu-btn-structural{
    width:100%;
    max-width:360px;
  }
}
