:root{
  --mc-gold:#c8a552;
  --mc-dark:#0a223d;
  --mc-white:#f4f4f2;
  --mc-muted:rgba(255,255,255,0.66);
  --mc-line:rgba(200,165,82,0.28);
  --mc-fd:Georgia,serif;
  --mc-fm:Inter,Aptos,'Segoe UI',sans-serif;
  --mc-current-nav-height:74px;
}

#navbar{
  display:block;
  width:100%;
  max-width:100vw;
  box-sizing:border-box;
}

#navbar *,
#navbar *::before,
#navbar *::after{
  box-sizing:border-box;
}

#navbar:not(.mc-navbar){
  min-height:74px;
  background:var(--mc-dark);
  border-bottom:2px solid var(--mc-gold);
  box-shadow:0 8px 30px rgba(0,0,0,0.16);
}

#navbar:not(.mc-navbar) > *{
  visibility:hidden;
}

#navbar.mc-navbar{
  position:sticky;
  top:0;
  left:auto;
  right:auto;
  z-index:1000;
  display:block;
  height:auto;
  min-height:0;
  padding:0;
  gap:normal;
  align-items:initial;
  justify-content:initial;
  background:var(--mc-dark);
  backdrop-filter:none;
  border-bottom:2px solid var(--mc-gold);
  box-shadow:0 8px 30px rgba(0,0,0,0.16);
  width:100%;
  max-width:100vw;
  overflow:visible;
}

.mc-nav-inner{
  max-width:100%;
  width:100%;
  min-width:0;
  min-height:74px;
  margin:0 auto;
  padding:0 clamp(16px, 2vw, 28px);
  display:flex;
  align-items:center;
  gap:clamp(.75rem, 1.2vw, 1.25rem);
}

.mc-logo{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:190px;
  max-width:100%;
  margin-right:0;
  flex:0 1 260px;
  color:inherit;
  text-decoration:none;
}

.mc-logo img{
  width:auto;
  height:68px;
  object-fit:contain;
  flex:0 0 auto;
  border-radius:0;
  background:transparent;
  display:block;
}

.mc-logo-text{
  display:none;
  flex-direction:column;
  justify-content:center;
  line-height:1;
  min-width:0;
  overflow:visible;
}

.mc-logo-title{
  font-family:var(--mc-fd);
  font-size:clamp(18px, 2vw, 24px);
  font-weight:600;
  letter-spacing:.6px;
  white-space:nowrap;
}

.mc-logo-title .mc-may{color:var(--mc-gold)}
.mc-logo-title .mc-consulting{color:var(--mc-white)}

.mc-logo-city{
  margin-top:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  font-family:var(--mc-fm);
  font-size:12px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--mc-gold);
}

.mc-logo-city::before,
.mc-logo-city::after{
  content:'';
  display:block;
  width:30px;
  height:1px;
  background:var(--mc-gold);
}

.mc-nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(14px, 1.45vw, 22px);
  list-style:none;
  margin:0;
  padding:0;
  min-width:0;
  flex:1 1 auto;
}

.mc-nav-item{
  position:relative;
  display:flex;
  align-items:center;
  min-height:4.5rem;
}

.mc-nav-links a,
.mc-nav-trigger{
  display:flex;
  align-items:center;
  min-height:40px;
  background:transparent;
  border:0;
  color:var(--mc-muted);
  font-family:var(--mc-fm);
  font-size:12px;
  font-weight:600;
  letter-spacing:1.7px;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  position:relative;
  transition:color .2s ease;
  cursor:pointer;
}

.mc-nav-trigger{padding:0}

.mc-nav-trigger::before{
  content:'';
  display:block;
  width:0;
  height:0;
  margin-right:7px;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid currentColor;
  opacity:.72;
  transform:translateY(1px);
}

.mc-nav-links a::after,
.mc-nav-trigger::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:6px;
  height:1px;
  background:var(--mc-gold);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease;
}

.mc-nav-links a:hover,
.mc-nav-links a.mc-active,
.mc-has-menu.mc-active .mc-nav-trigger,
.mc-has-menu:hover .mc-nav-trigger,
.mc-has-menu.mc-open .mc-nav-trigger{color:var(--mc-gold)}
.mc-nav-links a:hover::after,
.mc-nav-links a.mc-active::after,
.mc-has-menu.mc-active .mc-nav-trigger::after,
.mc-has-menu:hover .mc-nav-trigger::after,
.mc-has-menu.mc-open .mc-nav-trigger::after{transform:scaleX(1)}

.mc-dropdown{
  position:absolute;
  top:calc(100% - 8px);
  left:50%;
  min-width:230px;
  max-height:calc(100vh - var(--mc-current-nav-height, 74px) - 16px);
  max-height:calc(100dvh - var(--mc-current-nav-height, 74px) - 16px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:8px;
  background:var(--mc-dark);
  border:1px solid rgba(200,165,82,0.28);
  box-shadow:0 18px 38px rgba(0,0,0,0.36);
  transform:translate(-50%, 8px);
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease;
}

.mc-has-menu:hover .mc-dropdown,
.mc-has-menu:focus-within .mc-dropdown,
.mc-has-menu.mc-open .mc-dropdown{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%, 0);
}

.mc-dropdown a{
  min-height:42px;
  justify-content:flex-start;
  padding:0 14px;
  border-bottom:1px solid rgba(255,255,255,0.07);
}

.mc-dropdown a:last-child{border-bottom:0}
.mc-dropdown a::after{display:none}
.mc-dropdown a:hover{background:rgba(200,165,82,0.08)}

.mc-nav-actions{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:0;
  flex-shrink:0;
}

.mc-nav-user{
  max-width:220px;
  color:rgba(255,255,255,0.55);
  font-family:var(--mc-fm);
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Admin panel has one more right-side control (user greeting). Keep the
   desktop navbar from overlapping the greeting, language and logout buttons. */
.mc-admin-navbar .mc-nav-inner{
  gap:clamp(.45rem, .85vw, .9rem);
  padding:0 clamp(12px, 1.4vw, 22px);
}

.mc-admin-navbar .mc-nav-links{
  flex:0 1 auto;
  gap:clamp(10px, 1vw, 16px);
}

.mc-admin-navbar .mc-nav-links a,
.mc-admin-navbar .mc-nav-trigger{
  font-size:11px;
  letter-spacing:1.05px;
}

.mc-admin-navbar .mc-nav-actions{
  margin-left:auto;
  min-width:0;
  max-width:430px;
}

.mc-admin-navbar .mc-nav-user{
  min-width:0;
  max-width:180px;
}

@media(max-width:1500px){
  .mc-admin-navbar .mc-nav-user{display:none}
  .mc-admin-navbar .mc-nav-links{gap:10px}
}

@media(max-width:1360px){
  .mc-admin-navbar .mc-nav-links{display:none}
  .mc-admin-navbar .mc-menu-btn{display:flex}
}

.mc-user-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 12px;
  border-radius:20px;
  border:1px solid rgba(200,165,82,0.24);
  background:rgba(200,165,82,0.12);
  color:var(--mc-gold);
  font-family:var(--mc-fm);
  font-size:12px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

.mc-lang-btn,
.mc-extra-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:36px;
  padding:0 10px;
  background:transparent;
  border:1px solid rgba(255,255,255,0.18);
  color:var(--mc-muted);
  font-family:var(--mc-fm);
  font-size:12px;
  font-weight:700;
  letter-spacing:1.1px;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:all .2s ease;
}

.mc-lang-btn:hover,
.mc-lang-btn.mc-active,
.mc-extra-btn:hover{
  border-color:var(--mc-gold);
  background:var(--mc-gold);
  color:var(--mc-dark);
}

.mc-menu-btn{
  display:none;
  width:42px;
  height:42px;
  border:1px solid rgba(200,165,82,0.35);
  background:transparent;
  color:var(--mc-gold);
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex-shrink:0;
}

.mc-menu-btn span,
.mc-menu-btn span::before,
.mc-menu-btn span::after{
  display:block;
  width:20px;
  height:2px;
  background:currentColor;
  content:'';
  position:relative;
}

.mc-menu-btn span::before{position:absolute;top:-7px}
.mc-menu-btn span::after{position:absolute;top:7px}

.mc-mobile-panel{
  display:none;
  position:fixed;
  top:var(--mc-current-nav-height, 72px);
  left:0;
  right:0;
  z-index:999;
  background:var(--mc-dark);
  border-bottom:1px solid var(--mc-line);
  padding:18px 24px 24px;
  box-shadow:0 18px 38px rgba(0,0,0,0.35);
  max-height:calc(100dvh - var(--mc-current-nav-height, 72px));
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

.mc-mobile-panel.mc-open{display:block}
.mc-mobile-panel a,
.mc-mobile-panel button{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(255,255,255,0.08);
  color:var(--mc-muted);
  font-family:var(--mc-fm);
  font-size:12px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  text-decoration:none;
}
.mc-mobile-panel a.mc-active{color:var(--mc-gold)}
.mc-mobile-group{
  border-bottom:1px solid rgba(255,255,255,0.08);
  padding:8px 0 10px;
}
.mc-mobile-group-title{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--mc-gold);
  font-family:var(--mc-fm);
  font-size:12px;
  font-weight:800;
  letter-spacing:2.4px;
  text-transform:uppercase;
}
.mc-mobile-group a{
  min-height:42px;
  border-bottom:0;
  color:rgba(255,255,255,0.72);
}
.mc-mobile-group a::before{
  content:'';
  width:18px;
  height:1px;
  margin-right:10px;
  background:var(--mc-gold);
  opacity:.8;
}
.mc-mobile-lang{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.mc-mobile-lang button{border:1px solid rgba(255,255,255,0.14)}

.mc-user-slot{
  width:100%;
  display:flex;
  justify-content:flex-end;
  padding:0 32px 10px;
  max-width:1280px;
  margin:0 auto;
}

.mc-navbar + .mc-user-slot:empty{display:none}

footer,
footer .container,
footer .footer-top,
footer .footer-bottom,
footer .footer-brand,
footer .footer-col{
  max-width:100%;
  box-sizing:border-box;
}

footer{overflow-x:hidden}
footer .container{width:100%}
footer .footer-brand,
footer .footer-col{min-width:0}
footer a,
footer span,
footer p{overflow-wrap:anywhere}

@media(max-width:768px){
  footer .container{padding-left:24px!important;padding-right:24px!important}
  footer .footer-top{
    grid-template-columns:1fr!important;
    gap:32px!important;
  }
  footer .footer-bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
}

@media(max-width:480px){
  footer .container{padding-left:20px!important;padding-right:20px!important}
  footer .footer-brand p{max-width:none!important}
}

@media(max-width:1120px){
  .mc-nav-inner{padding:0 1.5rem}
  .mc-nav-links{gap:16px}
  .mc-nav-links a{font-size:12px;letter-spacing:1.3px}
  .mc-nav-trigger{font-size:12px;letter-spacing:1.3px}
}

@media(max-width:1320px){
  .mc-nav-inner{padding:0 14px;gap:.65rem}
  .mc-logo{flex-basis:232px;min-width:178px;gap:10px}
  .mc-logo-title{font-size:22px}
  .mc-logo-city{font-size:11px;letter-spacing:2.1px}
  .mc-logo-city::before,.mc-logo-city::after{width:22px}
  .mc-nav-links{gap:14px}
  .mc-nav-links a,
  .mc-nav-trigger{font-size:11px;letter-spacing:1.2px}
  .mc-lang-btn,
  .mc-extra-btn{min-width:36px;height:34px;padding:0 8px;font-size:11px;letter-spacing:.9px}
}

@media(max-width:1180px){
  #navbar:not(.mc-navbar){min-height:4.8rem}
  .mc-nav-inner{min-height:4.8rem;padding:0 .75rem;gap:.55rem}
  .mc-logo{min-width:0;max-width:calc(100% - 186px);gap:9px;flex:0 1 auto;margin-right:0;overflow:visible}
  .mc-extra-btn{display:inline-flex}
  .mc-nav-actions{flex-shrink:0}
  .mc-logo-title{font-size:clamp(19px, 5vw, 23px);letter-spacing:.2px}
  .mc-logo-city{font-size:12px;letter-spacing:1.6px;gap:7px;margin-top:6px}
  .mc-logo-city::before,.mc-logo-city::after{width:22px}
  .mc-nav-links{display:none}
  .mc-nav-actions{
    display:flex;
    gap:4px;
    margin-left:auto;
  }
  .mc-nav-user{display:none}
  .mc-lang-btn{
    min-width:34px;
    height:36px;
    padding:0 5px;
    font-size:12px;
    letter-spacing:.7px;
  }
  .mc-menu-btn{display:flex;margin-left:0;width:40px;height:40px}
  .mc-user-slot{padding:0 16px 10px}
}

@media(max-width:640px){
  .mc-extra-btn{display:none}
  .mc-logo{max-width:calc(100% - 128px)}
}

@media(max-width:420px){
  .mc-nav-inner{padding:0 .55rem;gap:.4rem}
  .mc-logo{min-width:0;max-width:calc(100% - 112px);gap:8px;flex:0 1 auto}
  .mc-logo-title{font-size:clamp(18px, 4.8vw, 21px)}
  .mc-logo-city::before,.mc-logo-city::after{width:16px}
  .mc-logo-city{font-size:12px;letter-spacing:1.15px;gap:5px}
  .mc-lang-btn{
    min-width:32px;
    height:34px;
    padding:0 4px;
    font-size:12px;
    letter-spacing:.4px;
  }
  .mc-menu-btn{width:38px;height:38px}
}

/* Shared navbar logo guard: keeps page-local styles from changing the common logo. */
.mc-logo{flex:0 1 auto!important;min-width:0!important;gap:0!important;align-self:stretch!important;align-items:center!important}
.mc-logo img{width:auto!important;height:68px!important;flex:0 0 auto!important;min-width:0!important;max-width:360px!important;background:transparent!important}
.auth-logo-mark{color:var(--gold,var(--mc-gold,#c8a552))}
.auth-logo-rest{color:#fff}
.mc-brand-image{object-fit:contain;background:transparent;border-radius:0}
.mc-logo-text{display:none!important}
@media(max-width:640px){
  .mc-logo img{height:56px!important;max-width:280px!important}
}
