/*
Theme Name: Elevate Pro
Theme URI: https://www.bluesummitcreative.com/
Author: Blue Summit Creative
Author URI: https://www.bluesummitcreative.com/
Description: A custom WordPress theme built by Blue Summit Creative.
Version: 1.1.13
Requires at least: 6.0
*/

:root {
	--bsc-blue: #4C7ABD;
	--bsc-blue-dark: #315f9c;
	--bsc-blue-soft: #eaf1fb;
	--bsc-navy: #061321;
	--bsc-navy-soft: #0d2035;
	--bsc-ink: #07111f;
	--bsc-text: #263548;
	--bsc-muted: #657488;
	--bsc-line: #dce4ef;
	--bsc-soft: #f5f8fc;
	--bsc-white: #ffffff;
	--bodyfont: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--headingfont: 'Oswald', Impact, sans-serif;
}

html { scroll-behavior: smooth; }
body {
	font-family: var(--bodyfont);
	color: var(--bsc-text);
	background: linear-gradient(180deg, #fff, #f8fbff);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.logged-in.admin-bar .bsc-site-header { top: 32px; }
@media screen and (max-width: 782px) { body.logged-in.admin-bar .bsc-site-header { top: 46px; } }

img { max-width: 100%; height: auto; }
a { color: var(--bsc-blue); transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease, opacity .2s ease; }
a:hover { color: var(--bsc-blue-dark); }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--headingfont);
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: .96;
	color: var(--bsc-ink);
	text-transform: uppercase;
}
h1 { font-size: clamp(4rem, 6.25vw, 7.35rem); }
h2 { font-size: clamp(2.5rem, 4.45vw, 4.85rem); }
h3 { font-size: clamp(1.25rem, 1.6vw, 1.55rem); }
p { margin-bottom: 1.25rem; }

.bsc-site-header {
	background: rgba(255,255,255,.96);
	backdrop-filter: blur(18px);
	box-shadow: 0 14px 46px rgba(7,17,31,.04);
	transition: background .25s ease, box-shadow .25s ease, min-height .25s ease;
	z-index: 1030;
}
.bsc-site-header.is-scrolled {
	background: rgba(255,255,255,.985);
	box-shadow: 0 18px 55px rgba(7,17,31,.1);
}
.bsc-header-container { min-height: 96px; }
.bsc-navbar-brand { max-width: 184px; padding: .55rem 0; }
.bsc-site-logo { width: 188px; max-height: 76px; object-fit: contain; }
.navbar-toggler { border: 0; box-shadow: none !important; }
.navbar-nav { gap: .2rem; }
.nav-link {
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .075em;
	text-transform: uppercase;
	color: var(--bsc-ink) !important;
	padding: .75rem 1rem !important;
}
.nav-link:hover,
.current-menu-item > .nav-link { color: var(--bsc-blue) !important; }
.bsc-nav-cta .nav-link {
	background: var(--bsc-blue);
	color: var(--bsc-white) !important;
	border-radius: 2px;
	margin-left: .45rem;
	padding-inline: 1.35rem !important;
	box-shadow: 0 14px 34px rgba(76,122,189,.25);
}
.bsc-nav-cta .nav-link:hover { background: var(--bsc-blue-dark); color: var(--bsc-white) !important; transform: translateY(-1px); }

.bsc-btn {
	border-radius: 2px;
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: .96rem 1.42rem;
	border-width: 1px;
}
.bsc-btn-primary {
	background: var(--bsc-blue);
	border-color: var(--bsc-blue);
	color: var(--bsc-white);
	box-shadow: 0 16px 38px rgba(76,122,189,.25);
}
.bsc-btn-primary:hover { background: var(--bsc-blue-dark); border-color: var(--bsc-blue-dark); color: var(--bsc-white); transform: translateY(-2px); }
.bsc-btn-outline { background: rgba(255,255,255,.78); border-color: rgba(76,122,189,.72); color: var(--bsc-blue); }
.bsc-btn-outline:hover { background: var(--bsc-blue); border-color: var(--bsc-blue); color: var(--bsc-white); }
.bsc-btn-outline-light { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.38); color: var(--bsc-white); }
.bsc-btn-outline-light:hover { background: var(--bsc-white); color: var(--bsc-navy); }
.bsc-button-row { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.1rem; }

.bsc-hero {
	position: relative;
	min-height: 820px;
	background:
		linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.965) 28%, rgba(255,255,255,.82) 43%, rgba(255,255,255,.46) 58%, rgba(255,255,255,.1) 78%, rgba(255,255,255,.02) 100%),
		linear-gradient(180deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 42%, rgba(6,19,33,.74) 100%),
		var(--bsc-hero-image) 72% 42% / cover no-repeat;
	overflow: hidden;
}
.bsc-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 72% 20%, rgba(255,255,255,.32), transparent 18%),
		radial-gradient(circle at 14% 78%, rgba(76,122,189,.16), transparent 31%),
		linear-gradient(90deg, rgba(255,255,255,.58) 0%, transparent 21%, transparent 100%),
		linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(6,19,33,.08) 100%);
	pointer-events: none;
}
.bsc-hero::after {
	content: 'BLUE SUMMIT';
	position: absolute;
	left: -1.2rem;
	top: 24%;
	font-family: var(--headingfont);
	font-size: clamp(7rem, 14vw, 14rem);
	font-weight: 700;
	letter-spacing: -.04em;
	line-height: 1;
	color: rgba(76,122,189,.038);
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
}
.bsc-hero .container { position: relative; z-index: 2; }
.bsc-hero-row {
	min-height: 680px;
	padding-top: 5.55rem;
	padding-bottom: 12.5rem;
}
.bsc-hero-content { position: relative; z-index: 2; }
.bsc-hero-content::before {
	content: '';
	position: absolute;
	inset: -2.2rem -2.3rem -2rem -2.3rem;
	background: radial-gradient(circle at 8% 30%, rgba(255,255,255,.72), transparent 58%);
	filter: blur(8px);
	z-index: -1;
	pointer-events: none;
}
.bsc-eyebrow {
	font-size: .82rem;
	font-weight: 900;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--bsc-blue);
	margin-bottom: 1.12rem;
}
.bsc-hero h1 { max-width: 940px; margin-bottom: 1.55rem; text-wrap: balance; }
.bsc-hero-copy { max-width: 650px; font-size: 1.06rem; color: #142236; line-height: 1.76; }

.bsc-hero-capabilities {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	background: rgba(6,19,33,.96);
	backdrop-filter: blur(14px);
	border-top: 1px solid rgba(255,255,255,.08);
	box-shadow: 0 -22px 60px rgba(6,19,33,.16);
}
.bsc-capability-card {
	min-height: 140px;
	padding: 1.5rem 1rem;
	color: var(--bsc-white);
	border-right: 1px solid rgba(255,255,255,.12);
	text-align: center;
}
.bsc-capability-card h2 {
	font-size: .96rem;
	margin: .82rem 0 .2rem;
	color: var(--bsc-white);
	letter-spacing: -.01em;
}
.bsc-capability-card p { margin: 0; color: rgba(255,255,255,.72); font-size: .84rem; }

.bsc-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: var(--bsc-blue);
}
.bsc-icon svg { width: 100%; height: 100%; }

.bsc-section { padding: clamp(5.7rem, 8.4vw, 8.8rem) 0; }
.bsc-positioning-section { background: linear-gradient(180deg, #fff 0%, #f7f9fc 100%); }
.bsc-positioning-section h2 { max-width: 730px; }
.bsc-positioning-section p { max-width: 580px; }
.bsc-mini-mark { width: 54px; height: 4px; background: var(--bsc-blue); margin: 1.4rem 0 2rem; }

.bsc-service-card {
	display: block;
	height: 100%;
	padding: 2.15rem;
	background: var(--bsc-white);
	border: 1px solid var(--bsc-line);
	box-shadow: 0 24px 70px rgba(7,17,31,.05);
	text-decoration: none;
	color: var(--bsc-text);
	position: relative;
	overflow: hidden;
}
.bsc-service-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(76,122,189,.08), transparent 42%);
	opacity: 0;
	transition: opacity .25s ease;
}
.bsc-service-card > * { position: relative; z-index: 2; }
.bsc-service-card:hover { transform: translateY(-7px); box-shadow: 0 34px 90px rgba(7,17,31,.13); border-color: rgba(76,122,189,.44); color: var(--bsc-text); }
.bsc-service-card:hover::before { opacity: 1; }
.bsc-service-card h3 { font-size: 1.31rem; margin: 1.15rem 0 .8rem; }
.bsc-service-card p { color: var(--bsc-muted); font-size: .94rem; margin-bottom: 1.1rem; }
.bsc-service-card span,
.bsc-text-link {
	font-size: .73rem;
	font-weight: 900;
	letter-spacing: .085em;
	text-transform: uppercase;
	text-decoration: none;
}
.bsc-service-card span::after,
.bsc-text-link::after { content: ' →'; }

.bsc-systems-section {
	position: relative;
	background:
		radial-gradient(circle at 74% 24%, rgba(76,122,189,.34), transparent 31%),
		radial-gradient(circle at 8% 82%, rgba(76,122,189,.14), transparent 30%),
		linear-gradient(135deg, #04101d 0%, #071827 48%, #0c2035 100%);
	color: rgba(255,255,255,.78);
	overflow: hidden;
}
.bsc-systems-section::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255,255,255,.038) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.038) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: radial-gradient(circle at 72% 45%, #000 0%, transparent 65%);
}
.bsc-systems-section::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(4,16,29,.96), rgba(6,19,33,.24) 48%, rgba(6,19,33,.68));
	pointer-events: none;
}
.bsc-systems-section .container { position: relative; z-index: 2; }
.bsc-systems-section h2,
.bsc-systems-section h3 { color: var(--bsc-white); }
.bsc-systems-section .bsc-eyebrow { color: #7eabec; }
.bsc-system-feature {
	padding: 1.65rem;
	min-height: 212px;
	border: 1px solid rgba(255,255,255,.1);
	background: linear-gradient(135deg, rgba(255,255,255,.078), rgba(255,255,255,.032));
	backdrop-filter: blur(8px);
	box-shadow: 0 24px 60px rgba(0,0,0,.08);
	transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.bsc-system-feature:hover { transform: translateY(-5px); border-color: rgba(76,122,189,.42); background: linear-gradient(135deg, rgba(76,122,189,.14), rgba(255,255,255,.045)); }
.bsc-system-feature h3 { font-size: 1.06rem; margin: 1rem 0 .65rem; }
.bsc-system-feature p { margin: 0; color: rgba(255,255,255,.7); font-size: .9rem; }

.bsc-selected-work-section { background: var(--bsc-white); }
.bsc-selected-work-section h2 { max-width: 780px; margin: 0; }
.bsc-work-card {
	display: block;
	height: 100%;
	background: var(--bsc-white);
	border: 1px solid var(--bsc-line);
	box-shadow: 0 24px 60px rgba(7,17,31,.055);
	text-decoration: none;
	color: var(--bsc-text);
	overflow: hidden;
}
.bsc-work-card:hover { transform: translateY(-6px); box-shadow: 0 32px 82px rgba(7,17,31,.12); color: var(--bsc-text); }
.bsc-work-card-image {
	min-height: 278px;
	background: linear-gradient(180deg, rgba(6,19,33,.02), rgba(6,19,33,.72)), var(--bsc-wide-image) center / cover no-repeat;
	transition: transform .35s ease, filter .35s ease;
}
.bsc-work-card-image-2 { background-position: 48% center; }
.bsc-work-card-image-3 { background-position: 78% center; }
.bsc-work-card:hover .bsc-work-card-image { transform: scale(1.035); filter: saturate(1.08) contrast(1.05); }
.bsc-work-card-body { padding: 1.65rem; }
.bsc-work-card-body span {
	display: block;
	font-size: .68rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bsc-blue);
	margin-bottom: .85rem;
}
.bsc-work-card-body h3 { font-size: 1.45rem; margin-bottom: .8rem; }
.bsc-work-card-body p { color: var(--bsc-muted); font-size: .94rem; margin-bottom: 0; }

.bsc-process-section { background: linear-gradient(180deg, #f8fafd 0%, #fff 100%); }
.bsc-process-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.65rem; }
.bsc-process-step { position: relative; }
.bsc-process-step:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 23px;
	left: 58px;
	right: -1rem;
	border-top: 1px solid rgba(76,122,189,.28);
}
.bsc-process-step span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(76,122,189,.48);
	border-radius: 50%;
	font-weight: 900;
	color: var(--bsc-blue);
	background: var(--bsc-white);
	position: relative;
	z-index: 2;
	box-shadow: 0 12px 30px rgba(76,122,189,.08);
}
.bsc-process-step h3 { font-size: 1.02rem; margin: 1.15rem 0 .58rem; }
.bsc-process-step p { color: var(--bsc-muted); font-size: .89rem; margin: 0; }

.bsc-final-cta {
	position: relative;
	padding: 7.2rem 0;
	background:
		linear-gradient(90deg, rgba(4,16,29,.98) 0%, rgba(6,19,33,.86) 46%, rgba(6,19,33,.5) 100%),
		linear-gradient(180deg, rgba(6,19,33,.1), rgba(6,19,33,.8)),
		var(--bsc-wide-image) center 48% / cover no-repeat;
	color: var(--bsc-white);
	overflow: hidden;
}
.bsc-final-cta::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 72% 48%, rgba(76,122,189,.26), transparent 31%),
		linear-gradient(180deg, rgba(255,255,255,.04), transparent 42%);
	pointer-events: none;
}
.bsc-final-cta .container { position: relative; z-index: 2; }
.bsc-final-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 3rem; }
.bsc-final-cta h2 { color: var(--bsc-white); max-width: 720px; margin: 0 0 1rem; }
.bsc-final-cta p { color: rgba(255,255,255,.78); margin: 0; font-size: 1.02rem; }

.bsc-site-footer { background: #04101d; color: rgba(255,255,255,.72); padding: 5.4rem 0 2.2rem; }
.bsc-footer-logo { padding: 0; border-radius: 0; box-shadow: none; opacity: .94; }
.bsc-footer-logo img { width: 160px; display: block; }
.bsc-footer-heading { color: var(--bsc-white); font-size: .95rem; margin-bottom: 1.15rem; }
.bsc-footer-copy { color: rgba(255,255,255,.72); max-width: 360px; }
.bsc-footer-links { list-style: none; padding: 0; margin: 0; }
.bsc-footer-links li { margin-bottom: .6rem; }
.bsc-footer-links a { color: rgba(255,255,255,.72); text-decoration: none; }
.bsc-footer-links a:hover { color: var(--bsc-white); }
.bsc-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); margin-top: 3.2rem; padding-top: 1.55rem; display: flex; justify-content: space-between; gap: 1rem; font-size: .86rem; }
.bsc-footer-bottom p { margin: 0; }
.bsc-footer-bottom a { color: rgba(255,255,255,.72); text-decoration: none; }

.bsc-page-hero { padding: clamp(5rem, 9vw, 8rem) 0; background: linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.92) 43%, rgba(255,255,255,.52) 74%, rgba(255,255,255,.22) 100%), var(--bsc-hero-image, url('assets/img/bsc-hero-default-page.jpg')) 72% center / cover no-repeat; }
.bsc-content-section { padding: 5rem 0; }
.bsc-content-section .entry-content { max-width: 900px; }
.bsc-content-section .entry-content h2,
.bsc-content-section .entry-content h3 { margin-top: 2rem; }


.bsc-service-card .bsc-icon,
.bsc-system-feature .bsc-icon {
	width: 38px;
	height: 38px;
}
.bsc-capability-card .bsc-icon {
	width: 36px;
	height: 36px;
}
.bsc-positioning-section .row.g-5 {
	--bs-gutter-x: 5.5rem;
}
.bsc-systems-section .row.g-5 {
	--bs-gutter-x: 5.5rem;
}
.bsc-process-step {
	padding-top: .15rem;
}
.bsc-process-step:hover span {
	background: var(--bsc-blue);
	color: var(--bsc-white);
	box-shadow: 0 18px 42px rgba(76,122,189,.22);
}
.bsc-final-cta .bsc-btn-primary {
	padding-left: 1.8rem;
	padding-right: 1.8rem;
}

@media (max-width: 1199px) {
	.nav-link { padding-inline: .72rem !important; }
	.bsc-navbar-brand { max-width: 162px; }
	.bsc-site-logo { width: 162px; }
}

@media (max-width: 991px) {
	.bsc-header-container { min-height: 78px; }
	.bsc-navbar-brand { max-width: 158px; }
	.bsc-site-logo { width: 158px; }
	.navbar-collapse { padding: 1rem 0 1.25rem; }
	.bsc-nav-cta .nav-link { margin-left: 0; margin-top: .5rem; display: inline-block; }
	.bsc-hero { min-height: auto; background-position: 64% center; }
	.bsc-hero-row { min-height: 660px; padding-top: 4.4rem; padding-bottom: 5.4rem; }
	.bsc-hero-capabilities { position: relative; }
	.bsc-capability-card { border-top: 1px solid rgba(255,255,255,.12); }
	.bsc-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
	.bsc-process-step::after { display: none; }
	.bsc-final-cta-inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 575px) {
	h1 { font-size: clamp(3.15rem, 15vw, 4.65rem); }
	h2 { font-size: clamp(2.35rem, 13vw, 3.6rem); }
	.bsc-hero { background-position: 60% center; background-image: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 52%, rgba(255,255,255,.44) 100%), var(--bsc-hero-image); }
	.bsc-hero-row { min-height: 650px; padding-top: 3.25rem; padding-bottom: 4.5rem; }
	.bsc-button-row .btn { width: 100%; }
	.bsc-capability-card { min-height: 128px; padding: 1.2rem .85rem; }
	.bsc-section { padding: 4.4rem 0; }
	.bsc-process-grid { grid-template-columns: 1fr; }
	.bsc-footer-bottom { flex-direction: column; }
}

/* Interior page systems */
.bsc-page-main { background: #fff; }
.bsc-interior-hero {
	position: relative;
	padding: clamp(5rem, 8vw, 8rem) 0;
	overflow: hidden;
}
.bsc-interior-hero-light {
	background:
		linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.93) 39%, rgba(255,255,255,.42) 70%, rgba(255,255,255,.12) 100%),
		var(--bsc-hero-image) 72% center / cover no-repeat;
}
.bsc-interior-hero-dark {
	background:
		radial-gradient(circle at 70% 34%, rgba(76,122,189,.35), transparent 34%),
		linear-gradient(90deg, rgba(4,16,29,.98) 0%, rgba(5,18,31,.92) 44%, rgba(5,18,31,.62) 100%),
		var(--bsc-hero-image, url('assets/img/bsc-hero-systems.jpg')) center / cover no-repeat;
	color: rgba(255,255,255,.78);
}
.bsc-interior-hero-dark h1,
.bsc-interior-hero-dark h2 { color: var(--bsc-white); }
.bsc-interior-hero-dark .bsc-eyebrow { color: #8ab2ee; }
.bsc-page-lead { max-width: 760px; font-size: 1.12rem; line-height: 1.75; color: #243449; }
.bsc-interior-hero-dark .bsc-page-lead { color: rgba(255,255,255,.76); }
.bsc-hero-note-card,
.bsc-standards-panel,
.bsc-contact-form-shell,
.bsc-case-sidebar {
	background: rgba(255,255,255,.92);
	border: 1px solid var(--bsc-line);
	box-shadow: 0 28px 80px rgba(7,17,31,.1);
	padding: clamp(1.8rem, 3vw, 2.6rem);
}
.bsc-hero-note-card h2 { font-size: clamp(1.6rem, 2.2vw, 2.25rem); }
.bsc-deep-card {
	display: block;
	height: 100%;
	padding: 2.2rem;
	background: #fff;
	border: 1px solid var(--bsc-line);
	box-shadow: 0 24px 70px rgba(7,17,31,.055);
	color: var(--bsc-text);
	text-decoration: none;
}
.bsc-deep-card:hover { transform: translateY(-7px); border-color: rgba(76,122,189,.45); box-shadow: 0 34px 90px rgba(7,17,31,.13); color: var(--bsc-text); }
.bsc-deep-card h2 { font-size: 1.55rem; margin: 1.1rem 0 .75rem; }
.bsc-deep-card p { color: var(--bsc-muted); font-size: .94rem; }
.bsc-deep-card ul { padding-left: 1.1rem; margin: 1.2rem 0; color: var(--bsc-muted); font-size: .92rem; }
.bsc-deep-card li { margin-bottom: .38rem; }
.bsc-deep-card span { font-size: .73rem; font-weight: 900; letter-spacing: .085em; text-transform: uppercase; }
.bsc-deep-card span::after { content: ' →'; }
.bsc-page-band {
	position: relative;
	padding: clamp(4rem, 6vw, 6.2rem) 0;
	background:
		linear-gradient(90deg, rgba(4,16,29,.97), rgba(6,19,33,.83)),
		var(--bsc-wide-image) center / cover no-repeat;
	color: rgba(255,255,255,.78);
}
.bsc-page-band h2 { color: #fff; max-width: 760px; }
.bsc-page-band p { max-width: 720px; }
.bsc-systems-hero { min-height: 590px; display: flex; align-items: center; }
.bsc-system-metrics { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.bsc-system-metrics span { border: 1px solid rgba(255,255,255,.15); padding: .9rem 1rem; min-width: 150px; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.bsc-system-metrics strong { color: #fff; font-family: var(--headingfont); font-size: 1.1rem; letter-spacing: 0; }
.bsc-system-diagram { position: relative; width: min(420px, 90vw); aspect-ratio: 1; margin: 0 auto; }
.bsc-system-diagram::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(76,122,189,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(76,122,189,.22) 1px, transparent 1px); background-size: 36px 36px; transform: perspective(650px) rotateX(58deg) rotateZ(45deg); opacity: .55; }
.bsc-diagram-layer { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(126,171,236,.75); background: rgba(76,122,189,.08); transform: translate(-50%, -50%) rotateX(62deg) rotateZ(45deg); box-shadow: 0 0 38px rgba(76,122,189,.18); }
.bsc-diagram-layer.layer-1 { width: 290px; height: 290px; }
.bsc-diagram-layer.layer-2 { width: 210px; height: 210px; top: 45%; }
.bsc-diagram-layer.layer-3 { width: 128px; height: 128px; top: 39%; background: rgba(76,122,189,.3); }
.bsc-diagram-core { position: absolute; width: 86px; height: 86px; left: 50%; top: 41%; transform: translate(-50%, -50%) rotateX(62deg) rotateZ(45deg); background: var(--bsc-blue); box-shadow: 0 0 60px rgba(76,122,189,.5); }
.bsc-flow-section { background: #fff; }
.bsc-flow-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.25rem; }
.bsc-flow-step { position: relative; }
.bsc-flow-step:not(:last-child)::after { content: ''; position: absolute; top: 24px; left: 58px; right: -1rem; border-top: 1px solid rgba(76,122,189,.32); }
.bsc-flow-step span { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border: 1px solid rgba(76,122,189,.5); border-radius: 50%; color: var(--bsc-blue); background: #fff; font-weight: 900; position: relative; z-index: 2; }
.bsc-flow-step h2 { font-size: 1.1rem; margin: 1rem 0 .55rem; }
.bsc-flow-step p { font-size: .9rem; color: var(--bsc-muted); }
.bsc-work-filter-row { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 2rem; }
.bsc-work-filter { display: inline-flex; appearance: none; background: #fff; padding: .6rem 1rem; border: 1px solid var(--bsc-line); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: var(--bsc-blue); cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.bsc-work-filter:hover { transform: translateY(-1px); border-color: rgba(76,122,189,.45); }
.bsc-work-filter.is-active { background: var(--bsc-blue); color: #fff; border-color: var(--bsc-blue); }
.bsc-work-item { transition: opacity .22s ease, transform .22s ease; }
.bsc-work-item.is-hidden { display: none !important; }
.bsc-contact-placeholder h2 { margin-bottom: 1rem; }
.bsc-contact-placeholder p:not(.bsc-eyebrow) { color: var(--bsc-muted); margin-bottom: 1.5rem; }
.bsc-contact-form-shell iframe { width: 100%; max-width: 100%; border: 0; }
.bsc-standards-panel { background: linear-gradient(135deg, #061321, #0c2035); color: rgba(255,255,255,.74); border-color: rgba(255,255,255,.12); }
.bsc-standards-panel h2 { color: #fff; font-size: 1.25rem; }
.bsc-standards-panel p { margin-bottom: 0; font-size: .9rem; }
.bsc-rich-copy { font-size: 1.08rem; line-height: 1.85; }
.bsc-rich-copy h2,
.bsc-rich-copy h3 { margin-top: 2rem; }
.bsc-contact-page { min-height: calc(100vh - 96px); padding: clamp(5rem, 8vw, 8rem) 0; background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.84) 48%, rgba(255,255,255,.38) 100%), var(--bsc-wide-image) center / cover no-repeat; }
.bsc-contact-details { margin-top: 2rem; display: grid; gap: .7rem; }
.bsc-contact-details p { margin: 0; }
.bsc-contact-details a { text-decoration: none; }
.bsc-contact-form-shell { background: rgba(255,255,255,.96); }
.bsc-contact-form-shell iframe { width: 100%; min-height: 620px; border: 0; }
.bsc-contact-fallback h2 { font-size: 2rem; }
.bsc-case-hero { padding: clamp(4.5rem, 7vw, 7rem) 0; background: linear-gradient(180deg, #fff 0%, #f7f9fc 100%); }
.bsc-back-link { display: inline-block; margin-bottom: 2rem; font-size: .75rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.bsc-back-link::before { content: '← '; }
.bsc-case-image { min-height: 430px; background: linear-gradient(180deg, rgba(6,19,33,.05), rgba(6,19,33,.42)), var(--bsc-case-image) center / cover no-repeat; border: 1px solid var(--bsc-line); box-shadow: 0 34px 90px rgba(7,17,31,.14); }
.bsc-case-sidebar { position: sticky; top: 128px; }
.bsc-case-sidebar h2 { font-size: 1.75rem; }

@media (max-width: 991px) {
	.bsc-flow-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
	.bsc-flow-step::after { display: none; }
	.bsc-systems-hero { min-height: auto; }
}
@media (max-width: 575px) {
	.bsc-flow-grid { grid-template-columns: 1fr; }
	.bsc-interior-hero { padding: 4.25rem 0; }
	.bsc-system-metrics span { width: 100%; }
}


/* Blue Summit v9 polish */
.bsc-insight-grid { align-items: stretch; }
.bsc-insight-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 2.25rem;
	background: #fff;
	border: 1px solid var(--bsc-line);
	box-shadow: 0 28px 82px rgba(7,17,31,.06);
	text-decoration: none;
	color: var(--bsc-text);
}
.bsc-insight-card:hover { transform: translateY(-6px); box-shadow: 0 36px 96px rgba(7,17,31,.12); color: var(--bsc-text); }
.bsc-insight-card h2 { font-size: clamp(1.9rem, 2.7vw, 3.2rem); margin-bottom: 1rem; }
.bsc-insight-card p { color: var(--bsc-muted); margin-bottom: 1.6rem; }
.bsc-insight-card .bsc-text-link { margin-top: auto; }
.bsc-single-article { max-width: 860px; margin: 0 auto; }
.bsc-single-article .entry-content { max-width: 760px; }
.bsc-single-article .entry-content h1 { display: none; }
.bsc-single-article .entry-content h2 { font-size: clamp(2.2rem, 4vw, 4.5rem); margin: 0 0 1.4rem; }
.bsc-single-article .entry-content p { font-size: 1.08rem; line-height: 1.9; color: #263548; }
.bsc-single-article .entry-content ul { font-size: 1.05rem; line-height: 1.85; }
.bsc-contact-page-v2 {
	position: relative;
	padding: clamp(5.5rem, 8.5vw, 8.8rem) 0;
	background:
		linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 46%, rgba(255,255,255,.54) 100%),
		var(--bsc-wide-image) center / cover no-repeat;
	overflow: hidden;
}
.bsc-contact-page-v2::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 15% 24%, rgba(255,255,255,.74), transparent 34%), radial-gradient(circle at 88% 12%, rgba(76,122,189,.14), transparent 28%);
	pointer-events: none;
}
.bsc-contact-page-v2 .container { position: relative; z-index: 2; }
.bsc-contact-intro h1 { max-width: 640px; }
.bsc-contact-details-v2 { display: grid; gap: 1.3rem; margin-top: 2.25rem; max-width: 420px; }
.bsc-contact-detail-card { padding: 1.15rem 0; border-bottom: 1px solid rgba(7,17,31,.12); }
.bsc-contact-detail-card strong { display: block; font-family: var(--headingfont); color: var(--bsc-ink); text-transform: uppercase; letter-spacing: -.01em; font-size: 1.08rem; margin-bottom: .2rem; }
.bsc-contact-detail-card a { text-decoration: none; font-weight: 700; color: var(--bsc-blue); }
.bsc-contact-form-shell-v2 {
	background: rgba(255,255,255,.96);
	border: 1px solid rgba(220,228,239,.92);
	box-shadow: 0 36px 100px rgba(7,17,31,.13);
	padding: clamp(2rem, 4vw, 3.25rem);
}
.bsc-contact-form-shell-v2 h2 { font-size: clamp(2.2rem, 4.8vw, 5.4rem); margin-bottom: 1rem; }
.bsc-contact-form-shell-v2 p { color: var(--bsc-muted); }
.bsc-contact-form-shell-v2 iframe { width: 100%; min-height: 640px; border: 0; }
.bsc-contact-fallback-actions { margin-top: 1.65rem; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.bsc-contact-fallback-actions a:not(.btn) { font-weight: 800; text-decoration: none; }
.bsc-work-card { min-height: 100%; }
.bsc-work-card-body span { display: block; min-height: 1.8em; }
.bsc-work-card-body h2 { font-size: clamp(2rem, 3.4vw, 4rem); }
.bsc-work-card-body p { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.bsc-work-filter[aria-pressed="true"] { background: var(--bsc-blue); color: #fff; border-color: var(--bsc-blue); }
@media (max-width: 991px) {
	.bsc-contact-form-shell-v2 { margin-top: 2rem; }
	.bsc-contact-intro h1 { max-width: none; }
}
@media (max-width: 575px) {
	.bsc-contact-page-v2 { padding-top: 4rem; }
	.bsc-contact-form-shell-v2 { padding: 1.5rem; }
	.bsc-single-article .entry-content p { font-size: 1rem; }
}


/* Blue Summit v10 credibility and cleanup */
.bsc-work-grid { align-items: stretch; }
.bsc-work-item { display: flex; }
.bsc-work-item .bsc-work-card { width: 100%; display: flex; flex-direction: column; }
.bsc-work-card-image { min-height: 300px; }
.bsc-work-card-body { display: flex; flex-direction: column; flex: 1; }
.bsc-work-card-body h2 { min-height: 2.05em; }
.bsc-work-card-body p { margin-top: auto; }
.bsc-work-empty { margin-top: 2rem; padding: 1.25rem 1.5rem; border: 1px solid var(--bsc-line); background: #fff; color: var(--bsc-muted); }
.bsc-contact-form-shell-v2 .bsc-eyebrow { margin-bottom: 1rem; }
.bsc-contact-form-shell-v2 .bsc-contact-fallback-actions .btn { background: var(--bsc-blue); border-color: var(--bsc-blue); }
.bsc-case-sidebar { background: #fff; border: 1px solid var(--bsc-line); padding: 2rem; box-shadow: 0 28px 82px rgba(7,17,31,.07); }
.bsc-rich-copy h2 { font-size: clamp(2.1rem, 3.4vw, 3.6rem); margin-top: 3rem; margin-bottom: 1rem; }
.bsc-rich-copy ul { padding-left: 1.25rem; }
.bsc-rich-copy li { margin-bottom: .6rem; }
@media (max-width: 767px) {
  .bsc-work-card-image { min-height: 230px; }
  .bsc-work-card-body h2 { min-height: 0; }
}


/* Blue Summit v13 full refinement pass */
.bsc-work-item.is-hidden { display: none !important; }
.bsc-site-header .navbar-collapse { transition: background-color .2s ease, box-shadow .2s ease; }
.bsc-page-hero + .bsc-content-section .entry-content > h2:first-child,
.bsc-rich-copy > h2:first-child,
.bsc-single-article .entry-content > h2:first-child { margin-top: 0; }
.bsc-content-section .entry-content > h2:first-child { display: none; }
.bsc-case-sidebar p strong { color: var(--bsc-ink); }
.bsc-work-card,
.bsc-insight-card,
.bsc-deep-card,
.bsc-system-feature { will-change: transform; }
.bsc-work-card:focus-visible,
.bsc-insight-card:focus-visible,
.bsc-deep-card:focus-visible,
.bsc-btn:focus-visible,
.bsc-work-filter:focus-visible,
.nav-link:focus-visible { outline: 3px solid rgba(76,122,189,.45); outline-offset: 4px; }
.bsc-single-article .entry-content a,
.bsc-rich-copy a { color: var(--bsc-blue); font-weight: 800; text-decoration-thickness: .1em; text-underline-offset: .18em; }
.bsc-rich-copy p:first-of-type { font-size: 1.15rem; color: #1f3045; }
.bsc-contact-details-v2 { margin-bottom: 1rem; }
.bsc-contact-detail-card:last-child { border-bottom: 0; }
@media (max-width: 991px) {
  .bsc-site-header .navbar-collapse { margin-top: .85rem; padding: 1rem; background: rgba(255,255,255,.97); border: 1px solid rgba(220,228,239,.9); box-shadow: 0 18px 50px rgba(7,17,31,.08); }
  .navbar-nav { align-items: stretch !important; }
  .bsc-nav-cta { margin-left: 0; margin-top: .6rem; }
  .bsc-nav-cta .nav-link { display: inline-flex; justify-content: center; width: 100%; }
  .bsc-interior-hero, .bsc-page-hero, .bsc-case-hero { text-align: left; }
  .bsc-page-lead { max-width: none; }
  .bsc-case-sidebar { position: static; }
}
@media (max-width: 767px) {
  .bsc-section { padding: 4rem 0; }
  .bsc-page-hero { padding: 4.5rem 0 3.5rem; }
  .bsc-page-hero h1,
  .bsc-interior-hero h1,
  .bsc-hero-title { font-size: clamp(3.2rem, 16vw, 5.8rem); line-height: .92; }
  .bsc-page-lead, .bsc-hero-copy { font-size: 1.02rem; }
  .bsc-hero-actions, .bsc-contact-fallback-actions { align-items: stretch; flex-direction: column; }
  .bsc-hero-actions .btn, .bsc-contact-fallback-actions .btn { width: 100%; justify-content: center; }
  .bsc-footer-bottom { gap: .75rem; flex-direction: column; align-items: flex-start; }
  .bsc-system-metrics { grid-template-columns: 1fr; }
  .bsc-final-cta-inner { align-items: flex-start; flex-direction: column; }
  .bsc-final-cta-inner .btn { width: 100%; justify-content: center; }
  .bsc-insight-card h2, .bsc-work-card-body h2 { font-size: clamp(1.9rem, 10vw, 3.4rem); min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
}


/* v14 production pass */
.bsc-contact-form-shell-v2 iframe[src*="msgsndr.com"] {
  display: block !important;
  width: 100% !important;
  min-height: 650px !important;
  border: 0 !important;
  background: transparent;
}
.bsc-contact-form-shell-v2 script { display: none !important; }
.bsc-work-grid { row-gap: 2rem; }
.bsc-work-card-body h2 { letter-spacing: -.035em; }
.bsc-work-card-body p { min-height: 5.8em; }
.bsc-work-empty[hidden] { display:none !important; }
.bsc-work-empty:not([hidden]) { display:block; }
.bsc-footer-links a[href*="white-label"] { display:none; }
@media (max-width: 767px) {
  .bsc-contact-form-shell-v2 iframe[src*="msgsndr.com"] { min-height: 760px !important; }
  .bsc-work-card-body p { min-height: 0; }
}


/* Blue Summit v16 pre-screenshot QA polish */
.bsc-site-header .navbar { padding-top: 0; padding-bottom: 0; }
.bsc-page-main .bsc-content-section .entry-content > h2:first-child,
.bsc-page-main .bsc-content-section .entry-content > h3:first-child {
  margin-top: 0;
}
.bsc-contact-form-shell-v2 iframe[src*="msgsndr.com"] {
  overflow: hidden;
}
.bsc-contact-form-shell-v2 .bsc-contact-fallback-actions .btn[href^="tel:"] {
  display: none !important;
}
.bsc-work-filter-row {
  align-items: center;
}
.bsc-work-filter[aria-pressed="true"],
.bsc-work-filter.is-active {
  background: var(--bsc-blue);
  color: #fff;
  border-color: var(--bsc-blue);
}
.bsc-work-item.is-hidden {
  display: none !important;
}
.bsc-work-card:focus-visible,
.bsc-insight-card:focus-visible,
.bsc-deep-card:focus-visible {
  outline: 3px solid rgba(76,122,189,.42);
  outline-offset: 5px;
}
.bsc-rich-copy > h1:first-child,
.bsc-content-section .entry-content > h1:first-child,
.bsc-single-article .entry-content > h1:first-child {
  display: none !important;
}
@media (max-width: 991px) {
  .bsc-header-container { min-height: 74px; }
  .bsc-site-logo { width: 142px; max-height: 62px; }
  .bsc-navbar-brand { max-width: 142px; }
  .bsc-site-header .navbar-collapse {
    margin-top: .7rem;
  }
  .bsc-work-filter-row {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: .45rem;
    scrollbar-width: thin;
  }
  .bsc-work-filter {
    flex: 0 0 auto;
  }
  .bsc-contact-page-v2 .row.g-5 { --bs-gutter-y: 2rem; }
}
@media (max-width: 767px) {
  body { font-size: 15.5px; }
  .bsc-header-container { min-height: 70px; }
  .bsc-site-logo { width: 132px; }
  .bsc-interior-hero-light {
    background-position: 62% center;
  }
  .bsc-contact-page-v2 {
    background-position: 60% center;
  }
  .bsc-contact-form-shell-v2 iframe[src*="msgsndr.com"] {
    min-height: 820px !important;
  }
  .bsc-work-filter-row {
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .bsc-page-band,
  .bsc-final-cta { text-align: left; }
  .bsc-footer-logo img { width: 138px; }
}


/* Blue Summit v17 service depth and production polish */
.bsc-content-section .entry-content {
  max-width: 1120px;
}
.bsc-content-section .entry-content > p,
.bsc-content-section .entry-content > ul,
.bsc-content-section .entry-content > ol {
  max-width: 860px;
}
.bsc-seeded-section {
  margin-top: clamp(3.25rem, 6vw, 5.5rem);
}
.bsc-seeded-section-head {
  max-width: 780px;
  margin-bottom: 2rem;
}
.bsc-seeded-section-head h2,
.bsc-seeded-process h2,
.bsc-seeded-faq h2,
.bsc-seeded-cta h2 {
  font-size: clamp(2.35rem, 4.4vw, 4.85rem);
  margin-bottom: 1rem;
}
.bsc-seeded-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.bsc-seeded-card,
.bsc-seeded-process article,
.bsc-seeded-faq article {
  background: #fff;
  border: 1px solid var(--bsc-line);
  box-shadow: 0 24px 70px rgba(7,17,31,.05);
  padding: 1.6rem;
}
.bsc-seeded-card h3,
.bsc-seeded-process h3,
.bsc-seeded-faq h3 {
  font-size: 1.12rem;
  margin-bottom: .7rem;
  letter-spacing: -.015em;
}
.bsc-seeded-card p,
.bsc-seeded-process p,
.bsc-seeded-faq p {
  color: var(--bsc-muted);
  font-size: .95rem;
  margin-bottom: 0;
}
.bsc-seeded-process {
  padding: clamp(3rem, 5vw, 4.5rem) 0;
  border-top: 1px solid var(--bsc-line);
  border-bottom: 1px solid var(--bsc-line);
}
.bsc-seeded-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.bsc-seeded-process article span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid rgba(76,122,189,.35);
  border-radius: 999px;
  color: var(--bsc-blue);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .08em;
  margin-bottom: 1rem;
}
.bsc-seeded-faq-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.bsc-seeded-cta {
  background: linear-gradient(135deg, #061321, #0d2035);
  color: rgba(255,255,255,.78);
  padding: clamp(2.25rem, 5vw, 4rem);
  position: relative;
  overflow: hidden;
}
.bsc-seeded-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(76,122,189,.32), transparent 35%);
  pointer-events: none;
}
.bsc-seeded-cta > * {
  position: relative;
  z-index: 1;
}
.bsc-seeded-cta h2 {
  color: #fff;
  max-width: 740px;
}
.bsc-seeded-cta p {
  max-width: 680px !important;
  color: rgba(255,255,255,.78);
}
.bsc-contact-form-shell-v2 {
  overflow: hidden;
}
.bsc-contact-form-shell-v2 iframe[src*="msgsndr.com"] {
  background: #fff;
}
.bsc-work-card-body h2 {
  overflow-wrap: normal;
  word-break: normal;
}
.bsc-work-empty {
  max-width: 760px;
}
@media (max-width: 1199px) {
  .bsc-seeded-grid,
  .bsc-seeded-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .bsc-content-section .entry-content {
    max-width: none;
  }
  .bsc-seeded-grid,
  .bsc-seeded-process-grid,
  .bsc-seeded-faq-list {
    grid-template-columns: 1fr;
  }
  .bsc-seeded-card,
  .bsc-seeded-process article,
  .bsc-seeded-faq article,
  .bsc-seeded-cta {
    padding: 1.35rem;
  }
}


/* Blue Summit v21 mobile QA polish */
html {
  -webkit-text-size-adjust: 100%;
}
body {
  overflow-x: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.bsc-work-card,
.bsc-insight-card,
.bsc-deep-card,
.bsc-system-feature {
  will-change: auto;
}
.bsc-site-header,
.bsc-hero,
.bsc-interior-hero,
.bsc-page-hero,
.bsc-case-hero,
.bsc-contact-page-v2,
.bsc-final-cta,
.bsc-page-band {
  transform: none;
  backface-visibility: visible;
}
.bsc-single-article .entry-content,
.bsc-rich-copy,
.bsc-content-section,
.bsc-service-card,
.bsc-work-card,
.bsc-insight-card,
.bsc-footer {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.bsc-page-hero,
.bsc-case-hero {
  background-position: 68% center;
}
.bsc-case-hero {
  position: relative;
  padding: clamp(5rem, 8vw, 7.5rem) 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.92) 42%, rgba(255,255,255,.5) 72%, rgba(255,255,255,.18) 100%),
    var(--bsc-hero-image, url('assets/img/bsc-hero-default-work.jpg')) 72% center / cover no-repeat;
}
.bsc-case-hero .container {
  position: relative;
  z-index: 2;
}
.bsc-case-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 13% 40%, rgba(255,255,255,.62), transparent 35%);
  pointer-events: none;
}
.bsc-case-hero h1 {
  max-width: 980px;
  text-wrap: balance;
}
.bsc-page-hero h1,
.bsc-interior-hero h1,
.bsc-case-hero h1,
.bsc-hero h1 {
  overflow-wrap: normal;
  word-break: normal;
}
.bsc-single-article .entry-content {
  line-height: 1.85;
}
.bsc-single-article .entry-content ol,
.bsc-single-article .entry-content ul {
  padding-left: 1.25rem;
}
.bsc-single-article .entry-content li {
  margin-bottom: .55rem;
}
.bsc-site-footer,
.bsc-footer {
  overflow: hidden;
}
.bsc-footer .bsc-button-row,
.bsc-site-footer .bsc-button-row {
  margin-top: 1.25rem;
}
.bsc-contact-form-shell-v2 iframe[src*="msgsndr.com"] {
  min-height: 675px !important;
}
@media (max-width: 991px) {
  .bsc-hero-row {
    min-height: 600px;
    padding-top: 4rem;
    padding-bottom: 4.5rem;
  }
  .bsc-interior-hero {
    padding: 4.75rem 0;
  }
  .bsc-page-hero,
  .bsc-case-hero {
    padding: 4.75rem 0 4rem;
  }
  .bsc-page-band,
  .bsc-final-cta {
    padding: 4rem 0;
  }
  .bsc-system-feature {
    min-height: 0;
  }
  .bsc-work-card-body p,
  .bsc-insight-card p {
    -webkit-line-clamp: 3;
  }
}
@media (max-width: 767px) {
  body {
    font-size: 16px;
    line-height: 1.68;
  }
  h1, h2, h3, h4, h5, h6,
  .h1, .h2, .h3, .h4, .h5, .h6 {
    letter-spacing: -.025em;
  }
  h1,
  .bsc-page-hero h1,
  .bsc-interior-hero h1,
  .bsc-case-hero h1,
  .bsc-hero h1,
  .bsc-hero-title {
    font-size: clamp(3rem, 14.5vw, 4.85rem);
    line-height: .94;
  }
  h2,
  .bsc-seeded-section-head h2,
  .bsc-seeded-process h2,
  .bsc-seeded-faq h2,
  .bsc-seeded-cta h2 {
    font-size: clamp(2.35rem, 11.5vw, 3.85rem);
    line-height: .96;
  }
  h3 {
    line-height: 1.04;
  }
  .bsc-site-header {
    position: sticky;
    top: 0;
  }
  .bsc-header-container {
    min-height: 68px;
  }
  .bsc-navbar-brand,
  .bsc-site-logo {
    width: 124px;
    max-width: 124px;
  }
  body.logged-in.admin-bar .bsc-site-header {
    top: 46px;
  }
  .navbar-toggler {
    padding: .35rem .15rem;
  }
  .navbar-toggler-icon {
    width: 1.45em;
    height: 1.45em;
  }
  .nav-link {
    font-size: .76rem;
    padding: .72rem .85rem !important;
  }
  .bsc-hero {
    background-position: 64% center;
  }
  .bsc-hero-row {
    min-height: 560px;
    padding-top: 3.15rem;
    padding-bottom: 3.65rem;
  }
  .bsc-hero::after {
    font-size: 7rem;
    top: 18%;
  }
  .bsc-hero-content::before {
    inset: -1.15rem -1rem -1.15rem -1rem;
    filter: blur(4px);
  }
  .bsc-hero-copy,
  .bsc-page-lead {
    font-size: 1rem;
    line-height: 1.72;
  }
  .bsc-button-row {
    gap: .75rem;
    margin-top: 1.55rem;
  }
  .bsc-btn {
    padding: .88rem 1.08rem;
    font-size: .72rem;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .bsc-capability-card {
    min-height: 104px;
    padding: 1rem .85rem;
  }
  .bsc-interior-hero,
  .bsc-page-hero,
  .bsc-case-hero {
    padding: 3.7rem 0 3.2rem;
  }
  .bsc-interior-hero-light,
  .bsc-page-hero,
  .bsc-case-hero {
    background-position: 63% center;
    background-image:
      linear-gradient(90deg, rgba(255,255,255,.985) 0%, rgba(255,255,255,.91) 58%, rgba(255,255,255,.52) 100%),
      var(--bsc-hero-image);
  }
  .bsc-interior-hero-dark {
    background-position: 57% center;
  }
  .bsc-systems-hero {
    min-height: auto;
  }
  .bsc-systems-hero .bsc-system-metrics {
    margin-top: 1.45rem;
  }
  .bsc-system-metric {
    padding: .9rem 1rem;
  }
  .bsc-section,
  .bsc-content-section,
  .bsc-seeded-process {
    padding-top: 3.65rem;
    padding-bottom: 3.65rem;
  }
  .bsc-service-card,
  .bsc-deep-card,
  .bsc-system-feature,
  .bsc-insight-card,
  .bsc-work-card-body,
  .bsc-seeded-card,
  .bsc-seeded-process article,
  .bsc-seeded-faq article {
    padding: 1.45rem;
  }
  .bsc-service-card p,
  .bsc-deep-card p,
  .bsc-system-feature p,
  .bsc-insight-card p,
  .bsc-work-card-body p,
  .bsc-rich-copy p,
  .bsc-content-section p,
  .bsc-single-article .entry-content p,
  .bsc-single-article .entry-content li {
    font-size: 1rem;
    line-height: 1.72;
    letter-spacing: 0;
  }
  .bsc-work-card-image {
    min-height: 215px;
  }
  .bsc-work-card-body span,
  .bsc-eyebrow {
    font-size: .72rem;
    letter-spacing: .14em;
  }
  .bsc-work-filter-row {
    gap: .55rem;
  }
  .bsc-work-filter {
    padding: .68rem .85rem;
    font-size: .7rem;
    min-height: 42px;
  }
  .bsc-single-article {
    max-width: none;
  }
  .bsc-single-article .entry-content {
    max-width: none;
  }
  .bsc-single-article .entry-content ol,
  .bsc-single-article .entry-content ul {
    padding-left: 1.15rem;
  }
  .bsc-contact-page-v2 {
    padding: 3.65rem 0 4rem;
    background-position: 58% center;
  }
  .bsc-contact-form-shell-v2 {
    padding: 1.25rem;
    box-shadow: 0 22px 60px rgba(7,17,31,.12);
  }
  .bsc-contact-form-shell-v2 iframe[src*="msgsndr.com"] {
    min-height: 875px !important;
  }
  .bsc-footer,
  .bsc-site-footer {
    padding-top: 3.25rem;
  }
  .bsc-footer-logo img {
    width: 122px;
  }
  .bsc-footer p,
  .bsc-footer li,
  .bsc-footer a,
  .bsc-site-footer p,
  .bsc-site-footer li,
  .bsc-site-footer a {
    font-size: .9rem;
    line-height: 1.55;
  }
  .bsc-footer h2,
  .bsc-footer h3,
  .bsc-site-footer h2,
  .bsc-site-footer h3 {
    margin-bottom: .7rem;
  }
  .bsc-footer ul,
  .bsc-site-footer ul {
    margin-bottom: 1.25rem;
  }
}
@media (max-width: 390px) {
  h1,
  .bsc-page-hero h1,
  .bsc-interior-hero h1,
  .bsc-case-hero h1,
  .bsc-hero h1,
  .bsc-hero-title {
    font-size: clamp(2.72rem, 13.8vw, 4.2rem);
  }
  h2,
  .bsc-seeded-section-head h2,
  .bsc-seeded-process h2,
  .bsc-seeded-faq h2,
  .bsc-seeded-cta h2 {
    font-size: clamp(2.08rem, 10.7vw, 3.2rem);
  }
  .bsc-interior-hero,
  .bsc-page-hero,
  .bsc-case-hero {
    padding: 3.25rem 0 2.85rem;
  }
  .bsc-service-card,
  .bsc-deep-card,
  .bsc-system-feature,
  .bsc-insight-card,
  .bsc-work-card-body,
  .bsc-seeded-card,
  .bsc-seeded-process article,
  .bsc-seeded-faq article {
    padding: 1.25rem;
  }
}

/* Blue Summit v23 Selected Work image handling */
.bsc-work-card-image {
  position: relative;
  min-height: 278px;
  background: #f4f7fb;
  overflow: hidden;
}
.bsc-work-card-img {
  display: block;
  width: 100%;
  height: 278px;
  object-fit: cover;
  object-position: top center;
  transition: transform .35s ease, filter .35s ease;
}
.bsc-work-card:hover .bsc-work-card-img {
  transform: scale(1.035);
  filter: saturate(1.06) contrast(1.03);
}
.bsc-work-card-image-screenshot .bsc-work-card-img {
  object-fit: cover;
  object-position: top center;
}
.bsc-work-card-fallback {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6,19,33,.02), rgba(6,19,33,.5)), var(--bsc-wide-image) center / cover no-repeat;
}
.bsc-case-image {
  min-height: 0;
  background: #f4f7fb;
  border: 1px solid var(--bsc-line);
  box-shadow: 0 34px 90px rgba(7,17,31,.14);
  overflow: hidden;
}
.bsc-case-img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  object-position: top center;
}
.bsc-case-fallback {
  min-height: 430px;
  background: linear-gradient(180deg, rgba(6,19,33,.05), rgba(6,19,33,.42)), var(--bsc-case-image) center / cover no-repeat;
}
@media (max-width: 575px) {
  .bsc-work-card-image,
  .bsc-work-card-img {
    min-height: 215px;
    height: 215px;
  }
  .bsc-case-img {
    max-height: 360px;
  }
}

/* v24: Homepage Selected Work teaser cards are intentionally text-first. */
.bsc-home-work-card { min-height: 100%; }
.bsc-home-work-card .bsc-work-card-body { padding: clamp(1.75rem, 3vw, 2.5rem); min-height: 280px; justify-content: flex-start; }
.bsc-home-work-card .bsc-work-card-body h3 { font-size: clamp(1.35rem, 2.1vw, 2rem); line-height: .95; }
.bsc-home-work-card .bsc-work-card-body p { min-height: 0; -webkit-line-clamp: unset; overflow: visible; }
@media (max-width: 767.98px) {
  .bsc-home-work-card .bsc-work-card-body { min-height: 0; padding: 1.75rem; }
}
