/*
Theme Name: Granular
Text Domain: granular
Version: 1.0
Tested up to: 5.9.6
Description: Official Granular Group wordpress theme.
Tags: blog, one-column, custom-menu, featured-images, full-width-template, translation-ready
Author: Tihomir Arsic
Author URI: https://wordpress.org/
Theme URI: https://granulargroup.com/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned
with others.
*/

@font-face {
	font-family: 'Telegraf';
	src: url('fonts/PPTelegraf-Regular.eot');/* IE9 Compat Modes */
	src: url('fonts/PPTelegraf-Regular.eot?#iefix') format('embedded-opentype'),/* IE6-IE8 */
		 url('fonts/PPTelegraf-Regular.woff2') format('woff2'),/* Super Modern Browsers */
		 url('fonts/PPTelegraf-Regular.woff') format('woff'),/* Pretty Modern Browsers */
		 url('fonts/PPTelegraf-Regular.ttf')  format('truetype');/* Safari, Android, iOS */
}

@font-face {
	font-family: 'NeueMontreal';
	src: url('fonts/PPNeueMontreal-Regular.otf') format('embedded-opentype'),/* IE6-IE8 */
		 url('fonts/PPNeueMontreal-Regular.woff2') format('woff2'),/* Super Modern Browsers */
		 url('fonts/PPNeueMontreal-Regular.woff') format('woff'),/* Pretty Modern Browsers */
		 url('fonts/PPNeueMontreal-Regular.ttf')  format('truetype');/* Safari, Android, iOS */
}

@font-face {
	font-family: 'NeueMontreal SemiBold';
	font-weight: 500;
	font-display: swap;
	src: url('fonts/additional/PPNeueMontreal-Medium.otf') format('embedded-opentype'),/* IE6-IE8 */
		 url('fonts/additional/ppneuemontreal-medium.woff') format('woff');/* Pretty Modern Browsers */
}

* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

.clearfix::after {
	content: "";
	clear: both;
	display: table;
}

body {
	font-size: 24px;
	line-height: 34px;
	font-family: 'NeueMontreal', sans-serif;
	/*padding-top: 234px;*/
}

body > .container,
body > .our-clients {
	padding-top: 184px;
}

main {
	padding-top: 100px;
}

main > .container:first-child {
	padding-top: 40px;
}

body > .container-m {
	padding-top: 100px;
}

body > .container-s {
	padding: 50px 0;
}

b,
strong {
	-webkit-font-smoothing: antialiased;
	font-family: 'NeueMontreal SemiBold', sans-serif;
}

a {
	outline: none;
	color: inherit;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
}

h1,
h2 {
	font-size: 90px;
	font-weight: 400;
	line-height: 120px;
	font-family: 'Telegraf';
	margin-bottom: 45px;
}

h1 img,
h2 img {
	vertical-align: middle;
}

h3,
.blog-post-heading h1 {
	color: #013FFF;
	font-size: 60px;
	font-weight: 400;
	line-height: 68px;
	font-family: 'Telegraf';
	margin-bottom: 25px;
}

h3 a {
	color: #013FFF;
}

h4 {
	color: #013FFF;
	font-size: 24px;
	font-weight: 400;
	line-height: 34px;
}

h5 {
	font-size: 40px;
	font-weight: 400;
	line-height: 50px;
	font-family: 'Telegraf';
	margin-bottom: 40px;
}

p {
	margin-bottom: 25px;
}

ol {
	padding-left: 50px;
	margin-bottom: 25px;
}

ul {
	list-style: none;
}

ul li {
	padding-left: 64px;
	background: url('img/item.svg') no-repeat left center;
}

ul li:has(ul) {
	background: none;
}

.dual-column {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
}

.darkish li {
	background: url('img/item-white.svg') no-repeat left center;
}

::placeholder {
	color: #D4D3D3;
}


.container {
	width: 1224px;
	margin: 0 auto;
}

.row {
	overflow: hidden;
}

.half {
	width: 49%;
	float: left;
	margin-left: 2%;
}
.half:nth-child(2n+1) {
	margin-left: 0;
	clear: left;
}

.quarter {
	float: left;
	width: 23.53%;
	margin-left: 1.96%;
}
.quarter:nth-child(4n+1) {
	clear: left;
	margin-left: 0;
}

.three-quarters {
	float: left;
	width: 75%;
}

.third {
	width: 32%;
	float: left;
	margin-left: 2%;
}
.third:nth-child(3n+1) {
	margin-left: 0;
}
.two-thirds {
	float: left;
	width: 64%;
}

.wp-caption {
	max-width: 100%;
}

.wp-caption.aligncenter {
	text-align: center;
	margin: 0 auto;
}

.wp-caption p {
	margin: 0;
}

.wp-caption .wp-caption-text {
	color: #413d3d;
	font-size: 16px;
	line-height: 1.32;
	padding: 0 8px;
	font-style: italic;
	margin-bottom: 15px;
}

.large-text {
	font-size: 60px;
	line-height: 68px;
}

.small-text {
	font-size: 20px;
	line-height: 28px;
}

.blue-text {
	color: #013FFF;
}

.dark-text {
	color: #262222;
}

.light-text {
	color: #F8F7F6;
}

.center-content {
	text-align: center;
	margin: 0 auto;
}

.button {
	color: #262222;
	background: #fff;
	border-radius: 50px;
	display: inline-block;
	padding: 8px 20px 10px;
	font-family: 'NeueMontreal';
	line-height: 28px;
	font-size: 20px;
}

.blue-button {
	color: #fff;
	background: #013FFF;
	border: 1px solid #013FFF;
}

.white-button {
	color: #013FFF;
	background: #F8F7F6;
}

.big-button {
	padding: 25px 50px;
	font-size: 28px;
	line-height: 1;
	min-width: 245px;
	text-align: center;
}

.empty-button {
	color: #013FFF;
	line-height: 26px;
	background: transparent;
	border: 1px solid #D4D3D3;
}

.button.disabled {
	pointer-events: none;
	opacity: .2;
}

.button img {
	margin-left: 20px;
	display: inline-block;
	vertical-align: middle;
}

.standard-box {
	padding: 100px 0;
}

.service-detail {
	padding-bottom: 0;
}

.greyish {
	background: #F8F7F6;
}

.yellowish {
	background: #FFDA00;
}

.darkish {
	background: #262222;
	color: #fff;
}

.darkish h2,
.darkish h3,
.darkish h4,
.darkish h5 {
	color: #F8F7F6;
}

.bt-box {
	border-top: 1px solid #D4D3D3;
	padding-top: 25px;
}
.bt-box.squished {
	padding-top: 10px;
}
.darkish .bt-box {
	border-top: 1px solid #413D3D;
}

.standard-select {
	border: none;
	color: #013FFF;
	font-size: 24px;
	line-height: 34px;
	min-width: 240px;
}

.case-selects p {
	font-size: 16px;
}

.clients-list {
	font-size: 40px;
	line-height: 50px;
	margin: 100px 0;
}

.clients-list span {
	display: inline-block;
	margin-bottom: 25px;
	margin-right: 25px;
}

.clients-list img {
	display: inline-block;
	vertical-align: middle;
	margin-left: 20px;
}

.clients-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.testimonials .bt-box {
	border-top: 1px solid #c8ab00;
}

.testimonial {
	color: #413D3D;
	font-size: 16px;
	line-height: 26px;
	margin-bottom: 50px;
}

.faq-description {
	margin-bottom: 50px;
}

.faqs .bt-box {
	padding: 50px 0;
}

.faqs .bt-box:last-child {
	border-bottom: 1px solid #D4D3D3;
}

.faqs h4 {
	cursor: pointer;
	display: flex;
	align-items: flex-start;
}

.faqs h4.active-question {
	color: #013FFF;
}

.faqs h4 img {
	vertical-align: middle;
	display: inline-block;
	margin-right: 25px;
	margin-top: 8px;
}

.answer {
	display: none;
	color: #413D3D;
	font-size: 20px;
	line-height: 28px;
}

.active-answer {
	display: block;
}

.our-clients p {
	margin-bottom: 0;
}

.contact-faqs {
	margin-top: 100px;
}

.contact-faqs .container {
	border-top: 1px solid #D4D3D3;
}


header {
	position: fixed;
	z-index: 999;
	width: 100%;
	left: 0;
	top: 0;
	background: #fff;
	padding-top: 50px;
/*	margin-bottom: 120px;*/
	transition: top ease .24s;
}
/*.logged-in header {
	top: 32px;
}*/
header.go-up {
	top: -100%;
}

header .container {
	position: relative;
}

.logo img {
	display: block;
	width: 157px;
}

.burger-menu {
	display: none;
}

.main-menu {
	float: right;
	font-size: 20px;
}

.main-menu ul li {
	background: none;
	display: inline-block;
	padding: 0 0 75px 60px;
}

.main-menu ul li a {
	display: block;
}

.main-menu > .menu-main-container > ul > li.current_page_item > a,
.main-menu > .menu-main-container > ul > li.current_page_ancestor > a {
	position: relative;
	border-bottom: 2px solid #013FFF;
	color: #013FFF;
}

.main-menu > .menu-main-container > ul > li.menu-item-has-children:hover > a:after {
	position: absolute;
	top: 65px;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(248, 247, 246, 0);
	border-bottom-color: #F8F7F6;
	border-width: 20px;
	margin-left: -20px;
}

.main-menu .sub-menu {
	display: none;
	background: #F8F7F6;
	padding: 0 58px 50px;
	width: calc(100% + 116px);
	position: absolute;
	left: -58px;
	top: 104px;
}

.main-menu .sub-menu li {
	max-width: 25%;
	padding-top: 50px;
	padding-bottom: 0;
	padding-left: 4%;
	float: left;
}

.main-menu .sub-menu li.empty-slot {
	opacity: 0;
	min-width: 25%;
	pointer-events: none;
}

.main-menu ul li:hover .sub-menu {
	display: block;
	font-size: 20px;
	line-height: 28px;
}

.main-menu ul li:hover a {
	position: relative;
}

.main-menu ul li:hover > a:before,
.main-menu ul li:hover > a:after {
	content: "\A";
	border-style: solid;
	border-color: transparent;
	position: absolute;
	right: -50px;
}

.main-menu ul li:hover a:before {
	border-width: 50px 0 0 50px;
	left: -50px;
}

.main-menu ul li:hover a:after {
	border-width: 50px 50px 0 0;
	right: -50px;
}

.main-menu ul li .sub-menu li:hover a,
.main-menu ul li .sub-menu li.current_page_item a {
	color: #013FFF;
}

.main-menu ul li .sub-menu li:hover a span,
.main-menu ul li .sub-menu li.current_page_item a span {
	color: #262222;
}

.menu-item-description {
	display: block;
	padding: 10px 0;
	font-size: 16px;
	line-height: 26px;
}

.intro {
	font-size: 24px;
	line-height: 34px;
	padding: 200px 0 100px;
}

.intro-description {
	padding-right: 10%;
	margin-bottom: 50px;
}


.gran img {
	display: block;
	margin: 0 auto;
}


#strategies > .container {
	background: inherit;
}

.strategy-container {
	padding-top: 50px;
	font-size: 18px;
	line-height: 26px;
}

.timing {
	background: url('img/clock.svg') no-repeat 25px center #fff;
	padding: 15px 30px 15px 65px;
	border-radius: 50px;
	font-size: 18px;
	line-height: 1.25;
}

.strategy-tab-title {
	font-size: 42px;
	line-height: 54px;
	margin-bottom: 12px;
}

.strategy-title {
	font-size: 26px;
	color: #262222;
	margin: 25px 0;
}

.strategy-title img {
	vertical-align: sub;
}

.strategy-content {
	font-size: 18px;
	line-height: 28px;
}

.strategy-content li {
	padding-left: 32px;
	background: url('img/triangle-right.svg') no-repeat left center;
}

.strategy-cta {
	padding: 25px 0 0;
}

.problem-solving .strategy-title {
	min-height: 68px;
}


.challenge-container:not(.visible),
.approach-container:not(.visible) {
	display: none;
}

.challenge-container a {
	color: #013FFF;
	text-decoration: underline;
}


.approaches {
	padding: 50px 0 0;
	color: #413D3D;
}

.outcomes-grid {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.outcomes-grid .approach {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	padding-top: 0;
}

.outcomes-grid .approach-media {
	flex: 0 0 240px;
	max-width: 240px;
}

.outcomes-grid .approach-body {
	flex: 1;
	min-width: 0;
}

.outcomes-grid .approach h4 {
	padding-right: 0;
	margin-bottom: 16px;
}

.outcomes-grid .approach .approach-image {
	display: block;
	max-width: 100%;
	max-height: 250px;
	margin: 0;
}

.outcomes-grid .approach p {
	padding-right: 0;
}

.approach {
	font-size: 18px;
	line-height: 26px;
	padding: 20px 0 0;
}

.approach-title {
	padding-top: 8px;
}

.approach h4 {
	padding-right: 35%;
	margin-bottom: 24px;
}

.approach h4 span {
	display: inline-block;
	margin-right: 20px;
}

.approach ul {
	min-height: 100px;
	margin-bottom: 20px;
}

.approach ul li {
	color: #013FFF;
	padding-left: 40px;
	margin-bottom: 5px;
	background: url('img/checkmark.svg') no-repeat left center;
}

.approach img {
	width: auto;
	max-height: 75px;
	display: inline-block;
	margin: 20px 0;
}

.approach .approach-image {
	max-height: 250px;
	margin: 0 0 15px;
}

.approach p {
	font-size: 21px;
	line-height: 32px;
	padding-right: 15%;
}


.service-heading__tagline {
	margin-bottom: 25px;
}

.service-heading__tagline-icon {
	vertical-align: top;
	margin-right: 4px;
	height: auto;
	max-height: 36px;
	width: auto;
}

.service-heading h1 {
	color: #013FFF;
	font-size: 60px;
	font-weight: 400;
	line-height: 68px;
	font-family: 'Telegraf';
	margin-bottom: 25px;
}

.service-process {
	margin-top: 150px;
}
.services-list {
	padding-top: 25px;
}

.supply-demand-mobile {
	display: none;
}

.service-item {
	overflow: hidden;
	margin-bottom: 75px;
	border-top: 1px solid #D4D3D3;
}

.service-title {
	width: 43%;
	float: left;
	padding: 26px 12px 26px 54px;
	background: url('img/item.svg') no-repeat left 33px;
	font-size: 20px;
	line-height: 1.25;
	margin-bottom: 0;
}

.service-title a {
	line-height: inherit;
}

.services-list ul {
	width: 57%;
	float: left;
}

.services-list ul li {
	padding-left: 0;
	padding-top: 26px;
	padding-bottom: 26px;
	background: none;
	border-bottom: 1px solid #D4D3D3;
	min-height: 78px;
	line-height: 1.25;
	box-sizing: border-box;
}

.services-list ul li a {
	font-size: 20px;
	line-height: 1.25;
	display: block;
	background: url('img/arrow-right.svg') no-repeat 92% center;
}

.finder-navigation {
	margin-bottom: 50px;
	border-bottom: 1px solid #D4D3D3;
}

.screen-switcher {
	position: absolute;
	top: 10px;
	right: 0;
}

.nav-counter {
	margin-bottom: 0;
}

.nav-info {
	font-size: 20px;
	line-height: 28px;
}

.service-finder {
	padding-top: 100px;
}

.finder-filtering {
	margin-bottom: 50px;
}

.finder-filtering a {
	font-size: 24px;
	line-height: 34px;
	margin-right: 30px;
}

.finder-filtering a:hover,
.finder-filtering a.selected {
	color: #013FFF;
}

.finder-filtering a.selected {
	text-decoration: underline;
}

.service-screen {
	position: relative;
	display: none;
}
.service-screen.screen-1 {
	display: block;
}

.questions {
	overflow: hidden;
}

.questions li {
	float: left;
	cursor: pointer;
	font-size: 16px;
	line-height: 26px;
	padding: 0 40px;
	min-height: 70px;
	margin-bottom: 30px;
	background: url('img/plus.svg') no-repeat left 5px;
}
.service-screen.screen-1 .questions li {
	width: 25%;
}
.service-screen.screen-1 .questions li:nth-child(4n+1) {
	clear: left;
}

.questions li:hover,
.questions li.selected {
	color: #013FFF;
}

.questions li.selected {
	background: url('img/check.svg') no-repeat left 5px;
}

.service-row {
	margin-bottom: 50px;
	border-bottom: 1px solid #D4D3D3;
}

.service-row h4 {
	float: left;
	color: #262222;
	margin-right: 50px;
}

.recommendation-row {
	margin-bottom: 50px;
	padding: 50px;
}

.recommendation-row h5 {
	margin-bottom: 0;
	color: #013FFF;
}

.recommendations {
	overflow: hidden;
}

.recommendations li {
	margin-top: 50px;
	background: url(img/blob.svg) no-repeat left center;
}

.recommendations li:hover {
	text-decoration: underline;
	background: url(img/item.svg) no-repeat left center;
}

.recommendations a {
	font-size: 20px;
	text-decoration: underline;
}

.screen-reset {
	font-size: 20px;
	line-height: 28px;
	text-decoration: underline;
}


.values h3 {
	margin-bottom: 100px;
}


.trustees h4 {
	color: #262222;
	margin-bottom: 50px;
}

marquee {
	font-family: 'Telegraf', sans-serif;
	line-height: 68px;
	font-size: 60px;
}

marquee:first-child {
	margin-bottom: 25px;
}

marquee span {
	margin-right: 25px;
	display: inline-block;
}

marquee span img {
	margin-left: 25px;
	display: inline-block;
	vertical-align: middle;
}

.client-list-mobile {
	display: none;
}
/*@keyframes scroll-left {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@keyframes scroll-right {
	from { transform: translateX(-50%); }
	to { transform: translateX(0); }
}

.marquee {
	height: 150px;
	position: relative;
	width: 100vw;
	max-width: 100%;
	overflow-x: hidden;
	font-size: 60px;
	text-align: center;
}

.marquee .track {
	position: absolute;
	white-space: nowrap;
	will-change: transform;
}

.marquee .track.to-left {
	top: 10px;
	-moz-animation: scroll-left 20s linear infinite;
	-webkit-animation: scroll-left 20s linear infinite;
	animation: scroll-left 20s linear infinite;
}

.marquee .track.to-right {
	bottom: 20px;
	transform: translateX(50%);
	-moz-animation: scroll-right 20s linear infinite;
	-webkit-animation: scroll-right 20s linear infinite;
	animation: scroll-right 20s linear infinite;
}

.marquee span {
	margin-right: 25px;
	display: inline-block;
}

.marquee span img {
	margin-left: 25px;
	display: inline-block;
	vertical-align: middle;
}*/

.see-all {
	padding-top: 50px;
	text-decoration: underline;
}

.see-more {
	color: #013FFF;
	text-decoration: underline;
}


.contact-content h2 {
	margin-bottom: 150px;
}

.contact-content h3 {
	margin-bottom: 100px;
	padding-right: 10%;
	font-size: 48px;
	line-height: 56px;
}

.contact-content .dark-text {
	font-size: 18px;
	line-height: 24px;
	color: #6c757d;
}

.contact-reasons .container {
	padding-left: 380px;
}

.contact-reasons p {
	margin-bottom: 90px;
}

.contact-reasons h3,
.contact-reasons li {
	margin-bottom: 40px;
}

.wpcf7 {
	background: #F8F7F6;
	padding: 50px;
}

.wpcf7 label {
	color: #013FFF;
	font-size: 20px;
	line-height: 28px;
	display: inline-block;
	padding-bottom: 10px;
}

.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea {
	border: none;
	background: #fff;
	margin-bottom: 25px;
	padding: 20px;
	width: 100%;
	border: 1px solid #D4D3D3;
	outline: none;
	font: inherit;
	font-size: 20px;
	line-height: 1;
}

.wpcf7 textarea {
	max-width: 100%;
	line-height: 28px;
}

.wpcf7 select {
	width: auto;
	min-width: 450px;
}

.wpcf7 input[type="submit"] {
	padding: 10px 50px;
	background: #013FFF;
	font-size: 21px;
	width: auto;
}

.wpcf7 input[type="file"] {
	margin-bottom: 50px;
}

.wpcf7 input[type="checkbox"] {
	line-height: 1;
	margin-bottom: 0;
	width: auto;
}

.wpcf7-not-valid-tip {
	font-size: 20px;
	color: #FFDA00;
}

.wpcf7 small {
	font-size: 14px;
}

.wpcf7 a {
	text-decoration: underline;
}

.wpcf7-response-output {
	font-size: 20px;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #2848ed;
}

.apply-form {
	padding-top: 50px;
}

.apply-form .wpcf7 input,
.apply-form .wpcf7 select,
.apply-form .wpcf7 textarea {
	margin-bottom: 0
}

.apply-form .center-content {
	padding-top: 20px;
}

.offices .row:not(:first-child) {
	padding-top: 50px;
}

.offices h3 {
	color: #262222;
}

.offices h5 {
	margin-top: 15px;
}

.offices .address {
	margin-bottom: 20px;
}

.offices a {
	text-decoration: underline;
}

.offices .half {
	margin-bottom: 50px;
}


.careers-content .half:first-child,
.services-content .half:first-child,
.about-content .half:first-child {
	float: right;
}


.featured-image {
	padding: 0 50px;
	margin: 50px 0 0;
}

.careers-featured-image {
	margin: 75px 0 0;
}

.careers-featured-image img {
	display: block;
	margin: 0 auto;
}

.service-content h5,
.service-detail h5 {
	padding-right: 17%;
}

.info-boxes {
	font-size: 16px;
	line-height: 26px;
	margin-top: 100px;
}

.darkish .info-boxes {
	color: #D4D3D3;
}

.info-boxes img {
	margin: 50px 0;
}

.info-boxes .third:nth-child(3n+1) {
	clear: left;
}

.value-points h4 {
	color: #fff;
}

.value-points .third:nth-child(3) img {
	margin-bottom: 38px;
}

.members {
	margin-bottom: 25px;
	padding-bottom: 100px;
	border-bottom: 1px solid #D4D3D3;
}

.member {
	font-size: 20px;
	line-height: 28px;
	margin-top: 100px;
}

.member p {
	margin-bottom: 10px;
}

.member-title {
	color: #262222;
	opacity: .6;
}


.granular-way h3 {
	margin-bottom: 50px;
}


.offers-list {
	margin-top: 50px;
}

.offers-list li {
	margin-bottom: 50px;
}

.job-listing {
	margin-top: 100px;
	font-size: 16px;
	line-height: 26px;
}

.job-item {
	margin-bottom: 100px;
}

.job-title {
	color: #262222;
	margin-bottom: 10px;
}

.job-category {
	color: #413D3D;
	margin-bottom: 10px;
}

.job-data {
	color: #413D3D;
	margin-bottom: 50px;
}


.client-filters .third {
	margin-bottom: 100px;
	padding-top: 10px;
}

.client-filters .third p {
	color: #413D3D;
	font-size: 16px;
	line-height: 26px;
	margin-bottom: 10px;
}

.client {
	margin-bottom: 50px;
}

.client-popup {
	display: none;
	width: 50%;
	padding: 50px;
	background: #FFDA00;
	position: fixed;
	left: 0;
	top: 0;
	-webkit-transform: translate(50%, 100%);
	-moz-transform: translate(50%, 100%);
	transform: translate(50%, 100%);
	font-size: 16px;
	line-height: 26px;
}

.close-popup {
	line-height: 1;
	position: absolute;
	right: 30px;
	top: 30px;
}

.close-popup img {
	display: block;
}


.client h4 {
	cursor: pointer;
	color: #262222;
	font-size: 40px;
	line-height: 50px;
}

.client h4:hover,
.client h4.active {
	color: #013FFF;
}

.client h4.active {
	text-decoration: underline;
}


.section-anchors {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 25px;
	color: #413D3D;
	font-size: 16px;
	line-height: 26px;
	margin: 75px 0;
}

.section-anchor {
	flex: 1 1 260px;
	min-width: 200px;
}

.section-anchor-title {
	font-size: 30px;
	margin-bottom: 12px;
	cursor: pointer;
}

.section-anchor p {
	min-height: 136px;
	font-size: 24px;
	line-height: 34px;
}

.section-anchor .blue-link {
	color: #013FFF;
	text-decoration: underline;
}


.approach-points {
	font-size: 20px;
	line-height: 28px;
	position: relative;
	padding-top: 25px;
}

.beliefs .bt-box {
	border-top: 1px solid #413D3D;
	margin-top: 100px;
}

.strat {
	margin-top: 50px;
	padding-top: 50px;
	font-size: 20px;
	line-height: 28px;
}

.strat span {
	float: left;
	margin-right: 50px;
	font-size: 24px;
	line-height: 34px;
}

.strat img {
	float: right;
	margin-top: 5px;
	margin-right: 30%;
}

.personals {
	margin-top: 100px;
}

.personal h4 {
	margin-bottom: 10px;
}

.personal a {
	color: #013FFF;
	font-size: 20px;
	line-height: 28px;
	text-decoration: underline;
}

.personal .bt-box {
	margin-top: 25px;
	font-size: 16px;
	line-height: 26px;
}

.approach-types-list h3 {
	padding-right: 17%;
}

.approach-points h3 {
	padding: 50px 0;
	background-size: contain;
	background-position: right center;
}

.approach-points .bt-box {
	margin-bottom: 75px;
}

.approach-heading h1 {
	color: #262222;
	font-size: 40px;
	line-height: 50px;
	margin-bottom: 50px;
	padding-right: 15%;
}

.approach-heading h4 {
	color: #262222;
	margin-bottom: 50px;
	padding-right: 15%;
}

.approach-content-type {
	font-size: 32px;
	line-height: 48px;
}

.expanding-box {
	margin-bottom: 50px;
}

.expanding-title {
	display: flex;
	align-items: start;
	cursor: pointer;
	gap: 15px;
}

.expanding-title .title-plus,
.expanding-title .title-minus {
	width: 32px;
	margin: 4px;
	flex: 0 0 auto;
}

.expanding-title .title-minus {
	display: none;
}

.expanding-title h5 {
	flex-grow: 1;
}

.expanding-title h5,
.expanding-title .order-no {
	margin: 0;
	line-height: 1;
}

.expanding-title .order-no {
	font-size: 36px;
	font-weight: 600;
}

.expanded .expanding-title {
	color: #013FFF;
}

.expanded .expanding-title .title-plus {
	display: none;
}

.expanded .expanding-title .title-minus {
	display: inline-block;
}

.darkish .expanding-title,
.darkish .expanding-title h5 {
	color: #fff;
}

.expanding-content i {
	font-size: 21px;
}
.expanding-content i,
.expanding-content b {
	display: block;
	margin: 0 0 4px;
}

.expanding-content .our-approach {
	margin-top: 25px;
}

.expanding-content .hidden-part {
	display: none;
}

/*.expanded .hidden-part {
	display: block;
}*/

.long-t {
	padding-top: 25px;
}

.filters-container {
	top: 0;
	width: 100%;
	z-index: 998;
	position: sticky;
	background: inherit;
	padding: 25px 0 0;
}
/*.filters-container.fixed {
	transition: top ease .24s;
	position: fixed;
	top: 0;
}
.filters-container.fixed.secondary {
	top: 154px;
}
.logged-in .filters-container.fixed {
	top: 32px;
}
.logged-in .filters-container.fixed.secondary {
	top: 186px;
}*/

.filters-container .container {
	padding-bottom: 25px;
	border-bottom: 1px solid #D4D3D3;
}

.darkish .filters-container .container {
	border-bottom: 1px solid #413D3D;
}

.filter-type {
	float: left;
	width: 300px;
	font-size: 20px;
	line-height: 46px;
	margin-bottom: 0;
}

.approach-point {
	margin-bottom: 50px;
}

.approach-point:not(:last-child) .three-quarters {
	padding-bottom: 50px;
	border-bottom: 1px solid #D4D3D3;
}

.approach-point h5 {
	font-size: 36px;
	line-height: 44px;
}

.approach-point li {
	background: url('img/triangle-right.svg') no-repeat left 2px;
	margin-bottom: 12px;
}

.order-no {
	font-size: 40px;
	line-height: 50px;
	margin-right: 50px;
}


.service-slider {
	padding-bottom: 25px;
}

.service-slider .slick-dots {
	top: auto;
	bottom: 0;
}

.service-slider .slick-arrow {
	display: none;
}


#cta {
	background: #262222;
}

#cta .container {
	color: #fff;
	padding: 100px 0;
	display: flex;
	gap: 50px;
	align-items: center;
}

.medium-cta h2 {
	font-size: 64px;
	line-height: 1.2;
	margin-bottom: 0;
}

.medium-cta .big-button {
	margin-bottom: 30px;
}

#cta.medium-cta .container {
	align-items: flex-end;
}

.post-listing {
	margin-top: 50px;
}

.post-listing + .view-all {
	text-decoration: underline;
	padding: 25px 0 0;
	display: inline-block;
	color: #ffda00;
}

.home-post-listing {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: #413D3D;
	border-bottom: 1px solid #413D3D;
}

.home-post-listing .blog-post {
	padding: 25px;
	background: #262222;
	margin: 0;
}

.post-category {
	padding-left: 55px;
	color: #413D3D;
	font-size: 20px;
	line-height: 28px;
	background: url('img/item.svg') no-repeat left center;
}
.post-category.no-bg {
	padding-left: 0;
	background: none;
}
.darkish .post-category {
	color: #F8F7F6;
}

.blog-post {
	margin-bottom: 100px;
	position: relative;
}

.blog-post h5 {
	padding-right: 34%;
	background: url('img/arrow-right.svg') no-repeat right 15px;
	background-size: 20px auto;
}
.darkish .blog-post h5 {
	background: url('img/arrow-right-white.svg') no-repeat right 15px;
	background-size: 20px auto;
}

.post-images {
	display: flex;
	align-items: center;
	gap: 25px;
	margin-bottom: 50px;
}

.single-post-content p:has(img.aligncenter) {
	text-align: center;
}

.blog-post-author {
	font-size: 21px;
}

.blog-post-author a {
	color: #013fff;
}

.blog-post-thumb {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background-size: contain;
	background-position: center;
}

.post-thumbnail {
	height: 100px;
	width: 100px;
	border-radius: 100px;
	background-position: center;
	background-repeat: no-repeat;
	box-shadow: 0px 0px 7px rgba(0, 0, 0, .15);
	background-size: 90%;
	transition: all ease .4s;
	position: absolute;
	right: 75px;
	top: 90px;
}

.blog-post:hover .post-thumbnail {
	height: 125px;
	width: 125px;
}

/* Featured photos in listing circles (insights); avoids wide images collapsing to a thin strip vs background-size: 90% */
.post-thumbnail.post-thumbnail-cover {
	background-size: cover;
	background-position: center center;
}

.post-excerpt {
	font-size: 20px;
	line-height: 28px;
	padding-right: 30%;
}

.post-preview {
	margin-top: 25px;
	font-size: 20px;
	line-height: 28px;
}

.post-preview a {
	text-decoration: underline;
	color: #013FFF;
}

.additional-posts .excerpt .related-case-study-link {
	color: inherit;
	text-decoration: none;
	transition: color ease .3s;
}

.additional-posts .excerpt .related-case-study-link:hover {
	color: #013FFF;
}

.additional-posts {
	overflow: hidden;
}

.additional-posts .post-preview {
	margin-top: 50px;
}

.additional-posts .excerpt {
	margin-bottom: 25px;
}

.related-case-studies-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 50px;
}

.related-case-studies-group-label {
	cursor: default;
	pointer-events: none;
	line-height: 1;
}

.additional-posts {
	margin-top: 25px;
}

.related-tab-trigger {
	line-height: 1;
}

.related-case-studies-panel:not(.visible) {
	display: none;
}

.related-case-studies .additional-posts {
	overflow: visible;
}

.related-case-studies .additional-posts .post-preview {
	float: none;
	width: 100%;
	margin: 35px 0 0;
	margin-left: 0;
	padding-right: 15%;
}

.related-case-studies .additional-posts .post-preview:first-child {
	margin-top: 0;
}

.related-case-study-row .excerpt {
	margin-bottom: 0;
}

.related-case-study-row .related-case-study-link {
	font-size: clamp(24px, 5vw, 32px);
	line-height: clamp(32px, 6vw, 40px);
}

.related-case-studies-archive-link {
	margin: 50px 0 0;
}

.related-case-studies-tabs .button:focus-visible,
.related-case-study-row .related-case-study-link:focus-visible,
.related-case-studies-archive-link a:focus-visible {
	outline: 2px solid #013FFF;
	outline-offset: 4px;
}

.case-study-content {
	color: #2559FE;
	padding-right: 15%;
	padding-bottom: 5%;
}

.case-study-post-content {
	font-size: 24px;
	line-height: 36px;
}

.case-study-post-content h4 {
	margin-bottom: 12px;
}


.post-preview-category {
	padding-left: 55px;
	color: #413D3D;
	font-size: 16px;
	line-height: 26px;
	background: url('img/item.svg') no-repeat left center;
}

.more-insights .additional-posts .post-preview h4 {
	padding-right: 0;
	margin-bottom: 25px;
}

.more-insights .more-insights-section + .more-insights-section {
	margin-top: 60px;
}


.structure {
	margin-top: 100px;
	font-size: 20px;
	line-height: 28px;
}

.user-challenges {
	font-size: 20px;
	line-height: 28px;
	padding-top: 100px;
}

.user-challenges .third {
	min-height: 100px;
}

.user-challenges h5 {
	margin-bottom: 0;
}

.point-order {
	color: #262222;
	font-size: 26px;
	line-height: 50px;
}

.bold-point {
	font-family: 'NeueMontreal SemiBold', sans-serif;
}

.point-order + p {
	font-size: 20px;
	line-height: 28px;
}

.point-order img {
	float: right;
	margin: 20px;
}

.duration-info {
	color: #413D3D;
	font-size: 16px;
	line-height: 26px;
	margin-top: 25px;
}

.responsibilites {
	margin-top: 50px;
}

.responsibilites li {
	margin-bottom: 50px;
}


.single-post-content {
	padding: 100px 0 50px;
}

.single-post-content h2 {
	margin: 100px 0 40px;
	font-size: 40px;
	font-weight: 400;
	line-height: 50px;
	color: #013fff;
}

.single-post-content h3 {
	font-size: 24px;
	line-height: 32px;
	margin-bottom: 18px;
}

.single-post-content ul {
	margin-bottom: 50px;
}

.single-post-content li {
	margin-bottom: 20px;
}

.single-post-content a {
	color: #013FFF;
	text-decoration: underline;
}

.page-template-template-career-child .single-post-content h2 {
	margin: 0 0 25px;
}

/* —— Post gallery (CFS loop) —— */
.post-gallery {
	margin: 40px 0;
}

.post-gallery__slider {
	padding-bottom: 25px;
}

.post-gallery__slide {
	margin: 0;
}

.post-gallery__slide img {
	display: block;
	width: 100%;
	height: auto;
}

.post-gallery__caption {
	color: #413d3d;
	font-size: 16px;
	line-height: 1.32;
	font-style: italic;
	margin: 12px 0 0;
	text-align: center;
}

.post-gallery .slick-slider > .slick-dots {
	top: auto;
	bottom: -50px;
	right: auto;
	left: 50%;
	transform: translateX(-50%);
	margin-bottom: 0;
}

/* —— Code example (blog shortcode) —— */
.code-example {
	margin: 40px 0;
}

.code-example__details {
	border: 1px solid #D4D3D3;
	border-radius: 4px;
	background: #F7F7F7;
	overflow: hidden;
}

.code-example__summary {
	display: block;
	padding: 0;
	cursor: pointer;
	list-style: none;
	font-size: 18px;
	line-height: 26px;
	color: #262222;
}

.code-example__summary::-webkit-details-marker {
	display: none;
}

.code-example__summary-inner {
	display: block;
}

.code-example__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 20px;
}

.code-example__details[open] .code-example__header {
	border-bottom: 1px solid #D4D3D3;
}

.code-example__title {
	font-weight: 500;
	color: #013fff;
}

.code-example__copy {
	flex-shrink: 0;
	margin: 0;
	padding: 8px 16px;
	border: 1px solid #013fff;
	border-radius: 4px;
	background: #fff;
	color: #013fff;
	font-family: inherit;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.code-example__copy:hover,
.code-example__copy:focus {
	background: #013fff;
	color: #fff;
	outline: none;
}

.code-example__preview {
	position: relative;
}

.code-example__details[open] .code-example__preview {
	display: none;
}

.code-example__details--truncated .code-example__preview::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 44px;
	height: 48px;
	background: linear-gradient(to bottom, rgba(38, 34, 34, 0), #262222);
	pointer-events: none;
}

.code-example__pre {
	margin: 0;
	padding: 20px;
	background: #262222;
	overflow-x: auto;
}

.code-example__pre--preview {
	min-height: 200px;
	padding-bottom: 40px;
	border-top: 1px solid #D4D3D3;
}

.code-example__pre code,
.code-example__code {
	display: block;
	font-family: 'Courier New', Courier, monospace;
	font-size: 14px;
	line-height: 1.6;
	white-space: pre;
}

.code-example pre[class*="language-"],
.code-example code[class*="language-"] {
	margin: 0;
	background: transparent;
	font-family: 'Courier New', Courier, monospace;
	font-size: 14px;
	line-height: 1.6;
	text-shadow: none;
}

.code-example .code-example__pre[class*="language-"] {
	background: #262222;
}

.code-example__toggle-row {
	display: flex;
	justify-content: center;
	padding: 10px 20px 14px;
	background: #262222;
	border-top: 1px solid #3a3636;
}

.code-example__toggle {
	display: inline-block;
	width: 12px;
	height: 12px;
	border-right: 2px solid #F7F7F7;
	border-bottom: 2px solid #F7F7F7;
	transform: rotate(45deg);
	transition: transform 0.15s ease;
}

.code-example__toggle--expand {
	position: absolute;
	left: 50%;
	bottom: 14px;
	margin-left: -6px;
	pointer-events: none;
}

.code-example__toggle--collapse {
	margin: 0;
	padding: 0;
	border: none;
	border-right: 2px solid #F7F7F7;
	border-bottom: 2px solid #F7F7F7;
	background: transparent;
	cursor: pointer;
	transform: rotate(-135deg);
}

.code-example__toggle--collapse:hover,
.code-example__toggle--collapse:focus {
	border-color: #013fff;
	outline: none;
}

/* —— Post comments (single) —— */
.post-comments-section .comments-area {
	font-size: 20px;
	line-height: 28px;
	max-width: 720px;
}

.post-comments-section .comments-title {
	color: #262222;
	font-family: 'Telegraf', sans-serif;
	font-size: 40px;
	font-weight: 400;
	line-height: 50px;
	margin: 0 0 40px;
}

.post-comments-section .comment-list {
	list-style: none;
	margin: 0 0 50px;
	padding: 0;
}

.post-comments-section .comment-list .children {
	list-style: none;
	margin: 25px 0 0 24px;
	padding: 0 0 0 24px;
	border-left: 1px solid #D4D3D3;
}

.post-comments-section .comment-body {
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid #D4D3D3;
}

.post-comments-section .comment-meta {
	color: #767171;
	font-size: 16px;
	line-height: 26px;
	margin-bottom: 12px;
}

.post-comments-section .comment-meta a {
	color: #013FFF;
	text-decoration: underline;
}

.post-comments-section .comment-content p {
	margin-bottom: 12px;
}

.post-comments-section .reply a {
	color: #013FFF;
	font-size: 16px;
	line-height: 26px;
	text-decoration: underline;
}

.post-comments-section .no-comments {
	color: #767171;
	margin-bottom: 25px;
}

.post-comments-section .comment-respond {
	margin-top: 10px;
	padding-top: 50px;
	border-top: 1px solid #D4D3D3;
}

.post-comments-section .comments-area > .comment-respond:first-child {
	border-top: none;
	padding-top: 0;
}

.post-comments-section .comment-reply-title {
	color: #262222;
	font-family: 'Telegraf', sans-serif;
	font-size: 40px;
	font-weight: 400;
	line-height: 50px;
	margin: 0 0 24px;
}

.post-comments-section .comment-reply-title a {
	color: #013FFF;
	text-decoration: underline;
}

.post-comments-section .comment-reply-title small {
	display: block;
	font-family: 'NeueMontreal', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	margin-top: 12px;
}

.post-comments-section .logged-in-as {
	color: #413D3D;
	font-size: 18px;
	line-height: 28px;
	margin-bottom: 25px;
}

.post-comments-section .logged-in-as a {
	color: #013FFF;
	text-decoration: underline;
}

.post-comments-section .comment-notes {
	color: #767171;
	font-size: 16px;
	line-height: 26px;
	margin-bottom: 20px;
}

.post-comments-section .granular-comment-form > p {
	margin-bottom: 25px;
}

.post-comments-section .granular-comment-form label {
	color: #013FFF;
	display: block;
	font-size: 20px;
	line-height: 28px;
	margin-bottom: 10px;
}

.post-comments-section .granular-comment-form .required {
	color: #013FFF;
}

.post-comments-section .granular-comment-form input[type="text"],
.post-comments-section .granular-comment-form input[type="email"],
.post-comments-section .granular-comment-form input[type="url"] {
	background: #fff;
	border: 1px solid #D4D3D3;
	font: inherit;
	font-size: 20px;
	line-height: 28px;
	margin: 0;
	max-width: 100%;
	outline: none;
	padding: 20px;
	width: 100%;
}

.post-comments-section .granular-comment-form textarea {
	background: #fff;
	border: 1px solid #D4D3D3;
	display: block;
	font: inherit;
	font-size: 20px;
	line-height: 28px;
	margin: 0;
	max-width: 100%;
	min-height: 180px;
	outline: none;
	padding: 20px;
	resize: vertical;
	width: 100%;
}

.post-comments-section .granular-comment-form .comment-form-comment {
	display: flex;
	flex-direction: column;
}

.post-comments-section .comment-form-cookies-consent {
	align-items: flex-start;
	display: flex;
	gap: 12px;
	margin-bottom: 25px;
}

.post-comments-section .comment-form-cookies-consent input {
	margin: 6px 0 0;
	width: auto;
}

.post-comments-section .comment-form-cookies-consent label {
	color: #262222;
	font-size: 18px;
	line-height: 28px;
	margin: 0;
}

.post-comments-section .form-submit {
	margin-bottom: 0;
	margin-top: 10px;
}

.post-comments-section .form-submit .button {
	appearance: none;
	border: 1px solid #013FFF;
	cursor: pointer;
	min-width: 180px;
	text-align: center;
}

.post-comments-section .form-submit .button:hover,
.post-comments-section .form-submit .button:focus-visible {
	filter: brightness(1.05);
	outline: none;
}

.post-comments-section .comments-pagination,
.post-comments-section .comment-navigation {
	margin: 30px 0;
}

.post-comments-section .comments-pagination .nav-links,
.post-comments-section .comment-navigation .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.post-comments-section .comments-pagination a,
.post-comments-section .comment-navigation a {
	color: #013FFF;
	font-size: 18px;
	text-decoration: underline;
}

.share-post {
	margin-top: 75px;
	padding-top: 35px;
}

.share-post-label {
	color: #767171;
	font-size: 16px;
	line-height: 26px;
	letter-spacing: 0.04em;
	margin-bottom: 20px;
	text-transform: uppercase;
}

.share-post-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.share-post-link {
	min-width: 140px;
	text-align: center;
	text-decoration: none !important;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.share-post-link:hover,
.share-post-link:focus-visible,
.share-post-copy.is-copied {
	background: #013FFF;
	border-color: #013FFF;
	color: #fff;
	outline: none;
}

.share-post-copy {
	appearance: none;
	border: 1px solid #D4D3D3;
	cursor: pointer;
}

.share-post-copy-status {
	color: #013FFF;
	display: block;
	font-size: 16px;
	line-height: 26px;
	min-height: 26px;
	text-align: right;
	width: 100%;
}

.content-article-page--no-thumb .blog-post-heading {
	padding-bottom: 50px;
}

.content-article-page .blog-post-heading {
	padding-top: 150px;
}

.related-insights .post-preview-category {
	background:  none;
	padding-left: 0;
}

.related-insights-archive-link {
	margin: 50px 0 0;
}

.author-archive-heading {
	padding-bottom: 75px;
}

.author-archive-intro {
	margin-top: 50px;
}

.author-archive-meta {
	padding-right: 15%;
}

.author-archive-avatar {
	margin-bottom: 25px;
}

.author-archive-avatar img {
	display: block;
	width: 120px;
	height: 120px;
	border-radius: 50%;
}

.author-archive-count,
.author-archive-links,
.author-archive-links .author-archive-link,
.author-post-card-meta,
.author-pagination {
	font-size: 16px;
	line-height: 24px;
}

.author-archive-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.author-archive-links li {
	margin: 0 0 10px;
}

.author-archive-links li:last-child {
	margin-bottom: 0;
}

.author-archive-links .author-archive-link {
	color: #013FFF;
	text-decoration: underline;
}

.author-archive-bio p:last-child,
.author-archive-no-posts p:last-child {
	margin-bottom: 0;
}

.author-post-listing {
	margin-top: 75px;
}

.author-post-card h5 {
	margin-bottom: 25px;
}

.author-post-card.has-thumbnail h5,
.author-post-card.has-thumbnail .post-excerpt {
	padding-right: 34%;
}

.author-post-card.no-thumbnail h5,
.author-post-card.no-thumbnail .post-excerpt {
	padding-right: 0;
}

.author-post-card .post-excerpt {
	margin-bottom: 25px;
}

.author-post-card .post-thumbnail {
	top: 78px;
}

.author-post-card-meta {
	color: #413D3D;
	margin-bottom: 0;
}

.author-archive-no-posts {
	margin-top: 75px;
}

.author-pagination {
	margin-top: 50px;
}

.author-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 0;
}

.author-pagination li {
	padding-left: 0;
	background: none;
}

.author-pagination a,
.author-pagination span {
	display: inline-block;
	min-width: 44px;
	padding: 10px 16px;
	border: 1px solid #D4D3D3;
	color: #262222;
	text-decoration: none;
}

.author-pagination .current {
	border-color: #013FFF;
	background: #013FFF;
	color: #fff;
}

.author-pagination .prev,
.author-pagination .next {
	color: #013FFF;
}


.client-quote {
	font-size: 16px;
	padding-left: 25%;
	background: url('img/quote.svg') no-repeat left top;
}
.client-quote blockquote {
	font-size: 40px;
	line-height: 50px;
	margin-bottom: 20px;
}

.client-quote blockquote p:before {
	content: "“";
}

.client-quote blockquote p:after {
	content: "”";
}

.client-quote p {
	line-height: 1.5;
	margin-bottom: 10px;
}

.cs-data {
	color: #013FFF;
	margin: 100px 0;
	line-height: 34px;
	font-size: 24px;
}

.cs-data p {
	margin-bottom: 10px;
}

.cs-data li {
	background: none;
	padding-left: 0;
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px solid #D4D3D3;
}

.cs-data h6 {
	color: #413D3D;
	font-size: 20px;
	line-height: 28px;
	margin-bottom: 10px;
}

.cs-details {
	font-size: 20px;
	line-height: 28px;
	margin-top: 100px;
}

.cs-details .dual-column {
	margin-bottom: 0;
}

.cs-details li {
	margin-bottom: 50px;
	background-position: left 35px;
}

.cs-details li ul {
	margin-bottom: 25px;
}

.cs-details li.bt-box li {
	background: url('img/triangle-right.svg') no-repeat left 2px;
	margin-bottom: 12px;
	padding-left: 36px;
}

.cs-details li .wp-caption {
	max-width: 100%;
	margin: 50px auto;
}

.cs-details .large-text {
	font-family: 'Telegraf';
	display: block;
	font-size: 32px;
	line-height: 44px;
	margin-bottom: 12px;
}

.cs-results li {
	min-height: 180px;
	background: none;
	padding-left: 0;
}

.row.project-journey {
	margin-bottom: 50px;
}

.cs-points .container {
	position: relative;
}

.points-row {
	overflow: visible;
}

.points-row > .quarter {
	padding-right: 25px;
	position: sticky;
	top: 150px;
}

/*.points-row .cs-point .third:first-child {
	padding-right: 25px;
}*/

.points-sidebar a {
	display: block;
	font-size: 16px;
	line-height: 26px;
	margin-bottom: 25px;
}

.points-sidebar .active span {
	color: #013FFF;
}

.cs-point {
	padding-top: 50px;
	padding-bottom: 150px;
	border-bottom: 1px solid #D4D3D3;
}

.cs-point:first-child {
	padding-top: 0;
}

.cs-point {
	font-size: 20px;
	line-height: 28px;
}

.cs-point-no {
	display: none;
}

.cs-point li:not(:last-child) {
	margin-bottom: 50px;
}

.cs-point h5 {
	padding-right: 12px;
	font-size: 36px;
	line-height: 48px;
}

.client-words {
	color: #413D3D;
	font-size: 20px;
	line-height: 1.5;
}

.client-words-heading {
	color: #262222;
	background: url(img/continuity.svg) no-repeat right top;
	padding: 50px 0 100px;
	font-size: 60px;
	border-bottom: 1px solid #26222220;
	margin-bottom: 100px;
}

.client-words-content {
	padding: 0 20%;
	margin-bottom: 100px;
}

.the-client {
	text-align: right;
	padding: 0 20%;
}

.the-client span {
	display: inline-block;
	padding: 12px;
	border-top: 1px solid #26222220;
}


.cqs {
	position: relative;
}

.cqs .third:nth-child(3n+1) {
	clear: left;
}

.slick-dots li {
	padding-left: 0;
	background: none;
	display: inline-block;
	margin-left: 8px;
}

.slick-dots li button {
	border-radius: 50%;
	background: #D4D3D3;
	font-size: 0;
	border: none;
	height: 8px;
	width: 8px;
}

.slick-dots li.slick-active button {
	background: #013FFF;
}

.slick-arrow {
	width: 24px;
	height: 24px;
	font-size: 0;
	border: none;
	outline: none;
}

.slick-slider > .slick-dots {
	position: absolute;
	right: 35px;
	top: -95px;
	z-index: 2;
}

.slick-slider > .slick-arrow {
	position: absolute;
	top: -81px;
	right: 0;
	z-index: 2;
}

.slick-slider > .slick-prev {
	right: 86px;
	background: url('img/navigate_prev_blue.svg') no-repeat center;
}

.slick-slider > .slick-next {
	background: url('img/navigate_next_blue.svg') no-repeat center;
}


.case-studies-cta,
.testimonial-cta {
	border-top: 1px solid #D4D3D3;
	padding-top: 25px;
}

.testimonials-wrapper {
	position: relative;
	padding: 50px 0;
}

.testimonials-slider__nav {
	position: absolute;
	top: 50px;
	right: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 8px;
}

.testimonials-slider__nav:empty {
	display: none;
}

.testimonials-slider__nav .slick-arrow {
	flex-shrink: 0;
	align-self: center;
}

.testimonials-slider__nav .slick-prev {
	order: 1;
	background: url('img/navigate_prev_blue.svg') no-repeat center;
}

.testimonials-slider__nav .slick-next {
	order: 3;
	background: url('img/navigate_next_blue.svg') no-repeat center;
}

.testimonials-slider__nav .slick-dots {
	order: 2;
	display: flex;
	align-items: center;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none;
	gap: 8px;
}

.testimonials-slider__nav .slick-dots li {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	padding-left: 0;
	background: none;
	width: auto;
	height: auto;
}

.testimonials-slider__nav .slick-dots li button {
	display: block;
	margin: 0;
	padding: 0;
	width: 8px;
	height: 8px;
	line-height: 0;
}

.testimonials-slider .testimonial-slide,
.slick-slide.testimonial-slide,
.testimonial-roi {
	gap: 20px;
	display: flex;
	align-items: center;
	font-family: 'NeueMontreal';
}

.testimonial-roi p {
	margin: 0;
}

.testimonial-slide {
	padding: 40px 0;
	border-top: 1px solid #D4D3D3;
	/*border-bottom: 2px solid #D4D3D3;*/
}

.testimonial-details {
	color: #262222;
	font-size: 20px;
	line-height: 28px;
	flex: 1 1 0;
	min-width: 0;
	padding-right: 40px;
	border-right: 1px solid #D4D3D3;
}

.testimonial-details h4 {
	color: #262222;
	font-size: 40px;
	line-height: 50px;
	font-family: 'NeueMontreal';
	margin-bottom: 20px;
}

.testimonial-details h5 {
	font-size: 16px;
	line-height: 24px;
	font-family: 'NeueMontreal';
	color: #413D3D;
	margin-bottom: 25px;
}

.testimonial-image {
	flex: 0 0 240px;
	width: auto;
	padding: 25px 0 25px 25px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.testimonial-image img {
	display: block;
	width: 100%;
	max-width: none;
}

.testimonial-roi .big-stat {
	font-size: 60px;
	line-height: 68px;
	color: #013FFF;
}

.testimonials-slider--granular-solutions .testimonial-roi .big-stat {
	font-size: 32px;
	line-height: 42px;
	margin-bottom: 8px;
}

.testimonials-slider--granular-solutions .testimonial-details h5 {
	font-size: 18px;
	line-height: 28px;
	font-family: 'NeueMontreal SemiBold';
	margin-bottom: 15px;
}

.testimonial-person {
	margin-bottom: 40px;
}

.testimonial-person p {
	font-size: 16px;
	margin: 0;
}


footer {
	padding: 100px 0;
	background: #262222;
	line-height: 26px;
	font-size: 16px;
	color: #fff;
}

footer hr {
	margin: 100px 0;
	border: 0;
	border-bottom: 1px solid rgba(248,247,246,.2);
}

footer ul {
	-webkit-column-count: 3;
	-moz-column-count: 3;
	column-count: 3;
}

footer ul li {
	padding-left: 0;
	background: none;
}

.footer-logo {
	margin-bottom: 50px;
}

.copyright {
	margin-top: 150px;
}


#back_to_top {
	display: none;
	position: fixed;
	right: 3%;
	bottom: 0;
	z-index: 999;
}
#back_to_top.showing {
	display: block;
}

/* ---------------------------------------------------------------------------
   Reusable snippets (Granular Solutions + future hub pages)
   --------------------------------------------------------------------------- */
.solution-subcontent {
	padding-bottom: 50px;
}

.deliverable-title {
	font-weight: 600;
}

#granular-section-video .solution-does-split {
	display: flex;
	align-items: center;
	gap: 2%;
}

#granular-section-video .solution-does-split__text,
#granular-section-video .solution-does-split__media {
	flex: 1 1 0;
	min-width: 0;
}

#granular-section-video .video-mock-block-wrap,
#granular-section-video .video-mock-block {
	margin-left: 0;
	max-width: none;
	width: 100%;
}

#granular-section-roles .half:not(:last-child) {
	margin-bottom: 50px;
}

#granular-section-roles ul li {
	background: url('img/triangle-right.svg') no-repeat left 2px;
	margin-bottom: 12px;
	padding-left: 32px;
}

#granular-section-use-cases .use-cases-section-image {
	margin-top: 75px;
	text-align: center;
}

#granular-section-use-cases .use-cases-section-image img {
	max-width: 100%;
	height: auto;
	display: inline-block;
}

#granular-section-deliverables .deliverable-icon-wrap {
	width: 150px;
	height: 150px;
	min-width: 150px;
	min-height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 28px;
	box-sizing: border-box;
	flex-shrink: 0;
}

#granular-section-deliverables .deliverable-icon-wrap img {
	max-width: 150px;
	max-height: 150px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

.mock-hero-panel {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	padding: 50px;
	background: linear-gradient(160deg, #F8F7F6 0%, #fff 50%, #EEF0FB 100%);
}

.solution-subsection-title {
	padding-top: 50px;
}

.solution-subsection-lead {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

.solution-pillars-row {
	margin-top: 50px;
}

.child-chapters-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 25px;
	margin-top: 50px;
}

.child-chapter-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	min-height: 100%;
	text-decoration: none;
	color: inherit;
}

.child-chapter-card:hover {
	text-decoration: none;
	opacity: 0.95;
}

.child-chapter-card .blue-link {
	margin-top: auto;
	padding-top: 15px;
}

.child-chapter-card__media {
	display: block;
	margin: -25px -25px 18px -25px;
	overflow: hidden;
}

.child-chapter-card__media img {
	width: 100%;
	height: auto;
	max-height: 200px;
	display: block;
	object-fit: cover;
}

.video-mock-block-wrap {
	width: 100%;
	max-width: 560px;
	margin-left: auto;
}

.video-mock-block-wrap__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}

.video-mock-block-wrap.is-playing .video-mock-block {
	display: none;
}

.video-mock-block__player {
	width: 100%;
	border-radius: 12px;
	overflow: hidden;
	background: #262222;
}

.video-mock-block__player iframe,
.video-mock-block__player video,
.video-mock-block__video {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}

/* Static video placeholder (theme has no oEmbed/shared component yet). */
.video-mock-block {
	position: relative;
	width: 100%;
	max-width: 560px;
	margin-left: auto;
	border: none;
	padding: 0;
	border-radius: 12px;
	min-height: 280px;
	background: #262222;
	cursor: default;
	overflow: hidden;
	display: block;
	text-align: left;
}

.video-mock-block.has-video {
	cursor: pointer;
}

.video-mock-block:disabled {
	opacity: 0.85;
}

.video-mock-block:focus-visible {
	outline: 3px solid #013FFF;
	outline-offset: 3px;
}

.video-mock-block__bg {
	position: absolute;
	inset: 0;
	opacity: 0.35;
	background:
		radial-gradient(circle at 30% 20%, rgba(1,63,255,0.5) 0%, transparent 60%),
		radial-gradient(circle at 80% 60%, rgba(255,218,0,0.2) 0%, transparent 50%);
	z-index: 0;
	pointer-events: none;
}

.video-mock-block__blob {
	position: absolute;
	bottom: -20%;
	right: -10%;
	width: min(340px, 90%);
	opacity: 0.4;
	z-index: 1;
}

.video-mock-block__scrub {
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 20px;
	z-index: 2;
	height: 4px;
	background: rgba(248,247,246,0.2);
	border-radius: 999px;
}

.video-mock-block__scrub-fill {
	display: block;
	width: 35%;
	height: 100%;
	background: rgba(248,247,246,0.55);
	border-radius: 999px;
}

.video-mock-block__play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: rgba(1,63,255,0.9);
	display: flex;
	align-items: center;
	justify-content: center;
}

.video-mock-block__play img {
	filter: invert(100%);
	opacity: 0.95;
}

.video-mock-block__label {
	position: absolute;
	left: 20px;
	top: 20px;
	z-index: 2;
	max-width: 60%;
	text-align: left;
	color: rgba(248,247,246,0.88);
	margin: 0;
}

.case-thumb-placeholder p {
	margin: 0;
	color: #413D3D;
}

.case-thumb-placeholder {
	min-height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
}

#granular-section-results {
	padding: 50px 0;
}

#granular-section-related .section-anchor p {
	min-height: 96px;
}

@media (max-width: 768px) {
	#granular-section-video .solution-does-split {
		flex-direction: column;
		align-items: stretch;
	}

	.video-mock-block-wrap {
		margin-top: 35px;
		margin-right: auto;
		margin-left: auto;
	}

	.video-mock-block {
		margin-left: auto;
		margin-right: auto;
	}

	.solution-subsection-title {
		padding-top: 25px;
	}
}

.subpage-logo {
	padding: 30px 0 0;
	text-align: center;
}

header.site-header {
	position: sticky;
	top: 0;
	padding: 0;
	margin-bottom: 0;
	transition: none;
}

header.site-header.go-up {
	top: 0;
}

.subpage-logo img {
	max-width: 200px;
}
