/* Contra Creative Agency Business HTML-5 Template */

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

	.journel-two .journel-block_one{
		width:25%;
	}

}

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

	.main-header .main-menu .navigation > li > a{
		font-size: 16px;
	}
	
	.single-work_image,
	.journel-detail_image{
		padding-right:0px;
	}

}

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

	.banner-one_text-two{
		font-size:20px;
		line-height:30px;
		padding-right:50px;
	}
	
	.banner-one_text{
		font-size:20px;
		line-height:30px;
		padding-right:50px;
	}
	
	.journel-one .journel-block_one {
		width: 25%;
	}
	
	.counter-block_one-inner{
		padding:30px 30px;
	}
	
	.stats-one_contact-inner{
		padding:22px 15px;
	}
	
	.stats-one_contact-content .text{
		font-size:18px;
	}
	
	.counter-block_one-counter{
		font-size:60px;
	}
	
}

@media only screen and (max-width: 1140px){
	
	h1 {
		line-height: 120px;
		font-size: 120px;
	}
	
	.journel-one .journel-block_one {
		width: 33.333%;
	}
	
	.stats-one_contact-content .text {
		font-size: 16px;
	}
	
	.journel-two .journel-block_one{
		width:33.333%;
	}

}
	
@media only screen and (max-width: 1023px){
	
	.main-header .main-box .logo-box {
		position:relative;
		left:0px;
		top:0px;
		right:0px;
		bottom:0px;
		margin:0px;
		text-align:left;
	}
	
	.main-header .outer-box{
		position: static;
		display:block;
	}

	.main-header{
		position:relative;
		background-color: var(--color-two);
	}
	
	.main-header .mobile-nav-toggler{
		display:block;
		margin-left: 20px;
	}
	
	.main-header .sticky-header .mobile-nav-toggler{
		display:block;
	}
	
	.main-header .nav-outer,
	.main-header .sticky-header .main-menu{
		display:none;
	}
	
	.main-header #navbarSupportedContent{
		display:block;
	}
	
	.main-header .mCSB_inside > .mCSB_container{
		margin-right:0px;
	}

	.main-header .outer-box{
		margin-left: 0px;
	}
	
	.main-header .main-menu{
		display: none;
	}

}

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

	.banner-one{
		padding-top:100px;
	}
	
	h3 {
		line-height: 36px;
		font-size: 26px;
	}
	
	.service-block_one-inner {
		padding: 20px 30px;
	}
	
	.journel-one .journel-block_one {
		width: 50%;
	}
	
	.awards-block_one-title{
		font-size:26px;
	}
	
	.main-footer h2{
		font-size:40px;
		line-height:50px;
	}

	.page-title{
		padding-top:100px;
	}
	
	.team-block_one-image{
		position:relative;
		right:0px;
		margin-top:20px;
	}
	
	.team-block_one-inner{
		padding-bottom:0px;
		text-align:center;
		padding-left:0px;
	}
	
	.team-block_one-socials{
		margin-top:30px;
	}
	
	.team-block_one-inner::before{
		top:0px;
	}
	
	.journel-two .journel-block_one{
		width:50%;
	}
	
	.single-work .column:nth-child(2),
	.journel-detail .column:nth-child(2){
		order:1;
	}
	
	.single-work .column:nth-child(1),
	.journel-detail .column:nth-child(1){
		order:2;
	}
	
	.single-work,
	.journel-detail{
		padding-top:100px;
	}

}

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

	.banner-one .down-box{
		display:none;
	}
	
}

@media only screen and (max-width: 767px){
	
	.main-header .sticky-header .outer-box{
		display:block;
		right: 0px;
		left: auto;
		top:0px;
	}

	.main-header .main-menu{
		width:100%;
		display:none;
	}
	
	.main-header .main-menu .navbar-collapse > .navigation li.dropdown:after,
	.main-header .main-menu .navigation > li > ul:before{
		display:none !important;	
	}
	
	.main-header .main-box .logo-box{
		float:none;
		text-align:center;
		padding-bottom:10px;
	}

	.main-header .header-lower .outer-box{
		position:relative;
		z-index:12;
		display:block;
	}
	
	.main-header .main-menu .navbar-header .navbar-toggler{
		display: inline-block;
		z-index: 12;
		width: 50px;
		height: 40px;
		float: none;
		padding: 0px;
		text-align: center;
		border-radius: 0px;
		background: none;
		border: 1px solid #ffffff;
	}
	
	.main-header .main-menu .navbar-header .navbar-toggler .icon-bar{
		position: relative;
		background: #ffffff;
		height: 2px;
		width: 26px;
		display: block;
		margin:0 auto;
		margin:5px 11px;
	}
	
	.main-header .nav-outer .mobile-nav-toggler{
		display: block;
	}
	
	.main-header #navbarSupportedContent{
		display:block;
	}
	
	.main-header .mCSB_inside > .mCSB_container{
		margin-right:0px;
	}
	
	h1 {
		line-height: 80px;
		font-size: 80px;
	}
	
	.banner-one_text{
		padding-right:0px;
		margin-bottom:30px;
	}
	
	.counter-block_one-counter {
		font-size: 40px;
	}
	
	.stats-one_contact-inner {
		padding: 10px 10px;
	}
	
	.stats-one_contact-content{
		padding:20px 20px;
	}
	
	.awards-block_one-arrow,
	.stats-one_contact-icon{
		display:none;
	}
	
	.footer-bottom{
		padding:15px 0px;
	}
	
	.go-top_top,
	.footer_copyright{
		font-size:16px;
	}
	
	.page-title_heading{
		font-size:70px;
		line-height:80px;
	}
	
	.team-one .title-box h2{
		font-size:26px;
		line-height:36px;
	}
	
	.stats-one.style-two{
		padding-top:60px;
	}
	
	.journel-detail_title{
		font-size:40px;
		line-height:50px;
	}
	
	.journel-detail p{
		font-size:16px;
		line-height:26px;
	}
	
}

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

	.banner-one_text-two,
	.banner-one_text{
		padding-right: 0px;
	}

	.banner-one_text-two br,
	.banner-one_text br{
		display:none;
	}
	
	.journel-one .journel-block_one {
		width: 100%;
	}
	
	.stats-one .stats-one_contact-column,
	.stats-one .counter-block_one{
		width:100%;
	}
	
	.counter-block_one-inner{
		border-right:0px;
	}
	
	.awards-block_one-content{
		padding:0px 0px;
	}
	
	.awards-block_one-number{
		position:relative;
		margin-bottom:20px;
	}
	
	.go-top_top{
		margin-top:15px;
	}
	
	.journel-two .journel-block_one{
		width:100%;
	}
	
	.contact-one_heading{
		font-size:30px;
		line-height:40px;
	}
	
	

}

@media only screen and (max-width: 479px) {
	
	h1 {
		line-height: 40px;
		font-size: 40px;
	}
	
	.single-work_title,
	h2 {
		line-height: 38px;
		font-size: 28px;
	}
	
	.service-block_one-heading a br{
		display:none;
	}
	
	.gallery-block_one-content {
		padding: 15px 15px;
	}
	
	.service-block_one-inner {
		padding: 20px 20px;
	}
	
	.single-work_list li span,
	.single-work p,
	.banner-one_text-two,
	.banner-one_text {
		font-size: 16px;
		line-height: 26px;
	}
	
	.testimonial-block_one-content {
		padding: 15px 15px;
	}
	
	.contact-one_heading{
		font-size:20px;
		line-height:30px;
	}
	
	.counter-block_one-text{
		font-size:16px;
	}
	
	.main-footer h2 {
		font-size: 26px;
		line-height: 36px;
	}

	.page-title_heading {
		font-size: 50px;
		line-height: 60px;
	}
	
	.team-one .title-box h2 {
		font-size: 20px;
		line-height: 30px;
	}

	.journel-detail_title{
		font-size:24px;
		line-height:34px;
	}
	
	.contact-one_list li{
		font-size:18px;
		line-height:28px;
	}

}


/* ═══════════════════════════════════════════════════════════════
   MOBILE FIXES — Bug 1: Hero Layout  |  Bug 2: Mobile Menu
   Applied exclusively inside max-width: 768px
   Desktop layout is NOT affected by any of these rules.
═══════════════════════════════════════════════════════════════ */

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

	/* ─────────────────────────────────────────────────
	   BUG 1 — HERO SECTION: Vertical stack layout
	─────────────────────────────────────────────────── */

	/* Section: flex column, full viewport height */
	.banner-one {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 100svh !important;
		padding: 80px 0 0 !important;
		overflow: visible !important;
	}

	/* Hero logo: centered at top, no absolute positioning */
	.hero-logo {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		height: 60px !important;
		width: auto !important;
		margin: 0 auto 12px !important;
		order: 1 !important;
		z-index: 5 !important;
	}

	/* Auto-container holds heading + texts, sits above robot */
	.banner-one > .auto-container {
		order: 2 !important;
		width: 100% !important;
		position: relative !important;
		z-index: 4 !important;
	}

	/* Robot: relative, prominent, between the content blocks */
	.banner-one > .robot {
		position: relative !important;
		order: 3 !important;
		width: 100% !important;
		height: 100vw !important; /* Aumentado para evitar corte dos pés */
		min-height: 380px !important;
		max-height: 50vh !important;
		bottom: auto !important;
		z-index: 3 !important;
		mix-blend-mode: normal !important;
		overflow: visible !important;
		pointer-events: auto !important;
		touch-action: auto !important;
		margin-bottom: 20px !important; /* Espaçamento entre o robô e o texto */
		-webkit-mask-image: linear-gradient(to bottom, black 75%, transparent 100%) !important;
		mask-image: linear-gradient(to bottom, black 75%, transparent 100%) !important;
	}

	/* Spline viewer fills the robot container */
	.banner-one > .robot spline-viewer {
		width: 100% !important;
		height: 100% !important;
		display: block !important;
		pointer-events: auto !important;
		touch-action: auto !important;
	}

	/* Heading: centered, readable mobile size */
	.banner-one_heading {
		font-size: clamp(36px, 10vw, 52px) !important;
		line-height: 1.1 !important;
		margin-bottom: 20px !important;
		text-align: center !important;
	}

	/* Lower box: stack vertically */
	.banner-one .lower-box {
		flex-direction: column !important;
		align-items: center !important;
		gap: 0 !important;
	}

	/* Primary text: centered, proper mobile size */
	.banner-one_text {
		max-width: 100% !important;
		width: 100% !important;
		text-align: center !important;
		font-size: clamp(18px, 5vw, 24px) !important;
		line-height: 1.5 !important;
		padding: 0 24px !important;
		border-top: none !important;
		border-image: none !important;
		margin-bottom: 0 !important;
	}

	/* Secondary tagline: completely hide the original element */
	.banner-one_text-two {
		display: none !important;
	}

	/* Show tagline via ::after pseudo on the section bottom */
	.banner-one::after {
		content: 'Mais vendas. Menos tempo perdido. ROI real.' !important;
		display: block !important;
		order: 4 !important;
		width: 100% !important;
		text-align: center !important;
		font-size: 14px !important; /* Levemente menor para um visual mais clean */
		line-height: 1.5 !important;
		color: rgba(255,255,255,0.5) !important;
		padding: 10px 24px 30px !important;
		z-index: 5 !important;
		position: relative !important;
		letter-spacing: 0.5px !important;
		text-transform: uppercase !important;
		font-weight: 500 !important;
	}

	/* Remove line breaks inside text blocks on mobile */
	.banner-one_text br,
	.banner-one_text-two br {
		display: none !important;
	}

	/* Hide scroll-down indicator on mobile */
	.banner-one .down-box {
		display: none !important;
	}


	/* ─────────────────────────────────────────────────
	   MOBILE MENU: TECH & PREMIUM REDESIGN
	─────────────────────────────────────────────────── */

	/* Menu box: Glassmorphism tech overlay */
	.main-header .mobile-menu .menu-box,
	.mobile-menu nav.menu-box {
		background: rgba(8, 6, 20, 0.75) !important;
		backdrop-filter: blur(20px) !important;
		-webkit-backdrop-filter: blur(20px) !important;
		width: 100% !important;
		max-width: 100% !important;
		border-left: 1px solid rgba(123, 95, 255, 0.2) !important;
		right: -100% !important; /* Start off-screen */
		transition: right 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease !important;
		opacity: 0 !important;
	}

	/* Decorative tech grid in background */
	.mobile-menu nav.menu-box::before {
		content: '';
		position: absolute;
		inset: 0;
		background-image: radial-gradient(rgba(123, 95, 255, 0.15) 1.5px, transparent 1.5px);
		background-size: 32px 32px;
		pointer-events: none;
		z-index: -1;
	}

	/* Expand mobile-menu to full screen */
	.mobile-menu {
		width: 100% !important;
		padding-right: 0 !important;
	}

	/* Backdrop */
	.mobile-menu .menu-backdrop {
		background: rgba(0, 0, 0, 0.6) !important;
		backdrop-filter: blur(8px) !important;
		-webkit-backdrop-filter: blur(8px) !important;
	}

	/* Hide duplicate logo */
	.mobile-menu .nav-logo {
		display: none !important;
	}

	/* Navigation container */
	.mobile-menu .navigation,
	.main-header .mobile-menu .navigation {
		border-top: none !important;
		padding-top: 140px !important;
		padding-left: 40px !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		min-height: 100vh !important;
		counter-reset: menu-counter;
	}

	/* Nav items */
	.mobile-menu .navigation li,
	.main-header .mobile-menu .navigation li {
		border-bottom: none !important;
		text-align: left !important;
		width: 100% !important;
		margin-bottom: 28px !important;
		position: relative !important;
		counter-increment: menu-counter;
		/* Staggered entrance prep */
		opacity: 0 !important;
		transform: translateY(30px) !important;
		transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
	}

	/* Trigger animations when menu is visible */
	.mobile-menu-visible .mobile-menu .navigation li {
		opacity: 1 !important;
		transform: translateY(0) !important;
	}
	.mobile-menu-visible .mobile-menu .navigation li:nth-child(1) { transition-delay: 0.1s !important; }
	.mobile-menu-visible .mobile-menu .navigation li:nth-child(2) { transition-delay: 0.2s !important; }
	.mobile-menu-visible .mobile-menu .navigation li:nth-child(3) { transition-delay: 0.3s !important; }
	.mobile-menu-visible .mobile-menu .navigation li:nth-child(4) { transition-delay: 0.4s !important; }

	/* Tech index number (01, 02) */
	.mobile-menu .navigation li::before {
		content: "0" counter(menu-counter) ".";
		position: absolute;
		left: -24px;
		top: 14px;
		font-family: 'JetBrains Mono', monospace !important;
		font-size: 13px !important;
		color: rgba(123, 95, 255, 0.7) !important;
		letter-spacing: 0.1em;
		font-weight: 600;
	}

	/* Nav links */
	.mobile-menu .navigation li > a,
	.main-header .mobile-menu .navigation li > a {
		color: rgba(255, 255, 255, 0.6) !important;
		font-family: 'Inter', sans-serif !important;
		font-size: 40px !important;
		font-weight: 800 !important;
		line-height: 1.1 !important;
		padding: 4px 0 !important;
		display: inline-block !important;
		text-transform: uppercase !important;
		letter-spacing: -0.03em !important;
		border-left: none !important;
		transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
		position: relative;
		overflow: hidden;
	}

	/* Glowing hover effect */
	.mobile-menu .navigation li > a:hover,
	.main-header .mobile-menu .navigation li > a:hover,
	.mobile-menu .navigation li.current > a,
	.main-header .mobile-menu .navigation li.current > a {
		color: #FFFFFF !important;
		transform: translateX(16px) !important;
		text-shadow: 0 0 24px rgba(123, 95, 255, 0.6) !important;
	}

	/* Current item gradient */
	.mobile-menu .navigation li.current > a {
		background: linear-gradient(90deg, #FFFFFF, #a78ff5) !important;
		-webkit-background-clip: text !important;
		-webkit-text-fill-color: transparent !important;
	}

	/* Close button - Tech style */
	.mobile-menu .close-btn {
		position: absolute !important;
		top: 32px !important;
		right: 32px !important;
		left: auto !important;
		font-size: 18px !important;
		color: rgba(255,255,255,0.7) !important;
		z-index: 15 !important;
		width: 48px !important;
		height: 48px !important;
		line-height: 46px !important;
		text-align: center !important;
		cursor: pointer !important;
		border: 1px solid rgba(255,255,255,0.15) !important;
		border-radius: 50% !important;
		background: rgba(255,255,255,0.05) !important;
		transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
		backdrop-filter: blur(4px) !important;
		opacity: 0 !important;
		transform: scale(0.5) rotate(-90deg) !important;
	}

	.mobile-menu .close-btn:hover {
		color: #FFFFFF !important;
		background: rgba(123, 95, 255, 0.2) !important;
		border-color: rgba(123, 95, 255, 0.5) !important;
		transform: rotate(90deg) scale(1.1) !important;
		box-shadow: 0 0 20px rgba(123, 95, 255, 0.3) !important;
	}
	
	.mobile-menu-visible .mobile-menu .close-btn {
		opacity: 1 !important;
		transform: scale(1) rotate(0deg) !important;
		transition-delay: 0.3s !important;
	}

	/* Smooth menu open/close transition */
	.mobile-menu-visible .mobile-menu .menu-box {
		right: 0 !important;
		opacity: 1 !important;
	}

	/* Hide dropdown buttons in mobile menu (no submenus) */
	.mobile-menu .navigation li .dropdown-btn {
		display: none !important;
	}

}