@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&display=swap');
/* ===== Hive Rise Labs contrast & spacing tweaks (dark theme) ===== */

:root{
  /* Brand — pulled directly from Forager_Logo.svg */
  --hrl-amber:    #DD9720;    /* logo hex amber — the ONE brand accent */
  --hrl-amber-lt: #F0A824;    /* hover / lighter variant */
  --hrl-navy:     #05253e;    /* logo interior navy — dark text on amber */

  /* Override template base color so nothing bleeds through as #ffaa17 */
  --thm-base:     #DD9720;

  /* Aliases used throughout this file */
  --hrl-primary:  #DD9720;
  --hrl-accent:   #DD9720;

  /* dark theme surfaces */
  --hrl-bg:       #0B1220;    /* page background */
  --hrl-surface:  #121826;    /* cards / panels */
  --hrl-surface-2:#161e2e;    /* deeper panels */
  --hrl-border:   rgba(255,255,255,.08);

  /* text */
  --hrl-text:     #E7ECF5;    /* body text */
  --hrl-muted:    #A3AEC2;    /* secondary */
}

/* Base page */
.body-dark,
.body-dark .page-wrapper { background:#0B1220; }
body, .body-dark p, .body-dark li, .body-dark .lower-text {
  color: var(--hrl-text);
  font-size: 17px; line-height: 1.7;
}
.body-dark .muted, .body-dark .text-muted, .body-dark .side-menu__content p { color: var(--hrl-muted); }

/* Headings */
.sec-title h2 { color:#F3F6FD; letter-spacing:.2px; }
.sec-title .lower-text { color: var(--hrl-muted); }

/* Cards/panels */
.services-section .inner-box,
.we-do-section__dark .featured-block,
.gallery-section__dark .inner-box,
.team-section__dark .inner-box,
.call-to-section .inner {
  background: var(--hrl-surface);
  border: 1px solid var(--hrl-border);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  border-radius: 14px;
}

.trusted-section__dark .featured-block-two {
  background: var(--hrl-surface);
  border: 1px solid var(--hrl-border);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  border-radius: 14px;
  overflow: hidden;
}

.trusted-section__dark .featured-block-two .text {
  padding: 20px 20px 20px 0;
}

/* Buttons — both anchored to logo amber */
.theme-btn.btn-style-one,
.theme-btn.btn-style-one .btn-curve { background: var(--hrl-amber); color: var(--hrl-navy); border: none; box-shadow: 0 8px 18px rgba(0,0,0,.3); }
.theme-btn.btn-style-one:hover,
.theme-btn.btn-style-one:hover .btn-curve { background: var(--hrl-amber-lt); color: var(--hrl-navy); }

.theme-btn.btn-style-two { background: transparent; color: var(--hrl-amber); border: 2px solid var(--hrl-amber); box-shadow: none; }
.theme-btn.btn-style-two .btn-curve { background: transparent; }
.theme-btn.btn-style-two:hover { background: var(--hrl-amber); color: var(--hrl-navy); }

/* Logo size — override template's 34px max-height cap */
.main-header .header-upper .logo-box .logo img { max-height: 180px !important; height: 180px !important; width: auto !important; }
.main-header .header-upper .logo-box { padding: 0 !important; }
.main-footer .logo-widget .logo img { height: 66px !important; max-height: 66px !important; }

/* Navbar links */
.header-style-one .navigation > li > a { color:#E8EEFA; opacity:.9; }
.header-style-one .navigation > li > a:hover{ color:#FFFFFF; opacity:1; }

/* Prevent nav CTA button from wrapping */
.navigation .theme-btn .btn-title { white-space: nowrap; }

/* Half-height nav CTA button */
.header-upper .navigation li .theme-btn.btn-style-one {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  line-height: 1.2 !important;
  min-height: 0 !important;
  height: auto !important;
}
.header-upper .navigation li .theme-btn.btn-style-one .btn-curve {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Links */
a { color: var(--hrl-primary); }
a:hover { color:#CDE1FF; }

/* Forms */
.default-form input, .default-form textarea {
  background: var(--hrl-surface-2);
  border:1px solid var(--hrl-border);
  color: var(--hrl-text);
}
.default-form input::placeholder, .default-form textarea::placeholder { color:#9FB0C9; }

/* Parallax overlay for legibility */
.jarallax .jarallax-img::after{
  content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(11,18,32,.55), rgba(11,18,32,.35));
  pointer-events:none;
}

/* Footer */
.main-footer, .footer-bottom { background:#0B1220; color:var(--hrl-text); }
.footer-bottom .copyright { color:#C7D2E6; }

/* ===== Forager grid: equal-height, aligned cards ===== */
.forager-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.forager-card{
  background:var(--hrl-surface);
  border:1px solid var(--hrl-border);
  border-radius:14px;
  padding:24px;
  height:100%;
  display:flex;
  flex-direction:column;
}
.forager-card .forager-num{
  font-family:Teko, sans-serif;
  font-size:18px;
  letter-spacing:.12em;
  color:var(--hrl-accent);
  margin-bottom:10px;
}
.forager-card h5{
  color:#fff;
  font-size:20px;
  line-height:1.25;
  margin:2px 0 8px;
  text-transform:none;
}
.forager-card p{
  color:var(--hrl-text);
  margin:0;
}
.forager-card .spacer{ flex:1 1 auto; }

@media (max-width: 991px){
  .forager-grid{ grid-template-columns:1fr; }
}

/* ===== Heading contrast — override any template mid-gray ===== */
.body-dark h1,
.body-dark h2,
.body-dark h3,
.body-dark h4,
.body-dark h5,
.body-dark h6 { color: #F3F6FD; }

/* Specific high-traffic heading selectors */
.body-dark .service-block h6,
.body-dark .service-block h6 a,
.body-dark .feature-block h3,
.body-dark .counter-title,
.body-dark .col-header .header-inner span,
.body-dark .tab-btns .tab-btn span,
.body-dark .feature .sub-text,
.body-dark .fact-counter .counter-title,
.body-dark .footer-widget h6,
.body-dark .side-menu__content p,
.body-dark .accordion-box .acc-btn { color: #F3F6FD; }

/* Keep muted text muted */
.body-dark .lower-text,
.body-dark .sec-title .lower-text { color: var(--hrl-muted); }

/* Accent color for numbered labels (forager cards, feature counts) */
.body-dark .feature .count span { color: var(--hrl-amber); }

/* Links */
a { color: var(--hrl-amber); }
a:hover { color: var(--hrl-amber-lt); }

/* ================================================================
   HIVE RISE LABS — REDESIGN 2026-05-18
   ================================================================ */


/* ---- Wordmark ---- */
.hrl-wordmark {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #FFFFFF;
  text-transform: uppercase;
  line-height: 1;
  display: inline-block;
}
.hrl-wordmark .hrl-labs {
  font-weight: 400;
  letter-spacing: 0.12em;
}

/* ---- Company Band (homepage) ---- */
.company-band {
  background: rgba(255,255,255,0.04);
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 44px 0;
}
.company-band .band-col {
  padding: 20px 32px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,0.07);
}
.company-band .band-col:last-child { border-right: none; }
.company-band .band-label {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #DD9720;
  margin-bottom: 10px;
}
.company-band .band-text {
  font-size: 0.95rem;
  color: #C7D2E6;
  line-height: 1.65;
}
.company-band .band-text a { color: #DD9720; text-decoration: none; }
.company-band .band-text a:hover { text-decoration: underline; }

/* ---- About page ---- */
.founder-section { padding: 80px 0; }
.founder-bio {
  font-size: 1.05rem;
  color: #C7D2E6;
  line-height: 1.85;
  border-left: 3px solid #DD9720;
  padding-left: 28px;
  margin-bottom: 24px;
}
.credentials-bar {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 4px;
  padding: 36px 40px;
  margin: 48px 0;
}
.credentials-bar h5 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #DD9720;
  margin-bottom: 20px;
}
.credentials-bar ul { list-style: none; padding: 0; margin: 0; }
.credentials-bar ul li {
  font-size: 0.95rem;
  color: #C7D2E6;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.credentials-bar ul li:last-child { border-bottom: none; }
.credentials-bar ul li strong { color: #F3F6FD; }

/* ---- Products page ---- */
.product-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 40px;
  margin-bottom: 32px;
}
.product-card .product-badge {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #DD9720;
  margin-bottom: 14px;
}
.product-card .product-badge.coming-soon { color: #8899aa; }
.product-card h3 { font-size: 1.6rem; color: #F3F6FD; margin-bottom: 16px; }
.product-card p { color: #C7D2E6; line-height: 1.7; margin-bottom: 24px; }

/* ---- Services page ---- */
.service-item {
  padding: 44px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.service-item:last-child { border-bottom: none; }
.service-item h4 { color: #F3F6FD; margin-bottom: 12px; font-size: 1.2rem; }
.service-item p { color: #C7D2E6; line-height: 1.7; max-width: 680px; }

/* ---- Pilot form ---- */
.pilot-form-wrap {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 48px;
}
.pilot-form-wrap .form-group { margin-bottom: 24px; }
.pilot-form-wrap label {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #C7D2E6;
  display: block;
  margin-bottom: 8px;
}
.pilot-form-wrap input,
.pilot-form-wrap select,
.pilot-form-wrap textarea {
  width: 100%;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 3px;
  color: #F3F6FD;
  padding: 12px 16px;
  font-size: 0.95rem;
  box-sizing: border-box;
}
.pilot-form-wrap input:focus,
.pilot-form-wrap select:focus,
.pilot-form-wrap textarea:focus { outline: none; border-color: #DD9720; }
.pilot-form-wrap select option { background: #1a1c2b; }

/* ---- Contact info block ---- */
.contact-info-block {
  padding: 40px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
}
.contact-info-block .info-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.contact-info-block .info-row:last-child { border-bottom: none; }
.contact-info-block .info-label {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #DD9720;
  width: 80px;
  flex-shrink: 0;
  padding-top: 2px;
}
.contact-info-block a { color: #C7D2E6; text-decoration: none; }
.contact-info-block a:hover { color: #DD9720; }

/* ---- Form status messages ---- */
.form-status {
  padding: 16px 20px;
  border-radius: 3px;
  margin-bottom: 24px;
  font-size: 0.95rem;
}
.form-status.success {
  background: rgba(46,213,115,0.12);
  border: 1px solid rgba(46,213,115,0.3);
  color: #2ed573;
}
.form-status.error {
  background: rgba(255,71,87,0.12);
  border: 1px solid rgba(255,71,87,0.3);
  color: #ff6b81;
}

/* Header layout — flex row: logo | nav (grows) | email right-aligned */
.main-header .header-upper .inner-container {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}
.main-header .header-upper .logo-box {
  flex: 0 0 auto !important;
  float: none !important;
  position: static !important;
  margin-right: 40px !important;
  padding: 0 !important;
}
.main-header .header-upper .nav-outer {
  flex: 1 1 auto !important;
  float: none !important;
  position: static !important;
  width: auto !important;
  text-align: center !important;
}
.main-header .header-upper .other-links {
  flex: 0 0 auto !important;
  float: none !important;
  position: static !important;
  text-align: right !important;
  white-space: nowrap !important;
  margin-left: 40px !important;
}
/* Mobile/tablet header (theme swaps nav for the side-menu toggler at 1199px):
   the desktop 180px logo + email box overflow the flex row and push the
   Menu toggler off-screen — shrink the logo, drop the email, pin toggler right */
@media only screen and (max-width: 1199px) {
  .main-header .header-upper .logo-box .logo img { height: 96px !important; max-height: 96px !important; }
  .main-header .header-upper .other-links { display: none !important; }
  .main-header .header-upper .inner-container { justify-content: space-between !important; }
  .main-header .header-upper .nav-outer { flex: 0 0 auto !important; text-align: right !important; }
}

/* ===== Use Case Cards ===== */
.uc-section { padding: 80px 0; background: var(--hrl-bg); }

.uc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 48px;
}

.uc-card {
  background: var(--hrl-surface);
  border: 1px solid var(--hrl-border);
  border-radius: 14px;
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  position: relative;
}

.uc-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.uc-cat {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--hrl-amber);
}

.uc-coming {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8899aa;
  border: 1px solid rgba(136,153,170,0.35);
  border-radius: 4px;
  padding: 2px 8px;
}

.uc-card h3 {
  color: #F3F6FD;
  font-size: 1.25rem;
  line-height: 1.35;
  margin: 0 0 14px;
  text-transform: none;
  font-weight: 600;
}

.uc-card p {
  color: var(--hrl-text);
  font-size: 0.97rem;
  line-height: 1.75;
  margin: 0 0 16px;
  flex: 1;
}

.uc-hook {
  font-size: 0.85rem;
  color: var(--hrl-muted);
  line-height: 1.65;
  border-left: 2px solid rgba(221,151,32,0.4);
  padding-left: 12px;
  margin-top: auto;
}

/* CTA card variant */
.uc-card.uc-cta {
  background: rgba(221,151,32,0.07);
  border-color: rgba(221,151,32,0.25);
  justify-content: center;
  align-items: flex-start;
}
.uc-card.uc-cta h3 { color: var(--hrl-amber); }
.uc-card.uc-cta p { color: var(--hrl-muted); }

@media (max-width: 767px) {
  .uc-grid { grid-template-columns: 1fr; }
}

/* ---- Branded preloader (forager-loader web component), v3 ---- */
/* The .preloader overlay itself (fixed, full-screen, #1c1e22) and its
   fadeOut in custom-script.js are unchanged; these rules only center and
   color the loader inside it. Ink is lightened because the overlay is dark. */
.preloader {
  display: flex;
  align-items: center;
  justify-content: center;
}
.preloader forager-loader {
  width: 140px;
  --fl-ink: #DDE9F3;
  opacity: 1;
  transition: opacity 200ms ease;
}
.page-loaded .preloader forager-loader {
  opacity: 0;
}

/* ===== 2026-07-17 UI/UX fixes ===== */

/* Deployment CTA card: theme floats h2 left + link-box right, which makes the
   added .cta-sub paragraph wrap around the heading. Stack them instead. */
.call-to-section h2 { float: none; display: block; margin-bottom: 18px; }
.call-to-section .cta-sub { position: relative; z-index: 3; max-width: 720px; color: var(--hrl-muted); line-height: 1.8; margin-bottom: 8px; }
.call-to-section .link-box { float: none; display: flex; flex-wrap: wrap; gap: 14px; padding-top: 18px; }

/* Desktop header, laptop widths (1200–1449px): 11 nav items + 180px logo +
   email box overflow the flex row and wrap onto a second line that collides
   with page heroes. Shrink the logo and tighten nav spacing so it fits. */
@media only screen and (min-width: 1200px) and (max-width: 1449px) {
  .main-header .header-upper .logo-box .logo img { height: 96px !important; max-height: 96px !important; }
  .main-header .header-upper .logo-box { margin-right: 24px !important; }
  .main-menu .navigation > li { margin-right: 20px; }
  .main-header .header-upper .other-links { margin-left: 20px !important; }
}
@media only screen and (min-width: 1200px) and (max-width: 1359px) {
  .main-header .header-upper .other-links { display: none !important; }
}

/* Mobile side-menu panel is light — the white body text inherited from the
   dark theme was invisible on it. */
.body-dark .side-menu__content p { color: #41546E; }
.body-dark .side-menu__content p a { color: #05253e; }

/* Login as a distinct outlined button in the nav */
.header-style-one .navigation > li.nav-login > a {
  color: var(--hrl-amber);
  border: 2px solid var(--hrl-amber);
  border-radius: 6px;
  padding: 7px 18px;
  line-height: 1.2;
  font-weight: 500;
}
.header-style-one .navigation > li.nav-login > a:hover { background: var(--hrl-amber); color: var(--hrl-navy); }

/* Federal-contractor trust strip under pricing */
.trust-strip { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--hrl-border); text-align: center; color: var(--hrl-muted); font-size: .92rem; letter-spacing: .02em; line-height: 2; }
.trust-strip span { color: #C7D2E6; white-space: nowrap; }
.trust-strip a { color: var(--hrl-amber); }
.trust-strip a:hover { color: var(--hrl-amber-lt); }

/* Footer tagline */
.main-footer .footer-tagline { color: var(--hrl-amber); font-family: 'Teko', sans-serif; font-size: 1.4rem; letter-spacing: .05em; line-height: 1.2; }

/* Federal credentials bar under the hero */
.fed-strip { background: #0E1626; border-top: 1px solid var(--hrl-border); border-bottom: 1px solid var(--hrl-border); padding: 18px 0; }
.fed-strip-inner { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px 26px; }
.fed-strip-label { font-family: 'Teko', sans-serif; font-size: 1.15rem; letter-spacing: .1em; text-transform: uppercase; color: var(--hrl-amber); line-height: 1; padding-top: 3px; }
.fed-strip-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.fed-badge { display: inline-block; border: 1px solid rgba(221,151,32,.45); border-radius: 6px; padding: 7px 14px; font-size: .88rem; letter-spacing: .03em; color: #E7ECF5; white-space: nowrap; background: rgba(221,151,32,.06); }
.fed-badge-key { color: var(--hrl-amber); font-weight: 600; margin-right: 6px; }
a.fed-badge-link { color: var(--hrl-amber); }
a.fed-badge-link:hover { background: var(--hrl-amber); color: var(--hrl-navy); }
@media (max-width: 767px) { .fed-strip-inner { flex-direction: column; gap: 12px; } }
