body{margin:0;background:#f9f9f9;color:#525252;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;}
a{color:inherit;text-decoration:none;}
.navlink:hover{color:#0a0b0b;}
.btn-primary:hover{background:#004d73;}
.btn-secondary:hover{background:#f5f5f5;}
.cat:hover{background:#f5f5f5;}
.case-card:hover{border-color:#006596;}
.post-row:hover{background:#f5f5f5;}
input,textarea{font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid #c9c9c9;background:#ffffff;color:#0a0b0b;width:100%;box-sizing:border-box;}
input:focus,textarea:focus{outline:2px solid #006596;outline-offset:1px;}
label{font-size:13px;font-weight:500;color:#0a0b0b;display:block;margin-bottom:6px;}
.quiz-opt{text-align:left;width:100%;padding:14px 16px;border:1px solid #c9c9c9;background:#ffffff;color:#0a0b0b;font-size:14px;font-family:inherit;cursor:pointer;}
.quiz-opt:hover{border-color:#006596;background:#e6f2f7;}
.quiz-back{font-size:13px;color:#8a8a8a;background:none;border:none;padding:0;font-family:inherit;cursor:pointer;}
.quiz-back:hover{color:#0a0b0b;}
p.body-copy{font-size:17px;line-height:28px;color:#525252;margin:0 0 20px 0;}

html{scroll-behavior:smooth;}
.reveal{opacity:0;transform:translateY(18px);transition:opacity 700ms cubic-bezier(.2,.7,.3,1),transform 700ms cubic-bezier(.2,.7,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-immediate{opacity:0;transform:translateY(10px);transition:opacity 650ms ease 60ms,transform 650ms ease 60ms;}
.reveal-immediate.in{opacity:1;transform:translateY(0);}
.site-nav{transition:box-shadow 220ms ease;}
.site-nav.scrolled{box-shadow:0 1px 0 rgba(10,11,11,0.07);}
.btn-primary,.btn-secondary,.navlink,.case-card,.cat,.post-row{transition:background 180ms ease,color 180ms ease,border-color 180ms ease,transform 180ms ease;}
.case-card:hover{transform:translateY(-2px);}
.post-row:hover{transform:translateX(3px);}

/* utility for JS-driven show/hide (replaces sc-if) */
.hidden{display:none !important;}

/* tag pills + numbered badges (services page, BDemand-style) */
.tag-pill{display:inline-block;background:#f0f0f0;color:#525252;font-size:13px;padding:8px 14px;border-radius:999px;}
.num-badge{width:32px;height:32px;background:#f5f5f5;border:1px solid #e5e5e5;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#0a0b0b;}
.pick-card{transition:border-color 180ms ease,transform 180ms ease;}
.pick-card:hover{border-color:#006596 !important;transform:translateY(-2px);}
.stack-pill{display:inline-block;border:1px solid #e5e5e5;color:#0a0b0b;font-size:14px;padding:8px 16px;border-radius:999px;background:#ffffff;}

/* nav Industries dropdown */
.nav-dropdown{position:relative;}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:0;background:#ffffff;border:1px solid #e5e5e5;min-width:220px;box-shadow:0 4px 12px rgba(10,11,11,0.08);z-index:10;flex-direction:column;padding:6px 0;}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:flex;}
.nav-dropdown-menu a{padding:10px 16px !important;font-size:14px;color:#525252;}
.nav-dropdown-menu a:hover{background:#f5f5f5;color:#0a0b0b;}

/* Phone-width support: the page ships with fixed 112px side padding and
   fixed-ratio grids sized for desktop. This block only adjusts layout
   (padding, stacking) at narrow widths — no color, type, or component
   style changes. */
@media (max-width: 760px){
  [style*="112px"]{padding-left:20px !important;padding-right:20px !important;}
  [style*="grid-template-columns"]{grid-template-columns:1fr !important;}
  .site-nav .navlink{display:none;}
  .site-nav{padding-left:20px !important;padding-right:20px !important;}
}
