
/* Shared Lexvico header and footer consistency layer */
:root{--lex-navy:#102c4a;--lex-mulberry:#6f1848;--lex-gold:#c99b45;--lex-cream:#f7f1e9;--lex-line:rgba(89,59,74,.18)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,249,.98)!important;backdrop-filter:blur(12px);border-bottom:1px solid var(--lex-line)!important}
.nav-wrap{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:block;width:min(300px,38vw)}
.brand img{display:block;height:76px!important;width:100%!important;object-fit:contain;object-position:left center;filter:none!important}
.primary-nav{display:flex;align-items:center;gap:22px;font-size:10px;font-weight:700;text-transform:uppercase}
.primary-nav>a{padding:36px 0 27px;border-bottom:2px solid transparent;color:var(--lex-navy);white-space:nowrap}
.primary-nav>a:hover,.primary-nav .active{color:var(--lex-mulberry)!important;border-color:var(--lex-gold)!important}
.primary-nav .contact-link{color:var(--lex-mulberry)!important}
.menu-toggle{display:none;border:0;background:transparent;padding:10px}
.menu-toggle span:not(.sr-only){display:block;width:28px;height:2px;background:var(--lex-navy);margin:5px}
.site-footer{background:linear-gradient(110deg,#101923,#182a3a)!important;color:#fff!important}
.footer-grid{display:grid!important;grid-template-columns:1.25fr .8fr 1fr .9fr!important;gap:42px!important;padding:42px 0 34px!important}
.footer-brand img{width:290px!important;max-width:100%;filter:brightness(0) invert(1)!important}
.footer-brand p{font-size:11px!important}
.site-footer h2{margin:0 0 11px!important;color:#fff!important;font-family:Montserrat,Arial,sans-serif!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.08em}
.site-footer a,.site-footer p{display:block;margin:4px 0!important;color:#fff!important;font-family:Montserrat,Arial,sans-serif!important;font-size:10px!important;line-height:1.6!important;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12)!important}
.footer-bottom-inner{display:flex;justify-content:space-between;gap:20px;padding:14px 0!important}
@media(max-width:1080px){
  .primary-nav{gap:14px;font-size:9px}
  .brand{width:255px}
}
@media(max-width:900px){
  .menu-toggle{display:block!important}
  .primary-nav{position:absolute;left:0;right:0;top:100%;display:none!important;flex-direction:column;align-items:stretch;gap:0;background:#fffdf9;padding:12px 20px 22px;border-bottom:1px solid var(--lex-line);box-shadow:0 12px 24px rgba(16,44,74,.10)}
  .primary-nav.open{display:flex!important}
  .primary-nav>a{padding:12px 0!important;border-bottom:1px solid var(--lex-line)!important}
  .footer-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:620px){
  .nav-wrap{min-height:78px}
  .brand{width:220px;max-width:68vw}
  .brand img{height:62px!important}
  .footer-grid{grid-template-columns:1fr!important;gap:26px!important}
  .footer-bottom-inner{flex-direction:column}
}

.footer-brand img.footer-logo{height:auto!important;width:290px!important;max-width:100%!important;filter:none!important;background:transparent!important}

/* Lexvico services dropdown — sitewide */
.primary-nav > .nav-dropdown { position: relative; display: flex; align-self: stretch; align-items: stretch; }
.nav-dropdown-toggle {
  appearance: none; -webkit-appearance: none; border: 0; border-bottom: 2px solid transparent;
  border-radius: 0; background: transparent; color: var(--lex-navy); cursor: pointer;
  display: inline-flex; align-items: center; gap: 7px; padding: 36px 0 27px;
  font: inherit; font-size: inherit; font-weight: inherit; letter-spacing: inherit;
  line-height: inherit; text-transform: inherit; white-space: nowrap;
}
.nav-dropdown-toggle:hover,
.nav-dropdown-toggle:focus-visible,
.nav-dropdown.active > .nav-dropdown-toggle,
.nav-dropdown-toggle.active { color: var(--lex-mulberry); border-bottom-color: var(--lex-gold); outline: none; }
.nav-chevron { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; }
.nav-dropdown.open .nav-chevron,
.nav-dropdown:focus-within .nav-chevron { transform: rotate(225deg) translate(-1px,-1px); }
.nav-dropdown-menu {
  position: absolute; top: calc(100% - 1px); left: 50%; z-index: 250;
  min-width: 270px; padding: 10px; background: #fffdf9; border: 1px solid var(--lex-line);
  border-radius: 0 0 8px 8px; box-shadow: 0 16px 32px rgba(16,44,74,.16);
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translate(-50%, 8px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%,0); }
.nav-dropdown-menu a { display: block; padding: 12px 14px; color: var(--lex-navy); border-radius: 5px; font-size: 10px; font-weight: 700; line-height: 1.35; text-decoration: none; text-transform: uppercase; white-space: normal; }
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible,
.nav-dropdown-menu a.active { background: var(--lex-cream); color: var(--lex-mulberry); outline: none; }
.hp-field { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.submit-button[disabled] { opacity: .65; cursor: wait; }

@media(max-width:900px){
  .primary-nav > .nav-dropdown { display: block; width: 100%; }
  .nav-dropdown-toggle { width: 100%; justify-content: space-between; padding: 12px 0 !important; border-bottom: 1px solid var(--lex-line) !important; text-align: left; }
  .nav-dropdown-menu { position: static; display: none; min-width: 0; padding: 4px 0 8px 14px; background: transparent; border: 0; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: none; }
  .nav-dropdown.open .nav-dropdown-menu { display: block; }
  .nav-dropdown-menu a { padding: 10px 12px; border-left: 2px solid var(--lex-gold); border-radius: 0; }
  .nav-dropdown:hover .nav-dropdown-menu:not(:focus-within) { /* hover should not force mobile menu open */ }
}

/* Readability, dropdown, and responsive navigation refinements — July 2026 */
.primary-nav{font-size:11px;gap:23px}
.site-footer a,.site-footer p{font-size:11.5px!important;line-height:1.7!important}
.site-footer h2{font-size:12.5px!important}

/* Slightly larger, more readable page copy without changing display headings. */
main p:not(.eyebrow):not(.price):not(.custom),
main li,
main dd,
main address{
  font-size:clamp(13.5px,.84vw,15px)!important;
  line-height:1.65!important;
}
main label,
main input,
main select,
main textarea,
main button{
  font-size:14px!important;
}

/* Elevated Services menu */
.nav-dropdown-menu{
  min-width:365px;
  padding:14px;
  border:1px solid rgba(16,44,74,.13);
  border-top:4px solid var(--lex-gold);
  border-radius:0 0 14px 14px;
  background:rgba(255,253,249,.995);
  box-shadow:0 20px 48px rgba(16,44,74,.20);
}
.nav-dropdown-menu::before{
  content:"Choose a service";
  display:block;
  padding:2px 10px 10px;
  color:var(--lex-mulberry);
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.nav-dropdown-menu a{
  position:relative;
  min-height:72px;
  margin:4px 0;
  padding:13px 14px 13px 66px;
  border:1px solid transparent;
  border-radius:10px;
  color:var(--lex-navy);
  font-size:12px;
  line-height:1.25;
  text-transform:none;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.nav-dropdown-menu a::before{
  content:"PI";
  position:absolute;
  left:14px;
  top:50%;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border-radius:50%;
  background:var(--lex-navy);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
}
.nav-dropdown-menu a[data-menu-type="consulting"]::before{content:"CJ";background:var(--lex-mulberry)}
.nav-dropdown-menu a::after{
  content:attr(data-description);
  display:block;
  max-width:255px;
  margin-top:5px;
  color:#66717c;
  font-size:10.5px;
  font-weight:500;
  line-height:1.35;
  letter-spacing:0;
  text-transform:none;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible,
.nav-dropdown-menu a.active{
  transform:translateX(3px);
  background:#faf4ed;
  border-color:rgba(111,24,72,.18);
  box-shadow:0 8px 20px rgba(16,44,74,.08);
}

@media(max-width:1080px){
  .primary-nav{gap:15px;font-size:10px}
}
@media(max-width:900px){
  .nav-dropdown-menu{
    min-width:0;
    padding:8px 0 10px 8px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .nav-dropdown-menu::before{display:none}
  .nav-dropdown-menu a{
    min-height:62px;
    margin:3px 0;
    padding:11px 10px 11px 58px;
    border-left:0;
    border-radius:8px;
    background:#fbf6ef;
  }
  .nav-dropdown-menu a::before{left:10px;width:34px;height:34px}
  .nav-dropdown-menu a::after{max-width:none;font-size:10px}
  .nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible,.nav-dropdown-menu a.active{transform:none}
}


/* Final footer layout correction — July 23, 2026 */
.site-footer .footer-grid{
  width:min(1200px,calc(100% - 40px));
  margin:0 auto;
  display:grid!important;
  grid-template-columns:minmax(250px,1.25fr) minmax(150px,.8fr) minmax(210px,1fr) minmax(190px,.9fr)!important;
  align-items:start;
  gap:42px!important;
  padding:44px 0 36px!important;
}
.site-footer .footer-grid>div{min-width:0}
.site-footer .footer-brand{padding-right:14px}
.site-footer .footer-brand img.footer-logo{
  display:block!important;
  width:min(290px,100%)!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
}
.site-footer .footer-brand p{margin-top:14px!important}
.site-footer .footer-bottom{width:100%;margin:0!important}
.site-footer .footer-bottom-inner{
  width:min(1200px,calc(100% - 40px));
  margin:0 auto;
}
@media(max-width:980px){
  .site-footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:34px 44px!important;
  }
}
@media(max-width:620px){
  .site-footer .footer-grid{
    width:min(100% - 28px,1200px);
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .site-footer .footer-brand img.footer-logo{width:min(270px,100%)!important}
  .site-footer .footer-bottom-inner{width:min(100% - 28px,1200px)}
}
.nav-dropdown-menu a[data-menu-type="expert-testimony"]::before{
  content:"EX";
  background:#8a5b26;
}
