/* ==== Theme colors ==== */
:root {
	--primary: #0F766E;       /* buttons, links, icons on light backgrounds */
	--primary-rgb: 15, 118, 110;
	--primary-dark: #115E59;  /* hover */
	--primary-light: #2DD4BF; /* accents on dark backgrounds (nav, hero, covers) */
	--text-body: #4b5563;     /* readable body text on white and grey */
	--text-muted: #636873;    /* secondary text; passes 4.5:1 on white and #ECECEC */
}
/* ==== Google font ==== */
/* ---------------------------------------------------------------------------- */
/* ------------------------------------Html-Body------------------------------- */
/* ---------------------------------------------------------------------------- */
body {font-family: 'Roboto', sans-serif;font-weight: 300;color: #666;background-color: #fff;font-size: 15px;line-height: 1.75;overflow-wrap: break-word;}
html, body {width:100%; padding:0; margin:0;}

/* ---------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------- */
html { -webkit-text-size-adjust: none;}
.video embed,.video object,.video iframe { width: 100%;  height: auto;}
img{max-width:100%;	height: auto;width: auto\9; /* ie8 */}

h1 {font-size: 38px;}
h2 {font-size: 36px;}
h3 {font-size: 32px;}
h4 {font-size: 28px;}
h5 {font-size: 24px;}
h6 {font-size: 20px;}

h1,h2,h3,h4,h5,h6 {font-weight: 600;color: #333;font-family: 'Montserrat',sans-serif;letter-spacing: 1px;line-height: 1.3;}

p {margin: 0 0 20px;}

a {color: var(--primary);-webkit-transition: all .2s ease-in-out;-moz-transition: all .2s ease-in-out;transition: all .2s ease-in-out;}
a:hover,
a:focus {text-decoration: underline;color: var(--primary);}

button {border: none;outline: 0;}
ul li{list-style: none;}
input:not([type]), input[type="color"], input[type="email"], input[type="number"], input[type="password"], input[type="tel"], input[type="url"], input[type="text"], input[type="search"], textarea, .form-control, select {
    border-radius: 0 0 0 0;
    box-shadow: none;
    color: #999999;
    display: block;
    font-size: 14px;
    font-weight: normal;
    height: 47px;
    line-height: 1.2;
    margin: 15px 0;
    outline: medium none;
    padding: 5px 10px;
    transition: border-color 0.2s ease-in-out 0s, color 0.2s ease-in-out 0s;
    width: 100%;
	background-color: #fff;
    border: 1px solid #777;
}

.center{text-align: center; margin: 0 auto;}
.f-right{float: right;}
.f-left{float: left;}
.t-right{text-align: right;}
.t-left{text-align: left;}

.no-gutter > [class*=col-] {
    padding-right: 0;
    padding-left: 0;
}

.post{}
.post:after, .post:before, article:after, article:before, section:after, section:before{clear: both; content: '\0020'; display: block; visibility: hidden; width: 0; height: 0;}

.clear{content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix:after, .clearfix:before{clear: both; content: '\0020'; display: block; visibility: hidden; width: 0; height: 0;}

/* --Line-- */
hr.line { margin: 15px auto; padding: 0; max-width: 70px;border: 0; border-top: solid 3px #2b2d3f;text-align: center;}

/* --Page-- */
body.index-page {}
body.sub-page{}

body .wrap-body{position: relative;}
/* ---------------------------------------------------------------------------- */
/* -------------------------------Header-Styles-------------------------------- */
/* ---------------------------------------------------------------------------- */

header .main-header{position: relative;height: 100vh;width: 100%;background-size: cover;z-index: 2;}
body.index-page header{height:100vh;}
header.sub-header{background:#1D2027;min-height: 120px;}

/* Header Styles */
.header-text {margin-top: 7vh;transition: opacity 1s ease 0s, transform 1s ease 0s;z-index: 1;opacity: 1;}
body.index-page .header-text{text-align: center;margin: 35vh auto 0;}
body.index-page .header-text .header-text-inner{display: inline-block;padding: 20px 40px;}
body.sub-page .header-text{padding-left: 10%;margin-top: 12vh;}
.header-text.remove {-moz-transform: translateY(3rem);-webkit-transform: translateY(3rem);-ms-transform: translateY(3rem);transform: translateY(3rem);-moz-transition: all 0.5s ease-in-out;-webkit-transition: all 0.5s ease-in-out;-ms-transition: all 0.5s ease-in-out;transition: all 0.5s ease-in-out;opacity: 0;visibility: hidden;}

.header-text h1{margin: 0 auto;color: #000;font-size: 49px;font-family: 'Roboto', sans-serif;}
.header-text p{ margin: 10px;margin-bottom: 0;font-size: 18px;color: #000;letter-spacing: 6.5px;}

@media(max-width:978px) {
    body.index-page .header-text h1{font-size: 39px;letter-spacing: 10px;}
	body.index-page .header-text p{font-size: 16px;letter-spacing: 5px;margin-top: 0}
}
@media(max-width:767px) {
    body.index-page .header-text{width: 85vw;margin: 25vh auto 0;}
}

/* ---------------------------------------------------------------------------- */
/* ------------------------------------Menu------------------------------------ */
/* ---------------------------------------------------------------------------- */
#menu {border-radius: 0;padding: 10px 15px;text-transform: uppercase;font-family: Montserrat,sans-serif;background: #fff;}
#menu #heading {float: left;padding-left: 15px;font-size: 20px;font-weight: 700;line-height: 40px;color: #fff;margin-top: 10px;text-transform: uppercase;}
#menu a.navbar-brand:hover{color: #fff;}
#menu .navbar-brand{margin: 0;height: auto;text-transform: uppercase;padding: 0px 18px;}
#menu .logo {}
#menu .dropdown-menu {background-color: #2B2D3F;border:none;border-radius: 0;}

#menu ul.nav .dropdown-menu li a{color: #fff;}
#menu ul.nav .dropdown-menu li a:hover{color: var(--primary-light);}
#menu .dropdown-inner {display: table;}
#menu .dropdown-inner ul {display: table-cell;}
#menu .dropdown-inner a {min-width: 160px;display: block;padding: 3px 20px;clear: both;line-height: 20px;color: #000;margin: 0 5px;}
#menu li.dropdown:hover>a, #menu li.dropdown:focus>a, #menu li.dropdown:active>a{color: var(--primary-light);background: none;}
.navbar{margin: 0;}
#menu ul.nav li{padding-right: 16px;}
#menu ul.nav li a{padding: 8px 10px;color: #333;font-size: 14px;font-weight: bold;position:relative;}
#menu ul.nav li.active a:after{position: absolute;content: "";background: #333;bottom: 0;left: 50%;height: 3px; width: 20px;transform: translateX(-50%);}
#menu ul.nav li.dropdown a{}
#menu .nav > li > a:hover, #menu .nav > li > a:focus{color:var(--primary-light);background: none;}

#menu .btn-navbar {font-size: 20px;color: #FFF;padding: 5px 15px;float: right;border: 3px solid #fff;}


@media  (min-width: 768px) {
    #menu ul.nav {float:right; margin-top: 5px;}
	#menu .dropdown:hover .dropdown-menu {display: block;}
	
}
@media(max-width:767px) {
	
	#menu{background: #1D2027;padding: 10px 0;}
	#menu .navbar-brand {display: block;color: #fff;margin-top: 10px;}
	#menu div.dropdown-inner > ul.list-unstyled {display: block;}
	#menu .dropdown-inner a {width: 100%;color: #fff;}
	#menu div.dropdown-menu {margin-left: 0 !important;	padding-bottom: 10px;background-color: rgba(0, 0, 0, 0.1);}
	#menu ul.nav li a{color: #fff;}
}


/* ---------------------------------------------------------------------------- */
/* -------------------------------------Content-------------------------------- */
/* ---------------------------------------------------------------------------- */
#page-content {position: relative;overflow: visible;z-index: 2;background: #ffffff;}

/* ---HomePage--- */
.box-content {padding: 100px 0;}
.box-content .heading{margin-bottom: 70px; text-align: center;}
.box-content .heading h2{color: #2b2d3f;font-size: 30px;text-transform: uppercase;font-weight: 800;letter-spacing: 8px}
.box-content .heading .intro{max-width: 300px;margin: auto}

.box-content.box-style-2{background: #ECECEC;}
.box-content.box-style-3{background: url(../images/bg.jpg) fixed;}
/* ---------------------------------------------------------------------------- */
/* -------------------------------------Box 1---------------------------------- */
/* ---------------------------------------------------------------------------- */
.box-content.box-1 {}
.box-content.box-1 .heading .intro a{font-weight: bold;}
.box-content.box-1 .btn-skin{margin: 40px auto 0;}
.box-content.box-1 .ft-b-image img{
	border-radius: 50%;
	position: relative;
	bottom: 40px;
	max-width: 200px;
	margin: 0 auto;
}

/* ---------------------------------------------------------------------------- */
/* -------------------------------------Box 2---------------------------------- */
/* ---------------------------------------------------------------------------- */
.box-content.box-2 {}
.box-content.box-2 .ft-item{padding: 0 20px 40px;}
.box-content.box-2 .ft-item h5{font-size: 19px;text-transform: uppercase;letter-spacing: 4px;}
.box-content.box-2 .ft-item p{}
.box-content.box-2 .ft-icon{display:inline-block;margin: 10px 0;width: 40px;height: 40px;text-align: center;box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.5);border: 1px solid #f8f8f8;border-radius: 50%;background: #fff;padding-top: 5px;}
.box-content.box-2 .ft-icon i.fa{font-size: 28px;}

.box-content.box-2 .ft-item h5,
.box-content.box-2 .ft-item p,
.box-content.box-2 .ft-item .ft-icon i.fa{color: #888;-webkit-transition: all .2s ease-in-out;-moz-transition: all .2s ease-in-out;transition: all .2s ease-in-out;}
.box-content.box-2 .ft-item:hover h5,
.box-content.box-2 .ft-item:hover p,
.box-content.box-2 .ft-item:hover .ft-icon i.fa{color: #212121;}

@media(max-width:767px) {
    .box-content.box-2 .ft-b-image{text-align: center;}
	.box-content.box-2 .ft-b-image img{margin: auto;}
}

/* ---------------------------------------------------------------------------- */
/* -------------------------------------Box 3---------------------------------- */
/* ---------------------------------------------------------------------------- */
.box-content.box-3 {text-align: center}
.box-content.box-3 .box-item{margin-bottom: 30px;}
.box-content.box-3 .box-item h3{font-size: 19px;}
.box-content.box-3 .box-item img.icon{margin:auto}

/* ---------------------------------------------------------------------------- */
/* -------------------------------------Box 4---------------------------------- */
/* ---------------------------------------------------------------------------- */
.box-content.box-4 {}
.box-content.box-4 .box-item{margin: 40px auto 60px;float: left;text-align: center;border: 1px solid #ccc;padding: 0 15px 20px;}
.box-content.box-4 .box-item h3{font-size:18px;text-transform:uppercase;margin-bottom: 20px;}
.box-content.box-4 .box-item p{font-size: 14px;color: var(--text-body);}
.box-content.box-4 .box-item .icon{height: 100px; width: 100px;margin: -50px auto 0;border: 5px solid #ECECEC;display: block;border-radius: 50%;}
.box-content.box-4 .box-item .icon img{border-radius: 50%;}

.title-ed h5{
	margin: 0;
}
.title-ed h6{
	font-size: 14px;
	color: var(--text-muted);
}
.title-ed p{
	font-size: 14px;
	color: var(--text-body);
}
.progress {
	height: 10px;
}
.bg-primary{
	background-color: #007bff!important;
}
.bg-success{
	background-color: #28a745!important;
}
.bg-warning{
	background-color: #ffc107!important;
}
.bg-info{
	background-color: #17a2b8!important;
}
.bg-danger{
	background-color: #dc3545!important;
}

/* ---------------------------------------------------------------------------- */
/* -------------------------------------Box 5---------------------------------- */
/* ---------------------------------------------------------------------------- */
.box-content.box-5 {}
.box-content.box-5 .box-item{text-align: center;color: #fff;}
.box-content.box-5 blockquote {position: relative;padding: 40px 120px 0;text-align: center;font-size: 38px; border:none;line-height: 1.2;}
.box-content.box-5 blockquote:before, .box-content.box-5 blockquote:after {position: absolute;width: 60px;height: 60px;font-size: 130px;line-height: 1; }
.box-content.box-5 blockquote:before {top: 0;left: 0;content: "\201C"; }
.box-content.box-5 blockquote:after {top: 0;right: 0;content: "\201D"; }
@media only screen and (max-width: 1100px) {
 .box-content.box-5 blockquote {font-size: 30px; } 
 }
@media only screen and (max-width: 960px) {
 .box-content.box-5 blockquote {padding: 30px 60px;font-size: 22px; }
 .box-content.box-5 blockquote:before, .box-content.box-5 blockquote:after {width: 30px;height: 30px;font-size: 70px; } 
 }
@media only screen and (max-width: 690px) {
 .box-content.box-5 blockquote {padding: 10px 30px;font-size: 20px; }
 .box-content.box-5  blockquote:before, .box-content.box-5 blockquote:after {font-size: 35px; } 
 }

/* ---------------------------------------------------------------------------- */
/* -------------------------------------Box 6---------------------------------- */
/* ---------------------------------------------------------------------------- */
.box-content.box-6 {border-bottom: 1px solid transparent;border-top: 1px solid #DDD;}
.box-content.box-6 .box-item{background-color: #fff;margin: 0 15px 30px;border: 1px solid #eee;max-width: 500px;}
.box-content.box-6 .box-item .content{padding: 10px 30px 30px;} 
.box-content.box-6 .box-item img {width: 100%;}
.box-content.box-6 .box-item .content h3{font-weight: 500;font-size: 24px;margin-bottom: 20px;} 
.box-content.box-6 .box-item .content h3 a{color: #333;}
.box-content.box-6 .box-item .content h3 a:hover{color: var(--primary);text-decoration: none;}
.box-content.box-6 .box-item .content span{color: var(--text-muted);font-size: 13px;}
 
 
/* ---------------------------------------------------------------------------- */
/* -------------------------------------Box 7---------------------------------- */
/* ---------------------------------------------------------------------------- */
.box-content.box-7 {}


/* ---Article--- */
article.single-post{padding-bottom: 0;}
article.single-post .wrap-post, .comments-are {padding:30px 20px; position: relative;}
article{background: #ffffff; color: #3F3F3F; margin: 50px 0;border-bottom: 1px solid #e1e1e1;padding-bottom: 50px;}
article:last-child{border-bottom: none;}
article:after, article:before{clear: both; content: '\0020'; display: block; visibility: hidden; width: 0; height: 0;}
article .post-thumbnail-wrap {text-align: center;width: 100%;margin-bottom: 10px;}
article .post-thumbnail-wrap img {}
article h2.entry-title{font-size: 35px;margin: 20px 0 10px;font-weight: 300;}
article h2.entry-title a{color: #131313;}
article h2.entry-title a:hover{color: var(--primary);text-decoration: none;}
article .l-tags{text-align: center; font-size: 11px;}

article .entry-header{margin-bottom: 30px;}
article.single-post .entry-header{margin-bottom: 60px;}
article.single-post .entry-header h1.entry-title{font-size: 43px;line-height: 30px;letter-spacing: 2px;font-weight: 300;margin: 0;text-transform: uppercase;margin-bottom: 40px;line-height: 1.1}
article.single-post .entry-header h1.entry-title a {color: #575756;margin: 0;}
article .entry-title-blog a:hover {color: var(--primary);}

article .entry-header .entry-meta{color: #777;font-size: 13px;}
article .entry-header .entry-meta a {color: #777;}
article .entry-header .entry-meta a:hover {color: var(--primary);}


article .entry-content{text-align: left;margin-top: 30px;}
article.single-post .entry-content{ padding: 40px 120px;}
@media(max-width:767px){
	article.single-post .entry-content{ padding: 30px;}
}

article .entry-content p{color: #686868;}
article .entry-content blockquote {border-left: 3px solid var(--primary);margin: 0 50px;font-style: italic;color: #666;padding-left: 20px;}
article .entry-content ol {float: left;text-align: justify;margin: 10px 50px;list-style-type: circle;}

.comments-are{border-top: 1px solid #e1e1e1;margin: 50px 0 ;}
.comments-are textarea {height:170px;}

/* ---------------------------------------------------------------------------- */
/* ------------------------------------Footer---------------------------------- */
/* ---------------------------------------------------------------------------- */
.site-footer{position: relative;padding: 55px 0 14px;color: rgba(255, 255, 255, .6);background: #1D2027;}
.footer-main{display: flex;align-items: center;justify-content: space-between;gap: 20px;padding-bottom: 14px;border-bottom: 1px solid rgba(255, 255, 255, .1);}
.footer-brand{font-family: Montserrat,sans-serif;font-size: 18px;font-weight: 800;letter-spacing: 1px;text-transform: uppercase;color: #fff;}
.footer-brand span{color: var(--primary-light);}
.footer-role{margin: 2px 0 0;font-size: 13px;line-height: 1.4;}
.footer-actions{display: flex;align-items: center;gap: 24px;}
.footer-social{display: flex;gap: 6px;margin: 0;padding: 0;list-style: none;}
.footer-social a{display: flex;align-items: center;justify-content: center;width: 36px;height: 36px;font-size: 16px;color: rgba(255, 255, 255, .7);border-radius: 50%;transition: all .2s ease;}
.footer-social a:hover, .footer-social a:focus{color: #fff;background: var(--primary);text-decoration: none;}
.footer-top{display: inline-flex;align-items: center;gap: 6px;padding: 7px 14px;font-size: 13px;font-weight: 600;color: var(--primary-light);border: 1px solid rgba(255, 255, 255, .15);border-radius: 20px;transition: all .2s ease;}
.footer-top:hover, .footer-top:focus{color: #fff;border-color: var(--primary-light);text-decoration: none;}
.footer-bottom{display: flex;justify-content: space-between;padding-top: 12px;font-size: 12px;line-height: 1.5;}
@media(max-width:767px) {
	.site-footer{padding-top: 40px;text-align: center;}
	.footer-main{flex-direction: column;gap: 10px;}
	.footer-actions{gap: 8px;}
	.footer-social a{width: 32px;height: 32px;}
	.footer-bottom{justify-content: center;}
	.footer-bottom span + span{display: none;}
}

/* ---------------------------------------------------------------------------- */
/* -----------------------------Portfolio Box---------------------------------- */
/* ---------------------------------------------------------------------------- */
.portfolio-box-inner {display: block;position: relative;margin: auto;overflow: hidden;height: 100%; width: 100%;}
.portfolio-box{}

.portfolio-box .portfolio-box-caption {display: block;position: absolute;bottom: 0;width: 100%;height: 100%;color: #fff;-webkit-transition: all .35s;-moz-transition: all .35s;transition: all .35s;}

.portfolio-box .portfolio-box-caption .portfolio-box-description {position: absolute;top: 50%;left: 40px;max-width: 80%;transform: translateY(-50%);}
.portfolio-box .portfolio-box-caption .portfolio-box-description .product-category,
.portfolio-box .portfolio-box-caption .portfolio-box-description .product-name {-webkit-transition: all .35s;-moz-transition: all .35s;transition: all .35s;opacity:0}
.portfolio-box .portfolio-box-caption .portfolio-box-description .product-category {font-size: 13px;margin-left: 25px;}
.portfolio-box .portfolio-box-caption .portfolio-box-description .product-name {font-size: 17px;margin: 0 0 10px -100px;color: #F3E43C;}

.portfolio-box:hover .portfolio-box-caption {background: rgba(var(--primary-rgb), .9);}


.portfolio-box:hover .portfolio-box-caption .portfolio-box-description .product-category,
.portfolio-box:hover .portfolio-box-caption .portfolio-box-description .product-name{margin-left: 0;opacity: 1}

@media(min-width:768px) {
    .portfolio-box .portfolio-box-caption .portfolio-box-description .product-category {font-size: 15px;}
    .portfolio-box .portfolio-box-caption .portfolio-box-description .product-name {font-size: 19px;}
}

/* ---------------------------------------------------------------------------- */
/* ------------------------------------Button---------------------------------- */
/* ---------------------------------------------------------------------------- */
.btn {
	border-radius: 10px;
	outline: none;
	color: #2b2d3f;
	font-family: Montserrat, sans-serif;
	text-decoration: none;
	letter-spacing: .2px;
	font-weight: 600;
	font-size: 14px;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
a.btn:focus{outline: 0;}
.btn:focus-visible{box-shadow: 0 0 0 3px rgba(var(--primary-rgb), .4);}

.btn-skin {padding: 10px 22px;color: #fff;background-color: var(--primary);margin: 10px 0;}
.btn-skin i.fa{padding-left: 5px;}
.btn-skin:hover, .btn-skin:focus {color: #fff;background-color: var(--primary-dark);transform: translateY(-2px);box-shadow: 0 8px 22px rgba(var(--primary-rgb), .35);}




.cbp_tmtimeline {
	margin: 30px 0 0 0;
	padding: 0;
	list-style: none;
	position: relative;
} 

/* The line */
.cbp_tmtimeline:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 2px;
	background: #d4d3d3;
	left: 20%;
	margin-left: -10px;
}

/* The date/time */
.cbp_tmtimeline > li .cbp_tmtime {
	display: block;
	width: 25%;
	padding-right: 100px;
    position: absolute;
    line-height: 25px;
    margin-top: 7px;
}

.cbp_tmtimeline > li .cbp_tmtime span {
	display: block;
	text-align: right;
}

.cbp_tmtimeline > li .cbp_tmtime span:first-child {
	font-size: 0.8em;
	color: var(--text-muted);
}

/* Right content */
.cbp_tmtimeline > li .cbp_tmlabel {
	margin: 0 0 15px 25%;
	color: #fff;
	padding: 1em;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.4;
	position: relative;
    border-radius: 5px;
    border: 1px solid #ccc;
}
.cbp_tmlabel span{
    color: #999;

}
.cbp_tmlabel > ul{
    margin-left: -30px;
    color: var(--text-body);
}

.cbp_tmtimeline > li .cbp_tmlabel h2 { 
	margin: 0px;
    font-size: 22px;
}
.cbp_tmlabel .line{
    margin: 5px 0;
    border-top: solid 2px #ccc;
}

/* The triangle */
.cbp_tmtimeline > li .cbp_tmlabel:after {
    right: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-right-color: #ccc;
    border-width: 10px;
    top: 10px;
}

.cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel:after {
	border-right-color: #ccc;
}

/* The icons */
.cbp_tmtimeline > li .cbp_tmicon {
    width: 10px;
    height: 10px;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    font-size: 1.4em;
    line-height: 40px;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    color: #fff;
    background: #ECECEC;
    border-radius: 50%;
    box-shadow: 0 0 0 2px #ccc;
    text-align: center;
    left: 20%;
    /* top: 0; */
    margin: 15px 0 0 -14px;
}

/* Example Media Queries */
@media screen and (max-width: 65.375em) {

	.cbp_tmtimeline > li .cbp_tmtime span:last-child {
		font-size: 1.5em;
	}
}

@media screen and (max-width: 47.2em) {
	.cbp_tmtimeline:before {
		display: none;
	}

	.cbp_tmtimeline > li .cbp_tmtime {
		width: 100%;
		position: relative;
		padding: 0 0 20px 0;
	}

	.cbp_tmtimeline > li .cbp_tmtime span {
		text-align: left;
		margin-left: 25px;
	}

	.cbp_tmtimeline > li .cbp_tmlabel {
		margin: 0 0 30px 0;
		padding: 1em;
		font-weight: 400;
		font-size: 95%;
	}

	.cbp_tmtimeline > li .cbp_tmlabel:after {
		right: auto;
		left: 20px;
		border-right-color: transparent;
		border-bottom-color: #ccc;
		top: -20px;
	}

	.cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel:after {
		border-right-color: transparent;
		border-bottom-color: #ccc;
	}

	.cbp_tmtimeline > li .cbp_tmicon {
		position: relative;
		float: left;
		left: auto;
		margin: -35px 5px 0 0px;
	}	
}
/* Hero role */

/* What I Do */
.box-content.box-3 .box-item .service-icon{font-size: 48px;color: var(--primary);margin-bottom: 10px;}
.box-content.box-3 .box-item p{font-size: 14px;color: var(--text-muted);}

/* Skills */
.skill-group{margin-bottom: 20px;}
.skill-group h5{font-size: 15px;font-weight: 700;text-transform: uppercase;letter-spacing: 2px;color: #2b2d3f;margin: 0 0 10px;}
.skill-tags{list-style: none;padding: 0;margin: 0;}
.skill-tags li{display: inline-block;margin: 0 6px 8px 0;padding: 5px 12px;font-size: 13px;color: #2b2d3f;background: #fff;border: 1px solid #d4d3d3;border-radius: 15px;}
.skill-tags li:hover{border-color: var(--primary);color: var(--primary);}

/* Projects */
.box-content.box-6 .box-item .project-cover{height: 160px;display: flex;align-items: center;justify-content: center;background: #2b2d3f;color: var(--primary-light);font-size: 64px;}

/* Wordmark */
#menu .navbar-brand.brand-name{font-family: Montserrat,sans-serif;font-size: 22px;font-weight: 800;letter-spacing: 1px;line-height: 40px;color: #2b2d3f;}
#menu .navbar-brand.brand-name span{color: var(--primary-light);}
#menu .navbar-brand.brand-name:hover{color: #2b2d3f;text-decoration: none;}
@media(max-width:767px) {
	#menu .navbar-brand.brand-name, #menu .navbar-brand.brand-name:hover{color: #fff;margin-top: 0;}
}

/* Hero */
header .main-header{overflow: hidden;background: linear-gradient(160deg, #2b2d3f 0%, #1D2027 100%);}
body.index-page .header-text{margin-top: 28vh;}
body.index-page .header-text .header-text-inner{max-width: 760px;}
.header-text .header-eyebrow{display: block;margin-bottom: 15px;font-family: Montserrat,sans-serif;font-size: 14px;font-weight: 700;letter-spacing: 4px;text-transform: uppercase;color: var(--primary-light);}
.header-text h1, body.index-page .header-text h1{color: #fff;letter-spacing: 0;}
.header-text .typed-cursor{color: var(--primary-light);}
.header-text p.header-lead, body.index-page .header-text p.header-lead{margin: 20px auto 0;max-width: 560px;font-size: 18px;line-height: 1.6;letter-spacing: 0;color: rgba(255, 255, 255, .75);}
.header-cta{margin-top: 30px;}
.header-cta .btn{margin: 6px;padding: 13px 28px;font-size: 15px;}
.header-cta .btn i.fa{padding: 0 6px 0 0;}
.btn-ghost{color: #fff;background: rgba(255, 255, 255, .06);border: 1px solid rgba(255, 255, 255, .18);-webkit-backdrop-filter: blur(6px);backdrop-filter: blur(6px);}
.btn-ghost:hover, .btn-ghost:focus{color: #fff;border-color: rgba(255, 255, 255, .35);background: rgba(255, 255, 255, .12);transform: translateY(-2px);}
.header-stats{display: flex;justify-content: center;margin: 40px 0 0;font-size: 13px;letter-spacing: 1px;text-transform: uppercase;color: rgba(255, 255, 255, .6);}
.header-stats li{padding: 0 18px;}
.header-stats li + li{border-left: 1px solid rgba(255, 255, 255, .2);}
.header-stats strong{display: block;font-family: Montserrat,sans-serif;font-size: 28px;letter-spacing: 0;color: #fff;}
@media(max-width:767px) {
	body.index-page .header-text{margin-top: 12vh;}
	body.index-page .header-text .header-text-inner{padding: 20px 0;}
	body.index-page .header-text h1{font-size: 28px;}
	body.index-page .header-text #typed{white-space: normal !important;}
	body.index-page .header-text p.header-lead{font-size: 16px;}
	.header-stats{margin-top: 25px;font-size: 10px;}
	.header-stats li{flex: 1;padding: 0 6px;}
	.header-stats strong{font-size: 22px;}
	#scroll-page-content{display: none;}
}

/* Project grid */
.project-grid{display: flex;flex-wrap: wrap;justify-content: center;}
.project-grid:before, .project-grid:after{display: none;}
.project-grid .item{display: flex;}
.box-content.box-6 .project-grid .box-item{flex: 1;margin: 0 0 30px;}

/* Nav fits more links on small desktops */
@media(min-width:768px) and (max-width:1199px) {
	#menu ul.nav li{padding-right: 0;}
	#menu ul.nav li a{padding: 8px 7px;font-size: 12px;}
	#menu .navbar-brand.brand-name{font-size: 18px;padding: 0 10px;}
}

.btn-ghost-dark{margin: 10px 0;padding: 9px 21px;color: #2b2d3f;background: transparent;border: 1px solid rgba(43, 45, 63, .25);}
.btn-ghost-dark:hover, .btn-ghost-dark:focus{color: #2b2d3f;border-color: var(--primary);background: rgba(var(--primary-rgb), .06);transform: translateY(-2px);}
.btn-skin i.fab, .btn-ghost-dark i.fa{padding: 0 6px 0 0;}

/* Open Source */
.oss-card{margin-bottom: 30px;padding: 30px;background: #fff;border: 1px solid #ddd;border-top: 3px solid var(--primary);}
.oss-card h3{margin: 0 0 12px;font-size: 22px;}
.oss-card h3 a{color: #2b2d3f;}
.oss-card h3 i{color: var(--primary);}
.oss-card p{color: #666;}
.oss-stats{margin: 15px 0;color: var(--text-muted);}
.oss-stats li{padding-right: 20px;}
.oss-stats i{color: var(--primary);}
.oss-stats strong{font-size: 18px;color: #2b2d3f;}
.oss-card code{display: block;padding: 10px 14px;color: #e9e9e9;background: #2b2d3f;border-radius: 3px;font-size: 13px;white-space: nowrap;overflow-x: auto;}
.oss-links .btn{margin: 15px 8px 0 0;}
.box-oss .btn-skin{margin-top: 10px;}

/* Contact */
.box-contact{text-align: center;}
.box-contact .heading .intro{max-width: 520px;}
.contact-card{display: block;margin-bottom: 30px;padding: 30px 15px;color: #2b2d3f;border: 1px solid #eee;transition: all .2s ease-in-out;}
a.contact-card:hover, a.contact-card:focus{color: #2b2d3f;text-decoration: none;border-color: var(--primary);box-shadow: 0 8px 20px rgba(0, 0, 0, .06);}
.contact-card i{font-size: 32px;color: var(--primary);}
.contact-card h3{margin: 15px 0 8px;font-size: 18px;}
.contact-card p{margin: 0;color: var(--text-muted);word-break: break-word;}
.contact-cta .btn{margin: 6px;padding: 13px 28px;font-size: 15px;}

/* Short screens: keep hero stats clear of the scroll button */
@media(min-width:768px) and (max-height:820px) {
	body.index-page .header-text{margin-top: 18vh;}
	#scroll-page-content{display: none;}
}

/* ---------------------------------------------------------------------------- */
/* Fixed nav: transparent over the hero, solid once scrolled                     */
/* ---------------------------------------------------------------------------- */
header .main-header{z-index: 3;padding-top: 70px;}
/* Solid by default; JS adds .at-top only while the hero is under the nav. */
#menu{position: fixed;top: 0;left: 0;right: 0;z-index: 1030;padding: 6px 15px;background: rgba(29, 32, 39, .92);-webkit-backdrop-filter: blur(8px);backdrop-filter: blur(8px);box-shadow: 0 4px 20px rgba(0, 0, 0, .25);transition: background .3s ease, padding .3s ease, box-shadow .3s ease;}
#menu.at-top{padding: 15px 15px;background: transparent;-webkit-backdrop-filter: none;backdrop-filter: none;box-shadow: none;}
#menu .navbar-brand.brand-name, #menu .navbar-brand.brand-name:hover{color: #fff;}
#menu ul.nav li a{color: rgba(255, 255, 255, .8);}
#menu .nav > li > a:hover, #menu .nav > li > a:focus{color: #fff;}
#menu ul.nav li.active a{color: #fff;}
#menu ul.nav li.active a:after{background: var(--primary-light);width: 20px;}
#menu ul.nav li a:after{position: absolute;content: "";background: var(--primary-light);bottom: 0;left: 50%;height: 3px;width: 0;transform: translateX(-50%);transition: width .2s ease;}
#menu ul.nav li a:hover:after{width: 20px;}
#menu ul.nav li.nav-cta a{margin-left: 6px;padding: 7px 14px;color: var(--primary-light);border: 1px solid var(--primary-light);border-radius: 10px;}
#menu ul.nav li.nav-cta a:after{display: none;}
#menu ul.nav li.nav-cta a:hover{color: #fff;background: var(--primary);}
#menu .btn-navbar{border: 2px solid rgba(255, 255, 255, .7);}
@media(max-width:1199px) {
	#menu ul.nav li.nav-cta{display: none;}
}
@media(max-width:767px) {
	#menu, #menu.at-top{padding: 8px 0;background: #1D2027;}
	#menu .navbar-collapse{border-top: 1px solid rgba(255, 255, 255, .1);box-shadow: none;}
	#menu ul.nav li a:after, #menu ul.nav li.active a:after{display: none;}
	#menu ul.nav li.active a{color: var(--primary-light);}
}

/* Open Source: equal-height cards, buttons pinned to the bottom */
.oss-grid{display: flex;flex-wrap: wrap;justify-content: center;}
.oss-grid:before, .oss-grid:after{display: none;}
.oss-grid > div{display: flex;}
.oss-grid .oss-card{flex: 1;min-width: 0;display: flex;flex-direction: column;}
.oss-grid .oss-links{margin-top: auto;}
.oss-stats strong{font-size: 16px;}
.oss-grid .oss-card code{white-space: normal;overflow-wrap: anywhere;font-size: 12px;}

/* Project media: screenshots in browser / phone frames */
.box-content.box-6 .box-item .project-media{position: relative;height: 210px;overflow: hidden;display: flex;align-items: flex-end;justify-content: center;padding: 28px 28px 0;background: radial-gradient(ellipse at 30% 0%, rgba(var(--primary-rgb), .55), transparent 70%), linear-gradient(160deg, #2b2d3f 0%, #1D2027 100%);}
.device-browser{width: 100%;height: 100%;display: flex;flex-direction: column;overflow: hidden;background: #fff;border-radius: 8px 8px 0 0;box-shadow: 0 -4px 30px rgba(0, 0, 0, .35);transition: transform .3s ease;}
.browser-bar{flex: none;display: flex;align-items: center;gap: 5px;height: 22px;padding: 0 10px;background: #ececec;}
.browser-bar i{width: 8px;height: 8px;border-radius: 50%;background: #ccc;}
.browser-bar i:nth-child(1){background: #ff5f57;}
.browser-bar i:nth-child(2){background: #febc2e;}
.browser-bar i:nth-child(3){background: #28c840;}
.browser-bar span{flex: 1;margin-left: 8px;padding: 1px 8px;font-size: 10px;line-height: 14px;color: #888;background: #fff;border-radius: 3px;text-align: left;white-space: nowrap;overflow: hidden;}
.box-content.box-6 .box-item .project-media img{display: block;width: 100%;height: 100%;object-fit: cover;object-position: top;}
.device-phone{width: 112px;height: 200px;padding: 8px 6px 0;background: #111;border-radius: 20px 20px 0 0;box-shadow: 0 -4px 30px rgba(0, 0, 0, .35);transition: transform .3s ease;}
.device-phone > *{height: 100%;border-radius: 14px 14px 0 0;overflow: hidden;}
.screen-placeholder{flex: 1;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 8px;color: #fff;background: linear-gradient(160deg, var(--primary) 0%, var(--primary-dark) 100%);}
.screen-placeholder i{font-size: 34px;color: var(--primary-light);}
.screen-placeholder span{padding: 0 8px;text-align: center;line-height: 1.4;font-family: Montserrat,sans-serif;font-size: 12px;font-weight: 700;letter-spacing: 1px;text-transform: uppercase;}
.device-browser .screen-placeholder{background: linear-gradient(160deg, #f4f6f8 0%, #e6ebef 100%);color: #2b2d3f;}
.device-browser .screen-placeholder i{color: var(--primary);}
.box-content.box-6 .box-item:hover .device-browser, .box-content.box-6 .box-item:hover .device-phone{transform: translateY(-6px);}
.box-content.box-6 .box-item .content h3 img.project-icon{width: 32px;height: 32px;margin: -4px 10px 0 0;vertical-align: middle;border-radius: 8px;box-shadow: 0 0 0 1px #e5e5e5;}

/* Section heading icons */
.heading-icon{display: inline-flex;align-items: center;justify-content: center;width: 48px;height: 48px;margin-bottom: 15px;font-size: 20px;color: var(--primary);background: rgba(var(--primary-rgb), .1);border-radius: 50%;}
.box-style-2 .heading-icon{background: #fff;box-shadow: 0 2px 8px rgba(0, 0, 0, .06);}

/* Menu icons */
#menu ul.nav li a .nav-icon{margin-right: 6px;font-size: 12px;opacity: .7;transition: opacity .2s ease;}
#menu ul.nav li a:hover .nav-icon, #menu ul.nav li.active a .nav-icon{opacity: 1;color: var(--primary-light);}
@media(min-width:768px) and (max-width:1279px) {
	#menu ul.nav li a .nav-icon{display: none;}
}
@media(max-width:767px) {
	#menu ul.nav li a .nav-icon{width: 20px;margin-right: 10px;text-align: center;font-size: 14px;}
}
@media(min-width:1200px) {
	#menu ul.nav li{padding-right: 2px;}
	#menu ul.nav li a{padding: 8px 9px;}
}
@media(max-width:1439px) {
	#menu ul.nav li.nav-cta{display: none;}
}

/* ---------------------------------------------------------------------------- */
/* Section dividers: one big wave in the section's own colour, curving into the next */
/* ---------------------------------------------------------------------------- */
.box-content{--section-bg: #fff;--wave-height: 100px;position: relative;background-color: var(--section-bg);}
.box-content.box-style-2{--section-bg: #ECECEC;}
.box-content.box-6{border: none;}
.box-content:not(.box-style-3)::after,
.box-content.wave-up::before{content: "";position: absolute;left: 0;right: 0;z-index: 2;width: auto;height: var(--wave-height);visibility: visible;clear: none;background: var(--section-bg);pointer-events: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V20C1100 140 340-40 0 80Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V20C1100 140 340-40 0 80Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;}
.box-content:not(.box-style-3)::after{top: 100%;margin-top: -1px;}
/* The quote banner is a photo, so the section after it curves up into it instead */
.box-content.wave-up::before{bottom: 100%;margin-bottom: -1px;transform: rotate(180deg);}
@media(max-width:767px) {
	.box-content{--wave-height: 50px;}
}

/* ---------------------------------------------------------------------------- */
/* Design Background: two-row infinite marquee + lightbox                        */
/* ---------------------------------------------------------------------------- */
.design-marquee{margin-bottom: 30px;-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);}
.marquee-row{overflow: hidden;padding: 10px 0;}
.marquee-track{display: flex;gap: 20px;width: max-content;animation: marquee 70s linear infinite;}
.marquee-reverse .marquee-track{animation-direction: reverse;}
.marquee-row:hover .marquee-track, .marquee-row:focus-within .marquee-track{animation-play-state: paused;}
/* The track holds two identical copies, so shifting by half (plus half a gap) loops seamlessly */
@keyframes marquee{from{transform: translateX(0);}to{transform: translateX(calc(-50% - 10px));}}

.design-tile{position: relative;flex: none;width: 300px;height: 220px;padding: 0;overflow: hidden;border: none;border-radius: 12px;background: #ddd;cursor: zoom-in;box-shadow: 0 6px 18px rgba(0, 0, 0, .08);transition: transform .3s ease, box-shadow .3s ease;}
.design-tile img{display: block;width: 100%;height: 100%;object-fit: cover;transition: transform .5s ease;}
.design-tile:hover, .design-tile:focus-visible{transform: translateY(-4px);box-shadow: 0 14px 30px rgba(0, 0, 0, .18);outline: none;}
.design-tile:focus-visible{box-shadow: 0 0 0 3px var(--primary);}
.design-tile:hover img{transform: scale(1.06);}
.design-tile-caption{position: absolute;left: 0;right: 0;bottom: 0;display: flex;flex-direction: column;align-items: flex-start;padding: 40px 16px 14px;text-align: left;color: #fff;background: linear-gradient(transparent, rgba(29, 32, 39, .85));opacity: 0;transform: translateY(10px);transition: opacity .3s ease, transform .3s ease;}
.design-tile:hover .design-tile-caption, .design-tile:focus-visible .design-tile-caption{opacity: 1;transform: none;}
.design-tile-caption strong{font-family: Montserrat,sans-serif;font-size: 15px;font-weight: 700;}
.design-tile-caption em{margin-top: 2px;font-style: normal;font-size: 12px;letter-spacing: 1px;text-transform: uppercase;color: var(--primary-light);}
@media(max-width:767px) {
	.design-tile{width: 220px;height: 160px;}
	.marquee-track{animation-duration: 50s;}
}
@media (prefers-reduced-motion: reduce) {
	.marquee-track{animation: none;}
	.marquee-row{overflow-x: auto;}
}

.design-lightbox{position: fixed;inset: 0;z-index: 2000;display: flex;align-items: center;justify-content: center;padding: 60px 70px;background: rgba(15, 17, 22, .92);opacity: 0;transition: opacity .25s ease;}
.design-lightbox[hidden]{display: none;}
.design-lightbox.open{opacity: 1;}
.design-lightbox figure{margin: 0;text-align: center;transform: scale(.96);transition: transform .25s ease;}
.design-lightbox.open figure{transform: none;}
.design-lightbox img{max-width: 100%;max-height: calc(100vh - 160px);border-radius: 8px;box-shadow: 0 20px 60px rgba(0, 0, 0, .5);}
.design-lightbox figcaption{margin-top: 15px;color: #fff;}
.design-lightbox figcaption strong{font-family: Montserrat,sans-serif;font-size: 18px;}
.design-lightbox figcaption em{display: block;font-style: normal;font-size: 12px;letter-spacing: 1px;text-transform: uppercase;color: var(--primary-light);}
.lightbox-close, .lightbox-nav{position: absolute;display: flex;align-items: center;justify-content: center;width: 46px;height: 46px;padding: 0;font-size: 18px;color: #fff;background: rgba(255, 255, 255, .1);border: none;border-radius: 50%;transition: background .2s ease;}
.lightbox-close:hover, .lightbox-nav:hover{background: var(--primary);}
.lightbox-close{top: 20px;right: 20px;}
.lightbox-prev{left: 15px;top: 50%;margin-top: -23px;}
.lightbox-next{right: 15px;top: 50%;margin-top: -23px;}
@media(max-width:767px) {
	.design-lightbox{padding: 70px 15px;}
	.lightbox-nav{top: auto;bottom: 15px;margin-top: 0;}
	.lightbox-prev{left: calc(50% - 56px);}
	.lightbox-next{right: calc(50% - 56px);}
}
#work .heading .intro{max-width: 520px;}
.box-content.box-contact{--wave-height: 50px;}
@media(max-width:767px) {
	.box-content.box-contact{--wave-height: 30px;}
}

/* ---------------------------------------------------------------------------- */
/* Hero: drifting glow shapes + dot grid, arrow buttons, mouse scroll indicator  */
/* ---------------------------------------------------------------------------- */
.hero-bg{position: absolute;inset: 0;z-index: 0;pointer-events: none;}
.hero-bg::after{content: "";position: absolute;inset: 0;background-image: radial-gradient(rgba(255, 255, 255, .09) 1px, transparent 1.5px);background-size: 28px 28px;-webkit-mask-image: radial-gradient(ellipse at center, #000 20%, transparent 75%);mask-image: radial-gradient(ellipse at center, #000 20%, transparent 75%);}
.hero-blob{position: absolute;border-radius: 50%;filter: blur(80px);opacity: .55;will-change: transform;}
.blob-1{width: 520px;height: 520px;top: -120px;right: 8%;background: var(--primary);animation: blob-drift-1 26s ease-in-out infinite alternate;}
.blob-2{width: 420px;height: 420px;bottom: -140px;left: 6%;background: var(--primary-light);opacity: .22;animation: blob-drift-2 32s ease-in-out infinite alternate;}
.blob-3{width: 300px;height: 300px;top: 35%;left: 45%;background: #2b2d3f;opacity: .8;animation: blob-drift-3 22s ease-in-out infinite alternate;}
@keyframes blob-drift-1{to{transform: translate(-180px, 140px) scale(1.15);}}
@keyframes blob-drift-2{to{transform: translate(220px, -120px) scale(.9);}}
@keyframes blob-drift-3{to{transform: translate(-140px, -80px) scale(1.2);}}
.header-text{position: relative;z-index: 1;}

.btn .btn-arrow{margin-left: 8px;padding: 0 !important;transition: transform .2s ease;}
.btn:hover .btn-arrow{transform: translateX(4px);}

#scroll-page-content{position: absolute;left: 0;right: 0;bottom: 28px;text-align: center;transition: opacity .3s ease;}
#scroll-page-content.is-hidden{opacity: 0;pointer-events: none;}
.scroll-indicator{display: inline-flex;flex-direction: column;align-items: center;gap: 8px;color: rgba(255, 255, 255, .55);text-decoration: none;}
.scroll-indicator:hover, .scroll-indicator:focus{color: #fff;text-decoration: none;}
.scroll-mouse{position: relative;width: 24px;height: 38px;border: 2px solid currentColor;border-radius: 14px;}
.scroll-wheel{position: absolute;top: 7px;left: 50%;width: 4px;height: 8px;margin-left: -2px;background: var(--primary-light);border-radius: 2px;animation: scroll-wheel 1.8s ease-in-out infinite;}
@keyframes scroll-wheel{0%{opacity: 0;transform: translateY(0);}30%{opacity: 1;}80%{opacity: 0;transform: translateY(12px);}100%{opacity: 0;}}
.scroll-label{font-size: 11px;letter-spacing: 3px;text-transform: uppercase;}

@media (prefers-reduced-motion: reduce) {
	.hero-blob, .scroll-wheel{animation: none;}
}

/* Branding: static logo row (replaces the Owl carousel) */
.brand-logos{display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 10px 30px;margin: 0;padding: 0;list-style: none;}
.brand-logos li{flex: 0 1 150px;}
.brand-logos img{display: block;width: 100%;height: auto;opacity: .85;transition: opacity .2s ease, transform .2s ease;}
.brand-logos img:hover{opacity: 1;transform: scale(1.05);}

/* Experience: earlier roles collapsed behind a toggle */
.cbp_tmtimeline.is-collapsed > li.is-older{display: none;}
.timeline-toggle i{margin-left: 6px;transition: transform .2s ease;}
.timeline-toggle[aria-expanded="true"] i{transform: rotate(180deg);}
.cbp_tmtimeline > li .cbp_tmlabel ul li{color: var(--text-body);}
.box-contact .row{display: flex;flex-wrap: wrap;}
.box-contact .row:before, .box-contact .row:after{display: none;}
.box-contact .row > div{display: flex;}
.box-contact .contact-card{flex: 1;}
@media(max-width:767px) {
	.box-contact .row > div{width: 100%;}
}

/* ---------------------------------------------------------------------------- */
/* Impact in Numbers (dark band) + Testimonials                                  */
/* ---------------------------------------------------------------------------- */
.box-content.box-impact{--section-bg: #1D2027;background: radial-gradient(circle at 88% 0%, rgba(var(--primary-rgb), .55), transparent 45%), var(--section-bg);}
.box-impact .heading h2{color: #fff;}
.box-impact hr.line{border-top-color: var(--primary-light);}
.box-impact .heading .intro{color: rgba(255, 255, 255, .65);}
.box-impact .heading-icon{color: var(--primary-light);background: rgba(255, 255, 255, .08);}
.impact-grid{display: grid;grid-template-columns: 1.3fr 1fr 1fr;gap: 20px;}
.impact-item{display: flex;flex-direction: column;justify-content: center;}
.impact-item.impact-feature{grid-row: span 2;padding: 36px 32px;background: linear-gradient(150deg, rgba(var(--primary-rgb), .45), rgba(255, 255, 255, .03) 70%);border-color: rgba(45, 212, 191, .25);}
.impact-feature-icon{font-size: 26px;color: var(--primary-light);margin-bottom: 14px;}
.impact-feature .impact-value{font-size: 72px;}
.impact-feature .impact-label{max-width: 280px;margin: 8px auto 0;font-size: 17px;}
.impact-breakdown{display: flex;justify-content: center;gap: 40px;margin-top: 24px;padding-top: 20px;border-top: 1px solid rgba(255, 255, 255, .12);font-size: 14px;color: rgba(255, 255, 255, .75);}
.impact-breakdown strong{display: block;font-family: Montserrat,sans-serif;font-size: 26px;color: #fff;}
.impact-note{margin-top: 10px;font-size: 11px;letter-spacing: 2px;text-transform: uppercase;color: var(--primary-light);}
.impact-item{padding: 28px 24px;text-align: center;background: rgba(255, 255, 255, .04);border: 1px solid rgba(255, 255, 255, .08);border-radius: 14px;transition: border-color .2s ease, transform .2s ease;}
.impact-item:hover{border-color: rgba(45, 212, 191, .4);transform: translateY(-3px);}
.impact-value{font-family: Montserrat,sans-serif;font-size: 44px;font-weight: 800;line-height: 1.1;color: #fff;}
.impact-label{margin-top: 8px;font-size: 15px;color: rgba(255, 255, 255, .8);}
@media(max-width:991px) {
	.impact-grid{grid-template-columns: repeat(2, 1fr);}
	.impact-item.impact-feature{grid-row: auto;grid-column: span 2;}
	.impact-value{font-size: 36px;}
	.impact-feature .impact-value{font-size: 56px;}
}
@media(max-width:480px) {
	.impact-grid{gap: 12px;}
	.impact-item{padding: 20px 12px;}
	.impact-value{font-size: 28px;}
	.impact-label{font-size: 13px;}
	.impact-item.impact-feature{padding: 26px 22px;}
	.impact-feature .impact-value{font-size: 48px;}
}

.testimonial-grid{display: grid;grid-template-columns: repeat(2, 1fr);gap: 24px;margin-bottom: 20px;}
.testimonial-card{position: relative;display: flex;flex-direction: column;margin: 0;padding: 32px;background: #fff;border: 1px solid #e5e7eb;border-radius: 14px;box-shadow: 0 8px 24px rgba(0, 0, 0, .04);}
.testimonial-mark{font-size: 28px;color: var(--primary);opacity: .35;}
.testimonial-card blockquote{flex: 1;margin: 12px 0 20px;padding: 0;font-size: 16px;line-height: 1.7;color: var(--text-body);border: none;}
.testimonial-card figcaption{display: flex;align-items: center;gap: 12px;}
.testimonial-avatar{display: flex;flex: none;align-items: center;justify-content: center;width: 44px;height: 44px;font-family: Montserrat,sans-serif;font-weight: 700;color: #fff;background: linear-gradient(135deg, var(--primary), var(--primary-dark));border-radius: 50%;}
.testimonial-card figcaption a{display: block;font-family: Montserrat,sans-serif;font-weight: 700;color: #2b2d3f;}
.testimonial-card figcaption em{font-style: normal;font-size: 13px;color: var(--text-muted);}
.box-testimonials .btn i.fab{padding: 0 6px 0 0;}
@media(max-width:767px) {
	.testimonial-grid{grid-template-columns: 1fr;}
	.testimonial-card{padding: 24px;}
}
#impact .heading .intro, #testimonials .heading .intro{max-width: 520px;}
