﻿/* Responsive and motion preferences */

@media (max-width:1240px){.about-team-arrow.prev{left:8px}.about-team-arrow.next{right:8px}.about-team-track{padding-inline:28px}}
@media (max-width:1100px){.about-hero .container{grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);gap:38px}.about-hero-visual{min-height:410px}.about-metric{gap:12px;padding:0 14px}.about-service-grid{grid-template-columns:repeat(3,1fr)}.about-team-track{grid-auto-columns:calc((100% - 45px)/4)}.about-tech-track{flex-wrap:wrap}.about-tech-track>div{flex:1 1 calc(25% - 10px)}}
@media (max-width:820px){.about-hero{padding-top:45px}.about-hero .container,.about-story .container{grid-template-columns:1fr}.about-hero-copy{text-align:center}.about-hero-copy h1,.about-hero-copy>p{margin-right:auto;margin-left:auto}.about-eyebrow,.about-hero-actions,.about-client-proof{justify-content:center}.about-hero-visual{width:min(620px,100%);min-height:450px;margin:0 auto}.about-experience{right:5px}.about-metrics .container{grid-template-columns:1fr 1fr}.about-metric{justify-content:flex-start;padding:18px 25px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.about-metric:nth-last-child(-n+2){border-bottom:0}.about-story{padding-top:10px}.about-story-copy{text-align:center}.about-story-copy ul{text-align:left}.about-team-track{grid-auto-columns:calc((100% - 30px)/3)}.about-trusted .container{align-items:flex-start;flex-direction:column;gap:16px}.about-trusted .container>span{width:auto;flex-basis:auto}.about-cta .container{padding-left:185px}.about-cta img{left:-10px}}
@media (max-width:600px){.innovion-about-page .container{width:min(100% - 28px,1180px)}.about-hero-copy h1{font-size:39px}.about-hero-actions{align-items:stretch;flex-direction:column}.about-hero-actions .btn{justify-content:center}.about-client-proof{align-items:flex-start}.about-client-proof>strong{display:grid;text-align:left}.about-hero-visual{min-height:325px}.about-hero-image{border-radius:24px}.about-experience{top:-8px;width:102px;padding:12px}.about-experience>span{width:31px;height:31px;margin-bottom:8px}.about-metrics{padding-bottom:55px}.about-metrics .container{grid-template-columns:1fr;padding:12px 20px}.about-metric{padding:18px 5px;border-bottom:1px solid rgba(255,255,255,.16)!important}.about-metric:last-child{border-bottom:0!important}.about-story,.about-services,.about-team{padding-top:65px;padding-bottom:65px}.about-story .container{gap:45px}.about-story-copy ul{grid-template-columns:1fr;gap:14px}.about-story-visual>img{height:300px}.about-mission-card{left:14px;width:calc(100% - 28px);padding:18px}.about-service-grid{grid-template-columns:1fr 1fr;gap:10px}.about-service-card{min-height:225px;padding:24px 13px}.about-tech-track>div{flex-basis:calc(50% - 10px)}.about-tech-track>a{width:100%;justify-content:center;margin-top:8px}.about-team-track{grid-auto-columns:calc((100% - 15px)/2);padding-inline:8px}.about-team-arrow{display:none}.about-team-avatar{height:155px}.about-team-avatar span{width:92px;height:124px}.about-cta .container{min-height:300px;align-items:center;flex-direction:column;padding:35px 25px 145px;text-align:center}.about-cta img{bottom:-45px;left:50%;width:180px;transform:translateX(-50%)}.about-cta .btn{justify-content:center}}

@media (max-width:600px) {
	.innovion-about-page { max-width: 100vw; }
	.innovion-about-page .container { width: min(calc(100% - 28px), 1180px); max-width: 100%; }
	.about-hero-copy h1 { font-size: clamp(33px, 9.7vw, 39px); overflow-wrap: anywhere; }
}

@media screen and (max-width: 1024px) {
	.hero {
		padding: 30px;
	}

	.hero h1 {
		font-size: 38px;
	}

	.hero p {
		font-size: 16px;
	}
}

@media (max-width: 1100px) {
	.career-hero .container,
	.career-culture .container {
		grid-template-columns: 1fr;
	}

	.career-hero-visual {
		width: min(620px, 100%);
		margin: 0 auto;
	}

	.career-job-card {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.career-job-meta {
		grid-column: 1;
		grid-template-columns: repeat(3, auto);
	}

	.career-job-apply {
		grid-column: 2;
		grid-row: 1 / span 2;
	}
}

@media (max-width: 767px) {
	.career-hero,
	.career-culture,
	.career-values,
	.career-jobs {
		padding: 65px 0;
	}

	.career-hero .container {
		gap: 35px;
	}

	.career-hero-copy h1 {
		max-width: 100%;
		font-size: clamp(39px, 11.5vw, 52px);
		overflow-wrap: anywhere;
	}

	.career-hero-copy {
		min-width: 0;
	}

	.career-hero-copy>p {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.career-hero-actions,
	.career-hero-actions .btn {
		width: 100%;
	}

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

	.career-hero-visual {
		min-height: 365px;
	}

	.career-culture-image img {
		height: 360px;
	}

	.career-culture-stats,
	.career-values-grid,
	.career-jobs-heading {
		grid-template-columns: 1fr;
	}

	.career-values-grid {
		gap: 10px;
	}

	.career-jobs-heading {
		gap: 18px;
	}

	.career-job-card {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 23px 20px;
	}

	.career-job-meta {
		grid-column: auto;
		grid-template-columns: 1fr;
	}

	.career-job-apply {
		grid-column: auto;
		grid-row: auto;
		width: 100%;
	}

	.career-application-cta {
		padding-bottom: 70px;
	}

	.career-application-cta .container {
		min-height: 510px;
		padding: 35px 25px 230px;
		align-items: flex-start;
		flex-direction: column;
	}

	.career-application-cta img {
		right: 0;
		bottom: -65px;
		left: auto;
		width: 300px;
	}

	.career-application-cta .btn {
		width: 100%;
		justify-content: center;
	}

	.career-drawer-panel {
		width: 100%;
		padding: 48px 20px 30px;
	}

	.career-form-grid>label,
	.career-form-grid>p>label {
		grid-template-columns: 1fr;
		gap: 7px;
	}

	.career-form-grid label>small {
		grid-column: 1;
		margin-top: -3px;
	}

	.career-consent,
	.career-form-submit {
		margin-left: 0;
	}

	.career-form-submit input {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.career-hero-orbit {
		animation: none;
	}

	.career-job-card,
	.career-values-grid article,
	.career-drawer-panel,
	.career-drawer-backdrop {
		transition: none;
	}
}

@media screen and (max-width: 1100px) {
	.container {
		width: min(92%, 960px);
	}

	.solution-wrapper {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
		min-height: 0;
	}

	.solution-card {
		position: static;
		width: auto;
		transform: none;
	}

	.center-laptop {
		display: none;
	}

	.service_wrapper,
	.portfolio-case .container,
	.smart-plan .container,
	.testi_wrap,
	.contact-cta .container {
		gap: 36px;
	}

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

	.pricing-table {
		overflow-x: auto;
	}

	.pricing-table .column {
		min-width: 245px;
	}

	.pricing-visible .pricing-card:hover {
		transform: none;
		box-shadow: none;
	}
}

@media (max-width: 1100px) {

	.software-showcase .container,
	.software-product-hero-grid,
	.software-product-features .container {
		grid-template-columns: 1fr;
	}

	.software-slider-viewport,
	.software-slide-content {
		min-height: 650px;
	}

	.software-product-visual {
		transform: none;
	}
}

@media (max-width: 767px) {
	.portfolio-case {
		padding: 55px 0 65px;
	}

	.software-slider-viewport,
	.software-slide-content {
		min-height: 720px;
	}

	.software-slide-image {
		object-position: 66% center;
	}

	.software-slide-shade {
		background: linear-gradient(180deg, rgba(7, 15, 42, .44), rgba(7, 15, 42, .96) 43%, #07102e 100%);
	}

	.software-slide-content {
		width: 100%;
		padding: 190px 24px 30px;
		justify-content: flex-end;
	}

	.software-slider-shell,
	.software-slider-viewport,
	.portfolio-right {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.software-slide-content h2 {
		font-size: 34px;
	}

	.software-story-points>div {
		grid-template-columns: 24px 70px minmax(0, 1fr);
	}

	.software-story-points p {
		font-size: 10px;
	}

	.software-slide-footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.software-showcase .software-slider-controls {
		width: 100%;
		grid-template-columns: auto minmax(20px, 1fr) 36px 36px;
		gap: 6px;
	}

	.software-showcase .software-slider-controls button {
		width: 36px;
		height: 36px;
	}

	.software-story-points p,
	.software-slide-content>p {
		overflow-wrap: anywhere;
	}

	.portfolio-right {
		padding: 30px 20px 22px;
	}

	.software-product-hero {
		padding: 45px 0 70px;
	}

	.software-product-back {
		margin-bottom: 38px;
	}

	.software-product-intro h1 {
		font-size: clamp(40px, 12vw, 55px);
	}

	.software-product-actions,
	.software-product-actions .btn {
		width: 100%;
	}

	.software-product-actions .btn {
		justify-content: center;
	}

	.software-product-visual img {
		min-height: 260px;
	}

	.software-product-story,
	.software-product-features,
	.software-product-technology {
		padding: 70px 0;
	}

	.software-product-story-grid,
	.software-product-feature-grid {
		grid-template-columns: 1fr;
	}

	.software-product-features .container {
		gap: 45px;
	}

	.software-product-technology .container,
	.software-product-cta .container {
		align-items: flex-start;
		flex-direction: column;
	}

	.software-product-technology ul {
		justify-content: flex-start;
	}

	.software-product-cta {
		padding-bottom: 70px;
	}

	.software-product-cta .container {
		padding: 34px 25px;
	}

	.software-product-cta .btn {
		width: 100%;
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {

	.software-slide,
	.software-slide-image,
	.software-slide-content>*,
	.software-story-points>div,
	.software-story-points>div::after,
	.software-story-points span,
	.portfolio-right-line span,
	.portfolio-right .feature-box,
	.portfolio-right .call-btn {
		animation: none;
		transition: none;
	}

	.software-slider-progress span {
		display: none;
	}
}

@media (hover: none),
(pointer: coarse) {
	.projects-section .project-details-link {
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {

	.projects-section .project-card,
	.projects-section .project-details-link {
		transition: none;
	}
}

@media (max-width: 1100px) {

	.portfolio-page-hero .container,
	.project-detail-hero-grid {
		grid-template-columns: 1fr;
	}

	.portfolio-page-hero .container {
		gap: 55px;
	}

	.portfolio-hero-panel {
		width: min(620px, 100%);
		margin: 0 auto;
	}

	.project-detail-preview {
		height: 570px;
		transform: none;
	}

	.project-case-grid {
		grid-template-columns: 190px minmax(0, 1fr);
		gap: 45px;
	}
}

@media (max-width: 767px) {

	.portfolio-page-hero,
	.project-detail-hero {
		padding: 60px 0;
	}

	.portfolio-page-hero .container,
	.project-detail-hero-grid {
		gap: 38px;
	}

	.portfolio-page-hero h1,
	.project-detail-intro h1 {
		font-size: clamp(38px, 12vw, 54px);
	}

	.portfolio-hero-panel {
		min-height: 335px;
		padding: 105px 18px 18px;
	}

	.portfolio-panel-orbit {
		right: -80px;
	}

	.portfolio-panel-card {
		min-height: 105px;
		padding: 17px;
	}

	.portfolio-panel-card strong {
		font-size: 30px;
	}

	.project-detail-actions,
	.project-detail-actions .btn {
		width: 100%;
	}

	.project-detail-actions .btn {
		justify-content: center;
	}

	.project-detail-preview {
		height: 390px;
		border-radius: 17px;
	}

	.project-detail-facts {
		grid-template-columns: 1fr 1fr;
		margin-top: 42px;
	}

	.project-detail-facts>div {
		min-height: 98px;
		padding: 19px;
	}

	.project-case-study {
		padding: 70px 0;
	}

	.project-case-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.project-case-sidebar {
		position: static;
	}

	.project-story-grid,
	.project-results-grid {
		grid-template-columns: 1fr;
	}

	.project-story-grid article,
	.project-results {
		padding: 27px;
	}

	.project-detail-cta {
		padding-bottom: 70px;
	}

	.project-detail-cta .container {
		align-items: flex-start;
		padding: 35px 27px;
		flex-direction: column;
	}

	.project-detail-cta .btn {
		width: 100%;
		justify-content: center;
	}
}

/* Component-specific responsive rules */
@media screen and (max-width: 1024px) {
	.services-page-hero .container {
		grid-template-columns: 1fr;
	}

	.services-hero-panel {
		width: min(100%, 620px);
		margin: auto;
	}

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

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

	.services-process-grid>div::after {
		display: none;
	}

	.contact-response-card {
		left: 8%;
	}

	.contact-rating-card {
		right: 8%;
	}

	.plan-checkout-grid {
		grid-template-columns: 1fr;
	}

	.checkout-summary {
		position: relative;
		top: auto;
	}

	.error-page-section>.container {
		grid-template-columns: 1fr;
	}

	.error-page-art {
		width: min(100%, 620px);
		margin: auto;
	}

	.error-help-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 900px) {
	.innovion-contact-page .contact-hero-art {
		min-height: 360px;
	}

	.innovion-contact-page .contact-form-box {
		padding: 30px 24px;
	}

	.contact-floating-card {
		transform: scale(.9);
	}

	.contact-rating-card {
		top: 35px;
	}

	.contact-response-card {
		bottom: 25px;
	}
}

@media screen and (max-width: 700px) {
	.services-page-hero {
		padding: 65px 0;
	}

	.services-page-hero .container {
		gap: 45px;
	}

	.services-hero-panel {
		min-height: 330px;
		padding: 60px 18px 18px;
	}

	.services-page-grid,
	.services-process-grid,
	.service-card-body ul {
		grid-template-columns: 1fr;
	}

	.services-page-cta .container {
		align-items: flex-start;
		flex-direction: column;
		padding: 35px 25px;
	}

	.services-hero-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.services-hero-actions .btn {
		text-align: center;
	}
}

@media screen and (max-width: 600px) {
	.quote-drawer-panel {
		width: 100%;
		padding: 65px 20px 28px;
	}

	.quote-drawer-heading {
		padding-right: 0;
	}

	.quote-upload {
		align-items: stretch;
		flex-direction: column;
	}

	.quote-upload-icon {
		min-height: 42px;
	}

	.quote-upload .wpcf7-form-control-wrap {
		padding: 10px 14px;
	}

	.innovion-contact-page .contact-hero-section {
		padding: 65px 0 55px;
	}

	.innovion-contact-page .contact-hero-section h1 {
		font-size: clamp(40px, 12vw, 54px);
	}

	.innovion-contact-page .contact-hero-art .circle {
		width: 285px;
		height: 285px;
	}

	.contact-rating-card {
		right: 0;
	}

	.contact-response-card {
		left: 0;
	}

	.contact-form-heading {
		flex-direction: column;
	}

	.contact-form-badge {
		display: none;
	}

	.innovion-contact-page .contact-cta-card {
		padding: 32px 24px;
	}

	.plan-checkout-shell {
		padding: 60px 0 75px;
	}

	.plan-checkout-form,
	.checkout-summary {
		padding: 25px 20px;
		border-radius: 20px;
	}

	.checkout-field-grid {
		grid-template-columns: 1fr;
	}

	.error-page-section {
		padding: 70px 0 60px;
	}

	.error-page-art {
		min-height: 390px;
	}

	.error-page-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.error-page-actions .btn {
		justify-content: center;
	}

	.error-search {
		height: auto;
		padding: 7px 7px 7px 14px;
	}

	.error-search button {
		min-height: 46px;
	}

	.error-browser-content {
		min-height: 270px;
	}

	.error-orbit.orbit-one {
		width: 390px;
		height: 390px;
	}

	.error-orbit.orbit-two {
		width: 300px;
		height: 300px;
	}

	.error-float-left {
		bottom: 20px;
		left: 0;
	}

	.error-float-right {
		top: 35px;
		right: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.quote-drawer-panel,
	.quote-drawer-backdrop,
	.quote-drawer-close {
		transition-duration: .01ms;
	}

	.quote-drawer.is-open .quote-drawer-heading,
	.quote-drawer.is-open .quote-drawer-form,
	.quote-drawer.is-open .quote-drawer-trust {
		animation: none;
	}

	.services-orbit,
	.portfolio-panel-orbit,
	.contact-floating-card {
		animation: none;
	}

	.services-page-card {
		transition: none;
	}

	.page-motion-ready .page-reveal {
		opacity: 1;
		translate: none;
		transition: none;
	}

	.error-orbit,
	.error-float-card {
		animation: none;
	}
}

@media screen and (max-width: 1024px) {
	.innovion-contact-page .contact-hero-section .container {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.innovion-contact-page .contact-hero-art {
		min-height: 330px;
	}

	.innovion-contact-page .contact-hero-art img {
		max-height: 340px;
	}

	.innovion-contact-page .contact-wrapper {
		grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
		gap: 24px;
	}

	.innovion-contact-page .contact-form-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.innovion-contact-page .contact-location .container {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 782px) {
	.admin-bar .header {
		top: 46px;
	}
}

@media screen and (max-width: 900px) {
	.innovion-contact-page .contact-hero-section {
		padding: 48px 0 54px;
	}

	.innovion-contact-page .contact-hero-section .container {
		align-items: stretch;
	}

	.innovion-contact-page .hero-features {
		grid-template-columns: 1fr;
	}

	.innovion-contact-page .contact-hero-art {
		min-height: 285px;
	}

	.innovion-contact-page .contact-hero-art .circle {
		width: 250px;
		height: 250px;
	}

	.innovion-contact-page .contact-hero-art img {
		max-height: 285px;
	}

	.innovion-contact-page .contact-section {
		padding: 55px 0 25px;
	}

	.innovion-contact-page .contact-wrapper {
		display: flex;
		flex-direction: column-reverse;
	}

	.innovion-contact-page .contact-info,
	.innovion-contact-page .contact-form-box {
		padding: 24px 20px;
		border-radius: 20px;
	}

	.innovion-contact-page .contact-location {
		padding: 25px 0 55px;
	}

	.innovion-contact-page .contact-cta-card {
		align-items: flex-start;
		flex-direction: column;
		padding: 30px 24px;
	}

	.innovion-contact-page .cta-image {
		align-self: center;
		max-width: 260px;
	}

	.innovion-contact-page .location-card {
		min-height: 230px;
	}

	.innovion-contact-page .location-card iframe {
		min-height: 230px;
	}

	.innovion-contact-page .location-info {
		right: 15px;
		bottom: 15px;
		left: 15px;
		padding: 14px;
	}
}

@media screen and (max-width: 900px) {
	body.menu-open {
		overflow: hidden;
	}

	.topbar {
		padding: 8px 0;
	}

	.menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.nav-right {
		flex-direction: row-reverse;
	}

	.nav-right>.btn_wrap {
		display: none;
	}

	.menu-wrap {
		position: fixed;
		inset: 0 0 0 auto;
		z-index: 1000;
		width: min(82vw, 360px);
		padding: 104px 34px 40px;
		overflow-y: auto;
		background:
			radial-gradient(circle at 100% 0, rgba(0, 185, 223, .14), transparent 34%),
			linear-gradient(180deg, #fff 0%, #f7f9ff 100%);
		border-left: 1px solid rgba(15, 50, 155, .08);
		box-shadow: -24px 0 60px rgba(9, 28, 87, .22);
		transform: translateX(110%);
		transition: transform .32s cubic-bezier(.22, 1, .36, 1);
	}

	.menu-wrap.is-open {
		transform: translateX(0);
	}

	.menu-close {
		position: absolute;
		top: 24px;
		right: 24px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 46px;
		height: 46px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: linear-gradient(135deg, var(--primary-color), #2459d9);
		color: #fff;
		font-size: 20px;
		cursor: pointer;
		box-shadow: 0 12px 28px rgba(15, 50, 155, .28);
		transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
	}

	.menu-close:hover,
	.menu-close:focus-visible {
		background: linear-gradient(135deg, #123cae, var(--secondary-color));
		box-shadow: 0 15px 34px rgba(15, 50, 155, .34);
		transform: rotate(90deg) scale(1.05);
		outline: 3px solid rgba(0, 185, 223, .2);
		outline-offset: 3px;
	}

	.menu-backdrop {
		position: fixed;
		inset: 0;
		z-index: 999;
		display: block;
		padding: 0;
		border: 0;
		background: rgba(4, 14, 48, .52);
		opacity: 0;
		visibility: hidden;
		backdrop-filter: blur(4px);
		cursor: pointer;
		transition: opacity .28s ease, visibility .28s ease;
	}

	body.menu-open .menu-backdrop {
		opacity: 1;
		visibility: visible;
	}

	.menu-wrap ul {
		flex-direction: column;
		gap: 0;
	}

	.menu-wrap ul li a {
		display: block;
		padding: 14px 0;
		border-bottom: 1px solid #edf0f6;
		font-size: 18px;
	}

	.hero .container,
	.service_wrapper,
	.service_wrapper.right_align,
	.portfolio-case .container,
	.smart-plan .container,
	.testi_wrap,
	.contact-cta .container {
		grid-template-columns: 1fr;
	}

	.smart-plan .container {
		flex-direction: column;
		align-items: stretch;
	}

	.testimonial-track .testi_wrap {
		flex-direction: column;
		gap: 28px;
		text-align: center;
	}

	.testimonial-track .testimonial-left {
		width: min(280px, 82vw);
	}

	.testimonial-track .testimonial-left img {
		width: 100%;
		aspect-ratio: 1;
		height: auto;
	}

	.testimonial-track .testimonial-right {
		width: 100%;
		min-width: 0;
	}

	.smart-plan-visual {
		width: min(100%, 650px);
		min-height: 590px;
		margin: 0 auto;
	}

	.section-title p {
		width: auto;
		max-width: 600px;
	}

	.hero-image {
		max-width: 620px;
		margin: 0 auto;
	}

	.service_wrapper.right_align .content,
	.service_wrapper.right_align .image_wrap {
		order: initial;
	}

	.timeline {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
		height: auto;
		margin-top: 35px;
	}

	.process-art {
		display: none;
	}

	.process-canvas {
		aspect-ratio: auto;
	}

	.process-section {
		padding: 70px 0;
	}

	.process-canvas .timeline {
		position: relative;
		inset: auto;
	}

	.process-canvas .timeline .step {
		left: auto;
		width: auto;
		height: auto;
	}

	.process-canvas .timeline .card {
		width: 100%;
		min-height: 130px;
		padding: 20px 18px 16px 56px;
	}

	.process-canvas .timeline .card.top,
	.process-canvas .timeline .card.bottom {
		top: auto;
	}

	.process-canvas .timeline .step .card.top,
	.process-canvas .timeline .step .card.bottom {
		left: auto;
		top: auto;
		width: 100%;
	}

	.process-canvas .timeline .number {
		top: 15px;
		left: 14px;
		width: 36px;
		height: 36px;
		font-size: 15px;
	}

	.process-canvas .timeline .card .number::before,
	.process-canvas .timeline .card .number::after {
		display: none;
	}

	.process-canvas .timeline h3 {
		font-size: 15px;
	}

	.process-canvas .timeline p {
		font-size: 11px;
	}

	.timeline .step {
		position: relative;
		left: auto;
		min-height: 0;
		width: auto;
		height: auto;
	}

	.timeline .circle,
	.process-path,
	.process-section::before,
	.process-section::after {
		display: none;
	}

	.timeline .card {
		position: static;
		height: 100%;
		min-height: 130px;
		transform: none;
	}

	.timeline .card::after {
		display: none;
	}

	.process-canvas {
		min-height: 0;
	}

	.process-canvas .timeline {
		display: flex;
		flex-direction: column;
		gap: 24px;
		padding-left: 4px;
	}

	.process-canvas .timeline::before,
	.process-canvas .timeline::after {
		content: "";
		position: absolute;
		left: 44px;
		top: 42px;
		bottom: 42px;
		width: 5px;
		border-radius: 10px;
	}

	.process-canvas .timeline::before {
		background: #e7e5ff;
	}

	.process-canvas .timeline::after {
		background: linear-gradient(180deg, #8372ff, #8068ff);
		transform: scaleY(0);
		transform-origin: top;
	}

	.process-animate .process-canvas .timeline::after {
		animation: processVerticalFlow 3.8s ease-in-out forwards;
	}

	.process-canvas .timeline .step {
		position: relative;
		display: flex;
		align-items: center;
		min-height: 125px;
	}

	.process-canvas .timeline .circle,
	.process-canvas .timeline .step-2 .circle,
	.process-canvas .timeline .step-4 .circle {
		position: absolute;
		left: 2px;
		top: 50%;
		width: 84px;
		height: 84px;
		display: flex;
		transform: translateY(-50%) scale(.78);
	}

	.process-animate .timeline .circle {
		animation-name: processCircleGlowMobile;
	}

	.process-canvas .timeline .card,
	.process-canvas .timeline .step .card.top,
	.process-canvas .timeline .step .card.bottom {
		position: relative;
		left: auto;
		top: auto;
		width: calc(100% - 104px);
		height: auto;
		min-height: 112px;
		margin-left: 104px;
		transform: translateX(24px) scale(.96);
	}

	.process-animate .timeline .card {
		animation-name: processCardRevealMobile;
	}

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

	.laptop-flight-source {
		display: none;
	}

	body.laptop-flight-ready .center-laptop>img {
		opacity: 1;
	}

	section.service_section {
		padding-bottom: 56px;
	}

	section.service_section.service-stack-ready .service_wrapper {
		position: relative;
		top: auto;
		z-index: auto;
		min-height: 0;
		max-height: none;
		margin-top: 20px;
		margin-bottom: 0;
		transform: none;
		filter: none;
		will-change: auto;
		overflow: visible;
	}

	.service-description p {
		-webkit-line-clamp: 4;
		line-clamp: 4;
	}
}

@keyframes processVerticalFlow {
	to {
		transform: scaleY(1);
	}
}

@keyframes processCircleGlowMobile {
	0% {
		opacity: .42;
		transform: translateY(-50%) scale(.78);
	}

	55% {
		opacity: 1;
		color: #fff;
		background: linear-gradient(145deg, #8a73ff, #4e25e8);
		box-shadow: 0 0 0 10px rgba(118, 92, 245, .12), 0 0 34px rgba(91, 58, 235, .58);
		transform: translateY(-50%) scale(1.13);
	}

	100% {
		opacity: 1;
		color: #5637ed;
		background: linear-gradient(145deg, #fff, #f2f0ff);
		box-shadow: 0 9px 25px rgba(47, 36, 145, .2), 0 0 0 5px rgba(128, 104, 255, .1);
		transform: translateY(-50%) scale(1);
	}
}

@keyframes processCardRevealMobile {
	to {
		opacity: 1;
		filter: blur(0);
		transform: translateX(0) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.client-logo-slider.client-slider-ready ul {
		animation: none;
	}

	.testimonial-slide {
		transform: none;
		transition: none;
	}

	.pricing-ready .feature-column,
	.pricing-ready .pricing-card,
	.pricing-ready .pricing-card .plan-list li {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.pricing-visible .pricing-table::before,
	.pricing-visible .pricing-card .plan-list i,
	.pricing-visible .pricing-card.popular .plan-icon {
		animation: none;
	}

	.process-path-progress {
		stroke-dashoffset: 0;
	}

	.process-animate .process-path-progress,
	.process-animate .timeline .circle,
	.process-animate .timeline .card,
	.process-animate .timeline .card::after,
	.process-animate .process-canvas .timeline::after {
		animation: none;
	}

	.process-canvas .timeline .circle {
		opacity: 1;
	}

	.process-canvas .timeline .card {
		opacity: 1;
		filter: none;
	}

	.process-canvas .timeline .card::after {
		opacity: 1;
		transform: scaleY(1);
	}

	.process-animate .process-canvas .timeline::after {
		transform: scaleY(1);
	}

	.smart-plan .left,
	.smart-plan-visual,
	.smart-plan .plans {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.smart-plan-glow,
	.smart-plan-art,
	.social-bubble {
		animation: none;
	}

	.hero-content-slide,
	.hero-content-dots button {
		transition: none;
	}

	.hero-content-slide {
		transform: none;
	}

	.laptop-flight-source {
		display: none;
	}

	body.laptop-flight-ready .center-laptop>img {
		opacity: 1;
		transition: none;
	}
}

@media screen and (max-width: 640px) {

	.clients-section,
	.testimonial-section {
		width: 100vw;
		max-width: 100vw;
		overflow: hidden;
	}

	.clients-section .container,
	.testimonial-section .container,
	.client-logo-slider,
	.testimonial-slider,
	.testimonial-track,
	.testimonial-track .testimonial-slide {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.clients-section .section-title,
	.testimonial-section .section-title,
	.clients-section .section-title h2,
	.testimonial-section .section-title h2,
	.clients-section .section-title p,
	.testimonial-section .section-title p {
		width: calc(100vw - 40px) !important;
		max-width: calc(100vw - 40px) !important;
		margin-right: auto;
		margin-left: auto;
		overflow-wrap: anywhere;
	}

	.testimonial-track .testi_wrap {
		width: calc(100vw - 40px);
		max-width: calc(100vw - 40px);
		margin-right: auto;
		margin-left: auto;
		padding-right: 0;
		padding-left: 0;
	}

	.testimonial-right .review,
	.testimonial-right .review p {
		width: calc(100vw - 40px);
		max-width: calc(100vw - 40px);
	}

	html,
	body {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	.container {
		display: block;
		width: 100%;
		max-width: 100%;
		padding-right: 20px;
		padding-left: 20px;
	}

	.site-navigation .container,
	.topbar .container {
		display: flex;
	}

	section {
		padding: 56px 0;
	}

	.topbar .container {
		justify-content: center;
	}

	.topbar .social {
		display: none;
	}

	.logo-wrap img,
	.footer_logo img {
		max-height: 46px;
	}

	.hero {
		padding: 42px 0;
	}

	.hero .container {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.hero-content,
	.hero-image,
	.section-title,
	.service_wrapper>*,
	.smart-plan .left,
	.smart-plan .right {
		width: 100%;
		min-width: 0;
	}

	.hero h1,
	h1 {
		font-size: clamp(34px, 10vw, 46px);
		overflow-wrap: anywhere;
	}

	.section-title h2,
	.cta-content h2,
	.cta-left h2,
	.contact-cta-left h2,
	.portfolio-right h2 {
		font-size: clamp(28px, 8vw, 38px);
	}

	.hero .btn_wrap,
	.cta-button {
		align-items: stretch;
		flex-direction: column;
	}

	.hero .btn {
		text-align: center;
	}

	.solution-wrapper,
	.projects-grid,
	.plan-grid,
	.timeline,
	.footer-section {
		grid-template-columns: 1fr;
	}

	.solution-card,
	.project-card,
	.plans {
		width: 100%;
		max-width: 100%;
	}

	.features ul {
		grid-template-columns: 1fr;
	}

	.project-filter {
		justify-content: flex-start;
		overflow-x: auto;
		padding-bottom: 8px;
	}

	.project-filter button {
		flex: 0 0 auto;
	}

	.project-scroll,
	.project-preview-placeholder {
		height: 100%;
		min-height: 100%;
	}

	.project-visit-overlay {
		align-items: flex-end;
		padding-bottom: 16px;
		background: linear-gradient(to top, rgba(7, 18, 48, .72), transparent 45%);
		opacity: 1;
	}

	.project-visit-btn {
		transform: none;
	}

	.expert-cta .container {
		flex-direction: column;
		text-align: center;
	}

	.cta-right ul {
		text-align: left;
	}

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

	.footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
	}
}
