﻿*{
	margin:0;
	padding:0;
	box-sizing:border-box;
	font-family:'Montserrat', Arial, Helvetica, sans-serif;
}

html{
	scroll-behavior:smooth;
	overflow-x:hidden;
	touch-action:manipulation;
}

body{
	overflow-x:hidden;
	touch-action:manipulation;
	-webkit-text-size-adjust:100%;
	background:#0b0b0b;
	color:#fff;
	overflow-x:hidden;
	max-width:100vw;
	padding-top:110px;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

/* HEADER */

header{
	background:rgba(0,0,0,.88);
	backdrop-filter:blur(12px);
	padding:15px 25px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-bottom:3px solid #FFD000;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:3000;
}

.logo{
	display:flex;
	align-items:center;
	gap:15px;
	text-decoration:none;
	color:#fff;
}

.logo img{
	height:88px;
	cursor:pointer;
	transition:transform .25s;
}

.logo:hover{
	transform:scale(1.05);
}

.logo h2{
	font-size:34px;
	letter-spacing:2px;
	position:relative;
	overflow:hidden;
}

.logo h2::after{
	content:"";
	position:absolute;
	top:0;
	left:-150%;
	width:120%;
	height:100%;
	background:linear-gradient(
		120deg,
		transparent,
		rgba(255,208,0,.6),
		transparent
	);
	opacity:0;
	transition:left 1.6s ease, opacity .3s ease;
}

.logo:hover h2::after{
	left:150%;
	opacity:1;
}

.logo span{
	color:#FFD000;
}

.header-actions{
	display:flex;
	align-items:center;
	gap:12px;
}

nav{
	display:flex;
	gap:25px;
	margin-left:auto;
}

nav a{
	color:#fff;
	text-decoration:none;
	font-weight:600;
}

nav a:hover{
	color:#FFD000;
}

.menu-servicos{
	position:relative;
}

.menu-open{
	overflow:hidden;
}

.dropdown-servicos{
	position:absolute;
	top:100%;
	left:0;
	background:#111;
	display:none;
	flex-direction:column;
	min-width:220px;
	border:1px solid rgba(255,255,255,.1);
}

.dropdown-servicos a{
	padding:12px 15px;
	border-bottom:1px solid rgba(255,255,255,.1);
	font-size:14px;
}

.dropdown-servicos a:hover{
	background:#FFD000;
	color:#000;
}

.menu-servicos:hover .dropdown-servicos{
	display:flex;
}

/* MENU HAMBURGUER */

.menu-btn{
	display:none;
	width:45px;
	height:45px;
	position:relative;
	cursor:pointer;
	padding:10px;
	z-index:9000;
	background:none;
	border:none;
	flex-shrink:0;
}

/* quando menu estiver aberto */

.menu-btn.hidden{
	opacity:0;
	pointer-events:none;
}

.menu-btn span{
	position:absolute;
	width:26px;
	height:3px;
	background:#FFD000;
	left:50%;
	top:50%;
	transform:translate(-50%, -50%);
	transition:transform .3s, opacity .3s;
}

.menu-btn span:nth-child(1){
	transform:translate(-50%, -10px);
}

.menu-btn span:nth-child(2){
	transform:translate(-50%, 0);
}

.menu-btn span:nth-child(3){
	transform:translate(-50%, 10px);
}

.menu-btn.active span:nth-child(1){
	transform:translate(-50%,0) rotate(45deg);
}

.menu-btn.active span:nth-child(2){
	opacity:0;
}

.menu-btn.active span:nth-child(3){
	transform:translate(-50%,0) rotate(-45deg);
}

/* MENU MOBILE */

.mobile-menu a{
	display:block;
	color:#fff;
	padding:20px 0;
	text-decoration:none;
	font-size:20px;
	border-bottom:1px solid rgba(255,255,255,.15);
}

.mobile-menu a:hover{
	color:#FFD000;
	padding-left:10px;
}

.submenu-servicos{
	display:none;
	padding-left:15px;
}

.submenu-servicos a{
	font-size:16px;
	padding:12px 0;
	border:none;
	color:#ccc;
}

.close-menu{
	font-size:32px;
	margin-bottom:25px;
	cursor:pointer;
	color:#FFD000;
}

/* OVERLAY */

.overlay{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.6);
	opacity:0;
	pointer-events:none;
	transition:.3s;
	z-index:4000;
}

.overlay.active{
	opacity:1;
	pointer-events:auto;
}

/* HERO */

/* HERO */

.hero{
	position:relative;
	min-height:92vh;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	padding:180px 20px 120px;
	overflow:hidden;

	background:
	linear-gradient(
		180deg,
		rgba(0,0,0,.78),
		rgba(0,0,0,.88)
	),
	url("../images/equipe/equipe1.jpg");

	background-size:cover;
	background-position:center;
}

.hero-overlay{
	position:absolute;
	inset:0;

	background:
	radial-gradient(
		circle at top,
		rgba(255,208,0,.08),
		transparent 45%
	);

	z-index:1;
}

.hero-content{
	position:relative;
	z-index:2;
	max-width:1100px;
}

.hero h1{
	font-size:120px;
	font-weight:900;
	line-height:.92;
	letter-spacing:-5px;
	margin-bottom:24px;
	color:#fff;
	text-transform:uppercase;
}

.hero h1 span{
	color:#FFD000;

	text-shadow:
	0 0 18px rgba(255,208,0,.35),
	0 0 45px rgba(255,208,0,.12);
}

.hero-sub{
	font-size:22px;
	line-height:1.6;
	max-width:760px;
	margin:auto;
	margin-bottom:40px;
	color:#d6d6d6;
	font-weight:500;
}

.hero-buttons{
	display:flex;
	justify-content:center;
	gap:18px;
	margin-bottom:40px;
	flex-wrap:wrap;
}

.hero-btn{
	padding:16px 34px;
	border-radius:40px;
	font-size:15px;
	font-weight:700;
	text-decoration:none;
	transition:.25s;
}

.hero-btn-primary{
	background:#FFD000;
	color:#000;
}

.hero-btn-primary:hover{
	background:#fff;
	transform:translateY(-3px);
}

.hero-btn-secondary{
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.08);
	color:#fff;
	backdrop-filter:blur(10px);
}

.hero-btn-secondary:hover{
	background:#1f1f1f;
	transform:translateY(-3px);
}

.hero-badges{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:12px;
}

.hero-badge{
	background:rgba(255,255,255,.05);
	border:1px solid rgba(255,255,255,.06);
	padding:14px 18px;
	border-radius:40px;
	font-size:13px;
	font-weight:700;
	backdrop-filter:blur(10px);
}

/* MOBILE */

@media(max-width:768px){

	.hero{
		min-height:78vh;
		padding:140px 20px 80px;
	}

	.hero h1{
		font-size:62px;
		line-height:.95;
		letter-spacing:-2px;
	}

	.hero-sub{
		font-size:16px;
		margin-bottom:30px;
	}

	.hero-buttons{
		flex-direction:column;
		align-items:center;
	}

	.hero-btn{
		width:100%;
		max-width:320px;
	}

	.hero-badges{
		gap:10px;
	}

	.hero-badge{
		font-size:12px;
		padding:12px 14px;
	}

}

/* SEÃ‡Ã•ES */

.section{
	padding:45px 20px;
	max-width:1200px;
	margin:auto;
}

.section h2{
	text-align:center;
	margin-bottom:35px;
	color:#FFD000;
}

/* SERVIÃ‡OS */

.services{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
	gap:20px;
}

.service{
	background:#151515;
	padding:25px;
	border-left:4px solid #FFD000;
	border-radius:6px;
	min-height:90px;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	font-weight:600;
	transition:.3s;
}

.service:hover{
	background:#1c1c1c;
	transform:translateY(-3px);
	box-shadow:0 6px 15px rgba(0,0,0,.4);
}

a.service,
a.service-link{
	text-decoration:none;
	color:#fff;
}

a.service:hover,
a.service-link:hover{
	color:#FFD000;
}

.gallery-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
	gap:18px;
}

.gallery-item{
	position:relative;
	overflow:hidden;
	border-radius:18px;
	height:260px;
	background:#111;
	border:1px solid rgba(255,255,255,.05);
	box-shadow:0 10px 25px rgba(0,0,0,.35);
}

.gallery-item img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .5s ease;
}

.gallery-item:hover img{
	transform:scale(1.06);
}

/* AVALIAÃ‡Ã•ES */

.reviews{
	display:grid;
	gap:20px;
}

.review{
	background:#151515;
	padding:20px;
	border-left:4px solid #FFD000;
}

.avaliacoes-google{
	text-align:center;
	margin-bottom:5px;
}

.avaliacoes-google a{
	display:inline-block;
	background:#FFD000;
	color:#000;
	padding:12px 22px;
	border-radius:30px;
	font-weight:700;
	text-decoration:none;
	transition:.3s;
}

.avaliacoes-google a:hover{
	background:#fff;
	transform:translateY(-2px);
	box-shadow:0 6px 15px rgba(0,0,0,.4);
}

/* FORM */

form{
	background:linear-gradient(
		180deg,
		#161616,
		#101010
	);
	border:1px solid rgba(255,255,255,.06);
	box-shadow:0 15px 40px rgba(0,0,0,.45);
	padding:25px;
	max-width:600px;
	margin:auto;
	border-radius:6px;
}

textarea,
input,
select{
	background:#0f0f0f;
	color:#fff;
	border:1px solid rgba(255,255,255,.06);
	transition:.2s;
	width:100%;
	padding:14px;
	margin-bottom:12px;
	border:none;
	border-radius:4px;
	font-size:16px;
	appearance:none;
	-webkit-appearance:none;
}

textarea:focus,
input:focus,
select:focus{
	border:1px solid #FFD000;
	box-shadow:0 0 0 3px rgba(255,208,0,.15);
	outline:none;
}

button{
	background:#FFD000;
	border:none;
	padding:12px;
	width:100%;
	font-weight:700;
	cursor:pointer;
}

/* MAPA */

iframe{
	width:100%;
	height:300px;
	border:none;
}

/* FOOTER */

footer{
	background:#000;
	text-align:left;
	padding:48px 40px 28px;
	border-top:3px solid #FFD000;
}

.footer-inner{
	max-width:1100px;
	margin:0 auto;
}

.footer-grid{
	display:grid;
	grid-template-columns:1.4fr 1fr 1fr 1fr;
	gap:40px 56px;
	align-items:flex-start;
}

.footer-brand{
	max-width:360px;
}

.footer-col h3{
	color:#FFD000;
	font-size:20px;
	font-weight:700;
	margin-bottom:16px;
}

.footer-col p{
	margin-bottom:8px;
	color:#fff;
	line-height:1.5;
}

footer a{
	color:#FFD000;
	text-decoration:none;
}

.footer-links{
	display:flex;
	flex-direction:column;
	gap:10px;
	margin-left:0;
}

.footer-links a{
	color:#fff;
	font-weight:500;
}

.footer-links a:hover{
	color:#FFD000;
}

.footer-brand h2{
	font-size:28px;
	letter-spacing:1px;
	margin-bottom:14px;
	color:#fff;
}

.footer-brand h2 span{
	color:#FFD000;
}

.footer-tagline{
	color:#fff;
	line-height:1.55;
	margin-bottom:0;
}

.footer-legal{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 28px;
	margin-top:36px;
	margin-left:0;
}

.footer-legal a{
	color:#fff;
	font-weight:400;
	font-size:14px;
}

.footer-legal a:hover{
	color:#FFD000;
}

.footer-bottom{
	margin-top:28px;
	text-align:center;
}

.legal-page{
	max-width:760px;
	padding-top:20px;
	padding-bottom:70px;
}

.legal-page h1,
.legal-page h2{
	text-align:left;
	margin-bottom:22px;
}

.legal-page h3{
	color:#fff;
	font-size:18px;
	margin:26px 0 8px;
}

.legal-page p,
.legal-page li{
	color:#d6d6d6;
	line-height:1.7;
	margin-bottom:12px;
}

.legal-page ul{
	padding-left:18px;
	margin-bottom:12px;
}

.legal-page a{
	color:#FFD000;
}

.footer-social{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:10px;
	margin-top:12px;
}

.footer-social a{
	display:flex;
	align-items:center;
	gap:10px;
	color:#fff;
	font-weight:500;
}

.footer-social a:hover{
	color:#FFD000;
}

.footer-social svg{
	width:18px;
	height:18px;
	flex-shrink:0;
	display:block;
}

.footer-copy{
	margin:0;
	font-size:14px;
	color:#999;
}

.footer-credit{
	margin-top:8px;
	font-size:13px;
	color:#888;
}

.footer-credit a{
	color:#FFD000;
	font-weight:600;
}

.footer-admin{
	margin-top:10px;
	font-size:13px;
}

.footer-admin a{
	color:#777;
}

@media(max-width:700px){
	footer{
		padding:36px 20px 28px;
		text-align:center;
	}

	.footer-grid{
		grid-template-columns:1fr;
		justify-items:center;
		text-align:center;
		gap:28px;
	}

	.footer-brand{
		max-width:320px;
	}

	.footer-brand h2{
		color:#FFD000;
		font-size:26px;
		margin-bottom:12px;
	}

	.footer-brand h2 span{
		color:#FFD000;
	}

	.footer-tagline{
		font-size:14px;
		line-height:1.5;
	}

	.footer-tagline br{
		display:none;
	}

	.footer-col h3{
		font-size:18px;
		margin-bottom:12px;
	}

	.footer-links{
		align-items:center;
		gap:8px;
	}

	.footer-social{
		width:max-content;
		margin-left:auto;
		margin-right:auto;
		align-items:flex-start;
		gap:8px;
	}

	.footer-legal{
		justify-content:center;
		gap:8px 14px;
		margin-top:28px;
	}

	.footer-legal a{
		font-size:12px;
		white-space:nowrap;
	}

	.footer-bottom{
		margin-top:20px;
	}

	.footer-copy{
		font-size:13px;
	}
}

/* WhatsApp flutuante — estilo MW Seguros */
.whatsapp{
	position:fixed;
	right:20px;
	bottom:90px;
	left:auto;
	z-index:9999;
	width:3.75rem;
	height:3.75rem;
	border-radius:999px;
	background:#25d366;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	box-shadow:0 4px 16px rgba(37,211,102,.45);
	transition:box-shadow .2s,transform .2s;
	animation:whatsapp-breathe 1.6s ease-in-out infinite;
}

.whatsapp:hover{
	animation-play-state:paused;
	transform:scale(1.1);
	box-shadow:0 6px 24px rgba(37,211,102,.55);
}

@keyframes whatsapp-breathe{
	0%,100%{transform:scale(.9);}
	50%{transform:scale(1.1);}
}

.whatsapp__icon{
	position:relative;
	z-index:2;
	display:flex;
}

.whatsapp__icon svg{
	width:2rem;
	height:2rem;
}

.whatsapp__pulse{
	position:absolute;
	inset:0;
	border-radius:999px;
	background:#25d366;
	z-index:1;
	animation:whatsapp-pulse 2s ease-out infinite;
}

@keyframes whatsapp-pulse{
	0%{transform:scale(1);opacity:.6;}
	70%{transform:scale(1.45);opacity:0;}
	100%{transform:scale(1.45);opacity:0;}
}

@media(min-width:768px){
	.whatsapp{
		right:20px;
		bottom:90px;
		width:4rem;
		height:4rem;
	}

	.whatsapp__icon svg{
		width:2.25rem;
		height:2.25rem;
	}
}

/* MOBILE */

@media(max-width:900px){

	header nav{display:none;}

	.menu-btn{display:block;}

	.logo img{height:80px;}

	.logo h2{font-size:22px;}


}

@media(max-width:700px){

	.hero{
		padding:100px 20px 60px;
	}

	.hero h1{
		font-size:40px;
		line-height:1.1;
	}

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

	.hero-destaque{
		font-size:15px;
	}

	.whatsapp{
		width:3.5rem;
		height:3.5rem;
	}

	.whatsapp__icon svg{
		width:1.85rem;
		height:1.85rem;
	}

	.mobile-bar{
		position:fixed;
		bottom:0;
		left:0;
		width:100%;
		height:60px;
		display:flex;
		align-items:center;
		justify-content:space-between;
		background:#111;
		border-top:2px solid #FFD000;
		z-index:9999;
	}

	.mobile-bar a{
		flex:1;
		display:flex;
		align-items:center;
		justify-content:center;
		height:100%;
		font-size:14px;
		font-weight:600;
		text-decoration:none;
		color:#fff;
	}

	/* cores dos botÃµes */

	.mobile-bar a:nth-child(1){
		background:#FFD000;
		color:#000;
	}

	.mobile-bar a:nth-child(2){
		background:#25D366;
	}

	.mobile-bar a:nth-child(3){
		background:#333;
	}

	body{
		padding-bottom:60px;
	}

}

.dropdown{
	position:relative;
}

.dropdown-menu{
	display:none;
	position:absolute;
	top:100%;
	left:0;
	background:#111;
	flex-direction:column;
	min-width:220px;
	border:1px solid rgba(255,255,255,.1);
}

.dropdown-menu a{
	padding:12px 15px;
	border-bottom:1px solid rgba(255,255,255,.1);
	font-size:14px;
	display:block;
}

.dropdown-menu a:hover{
	background:#FFD000;
	color:#000;
}

.dropdown:hover .dropdown-menu{
	display:flex;
}

.sidebar{
	position:fixed;
	box-shadow:0 0 25px rgba(0,0,0,.8);
	top:0;
	left:0;
	width:280px;
	height:100%;
	background:#111;
	padding:40px 25px;
	transition:transform .35s cubic-bezier(.4,0,.2,1);
	z-index:6000;
	overflow-y:auto;
	will-change: transform;
	transform:translateX(-100%);
}

.sidebar.active{
	transform:translateX(0);
}

.sidebar a{
	display:block;
	font-weight:600;
	padding:18px 0;
	color:#fff;
	transition:.2s;
	text-decoration:none;
	border-bottom:1px solid rgba(255,255,255,.1);
}

.sidebar a:hover{
	color:#FFD000;
}

.close-btn{
	position:absolute;
	top:20px;
	right:20px;
	font-size:32px;
	cursor:pointer;
	color:#FFD000;
}

@media(max-width:700px){

	body{
		padding-top:85px;
	}

	header{
		padding:10px 15px;
	}

	.logo img{
		height:58px;
	}

}

.mobile-bar a{
	color:#fff !important;
	text-decoration:none !important;
	-webkit-tap-highlight-color:transparent;
}

.mobile-bar a:visited{
	color:#fff;
}

.mobile-bar a,
.mobile-bar a:link,
.mobile-bar a:visited,
.mobile-bar a:hover,
.mobile-bar a:active{
	color:#fff !important;
	text-decoration:none !important;
	-webkit-text-fill-color:#fff;
}



@media(max-width:768px){

	.mobile-bar{
		display:flex;
	}

	body{
		padding-bottom:60px;
	}

}

#avaliacoes{
	padding-bottom:15px;
}

#agendamento{
	padding-top:25px;
}

.info-visita{
	background:#111;
	border-left:4px solid #FFD000;
	padding:10px 12px;
	margin-top:10px;
	font-size:13px;
	color:#ccc;
	border-radius:4px;
	display:none;
}

@media(max-width:768px){

	input:focus,
	select,
	textarea:focus{
		font-size:16px !important;
		padding:14px;
		transform: scale(1);
		outline:none;
		box-shadow:0 0 0 2px #FFD000;
	}

}

/* BARRA MOBILE */

.mobile-bar{
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	height:60px;
	display:none;
	background:#111;
	border-top:2px solid #FFD000;
	z-index:9999;
}

.mobile-bar a{
	flex:1;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:14px;
	font-weight:600;
	text-decoration:none;
	color:#fff;
}

/* cores */

.mobile-bar a:nth-child(1){
	background:#FFD000;
	color:#000;
}

.mobile-bar a:nth-child(2){
	background:#25D366;
}

.mobile-bar a:nth-child(3){
	background:#333;
}

/* ativar no celular */

@media (max-width:768px){

	.mobile-bar{
		display:flex;
	}

	body{
		padding-bottom:60px;
	}

}
.mobile-bar a{
	white-space:nowrap;
}


.hero h1 .hero-h1-sub{
	display:block;
	font-size:22px;
	font-weight:600;
	letter-spacing:0;
	line-height:1.4;
	margin-top:16px;
	color:#fff;
}

.services-destaque{
	max-width:760px;
	margin:0 auto 24px;
	text-align:center;
	font-size:18px;
}
.services-destaque a{
	color:#FFD000;
	font-weight:700;
}
