/**
 * =================================================================== 
 *
 *  Lhander v1.0 Main Stylesheet
 *  url: styleshout.com
 *  01-11-2016
 * -------------------------------------------------------------------
 *
 *	TOC:
 *	01. webfonts and iconfonts 
 *	02. base style overrides
 * 03. preloader
 * 04. forms
 * 05. buttons
 * 06. common styles
 * 07. header styles
 * 08. intro section
 * 09. process section
 * 10. features section
 * 11. pricing section
 * 12. testimomials section 
 * 13. faq section 
 *	14. ad-section 
 *	15. call-to-action section
 *	16. footer
 *
 * =================================================================== 
 */

/** 
 * ===================================================================
 * webfonts and iconfonts 
 *
 * ------------------------------------------------------------------- 
 */

@import url("fonts.css?v=B2");
@import url("ionicons/css/ionicons.min.css?v=B2");
@import url("micons/micons.css?v=B2");

/** 
 * ===================================================================
 * base style overrides
 *
 * ------------------------------------------------------------------- 
 */

html {
	font-size: 10px;
}
@media only screen and (max-width:1024px) {
	html {
		font-size: 9.375px;
	}
}
@media only screen and (max-width:768px) {
	html {
		font-size: 10px;
	}
}
@media only screen and (max-width:400px) {
	html {
		font-size: 9.375px;
	}
}

html, body {
	height: 100%;
}
body {
	background: #14181E;
	font-family: "merriweather-regular", serif;
	font-size: 1.6rem;
	line-height: 3rem;
	color: #737373;
}

/**
 * links 
 * -
 */

a, a:visited {
	color: #0087cc;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
a:hover, a:focus {
	color: #ff7b29;
}

/**
 * typography  
 * -
 */

h1, h2, h3, h4, h5, h6, .h01, .h02, .h03, .h04, .h05, .h06 {
	font-family: "raleway-bold", sans-serif;
	color: #252525;
	font-style: normal;
	text-rendering: optimizeLegibility;
	margin-bottom: 2.1rem;
}
h3, .h03, h4, .h04 {
	margin-bottom: 1.8rem;
}
h5, .h05, h6, .h06 {
	font-family: "raleway-heavy";
	margin-bottom: 1.2rem;
}

h1, .h01 {
	font-size: 3.1rem;
	line-height: 1.35;
	letter-spacing: -.1rem;
}
@media only screen and (max-width:600px) {
	h1, .h01 {
		font-size: 2.6rem;
		letter-spacing: -.07rem;
	}
}

h2, .h02 {
	font-size: 2.4rem;
	line-height: 1.25;
}
h3, .h03 {
	font-size: 2rem;
	line-height: 1.5;
}
h4, .h04 {
	font-size: 1.7rem;
	line-height: 1.76;
}
h5, .h05 {
	font-size: 1.4rem;
	line-height: 1.7;
	text-transform: uppercase;
	letter-spacing: .15rem;
}
h6, .h06 {
	font-size: 1.3rem;
	line-height: 1.85;
	text-transform: uppercase;
	letter-spacing: .15rem;
}

p img {
	margin: 0;
}
p.lead {
	font-family: "merriweather-light", serif;
	font-size: 1.8rem;
	line-height: 1.8;
	color: #737373;
}
@media only screen and (max-width:768px) {
	p.lead {
		font-size: 1.7rem;
	}
}

em, i, strong, b {
	font-size: 1.6rem;
	line-height: 3rem;
	font-style: normal;
	font-weight: normal;
}
em, i {
	font-family: "merriweather-italic", serif;
}
strong, b {
	font-family: "merriweather-bold", serif;
}
small {
	font-size: 1.1rem;
	line-height: inherit;
}
blockquote {
	margin: 3rem 0;
	padding-left: 4rem;
	position: relative;
}
blockquote:before {
	content: "\201C";
	font-size: 8rem;
	line-height: 0px;
	margin: 0;
	color: #333;
	font-family: arial, sans-serif;
	position: absolute;
	top: 3rem;
	left: 0;
}
blockquote p {
	font-family: georgia, serif;
	font-style: italic;
	padding: 0;
	font-size: 1.9rem;
	line-height: 1.75;
}
blockquote cite {
	display: block;
	font-size: 1.2rem;
	font-style: normal;
	line-height: 1.65;
}
blockquote cite:before {
	content: "\2014 \0020";
}
blockquote cite a, blockquote cite a:visited {
	color: #8d8d8d;
	border: none;
}
abbr {
	font-family: "merriweather-bold", serif;
	font-variant: small-caps;
	text-transform: lowercase;
	letter-spacing: .05rem;
	color: #8d8d8d;
}
var, kbd, samp, code, pre {
	font-family: Consolas, "Andale Mono", Courier, "Courier New", monospace;
}
pre {
	padding: 2.4rem 3rem 3rem;
	background: #F1F1F1;
}
code {
	font-size: 1.4rem;
	margin: 0 .2rem;
	padding: .3rem .6rem;
	white-space: nowrap;
	background: #F1F1F1;
	border: 1px solid #E1E1E1;
	border-radius: 3px;
}
pre > code {
	display: block;
	white-space: pre;
	line-height: 2;
	padding: 0;
	margin: 0;
}
pre.prettyprint > code {
	border: none;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
mark {
	background: #FFF49B;
	color: #000;
}
hr {
	border: solid #cfcfd5;
	border-width: 1px 0 0;
	clear: both;
	margin: 2.4rem 0 1.5rem;
	height: 0;
}

/**
 * Lists  
 * -
 */

ol {
	list-style: decimal;
}
ul {
	list-style: disc;
}
li {
	display: list-item;
}
ol, ul {
	margin-left: 1.7rem;
}
ul li {
	padding-left: .4rem;
}
ul ul, ul ol, ol ol, ol ul {
	margin: .6rem 0 .6rem 1.7rem;
}
ul.disc li {
	display: list-item;
	list-style: none;
	padding: 0 0 0 .8rem;
	position: relative;
}
ul.disc li::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #05bca9;
	position: absolute;
	left: -17px;
	top: 11px;
	vertical-align: middle;
}
dt {
	margin: 0;
	color: #05bca9;
}
dd {
	margin: 0 0 0 2rem;
}

/**
 * tables  
 * -
 */

table {
	border-width: 0;
	width: 100%;
	max-width: 100%;
	font-family: "raleway-regular", sans-serif;
}
th, td {
	padding: 1.5rem 3rem;
	text-align: left;
	border-bottom: 1px solid #E8E8E8;
}
th {
	color: #252525;
	font-family: "raleway-bold", sans-serif;
}
td {
	line-height: 1.5;
}
th:first-child, td:first-child {
	padding-left: 0;
}
th:last-child, td:last-child {
	padding-right: 0;
}
.table-responsive {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/**
 * Spacing  
 * -
 */

button, .button {
	margin-bottom: 1.2;
}
fieldset {
	margin-bottom: 1.5rem;
}
input,
textarea,
select,
pre,
blockquote,
figure,
table,
p,
ul,
ol,
dl,
form,
.fluid-video-wrapper,
.iw-custom-select {
	margin-bottom: 3rem;
}

/**
 * floated image  
 * -
 */

img.pull-right {
	margin: 1.5rem 0 0 3rem;
}
img.pull-left {
	margin: 1.5rem 3rem 0 0;
}

/**
 * block grids paddings 
 * -
 */

.bgrid {
	padding: 0 20px;
}
@media only screen and (max-width:1024px) {
	.bgrid {
		padding: 0 18px;
	}
}
@media only screen and (max-width:768px) {
	.bgrid {
		padding: 0 15px;
	}
}
@media only screen and (max-width:600px) {
	.bgrid {
		padding: 0 10px;
	}
}
@media only screen and (max-width:400px) {
	.bgrid {
		padding: 0;
	}
}


/** 
 * ===================================================================
 * preloader
 *
 * ------------------------------------------------------------------- 
 */

#preloader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #0F1215;
	z-index: 9999999;
	height: 100%;
	width: 100%;
}
.no-js #preloader, .oldie #preloader {
	display: none;
}
#loader {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 60px;
	height: 60px;
	margin-left: -30px;
	margin-top: -30px;
	padding: 0;
	background-color: #05bca9;
	border-radius: 100%;
	-webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
	animation: sk-scaleout 1.0s infinite ease-in-out;
}
@-webkit-keyframes sk-scaleout {
	0% {
		-webkit-transform: scale(0);
	}
	100% {
		-webkit-transform: scale(1);
		opacity: 0;
	}
}
@keyframes sk-scaleout {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 0;
	}
}


/** 
 * ===================================================================
 * forms
 *
 * ------------------------------------------------------------------- 
 */

fieldset {
	border: none;
}
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
	display: block;
	height: 6rem;
	padding: 1.5rem 2rem;
	border: 0;
	outline: none;
	vertical-align: middle;
	color: #737373;
	font-family: "merriweather-regular", sans-serif;
	font-size: 1.5rem;
	line-height: 3rem;
	border-radius: 3px;
	background: #FFFFFF;
	max-width: 100%;
	border: 1px solid #d5d5d5;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
.ss-custom-select {
	position: relative;
	padding: 0;
	display: inline-block;
}
.ss-custom-select select {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	text-indent: 0.01px;
	text-overflow: '';
	margin: 0;
	line-height: 3rem;
	vertical-align: middle;
	padding-right: 4rem;
}
.ss-custom-select select option {
	padding-left: 2rem;
	padding-right: 2rem;
}
.ss-custom-select select::-ms-expand {
	display: none;
}
.ss-custom-select::after {
	content: '\f123';
	font-family: 'Ionicons';
	position: absolute;
	top: 50%;
	right: 18px;
	margin-top: -10px;
	bottom: auto;
	width: 20px;
	height: 20px;
	line-height: 20px;
	font-size: 15px;
	text-align: center;
	pointer-events: none;
	color: #252525;
}
textarea {
	min-height: 25rem;
}
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	color: #000000;
	background: #f4fffe;
	border: 1px solid #d2fef9;
}
label, legend {
	font-family: "merriweather-bold", sans-serif;
	font-size: 1.4rem;
	margin-bottom: .6rem;
	color: #404040;
	display: block;
}
label span, legend span {
	color: #05bca9;
}
input[type="checkbox"], input[type="radio"] {
	display: inline;
}

/**
 * Style Placeholder Text  
 * -
 */

::-webkit-input-placeholder {
	color: #a1a1a1;
}
:-moz-placeholder {
	/* Firefox 18- */
	color: #a1a1a1;
}
::-moz-placeholder {
	/* Firefox 19+ */
	color: #a1a1a1;
}
:-ms-input-placeholder {
	color: #a1a1a1;
}
.placeholder {
	color: #a1a1a1 !important;
}


/** 
 * ===================================================================
 * buttons
 *
 * ------------------------------------------------------------------- 
 */

.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	font-family: "raleway-bold", sans-serif;
	font-size: 1.6rem;
	height: 5rem;
	line-height: 5rem;
	padding: 0 3rem;
	margin: 0 .3rem 1rem 0;
	background: #d8d8d8;
	color: #252525;
	text-decoration: none;
	cursor: pointer;
	text-align: center;
	white-space: nowrap;
	border: none;
	border-radius: 1000px;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
	background: #bebebe;
	color: #FFFFFF;
	outline: 0;
}

.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
	background: #05bca9;
	color: #FFFFFF;
}

.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
	background: #04998a;
}
button.full-width, .button.full-width {
	width: 100%;
	margin-right: 0;
}
button.medium, .button.medium {
	height: 5.5rem !important;
	line-height: 5.5rem !important;
	padding: 0 1.8rem !important;
}
button.large, .button.large {
	height: 6rem !important;
	line-height: 6rem !important;
	padding: 0rem 3rem !important;
}
button.round, .button.round {
	padding-left: 3rem !important;
	padding-right: 3rem !important;
	border-radius: 1000px;
}
button.stroke, .button.stroke {
	background: transparent !important;
	border: 3px solid transparent;
	line-height: 4.4rem;
}
button::-moz-focus-inner, input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

/** 
 * ===================================================================
 * common styles 
 *
 * ------------------------------------------------------------------- 
 */

.section-intro {
	max-width: 700px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5.2rem;
	position: relative;
}
.section-intro h1 {
	font-family: "merriweather-bold", serif;
	font-size: 4.8rem;
	color: #252525;
	line-height: 1.25;
	margin-bottom: 1.2rem;
}
.section-intro h5 {
	color: rgba(56, 66, 78, 0.5);
	font-size: 1.6rem;
	line-height: 1.875;
	margin-bottom: 0.3rem;
	letter-spacing: .4rem;
}
.section-intro .lead {
	color: rgba(0, 0, 0, 0.45);
}
.section-intro .with-bottom-line {
	position: relative;
	overflow: hidden;
}
.section-intro .with-bottom-line::after {
	display: block;
	background-color: #05bca9;
	width: 120px;
	height: 3px;
	content: '\0020';
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-left: -60px;
}
@media only screen and (max-width:600px) {
	section .h01 {
		font-size: 2.5rem;
	}
}

/**
 * responsive:
 * common styles
 * - 
 */

@media only screen and (max-width:768px) {
	.section-intro {
		max-width: 650px;
	}
	.section-intro h1 {
		font-size: 4.2rem;
	}
}
@media only screen and (max-width:600px) {
	.section-intro h1 {
		font-size: 3.8rem;
	}
	.section-intro h5 {
		font-size: 1.5rem;
		letter-spacing: .3rem;
	}
}
@media only screen and (max-width:400px) {
	.section-intro h1 {
		font-size: 3.6rem;
	}
}


/** 
 * ===================================================================
 * header styles 
 *
 * ------------------------------------------------------------------- 
 */

header {
	width: 100%;
	position: absolute;
	left: 0;
	top: 24px;
	z-index: 600;
	background: transparent;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
header .row {
	width: auto;
	height: 66px;
	position: relative;
}

header .logo {
	margin-top: 2px;
	z-index: 600;
	position: absolute;
	left: 35px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
header .logo a {
	display: block;
	margin: 0;
	padding: 0;
	border: none;
	font: 0/0 a;
	text-shadow: none;
	color: transparent;
	width: 300px;
	height: 100px;
	background: url("../images/logo.png") no-repeat center;
	background-size: 300px 100px;
	-moz-transition: all 0.5s ease-in-out;
	-o-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;
}
.sticky {
	position: fixed;
	background: #14171c;
	top: 0;
}
.sticky .logo a {
	width: 200px;
	height: 70px;
	background-size: 200px 70px;
}

/**
 * responsive:
 * header section
 * - 
 */

@media only screen and (max-width:768px) {
	header {
		top: 0;
		padding: 6px 0;
	}
	header .logo a {
		width: 38px;
		height: 38px;
		background-size: 38px 38px;
	}
}

/**
 * primary navigation
 * - 
 */

#main-nav-wrap, .main-navigation {
	margin: 0;
	padding: 0;
}

/* hide toggle button */
a.menu-toggle {
	display: none;
}

/* main-nav-wrap */
#main-nav-wrap {
	font-family: "raleway-heavy", sans-serif;
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	position: absolute;
	top: 0;
	right: 30px;
}
.main-navigation {
	min-height: 66px;
	display: inline-block;
	width: auto;
	text-align: left;
}
.main-navigation li {
	position: relative;
	display: inline-block;
	list-style: none;
	padding: 0;
	margin: 0;
	height: 66px;
}
.main-navigation li.current a {
	color: #FFFFFF;
}
.main-navigation li.current a::after {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 80%;
	height: 3px;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #05bca9;
	content: '\0020';
	display: block;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
.main-navigation li.highlight a {
	color: #05bca9;
}
.main-navigation li.with-sep a {
	position: relative;
	padding-left: 22px;
	margin-left: 8px;
}
.main-navigation li.with-sep a::before {
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 20px;
	margin-top: -10px;
	background-color: rgba(255, 255, 255, 0.2);
	content: '\0020';
	display: block;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

/* navigation links */
.main-navigation li a {
	display: block;
	padding: 18px 7px;
	line-height: 30px;
	text-decoration: none;
	text-align: left;
	color: #98999a;
	position: relative;
	-moz-transition: color 0.3s ease-in-out;
	-o-transition: color 0.3s ease-in-out;
	-webkit-transition: color 0.3s ease-in-out;
	-ms-transition: color 0.3s ease-in-out;
	transition: color 0.3s ease-in-out;
}
.main-navigation li a:active {
	background-color: transparent !important;
}
.main-navigation li a:hover {
	color: #FFFFFF;
}

/**
 * mobile view - primary navigation
 * - 
 */

@media only screen and (max-width:768px) {
	#main-nav-wrap {
		display: block;
		width: 100%;
		position: absolute;
		top: 69px;
		right: 0;
	}
	a.menu-toggle {
		display: block;
		width: 40px;
		height: 40px;
		position: absolute;
		top: 50%;
		right: 30px;
		margin-top: -20px;
	}
	a.menu-toggle span {
		display: block;
		width: 24px;
		height: 3px;
		margin-top: -1.5px;
		position: absolute;
		right: 8px;
		top: 50%;
		bottom: auto;
		left: auto;
		background-color: white;
		-moz-transition: background 0.2s ease-in-out;
		-o-transition: background 0.2s ease-in-out;
		-webkit-transition: background 0.2s ease-in-out;
		-ms-transition: background 0.2s ease-in-out;
		transition: background 0.2s ease-in-out;
		font: 0/0 a;
		text-shadow: none;
		color: transparent;
	}
	a.menu-toggle span::before, a.menu-toggle span::after {
		content: '';
		width: 100%;
		height: 100%;
		position: absolute;
		background-color: inherit;
		left: 0;
		-moz-transition-duration: 0.2s, 0.2s;
		-o-transition-duration: 0.2s, 0.2s;
		-webkit-transition-duration: 0.2s, 0.2s;
		-ms-transition-duration: 0.2s, 0.2s;
		transition-duration: 0.2s, 0.2s;
		-moz-transition-delay: 0.2s, 0s;
		-o-transition-delay: 0.2s, 0s;
		-webkit-transition-delay: 0.2s, 0s;
		-ms-transition-delay: 0.2s, 0s;
		transition-delay: 0.2s, 0s;
	}
	a.menu-toggle span::before {
		top: -8px;
		-moz-transition-property: top, transform;
		-o-transition-property: top, transform;
		-webkit-transition-property: top, transform;
		-ms-transition-property: top, transform;
		transition-property: top, transform;
	}
	a.menu-toggle span::after {
		bottom: -8px;
		-moz-transition-property: bottom, transform;
		-o-transition-property: bottom, transform;
		-webkit-transition-property: bottom, transform;
		-ms-transition-property: bottom, transform;
		transition-property: bottom, transform;
	}
	.menu-toggle.is-clicked span {
		background-color: rgba(255, 255, 255, 0);
	}
	.menu-toggle.is-clicked span::before, .menu-toggle.is-clicked span::after {
		background-color: white;
		-moz-transition-delay: 0s, 0.2s;
		-o-transition-delay: 0s, 0.2s;
		-webkit-transition-delay: 0s, 0.2s;
		-ms-transition-delay: 0s, 0.2s;
		transition-delay: 0s, 0.2s;
	}
	.menu-toggle.is-clicked span::before {
		top: 0;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.menu-toggle.is-clicked span::after {
		bottom: 0;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.main-navigation {
		background: #14171c;
		padding: 48px 42px 54px 42px;
		margin: 0;
		width: 100%;
		height: auto;
		clear: both;
		display: none;
	}
	.main-navigation > li {
		display: block;
		height: auto;
		text-align: left;
		border-bottom: 1px dotted rgba(200, 200, 200, 0.08);
		padding: 0;
	}
	.main-navigation > li:first-child {
		border-top: 1px dotted rgba(200, 200, 200, 0.08);
	}
	.main-navigation li a {
		display: block;
		color: #e6e6e6;
		width: auto;
		padding: 18px 0;
		line-height: 16px;
		border: none;
	}
	.main-navigation li a:hover {
		color: #ff7b29;
	}
	.main-navigation li.with-sep a {
		padding-left: 0;
		margin-left: 0;
	}
	.main-navigation li.with-sep a::before {
		display: none;
	}
	.main-navigation li.current > a {
		background: none;
		color: #ff7b29;
	}
	.main-navigation li.current > a:after {
		display: none;
	}
}

/**
 * make sure the menu is visible on larger screens
 * -
 */

@media only screen and (min-width:769px) {
	#main-nav-wrap ul.main-navigation {
		display: block !important;
	}
}


/** 
 * ===================================================================
 * intro section
 *
 * ------------------------------------------------------------------- 
 */

#intro {
	background: #14181E url(../images/intro-bg.jpg) no-repeat center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	width: 100%;
	height: 100%;
	min-height: 720px;
	display: table;
	position: relative;
}
.shadow-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.25) 25%, transparent 56%);  /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.25) 25%, transparent 56%);  /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.25) 25%, transparent 56%);  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#73000000', endColorstr='#00000000', GradientType=0);  /* IE6-9 */
}
.intro-content {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	-webkit-transform: translateY(-1.2rem);
	-ms-transform: translateY(-1.2rem);
	transform: translateY(-1.2rem);
}
.intro-content h1 {
	color: #FFFFFF;
	font-family: "merriweather-bold", serif;
	font-size: 5.4rem;
	line-height: 1.334;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.intro-content h5 {
	color: rgba(255, 255, 255, 0.6);
	font-family: "raleway-heavy", sans-serif;
	font-size: 1.8rem;
	line-height: 1.667;
	margin-bottom: 0.6rem;
	text-transform: uppercase;
	letter-spacing: .25rem;
}
.intro-content .video-link a {
	display: inline-block;
	width: 90px;
	height: 90px;
	margin-bottom: 4.2rem;
	outline: none;
}
.intro-content .button {
	border-color: #FFFFFF;
	color: #FFFFFF;
	height: 6.6rem;
	line-height: 6rem;
	padding: 0 3rem !important;
	margin-top: 1.8rem;
	font-family: "raleway-heavy", sans-serif;
	font-size: 1.4rem;
	text-transform: uppercase;
	letter-spacing: .4rem;
}
.intro-content .button:hover, .intro-content .button:focus {
	color: #05bca9;
	border-color: #05bca9;
}

/**
 * responsive:
 * intro
 * -
 */

@media only screen and (max-width:1024px) {
	.intro-content {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
	.intro-content h1 {
		font-size: 4.8rem;
		max-width: 700px;
	}
	.intro-content h5 {
		font-size: 1.6rem;
	}
	.intro-content .video-link a {
		width: 72px;
		height: 72px;
		margin-bottom: 3rem;
	}
}
@media only screen and (max-width:768px) {
	#intro {
		min-height: 660px;
	}
	.intro-content h1 {
		font-size: 4.2rem;
		max-width: 550px;
	}
	.intro-content h5 {
		font-size: 1.5rem;
		letter-spacing: .15rem;
	}
}
@media only screen and (max-width:600px) {
	#intro {
		min-height: 600px;
	}
	.intro-content h1 {
		font-size: 3.8rem;
		margin-bottom: .9rem;
	}
	.intro-content h5 {
		font-size: 1.4rem;
		letter-spacing: .15rem;
	}
	.intro-content .video-link a {
		width: 66px;
		height: 66px;
		margin-bottom: 1.5rem;
	}
}
@media only screen and (max-width:400px) {
	#intro {
		min-height: 550px;
	}
	.intro-content h1 {
		font-size: 3.4rem;
	}
	.intro-content h5 {
		font-size: 1.4rem;
		letter-spacing: .15rem;
	}
	.intro-content .video-link a {
		width: 60px;
		height: 60px;
	}
}

/**
 * video popup modal
 * - 
 */

.popup-modal {
	max-width: 800px;
	background: #FFFFFF;
	position: relative;
	margin: 0 auto;  /* close */
}
.popup-modal .close-popup {
	position: absolute;
	right: 0;
	top: -42px;
	cursor: pointer;
	display: block;
	width: 30px;
	height: 30px;
	color: rgba(255, 255, 255, 0.5);
	text-align: center;
	font: 0/0 a;
	text-shadow: none;
	color: transparent;
}
.popup-modal .close-popup::before {
	display: block;
	width: 30px;
	height: 30px;
	line-height: 30px;
	font-family: "Ionicons";
	content: "\f2d7";
	font-size: 21px;
	color: rgba(255, 255, 255, 0.5);
}

/**
 * responsive:
 * video popup modal
 * - 
 */

@media only screen and (max-width:900px) {
	.popup-modal {
		max-width: 700px;
	}
}
@media only screen and (max-width:768px) {
	.popup-modal {
		width: auto;
		margin: 0 20px;
	}
}

/**
 * transition effect for modal popup
 * - 
 */

/* overlay at start */
.mfp-fade.mfp-bg {
	opacity: 0;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}

/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	transform: translateY(-100%);
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

/* content animate in */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
	-webkit-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	transform: translateY(-100%);
}


/** 
 * ===================================================================
 * process section
 *
 * ------------------------------------------------------------------- 
 */

#process {
	background: #FFFFFF;
	padding-top: 12rem;
	padding-bottom: 15rem;
	overflow: hidden;
}
.process-content {
	position: relative;
	text-align: center;
}
.process-content .right-side,
.process-content .left-side,
.process-content .image-part {
	width: 33.33333%;
	font-size: 15px;
	line-height: 27px;
}
.process-content .right-side, .process-content .left-side {
	padding: 0 6% 24px;
	position: absolute;
	top: 0;
}
.process-content .right-side {
	right: 0;
}
.process-content .left-side {
	left: 0;
}
.process-content .image-part {
	margin: 0 auto;
	height: 660px;
	background-image: url("../images/appdesign.jpg");
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	background-size: contain;
}
.process-content .item[data-item]::before {
	background: #38424e;
	color: #FFFFFF;
	border-radius: 100%;
	font-family: "montserrat-bold", sans-serif;
	content: attr(data-item);
	display: inline-block;
	font-size: 18px;
	height: 42px;
	width: 42px;
	line-height: 42px;
	text-align: center;
	vertical-align: middle;
	margin-bottom: 1.5rem;
}
.process-content h5 {
	color: #05bca9;
	font-size: 1.6rem;
	line-height: 1.875;
	letter-spacing: .2rem;
	margin-bottom: .3rem;
}

/**
 * responsive:
 * process
 * -
 */

@media only screen and (max-width:1024px) {
	.process-content .right-side, .process-content .left-side {
		padding: 0 3% 24px;
		width: 35%;
	}
	.process-content .image-part {
		height: 600px;
		width: 30%;
	}
}
@media only screen and (max-width:768px) {
	#process {
		padding-bottom: 27rem;
	}
	.process-content .right-side, .process-content .left-side {
		position: static;
		width: 100%;
		max-width: 480px;
		font-size: 1.6rem;
		line-height: 3rem;
		margin-left: auto;
		margin-right: auto;
		padding-bottom: 0;
	}
	.process-content .image-part {
		width: 300px;
		position: absolute;
		bottom: -630px;
		left: 50%;
		margin-left: -150px;
	}
}
@media only screen and (max-width:400px) {
	#process {
		padding-bottom: 21rem;
	}
	.process-content .image-part {
		width: 230px;
		bottom: -540px;
		margin-left: -115px;
	}
}


/** 
 * ===================================================================
 * features section
 *
 * ------------------------------------------------------------------- 
 */

#features {
	background: #090909 url(../images/features-bg.jpg) no-repeat center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	padding-top: 12rem;
	padding-bottom: 12rem;
	color: white;
}
#features .section-intro h1 {
	color: white;
}
#features .section-intro h5 {
	color: rgba(255, 255, 255, 0.5);
}
#features .section-intro p {
	color: rgba(255, 255, 255, 0.7);
}
.features-content {
	max-width: 1200px;
}
.features-list {
	margin-top: 1.2rem;
	text-align: center;
}
.features-list .feature {
	margin-bottom: 1.2rem;
	padding: 0 32px;
}
.features-list .icon {
	display: inline-block;
	margin-bottom: 2.1rem;
}
.features-list .icon i {
	font-size: 4.8rem;
}
.features-list .h05 {
	font-size: 1.7rem;
	line-height: 1.765;
	color: #05bca9;
	margin-bottom: 1.8rem;
}

/**
 * responsive:
 * features
 * -
 */

@media only screen and (max-width:768px) {
	.features-content {
		max-width: 600px;
	}
	.features-list .feature {
		padding: 0 15px;
	}
}
@media only screen and (max-width:600px) {
	.features-list .feature {
		padding: 0 10px;
	}
}
@media only screen and (max-width:400px) {
	.features-list .feature {
		padding: 0;
	}
}


/** 
 * ===================================================================
 * pricing section
 *
 * ------------------------------------------------------------------- 
 */

#pricing {
	background: #EAEAED;
	padding-top: 12rem;
	padding-bottom: 9.6rem;
}
.pricing-content {
	margin-top: 6.6rem;
	max-width: 1280px;
}
.pricing-content .bgrid {
	margin-bottom: 3.6rem;
}
.pricing-content .price-block {
	background-color: #FFFFFF;
	border-radius: 5px;
	overflow: hidden;
	text-align: center;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.pricing-content .price-block .top-part,
.pricing-content .price-block .bottom-part {
	padding: 3.9rem 1.5rem;
}
.pricing-content .price-block .top-part {
	background: #58687b;
	color: #FFFFFF;
	padding-bottom: 2.4rem;
	position: relative;
}
.pricing-content .price-block .bottom-part {
	padding-top: 2.4rem;
	padding-left: 3rem;
	padding-right: 3rem;
}
.pricing-content .price-block .plan-title {
	color: #FFFFFF;
	padding-bottom: 2.4rem;
	margin-bottom: 1.2rem;
	font-size: 2.4rem;
	position: relative;
}
.pricing-content .price-block .plan-title::after {
	display: block;
	background-color: rgba(255, 255, 255, 0.3);
	width: 80px;
	height: 1px;
	content: '\0020';
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-left: -40px;
}
.pricing-content .price-block .plan-price {
	font-family: "raleway-bold", sans-serif;
	font-size: 5rem;
	line-height: 1;
	margin-bottom: .6rem;
}
.pricing-content .price-block .plan-price sup {
	font-size: 2.4rem;
	top: -1.5rem;
	margin-right: 3px;
}
.pricing-content .price-block .price-month {
	margin-bottom: 1.2rem;
	font-family: "raleway-bold", sans-serif;
	font-size: 1.6rem;
}
.pricing-content .price-block .price-meta {
	color: rgba(255, 255, 255, 0.5);
	line-height: 1.8rem;
}
.pricing-content .price-block .button {
	color: #353F49;
	padding: 0 5rem;
	margin-left: auto;
	margin-right: auto;
}
.pricing-content .price-block .button:hover,
.pricing-content .price-block .button:focus {
	background: #58687b;
	color: #FFFFFF;
}
.pricing-content .price-block .features {
	list-style: none;
	font-family: "raleway-bold", sans-serif;
	font-size: 1.5rem;
	color: rgba(0, 0, 0, 0.4);
	margin: .6rem 0 1.8rem 0;
}
.pricing-content .price-block .features li {
	padding: .6rem 0;
	border-bottom: 1px solid #EAEAED;
}
.pricing-content .price-block .features li strong {
	color: #353F49;
	font-family: "raleway-bold", serif;
	margin-right: 5px;
}
.pricing-content .price-block .features li:last-child {
	border: none;
}
.pricing-content .primary .top-part {
	background: #05bca9;
}
.pricing-content .primary .top-part::before {
	content: attr(data-info);
	display: block;
	min-height: 48px;
	line-height: 48px;
	width: 75%;
	text-align: center;
	color: #FFFFFF;
	background: #38424e;
	font-family: "raleway-heavy", sans-serif;
	font-size: 1.2rem;
	text-transform: uppercase;
	letter-spacing: .15rem;
	position: absolute;
	bottom: -18px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 500;
	border-radius: 5px;
}

/**
 * responsive:
 * pricing
 * -
 */

@media only screen and (max-width:1140px) {
	.pricing-content {
		max-width: 800px;
	}
	.pricing-content .bgrid {
		width: 50%;
		clear: none;
	}
	.pricing-content .bgrid:nth-child(2n+1) {
		clear: both;
	}
}
@media only screen and (max-width:600px) {
	.pricing-content {
		max-width: 420px;
	}
	.pricing-content .bgrid {
		width: 100% !important;
		float: none !important;
		clear: both !important;
		margin-left: 0;
		margin-right: 0;
	}
}


/** 
 * ===================================================================
 * testimonials section
 *
 * ------------------------------------------------------------------- 
 */

#testimonials {
	background: #FFFFFF;
	padding-top: 10.2rem;
	padding-bottom: 12rem;
	position: relative;
	min-height: 20.4rem;
	width: 100%;
	overflow: hidden;
	text-align: center;
}
#testimonials .h01 {
	padding-bottom: 2.1rem;
	margin-bottom: 3.6rem;
	position: relative;
	color: #252525;
}
#testimonials .h01::after {
	display: block;
	background-color: #05bca9;
	width: 120px;
	height: 3px;
	content: '\0020';
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-left: -60px;
}
#testimonials .flex-container {
	width: 80%;
	max-width: 800px;
	margin: 0 auto;
}
#testimonial-slider {
	margin: 0 0 3rem 0;
	position: relative;
}
#testimonial-slider p {
	font-family: "raleway-medium", sans-serif;
	font-size: 2.5rem;
	line-height: 1.8;
	color: #8d8d8d;
}
#testimonial-slider p::before, #testimonial-slider p::after {
	display: inline;
	font-family: Arial, sans-serif;
	color: #c7c7c7;
	font-size: 6rem;
	line-height: 0;
	vertical-align: bottom;
	position: relative;
	top: -1.2rem;
}
#testimonial-slider p::before {
	margin-right: .5rem;
	content: '\201C';
}
#testimonial-slider p::after {
	margin-left: .5rem;
	content: '\201D';
}
#testimonial-slider .testimonial-author img {
	width: 8.2rem;
	height: 8.2rem;
	margin: 0 auto 1.2rem auto;
	display: block;
	border-radius: 50%;
	vertical-align: middle;
	border: 9px solid #EAEAED;
}
#testimonial-slider .testimonial-author .author-info {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	font-family: "raleway-heavy", sans-serif;
	font-size: 1.5rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 3rem;
	color: #252525;
}
#testimonial-slider .testimonial-author .author-info span {
	display: block;
	font-family: "raleway-semibold", sans-serif;
	font-size: 1.4rem;
	line-height: 2.1rem;
	letter-spacing: 0;
	text-transform: none;
	color: rgba(0, 0, 0, 0.4);
}

/* control nav */
#testimonials .flex-control-nav {
	width: 100%;
	text-align: center;
	display: block;
	position: absolute;
	bottom: -42px;
}
#testimonials .flex-control-nav li {
	margin: 0 6px;
	display: inline-block;
	zoom: 1;
}
#testimonials .flex-control-paging li a {
	width: 15px;
	height: 15px;
	display: block;
	border: 4px solid #8d8d8d;
	cursor: pointer;
	border-radius: 50%;
	font: 0/0 a;
	text-shadow: none;
	color: transparent;
}
#testimonials .flex-control-paging li a:hover {
	border: 4px solid #05bca9;
}
#testimonials .flex-control-paging li a.flex-active {
	background: #05bca9;
	border-color: #05bca9;
	cursor: default;
}

/* direction nav */
#testimonials .flex-direction-nav li {
	padding: 0;
	z-index: 500;
	position: absolute;
	bottom: 0;
	margin-bottom: -57px;
}
#testimonials .flex-direction-nav li a {
	display: block;
	opacity: .8;
	font: 0/0 a;
	text-shadow: none;
	color: transparent;
}
#testimonials .flex-direction-nav li a.flex-prev::before,
#testimonials .flex-direction-nav li a.flex-next::after {
	display: block;
	background: #EAEAED;
	color: #737373;
	border-radius: 5px;
	font-family: "Ionicons";
	font-size: 18px;
	height: 48px;
	width: 48px;
	line-height: 48px;
	text-align: center;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
#testimonials .flex-direction-nav li a.flex-prev::before {
	content: "\f2ca";
}
#testimonials .flex-direction-nav li a.flex-next::after {
	content: "\f30f";
}
#testimonials .flex-direction-nav li a.flex-next:hover::after,
#testimonials .flex-direction-nav li a.flex-prev:hover::before {
	background: #05bca9;
	color: #FFFFFF;
}
#testimonials .flex-direction-nav li.flex-nav-prev {
	left: 0;
}
#testimonials .flex-direction-nav li.flex-nav-next {
	right: 0;
}

/**
 * responsive:
 * testimonial slider
 * -
 */

@media only screen and (max-width:1024px) {
	#testimonials .flex-container {
		max-width: 600px;
	}
	#testimonial-slider p {
		font-size: 2.4rem;
	}
}
@media only screen and (max-width:768px) {
	#testimonials .flex-container {
		width: 90%;
	}
	#testimonial-slider p {
		font-size: 2.2rem;
	}
}
@media only screen and (max-width:600px) {
	#testimonials .flex-container {
		width: 95%;
	}
	#testimonial-slider p {
		font-size: 2rem;
	}
	#testimonial-slider p::before, #testimonial-slider p::after {
		top: -0.5rem;
	}
}
@media only screen and (max-width:400px) {
	#testimonials .flex-container {
		width: auto;
	}
	#testimonial-slider p {
		font-size: 1.8rem;
	}
}


/** 
 * ===================================================================
 * faq section
 *
 * ------------------------------------------------------------------- 
 */

#faq {
	background: #EAEAED;
	padding-top: 12rem;
	padding-bottom: 12rem;
}
.faq-content {
	margin-top: 5.4rem;
	max-width: 1020px;
}
.faq-content .bgrid {
	padding: 0 30px;
}

/**
 * responsive:
 * faq
 * -
 */

@media only screen and (max-width:768px) {
	.faq-content {
		max-width: 650px;
	}
}
@media only screen and (max-width:480px) {
	.faq-content .bgrid {
		padding: 0 20px;
	}
}
@media only screen and (max-width:400px) {
	.faq-content .bgrid {
		padding: 0;
	}
}


/** 
 * ===================================================================
 * ad-section
 *
 * ------------------------------------------------------------------- 
 */

.section-ads {
	margin-top: 4.8rem;
	padding-top: 6rem;
	max-width: 650px;
	border-top: 1px dotted rgba(0, 0, 0, 0.1);
	text-align: center;
}
.section-ads h2 a, .section-ads h2 a:visited {
	color: #252525;
}
.section-ads span {
	color: #0087cc;
}
.section-ads .button {
	background: #05bca9;
	color: #FFFFFF;
}
.section-ads .button:hover, .section-ads .button:focus {
	background: #05ad9c;
}


/** 
 * ===================================================================
 * call-to-action section
 *
 * ------------------------------------------------------------------- 
 */

#cta {
	background: #05bca9;
	padding-top: 7.2rem;
	padding-bottom: 9rem;
	text-align: center;
	color: #FFFFFF;
}
.cta-content {
	max-width: 740px;
	margin: 0 auto;
}
.cta-content h1 {
	color: #FFFFFF;
	margin-bottom: .6rem;
}
.cta-content p {
	color: rgba(255, 255, 255, 0.8);
}
.cta-content .stores {
	margin: 0;
	padding: 0;
	display: block;
}
.cta-content .stores li {
	padding: 0;
	display: inline-block;
}
.cta-content .stores li .button {
	background: #04a393;
	color: #FFFFFF;
	margin-right: 12px;
	display: block;
	line-height: 60px;
}
.cta-content .stores li .button:hover,
.cta-content .stores li .button:focus {
	background: #049485;
}
.cta-content .stores li .button i {
	font-size: 18px;
	line-height: inherit;
	margin-right: 8px;
}
.cta-content .stores li .button i.ion-social-windows {
	font-size: 15px;
}
.cta-content .stores li:last-child .button {
	margin-right: 0;
}

/**
 * responsive:
 * cta
 * -
 */

@media only screen and (max-width:650px) {
	.cta-content {
		max-width: 650px;
	}
	.cta-content .stores li {
		display: block;
	}
	.cta-content .stores li .button {
		width: 300px;
		display: block;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 1.8rem;
	}
	.cta-content .stores li .button::before {
		display: none;
	}
}
@media only screen and (max-width:600px) {
	.cta-content .stores li .button {
		width: 70%;
	}
}
@media only screen and (max-width:400px) {
	.cta-content .stores li .button {
		width: 80%;
	}
}


/** 
 * ===================================================================
 * footer
 *
 * ------------------------------------------------------------------- 
 */

footer {
	padding-bottom: 3rem;
	font-size: 1.5rem;
	line-height: 2.7rem;
	font-family: "raleway-medium", sans-serif;
	color: #465166;
}
footer a, footer a:visited {
	color: #05bca9;
}
footer a:hover, footer a:focus {
	color: #FFFFFF;
}
footer h4 {
	border-bottom: 1px solid rgba(255, 255, 255, 0.03);
	padding-bottom: 1.2rem;
	margin-bottom: 1.2rem;
	color: #FFFFFF;
}
footer ul {
	margin-left: 0;
}
footer ul li {
	padding-left: 0;
}
.footer-main {
	padding-top: 6.6rem;
	padding-bottom: 4.2rem;
	background: #171b23;
}
.footer-main ul {
	font-size: 1.5rem;
}
.footer-main ul li {
	font-family: "raleway-bold", sans-serif;
	list-style: none;
}
.footer-main ul a, .footer-main ul a:visited {
	color: #465166;
}
.footer-main ul a:hover, .footer-main ul a:focus {
	color: #FFFFFF;
}
.footer-main .footer-logo {
	width: 162px;
	height: 60px;
	background: url("../images/footer-logo.png") no-repeat center;
	background-size: 162px 60px;
	margin: -.6rem 0 2.1rem -.3rem;
	display: block;
}
.footer-main .footer-subscribe p {
	margin-bottom: 1.2rem;
}
.footer-main .footer-subscribe .subscribe-form #mc-form {
	padding: 0;
}
.footer-main .footer-subscribe .subscribe-form input[type="email"] {
	padding: .6rem 2rem;
	border-radius: 5px;
	background: #232933;
	border: none;
	width: 100%;
	font-family: "raleway-regular", sans-serif;
	color: #bababa;
	margin-bottom: 1.8rem;
}
.footer-main .footer-subscribe .subscribe-form input[type="submit"] {
	display: none;
}
.footer-main .footer-subscribe .subscribe-form .subscribe-message {
	font-family: "raleway-bold", sans-serif;
	color: #FFFFFF;
}
.footer-main .footer-subscribe .subscribe-form .subscribe-message i {
	color: #ff7b29;
	margin-right: 5px;
}
.footer-main .footer-subscribe .subscribe-form ::-webkit-input-placeholder {
	color: #545454;
}
.footer-main .footer-subscribe .subscribe-form :-moz-placeholder {
	/* Firefox 18- */
	color: #545454;
}
.footer-main .footer-subscribe .subscribe-form ::-moz-placeholder {
	/* Firefox 19+ */
	color: #545454;
}
.footer-main .footer-subscribe .subscribe-form :-ms-input-placeholder {
	color: #545454;
}
.footer-main .footer-subscribe .subscribe-form .placeholder {
	color: #545454 !important;
}
.footer-bottom {
	margin-top: 3rem;
	text-align: center;
}
.footer-bottom .copyright span {
	display: inline-block;
}
.footer-bottom .copyright span::after {
	content: "|";
	display: inline-block;
	padding: 0 1rem 0 1.2rem;
	color: rgba(255, 255, 255, 0.1);
}
.footer-bottom .copyright span:last-child::after {
	display: none;
}

/**
 * responsive:
 * footer
 * -
 */

@media only screen and (max-width:768px) {
	.footer-main .footer-logo {
		margin-left: auto;
		margin-right: auto;
	}
	.footer-main .footer-info {
		text-align: center;
	}
}
@media only screen and (max-width:600px) {
	.footer-main .row {
		max-width: 420px;
	}
	.footer-main .footer-subscribe {
		text-align: center;
	}
	.footer-main .subscribe-form form input[type="email"] {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center;
	}
	.footer-bottom {
		padding-bottom: .6rem;
	}
	.footer-bottom .copyright span {
		display: block;
	}
	.footer-bottom .copyright span::after {
		display: none;
	}
}
@media only screen and (max-width:400px) {
	.footer-main .site-links, .footer-main .social-links {
		text-align: center;
	}
	.footer-main .site-links h4, .footer-main .social-links h4 {
		border: none;
	}
	.footer-main ul {
		width: 80%;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	.footer-main ul li a {
		display: block;
		border-bottom: 1px solid rgba(255, 255, 255, 0.03);
		padding: .6rem 0;
	}
	.footer-main ul li:first-child a {
		border-top: 1px solid rgba(255, 255, 255, 0.03);
	}
}

/**
 * go to top
 * -
 */

#go-top {
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 600;
	display: none;
}
#go-top a {
	text-decoration: none;
	border: 0 none;
	display: block;
	height: 66px;
	width: 60px;
	line-height: 66px;
	text-align: center;
	background: #048a7c;
	color: #FFFFFF;
	text-align: center;
	text-transform: uppercase;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
#go-top a i {
	font-size: 20px;
	line-height: inherit;
}
#go-top a:hover {
	background: #ff7b29;
	color: #FFFFFF;
}

/*# sourceMappingURL=main.css.map */

/* ===================================================================
 * Techservices - Actualización visual moderna
 * Agregado: diseño más comercial, cards, CTA, responsive y WhatsApp flotante.
 * =================================================================== */

:root {
  --ts-primary: #0877ff;
  --ts-primary-dark: #004fc4;
  --ts-cyan: #00d4ff;
  --ts-navy: #081426;
  --ts-navy-2: #101c2d;
  --ts-text: #142033;
  --ts-muted: #65738a;
  --ts-soft: #f4f8ff;
  --ts-white: #ffffff;
  --ts-border: rgba(8, 119, 255, 0.14);
  --ts-shadow: 0 22px 60px rgba(9, 25, 50, 0.14);
}

html { scroll-behavior: smooth; }

body {
  background: var(--ts-white);
  font-family: "Segoe UI", Arial, sans-serif;
  color: var(--ts-muted);
}

h1, h2, h3, h4, h5, h6,
.h01, .h02, .h03, .h04, .h05, .h06,
.main-navigation,
.button,
button,
footer {
  font-family: "Segoe UI", Arial, sans-serif;
}

p { color: var(--ts-muted); }

a, a:visited { color: var(--ts-primary); }
a:hover, a:focus { color: var(--ts-primary-dark); }

header {
  top: 20px;
}

header .row {
  width: calc(100% - 48px);
  max-width: 1180px;
  margin: 0 auto;
  height: 74px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(8, 20, 38, 0.70);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.20);
}

.sticky {
  background: transparent;
  padding: 10px 0;
}

.sticky .row {
  background: rgba(8, 20, 38, 0.94);
}

header .logo {
  left: 28px;
}

header .logo a {
  width: 220px;
  height: 74px;
  background-size: contain;
  background-position: left center;
}

.sticky .logo a {
  width: 180px;
  height: 64px;
  background-size: contain;
}

#main-nav-wrap {
  right: 24px;
}

.main-navigation {
  min-height: 74px;
}

.main-navigation li {
  height: 74px;
}

.main-navigation li a {
  padding: 22px 10px;
  color: rgba(255, 255, 255, 0.78);
  letter-spacing: .8px;
}

.main-navigation li a:hover,
.main-navigation li.current a {
  color: #fff;
}

.main-navigation li.current a::after {
  background: linear-gradient(90deg, var(--ts-primary), var(--ts-cyan));
  height: 4px;
  border-radius: 999px;
}

.main-navigation li.highlight a {
  color: #fff;
  background: linear-gradient(135deg, var(--ts-primary), var(--ts-primary-dark));
  border-radius: 999px;
  padding: 10px 18px;
  line-height: 20px;
  margin-top: 17px;
  box-shadow: 0 10px 24px rgba(8, 119, 255, 0.35);
}

.main-navigation li.highlight a::after { display: none; }

#intro.hero-modern {
  min-height: 780px;
  background-color: var(--ts-navy);
  background-image:
    radial-gradient(circle at 18% 22%, rgba(0, 212, 255, .30) 0%, transparent 34%),
    radial-gradient(circle at 84% 30%, rgba(8, 119, 255, .34) 0%, transparent 35%),
    linear-gradient(135deg, rgba(8, 20, 38, .88), rgba(8, 20, 38, .62)),
    url(../images/intro-bg.jpg);
  background-position: center;
  background-size: cover;
}

.hero-modern .shadow-overlay {
  background:
    linear-gradient(180deg, rgba(8, 20, 38, .55) 0%, rgba(8, 20, 38, .62) 45%, rgba(8, 20, 38, .92) 100%);
}

.hero-modern .intro-content {
  text-align: left;
  transform: none;
}

.hero-modern .intro-content .col-twelve {
  max-width: 840px;
  padding-top: 80px;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #dff8ff;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  padding: 10px 16px;
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 1.35rem;
  letter-spacing: .02em;
}

.hero-badge::before {
  content: "";
  width: 9px;
  height: 9px;
  display: inline-block;
  background: var(--ts-cyan);
  border-radius: 50%;
  box-shadow: 0 0 18px var(--ts-cyan);
}

.hero-modern .intro-content h5 {
  color: var(--ts-cyan);
  font-size: 1.45rem;
  letter-spacing: .25rem;
  margin-bottom: 1rem;
}

.hero-modern .intro-content h1 {
  max-width: 800px;
  margin-left: 0;
  margin-right: 0;
  color: #fff;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: clamp(4rem, 6vw, 7rem);
  line-height: 1.05;
  letter-spacing: -0.28rem;
  margin-bottom: 2rem;
}

.hero-lead {
  max-width: 720px;
  color: rgba(255, 255, 255, .78);
  font-size: 2rem;
  line-height: 1.75;
  margin-bottom: 3rem;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-bottom: 3.6rem;
}

.hero-actions .button {
  margin: 0;
  height: 5.8rem;
  line-height: 5.8rem;
  border-radius: 999px;
  letter-spacing: .08rem;
}

.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
  background: linear-gradient(135deg, var(--ts-primary), var(--ts-primary-dark));
  color: #fff;
  box-shadow: 0 14px 34px rgba(8, 119, 255, 0.35);
}

.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
  background: linear-gradient(135deg, var(--ts-primary-dark), #00348a);
  color: #fff;
  transform: translateY(-2px);
}

.hero-modern .intro-content .button.stroke {
  border: 2px solid rgba(255, 255, 255, .52);
  color: #fff;
  background: rgba(255, 255, 255, .08) !important;
}

.hero-modern .intro-content .button.stroke:hover,
.hero-modern .intro-content .button.stroke:focus {
  border-color: var(--ts-cyan);
  color: #fff;
  background: rgba(0, 212, 255, .12) !important;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, 1fr));
  gap: 14px;
  max-width: 680px;
}

.hero-stats div {
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .08);
  border-radius: 20px;
  backdrop-filter: blur(10px);
}

.hero-stats strong {
  display: block;
  color: #fff;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 2.4rem;
  line-height: 1.1;
  margin-bottom: 6px;
}

.hero-stats span {
  color: rgba(255, 255, 255, .70);
  display: block;
  font-weight: 600;
  line-height: 1.4;
}

.section-intro h1,
#testimonials .h01,
.cta-content h1 {
  font-family: "Segoe UI", Arial, sans-serif;
  color: var(--ts-text);
  letter-spacing: -0.08rem;
}

.section-intro h5 {
  color: var(--ts-primary);
  font-weight: 800;
}

.section-intro .with-bottom-line::after,
#testimonials .h01::after {
  background: linear-gradient(90deg, var(--ts-primary), var(--ts-cyan));
  border-radius: 999px;
}

#process.about-modern {
  background:
    linear-gradient(180deg, #fff 0%, var(--ts-soft) 100%);
  padding-top: 12rem;
  padding-bottom: 12rem;
}

.value-grid {
  max-width: 1180px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.value-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--ts-border);
  border-radius: 28px;
  padding: 32px 26px;
  min-height: 280px;
  box-shadow: 0 16px 44px rgba(8, 20, 38, 0.08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.value-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--ts-shadow);
  border-color: rgba(8, 119, 255, .28);
}

.value-card::before {
  content: attr(data-item);
  position: absolute;
  top: 22px;
  right: 24px;
  color: rgba(8, 119, 255, .12);
  font-size: 5.4rem;
  font-weight: 900;
  line-height: 1;
}

.value-icon,
.services-modern .features-list .icon,
.contact-card span {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 22px;
  color: var(--ts-primary);
  background: rgba(8, 119, 255, .10);
}

.value-icon i,
.services-modern .features-list .icon i,
.contact-card span i {
  font-size: 2.8rem;
  line-height: 1;
}

.value-card h5 {
  color: var(--ts-text);
  font-size: 1.65rem;
  letter-spacing: .04rem;
  margin-bottom: 1rem;
}

.value-card p {
  margin-bottom: 0;
  line-height: 1.8;
}

#features.services-modern {
  background:
    linear-gradient(135deg, rgba(8, 20, 38, .94), rgba(13, 32, 56, .88)),
    url(../images/features-bg.jpg) no-repeat center;
  background-size: cover;
  padding-top: 12rem;
  padding-bottom: 12rem;
}

.services-modern .features-content {
  max-width: 1180px;
}

.services-modern .features-list {
  text-align: left;
}

.service-card-grid .service-card {
  padding: 0 14px;
  margin-bottom: 28px;
}

.services-modern .service-card .service-content {
  height: 100%;
}

.services-modern .service-card {
  display: block;
}

.services-modern .service-card > .icon,
.services-modern .service-card > .service-content {
  position: relative;
  z-index: 2;
}

.services-modern .service-card {
  position: relative;
}

.services-modern .service-card::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 14px;
  right: 14px;
  bottom: 0;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 26px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 18px 46px rgba(0,0,0,.15);
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
  z-index: 1;
}

.services-modern .service-card:hover::after {
  transform: translateY(-8px);
  border-color: rgba(0, 212, 255, .35);
  background: rgba(255,255,255,.12);
}

.services-modern .service-card .icon {
  margin-left: 26px;
  margin-top: 28px;
  background: rgba(0, 212, 255, .14);
  color: #fff;
}

.services-modern .service-card .service-content {
  padding: 0 26px 28px 26px;
}

.services-modern .features-list .h05 {
  color: #fff;
  font-size: 1.75rem;
  letter-spacing: .03rem;
  margin-bottom: 1rem;
}

.services-modern .features-list p {
  color: rgba(255,255,255,.72);
  line-height: 1.8;
  margin-bottom: 0;
}

#cta.cta-modern {
  background:
    radial-gradient(circle at 15% 20%, rgba(0, 212, 255, .28), transparent 32%),
    linear-gradient(135deg, var(--ts-primary), var(--ts-primary-dark));
  padding-top: 8rem;
  padding-bottom: 8.4rem;
}

.cta-modern .cta-content {
  max-width: 820px;
}

.cta-modern h1,
.cta-modern p {
  color: #fff;
}

.cta-modern p {
  font-size: 1.9rem;
  line-height: 1.8;
}

.cta-modern .button.button-primary {
  background: #fff;
  color: var(--ts-primary-dark);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .20);
}

.cta-modern .button.button-primary:hover {
  background: rgba(255,255,255,.92);
  color: var(--ts-primary-dark);
}

#testimonials.testimonials-modern {
  background: #fff;
  padding-top: 10rem;
  padding-bottom: 12rem;
}

#testimonial-slider p {
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 2.15rem;
  line-height: 1.75;
  color: var(--ts-muted);
}

#testimonial-slider .testimonial-author img {
  border-color: var(--ts-soft);
  box-shadow: 0 10px 28px rgba(8, 20, 38, .10);
}

#testimonial-slider .testimonial-author .author-info {
  color: var(--ts-text);
  font-family: "Segoe UI", Arial, sans-serif;
}

#faq.contact-modern {
  background: var(--ts-soft);
  padding-top: 11rem;
  padding-bottom: 11rem;
}

.contact-cards {
  max-width: 1060px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.contact-card {
  background: #fff;
  border: 1px solid var(--ts-border);
  border-radius: 28px;
  padding: 32px;
  text-align: center;
  box-shadow: 0 18px 46px rgba(8, 20, 38, .08);
}

.contact-card h4 {
  color: var(--ts-text);
  margin-bottom: .8rem;
}

.contact-card p {
  line-height: 1.7;
  margin-bottom: 1.4rem;
}

.contact-card a {
  font-weight: 800;
}

footer {
  color: rgba(255, 255, 255, .66);
}

.footer-main {
  background: var(--ts-navy);
}

.footer-main ul a,
.footer-main ul a:visited {
  color: rgba(255, 255, 255, .64);
}

footer a,
footer a:visited {
  color: #9defff;
}

.footer-bottom {
  background: #050b14;
}

#go-top a {
  background: var(--ts-primary);
}

#go-top a:hover {
  background: var(--ts-primary-dark);
}

.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 88px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  background: #25d366;
  box-shadow: 0 16px 36px rgba(37, 211, 102, .35);
  z-index: 900;
  text-decoration: none;
}

.whatsapp-float i {
  font-size: 3rem;
  line-height: 1;
}

.whatsapp-float:hover {
  color: #fff !important;
  transform: translateY(-3px);
  background: #1ebe5b;
}

@media only screen and (max-width: 1024px) {
  .value-grid { grid-template-columns: repeat(2, 1fr); }
  header .logo a { width: 190px; }
  .main-navigation li a { padding-left: 7px; padding-right: 7px; }
}

@media only screen and (max-width: 768px) {
  header {
    top: 0;
    padding: 10px 0;
  }

  header .row {
    width: calc(100% - 24px);
    height: 64px;
    border-radius: 20px;
  }

  header .logo a,
  .sticky .logo a {
    width: 150px;
    height: 52px;
    background-size: contain;
  }

  #main-nav-wrap {
    top: 74px;
    right: 12px;
    left: 12px;
    width: auto;
  }

  .main-navigation {
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(0,0,0,.25);
  }

  .main-navigation li.highlight a {
    display: inline-block;
    margin: 12px 0 0 0;
  }

  #intro.hero-modern {
    min-height: 760px;
  }

  .hero-modern .intro-content {
    text-align: center;
  }

  .hero-modern .intro-content .col-twelve {
    margin: 0 auto;
    padding-top: 100px;
  }

  .hero-modern .intro-content h1 {
    margin-left: auto;
    margin-right: auto;
    letter-spacing: -0.15rem;
  }

  .hero-lead {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-actions {
    justify-content: center;
  }

  .hero-stats,
  .contact-cards {
    grid-template-columns: 1fr;
  }

  .value-grid {
    grid-template-columns: 1fr;
    max-width: 540px;
  }

  .service-card-grid .service-card {
    width: 100% !important;
    float: none !important;
  }

  .whatsapp-float {
    right: 18px;
    bottom: 84px;
  }
}

@media only screen and (max-width: 480px) {
  .hero-badge {
    font-size: 1.18rem;
    padding: 9px 12px;
  }

  .hero-modern .intro-content h1 {
    font-size: 3.7rem;
  }

  .hero-lead {
    font-size: 1.65rem;
  }

  .hero-actions .button {
    width: 100%;
    padding-left: 1.8rem !important;
    padding-right: 1.8rem !important;
  }

  .hero-stats {
    grid-template-columns: 1fr;
  }

  .value-card,
  .contact-card {
    border-radius: 22px;
    padding: 26px 22px;
  }

  .section-intro h1 {
    font-size: 3.2rem;
  }
}

/* ===================================================================
 * Correcciones de alineación y clics - versión corregida
 * =================================================================== */

/* Evita que la capa oscura del banner bloquee los botones */
#intro.hero-modern {
  position: relative;
  overflow: hidden;
}

#intro.hero-modern .shadow-overlay {
  pointer-events: none !important;
  z-index: 0;
}

#intro.hero-modern .intro-content {
  position: relative;
  z-index: 2;
}

#intro.hero-modern .hero-actions,
#intro.hero-modern .hero-actions a,
#intro.hero-modern .button,
#intro.hero-modern .hero-stats,
#intro.hero-modern .hero-badge {
  position: relative;
  z-index: 3;
}

/* Estructura estable para tarjetas y módulos */
.value-grid,
.service-card-grid,
.contact-cards {
  box-sizing: border-box;
  margin-left: auto !important;
  margin-right: auto !important;
}

.value-grid *,
.service-card-grid *,
.contact-cards * {
  box-sizing: border-box;
}

/* Servicios: reemplaza floats antiguos por CSS Grid para evitar desalineación */
#features.services-modern .service-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  width: calc(100% - 48px);
  max-width: 1180px;
  padding: 0 !important;
  margin-top: 3rem;
  text-align: left;
}

#features.services-modern .service-card-grid::before,
#features.services-modern .service-card-grid::after {
  content: none !important;
  display: none !important;
}

#features.services-modern .service-card-grid .service-card {
  width: auto !important;
  float: none !important;
  clear: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 310px;
  display: flex !important;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

#features.services-modern .service-card::after {
  left: 0 !important;
  right: 0 !important;
  border-radius: 26px;
}

#features.services-modern .service-card .icon {
  margin: 28px 28px 20px 28px !important;
  flex: 0 0 auto;
}

#features.services-modern .service-card .service-content {
  padding: 0 28px 30px 28px !important;
  flex: 1 1 auto;
}

#features.services-modern .service-card .service-content p {
  margin-bottom: 0 !important;
}

/* Cards sobre nosotros: alturas parejas y alineación limpia */
#process.about-modern .value-grid {
  width: calc(100% - 48px);
  max-width: 1180px;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

#process.about-modern .value-card {
  height: 100%;
  min-height: 300px;
}

/* Contacto: cards alineadas */
#faq.contact-modern .contact-cards {
  width: calc(100% - 48px);
  max-width: 1060px;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

#faq.contact-modern .contact-card {
  height: 100%;
}

/* Ajustes responsive */
@media only screen and (max-width: 1024px) {
  #features.services-modern .service-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #process.about-modern .value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 768px) {
  #features.services-modern .service-card-grid,
  #process.about-modern .value-grid,
  #faq.contact-modern .contact-cards {
    width: calc(100% - 32px);
    grid-template-columns: 1fr !important;
  }

  #features.services-modern .service-card-grid .service-card {
    min-height: auto;
  }

  #process.about-modern .value-card {
    min-height: auto;
  }
}

/* Refuerzo de layout del hero para mantener el contenido centrado aunque falten estilos base */
#intro.hero-modern .intro-content .row {
  width: calc(100% - 48px);
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

#intro.hero-modern .intro-content .col-twelve {
  float: none !important;
  width: 100% !important;
}

#intro.hero-modern .hero-lead,
#intro.hero-modern .hero-actions,
#intro.hero-modern .hero-stats {
  clear: both;
}


/* ===================================================================
 * Ajustes finales solicitados: alineación, contacto y partner badge
 * =================================================================== */

/* Centrar y estabilizar módulos de Sobre Nosotros y Contacto */
.row.value-grid,
.row.contact-cards {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#process.about-modern .value-grid {
  width: min(1180px, calc(100% - 48px));
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 24px;
  margin-left: auto !important;
  margin-right: auto !important;
}

#process.about-modern .value-card {
  flex: 1 1 240px;
  max-width: 260px;
  min-height: 280px;
}

#faq.contact-modern .contact-cards {
  width: min(1060px, calc(100% - 48px));
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 24px;
  margin-left: auto !important;
  margin-right: auto !important;
}

#faq.contact-modern .contact-card {
  flex: 1 1 280px;
  max-width: 320px;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#faq.contact-modern .contact-card p {
  min-height: 72px;
}

/* Partner badge */
.partner-badge {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(8, 119, 255, .14);
  border-radius: 22px;
  padding: 12px 18px;
  box-shadow: 0 16px 40px rgba(8, 20, 38, .10);
}

.partner-badge img {
  display: block;
  width: 160px;
  max-width: 100%;
  height: auto;
}

.partner-label {
  display: inline-block;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: .16rem;
  text-transform: uppercase;
  color: var(--ts-primary-dark);
  white-space: nowrap;
}

.hero-partner {
  margin: 2.4rem auto 0;
}

.footer-partner {
  margin-top: 2rem;
  display: inline-flex;
  background: #fff;
}

.footer-info p:last-of-type {
  margin-bottom: 1rem;
}

.footer-main .social-links ul li,
.footer-main .site-links ul li {
  margin-bottom: .4rem;
}

@media only screen and (max-width: 900px) {
  .partner-badge {
    flex-direction: column;
    text-align: center;
  }

  .partner-label {
    white-space: normal;
    letter-spacing: .12rem;
  }
}

@media only screen and (max-width: 768px) {
  #process.about-modern .value-grid,
  #faq.contact-modern .contact-cards {
    width: calc(100% - 32px);
  }

  #process.about-modern .value-card,
  #faq.contact-modern .contact-card {
    flex: 1 1 100%;
    max-width: 520px;
    min-height: auto;
  }

  #faq.contact-modern .contact-card p {
    min-height: 0;
  }

  .footer-partner {
    width: 100%;
    justify-content: center;
  }
}

@media only screen and (max-width: 480px) {
  .partner-badge {
    padding: 12px 14px;
    border-radius: 18px;
  }

  .partner-badge img {
    width: 140px;
  }
}


/* ===================================================================
 * Footer branding + CTA comercial
 * =================================================================== */

.footer-info .footer-branding-card {
  margin-top: 2rem;
}

.footer-branding-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(170px, .75fr);
  align-items: center;
  gap: 18px;
  width: 100%;
  max-width: 520px;
  padding: 22px 24px;
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(241,248,255,.95));
  border: 1px solid rgba(157, 239, 255, .22);
  box-shadow: 0 20px 50px rgba(4, 10, 22, .22);
}

.footer-branding-card::before,
.footer-branding-card::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.footer-branding-card::before {
  width: 160px;
  height: 160px;
  right: -45px;
  top: -55px;
  background: radial-gradient(circle, rgba(8,119,255,.20) 0%, rgba(8,119,255,0) 70%);
}

.footer-branding-card::after {
  width: 120px;
  height: 120px;
  left: -35px;
  bottom: -45px;
  background: radial-gradient(circle, rgba(0,229,255,.13) 0%, rgba(0,229,255,0) 75%);
}

.footer-eyebrow {
  display: inline-block;
  margin-bottom: .8rem;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: .22rem;
  text-transform: uppercase;
  color: var(--ts-primary);
}

.footer-branding-copy,
.footer-branding-visual {
  position: relative;
  z-index: 2;
}

.footer-branding-card h4 {
  margin-bottom: .8rem;
  color: var(--ts-primary-dark);
  border: 0;
  padding: 0;
  font-size: 2.2rem;
  line-height: 1.2;
}

.footer-branding-card p {
  margin-bottom: 1.2rem;
  color: #42526a;
  line-height: 1.7;
}

.footer-mini-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.footer-mini-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(8, 119, 255, .10);
  color: var(--ts-primary-dark);
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: .05rem;
}

.footer-branding-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 150px;
}

.footer-brand-glow {
  position: absolute;
  width: 135px;
  height: 135px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(8,119,255,.25) 0%, rgba(8,119,255,0) 72%);
  animation: tsPulseGlow 3s ease-in-out infinite;
}

.footer-branding-visual img {
  position: relative;
  z-index: 2;
  width: 190px;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 12px 24px rgba(8, 20, 38, .18));
  animation: tsFloatLogo 4.6s ease-in-out infinite;
}

.footer-cta-row {
  margin-top: 3rem;
}

.footer-cta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
}

.footer-cta-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 170px;
  padding: 22px 20px;
  border-radius: 22px;
  text-decoration: none;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border: 1px solid rgba(157, 239, 255, .12);
  box-shadow: 0 16px 36px rgba(4, 10, 22, .15);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.footer-cta-card::before {
  content: "";
  position: absolute;
  inset: auto -40px -65px auto;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(8,119,255,.18) 0%, rgba(8,119,255,0) 72%);
}

.footer-cta-card:hover {
  transform: translateY(-6px);
  border-color: rgba(157, 239, 255, .24);
  box-shadow: 0 22px 44px rgba(4, 10, 22, .22);
}

.footer-cta-card strong {
  color: #fff;
  font-size: 1.75rem;
  line-height: 1.35;
}

.footer-cta-card small {
  display: block;
  color: rgba(255,255,255,.72);
  font-size: 1.34rem;
  line-height: 1.6;
}

.footer-cta-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .8rem;
  background: rgba(255,255,255,.12);
  color: #9defff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  animation: tsIconBob 3.2s ease-in-out infinite;
}

.footer-cta-icon i {
  font-size: 2.7rem;
}

.footer-cta-card.is-whatsapp .footer-cta-icon {
  background: rgba(37, 211, 102, .16);
  color: #4bf48f;
  box-shadow: 0 0 0 0 rgba(37, 211, 102, .28);
  animation: tsIconBob 3.2s ease-in-out infinite, tsPulseRing 2.4s ease-out infinite;
}

@keyframes tsFloatLogo {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}

@keyframes tsPulseGlow {
  0%, 100% { transform: scale(.94); opacity: .65; }
  50% { transform: scale(1.08); opacity: 1; }
}

@keyframes tsIconBob {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-4px); }
}

@keyframes tsPulseRing {
  0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .32); }
  70% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

@media only screen and (max-width: 1024px) {
  .footer-branding-card {
    max-width: none;
  }

  .footer-cta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 768px) {
  .footer-branding-card {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-mini-tags {
    justify-content: center;
  }

  .footer-branding-visual {
    min-height: 120px;
  }

  .footer-cta-grid {
    grid-template-columns: 1fr;
  }

  .footer-cta-card {
    min-height: auto;
  }
}


/* ===================================================================
 * Página más comercial y vistosa
 * =================================================================== */

.hero-quick-grid {
  width: 100%;
  max-width: 1080px;
  margin: 3rem auto 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.hero-quick-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-height: 165px;
  padding: 20px 18px;
  text-decoration: none;
  border-radius: 22px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 34px rgba(5, 11, 20, .18);
  backdrop-filter: blur(6px);
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.hero-quick-card::after {
  content: "";
  position: absolute;
  inset: auto -30px -55px auto;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,229,255,.20) 0%, rgba(0,229,255,0) 70%);
}

.hero-quick-card:hover {
  transform: translateY(-8px);
  background: rgba(255,255,255,.12);
  border-color: rgba(157, 239, 255, .28);
}

.hero-quick-icon {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  color: #9defff;
  background: rgba(255,255,255,.14);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  animation: tsIconBob 3s ease-in-out infinite;
}

.hero-quick-icon i {
  font-size: 2.8rem;
}

.hero-quick-card strong {
  color: #fff;
  font-size: 1.72rem;
  line-height: 1.35;
}

.hero-quick-card small {
  color: rgba(255,255,255,.76);
  font-size: 1.35rem;
  line-height: 1.55;
}

.value-card,
.contact-card,
#features.services-modern .service-card {
  overflow: hidden;
}

.value-card::after,
.contact-card::after,
#features.services-modern .service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: -135%;
  width: 85%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.36) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-20deg);
  pointer-events: none;
  animation: tsShine 7s ease-in-out infinite;
}

#features.services-modern .service-card::before {
  z-index: 1;
}

#features.services-modern .service-card .icon,
.value-icon,
.contact-card span {
  animation: tsIconBob 3.4s ease-in-out infinite;
}

#features.services-modern .service-card .service-content {
  position: relative;
  z-index: 2;
}

.service-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 1.6rem 0 1.8rem;
}

.service-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border-radius: 999px;
  background: rgba(157,239,255,.12);
  border: 1px solid rgba(157,239,255,.10);
  color: rgba(255,255,255,.88);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: .05rem;
  text-transform: uppercase;
}

.service-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #9defff !important;
  font-weight: 800;
  text-decoration: none;
  letter-spacing: .03rem;
}

.service-link i {
  transition: transform .25s ease;
}

.service-link:hover i {
  transform: translateX(4px);
}

.commercial-strip {
  background: linear-gradient(180deg, #f8fbff 0%, #edf5ff 100%);
  padding: 2.2rem 0 2.4rem;
  overflow: hidden;
  border-top: 1px solid rgba(8,119,255,.08);
  border-bottom: 1px solid rgba(8,119,255,.08);
}

.commercial-strip .row {
  width: min(1240px, calc(100% - 30px));
}

.commercial-strip-head {
  text-align: center;
  margin-bottom: 1.4rem;
}

.commercial-strip-head span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(8,119,255,.08);
  color: var(--ts-primary-dark);
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: .15rem;
  text-transform: uppercase;
}

.commercial-marquee {
  overflow: hidden;
  position: relative;
}

.commercial-track {
  display: flex;
  align-items: center;
  gap: 16px;
  width: max-content;
  animation: tsMarquee 26s linear infinite;
}

.commercial-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 18px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(8,119,255,.10);
  box-shadow: 0 10px 24px rgba(8,20,38,.06);
  color: var(--ts-text);
  white-space: nowrap;
  font-weight: 700;
}

.commercial-pill i {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(8,119,255,.10);
  color: var(--ts-primary);
}

.cta-modern::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  left: 8%;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.15) 0%, rgba(255,255,255,0) 72%);
  animation: tsPulseGlow 4s ease-in-out infinite;
  pointer-events: none;
}

.cta-modern {
  position: relative;
  overflow: hidden;
}

.contact-card a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.contact-card a::after {
  content: "92";
  font-size: 1.5rem;
}

.footer-cta-card,
.hero-quick-card,
.contact-card,
.value-card,
#features.services-modern .service-card {
  will-change: transform;
}

@keyframes tsShine {
  0%, 65%, 100% { left: -135%; }
  75% { left: 135%; }
}

@keyframes tsMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media only screen and (max-width: 1100px) {
  .hero-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 768px) {
  .hero-quick-grid {
    grid-template-columns: 1fr;
  }
  .hero-quick-card {
    min-height: auto;
  }
  .commercial-track {
    animation-duration: 20s;
  }
}

@media only screen and (max-width: 480px) {
  .commercial-pill {
    min-height: 48px;
    padding: 0 14px;
    font-size: 1.28rem;
  }
}


/* ===================================================================
 * Contacto: CTA principal movido desde footer
 * =================================================================== */

#faq.contact-modern {
  position: relative;
  overflow: hidden;
}

#faq.contact-modern::before,
#faq.contact-modern::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

#faq.contact-modern::before {
  width: 280px;
  height: 280px;
  left: -90px;
  top: 18%;
  background: radial-gradient(circle, rgba(8,119,255,.10) 0%, rgba(8,119,255,0) 70%);
  animation: tsPulseGlow 4.5s ease-in-out infinite;
}

#faq.contact-modern::after {
  width: 240px;
  height: 240px;
  right: -80px;
  bottom: 8%;
  background: radial-gradient(circle, rgba(0,229,255,.13) 0%, rgba(0,229,255,0) 72%);
  animation: tsPulseGlow 5.4s ease-in-out infinite;
}

#faq.contact-modern .section-intro,
#faq.contact-modern .contact-action-row {
  position: relative;
  z-index: 2;
}

.contact-action-row {
  width: min(1240px, calc(100% - 48px));
  margin-top: 5.4rem;
}

.contact-action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}

.contact-action-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  min-height: 238px;
  padding: 30px 28px;
  border-radius: 28px;
  text-decoration: none;
  text-align: left;
  background: linear-gradient(150deg, #101b2d 0%, #132338 58%, #0d2340 100%);
  border: 1px solid rgba(8,119,255,.18);
  box-shadow: 0 22px 48px rgba(8, 20, 38, .14);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.contact-action-card::before {
  content: "";
  position: absolute;
  inset: auto -55px -70px auto;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(8,119,255,.22) 0%, rgba(8,119,255,0) 72%);
  pointer-events: none;
}

.contact-action-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: -135%;
  width: 85%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.12) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-20deg);
  pointer-events: none;
  animation: tsShine 7s ease-in-out infinite;
}

.contact-action-card:hover {
  transform: translateY(-8px);
  border-color: rgba(157,239,255,.30);
  box-shadow: 0 30px 60px rgba(8, 20, 38, .22);
}

.contact-action-icon {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #9defff;
  background: rgba(255,255,255,.11);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07);
  animation: tsIconBob 3.2s ease-in-out infinite;
}

.contact-action-icon i {
  font-size: 3.4rem;
  line-height: 1;
}

.contact-action-card.is-whatsapp .contact-action-icon {
  color: #4bf48f;
  background: rgba(37, 211, 102, .16);
  box-shadow: 0 0 0 0 rgba(37, 211, 102, .28);
  animation: tsIconBob 3.2s ease-in-out infinite, tsPulseRing 2.4s ease-out infinite;
}

.contact-action-card strong {
  color: #fff;
  font-size: 2.1rem;
  line-height: 1.25;
  font-family: "Segoe UI", Arial, sans-serif;
  position: relative;
  z-index: 2;
}

.contact-action-card small {
  display: block;
  color: rgba(255,255,255,.72);
  font-size: 1.55rem;
  line-height: 1.65;
  position: relative;
  z-index: 2;
}

#faq.contact-modern .contact-card a::after {
  content: none !important;
}

@media only screen and (max-width: 1100px) {
  .contact-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 768px) {
  .contact-action-row {
    width: calc(100% - 32px);
    margin-top: 4rem;
  }

  .contact-action-grid {
    grid-template-columns: 1fr;
  }

  .contact-action-card {
    min-height: auto;
    padding: 28px 24px;
  }
}


/* ===================================================================
 * Corrección final: testimonios estáticos y footer partner horizontal
 * =================================================================== */

/* Testimonios sin carrusel: funciona aunque FlexSlider/JS no cargue */
#testimonials.testimonials-static {
  background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
  padding-top: 10rem;
  padding-bottom: 11rem;
}

#testimonials.testimonials-static .section-kicker {
  display: inline-block;
  margin-bottom: .8rem;
  color: var(--ts-primary);
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: .28rem;
  text-transform: uppercase;
}

#testimonials.testimonials-static .h01 {
  margin-bottom: 1.2rem;
}

.testimonials-lead {
  max-width: 720px;
  margin: 0 auto 4.8rem;
  color: var(--ts-muted);
  font-size: 1.8rem;
  line-height: 1.8;
}

.testimonials-grid {
  width: min(1180px, calc(100% - 48px));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.testimonial-card {
  position: relative;
  overflow: hidden;
  min-height: 360px;
  padding: 30px 28px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(8,119,255,.12);
  box-shadow: 0 20px 50px rgba(8, 20, 38, .08);
  display: flex;
  flex-direction: column;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.testimonial-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 26px 60px rgba(8, 20, 38, .12);
  border-color: rgba(8,119,255,.24);
}

.testimonial-card::before {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  right: -80px;
  top: -85px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(8,119,255,.13) 0%, rgba(8,119,255,0) 72%);
}

.testimonial-top {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 2rem;
}

.testimonial-icon {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  color: var(--ts-primary);
  background: rgba(8,119,255,.10);
  animation: tsIconBob 3.4s ease-in-out infinite;
}

.testimonial-icon i {
  font-size: 2.8rem;
}

.testimonial-rating {
  color: #ffb800;
  font-size: 1.55rem;
  letter-spacing: .1rem;
  white-space: nowrap;
}

.testimonial-card p {
  position: relative;
  z-index: 2;
  margin-bottom: 2.4rem;
  color: var(--ts-muted);
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 1.65rem;
  line-height: 1.8;
}

.testimonial-author-inline {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  padding-top: 1.8rem;
  border-top: 1px solid rgba(8,119,255,.10);
}

.testimonial-author-inline > span {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--ts-primary), var(--ts-cyan));
  color: #fff;
  font-weight: 900;
  letter-spacing: .04rem;
  box-shadow: 0 12px 24px rgba(8,119,255,.18);
}

.testimonial-author-inline strong {
  display: block;
  color: var(--ts-text);
  font-size: 1.55rem;
  line-height: 1.3;
  font-family: "Segoe UI", Arial, sans-serif;
  font-weight: 900;
}

.testimonial-author-inline small {
  display: block;
  color: var(--ts-muted);
  font-size: 1.25rem;
  line-height: 1.5;
}

/* Footer partner a lo ancho */
.footer-main > .row:first-child {
  display: flex;
  align-items: flex-start;
  gap: 42px;
  flex-wrap: wrap;
}

.footer-main .footer-info {
  flex: 1 1 420px;
  max-width: 520px;
}

.footer-main .site-links,
.footer-main .social-links {
  flex: 0 1 210px;
}

.footer-partner-row {
  margin-top: 3.2rem;
  width: min(1180px, calc(100% - 48px));
}

.footer-branding-card.footer-partner-wide {
  max-width: none;
  width: 100%;
  min-height: 185px;
  grid-template-columns: minmax(260px, 1.05fr) minmax(360px, 1.25fr) minmax(210px, .75fr);
  gap: 26px;
  padding: 26px 30px;
  border-radius: 28px;
}

.footer-branding-card.footer-partner-wide .footer-eyebrow {
  margin-bottom: .7rem;
  font-size: 1.08rem;
  letter-spacing: .2rem;
}

.footer-branding-card.footer-partner-wide h4 {
  font-size: 2rem;
  line-height: 1.18;
  margin-bottom: .7rem;
  white-space: normal;
}

.footer-branding-card.footer-partner-wide p {
  font-size: 1.42rem;
  line-height: 1.65;
  margin-bottom: 0;
}

.footer-branding-card.footer-partner-wide .footer-mini-tags {
  justify-content: center;
  align-content: center;
  gap: 10px;
}

.footer-branding-card.footer-partner-wide .footer-mini-tags span {
  min-height: 42px;
  padding: 0 14px;
  gap: 8px;
  background: rgba(8,119,255,.09);
  border: 1px solid rgba(8,119,255,.10);
}

.footer-branding-card.footer-partner-wide .footer-mini-tags i {
  color: var(--ts-primary);
  font-size: 1.65rem;
}

.footer-branding-card.footer-partner-wide .footer-branding-visual {
  min-height: 125px;
}

.footer-branding-card.footer-partner-wide .footer-branding-visual img {
  width: 175px;
}

@media only screen and (max-width: 1024px) {
  .testimonials-grid {
    grid-template-columns: 1fr;
    max-width: 760px;
  }

  .testimonial-card {
    min-height: auto;
  }

  .footer-branding-card.footer-partner-wide {
    grid-template-columns: 1fr;
    text-align: center;
    min-height: auto;
  }

  .footer-branding-card.footer-partner-wide .footer-mini-tags {
    justify-content: center;
  }
}

@media only screen and (max-width: 768px) {
  .testimonials-grid,
  .footer-partner-row {
    width: calc(100% - 32px);
  }

  .footer-main > .row:first-child {
    display: block;
  }

  .footer-main .footer-info {
    max-width: none;
  }
}


/* ===================================================================
 * Rediseño comercial - foco en marketing, soporte y seguridad
 * =================================================================== */

.hero-modern .hero-badge {
  background: rgba(255,255,255,.12);
}

.service-card-grid-advanced {
  margin-top: 3rem;
}

.service-card-grid-advanced .service-card {
  padding: 26px 24px 28px !important;
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  border: 1px solid rgba(157, 239, 255, .10);
  box-shadow: 0 18px 44px rgba(4, 10, 22, .20);
}

.service-card-grid-advanced .service-card .service-content {
  padding: 0 !important;
}

.service-visual {
  position: relative;
  min-height: 190px;
  margin-bottom: 2.2rem;
  border-radius: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at center, rgba(255,255,255,.10) 0%, rgba(255,255,255,.02) 72%);
  overflow: hidden;
}

.service-kicker {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: .08rem;
  text-transform: uppercase;
  background: rgba(255,255,255,.12);
  color: #dff8ff;
}

.service-visual-main {
  position: relative;
  z-index: 2;
  width: 102px;
  height: 102px;
  border-radius: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.13);
  box-shadow: 0 18px 40px rgba(0,0,0,.20), inset 0 0 0 1px rgba(255,255,255,.08);
  animation: tsFloatLogo 4s ease-in-out infinite;
}

.service-visual-main i {
  font-size: 5rem;
  color: #fff;
}

.sv-orbit {
  position: absolute;
  border-radius: 50%;
  border: 1px dashed rgba(157,239,255,.26);
  animation: tsRotateOrbit 16s linear infinite;
}

.sv-orbit.orbit-1 {
  width: 150px;
  height: 150px;
}

.sv-orbit.orbit-2 {
  width: 210px;
  height: 210px;
  animation-direction: reverse;
  animation-duration: 22s;
}

.sv-node {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #9defff;
  box-shadow: 0 0 0 8px rgba(157,239,255,.10), 0 0 24px rgba(157,239,255,.35);
  animation: tsPulseGlow 3.3s ease-in-out infinite;
}

.sv-node.node-1 { top: 24px; left: 50%; margin-left: -8px; }
.sv-node.node-2 { bottom: 36px; left: 32px; }
.sv-node.node-3 { bottom: 30px; right: 34px; }

.service-web .service-visual-main,
.service-web .service-kicker,
.service-web .sv-node { background-color: rgba(46, 139, 255, .22); }
.service-seo .service-visual-main,
.service-seo .service-kicker,
.service-seo .sv-node { background-color: rgba(255, 180, 0, .20); }
.service-marketing .service-visual-main,
.service-marketing .service-kicker,
.service-marketing .sv-node { background-color: rgba(255, 92, 157, .22); }
.service-support .service-visual-main,
.service-support .service-kicker,
.service-support .sv-node { background-color: rgba(0, 211, 168, .20); }
.service-cctv .service-visual-main,
.service-cctv .service-kicker,
.service-cctv .sv-node { background-color: rgba(77, 135, 255, .22); }
.service-alarm .service-visual-main,
.service-alarm .service-kicker,
.service-alarm .sv-node { background-color: rgba(255, 102, 102, .22); }

.service-seo .service-visual-main i,
.service-seo .service-kicker,
.service-alarm .service-kicker { color: #fff; }

.services-highlight-row {
  margin-top: 5rem;
}

.services-highlight-board {
  width: calc(100% - 48px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 36px;
  border-radius: 32px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  border: 1px solid rgba(157,239,255,.12);
  box-shadow: 0 24px 52px rgba(4,10,22,.22);
}

.board-kicker {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: #9defff;
  font-weight: 800;
  letter-spacing: .15rem;
  text-transform: uppercase;
  font-size: 1.1rem;
  margin-bottom: 1.2rem;
}

.services-highlight-copy h2 {
  color: #fff;
  margin-bottom: 1.2rem;
  font-size: 3.6rem;
  line-height: 1.2;
}

.services-highlight-copy p {
  color: rgba(255,255,255,.76);
  line-height: 1.8;
  margin-bottom: 1.6rem;
}

.board-list {
  margin: 0;
  list-style: none;
}

.board-list li {
  color: rgba(255,255,255,.82);
  margin-bottom: 1rem;
}

.board-list i {
  color: #9defff;
  margin-right: 8px;
}

.services-highlight-visual {
  position: relative;
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tech-radar {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(157,239,255,.18);
}

.radar-1 { width: 210px; height: 210px; animation: tsRotateOrbit 22s linear infinite; }
.radar-2 { width: 310px; height: 310px; border-style: dashed; animation: tsRotateOrbit 30s linear reverse infinite; }

.tech-core {
  position: relative;
  z-index: 2;
  width: 104px;
  height: 104px;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0b83ff, #14d8ff);
  box-shadow: 0 22px 44px rgba(8,119,255,.35);
  animation: tsFloatLogo 4s ease-in-out infinite;
}

.tech-core i { color: #fff; font-size: 4.8rem; }

.tech-point {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 78px;
  height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: #fff;
  font-weight: 800;
  letter-spacing: .05rem;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  backdrop-filter: blur(8px);
  animation: tsPulseGlow 3.6s ease-in-out infinite;
}

.tp-1 { top: 10px; left: 50%; transform: translateX(-50%); }
.tp-2 { top: 70px; right: 12px; }
.tp-3 { bottom: 72px; right: 24px; }
.tp-4 { bottom: 14px; left: 50%; transform: translateX(-50%); }
.tp-5 { bottom: 74px; left: 24px; }
.tp-6 { top: 80px; left: 12px; }

.footer-branding-card,
.contact-action-card,
.hero-quick-card,
.testimonial-card {
  backdrop-filter: blur(8px);
}

.contact-action-card {
  min-height: 205px;
}

@keyframes tsRotateOrbit {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media only screen and (max-width: 1100px) {
  .services-highlight-board {
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 768px) {
  .service-visual {
    min-height: 170px;
  }
  .sv-orbit.orbit-2 { width: 180px; height: 180px; }
  .sv-orbit.orbit-1 { width: 130px; height: 130px; }
  .services-highlight-board {
    width: calc(100% - 32px);
    padding: 26px 22px;
  }
  .services-highlight-copy h2 {
    font-size: 3rem;
  }
  .services-highlight-visual {
    min-height: 280px;
  }
  .radar-1 { width: 180px; height: 180px; }
  .radar-2 { width: 250px; height: 250px; }
  .tech-point {
    min-width: 66px;
    height: 34px;
    font-size: 1.15rem;
  }
}


/* ===================================================================
 * Ajustes solicitados: eliminar CTA superior y reparar testimonios
 * =================================================================== */

.hero-modern .hero-partner {
  margin-bottom: 1.2rem;
}

/* Layout estable para testimonios */
.testimonials-grid {
  width: min(1160px, calc(100% - 40px)) !important;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 28px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.testimonial-card {
  flex: 1 1 320px;
  max-width: 350px;
  width: 100%;
  min-height: 360px;
}

#testimonials .row > .col-twelve {
  text-align: center;
}

#testimonials .section-kicker {
  display: inline-block;
}

@media only screen and (max-width: 1024px) {
  .testimonials-grid {
    width: min(760px, calc(100% - 32px)) !important;
  }

  .testimonial-card {
    max-width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  .testimonials-grid {
    width: calc(100% - 24px) !important;
    gap: 20px;
  }
}


/* ===================================================================
 * Corrección de iconos y espacio superior del hero
 * =================================================================== */

/* Asegura que todos los íconos Ionicons se rendericen correctamente */
i[class^="ion-"],
i[class*=" ion-"] {
  font-family: "Ionicons" !important;
  speak: none;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Espacio para que el módulo superior no quede pegado o tapado por el menú */
#intro.hero-modern {
  min-height: 860px;
}

#intro.hero-modern .intro-content {
  padding-top: 10rem;
  padding-bottom: 7rem;
}

#intro.hero-modern .intro-content .col-twelve {
  padding-top: 5rem;
}

#intro.hero-modern .hero-badge {
  margin-top: 3rem;
  margin-bottom: 3rem;
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 32px);
  white-space: normal;
  line-height: 1.4;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .18);
}

#intro.hero-modern h5 {
  margin-top: 1.2rem;
}

.value-icon i,
.service-visual-main i,
.commercial-pill i,
.testimonial-icon i,
.testimonial-rating i,
.contact-action-icon i,
.footer-mini-tags i,
#go-top i,
.whatsapp-float i {
  font-family: "Ionicons" !important;
}

@media only screen and (max-width: 768px) {
  #intro.hero-modern {
    min-height: 820px;
  }

  #intro.hero-modern .intro-content {
    padding-top: 9rem;
  }

  #intro.hero-modern .hero-badge {
    margin-top: 2rem;
    margin-bottom: 2.4rem;
    font-size: 1.2rem;
    letter-spacing: .08rem;
  }
}

@media only screen and (max-width: 480px) {
  #intro.hero-modern .intro-content .col-twelve {
    padding-top: 4rem;
  }
}
