html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {margin: 0;	padding: 0;	border: 0; font-size: 100%; font-style: normal; font-weight: normal; vertical-align: baseline; background: transparent;} main, article, aside, figure, footer, header, nav, section, details, summary,img {display: block;} html {box-sizing: border-box;} *,*:before,*:after {box-sizing: inherit;} img,object,embed {max-width: 100%;} ul, ol {list-style: none;} blockquote, q {quotes: none;} blockquote:before,blockquote:after,q:before,q:after {content: ''; content: none;} a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; color: inherit;} del {text-decoration: line-through;} table {border-collapse: separate; border-spacing: 0;} input, select {vertical-align: middle;} input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit; color: inherit;} fieldset,input,button,textarea,select{border:none; padding:0; margin:0; background:none;} button{cursor: pointer;} a{text-decoration:none;}
small {font-size: 85%;} sub, sup {font-size: 75%; line-height: 0; position: relative;} sup {top: -0.5em;} sub {bottom: -0.25em;}

/* =========================================================
   TOKENS (mesmos nomes das variáveis do Design System no Figma)
   Desktop 1920 (>= 1440) | Laptop 1024 | Tablet 768 | Mobile 390
   ========================================================= */
:root{
	/* Cores */
	--color-bg-page: #FFFFFF;
	--color-bg-subtle: #F5F3F2;
	--color-bg-hero: #52352C;
	--color-bg-dark: #020202;
	--color-bg-brand: #9F2517;
	--color-bg-brand-shadow: #621F20;
	--color-bg-icon-tile: #773329;
	--color-bg-social: #D6B2A6;
	--color-bg-social-muted: rgba(214, 178, 166, 0.5);
	--color-bg-accent-soft: rgba(214, 178, 166, 0.24);
	--color-bg-footer: #251D1D;
	--color-bg-footer-bar: rgba(0, 0, 0, 0.3);

	--color-text-heading: #5B433B;
	--color-text-body: #6A5D5B;
	--color-text-secondary: #6A5D5B;
	--color-text-muted: #A29897;
	--color-text-hero: #FEF5F0;
	--color-text-accent: #D6B2A6;
	--color-text-nav: #F7EEE9;
	--color-text-on-dark: #FFFFFF;
	--color-text-on-dark-muted: rgba(255, 255, 255, 0.5);

	--color-border-accent: #D6B2A6;
	--color-border-subtle: #E8E4E4;
	--color-border-on-dark: rgba(255, 255, 255, 0.2);
	--color-border-divider-dark: rgba(218, 175, 138, 0.2);
	--color-border-hairline-dark: rgba(255, 255, 255, 0.1);
	--color-icon-accent: #D6B2A6;

	/* Fontes */
	--font-family-heading: 'Spectral', Georgia, serif;
	--font-family-body: 'Outfit', Arial, sans-serif;

	/* Tipografia (tamanho / altura de linha) */
	--type-display-size: 54px;      --type-display-line-height: 56px;
	--type-h1-size: 48px;           --type-h1-line-height: 54px;
	--type-h2-size: 41px;           --type-h2-line-height: 48px;
	--type-h3-size: 32px;           --type-h3-line-height: 44px;
	--type-h4-size: 26px;           --type-h4-line-height: 32px;
	--type-body-xl-size: 22px;      --type-body-xl-line-height: 30px;
	--type-body-lg-size: 20px;      --type-body-lg-line-height: 28px;
	--type-body-md-size: 18px;      --type-body-md-line-height: 28px;
	--type-body-sm-size: 16px;      --type-body-sm-line-height: 26px;
	--type-body-xs-size: 14px;      --type-body-xs-line-height: 22px;
	--type-body-list-size: 20px;    --type-body-list-line-height: 44px;
	--type-title-card-size: 24px;   --type-title-card-line-height: 30px;
	--type-label-lg-size: 22px;     --type-label-lg-line-height: 28px;
	--type-label-md-size: 18px;     --type-label-md-line-height: 22px;
	--type-label-sm-size: 14px;     --type-label-sm-line-height: 20px;
	--type-label-xs-size: 13px;     --type-label-xs-line-height: 20px;
	--type-label-nav-size: 17px;    --type-label-nav-line-height: 23px;

	/* Espaçamentos */
	--space-4: 4px; --space-8: 8px; --space-12: 12px; --space-16: 16px; --space-20: 20px; --space-24: 24px;
	--space-32: 32px; --space-40: 40px; --space-48: 48px; --space-56: 56px; --space-64: 64px; --space-80: 80px; --space-96: 96px;

	/* Raios */
	--radius-xs: 4px; --radius-sm: 8px; --radius-md: 12px; --radius-lg: 20px; --radius-full: 999px;

	/* Layout */
	--layout-content-width: 1280px;
	--layout-page-margin: 48px;
	--layout-header-height: 132px;
	--layout-header-height-compact: 96px;
	--layout-hero-height: 686px;
	--layout-page-hero-height: 481px;
	--layout-column-gap: 120px;
	--layout-grid-gutter: 32px;
	--layout-section-y-lg: 144px;
	--layout-section-y-md: 128px;

	/* Decorações (ondas) */
	--decor-wave-section-height: 338px;
	--decor-wave-cta-height: 280px;
	--decor-wave-hero-height: 90px;
}

/* Laptop */
@media (max-width: 1439px){
	:root{
		--type-display-size: 48px;      --type-display-line-height: 52px;
		--type-h1-size: 42px;           --type-h1-line-height: 48px;
		--type-h2-size: 38px;           --type-h2-line-height: 44px;
		--type-h3-size: 30px;           --type-h3-line-height: 40px;
		--type-h4-size: 24px;           --type-h4-line-height: 30px;
		--type-body-xl-size: 20px;      --type-body-xl-line-height: 28px;
		--type-body-lg-size: 19px;      --type-body-lg-line-height: 27px;
		--type-body-list-size: 19px;    --type-body-list-line-height: 40px;
		--type-title-card-size: 22px;   --type-title-card-line-height: 28px;
		--type-label-lg-size: 20px;     --type-label-lg-line-height: 26px;
		--type-label-md-size: 17px;     --type-label-md-line-height: 22px;
		--type-label-nav-size: 15px;    --type-label-nav-line-height: 21px;

		--layout-header-height: 104px;
		--layout-header-height-compact: 84px;
		--layout-hero-height: 600px;
		--layout-page-hero-height: 400px;
		--layout-column-gap: 48px;
		--layout-grid-gutter: 24px;
		--layout-section-y-lg: 112px;
		--layout-section-y-md: 88px;

		--decor-wave-section-height: 220px;
		--decor-wave-cta-height: 200px;
		--decor-wave-hero-height: 72px;
	}
}

/* Tablet */
@media (max-width: 1023px){
	:root{
		--type-display-size: 42px;      --type-display-line-height: 46px;
		--type-h1-size: 38px;           --type-h1-line-height: 44px;
		--type-h2-size: 34px;           --type-h2-line-height: 40px;
		--type-h3-size: 28px;           --type-h3-line-height: 36px;
		--type-h4-size: 22px;           --type-h4-line-height: 28px;
		--type-body-lg-size: 18px;      --type-body-lg-line-height: 26px;
		--type-body-md-size: 17px;      --type-body-md-line-height: 27px;
		--type-body-sm-size: 15px;      --type-body-sm-line-height: 24px;
		--type-body-list-size: 18px;    --type-body-list-line-height: 34px;
		--type-label-lg-size: 18px;     --type-label-lg-line-height: 24px;
		--type-label-md-size: 16px;     --type-label-md-line-height: 20px;
		--type-label-xs-size: 12px;     --type-label-xs-line-height: 18px;

		--layout-page-margin: 40px;
		--layout-header-height: 88px;
		--layout-header-height-compact: 88px;
		--layout-hero-height: 560px;
		--layout-page-hero-height: 340px;
		--layout-column-gap: 40px;
		--layout-section-y-lg: 96px;
		--layout-section-y-md: 72px;

		--decor-wave-section-height: 170px;
		--decor-wave-cta-height: 160px;
		--decor-wave-hero-height: 56px;
	}
}

/* Mobile */
@media (max-width: 767px){
	:root{
		--type-display-size: 34px;      --type-display-line-height: 38px;
		--type-h1-size: 32px;           --type-h1-line-height: 38px;
		--type-h2-size: 28px;           --type-h2-line-height: 34px;
		--type-h3-size: 24px;           --type-h3-line-height: 32px;
		--type-h4-size: 20px;           --type-h4-line-height: 26px;
		--type-body-xl-size: 18px;      --type-body-xl-line-height: 26px;
		--type-body-lg-size: 17px;      --type-body-lg-line-height: 25px;
		--type-body-md-size: 16px;      --type-body-md-line-height: 26px;
		--type-body-xs-size: 13px;      --type-body-xs-line-height: 20px;
		--type-body-list-size: 17px;    --type-body-list-line-height: 30px;
		--type-title-card-size: 20px;   --type-title-card-line-height: 26px;
		--type-label-sm-size: 13px;     --type-label-sm-line-height: 18px;

		--layout-page-margin: 24px;
		--layout-header-height: 72px;
		--layout-header-height-compact: 72px;
		--layout-hero-height: 522px;
		--layout-page-hero-height: 245px;
		--layout-grid-gutter: 16px;
		--layout-section-y-lg: 72px;
		--layout-section-y-md: 56px;

		--decor-wave-section-height: 110px;
		--decor-wave-cta-height: 110px;
		--decor-wave-hero-height: 36px;
	}
}

body{font: 300 var(--type-body-md-size)/var(--type-body-md-line-height) var(--font-family-body); letter-spacing: -0.01em; color: var(--color-text-body); background: var(--color-bg-page); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
strong{font-weight: 500;}

*{
	scrollbar-width: auto;
	scrollbar-color: var(--color-bg-icon-tile) #FFF;
}
html{scroll-behavior: smooth;}
*::-webkit-scrollbar { width: 8px}
*::-webkit-scrollbar-track {background: #FFF;}
*::-webkit-scrollbar-thumb {background-color: var(--color-bg-icon-tile);}

::selection {background: var(--color-bg-icon-tile);color:#fff;}
::-moz-selection {background: var(--color-bg-icon-tile);color:#fff;}

:focus-visible{outline: 2px solid var(--color-icon-accent); outline-offset: 3px;}

@media (prefers-reduced-motion: reduce){
	html{scroll-behavior: auto;}
	*, *::before, *::after{transition-duration: 0.01ms !important; animation-duration: 0.01ms !important;}
}

/* Container */
.centro{width: 100%; max-width: calc(var(--layout-content-width) + (var(--layout-page-margin) * 2)); padding: 0 var(--layout-page-margin); margin: 0 auto;}

/* =========================================================
   COMPONENTES
   ========================================================= */

/* Botão (Button / primary) */
.botao:link,
.botao:visited{display: inline-flex; align-items: center; justify-content: center; gap: var(--space-12); padding: var(--space-16) var(--space-32); background: var(--color-bg-brand); border-radius: var(--radius-xs); box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25), inset 0px -48px 44px -16px var(--color-bg-brand-shadow); transition: filter 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;}
	.botao b{display: block; font: 600 var(--type-label-md-size)/var(--type-label-md-line-height) var(--font-family-body); letter-spacing: 0.03em; text-transform: uppercase; color: var(--color-text-on-dark); white-space: nowrap;}
	.botao img{flex-shrink: 0;}
.botao.grande:link,
.botao.grande:visited{padding: var(--space-20) var(--space-40);}
	.botao.grande b{font-size: var(--type-label-lg-size); line-height: var(--type-label-lg-line-height);}
	/* Hover */
	.botao:hover{filter: brightness(1.14); transform: translateY(-2px); box-shadow: 0px 10px 18px -6px rgba(98, 31, 32, 0.55), inset 0px -48px 44px -16px var(--color-bg-brand-shadow);}
	.botao:active{transform: translateY(0); filter: brightness(0.95);}

/* Foto arredondada (Photo) */
.foto{position: relative; overflow: hidden; border-radius: var(--radius-md); background: #E9E2DE;}
	.foto img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
	.foto.overlay::after{content: ""; position: absolute; inset: 0; background: url('../img/fotoOverlay.webp') no-repeat center top / 100% 100%; opacity: 0.5; pointer-events: none;}

/* Onda decorativa no rodapé das seções brancas (Decor/Wave Section) */
.ondaSecao{position: absolute; left: 0; bottom: 0; width: 100%; height: var(--decor-wave-section-height); pointer-events: none; user-select: none;}

/* Fundo do topo (Background/Hero) - compartilhado entre Home Hero e Page Hero */
.fundoTopo{position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: max(100%, calc(var(--layout-hero-height) * 2.799)); aspect-ratio: 1920 / 686; background: var(--color-bg-dark); overflow: hidden; pointer-events: none; user-select: none;}
	.fundoTopo .fotoFundo{position: absolute; inset: 0 0 0.87% 0; background: url('../img/topoFoto.webp') no-repeat right top / 122.45% auto;}
	.fundoTopo .marcaMB{position: absolute; left: -11.3%; top: 23.8%; width: 40.1%; height: 69.5%; max-width: none;}
	.fundoTopo .blur{position: absolute;}
		.fundoTopo .blur img{position: absolute; top: -51.9%; left: -41.79%; width: 183.58%; height: 203.8%; max-width: none;}
	.fundoTopo .blur1{top: -92.42%; right: 78.13%; bottom: 43%; left: -44.43%;}
	.fundoTopo .blur2{top: 70.12%; right: -34.17%; bottom: -119.53%; left: 67.86%;}

/* Topo das páginas internas (Page Hero) */
.topoPagina{position: relative; overflow: hidden; display: flex; align-items: center; height: var(--layout-page-hero-height); padding: var(--layout-header-height) 0 var(--decor-wave-hero-height); background: var(--color-bg-hero);}
	.topoPagina .centro{position: relative; z-index: 1;}
		.topoPagina h1{font: 500 var(--type-display-size)/var(--type-display-line-height) var(--font-family-heading); letter-spacing: -0.02em; color: var(--color-text-hero); text-align: center; text-shadow: 0px 6px 12px rgba(29, 51, 67, 0.29);}
	.topoPagina .ondaTopo{position: absolute; left: 0; bottom: -1px; width: 100%; height: var(--decor-wave-hero-height); z-index: 1; pointer-events: none;}

/* Títulos de seção (Display) */
.tituloSecao{font: 500 var(--type-display-size)/var(--type-display-line-height) var(--font-family-heading); letter-spacing: -0.02em; color: var(--color-text-heading);}

/* Texto corrido com parágrafos separados por uma linha em branco */
.textoCorrido p + p{margin-top: var(--type-body-md-line-height);}

/* Botão social (Social Button) */
.redesSociais{display: flex; align-items: center; gap: 10px;}
	.redesSociais a{display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--radius-sm); background: var(--color-bg-social-muted); transition: all 0.3s ease;}
	.redesSociais a:hover{background: var(--color-bg-social); transform: translateY(-2px);}

/* Contato CTA (Contact CTA) */
.contatoCta{display: flex; align-items: center; justify-content: space-between; gap: var(--space-32);}
	.contatoCta h2{font: 500 var(--type-h1-size)/var(--type-h1-line-height) var(--font-family-heading); letter-spacing: -0.02em; color: var(--color-text-heading);}
	.contatoCta p{font: 400 var(--type-body-xl-size)/var(--type-body-xl-line-height) var(--font-family-body); letter-spacing: -0.01em; color: var(--color-text-muted);}
	.contatoCta .botao{flex: 0 0 415px;}
@media (max-width: 1439px){
	.contatoCta{gap: var(--space-12);}
	.contatoCta .botao{flex-basis: auto;}
}
._320 .contatoCta{flex-direction: column; align-items: flex-start; gap: var(--space-24);}
	._320 .contatoCta h2{font-size: var(--type-h2-size); line-height: var(--type-h2-line-height);}
	._320 .contatoCta .botao{flex: none; width: 342px; max-width: 100%;}
@media (max-width: 767px){
	._320 .contatoCta{align-items: stretch;}
		._320 .contatoCta .botao{width: 100%;}
}

/* Bloco de informação (Info Block) e item de contato (Contact Item) */
.blocoInfo{display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4);}
.blocoInfo h3{font: 500 var(--type-h3-size)/var(--type-h3-line-height) var(--font-family-heading); letter-spacing: -0.02em; color: var(--color-text-heading); white-space: nowrap;}
.blocoInfo p,
.blocoInfo a,
.blocoInfo li{font: 400 var(--type-body-md-size)/var(--type-body-md-line-height) var(--font-family-body); letter-spacing: -0.01em; color: var(--color-text-muted);}
	.blocoInfo p strong{font-weight: 500;}
	.blocoInfo a{transition: color 0.3s ease;}
	.blocoInfo a:hover{color: var(--color-text-heading);}
	.blocoInfo .linhasContato{display: flex; flex-direction: column; gap: var(--space-8);}
		.blocoInfo .linhasContato a{display: flex; align-items: center; gap: var(--space-12);}
	.blocoInfo .linksSociais{display: flex; flex-direction: column; gap: var(--space-16); margin-top: 18px;}
		.blocoInfo .linksSociais a{display: flex; align-items: center; gap: var(--space-12);}
			.blocoInfo .linksSociais a .icone{display: flex; align-items: center; justify-content: center; width: 44px; height: 36px; border-radius: var(--radius-sm); background: var(--color-bg-social); transition: all 0.3s ease;}
			.blocoInfo .linksSociais a:hover .icone{background: var(--color-bg-icon-tile);}

/* =========================================================
   HEADER
   ========================================================= */
header{position: fixed; top: 0; left: 0; width: 100%; height: var(--layout-header-height); z-index: 50; background: url('../img/headerFundo.webp') no-repeat center top / 100% 100%; border-bottom: 1px solid var(--color-border-hairline-dark); transition: height 0.4s ease;}
	header::before{content: ""; position: absolute; inset: 0; background: rgba(22, 14, 13, 0.94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); opacity: 0; transition: opacity 0.4s ease;}
	header.ativo{height: var(--layout-header-height-compact);}
		header.ativo::before{opacity: 1;}
	header .centro{position: relative; z-index: 1; height: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--space-48);}
		header .logo{display: block; flex-shrink: 0; width: 242px; transition: width 0.4s ease;}
			header .logo img{width: 100%; height: auto;}
		header.ativo .logo{width: 200px;}

		header nav.menu{display: flex; align-items: center; gap: var(--space-48); margin-left: auto;}
			header nav.menu a:link,
			header nav.menu a:visited{display: flex; flex-direction: column; gap: 6px; padding-top: 4px;}
				header nav.menu a b{display: block; font: 600 var(--type-label-nav-size)/var(--type-label-nav-line-height) var(--font-family-body); letter-spacing: 0; text-transform: uppercase; color: var(--color-text-nav); white-space: nowrap; transition: color 0.3s ease;}
				header nav.menu a::after{content: ""; display: block; width: 100%; height: 2px; border-radius: var(--radius-full); background: var(--color-icon-accent); opacity: 0; transform: scaleX(0.3); transition: all 0.35s ease;}
			/* Hover e página ativa */
			header nav.menu a:hover b,
			header nav.menu a.ativo b{color: var(--color-text-on-dark);}
			header nav.menu a:hover::after{opacity: 0.6; transform: scaleX(1);}
			header nav.menu a.ativo::after{opacity: 1; transform: scaleX(1);}

		header .acoes{display: flex; align-items: center; gap: var(--space-16);}
			header .botaoFaleConosco:link,
			header .botaoFaleConosco:visited{display: flex; align-items: center; justify-content: center; gap: var(--space-12); padding: 11px var(--space-24) 12px; border: 2px solid var(--color-border-on-dark); border-radius: var(--radius-full); transition: all 0.35s ease;}
				header .botaoFaleConosco b{display: block; font: 600 var(--type-label-nav-size)/var(--type-label-nav-line-height) var(--font-family-body); text-transform: uppercase; color: var(--color-text-on-dark); white-space: nowrap;}
			header .botaoFaleConosco:hover{background: rgba(255, 255, 255, 0.08); border-color: var(--color-icon-accent);}
			header .botaoMenu{display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--radius-full); transition: background 0.3s ease;}
				header .botaoMenu:hover{background: rgba(255, 255, 255, 0.08);}

/* Laptop: menu mais compacto e sem o botão "Fale conosco" */
@media (max-width: 1439px){
	header .centro{gap: var(--space-32);}
	header .logo{width: 190px;}
	header.ativo .logo{width: 170px;}
	header nav.menu{gap: var(--space-32);}
	._1000 header .botaoFaleConosco{display: none !important;}
}

/* Tablet e celular: menu hambúrguer */
._320 header nav.menu{display: none;}
._320 header .botaoMenu{display: flex;}
._320 header .centro{gap: var(--space-16);}
._320 header .logo,
._320 header.ativo .logo{width: 162px;}
@media (max-width: 767px){
	._320 header .logo,
	._320 header.ativo .logo{width: 145px;}
	._320 header .botaoFaleConosco{display: none;}
}

/* Menu Mobile (aberto) */
.menuMobile{position: fixed; inset: 0; z-index: 100; display: flex; flex-direction: column; padding: 0 var(--layout-page-margin) var(--space-40); background: var(--color-bg-dark); overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity 0.35s ease, visibility 0.35s ease;}
	.menuMobile::before{content: ""; position: fixed; inset: 0; background: url('../img/topoFoto.webp') no-repeat 85% top / auto 100%; opacity: 0.35; pointer-events: none;}
	.menuMobile > *{position: relative;}
._1000 .menuMobile{display: none;}
body.menuMobileAtivo{overflow: hidden;}
	body.menuMobileAtivo .menuMobile{opacity: 1; visibility: visible;}

	.menuMobile .topo{display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; height: var(--layout-header-height);}
		.menuMobile .topo .logo{display: block; width: 162px;}
			.menuMobile .topo .logo img{width: 100%; height: auto;}
		.menuMobile .botaoFechar{display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--radius-full); transition: background 0.3s ease;}
			.menuMobile .botaoFechar:hover{background: rgba(255, 255, 255, 0.08);}

	.menuMobile nav{display: flex; flex-direction: column; padding-top: var(--space-32);}
		.menuMobile nav a:link,
		.menuMobile nav a:visited{display: flex; align-items: center; justify-content: space-between; height: 60px; border-bottom: 1px solid var(--color-border-hairline-dark);}
			.menuMobile nav a b{display: block; font: 400 var(--type-title-card-size)/var(--type-title-card-line-height) var(--font-family-body); letter-spacing: 0; color: var(--color-text-on-dark); transition: color 0.3s ease;}
			.menuMobile nav a img{transition: transform 0.3s ease;}
			.menuMobile nav a.ativo b,
			.menuMobile nav a:hover b{color: var(--color-text-accent);}
			.menuMobile nav a:hover img{transform: translateX(4px);}

	.menuMobile .rodapeMenu{display: flex; flex-direction: column; align-items: center; gap: var(--space-24); margin-top: auto; padding-top: var(--space-40);}
		.menuMobile .rodapeMenu .botao{width: 100%;}
		.menuMobile .rodapeMenu .redesSociais{gap: var(--space-12);}
		.menuMobile .rodapeMenu p{font: 400 var(--type-body-xs-size)/var(--type-body-xs-line-height) var(--font-family-body); letter-spacing: -0.01em; color: var(--color-text-muted); text-align: center;}
			.menuMobile .rodapeMenu p a:hover{color: var(--color-text-accent);}
@media (max-width: 767px){
	.menuMobile .topo .logo{width: 145px;}
}

/* =========================================================
   FOOTER (Completo | Simples)
   ========================================================= */
footer{position: relative; overflow: hidden; background: var(--color-bg-footer);}
	footer .fundoFooter{position: absolute; inset: 0; pointer-events: none;}
		footer .fundoFooter span{position: absolute; display: block;}
		footer .fundoFooter .textura{left: calc(50% + 132px); top: calc(50% + 114.5px); width: 2654px; height: 1487px; transform: translate(-50%, -50%); background: url('../img/footerTextura.webp') no-repeat center / cover; opacity: 0.1;}
		footer .fundoFooter .elipses{left: calc(50% - 8px); top: calc(50% + 381px); width: 4264px; height: 1692px; transform: translate(-50%, -50%); background: url('../img/footerElipses.svg') no-repeat center / 100% 100%;}
		footer .fundoFooter .ruido{inset: 0; background: #000; opacity: 0.12;}
	footer .centro{position: relative; z-index: 1;}
	footer p,
	footer a{font: 400 var(--type-body-xs-size)/var(--type-body-xs-line-height) var(--font-family-body); letter-spacing: -0.01em; color: var(--color-text-muted);}
		footer a{transition: color 0.3s ease;}
		footer a:hover{color: var(--color-text-accent);}
	footer .logo{display: block;}
		footer .logo img{width: 100%; height: auto;}

	/* Completo */
	footer.completo .principal{display: flex; align-items: center; justify-content: space-between; gap: var(--space-32); padding-top: 51px; padding-bottom: 50px;}
		footer.completo .linhaMarca,
		footer.completo .linhaInfo{display: contents;}
		footer.completo .logo{width: 181px; flex-shrink: 0;}
		footer.completo .endereco{display: flex; flex-direction: column; white-space: nowrap;}
		footer.completo .contatos{display: flex; align-items: center; gap: var(--space-20);}
			footer.completo .emailTelefone{display: flex; align-items: center; gap: var(--space-16);}
				footer.completo .emailTelefone p{display: flex; flex-direction: column;}
			footer.completo .divisor{display: block; width: 1px; height: 40px; background: var(--color-text-muted); opacity: 0.3;}
			footer.completo .horario{white-space: nowrap;}

	/* Simples */
	footer.simples .principal{display: flex; justify-content: center; padding-top: 30px; padding-bottom: 29px;}
		footer.simples .logo{width: 276px;}

	/* Barra inferior */
	footer .barra{position: relative; z-index: 1; background: var(--color-bg-footer-bar);}
		footer .barra .centro{display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 10px; padding-bottom: 10px;}
	footer.simples .barra .centro{justify-content: center;}

/* Laptop: marca + redes na 1ª linha, informações na 2ª */
@media (max-width: 1439px){
	footer.completo .principal{display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-32) var(--space-24); padding-top: 48px; padding-bottom: 40px;}
		footer.completo .linhaMarca{display: block; grid-column: 1; grid-row: 1;}
		footer.completo .redesSociais{grid-column: 2; grid-row: 1;}
		footer.completo .linhaInfo{display: flex; align-items: center; gap: var(--space-48); grid-column: 1 / -1; grid-row: 2;}
}
/* Tablet */
@media (max-width: 1023px){
	footer.completo .linhaInfo{flex-direction: column; align-items: flex-start; gap: var(--space-24);}
}
/* Mobile */
@media (max-width: 767px){
	footer.completo .principal{display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-24); padding-top: 48px; padding-bottom: 40px;}
		footer.completo .linhaInfo{gap: var(--space-24);}
		footer.completo .endereco{white-space: normal;}
		footer.completo .contatos{flex-direction: column; align-items: flex-start; gap: var(--space-16);}
			footer.completo .divisor{display: none;}
	footer.simples .principal{padding-top: 40px; padding-bottom: 36px;}
		footer.simples .logo{width: 200px;}
	footer .barra .centro{flex-direction: column; gap: 0; text-align: center; padding-top: 14px; padding-bottom: 14px;}
}

/* =========================================================
   BOTÃO FLUTUANTE DO WHATSAPP (todas as páginas)
   ========================================================= */
.botaoWhatsappFlutuante{position: fixed; right: 32px; bottom: 32px; z-index: 45; display: flex; align-items: center; gap: var(--space-12); transition: opacity 0.3s ease, visibility 0.3s ease;}
	.botaoWhatsappFlutuante .icone{display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border: 2px solid rgba(255, 255, 255, 0.18); border-radius: var(--radius-full); background: var(--color-bg-brand); box-shadow: 0px 12px 24px -8px rgba(98, 31, 32, 0.6), inset 0px -24px 24px -12px var(--color-bg-brand-shadow); transition: transform 0.3s ease, filter 0.3s ease;}
	.botaoWhatsappFlutuante .rotulo{padding: 10px var(--space-16); border-radius: var(--radius-full); background: rgba(37, 29, 29, 0.92); box-shadow: 0px 8px 20px -8px rgba(0, 0, 0, 0.4); font: 600 var(--type-label-sm-size)/var(--type-label-sm-line-height) var(--font-family-body); letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-text-on-dark); white-space: nowrap; opacity: 0; transform: translateX(8px); pointer-events: none; transition: opacity 0.3s ease, transform 0.3s ease;}
	/* Hover */
	.botaoWhatsappFlutuante:hover .icone,
	.botaoWhatsappFlutuante:focus-visible .icone{transform: scale(1.06); filter: brightness(1.12);}
	.botaoWhatsappFlutuante:hover .rotulo,
	.botaoWhatsappFlutuante:focus-visible .rotulo{opacity: 1; transform: none;}
/* some quando o menu mobile está aberto (o menu já tem o "Fale conosco") */
body.menuMobileAtivo .botaoWhatsappFlutuante{opacity: 0; visibility: hidden;}

/* espaço no rodapé para o botão não cobrir o texto da barra inferior */
@media (max-width: 1487px){
	footer .barra .centro{padding-right: calc(var(--layout-page-margin) + 88px);}
}

@media (max-width: 767px){
	footer .barra .centro{padding-right: var(--layout-page-margin); padding-bottom: 84px;}
	.botaoWhatsappFlutuante{right: 20px; bottom: 20px;}
		.botaoWhatsappFlutuante .icone{width: 56px; height: 56px;}
			.botaoWhatsappFlutuante .icone img{width: 28px; height: 28px;}
		.botaoWhatsappFlutuante .rotulo{display: none;}
}
