/* Novacom 2027 — brand layer. Palette: solid black ground everywhere (Pat 2026-10-29), Emerald accent (V1 guidelines). Fonts: Lato (headings) + Nunito Sans (body) per Brandon 2026-10-16. */
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/lato-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/lato-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/lato-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/nunito-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/nunito-sans-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/nunito-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/nunito-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/nunito-sans-latin-800-normal.woff2) format("woff2")}

:root{
  --nbp-obsidian:#000000; --nbp-surface:#000000; --nbp-surface-2:#000000; --nbp-line:#2E3936;
  --nbp-emerald:#12B981; --nbp-black:#000000; --nbp-light-gray:#ECECEC; --nbp-white:#FFFFFF; --nbp-muted:#A7B0AD;
  --nbp-font-head:"Lato",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --nbp-font-body:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
html{background:var(--nbp-obsidian)}
body,body.nbp27{background:var(--nbp-obsidian);color:var(--nbp-light-gray);font-family:var(--nbp-font-body);-webkit-font-smoothing:antialiased}
button,input,optgroup,select,textarea{font-family:var(--nbp-font-body)}
h1,h2,h3,h4,h5,h6,.btn,nav.nav-primary a{font-family:var(--nbp-font-head)}
h1,h2,h3{font-weight:900;letter-spacing:-.01em}
h1,.content-block .content h1,.content-block .content h2,.content-block .content h3,.content-block .content h4,.content-block .content h5{color:var(--nbp-white)}
h1.green,h2.green,h3.green,h4.green,h5.green{color:var(--nbp-emerald)}
::selection{background:var(--nbp-emerald);color:var(--nbp-black)}
a{color:var(--nbp-emerald)}
:focus-visible{outline:3px solid var(--nbp-emerald);outline-offset:2px}

/* Draft ribbon (staging only) */
.nbp27-ribbon{position:fixed;left:0;right:0;bottom:0;z-index:10000;background:var(--nbp-emerald);color:var(--nbp-black);font:800 12px/1 var(--nbp-font-body);letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:9px 12px;pointer-events:none}

/* Header */
header.header{background-color:rgba(0,0,0,.94)!important;-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--nbp-line)}
header.header .brand img{height:auto;width:200px;max-width:100%;min-width:100px;display:block}
@media (max-width:767px){header.header .brand img{width:150px}}
header.header nav a,header.header .container .menus.desktop nav.nav-utility li a{color:var(--nbp-light-gray)}
header.header .container .menus.desktop nav.nav-primary li a{color:var(--nbp-white);font-weight:700}
header.header .container .menus.desktop nav.nav-utility li a:hover,header.header .container .menus.desktop nav.nav-primary li a:hover{color:var(--nbp-emerald)}
.menu-trigger .bar{background-color:var(--nbp-white)!important}
.menus.mobile{background-color:var(--nbp-obsidian)}
.menus.mobile nav a{color:var(--nbp-white)}

/* Buttons: emerald fill + black text (passes contrast), outline variant on dark */
.btn,body .gform_wrapper .gform_footer button{font-family:var(--nbp-font-head);font-weight:900;letter-spacing:.12em}
.btn.default,.btn.default.flat,body .gform_wrapper .gform_footer button,body .gform_wrapper .gform_footer button.default{background-color:var(--nbp-emerald);color:var(--nbp-black);border-color:var(--nbp-emerald)}
.btn.default.flat:hover,body .gform_wrapper .gform_footer button:hover{background-color:var(--nbp-white);color:var(--nbp-black)}
.btn.white,.btn.white.flat{background-color:transparent;color:var(--nbp-white);border:2px solid var(--nbp-white)}
.btn.white.flat:hover{color:var(--nbp-black)}
.btn.white.flat:hover:before{background-color:var(--nbp-emerald)}

/* Outline buttons on dark: white text + white border, emerald on hover */
.btn.default.outline,body .gform_wrapper .gform_footer button.default.outline{background-color:transparent;color:var(--nbp-white);border:2px solid var(--nbp-white)}
.btn.default.outline:hover,body .gform_wrapper .gform_footer button.default.outline:hover{color:var(--nbp-black);border-color:var(--nbp-emerald)}
.btn.default.outline:hover:before,body .gform_wrapper .gform_footer button.default.outline:hover:before{background-color:var(--nbp-emerald)}

/* Sections that were white or grey become obsidian/surface; keep rhythm with subtle lines */
.intro,.projects-list,.post-list,.giving-back{background-color:var(--nbp-obsidian)}
.block.intro + .block{border-top:1px solid var(--nbp-line)}
/* Client logos: theme ships white-on-transparent versions (swapped in functions.php). */
.logo-grid{background-color:var(--nbp-black)!important}
.logo-grid .logos-container .item{filter:none;opacity:.8}
.logo-grid .logos-container .item:hover{opacity:1;filter:none}
/* Fallback for logos added later without a white version: invert + screen so white boxes vanish */
.logo-grid .logos-container .item a[style*="/uploads/"],.logo-grid .logos-container .item span[style*="/uploads/"]{filter:grayscale(1) invert(1);mix-blend-mode:screen}
/* Homepage hero photo (Pat 2026-10-29): Confidential Resource Company Office, photo 8 */
.block.banner.home{background-image:url(hero-home.jpg)!important;background-position:center 62%;background-size:cover}
.block.banner.home:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.45) 45%,rgba(0,0,0,.2) 100%);pointer-events:none}
.block.banner.home>.container{position:relative;z-index:2}
.block.banner.home>.scroll-indicator{z-index:2}

/* Contact page office panel was solid brand green with white text (fails contrast): dark surface + emerald rule */
.map .no-gutter>[class^=col-]{background-color:var(--nbp-black)!important;border-left:0}
.map .content{border-left:4px solid var(--nbp-emerald);padding-left:24px}
.map .content h2,.map .content h3{color:var(--nbp-white)}
.map .content,.map .content p,.map .content span{color:var(--nbp-light-gray)}
.map .content a{color:var(--nbp-emerald)}

/* Footer */
footer.site-footer,footer.site-footer .container,footer.site-footer [class*=col-]{background-color:var(--nbp-black)!important}
footer.site-footer{color:var(--nbp-light-gray);border-top:3px solid var(--nbp-emerald)}
footer.site-footer .nbp27-footer-logo{width:220px;min-width:100px;max-width:100%;height:auto;margin-bottom:18px;display:block}
footer.site-footer a{color:var(--nbp-light-gray)}
footer.site-footer a:hover{color:var(--nbp-emerald)}
footer.site-footer .credit{display:none}

/* Body copy legibility */
body p,body .entry-content ul{line-height:1.6em}
.entry-content a{text-decoration:underline;text-underline-offset:2px}

/* Gravity Forms on dark */
body .gform_wrapper .gform_body .gform_fields .gfield label.gfield_label{color:var(--nbp-white)}
body .gform_wrapper input[type=text],body .gform_wrapper input[type=email],body .gform_wrapper input[type=tel],body .gform_wrapper textarea,body .gform_wrapper select{background:var(--nbp-surface)!important;color:var(--nbp-white)!important;border:1px solid var(--nbp-muted)!important}
body .gform_wrapper input:focus,body .gform_wrapper textarea:focus,body .gform_wrapper select:focus{border-color:var(--nbp-emerald)!important;outline:none;box-shadow:0 0 0 2px rgba(18,185,129,.35)}
body .gform_wrapper ::placeholder{color:var(--nbp-muted)}

/* Belt and braces: any section/column background the generator missed stays black */
.block,.block>.container,.block .row,.block [class*=col-],main.main,.wrap{background-color:transparent}
.block:not(.has-bg){background-color:var(--nbp-black)}
