/* JB Technologies official logo identity - public theme override.
   Loaded LAST after existing design systems; does not change application logic. */
:root {
  --bg:#ffffff; --text:#2c2e34; --muted:#646872;
  --orange:#d98d39; --orange-strong:#c77d2b;
  --border:#e8e0d6; --panel:#ffffff; --purple:#f2e0c8;
  --jb-navy:#2c2e34; --jb-deep:#24262d;
  --jb-blue:#c77d2b; --jb-blue-bright:#dc9748;
  --jb-wash:#fcf8f2; --jb-line:#e9e0d4;
  --jb-brand-ink:#2c2e34; --jb-brand-gold:#d9903c; --jb-brand-tint:#fcf8f2;
}
html {scroll-behavior:smooth;scroll-padding-top:90px}
body {background:#fff;color:var(--jb-brand-ink)}
::selection {background:#f4d8b2;color:#25272c}
:focus-visible {outline:2px solid #d58d3d;outline-offset:3px}
.site-header {background:rgba(255,255,255,.975);border-bottom:1px solid #ece5dc;box-shadow:0 6px 26px rgba(44,46,52,.045)}
.site-header .brand {display:flex;align-items:center;flex:0 0 auto;min-width:0;gap:0}
.site-header .jb-brand-logo {display:block;width:clamp(146px,14vw,193px);height:64px;object-fit:contain;object-position:left center;max-width:100%}
.site-header .header-inner{min-height:76px;padding-block:5px;gap:20px}
.site-header .main-nav>a {color:#2c2e34}
.site-header .main-nav>a.active,.site-header .main-nav>a:hover{color:#bd772c}
.site-header .main-nav .nav-cta,.main-nav .nav-cta {background:#2c2e34!important;color:#fff!important;border-color:#2c2e34!important}
.site-header .main-nav .nav-cta:hover,.main-nav .nav-cta:hover{background:#b96f29!important;color:#fff!important}
.mobile-toggle span{background:#2c2e34}
.btn-primary,.jb-repo-home .jbrh-button-primary {background:#2c2e34;border-color:#2c2e34;color:#fff}
.btn-primary:hover{background:#b87634;border-color:#b87634;box-shadow:0 12px 26px rgba(197,126,48,.23)}
.btn-outline:hover {background:#fff8ef;border-color:#d9903c}
.eyebrow,.jb-repo-home .jbrh-kicker {color:#b87832}
.text-link {border-bottom-color:#d9903c}
.site-header a:focus-visible,.footer a:focus-visible {outline:2px solid #d9903c}
/* Shared marketing theme, without changing GSAP/interactive behavior. */
.jb-repo-home{--rh-ink:#2c2e34;--rh-muted:#67707a;--rh-line:#e8e0d7;--rh-brand:#ca8335;--rh-deep:#2c2e34;--rh-tint:#fcf8f2;color:#2c2e34}
.jb-universes{--jbu-ink:#2c2e34;--jbu-subtle:#69717b;--jbu-stroke:#e8dfd5;--jbu-paper:#fff;--jbu-aqua:#bd7c36;--jbu-blue:#c8893f;--jbu-milk:#fcf5ec}
.jb-repo-home .jbrh-dark,.lockup-section{background:#2c2e34}
.jb-repo-home .jbrh-soft,.jb-repo-home .jbrh-showcase,.projects-section{background:#fbf7f1}
.jb-repo-home .jbrh-icon{background:#f6e5ce;color:#9c6023}
.jb-repo-home .jbrh-service-card:hover,.jb-repo-home .jbrh-industry-card:hover{border-color:#ddbb94;box-shadow:0 16px 38px rgba(87,56,27,.10)}
.jb-reviews-section {color:#2c2e34;border-top-color:#eee3d7}
.jb-reviews-section .jb-reviews-heading h2 span {color:#bd782f}
/* Footer: real logo, high-contrast navigation and responsive columns. */
.footer{background:#f8f6f3!important;color:#30323a!important;border-top:1px solid #e7ded3}
.footer :is(h2,h3,h4){color:#2c2e34!important}
.footer a{color:#40424a;transition:color .2s ease}
.footer a:hover,.footer-grid a:hover{color:#b6712e!important}
.footer .brand{width:min(100%,280px);max-width:100%;display:block}
.footer .jb-brand-logo{display:block;width:min(100%,270px);height:auto;max-height:200px;object-fit:contain;object-position:left center}
.footer .footer-intro p {max-width:360px;color:#626773}
.footer .footer-grid{gap:clamp(20px,3vw,50px)}
.footer .footer-bottom{border-top-color:#e7ded3;color:#61656d;gap:16px}
@media(max-width:900px){
  .site-header .header-inner{min-height:70px;padding:4px 18px}
  .site-header .jb-brand-logo{width:155px;height:58px}
  .footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
}
@media(max-width:600px){
  .site-header .jb-brand-logo{width:132px;height:53px}
  .footer .footer-grid{grid-template-columns:1fr;gap:26px}
  .footer .jb-brand-logo{width:min(230px,85vw)}
  .footer .footer-bottom{flex-wrap:wrap;text-align:left}
}
@media(prefers-reduced-motion:reduce){.footer a,.site-header a{transition:none}}
