@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;600&display=swap');
@import url('form.css?v=1');
html,
body {
	font-family: 'Titillium Web', sans-serif;
	font-size: 100%;
	margin: 0;
	background-color: #ededed;
	font-weight: 300;
	word-wrap: break-word;
}
video {
	width:100% !important;
	height:auto !important;
	margin:0 !important;
	padding:0 !important;
}
.wrapper_home { background-color: rgba(0, 141, 255, 0.15) !important }
.add_pad { height: 40px }
.shadow { box-shadow:0 4px 8px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19) }
hr { display: none }
.block {
	display: block;
	background-color: #405162;
	padding: 20px;
	color: white;
	margin-bottom: 15px !important;
	font-size: 125%
}
.imageAlignLeft { float: left; margin: 0 30px 20px 0 }
.imageAlignRight { float: right; margin: 0 0 20px 30px }
.imageAlignFull { width: 100%; height: auto; margin: 20px 0 20px 0 }
.two_column img,
.three_column img {
	width: 100%; height: auto; margin: 0 0 20px 0
}
.two_column ul,
.three_column ul,
.two_column ol,
.three_column ol {
	break-inside: avoid-column;
}
.two_column p,
.three_column p {
	display: block;
	margin: 0;
	padding-bottom: 20px;
	-moz-break-inside: avoid-column;
	-webkit-break-inside: avoid-column;
	break-inside: avoid-column;
	-moz-column-fill: balance;
	-webkit-column-fill: balance;
	column-fill: balance;
}
.two_column p:first-child,
.three_column p:first-child {
	font-size: 120%;
	color: #202f54;
}
.two_column { column-count: 2; column-gap: 40px; column-rule: 1px solid rgb(181, 181, 181); border-bottom: 1px solid rgb(181, 181, 181); }
.three_column { column-count: 3; column-gap: 40px; column-rule: 1px solid rgb(181, 181, 181); border-bottom: 1px solid rgb(181, 181, 181); }
.two_column .button,
.three_column .button {
	width: 100%;
	display: block;
	text-align: center;
	padding: 20px
}
div { overflow-x: hidden !important; overflow-y: hidden !important }
#top {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	right: 0;
}
bold { font-weight: 600 }
.skip { position: absolute; top: -1000px }
h1, h2, h4, h5, h6 {
	color: #202f54;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 15px
}
h3 {
	color: #e8a070;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 15px
}
.content h1:first-of-type { margin-top: 0 }
.pagination { margin-bottom: 20px }
.pagination a { margin-right: 5px }
.paginationDisabled { display: none }
#contact { display: table; width: 100%; background-color: #b2315e; }
#contact div {
	display: table-cell;
	vertical-align: middle;
	padding: 10px 20px 10px 20px;
	color: #ffffff;
	text-decoration: none;
	white-space: nowrap;
	text-align: right;
}
#contact div:nth-child(1) { width: 100% }
#contact div:nth-child(2),
#contact div:nth-child(3) { padding-left: 0 }
#contact .news_reader { text-align: left }
#contact a,
#contact a:visited { color: inherit !important; text-decoration: inherit; }
#contact a:hover { color: white; text-decoration: underline }
.follow a,
.follow a:visited {
	display: inline-block;
	height: 35px;
	width: 35px;
	background-position: center center;
	background-size: cover;
	margin-bottom: -4px;
	margin-right: 8px;
	border-radius: 5px;
	transition: .5s
}
.follow a:last-child { margin-right: 0 }
.follow a:hover { transform: scale(1.1) }
.follow-linkedin {
	background-color: #0077b5;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E");
	background-size: 60%;
	background-repeat: no-repeat;
	background-position: center center;
}
#menu {
	display: table; width: 100%;
	font-size: 110%;
	background-color: #202f54;
	position: relative
}
#menu div {
	display: table-cell;
	vertical-align: bottom;
	padding: 20px;
	color: #cccccc;
	text-decoration: none;
	white-space: nowrap;
}
#menu div:nth-child(1) { padding-right: 0 }
#menu div:nth-child(1) a img { width: 70px; height: auto; margin-bottom: -4px }
#menu div:nth-child(2) { width: 100%; }
#menu a,
#menu a:visited { color: inherit; text-decoration: inherit }
#menu a:hover { color: white; text-decoration: underline }
#menu ul { margin: 0 0 -4px 0; padding: 0; list-style: none }
#menu ul ul { display: none }
#menu li { display: table-cell; padding-right: 20px }
.main_menu_active { color: white !important; text-decoration: underline !important }
.cirrus_bars {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	height: 100%;
	width: 200px;
	opacity: 1
}
#wrapper { background-color: #ededed; overflow: auto; position: relative; z-index: 11 }
.content { max-width: 1100px; margin: auto; padding: 20px; overflow: auto }
#footer { display: table; width: 100%; color: #d7d5d5 !important; text-decoration: none; background-color: #202f54; position: relative; z-index: 9 }
#footer div { display: table-cell; vertical-align: top }
#footer div:nth-child(1),
#footer div:nth-child(3) { width: 30%; padding: 20px }
#footer div:nth-child(2) { padding: 20px }
#footer a,
#footer a:visited { color: inherit; text-decoration: underline }
#footer a:hover { text-decoration: underline; color: yellow }
#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6 {
	color: white !important
}
#affiliations { text-align: center; background-color: #3e4964; position: relative; z-index: 10 }
#affiliations div,
#affiliations a,
#affiliations a:visited {
	display: inline-block;
	padding: 2%;
	vertical-align: top;
}
#affiliations img {
	height: 65px;
	width: auto;
}
#home_services { vertical-align: top; background-color: #313037; }
#home_services a,
#home_services a:visited { display: table; width: 100%; text-decoration: none; transition: .5s }
#home_services a:hover { transform: scale(1.05) }
#home_services a div {
	display: table-cell;
	vertical-align: middle;
	width: 50%;
	box-sizing: border-box;
	padding: 100px;
	background-position: center center;
	background-size: cover;
	font-size: 115%
}
#home_services h1 { margin-top: 0; font-size: 130%; text-transform: capitalize }
#home_services p { margin-bottom: 0 }
.home_services_1 { background-color: #de7a53; color: white !important }
.home_services_2 { background-color: #72c870; color: rgb(48, 48, 48) !important }
.home_services_3 { background-color: #dd658b; color: white !important }
.home_services_4 { background-color: #f4d66d; color: rgb(48, 48, 48) !important }
.home_services_5 { background-color: #67b0dd; color: white !important }
#home_services h1 { margin-top: 0; font-size: 130%; text-transform: capitalize; color: inherit }
.review_list {
	display: table;
	width: 100%;
	background-color: #e5e4e4;
	margin-bottom: 10px;
	border: 1px solid #cccccc;
	border-radius: 3px
}
.review_list div { display: table-cell; vertical-align: top }
.review_list div:first-child { width: 100%; padding: 20px }
.review_list div:last-child { padding: 20px }
.review_list img { width: 150px; height: auto }
.review_list h4 { margin: 0 }
.review_list p { margin: 0 }
.article,
.article:visited { color: inherit; text-decoration: inherit; transition: .5s }
.article:hover { color: inherit; text-decoration: inherit; transform: scale(0.95) }
.article div { background-position: center center; background-size: cover }
.article_full { display: table; width: 100%; }
.article_full div:nth-child(1) { width: 40%; padding-bottom: 30% }
.article_full div { display: table-cell; vertical-align: middle; padding: 50px; }
.article_full p:last-of-type { margin-bottom: 0 }
.article_full p:first-of-type,
.article_full p:nth-child(2) { font-weight: bold; text-transform: uppercase }
.article_block { display: inline-block; width: calc(100%/3); vertical-align: top }
.article_block div:nth-child(1) { display: block; padding-bottom: 70% }
.article_block div { padding: 20px; }
.article_block p:first-of-type,
.article_block h2:first-of-type { margin-top: 0; font-size: 125%; color: inherit !important }
.article_block p:last-of-type { margin-bottom: 0 }
.article_block p:first-of-type { font-weight: bold }
#block_page { background-color: rgb(175, 175, 175) !important; padding: 20px; }
#block_page h1:first-of-type { margin-top: 0 }
#block_page h1,
#block_page h2,
#block_page h3 { font-size: 125% }
#block_page p:last-of-type { margin-bottom: 0 }
#portfolio { padding-top: 20px }
#portfolio div {
	display: inline-block;
	width: 30.65%;
	position: relative;
	text-align: center;
	margin: 0 2% 4% 2%;
	box-sizing: border-box;
	color: inherit;
	text-decoration: inherit;
	vertical-align: top
}
#portfolio div:nth-child(3n+1) { margin-left: 0 }
#portfolio div:nth-child(3n+3) { margin-right: 0 }
#portfolio div img:nth-child(1) {
	width: 100%;
	height: auto;
	position: relative;
	z-index: 2
}
#portfolio div img:nth-child(2) {
	width: 100%;
	height: auto;
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	border: 11px solid black;
	box-sizing: border-box
}
#portfolio h2 { font-size: 125%; margin: 10px 0 0 0; }
#portfolio a,
#portfolio a:visited { color: inherit; text-decoration: inherit }
#portfolio a:hover { text-decoration: underline }
/* ============================================================
   MOBILE MENU REDESIGN
   Replace the existing .mobile_menu rules in client.css with
   these. The JS already copies the desktop nav HTML into
   .mobile_menu so we just need CSS to style it properly.
   ============================================================ */

/* ── Hamburger trigger button ── */
.mobile_menu_trigger {
	display: none;
	position: absolute;
	z-index: 101;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
	width: 36px;
	height: 36px;
	cursor: pointer;
}
.mobile_menu_trigger span {
	display: block;
	height: 3px;
	background-color: white;
	margin-bottom: 6px;
	border-radius: 2px;
	transition: .3s;
}
.mobile_menu_trigger span:last-child { margin-bottom: 0 }
.mobile_menu_trigger span:nth-child(3) {
	position: static;
}
.mobile_menu_trigger span:nth-child(2) {
	position: static;
}
.close_menu span:nth-child(1) {
	transform: rotate(45deg) translate(6px, 6px);
}
.close_menu span:nth-child(2) {
	opacity: 0;
}
.close_menu span:nth-child(3) {
	transform: rotate(-45deg) translate(6px, -6px);
}

/* ── Mobile menu panel ── */
.mobile_menu {
	display: none;
	background-color: #202f54;
	padding: 0;
	text-align: left;
	border-top: 3px solid #b2315e;
}

/* ── Top level items ── */
.mobile_menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.mobile_menu > ul > li {
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.mobile_menu > ul > li > a,
.mobile_menu > ul > li > a:visited {
	display: block;
	padding: 16px 20px;
	color: white;
	font-size: 105%;
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	transition: background .2s, color .2s;
}
.mobile_menu > ul > li > a:hover,
.mobile_menu > ul > li > a.main_menu_active {
	color: #e8a070;
	background-color: rgba(255,255,255,0.05);
}

/* ── Child items (sub-pages nested under parent) ── */
.mobile_menu > ul > li > ul {
	background-color: #182240;
	border-top: 1px solid rgba(255,255,255,0.06);
}
.mobile_menu > ul > li > ul > li {
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.mobile_menu > ul > li > ul > li:last-child {
	border-bottom: none;
}
.mobile_menu > ul > li > ul > li > a,
.mobile_menu > ul > li > ul > li > a:visited {
	display: block;
	padding: 12px 20px 12px 36px;
	color: rgba(255,255,255,0.65);
	font-size: 90%;
	font-weight: 400;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	transition: color .2s;
}
.mobile_menu > ul > li > ul > li > a::before {
	content: '—';
	margin-right: 8px;
	color: #b2315e;
	font-size: 80%;
}
.mobile_menu > ul > li > ul > li > a:hover {
	color: white;
}
.box {
	padding: 20px;
	margin: 0;
	font-size: 125%;
	text-align: center
}
.form { max-width: 600px }
.form div {
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
	width: 50%;
	padding-bottom: 20px
}
.pad_right { padding-right: 20px }
.pad_left { padding-left: 20px }
.full { width: 100%; box-sizing: border-box }
input[name=Email] { position: absolute; top: -1000px }
.warning { display: block; background-color: #f7b6b6; padding: 20px }
.submenu {
	display: none;
	text-align: center;
	color: white;
	text-decoration: none;
	text-transform: uppercase;
	background-color: rgba(0, 0, 0, 0.2)
}
.submenu a,
.submenu a:visited {
	display: inline-block;
	position: relative;
	color: inherit;
	text-decoration: inherit;
	transition: .5s;
	font-size: 80% !important;
	width: 20%;
	white-space: nowrap;
	box-sizing: border-box;
	line-height: 3.25em;
	background-color: rgba(0, 0, 0, 0.8);
}
.submenu a:hover { transform: scale(0.95) }
.sub_menu_active {
	background-color: rgba(186, 43, 43, 0.789) !important;
}
.support_packages { display: table; width: 100% }
.support_packages .row { display: table-row }
.support_packages .cell {
	display: table-cell;
	vertical-align: middle;
	width: calc(100%/4);
	border: 1px solid rgb(181, 181, 181);
	border-right: none;
	border-bottom: none;
	padding: 10px;
	font-size: 85%;
	text-align: center
}
.support_packages p { margin: 0; }
.support_packages img { width: 20px; height: 20px }
.support_packages p:first-child {
	display: block;
	padding: 10px;
	border-radius: 5px;
	background-color: grey;
	color: white;
	font-weight: bold;
	text-transform: uppercase;
}
.support_packages p:nth-child(2) {
	color: #4d4d4d;
	font-size: 85%;
}
.support_packages p:nth-child(3) {
	color: #000000;
	font-size: 110%;
}
.support_packages .row:nth-child(even) .cell {
	background-color: rgb(227, 227, 227)
}
.support_packages .row .cell:first-child {
	text-align: left;
	width: 40%;
}
.support_packages .row .cell:nth-child(2),
.support_packages .row .cell:nth-child(3),
.support_packages .row .cell:nth-child(4) {
	width: 20%
}
.support_packages .row:first-child .cell { vertical-align: top }
.support_packages .row:last-child .cell {
	border-bottom: 1px solid rgb(181, 181, 181);
}
.support_packages .row .cell:last-child {
	border-right: 1px solid rgb(181, 181, 181);
}
.support_packages .cell:nth-child(3) {
	background-color: #cfcfcf;
}
.support_packages_mobile { display: none }
.home_news { background-color: rgba(0, 0, 0, 0.1); padding: 20px }
.cookie {
	background-color: #8d294c;
	padding: 20px;
	text-align: center;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100;
	color: white;
	font-size: 85%;
}
.cookie p:first-child { margin: 0 }
.cookie p:last-child { margin: 15px 0 0 0 }
.conference_organisers {
	text-align: center
}
.conference_organisers img {
	width: 160px; height: auto;
	vertical-align: middle;
	margin: 0 1% 1% 1%
}
.table { display: table }
.row { display: table-row }
.cell { display: table-cell }

.bio { background-color: #dbc6c6; padding: 10px 10px 0 10px }
.bio { display: none; }
.bio .row:nth-child(1) .cell {
	border: 10px solid #dbc6c6;
	padding-bottom: 30%;
	background-position: center center;
	background-size: cover;
	width: calc(100%/3)
}
.bio .row:nth-child(2) .cell {
	border: 10px solid #dbc6c6;
}
.bio h2 { margin: 0 }
.bio h3 { margin: 0 }
.feature_banner {
	width: 100%;
	height: auto;
	margin-bottom: -6px
}
.cta,
.cta:visited {
	position: fixed;
	background-color: #b2315e;
	z-index: 100;
	padding: 10px;
	width: 250px;
	left: 50%;
	margin-left: -125px;
	bottom: -50px;
	text-align: center;
	color: white;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 10px 10px 0 0;
	transition: .5s
}
.cta:hover {
	transform: scale(1.1)
}



.service_filler {
	text-align: center;
	padding-left: 10px;
	padding-right: 10px
}
.service_filler a,
.service_filler a:visited {
	display: inline-block;
	width: 28%;
	box-sizing: border-box;
	padding: 20px;
	text-align: center;
	background-position: center center;
	background-size: cover;
	margin: 2% 1% 0 1%;
	position: relative;
	text-decoration: none;
	padding-bottom: 10%;
	border-radius: 5px;
	transition: .5s;
	filter: grayscale(0);
}
.service_filler a:hover { opacity: .5 }
.service_filler a:nth-child(5n+1) { margin-left: 0 }
.service_filler a:nth-child(5n+5) { margin-right: 0 }
.service_filler a p { position: absolute; top: -10000px !important }
.service_filler a h1 {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	margin: 0;
	font-size: 100% !important;
	padding: 10px;
	background-color: rgba(178, 49, 94, 1);
	color: white;
	border-radius: 0 0 5px 5px
}




/* ============================================================
   MOBILE FIXES — replace the existing @media screen and (max-width: 900px)
   block in client.css with this updated version.

   Key changes:
   1. CTA bar — pink not green, sensible height, visible from load
   2. Heading border-bottom removed (looks wrong on new page designs)
   3. New layout classes added (.usp_row, .two_panel, .cap_row etc.)
      These are already in pages-shared.css but duplicated here for safety
   ============================================================ */

@media screen and (max-width: 900px) {
	html, body { font-size: 110% !important }
	.cirrus_bars { display: none }

	/* Headings — remove the grey border-bottom, just reduce size */
	.content h1,
	.content h2,
	.content h3,
	.content h4,
	.content h5,
	.content h6 {
		font-size: 110%;
		display: block;
		margin: auto 0 10px 0;
		padding-bottom: 5px
	}

	#contact { display: block; background-color: #e14079; font-weight: bold; font-size: 90% }
	#contact div { display: block; padding-left: 0 !important; padding-right: 0 !important; }
	#contact div:nth-child(1),
	#contact div:nth-child(2),
	#contact div:nth-child(4) { display: none }
	#contact div:nth-child(3) { width: 100%; text-align: left }
	#contact div:nth-child(3) { text-align: center !important }
	#menu { display: block }
	#menu div { display: block; width: 100%; text-align: left; padding: 20px !important }
	#menu div { padding-left: 20px !important; padding-right: 0 !important; }
	#menu div:nth-child(2) { display: none !important }
	#menu div:nth-child(1) a img { height: 40px !important; width: auto }
	#banner { height: auto !important }
	#banner p,
	#banner_strip { position: absolute; top: -1000px }
	#home_services a { position: relative }
	#home_services a div { width: 100% !important; padding: 40px 20px 40px 20px !important }
	#home_services a .home_services_image { position: absolute; z-index: 1; left: 0; top: 0; right: 0; bottom: 0 }
	#home_services a .home_services_content {
		position: relative;
		z-index: 2;
		background-color: rgba(0,0,0,.7);
		color: white !important
	}
	#affiliations { background-color: rgb(38, 38, 38) }
	#affiliations div,
	#affiliations a,
	#affiliations a:visited { padding: 20px; }
	#affiliations img { width: 40%; height: auto }
	#footer { display: block; background-color: rgb(37, 0, 0) }
	#footer div { display: block }
	#footer div:nth-child(1),
	#footer div:nth-child(3),
	#footer div:nth-child(2) {
		padding-left: 20px !important;
		padding-right: 20px !important;
		padding-top: 0px !important;
		padding-bottom: 0px !important;
		width: 100% !important;
		box-sizing: border-box;
		text-align: center
	}
	#footer div:nth-child(2) { background-color: rgb(0, 37, 7) }
	#footer div:nth-child(3) { padding-bottom: 80px !important; background-color: rgb(37, 27, 0) }
	.mobile_menu_trigger {
    	display: block;
    	top: 10px;
   		transform: none;
	}
	.submenu a { margin-bottom: -10px }
	.submenu a span:first-child {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
		background-position: center center;
		background-size: cover
	}
	.submenu a span:last-child { display: none }
	.block { padding: 20px !important }
	.two_column p,
	.three_column p {
		display: inherit;
		margin: 15px 0 15px 0;
		padding-bottom: 0;
	}
	.two_column,
	.three_column { column-count: 1; column-gap: 0; column-rule: none }
	.form { max-width: 100% }
	.form div {
		display: block;
		width: 100%;
		padding-bottom: 20px
	}
	.pad_right { padding-right: 0 }
	.pad_left { padding-left: 0 }
	.support_packages { display: none }
	.support_packages_mobile { display: block }
	.support_packages_mobile_list { margin: 0; padding: 0; list-style: none; text-align: center }
	.support_packages_mobile_list p { margin: 0; }
	.support_packages_mobile_list li p:first-child {
		display: block;
		background-color: rgb(178, 178, 178);
		padding: 10px
	}
	.support_packages_mobile_list li p:last-child {
		display: block;
		color: rgb(45, 36, 36);
		padding: 10px
	}
	.article_full { display: block; }
	.article_full div:nth-child(1) { width: 100%; padding-bottom: 50%; box-sizing: border-box }
	.article_full div { display: block; vertical-align: middle; padding: 30px; }
	.article_block { width: calc(100%/2); }
	#top { position: relative }
	.buffer { display: none }
	.submenu { display: none !important}
	.conference_organisers img {
		display: block;
		width: 75%; height: auto;
		margin: 0 auto 0 auto;
	}
	#portfolio div {
		display: block;
		width: 100%;
		margin: 0 0 40px 0;
	}
	#portfolio h2 { font-size: 100% !important}
	.review_list {
		display: block;
		width: 100%;
		background-color: #e5e4e4;
		margin-bottom: 10px;
		border: 1px solid #cccccc;
		border-radius: 3px
	}
	.review_list div { display: block; box-sizing: border-box; text-align: center }
	.review_list div:first-child { width: 100%; padding: 20px }
	.review_list div:last-child { width:100%; padding: 20px }
	.review_list img { width: 200px; height: auto }

	/* ── CTA BAR — fixed, pink, compact ── */
	.cta,
	.cta:visited {
    width: auto;
    left: 0;
    right: 0px;
    margin-left: 0;
    bottom: 0;
    padding: 12px 20px;
    background-color: #b2315e !important;
    border-radius: 0 10px 0 0;
    font-size: 85%;
    text-align: left
	}

	.cta:hover { transform: none }

	/* Service filler cards — vertical stack on mobile */
.service_filler {
    padding-left: 0;
    padding-right: 0;
    text-align: left;
}
.service_filler a,
.service_filler a:visited {
    display: block;
    width: 100%;
    margin: 0 0 3px 0;
    border-radius: 0;
    padding: 0;
    box-sizing: border-box;
    position: relative;
    min-height: 200px;
    background-position: center center;
    background-size: cover;
}
.service_filler a::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 60%;
    background: linear-gradient(transparent, rgba(0,0,0,0.75));
}
.service_filler a h1 {
    position: absolute;
    bottom: 10px;
    left: 15px; right: 15px;
    z-index: 2;
    color: white !important;
    font-size: 105% !important;
    margin: 0;
    border: none;
    padding: 0;
}
.service_filler a p {
    position: absolute;
    bottom: 12px;
    left: 15px; right: 15px;
    z-index: 2;
    color: rgba(255,255,255,0.82) !important;
    font-size: 80% !important;
    margin: 0;
    line-height: 1.4;
}

	/* ── NEW PAGE LAYOUT CLASSES ── */
	.usp_row { display: block }
	.usp_cell {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border-right: 1px solid #cccccc !important;
		border-bottom: none
	}
	.usp_cell:last-child { border-bottom: 1px solid #cccccc }

	.two_panel,
	.two_panel_left,
	.two_panel_right,
	.panel_l,
	.panel_r { display: block; width: 100%; padding: 0; margin-bottom: 20px }

	.sector_row { display: block }
	.sector_cell {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border-right: none;
		border-bottom: 3px solid #ededed
	}

	.compare_wrap { display: block }
	.compare_col {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border-right: 1px solid #cccccc !important;
		margin-bottom: 3px
	}

	.cap_row { display: block }
	.cap_cell {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border-right: 1px solid #cccccc !important;
		border-bottom: none
	}

	.feat_two { display: block }
	.feat_col { display: block; width: 100%; padding: 0 }

	.stat_row { display: block }
	.stat_card {
		display: block;
		width: 100%;
		border-right: none;
		border-bottom: 3px solid #ededed
	}

	.process_row { display: block }
	.process_step {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border-right: 1px solid #cccccc !important;
		border-bottom: none
	}
	.process_step:last-child { border-bottom: 1px solid #cccccc }

	.faq_grid,
	.faq_row { display: block }
	.faq_item {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border-right: 1px solid #cccccc !important;
		border-bottom: none
	}
	.faq_row:last-child .faq_item:last-child { border-bottom: 1px solid #cccccc }

	.obj_row { display: block }
	.obj_card {
		display: block;
		background-color: #fff;
		padding: 20px 20px 20px 20px;
		width: 100%;
		box-sizing: border-box;
		border-right: 1px solid #cccccc !important;
		border-bottom: none
	}
	.obj_card:last-child { border-bottom: 1px solid #cccccc }

	/* Page banner headings on new pages */
	#page_banner h1 { font-size: 140% }
	.banner_lead { font-size: 95% }
}

/* ============================================================
   Cirrus Design Studio — Shared page styles
   Add this once to client.css or include via start.php
   All new industry and case study pages depend on these classes
   ============================================================ */

/* Page banner (navy header used on all new pages) */
#page_banner { background-color: #202f54; padding: 44px 0 36px; position: relative; overflow: hidden; }
#page_banner::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 35%; background: linear-gradient(135deg, transparent 0%, rgba(178,49,94,0.18) 100%); pointer-events: none; }
#page_banner .content { position: relative; z-index: 2; }
#page_banner h1 { color: white; font-size: 195%; margin-top: 0; margin-bottom: 12px; max-width: 680px; line-height: 1.2; }
#page_banner h1 em { color: #e8a070; font-style: normal; }
.banner_eyebrow { display: inline-block; background-color: #b2315e; color: white; font-size: 72%; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; padding: 5px 14px; margin-bottom: 16px; }
.banner_lead { color: rgba(255,255,255,0.75); font-size: 110%; max-width: 580px; margin-bottom: 0; line-height: 1.7; }
.banner_clients { border-top: 1px solid rgba(255,255,255,0.12); padding-top: 16px; margin-top: 20px; }
.banner_clients_label { font-size: 72%; color: rgba(255,255,255,0.4); text-transform: uppercase; letter-spacing: 0.1em; display: inline-block; margin-right: 10px; }
.client_pill { display: inline-block; background-color: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.7); padding: 3px 12px; font-size: 80%; font-weight: 600; margin-right: 8px; margin-top: 6px; }

/* Intro strip */
#intro_strip { background-color: #405162; padding: 18px 0; }
#intro_strip .content { text-align: center; padding-top: 8px; padding-bottom: 8px; }
#intro_strip p { margin: 0; color: white; font-size: 108%; }
#intro_strip strong { font-weight: 600; color: #e8a070; }

/* Section wrappers */
.section_white { background: white; padding: 30px 0; }
.section_grey  { background: #ededed; padding: 30px 0; }
.section_navy  { background: #202f54; padding: 30px 0; }
.section_eyebrow { display: inline-block; color: #b2315e; font-size: 72%; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 6px; }
.centered { text-align: center; }
.centered .intro_text { margin: 0 auto; }
.intro_text { max-width: 700px; }

/* Buttons */
.button, a.button { display: inline-block; background: #b2315e; color: white !important; padding: 12px 24px; text-decoration: none !important; font-weight: 600; text-transform: uppercase; font-size: 88%; letter-spacing: 0.04em; transition: background .2s; margin-top: 5px; }
.button:hover { background: #8d294c !important; }
.button_outline { display: inline-block; background: transparent; color: #202f54 !important; border: 2px solid #202f54; padding: 10px 22px; text-decoration: none !important; font-weight: 600; text-transform: uppercase; font-size: 88%; letter-spacing: 0.04em; transition: all .2s; margin: 5px 0 5px 10px; }
.button_outline:hover { background: #202f54; color: white !important; }
.btn_white { display: inline-block; background: white; color: #b2315e !important; padding: 12px 26px; text-decoration: none !important; font-weight: 600; text-transform: uppercase; font-size: 88%; letter-spacing: 0.04em; margin: 5px; }
.btn_white:hover { background: #f0f0f0 !important; }
.btn_white_outline { display: inline-block; background: transparent; color: white !important; border: 1px solid rgba(255,255,255,0.5); padding: 11px 26px; text-decoration: none !important; font-weight: 600; text-transform: uppercase; font-size: 88%; letter-spacing: 0.04em; margin: 5px; }
.btn_white_outline:hover { border-color: white; }

/* Two panel layout */
.two_panel { display: table; width: 100%; }
.panel_l { display: table-cell; vertical-align: top; width: 55%; padding-right: 30px; }
.panel_r { display: table-cell; vertical-align: top; width: 45%; }

/* Capability grid */
.cap_row { display: table; width: 100%; border-collapse: collapse; }
.cap_cell { display: table-cell; vertical-align: top; width: 33.33%; padding: 20px; background-color: white; border: 1px solid #cccccc; border-right: none; border-bottom: none; }
.cap_row:last-child .cap_cell { border-bottom: 1px solid #cccccc; }
.cap_cell:last-child { border-right: 1px solid #cccccc; }
.cap_num { display: block; font-size: 220%; font-weight: 600; color: #dddddd; line-height: 1; margin-bottom: 8px; }
.cap_cell h3 { font-size: 88%; margin-top: 0; margin-bottom: 10px; padding-bottom: 8px; border-bottom: 2px solid #b2315e; }
.cap_cell p { font-size: 88%; margin: 0; color: #444; }

/* Feature list (two column) */
.feat_list { list-style: none; margin: 0 0 15px 0; padding: 0; }
.feat_list li { font-size: 90%; color: #444; padding: 6px 0 6px 18px; border-bottom: 1px solid #eeeeee; position: relative; }
.feat_list li:last-child { border-bottom: none; }
.feat_list li::before { content: ''; position: absolute; left: 0; top: 12px; width: 7px; height: 7px; background-color: #b2315e; border-radius: 50%; }
.feat_two { display: table; width: 100%; border-collapse: collapse; }
.feat_col { display: table-cell; vertical-align: top; width: 50%; padding-right: 20px; }
.feat_col:last-child { padding-right: 0; padding-left: 20px; }

/* Compare table */
.compare_wrap { display: table; width: 100%; border-collapse: collapse; margin: 20px 0; }
.compare_col { display: table-cell; vertical-align: top; width: 50%; padding: 22px; }
.compare_col--them { background: #f5f5f5; border: 1px solid #cccccc; border-right: none; }
.compare_col--us   { background: #202f54; border: 1px solid #202f54; }
.compare_label { display: block; font-size: 72%; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 10px; }
.compare_col--them .compare_label { color: #888; }
.compare_col--us   .compare_label { color: #e8a070; }
.compare_col--them h3 { color: #202f54; font-size: 100%; margin: 0 0 14px; font-weight: 600; }
.compare_col--us   h3 { color: white; font-size: 100%; margin: 0 0 14px; font-weight: 600; }
.compare_list { list-style: none; margin: 0; padding: 0; }
.compare_list li { font-size: 88%; padding: 6px 0; border-bottom: 1px solid rgba(0,0,0,0.07); }
.compare_list li:last-child { border-bottom: none; }
.compare_col--them .compare_list li { color: #666; }
.compare_col--us   .compare_list li { color: rgba(255,255,255,0.85); border-color: rgba(255,255,255,0.1); }
.compare_icon { display: inline-block; width: 18px; }

/* Stat row */
.stat_row { display: table; width: 100%; }
.stat_card { display: table-cell; vertical-align: top; background-color: #202f54; padding: 22px 18px; border-right: 3px solid #ededed; }
.stat_card:last-child { border-right: none; }
.stat_num { display: block; font-size: 280%; font-weight: 600; color: #e8a070; line-height: 1; margin-bottom: 8px; }
.stat_label { color: rgba(255,255,255,0.72); font-size: 86%; line-height: 1.5; }

/* Case study header */
.cs_header_strip { background: #405162; padding: 20px 0; margin-bottom: 0; }
.cs_header_strip .content { display: table; width: 100%; }
.cs_meta { display: table-cell; vertical-align: middle; }
.cs_meta_tag { display: inline-block; background: #b2315e; color: white; font-size: 72%; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding: 3px 10px; margin-bottom: 8px; }
.cs_meta h2 { color: white; margin: 0; font-size: 110%; }
.cs_client_logo { display: table-cell; vertical-align: middle; text-align: right; padding-left: 30px; white-space: nowrap; }
.cs_client_url { color: rgba(255,255,255,0.5); font-size: 85%; text-decoration: none; }
.cs_client_url:hover { color: white; }

/* Feature checklist */
.check_list { list-style: none; margin: 0 0 20px 0; padding: 0; }
.check_list li { display: table; width: 100%; padding: 8px 0; border-bottom: 1px solid #eeeeee; font-size: 90%; }
.check_list li:last-child { border-bottom: none; }
.check_icon { display: table-cell; width: 24px; color: #b2315e; font-weight: 600; vertical-align: top; padding-top: 1px; }
.check_text { display: table-cell; vertical-align: top; color: #444; }
.check_text strong { color: #202f54; font-weight: 600; display: block; }

/* Process steps */
.process_row { display: table; width: 100%; border-collapse: collapse; margin: 20px 0; }
.process_step { display: table-cell; vertical-align: top; width: 25%; text-align: center; padding: 20px 15px; background: white; border: 1px solid #cccccc; border-right: none; }
.process_step:last-child { border-right: 1px solid #cccccc; }
.process_num { display: inline-block; width: 42px; height: 42px; border: 2px solid #b2315e; border-radius: 50%; line-height: 38px; text-align: center; font-size: 120%; font-weight: 600; color: #b2315e; margin-bottom: 12px; }
.process_step h4 { font-size: 88%; margin-top: 0; margin-bottom: 8px; }
.process_step p { font-size: 84%; color: #555; margin: 0; }

/* FAQ grid */
.faq_grid { display: table; width: 100%; border-collapse: collapse; margin-top: 10px; }
.faq_row { display: table-row; }
.faq_item { display: table-cell; vertical-align: top; width: 50%; padding: 18px 20px; background-color: white; border: 1px solid #cccccc; border-right: none; border-bottom: none; }
.faq_row:last-child .faq_item { border-bottom: 1px solid #cccccc; }
.faq_item:last-child { border-right: 1px solid #cccccc; }
.faq_q { font-size: 90%; font-weight: 600; color: #202f54; text-transform: uppercase; margin-bottom: 8px; }
.faq_a { font-size: 86%; color: #555; margin: 0; line-height: 1.65; }

/* CTA strip */
#cta_strip { background-color: #b2315e; padding: 36px 0; text-align: center; }
#cta_strip h2 { color: white; margin-top: 0; }
#cta_strip p { color: rgba(255,255,255,0.82); max-width: 560px; margin: 0 auto 20px; }

/* Sector signpost tiles */
.sector_row { display: table; width: 100%; margin: 20px 0; border-collapse: collapse; }
.sector_cell { display: table-cell; vertical-align: top; width: 33.33%; background: #202f54; padding: 22px 20px; border-right: 3px solid #ededed; text-decoration: none; transition: background .25s; }
.sector_cell:last-child { border-right: none; }
.sector_cell:hover { background: #2d3f6a; }
.sector_cell h3 { color: white; font-size: 90%; margin: 0 0 8px; text-transform: uppercase; }
.sector_cell p { color: rgba(255,255,255,0.7); font-size: 84%; margin: 0; line-height: 1.55; }
.sector_tag { display: inline-block; background: #b2315e; color: white; font-size: 72%; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding: 2px 8px; margin-bottom: 10px; }
a.sector_cell, a.sector_cell:visited { color: inherit; text-decoration: none; }

/* Responsive */
@media screen and (max-width: 900px) {
  #page_banner h1 { font-size: 140%; }
  .two_panel { display: block; }
  .panel_l, .panel_r { display: block; width: 100%; padding: 0; margin-bottom: 20px; }
  .cap_row { display: block; }
  .cap_cell { display: block; width: 100%; box-sizing: border-box; border-right: 1px solid #cccccc !important; border-bottom: none !important; }
  .cap_row:last-child .cap_cell:last-child { border-bottom: 1px solid #cccccc !important; }
  .feat_two { display: block; }
  .feat_col { display: block; width: 100%; padding: 0; }
  .compare_wrap { display: block; }
  .compare_col { display: block; width: 100%; box-sizing: border-box; margin-bottom: 3px; border-right: 1px solid #cccccc !important; }
  .stat_row { display: block; }
  .stat_card { display: block; width: 100%; border-right: none; border-bottom: 3px solid #ededed; }
  .process_row { display: block; }
  .process_step { display: block; width: 100%; box-sizing: border-box; border-right: 1px solid #cccccc !important; border-bottom: none; }
  .process_step:last-child { border-bottom: 1px solid #cccccc; }
  .faq_grid, .faq_row { display: block; }
  .faq_item { display: block; width: 100%; box-sizing: border-box; border-right: 1px solid #cccccc !important; border-bottom: none; }
  .faq_row:last-child .faq_item:last-child { border-bottom: 1px solid #cccccc; }
  .sector_row { display: block; }
  .sector_cell { display: block; width: 100%; border-right: none; border-bottom: 3px solid #ededed; }
}
