/* =========================================================================
   START HEADER
   ========================================================================= */

/* Header - Desktop */
.header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; padding: 16px 0; transition: background-color 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease; background: linear-gradient(180deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.4) 60%, rgba(0, 0, 0, 0) 100%);
 }
.header--transparent { background: linear-gradient(180deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.4) 60%, rgba(0, 0, 0, 0) 100%); }
.header--scrolled { background: var(--color-white); box-shadow: 0 10px 30px rgba(16, 24, 47, 0.12); padding: 8px 0; }
.header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.header__logo { display: flex; align-items: center; gap: 6px; flex-shrink: 0;max-width: 300px; }
.header__logo-mark { width: 100%; height: auto; }
.header__logo-mark.mobile { display:none; }
body:not(.home) .header {background: var(--color-white);}
body:not(.home) .header__call,
body:not(.home) .header__call-number,
body:not(.home) .nav__link {color: var(--color-charcoal);}
body:not(.home) .header__call-label { color:var(--color-navy);}
@media (hover: hover) { body:not(.home) .header__call-number:hover { color:var(--color-green);} }
body:not(.home) .nav__link:hover {color: var(--color-navy);}
body:not(.home) .header__logo-mark.mobile {display: block;}
body:not(.home) .header__logo-mark.desktop {display: none;}
.header--scrolled .header__logo-mark.desktop { display:none; }
.header--scrolled .header__logo-mark.mobile { display:block; }
.header--scrolled .header__call-number,
.header--scrolled .nav__link { color: var(--color-charcoal); }
.header--scrolled .header__call-label { color: var(--color-navy); }
/* ---------------------------------------------------------------------
   Header right column — two stacked rows
--------------------------------------------------------------------- */
.header__right { display: flex; flex-direction: column; align-items: flex-end; gap: 14px; margin-left: auto; }
.header__top-row { display: flex; align-items: center; gap: 24px; }
.header__bottom-row { width: 100%; display: flex; justify-content: flex-end; }
.header__nav { display: flex; align-items: center; }
.nav { display: flex; align-items: center; gap: 26px; }
.nav__item { position: relative; }
.nav__link { display: flex; align-items: center; gap: 5px; color: var(--color-white); font-size: 14px; font-weight: 600; padding: 10px 0; letter-spacing:0.15px; position:relative; text-decoration:none; white-space: nowrap; }
.nav__link:before { position:absolute; left:0; width:100%; height:4px; background:var(--color-red); bottom:0; content:"";transition: var(--transition-default); opacity:0;}
.nav__link:hover:before{opacity:1;}
.nav__link svg { width: 10px; height: 10px; transition: var(--transition-transform); }
.nav__item:hover .nav__link svg, .nav__item--open .nav__link svg { transform: rotate(180deg); }
.nav__link:hover, .nav__link:focus-visible {color: var(--color-white);} 
.header--scrolled .nav__item:hover .nav__link, .header--scrolled .nav__link:focus-visible {color: var(--color-navy);}
.header--scrolled .nav__link:before{background: var(--color-red);}
.header__actions { display: flex; align-items: center; gap: 24px; flex-shrink: 0; }
.header__call { text-align: right; color: var(--color-white); }
.header__call-label { display: block; color: #DFE3E9;font-weight: 700;font-size: 11.5px;letter-spacing: 2.07px;text-transform: uppercase; }
.header__call-number { display: flex; align-items: center; gap: 13px; font-size: 25px; font-weight: 700; letter-spacing:0.12px;color: var(--color-white);text-decoration:none; }
.header__call-number svg path { transition:var(--transition-default); }
@media (hover: hover) {
.header__call-number:hover { color:var(--color-green);}
.header__call-number:hover svg path { fill:var(--color-green);}
}
.header__burger { display: none; flex-direction: column; gap: 5px; width: 36px; padding: 6px; position: relative; z-index: 1001; }
.header__burger.is-active {background: var(--color-charcoal);}
.header__burger span { display: block; height: 2px; background: var(--color-white); border-radius: 2px; transition: var(--transition-transform), opacity 0.3s ease; }

/* Hamburger -> close (X) icon when the mobile nav is open */
.header__burger.is-active span:nth-child(1) {
 transform: translateY(7px) rotate(45deg);
}
.header__burger.is-active span:nth-child(2) {
 opacity: 0;
}
.header__burger.is-active span:nth-child(3) {
 transform: translateY(-7px) rotate(-45deg);
}
.header__burger.is-active span { background:var(--color-white); }
.mobile-nav__logo {position: absolute;left: 20px;top: 16px;max-width: 136px;}
/* Submenu (mega dropdown) */
.submenu { position: absolute; top: 39px; left: 0; background: var(--color-white); border-radius: 0 0 8px 8px; box-shadow: 0px 14px 36px 0px #1A22302E; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity 0.3s ease, var(--transition-transform), visibility 0.3s ease; overflow: hidden; border-top:4px solid var(--color-red); }
.nav__item:hover .submenu, .nav__item--open .submenu { opacity: 1; visibility: visible; transform: translateY(0); }
/* Two-column layout (National Security Clearance) */
.submenu--wide { width: 960px; max-width: 960px; }
/* Single-column layout (Military Law, Favorable Decisions, About, Blog, Contact) */
.submenu--narrow { width: 274px; max-width: 274px; left: auto; right: 0; }
.submenu__grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(11, auto); grid-auto-flow: column; gap: 0 52px; padding-top: 10px; }
.submenu__grid--single { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
.submenu__link { display: block; padding: 12px 22px; font-size: 15px; font-weight: 500; color: var(--color-charcoal); border-bottom: 1px solid var(--color-border-alt);text-decoration:none; }
.submenu__link:hover { color: var(--color-green-dark);background: rgba(0, 181, 81, 0.08); }
.submenu__grid--single .submenu__link:last-child { border-bottom: none; }

@media (max-width: 1360px) {
.nav { gap:14px; }
.nav__link { font-size:13px; }
}

@media (max-width: 1199px) {
.header__logo { max-width:136px; }	
.header__logo-mark.mobile { display:block; }
.header__logo-mark.desktop { display:none; }
.header--transparent { background:var(--color-white); }
.header__burger span { background:var(--color-charcoal); }
.nav { gap: 18px; }
.header__call-label { display: none; }
.header__call-number { font-size:0; letter-spacing: 0; gap: 0; }
.header__call-number svg { width:22px; height:22px; }
.header--scrolled { background: var(--color-white); box-shadow: 0 10px 30px rgba(16, 24, 47, 0.12); padding: 16px 0; }
.nav { gap: 16px; }
.header__bottom-row { display: none; }
.header__burger { display: flex; }
.header__top-row .u-button { display: none; }
.header__right { flex-direction: row; align-items: center; }
}

@media (max-width: 767px) {
.submenu { min-width: calc(100vw - 32px); left: 50%; transform: translate(-50%, 10px); }
.nav__item:hover .submenu, .nav__item--open .submenu { transform: translate(-50%, 0); }
.submenu__grid { grid-template-columns: 1fr; }
}

/* =========================================================================
   MOBILE NAV
   ========================================================================= */

/* Mobile Nav - Desktop / Base */
body.no-scroll { overflow: hidden; }
.mobile-nav { position: fixed; top: 0; left: 0; right: 0; height: 100vh; width: 100%; background: var(--color-charcoal); transform: translateX(100%); transition: var(--transition-transform); overflow-y: auto; z-index: 999; padding: 78px 0 33px; }
.mobile-nav.is-open { transform: translateX(0); box-shadow: 0 20px 50px rgba(16, 24, 47, 0.18); }
.mobile-nav__actions { display: grid;grid-template-columns: 1fr 1fr;gap: 20px; padding: 16px 20px; margin-bottom: 8px; border-top: 1px solid rgba(255, 255, 255, 0.1); }

.mobile-nav__cta { width: 100%; }
.mobile-nav__list { display: flex; flex-direction: column; }
.mobile-nav__item > a, .mobile-nav__row { display: flex; align-items: center; justify-content: space-between; width: 100%; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.mobile-nav__link { flex: 1; min-width: 0; display: block; text-align: left; color: var(--color-white); font-size: 16px; font-weight: 600; padding: 16px 12px 16px 22px; letter-spacing:0.16px; text-decoration:none; }
.mobile-nav__link:hover { color:var(--color-white); }
.mobile-nav__toggle { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 48px; height: 48px; margin-right: 12px; padding: 0; color: var(--color-white); background: none; border: none; cursor: pointer; border-radius: var(--radius-xs); transition: background-color 0.3s ease; }
.mobile-nav__toggle:hover, .mobile-nav__toggle:focus-visible {
background-color: rgba(255, 255, 255, 0.08);
}
.mobile-nav__toggle svg { transition: var(--transition-transform); }
.mobile-nav__item.is-open .mobile-nav__toggle svg { transform: rotate(180deg); }
.mobile-nav__submenu { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; background: #121721;  }
.mobile-nav__item.is-open .mobile-nav__submenu { max-height: 5000px; }
.mobile-nav__submenu li:first-child { padding-top:10px; }
.mobile-nav__submenu li:last-child { padding-bottom:10px; }
.mobile-nav__submenu a { display: block; padding: 12px 26px; font-size: 14.4px; font-weight:500; color: rgba(255, 255, 255, 0.82); letter-spacing:0.7px;text-decoration:none; }
.mobile-nav__submenu a:hover { color: var(--color-green-focus); }
/* Skip link */
.skip-link { position: absolute; left: -999px; top: 0; background: var(--color-green-focus); color: var(--color-white); padding: 12px 20px; z-index: 2000; }
.skip-link:focus { left: 20px; top: 20px; }

/* Mobile Nav - Responsive */

@media (max-width: 767px) {
.mobile-nav__actions { grid-template-columns: 1fr; }
}
/* =========================================================================
   END HEADER
   ========================================================================= */


   /* =========================================================================
   START FOOTER
   ========================================================================= */

/* Footer - Desktop / Base */
.footer { background: #0E0F12; color: var(--color-text-mid); }
.footer__top { padding-top: 60px; padding-bottom:50px; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.footer__logo { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.footer__desc { font-size: 15px; margin-bottom: 22px; max-width: 325px; color:var(--color-text-mid); }
.footer__phone { display: flex; align-items: center; gap: 10px; margin-bottom: 17px; font-size: 21px; font-weight: 600; color: var(--color-white);text-decoration:none; }
.footer__phone-icon { width: 28px; height: 28px; }
@media (hover: hover) { .footer__phone:hover { color:var(--color-red);} }
.footer__available { font-size: 13px; color:var(--color-text-mid); margin-bottom: 13px; }
.footer__social { display: flex; gap: 16px; }
.footer__social a { width: 22px; height: 22px; color:var(--color-white); }
.footer__social a:hover { color:var(--color-green);}
.footer__col-title { color: var(--color-white); font-size: 13px; font-weight:500; letter-spacing: 0.13px; margin-bottom: 20px; text-transform:uppercase;font-family: var(--font-heading);margin-top:35px; }
.footer__nav { margin:0; padding:0; list-style:none;display: flex;flex-direction: column;gap: 15px; }
.footer__nav a{ font-size: 15px; color:var(--color-text-mid);text-decoration:none; }
.footer__nav a:hover { color:var(--color-white);}
.footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.08); padding-bottom:22px; padding-top:22px;display: flex; align-items: center; justify-content: space-between; font-size: 13.8px; gap: 16px; color:var(--color-text-faint); }
.grecaptcha-badge {z-index: 1;}
.footer__bottom a {color:var(--color-text-faint);}
.footer__bottom a:hover {color:var(--color-white);}

/* Footer - Responsive */

@media (max-width: 1199px) {
.footer__grid { grid-template-columns: 1fr 1fr; gap: 40px 24px; }
}

@media (max-width: 1023px) {
.footer__bottom { flex-direction: column-reverse; text-align:center; }
}

@media (max-width: 767px) {
.footer__grid { grid-template-columns: 1fr; gap: 24px; }
.footer__col:nth-child(1) {text-align:center;}
.footer__phone, .footer__social, .footer__logo { justify-content: center; }
.footer__logo img { max-width:211px; }
.footer__desc { max-width:100%; }
.footer__top { padding-top: 36px; padding-bottom: 36px; }
.footer__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.footer__grid > :nth-child(1), .footer__grid > :nth-child(4) {grid-column: 1 / -1;}
.footer__col-title { margin-top:0; }
.footer__col:last-child .footer__nav { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.footer__bottom { font-size:13px; gap:8px; } 
}
/* =========================================================================
   END FOOTER
   ========================================================================= */
