/* JB TECHNOLOGIES | NAVY / WHITE DESIGN SYSTEM | 2026-10-22
   Loaded after existing page CSS to preserve application behavior.
   Applies to public JB Site pages only, not authenticated admin management.
*/
:root {
  --bg: #ffffff;
  --text: #0b2345;
  --muted: #60728c;
  --orange: #1659a5;
  --orange-strong: #134c90;
  --border: #dce6f2;
  --purple: #a4c9f6;
  --panel: #fff;
  --font: 'Inter', Arial, sans-serif;
  --body: 'Inter', Arial, sans-serif;
  --jb-navy: #071d3c;
  --jb-deep: #092b56;
  --jb-blue: #1a5fae;
  --jb-blue-bright: #3f86d1;
  --jb-wash: #f4f8fd;
  --jb-line: #d9e5f2;
}
html {scroll-behavior:smooth}
body {font-family:'Inter',Arial,sans-serif;background:#fff;color:#0b2345}
body, body :is(h1,h2,h3,h4,h5,h6,p,span,a,button,label,input,textarea,select,summary,blockquote,li,strong,small,em) {font-family:'Inter',Arial,sans-serif}
body :is(.eyebrow,.jbrh-kicker,.jb-u-eyebrow,.jb-u-mini-label,.jb-u-dev-caption,.jb-u-steps,.jb-u-stage small,.jb-u-commerce-service small,.jb-u-demo-note,.jb-u-illustrative-note,.jbrh-feature-type,.jbrh-tech-node) {font-family:'Inter',Arial,sans-serif}
::selection{background:#bfdcff;color:var(--jb-navy)}
:focus-visible{outline:3px solid #377ac8;outline-offset:3px}
.site-header {background:rgba(255,255,255,.96);border-bottom:1px solid var(--jb-line);box-shadow:0 4px 25px #0a31600a}
.brand-mark,.brand-caption {color:var(--jb-navy)}
.orange-dot{color:var(--jb-blue)}
.main-nav > a{color:var(--jb-navy)}
.main-nav>a.active,.main-nav>a:hover{color:var(--jb-blue)}
.main-nav .nav-cta,.btn-primary {background:var(--jb-navy);border-color:var(--jb-navy);color:#fff}
.main-nav .nav-cta:hover,.btn-primary:hover {background:#164984;color:#fff;box-shadow:0 14px 27px #0c38632b}
.btn,.text-link{color:var(--jb-navy)}
.btn-primary{color:#fff}
.btn-outline{border-color:#a5bfdb}
.btn-outline:hover {background:#ecf4fc;border-color:var(--jb-blue)}
.hero{background:var(--jb-navy)}
.hero-overlay{background:linear-gradient(90deg,rgba(2,16,39,.87),rgba(4,27,57,.38) 85%),linear-gradient(0deg,rgba(4,20,42,.55),transparent 75%)}
.hero-title span {color:#b6d8ff}
.hero-title em {color:#fff}
.hero-overline{color:#bcdbfb}
.intro-story,.section,.capabilities{background:#fff}
.projects-section {background:#f2f7fc}
.story-card{border-color:#1c579c}
.showcase-info h3,.page-heading h1{color:var(--jb-navy)}
.showcase-pager button.active,.display span,.lockup-inner h2 span{color:#2669b7}
.service-list li:hover{border-bottom-color:#377bc1}
.service-list a:hover .circle-arrow{background:#dceeff}
.lockup-section{background:var(--jb-navy);color:#fff}
.lockup-section:before{background:radial-gradient(ellipse,rgba(67,143,224,.22),transparent 68%)}
.lockup-inner h2{color:#fff}
.lockup-inner h2 span{color:#a9d2ff}
.lockup-signature span{color:#b7d9ff}
.footer{background:#f7faff;border-top:1px solid var(--jb-line)}
.footer-grid h3,.footer-grid a:hover {color:#16599b}
.footer .brand{color:var(--jb-navy)}
/* Source repository skin - all sections share Inter + a single blue palette. */
.jb-repo-home{--rh-ink:#0b2345;--rh-muted:#5e718c;--rh-line:#dbe6f2;--rh-brand:#1e5fa8;--rh-deep:#092449;--rh-tint:#f2f7fc;color:var(--rh-ink);font-family:'Inter',Arial,sans-serif}
.jb-repo-home .jbrh-title,.jb-repo-home .jbrh-kicker,.jb-repo-home .jbrh-process-number{font-family:'Inter',Arial,sans-serif}
.jb-repo-home .jbrh-soft{background:#f4f8fd}
.jb-repo-home .jbrh-dark{background:var(--jb-navy)}
.jb-repo-home .jbrh-dark p{color:#cfdef1}
.jb-repo-home .jbrh-dark .jbrh-kicker{color:#9ccaff}
.jb-repo-home .jbrh-button-light{background:#fff;color:#0b2e59}
.jb-repo-home .jbrh-connect,.jb-repo-home .jbrh-service-card,.jb-repo-home .jbrh-industry-card,.jb-repo-home .jbrh-insight-card{background:#fff;border-color:var(--jb-line)}
.jb-repo-home .jbrh-ecosystem li{border-top-color:#c8dcf1}
.jb-repo-home .jbrh-ecosystem li small{color:#82a5c9}
.jb-repo-home .jbrh-icon{background:#e6f1fd;color:#17549a}
.jb-repo-home .jbrh-service-card:hover,.jb-repo-home .jbrh-industry-card:hover{box-shadow:0 20px 38px #0b316013;border-color:#a9c6e6}
.jb-repo-home .jbrh-orbit-ring{border-color:#a9c7e5}
.jb-repo-home .jbrh-orbit-center{background:radial-gradient(circle,#e4f1ff,#fff);box-shadow:0 8px 27px #163f6522}
.jb-repo-home .jbrh-collab-list li{border-top-color:#3b628e}
.jb-repo-home .jbrh-showcase{background:linear-gradient(135deg,#e4f1fe,#fff 75%);border-color:#b9d1ea}
.jb-repo-home .jbrh-marquee-card{background:#f4f8fe;border-color:#cddff1}
.jb-repo-home .jbrh-cta{background:var(--jb-navy)}
/* Development, Marketing & E-commerce widgets */
.jb-universes{--jbu-ink:#102b50;--jbu-subtle:#62778f;--jbu-stroke:#d6e4f3;--jbu-paper:#fff;--jbu-aqua:#1d66b4;--jbu-blue:#286fb6;--jbu-milk:#ecf5ff;--jbu-glass:rgba(255,255,255,.94);background:#fff}
.jb-universes .jb-u-metal{color:#dbeafa}
.jb-universes .jb-u-dev-screen{background:linear-gradient(180deg,#eff6fe,#fff 95%)}
.jb-universes .jb-u-development{background-image:linear-gradient(#296cad08 1px,transparent 1px),linear-gradient(90deg,#296cad08 1px,transparent 1px)}
.jb-universes .jb-u-dev-option-name{color:#58718d}
.jb-universes .jb-u-heading h2 {font-family:'Inter',Arial,sans-serif}
.jb-universes .jb-u-eyebrow,.jb-universes .jb-u-mini-label,.jb-universes .jb-u-dev-caption,.jb-universes .jb-u-steps,.jb-universes .jb-u-stage small,.jb-universes .jb-u-commerce-service small,.jb-universes .jb-u-illustrative-note,.jb-universes .jb-u-demo-note,.jb-universes .jb-u-dev-option small{font-family:'Inter',Arial,sans-serif}
/* Reviews */
.jb-reviews-section{background:#fff;color:var(--jb-navy);border-top:1px solid var(--jb-line);font-family:'Inter',Arial,sans-serif}
.jb-reviews-section .jb-reviews-heading h2{font-family:'Inter',Arial,sans-serif}
.jb-reviews-section .jb-reviews-heading h2 span{color:#2c70bd}
.jb-reviews-section button:focus-visible,.jb-reviews-section a:focus-visible{outline-color:#2467b2}
/* TECHNOLOGY NETWORK inspired by reference; independent of original tag-cloud implementation */
.jb-repo-home .jbrh-network-section {background:#fff;padding-top:104px;padding-bottom:112px}
.jb-repo-home .jbrh-tech-head {max-width:680px;text-align:center;margin:0 auto 14px}
.jb-repo-home .jbrh-tech-head p:last-child{margin:0 auto;max-width:540px}
.jb-repo-home .jbrh-tech-network{height:630px;width:100%;position:relative;isolation:isolate}
.jb-repo-home .jbrh-tech-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.jb-repo-home .jbrh-tech-lines line{stroke:#b8d0e4;stroke-width:1.2;vector-effect:non-scaling-stroke}
.jb-repo-home .jbrh-tech-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:124px;height:124px;border:1px solid #b9cfe5;box-shadow:0 14px 35px #123a6212;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;color:var(--jb-navy)}
.jb-repo-home .jbrh-tech-center-monogram{font-weight:900;font-size:25px;line-height:1;letter-spacing:-.06em}
.jb-repo-home .jbrh-tech-center strong{font-size:10px;letter-spacing:.045em;line-height:1.2}
.jb-repo-home .jbrh-tech-node{position:absolute;left:var(--tech-x);top:var(--tech-y);transform:translate(-50%,-50%);z-index:2;border:1px solid #c7d9e9;border-radius:100px;padding:9px 15px;background:#fff;color:#45637f;line-height:1.1;white-space:nowrap;font-size:12px;letter-spacing:.015em;box-shadow:0 2px 8px #08315a06;transition:color .2s,border-color .2s,transform .2s,box-shadow .2s}
.jb-repo-home .jbrh-tech-node:hover{border-color:#5b91c6;color:#0e4175;box-shadow:0 6px 17px #0b3a601d;transform:translate(-50%,-54%)}
.jb-repo-home .jbrh-tech-mobile{display:none}
/* WHAT WE BRING TO LIFE reference layout */
.jb-repo-home .jbrh-feature-work{background:#fff}
.jb-repo-home .jbrh-feature-work .jbrh-head{margin-bottom:54px;max-width:710px}
.jb-repo-home .jbrh-feature-work .jbrh-kicker{display:flex;align-items:center;gap:20px;font-weight:650;letter-spacing:.28em}
.jb-repo-home .jbrh-hairline{display:inline-block;width:70px;height:1px;background:#b7cfe4}
.jb-repo-home .jbrh-display-feature{font-size:clamp(47px,5.55vw,76px);line-height:1.03;letter-spacing:-.067em;font-weight:750;margin:20px 0 24px;color:var(--jb-navy)}
.jb-repo-home .jbrh-display-feature span{color:#6192c5}
.jb-repo-home .jbrh-feature-work .jbrh-head p:last-child{font-size:16px;line-height:1.75;max-width:600px;color:#5d6f82}
.jb-repo-home .jbrh-feature-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px}
.jb-repo-home .jbrh-feature-card{grid-column:span 6;min-height:296px;position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(126deg,#dcecfb 0%,#f7fbff 97%);border:1px solid #d3e3f2;color:var(--jb-navy);padding:35px 36px;display:block;box-shadow:0 3px 7px #0b316003;isolation:isolate}
.jb-repo-home .jbrh-feature-card::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.40;background-image:linear-gradient(90deg,#bad4ec50 1px,transparent 1px),linear-gradient(#bad4ec50 1px,transparent 1px);background-size:65px 65px;mask-image:linear-gradient(90deg,transparent 15%,black 80%)}
.jb-repo-home .jbrh-feature-card:hover{border-color:#9bbfe3;box-shadow:0 20px 40px #0b315719;transform:translateY(-3px)}
.jb-repo-home .jbrh-feature-card--1{grid-column:span 8;min-height:350px;background:linear-gradient(120deg,#c5e3f9,#f3faff)}
.jb-repo-home .jbrh-feature-card--2{grid-column:span 4;min-height:350px;background:linear-gradient(120deg,#d6edfc,#f6fbff)}
.jb-repo-home .jbrh-feature-card--3,.jb-repo-home .jbrh-feature-card--4{background:linear-gradient(120deg,#dae9f7,#f2f8fd)}
.jb-repo-home .jbrh-feature-card--5,.jb-repo-home .jbrh-feature-card--6{background:linear-gradient(120deg,#eff6fd,#f7fbff)}
.jb-repo-home .jbrh-feature-copy{position:relative;z-index:2;max-width:61%}
.jb-repo-home .jbrh-feature-type{font-size:10px;letter-spacing:.25em;text-transform:uppercase;font-weight:750;color:#516d88}
.jb-repo-home .jbrh-feature-card h3{font-family:'Inter',Arial,sans-serif;font-size:clamp(20px,2.55vw,32px);line-height:1.18;letter-spacing:-.055em;font-weight:750;margin:16px 0 0;color:var(--jb-navy)}
.jb-repo-home .jbrh-feature-corner{position:absolute;top:31px;right:32px;border-radius:50%;background:#ffffffa8;display:grid;place-items:center;height:30px;width:30px;color:#124a8e;opacity:0;transition:opacity .2s}
.jb-repo-home .jbrh-feature-card:hover .jbrh-feature-corner,.jb-repo-home .jbrh-feature-card:focus-visible .jbrh-feature-corner{opacity:1}
.jb-repo-home .jbrh-feature-art{position:absolute;bottom:-16px;right:20px;width:48%;height:65%;display:flex;align-items:center;justify-content:center;pointer-events:none}
.jb-repo-home .jbrh-feature-art--1{right:40px;width:42%;height:65%}
.jb-repo-home .jbrh-feature-art--2{right:12px;width:68%;height:53%}
.jb-repo-home .jbrh-feature-art--3,.jb-repo-home .jbrh-feature-art--4{width:49%;height:60%}
.jb-repo-home .jbrh-feature-card--1 .jbrh-feature-copy{max-width:55%}
/* deliberate UI visuals, CSS-only to avoid missing assets */
.jb-repo-home .jbrh-ui-phone{width:160px;height:218px;background:#fff;border:1px solid #d4e4f0;border-radius:23px;box-shadow:0 18px 34px #2451771c;padding:15px;transform:rotate(-5deg)}
.jb-repo-home .jbrh-ui-topline{width:54px;height:5px;border-radius:9px;background:#bbcad9;margin:0 auto 13px}
.jb-repo-home .jbrh-ui-hero{height:82px;background:linear-gradient(125deg,#b2d9f4,#d5ebfc);border-radius:11px;margin-bottom:12px}
.jb-repo-home .jbrh-ui-line{height:8px;background:#d6e1eb;border-radius:10px;margin-top:8px}
.jb-repo-home .jbrh-ui-line.w65{width:67%}.jb-repo-home .jbrh-ui-line.w40{width:42%}
.jb-repo-home .jbrh-ui-bottom{display:flex;gap:7px;margin-top:17px}.jb-repo-home .jbrh-ui-bottom i{width:20px;height:20px;background:#e5eef7;border-radius:50%}
.jb-repo-home .jbrh-ui-browser{width:220px;height:152px;background:#fff;border:1px solid #c8d8e8;border-radius:17px;box-shadow:0 19px 29px #14467117;padding:13px;transform:rotate(4deg)}
.jb-repo-home .jbrh-ui-dots{display:flex;gap:5px;margin-bottom:12px}.jb-repo-home .jbrh-ui-dots i{width:7px;height:7px;background:#bed0df;border-radius:50%}
.jb-repo-home .jbrh-ui-browser .jbrh-ui-hero{height:56px}
.jb-repo-home .jbrh-ui-console,.jb-repo-home .jbrh-ui-crm,.jb-repo-home .jbrh-ui-store,.jb-repo-home .jbrh-ui-chart{width:240px;max-width:100%;height:160px;background:#fff;border:1px solid #c8d8e8;border-radius:15px;box-shadow:0 15px 30px #15375815;padding:14px}
.jb-repo-home .jbrh-ui-console-top{display:flex;gap:5px;margin-bottom:15px}.jb-repo-home .jbrh-ui-console-top i{width:7px;height:7px;background:#b2cee8;border-radius:50%}
.jb-repo-home .jbrh-ui-console-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jb-repo-home .jbrh-ui-console-grid b{height:49px;background:#e2eef9;border-radius:6px}
.jb-repo-home .jbrh-ui-crm-head,.jb-repo-home .jbrh-ui-store-top{width:55%;height:12px;border-radius:4px;background:#d3e4f2;margin-bottom:16px}
.jb-repo-home .jbrh-ui-crm-row{display:flex;align-items:center;gap:9px;margin:9px 0}.jb-repo-home .jbrh-ui-crm-row i{width:18px;height:18px;border-radius:50%;background:#c3dff6}.jb-repo-home .jbrh-ui-crm-row b{height:7px;width:36%;background:#dce8f3;border-radius:6px}
.jb-repo-home .jbrh-ui-store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.jb-repo-home .jbrh-ui-store-grid i{height:87px;background:#d9eaf8;border-radius:9px}
.jb-repo-home .jbrh-ui-chart-bars{display:flex;align-items:flex-end;gap:9px;height:100%;padding:9px 0}.jb-repo-home .jbrh-ui-chart-bars i{width:16%;background:linear-gradient(#67a9dd,#b5d5f2);border-radius:5px 5px 0 0;height:35%}.jb-repo-home .jbrh-ui-chart-bars i:nth-child(2){height:65%}.jb-repo-home .jbrh-ui-chart-bars i:nth-child(3){height:50%}.jb-repo-home .jbrh-ui-chart-bars i:nth-child(4){height:81%}.jb-repo-home .jbrh-ui-chart-bars i:nth-child(5){height:71%}.jb-repo-home .jbrh-ui-chart-bars i:nth-child(6){height:96%}
@media(max-width: 1000px){
 .jb-repo-home .jbrh-tech-network{display:none}
 .jb-repo-home .jbrh-tech-mobile{display:block;margin-top:34px;border:1px solid #d6e5f3;background:#f8fbff;border-radius:22px;padding:26px}
 .jb-repo-home .jbrh-tech-mobile-core{text-align:center;display:flex;flex-direction:column;gap:5px;margin-bottom:22px;color:var(--jb-navy)}
 .jb-repo-home .jbrh-tech-mobile-core strong{font-size:20px}.jb-repo-home .jbrh-tech-mobile-core span{color:#6a7c90;font-size:12px}
 .jb-repo-home .jbrh-tech-mobile-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
 .jb-repo-home .jbrh-tech-mobile-list span{background:#fff;color:#31557a;border:1px solid #c6d8e8;padding:9px 14px;border-radius:100px;font-size:12px}
}
@media(max-width: 800px){
 .jb-repo-home .jbrh-feature-grid{gap:14px}
 .jb-repo-home .jbrh-feature-card--1,.jb-repo-home .jbrh-feature-card--2{grid-column:span 6;min-height:295px}
 .jb-repo-home .jbrh-feature-card{padding:26px;min-height:250px;border-radius:20px}
 .jb-repo-home .jbrh-feature-copy{max-width:70%}
 .jb-repo-home .jbrh-feature-card h3{font-size:clamp(20px,3.2vw,28px)}
 .jb-repo-home .jbrh-feature-art{width:53%;height:57%}
}
@media(max-width: 570px){
 .jb-repo-home .jbrh-network-section{padding:64px 0 72px}
 .jb-repo-home .jbrh-feature-work .jbrh-head{margin-bottom:32px}
 .jb-repo-home .jbrh-display-feature{font-size:clamp(42px,10vw,55px)}
 .jb-repo-home .jbrh-feature-grid{grid-template-columns:1fr;gap:14px}
 .jb-repo-home .jbrh-feature-card,.jb-repo-home .jbrh-feature-card--1,.jb-repo-home .jbrh-feature-card--2{grid-column:auto;min-height:275px;padding:24px;border-radius:20px}
 .jb-repo-home .jbrh-feature-card--1{min-height:310px}
 .jb-repo-home .jbrh-feature-copy,.jb-repo-home .jbrh-feature-card--1 .jbrh-feature-copy{max-width:63%}
 .jb-repo-home .jbrh-feature-card h3{font-size:clamp(22px,6vw,30px)}
 .jb-repo-home .jbrh-feature-art,.jb-repo-home .jbrh-feature-art--1,.jb-repo-home .jbrh-feature-art--2{right:5px;width:57%;height:56%;bottom:-8px}
 .jb-repo-home .jbrh-ui-phone{transform:scale(.86) rotate(-5deg);transform-origin:bottom center}
 .jb-repo-home .jbrh-ui-browser{transform:scale(.8) rotate(4deg);transform-origin:bottom center}
 .jb-repo-home .jbrh-feature-corner{opacity:1;top:17px;right:17px}
 .jb-repo-home .jbrh-tech-mobile{padding:20px 13px}
 .jb-repo-home .jbrh-tech-mobile-list{gap:8px}
 .jb-repo-home .jbrh-tech-mobile-list span{font-size:11px;padding:8px 11px}
}
@media(prefers-reduced-motion:reduce){.jb-repo-home .jbrh-feature-card,.jb-repo-home .jbrh-tech-node{transition:none}}

/* Remaining legacy panels, form controls and nav drawer follow the palette. */
.service-card,.contact-panel{background:#fff;border-color:#d9e5f2}
.service-card-num{color:#205b9e}
.service-symbol{color:#6092c5}
.portfolio-cover{background:#e1eaf5}
.next-project:hover{background:#f1f7fe}
.contact-panel input,.contact-panel textarea,.contact-panel select{background:#f8fbff;border-color:#d6e4f2}
.contact-panel :is(input,textarea,select):focus{border-color:#397cc0}
.main-nav.open{background:#fff}
.jb-reviews-section .jb-review-card{border-color:#d9e5f2}
.jb-reviews-section .jb-review-card:hover{border-color:#acc8e8;box-shadow:0 13px 26px #0b31520e}
.jb-reviews-section .jb-review-expand{color:#185b9f}
.jb-reviews-section .jb-reviews-heading-rule{background:#1f5fa8}
