/*
Theme Name: Zulu 7 Clean Build V7
Theme URI: https://zulu7.pro/
Author: Zulu 7 LLC
Description: Custom WordPress theme for Zulu 7 LLC government contracting consulting and SDVOSB teaming.
Version: 7.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: zulu7
License: GPL v2 or later
*/
:root{--navy:#1e2a42;--navy2:#111a2b;--navy3:#263653;--steel:#93a4b1;--steel2:#cfd7dd;--white:#fff;--ink:#152033;--muted:#667487;--line:#dfe5e9;--cloud:#f3f6f8;--max:1280px;--radius:0px;--shadow:0 22px 70px rgba(15,27,45,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,"Avenir Next","Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.z7-container{width:min(calc(100% - 56px),var(--max));margin-inline:auto}.z7-section{padding:112px 0}.z7-eyebrow,.z7-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.74rem;font-weight:800;color:var(--steel)}.z7-eyebrow{display:flex;align-items:center;gap:12px}.z7-eyebrow:before{content:"";width:34px;height:2px;background:currentColor}.z7-eyebrow--light{color:#c5ced5}.z7-heading{margin:0;font-size:clamp(2.55rem,4.6vw,5rem);line-height:.99;letter-spacing:-.052em;font-weight:760}.z7-lead{font-size:clamp(1.06rem,1.4vw,1.26rem);line-height:1.7;color:var(--muted);max-width:820px}.z7-on-dark{color:rgba(255,255,255,.74)}.z7-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 23px;border:1px solid transparent;border-radius:999px;font-weight:750;font-size:.94rem;transition:.2s}.z7-btn:hover{transform:translateY(-2px)}.z7-btn--light{background:#fff;color:var(--navy)}.z7-btn--outline{border-color:rgba(255,255,255,.4);color:#fff}.z7-btn--primary{background:var(--navy);color:#fff}.z7-arrow{font-size:1.1em}
.z7-utility{background:var(--navy2);color:#aeb9c3;font-size:.76rem;border-bottom:1px solid rgba(255,255,255,.07)}.z7-utility-inner{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:20px}.z7-utility a{color:#fff}.z7-site-header{position:sticky;top:0;z-index:1000;background:rgba(30,42,66,.975);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1)}.z7-header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}.z7-brand img,.custom-logo{width:74px;height:74px;object-fit:cover}.z7-nav-wrap{display:flex;align-items:center;gap:28px}.z7-menu{display:flex;align-items:center;gap:27px;list-style:none;margin:0;padding:0}.z7-menu a{color:rgba(255,255,255,.82);font-size:.9rem;font-weight:650}.z7-menu a:hover{color:#fff}.z7-header-cta{min-height:44px;padding-inline:18px}.z7-menu-toggle{display:none;width:44px;height:44px;background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff}.z7-menu-toggle span,.z7-menu-toggle:before,.z7-menu-toggle:after{content:"";display:block;width:19px;height:2px;background:currentColor;margin:4px auto}
.z7-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:110px 0 92px}.z7-hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:120px 120px;mask-image:linear-gradient(to right,transparent 0,#000 20%,#000 100%)}.z7-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.28fr .72fr;gap:72px;align-items:center}.z7-display{margin:20px 0 0;font-size:clamp(4rem,7.2vw,7.6rem);line-height:.89;letter-spacing:-.066em;font-weight:790;max-width:980px}.z7-display span{color:#b9c5ce}.z7-hero .z7-lead{margin:30px 0 0;max-width:820px}.z7-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.z7-hero-visual{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}.z7-logo-stage{position:relative;width:min(390px,100%);aspect-ratio:1;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;background:rgba(13,24,42,.2)}.z7-logo-stage:before,.z7-logo-stage:after{content:"";position:absolute;background:rgba(255,255,255,.16)}.z7-logo-stage:before{left:-26px;right:-26px;height:1px;top:50%}.z7-logo-stage:after{top:-26px;bottom:-26px;width:1px;left:50%}.z7-logo-stage img{width:72%;height:72%;object-fit:cover;position:relative;z-index:2;box-shadow:0 24px 70px rgba(0,0,0,.28)}.z7-hero-note{position:absolute;left:0;bottom:0;width:82%;padding:20px 22px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.z7-hero-note span{display:block;color:var(--steel);text-transform:uppercase;font-size:.72rem;letter-spacing:.14em;font-weight:800;margin-bottom:5px}.z7-hero-note strong{font-size:.94rem;line-height:1.45}
.z7-proof-strip{background:#fff;border-bottom:1px solid var(--line)}.z7-proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.z7-proof-grid>div{padding:30px 24px;border-right:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;column-gap:15px}.z7-proof-grid>div:last-child{border-right:0}.z7-proof-grid span{grid-row:1/3;color:#9daab4;font-size:.7rem;font-weight:800;letter-spacing:.12em;padding-top:4px}.z7-proof-grid strong{font-size:1.15rem;line-height:1.15}.z7-proof-grid small{color:var(--muted);font-size:.8rem;margin-top:5px}
.z7-editorial-grid{display:grid;grid-template-columns:.42fr 1.58fr;gap:72px}.z7-editorial-label{display:flex;align-items:flex-start;gap:24px}.z7-index{font-size:.74rem;font-weight:800;color:#a2adb6;padding-top:2px}.z7-intro-section .z7-heading{max-width:980px}.z7-intro-section .z7-lead{margin-top:28px}
.z7-services-feature{background:var(--navy2);color:#fff;padding:104px 0}.z7-services-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:46px}.z7-services-head h2{margin:12px 0 0;font-size:clamp(2.4rem,4vw,4.5rem);line-height:1;letter-spacing:-.045em;max-width:870px}.z7-text-link{display:inline-flex;gap:8px;align-items:center;font-weight:750}.z7-text-link--light{color:#fff;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:5px}.z7-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}.z7-service-tile{min-height:310px;padding:30px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;transition:.2s;background:rgba(255,255,255,0)}.z7-service-tile:hover{background:rgba(255,255,255,.055)}.z7-service-tile>span{color:#8fa1ae;font-size:.72rem;font-weight:800;letter-spacing:.12em}.z7-service-tile h3{font-size:1.45rem;line-height:1.1;margin:54px 0 14px;letter-spacing:-.025em}.z7-service-tile p{margin:0;color:rgba(255,255,255,.62);font-size:.94rem}.z7-service-tile b{margin-top:auto;font-size:1.35rem;font-weight:400;color:#b7c3cc}
.z7-partner-section{background:var(--cloud)}.z7-partner-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:center}.z7-partner-visual{position:relative;min-height:600px;background:var(--navy);overflow:hidden}.z7-partner-number{position:absolute;right:-35px;bottom:-110px;font-size:610px;line-height:.8;color:rgba(255,255,255,.06);font-weight:800;letter-spacing:-.09em}.z7-partner-badge{position:absolute;left:38px;top:38px;color:#fff;font-size:2.4rem;line-height:.95;font-weight:800;letter-spacing:-.04em}.z7-partner-badge span{display:block;color:#b4c0ca;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;margin-top:14px}.z7-partner-copy .z7-heading{margin-top:14px}.z7-partner-copy .z7-lead{margin:27px 0}.z7-rule-list{border-top:1px solid #cfd6dc;margin:34px 0}.z7-rule-list>div{display:grid;grid-template-columns:.42fr .58fr;gap:28px;padding:22px 0;border-bottom:1px solid #cfd6dc}.z7-rule-list strong{font-size:.94rem}.z7-rule-list span{color:var(--muted);font-size:.9rem}
.z7-experience-section{background:#fff}.z7-market-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:46px}.z7-market-grid>div{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.z7-market-grid strong{display:block;font-size:1.08rem}.z7-market-grid span{display:block;color:var(--muted);font-size:.9rem;margin-top:8px}
.z7-identity-band{background:var(--navy);color:#fff}.z7-identity-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr}.z7-identity-grid>div{padding:34px 28px;border-right:1px solid rgba(255,255,255,.14)}.z7-identity-grid>div:last-child{border-right:0}.z7-identity-grid span{display:block;color:#9eacb8;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.z7-identity-grid strong{display:block;margin-top:7px;font-size:1rem}
.z7-cta-section{background:#fff}.z7-cta-card{position:relative;overflow:hidden;background:var(--navy2);color:#fff;padding:72px;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end}.z7-cta-card:after{content:"Z7";position:absolute;right:-35px;top:-70px;font-size:260px;font-weight:900;color:rgba(255,255,255,.035);letter-spacing:-.09em}.z7-cta-card h2{font-size:clamp(2.5rem,4.5vw,4.8rem);line-height:.98;letter-spacing:-.05em;margin:12px 0 18px}.z7-cta-card p{color:rgba(255,255,255,.68);max-width:720px}.z7-cta-actions{position:relative;z-index:2;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
/* Interior pages and shared legacy components */
.z7-page-hero{background:var(--navy);color:#fff;padding:92px 0 76px}.z7-page-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.z7-page-hero .z7-lead{color:rgba(255,255,255,.72)}.z7-page-meta{padding-left:30px;border-left:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.66)}.z7-section-head{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;align-items:start;margin-bottom:54px}.z7-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.z7-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.z7-service-card{min-height:290px;padding:30px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;justify-content:space-between}.z7-card-no{color:var(--steel);font-size:.8rem;font-weight:800;letter-spacing:.14em}.z7-service-card h3{margin:44px 0 10px;font-size:1.38rem;line-height:1.15}.z7-service-card p{margin:0;color:var(--muted)}.z7-service-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:28px;padding:38px 0;border-bottom:1px solid var(--line);align-items:start}.z7-services-list{border-top:1px solid var(--line)}.z7-service-row h3{margin:0}.z7-service-row p{margin:0;color:var(--muted)}.z7-band{padding:58px 0;background:var(--cloud);border-block:1px solid var(--line)}.z7-band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.z7-band-item strong{display:block}.z7-band-item span{color:var(--muted);font-size:.94rem}.z7-form-wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:start}.z7-form-card{padding:34px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 35px rgba(20,32,51,.05)}.z7-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.z7-field{display:grid;gap:7px}.z7-field--full{grid-column:1/-1}.z7-field label{font-size:.86rem;font-weight:760}.z7-field input,.z7-field textarea,.z7-field select{width:100%;border:1px solid #d5dbe1;background:#fff;padding:13px 14px;outline:none}.z7-field textarea{min-height:150px;resize:vertical}.z7-form-note{color:var(--muted);font-size:.85rem}.z7-alert{margin-bottom:18px;padding:13px 15px;background:#edf6f1;color:#274b3b}.z7-alert--error{background:#fff0f0;color:#8b2f2f}.z7-honeypot{position:absolute!important;left:-9999px!important}.z7-facts{border-top:1px solid var(--line)}.z7-fact{display:grid;grid-template-columns:220px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--line)}.z7-fact span:first-child{color:var(--muted);font-size:.9rem;font-weight:700}.z7-fact span:last-child{font-weight:700}.z7-checks{list-style:none;padding:0;margin:25px 0;display:grid;gap:12px}.z7-checks li{position:relative;padding-left:28px}.z7-checks li:before{content:"✓";position:absolute;left:0;color:var(--steel);font-weight:900}.z7-callout{padding:68px;background:var(--navy);color:#fff}.z7-callout-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:end}.z7-callout-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.z7-section--soft{background:var(--cloud)}.z7-section--navy{background:var(--navy);color:#fff}.z7-generic{padding:90px 0}.z7-generic article{max-width:850px}.z7-generic h1{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1}.z7-site-footer{background:var(--navy2);color:#fff}.z7-footer-main{padding:70px 0 52px;display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:55px}.z7-footer-logo img{width:96px;height:96px;object-fit:cover;margin-bottom:20px}.z7-footer-main p{color:rgba(255,255,255,.62);max-width:450px}.z7-footer-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.13em;color:#aab7c1;font-weight:800;margin-bottom:18px}.z7-footer-links{list-style:none;padding:0;margin:0;display:grid;gap:10px}.z7-footer-links a{color:rgba(255,255,255,.74)}.z7-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;color:rgba(255,255,255,.52);font-size:.85rem}.z7-footer-bottom-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:1050px){.z7-hero-grid,.z7-partner-grid,.z7-editorial-grid,.z7-page-hero-grid,.z7-section-head,.z7-form-wrap,.z7-cta-card,.z7-callout-inner{grid-template-columns:1fr}.z7-hero-visual{min-height:420px}.z7-editorial-grid{gap:36px}.z7-service-grid{grid-template-columns:1fr 1fr}.z7-proof-grid{grid-template-columns:1fr 1fr}.z7-proof-grid>div:nth-child(2){border-right:0}.z7-partner-visual{min-height:430px}.z7-identity-grid{grid-template-columns:1fr 1fr}.z7-identity-grid>div:nth-child(2){border-right:0}.z7-cta-actions,.z7-callout-actions{justify-content:flex-start}}
@media(max-width:860px){.z7-menu-toggle{display:block}.z7-header-cta{display:none}.z7-nav-wrap{position:relative}.z7-menu{display:none;position:absolute;right:0;top:55px;width:min(330px,calc(100vw - 32px));padding:18px;background:var(--navy2);border:1px solid rgba(255,255,255,.15);flex-direction:column;align-items:stretch;gap:4px}.z7-menu.is-open{display:flex}.z7-menu a{display:block;padding:11px}.z7-display{font-size:clamp(3.5rem,13vw,6rem)}.z7-service-grid{grid-template-columns:1fr}.z7-services-head{align-items:flex-start;flex-direction:column}.z7-market-grid{grid-template-columns:1fr}.z7-grid-3,.z7-grid-2,.z7-band-grid{grid-template-columns:1fr 1fr}.z7-service-row{grid-template-columns:52px 1fr}.z7-service-row p{grid-column:2}.z7-footer-main{grid-template-columns:1fr 1fr}.z7-footer-main>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.z7-container{width:min(calc(100% - 32px),var(--max))}.z7-section{padding:78px 0}.z7-utility-inner span{display:none}.z7-utility-inner{justify-content:flex-end}.z7-hero{padding:75px 0 66px}.z7-hero-grid{gap:38px}.z7-hero-visual{min-height:340px}.z7-logo-stage{width:270px}.z7-proof-grid,.z7-identity-grid,.z7-grid-3,.z7-grid-2,.z7-band-grid,.z7-form-grid,.z7-footer-main{grid-template-columns:1fr}.z7-proof-grid>div,.z7-identity-grid>div{border-right:0;border-bottom:1px solid var(--line)}.z7-identity-grid>div{border-color:rgba(255,255,255,.14)}.z7-market-grid{grid-template-columns:1fr}.z7-partner-visual{min-height:360px}.z7-partner-number{font-size:430px}.z7-rule-list>div{grid-template-columns:1fr;gap:7px}.z7-cta-card{padding:42px 26px}.z7-cta-actions{flex-direction:column;align-items:stretch}.z7-cta-actions .z7-btn{width:100%}.z7-footer-main>div:first-child{grid-column:auto}.z7-fact{grid-template-columns:1fr;gap:5px}.z7-service-row{grid-template-columns:1fr}.z7-service-row p{grid-column:auto}}


/* V5 isolation: prevent legacy Elementor Theme Builder header/footer from bleeding into this custom theme. */
.elementor-location-header,
.elementor-location-footer { display: none !important; }

/* Diagnostic badge is visible only inside WordPress Customizer preview. */
.z7-preview-badge {
  position: fixed; right: 14px; bottom: 14px; z-index: 999999;
  background: #fff; color: #1e2a42; border: 1px solid rgba(30,42,66,.18);
  box-shadow: 0 8px 24px rgba(20,32,51,.18); border-radius: 999px;
  padding: 8px 12px; font: 700 12px/1.2 Inter, Segoe UI, Arial, sans-serif;
}

/* --------------------------------------------------------------------------
   V6 POLISH + LEGACY-STYLE DEFENSE
   The current WordPress install still loads CSS from the previous site stack.
   Scope critical visual rules to our theme root and use explicit colors where
   the previous theme was overriding dark-section headings.
   -------------------------------------------------------------------------- */
.z7-theme-root,
.z7-theme-root * { box-sizing: border-box; }
.z7-theme-root { color: var(--ink); font-family: Inter,"Avenir Next","Segoe UI",Arial,sans-serif; }
.z7-theme-root .z7-site-header,
.z7-theme-root .z7-site-footer,
.z7-theme-root .z7-hero,
.z7-theme-root .z7-services-feature,
.z7-theme-root .z7-cta-card { font-family: inherit; }

/* Force readable typography on navy sections even when the old theme's
   heading rules load after ours. */
.z7-theme-root .z7-hero h1,
.z7-theme-root .z7-services-feature h2,
.z7-theme-root .z7-services-feature h3,
.z7-theme-root .z7-cta-card h2,
.z7-theme-root .z7-site-footer h2,
.z7-theme-root .z7-site-footer h3 { color: #fff !important; }
.z7-theme-root .z7-service-tile p,
.z7-theme-root .z7-cta-card p { color: rgba(255,255,255,.70) !important; }
.z7-theme-root .z7-service-tile > span,
.z7-theme-root .z7-services-feature .z7-kicker,
.z7-theme-root .z7-cta-card .z7-kicker { color: #9fb4c5 !important; }
.z7-theme-root .z7-text-link--light,
.z7-theme-root .z7-service-tile b { color: #fff !important; }

/* Header refinement */
.z7-theme-root .z7-utility { display: block !important; }
.z7-theme-root .z7-site-header { display: block !important; }
.z7-theme-root .z7-header-inner { min-height: 78px; }
.z7-theme-root .z7-brand img,
.z7-theme-root .custom-logo { width: 68px; height: 68px; }
.z7-theme-root .z7-menu a { color: rgba(255,255,255,.86) !important; }
.z7-theme-root .z7-menu a:hover { color: #fff !important; }

/* Bring more of the primary message and CTAs above the fold. */
.z7-theme-root .z7-hero { padding: 84px 0 78px; }
.z7-theme-root .z7-display { font-size: clamp(3.7rem,6.45vw,6.8rem); max-width: 920px; }
.z7-theme-root .z7-hero-visual { min-height: 450px; }
.z7-theme-root .z7-logo-stage { width: min(350px,100%); }
.z7-theme-root .z7-hero .z7-lead { margin-top: 25px; }
.z7-theme-root .z7-hero-actions { margin-top: 28px; }

/* Proof strip: slightly denser and more editorial. */
.z7-theme-root .z7-proof-grid > div { padding-top: 26px; padding-bottom: 26px; }
.z7-theme-root .z7-proof-grid strong { color: #38445a; }

/* Dark capabilities section: increase contrast and hierarchy. */
.z7-theme-root .z7-services-feature { background: #111a2b !important; }
.z7-theme-root .z7-services-head h2 { color: #fff !important; }
.z7-theme-root .z7-service-tile { color: #fff !important; }
.z7-theme-root .z7-service-tile h3 { color: #f7f9fb !important; }
.z7-theme-root .z7-service-tile:hover { background: rgba(255,255,255,.07) !important; }

/* CTA card contrast fix. */
.z7-theme-root .z7-cta-card { background: #111a2b !important; }
.z7-theme-root .z7-cta-card h2 { color: #fff !important; }

/* Ensure our footer is visible and visually distinct. */
.z7-theme-root .z7-site-footer { display: block !important; background: #111a2b !important; color: #fff !important; }
.z7-theme-root .z7-footer-main p,
.z7-theme-root .z7-footer-links,
.z7-theme-root .z7-footer-links a { color: rgba(255,255,255,.68) !important; }

@media(max-width:1050px){
  .z7-theme-root .z7-hero { padding-top: 72px; }
  .z7-theme-root .z7-hero-visual { min-height: 390px; }
}
@media(max-width:620px){
  .z7-theme-root .z7-hero { padding: 60px 0 58px; }
  .z7-theme-root .z7-display { font-size: clamp(3.05rem,14vw,5rem); }
}

/* V7 unmistakable preview marker; removed from normal frontend automatically by PHP. */
.z7-preview-badge{
  position:fixed!important;right:18px!important;bottom:18px!important;z-index:2147483647!important;
  display:block!important;background:#fff!important;color:#111a2b!important;border:2px solid #1e2a42!important;
  border-radius:999px!important;padding:10px 14px!important;font:800 12px/1.1 Inter,"Segoe UI",Arial,sans-serif!important;
  box-shadow:0 8px 30px rgba(0,0,0,.18)!important;letter-spacing:.05em!important;
}
