/* JB TECHNOLOGIES | site-wide brand harmonization
   Scope: public website only. Design overrides only; no DOM manipulation.
   Loaded after page styles and legacy blue styles. */
:root{
  --jb-ink:#2c2e34;--jb-ink-soft:#44464c;--jb-gold:#d9903c;
  --jb-gold-dark:#aa6727;--jb-gold-wash:#fff4e7;
  --jb-paper:#fff;--jb-cream:#fcf8f2;--jb-stroke:#e8ded1;
  --jb-shadow:0 16px 45px rgba(43,39,35,.075);
  --primary:#2c2e34;--accent:#d9903c;--border:#e8ded1;
  --jb-blue:#c58035;--jb-blue-bright:#d9903c;--jb-navy:#2c2e34;
  color-scheme:light;
}
body{color:var(--jb-ink);background:#fff}
main{min-width:0}main img,main video{max-width:100%}
:where(main) :is(h1,h2,h3,h4){color:var(--jb-ink)}
:where(main) :is(p,li){overflow-wrap:break-word}
:where(main) :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--jb-gold);outline-offset:3px}
:where(main) :is(input,textarea,select){accent-color:var(--jb-gold);font:inherit}
:where(main) :is(input,textarea,select):focus{border-color:var(--jb-gold);box-shadow:0 0 0 3px rgba(217,144,60,.13)}
:where(main) :is(.eyebrow,.section-eyebrow,.section-kicker){color:var(--jb-gold-dark)}
:where(main) :is(.btn-primary,.btn-dark,.button-primary):not(:disabled){background:var(--jb-ink);border-color:var(--jb-ink);color:#fff}
:where(main) :is(.btn-primary,.btn-dark,.button-primary):hover:not(:disabled){background:var(--jb-gold-dark);border-color:var(--jb-gold-dark);color:#fff}
:where(main) :is(.btn-outline,.btn-secondary){border-color:var(--jb-stroke);color:var(--jb-ink)}
:where(main) :is(.btn-outline,.btn-secondary):hover{border-color:var(--jb-gold);background:var(--jb-gold-wash)}
/* Ensure global header/footer stay consistent with the official logo */
.site-header .main-nav>a.active,.site-header .main-nav>a:hover{color:var(--jb-gold-dark)!important}
.site-header .main-nav .nav-cta{background:var(--jb-ink)!important;color:#fff!important}
.footer{background:var(--jb-cream)!important;border-top:1px solid var(--jb-stroke)}
.footer :is(h2,h3,h4){color:var(--jb-ink)!important}
.footer a:hover{color:var(--jb-gold-dark)!important}
/* Homepage / universes / interactive modules */
.jb-repo-home{--rh-ink:var(--jb-ink);--rh-brand:var(--jb-gold);--rh-deep:var(--jb-ink);--rh-tint:var(--jb-cream);--rh-line:var(--jb-stroke)}
.jb-universes{--jbu-ink:var(--jb-ink);--jbu-aqua:var(--jb-gold);--jbu-blue:var(--jb-gold);--jbu-milk:var(--jb-cream);--jbu-stroke:var(--jb-stroke)}
.jb-repo-home :is(.jbrh-kicker,.jbrh-eyebrow,.jbrh-label){color:var(--jb-gold-dark)}
.jb-repo-home :is(.jbrh-soft,.jbrh-showcase){background:var(--jb-cream)}
.jb-repo-home :is(.jbrh-service-card,.jbrh-industry-card,.jbrh-feature-card){border-color:var(--jb-stroke)}
.jb-repo-home :is(.jbrh-service-card,.jbrh-industry-card,.jbrh-feature-card):hover{border-color:#dcbb90;box-shadow:var(--jb-shadow)}
/* Services: honor the image timeline and expand-modal mechanics */
.jbsd{--jbsd-navy:var(--jb-ink);--jbsd-blue:var(--jb-gold);--jbsd-border:var(--jb-stroke)}
.jbsd :is(.jbsd-eyebrow,.jbsd-kicker){color:var(--jb-gold-dark)}
.jbsd :is(.jbsd-btn-primary,.jbsd-primary-action){background:var(--jb-ink)!important;border-color:var(--jb-ink)!important;color:#fff!important}
.jbsd :is(.jbsd-btn-primary,.jbsd-primary-action):hover{background:var(--jb-gold-dark)!important;border-color:var(--jb-gold-dark)!important}
.jbsd :is(.jbsd-btn-light,.jbsd-btn-outline){border-color:var(--jb-stroke)}
.jbsd :is(.jbsd-btn-light,.jbsd-btn-outline):hover{border-color:var(--jb-gold);background:var(--jb-cream)}
.jbsd :is(.jbsd-service-card,.jbsd-feature,.jbsd-card){border-color:var(--jb-stroke)}
/* Pricing catalogue */
.jb-catalogue{--jb-cat-ink:var(--jb-ink);--jb-cat-accent:var(--jb-gold);--jb-cat-line:var(--jb-stroke);--jb-cat-wash:var(--jb-cream)}
.jb-catalogue :is(.jb-cat-eyebrow,.jb-cat-spark){color:var(--jb-gold-dark)}
.jb-catalogue :is(.jb-cat-btn-dark,.jb-cat-btn-primary){background:var(--jb-ink)!important;color:#fff!important;border-color:var(--jb-ink)!important}
.jb-catalogue :is(.jb-cat-btn-dark,.jb-cat-btn-primary):hover{background:var(--jb-gold-dark)!important;border-color:var(--jb-gold-dark)!important}
.jb-catalogue :is(.jb-cat-btn-line,.jb-cat-btn-outline){border-color:var(--jb-stroke)}
/* Work portfolio and project detail */
.jb-case-study{--jb-case-accent:var(--jb-gold);--jb-case-ink:var(--jb-ink)}
.jb-case-study :is(.jb-case-eyebrow,.jb-case-back){color:var(--jb-gold-dark)}
.jb-case-study :is(.jb-case-info-bar,.jb-case-section){border-color:var(--jb-stroke)}
:is(.jb-work-editorial,.jb-portfolio-editorial,.jb-case-study) :is(.project-card,.portfolio-card,.work-card){border-color:var(--jb-stroke)}
:is(.jb-work-editorial,.jb-portfolio-editorial,.jb-case-study) :is(.project-card,.portfolio-card,.work-card):hover{box-shadow:var(--jb-shadow)}
/* Reviews, logos and testimonials */
.jb-reviews-section,.jb-reviews-page-offset{--jb-review-accent:var(--jb-gold);--jb-review-ink:var(--jb-ink)}
.jb-reviews-section :is(.jb-reviews-eyebrow,.jb-reviews-heading h2 span){color:var(--jb-gold-dark)}
.jb-reviews-section :is(.jb-review-card,.review-card){border-color:var(--jb-stroke)}
.jb-reviews-section :is(.jb-review-card,.review-card):hover{box-shadow:var(--jb-shadow)}
/* About page scroll animations: COLOR ONLY. Do not override transforms, position or pinning. */
.jb-about-cinematic,.jb-about-scroll,.jb-about-modern{--about-accent:var(--jb-gold);--about-ink:var(--jb-ink);--about-line:var(--jb-stroke)}
.jb-about-cinematic :is(.eyebrow,.section-label),.jb-about-scroll :is(.eyebrow,.section-label){color:var(--jb-gold-dark)}
/* Contact/support form fields and status */
.contact-panel,.contact-aside{border-color:var(--jb-stroke)}
.contact-panel :is(input,select,textarea){max-width:100%;background:#fff;border-color:#dcd5cb}
.contact-panel :is(input,select,textarea):focus{border-color:var(--jb-gold);outline-color:var(--jb-gold)}
.contact-panel :is(button[type=submit],input[type=submit]){background:var(--jb-ink);border-color:var(--jb-ink);color:#fff}
.contact-panel :is(button[type=submit],input[type=submit]):hover{background:var(--jb-gold-dark)}
/* Images: unify editorial treatment without cropping logos, device mockups or controls. */
:where(.story-card,.portfolio-card,.project-card,.jb-case-cover,.jb-reviews-section,.jbsd) img{height:auto}
:where(.story-card,.portfolio-card,.project-card,.jb-case-cover) img:not(.jb-brand-logo){border-radius:clamp(10px,1.2vw,18px)}
/* Mobile safety - avoid overflow without touching 3D canvas or sticky scrolling */
@media(max-width:900px){.site-header .header-inner{gap:12px}.site-header .jb-brand-logo{max-width:160px}}
@media(max-width:640px){
 .site-header .jb-brand-logo{max-width:140px}
 :where(main) :is(.container,.jb-case-container){max-width:100%}
 .contact-panel :is(input,textarea,select){width:100%;min-width:0}
 .footer .footer-grid{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){:where(main) :is(button,a){transition-duration:.01ms}}
