/* =========================================================================
   D'Victor Cargas — main.css (v2 PREMIUM)
   Dourado sobre azul-marinho profundo. Mobile-first, CSS moderno.
   ========================================================================= */

/* ---------------------------- Fontes ---------------------------- */
@font-face {
	font-family: "Fraunces";
	src: url("../fonts/fraunces-var.woff2") format("woff2-variations");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-var.woff2") format("woff2-variations");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

/* ---------------------------- Tokens ---------------------------- */
:root {
	--navy-900: #0e1430;
	--navy-800: #141a3a;
	--navy-700: #1c2347;
	--navy-600: #252e55;

	--gold-100: #f0c868;
	--gold-300: #e6b84b;
	--gold: #e0a52e;
	--gold-600: #c8881a;
	--gold-grad: linear-gradient(135deg, #f3cf76 0%, #e0a52e 55%, #c8881a 100%);

	--cream: #f7f5f1;
	--cream-2: #fbfaf7;
	--ink: #14161f;
	--ink-soft: #585d6c;

	--line-gold: rgba(224, 165, 46, .38);
	--line-soft: rgba(20, 22, 31, .10);
	--line-dark: rgba(255, 255, 255, .12);

	--wa: #25d366;
	--wa-600: #1da851;

	--container: 1180px;
	--gut: clamp(1.1rem, 4vw, 2rem);
	--radius: 14px;
	--radius-lg: 22px;
	--radius-xl: 28px;

	--shadow-sm: 0 1px 2px rgba(14, 20, 48, .06), 0 4px 14px rgba(14, 20, 48, .06);
	--shadow: 0 18px 40px -18px rgba(14, 20, 48, .28);
	--shadow-lg: 0 40px 80px -28px rgba(14, 20, 48, .45);
	--shadow-gold: 0 14px 30px -10px rgba(224, 165, 46, .5);

	--ff-head: "Fraunces", Georgia, "Times New Roman", serif;
	--ff-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ease: cubic-bezier(.22, 1, .36, 1);
}

/* ---------------------------- Reset ---------------------------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html {
	scroll-behavior: smooth;
	scroll-padding-top: 2rem;
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: var(--ff-body);
	color: var(--ink);
	background: var(--cream-2);
	line-height: 1.65;
	font-size: clamp(1rem, .97rem + .15vw, 1.06rem);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
img, svg, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; padding: 0; }
button { font: inherit; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
address { font-style: normal; }

h1, h2, h3, h4 {
	font-family: var(--ff-head);
	line-height: 1.12;
	font-weight: 600;
	letter-spacing: -.01em;
	font-optical-sizing: auto;
}

:focus-visible {
	outline: 2px solid var(--gold);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ---------------------------- Utilidades ---------------------------- */
.container {
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--gut);
}
.section { padding-block: clamp(4rem, 9vw, 7rem); position: relative; }
.section--light { background: var(--cream); }
.section--cream { background: var(--cream-2); }

.grain {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	opacity: .05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Eyebrow */
.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	font-family: var(--ff-body);
	font-weight: 600;
	font-size: .76rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--gold-600);
	margin-bottom: 1.1rem;
}
.eyebrow--light { color: var(--gold-300); }
.eyebrow__tick {
	width: 1.8rem; height: 1px;
	background: currentColor;
	display: inline-block;
	opacity: .8;
}

/* Section head */
.section__head { max-width: 720px; margin: 0 auto clamp(2.4rem, 5vw, 3.6rem); text-align: center; }
.section__head .eyebrow { justify-content: center; }
.section__head--sm { margin-bottom: clamp(1.6rem, 4vw, 2.4rem); }
.section__title {
	font-size: clamp(1.9rem, 1.3rem + 2.6vw, 3rem);
	color: var(--navy-900);
}
.section__title--sm { font-size: clamp(1.6rem, 1.2rem + 1.7vw, 2.2rem); }
.section__lead { margin-top: 1.1rem; color: var(--ink-soft); font-size: 1.08rem; }

/* ---------------------------- Botões ---------------------------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	padding: .9em 1.5em;
	border: 0;
	border-radius: 999px;
	font-family: var(--ff-body);
	font-weight: 600;
	font-size: .98rem;
	line-height: 1;
	letter-spacing: -.01em;
	text-align: center;
	transition: transform .25s var(--ease), box-shadow .3s var(--ease), background-color .25s var(--ease), color .25s var(--ease);
	will-change: transform;
}
.btn--lg { padding: 1.05em 1.9em; font-size: 1.04rem; }
.btn--block { width: 100%; }

.btn--gold {
	position: relative;
	background: var(--gold-grad);
	color: #2a1e05;
	box-shadow: var(--shadow-gold);
	overflow: hidden;
}
.btn--gold::after {
	content: "";
	position: absolute;
	inset: 0 0 50%;
	background: linear-gradient(180deg, rgba(255, 255, 255, .35), transparent);
	opacity: .55;
	pointer-events: none;
}
.btn--gold:hover { transform: translateY(-2px); box-shadow: 0 20px 40px -12px rgba(224, 165, 46, .65); }
.btn--gold:active { transform: translateY(0); }

.btn--ghost {
	background: transparent;
	color: #fff;
	box-shadow: inset 0 0 0 1px var(--line-gold);
}
.btn--ghost:hover { background: rgba(224, 165, 46, .12); box-shadow: inset 0 0 0 1px var(--gold); transform: translateY(-2px); }

.btn--dark {
	background: var(--navy-900);
	color: var(--cream);
	box-shadow: 0 14px 30px -14px rgba(14, 20, 48, .6);
}
.btn--dark:hover { background: var(--navy-700); transform: translateY(-2px); }

.icon-wa { width: 1.2em; height: 1.2em; fill: currentColor; flex: none; }

/* Link dourado */
.link-gold {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	font-family: var(--ff-body);
	font-weight: 600;
	font-size: .96rem;
	color: var(--gold-600);
}
.link-gold span { transition: transform .25s var(--ease); }
.link-gold:hover { color: var(--gold); }
.link-gold:hover span { transform: translateX(5px); }

/* ---------------------------- Skip link ---------------------------- */
.skip-link {
	position: fixed;
	top: -100px;
	left: 1rem;
	z-index: 200;
	background: var(--navy-900);
	color: #fff;
	padding: .75rem 1.1rem;
	border-radius: 0 0 var(--radius) var(--radius);
}
.skip-link:focus { top: 0; }

/* ============================== HERO ============================== */
.hero {
	position: relative;
	isolation: isolate;
	color: #fff;
	background: var(--navy-900);
	overflow: hidden;
}
.hero__bg {
	position: absolute;
	inset: -8% 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
	will-change: transform;
}
.hero__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(110% 90% at 80% 0%, rgba(224, 165, 46, .14), transparent 55%),
		linear-gradient(105deg, var(--navy-900) 18%, rgba(14, 20, 48, .9) 42%, rgba(14, 20, 48, .55) 100%),
		linear-gradient(0deg, rgba(14, 20, 48, .9), transparent 55%);
}
.hero__inner { position: relative; z-index: 3; padding-block: clamp(1.4rem, 4vw, 2.2rem) clamp(3rem, 7vw, 5rem); }

.hero__topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: clamp(.8rem, 2vw, 1.4rem);
	margin-bottom: clamp(2rem, 6vw, 4rem);
}
.hero__logo {
	height: clamp(46px, 6.5vw, 58px);
	width: auto;
	padding: .45rem .8rem;
	background: rgba(255, 255, 255, .94);
	border-radius: 12px;
	box-shadow: 0 10px 26px -12px rgba(0, 0, 0, .55), inset 0 0 0 1px rgba(255, 255, 255, .6);
}
.hero__phone {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	font-family: var(--ff-body);
	font-weight: 600;
	font-size: .95rem;
	color: #fff;
}
.hero__phone-ic {
	width: 2.2rem; height: 2.2rem;
	display: grid; place-items: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	box-shadow: inset 0 0 0 1px var(--line-gold);
	color: var(--gold-300);
}
.hero__phone-ic svg { width: 1.1rem; height: 1.1rem; }
.hero__phone:hover { color: var(--gold-300); }
.hero__phone span:not(.hero__phone-ic) { display: none; }
@media (min-width: 420px) { .hero__phone span:not(.hero__phone-ic) { display: inline; } }

.hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2.4rem, 6vw, 4rem);
	align-items: center;
}
.hero__title {
	font-size: clamp(2.4rem, 1.4rem + 4.4vw, 4.3rem);
	letter-spacing: -.015em;
	font-weight: 600;
}
.hero__title-em {
	color: transparent;
	background: var(--gold-grad);
	-webkit-background-clip: text;
	background-clip: text;
}
.hero__sub {
	margin-top: 1.3rem;
	font-size: clamp(1.05rem, 1rem + .55vw, 1.28rem);
	color: rgba(255, 255, 255, .82);
	max-width: 34em;
}
.hero__sub strong { color: #fff; }
.hero__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .9rem; }
.hero__trust {
	margin-top: 2.4rem;
	padding-top: 1.7rem;
	border-top: 1px solid var(--line-dark);
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem 2.4rem;
}
.hero__trust li { font-size: .9rem; color: rgba(255, 255, 255, .65); }
.hero__trust strong {
	display: block;
	font-family: var(--ff-head);
	font-weight: 700;
	font-size: 1.5rem;
	color: var(--gold-300);
	letter-spacing: -.02em;
}

/* ---------------------------- Quote form (hero glass) ---------------------------- */
.quote {
	background: rgba(16, 22, 52, .72);
	border: 1px solid var(--line-gold);
	border-radius: var(--radius-xl);
	padding: clamp(1.4rem, 4vw, 2.1rem);
	box-shadow: var(--shadow-lg);
	backdrop-filter: blur(14px) saturate(140%);
}
.quote__head { margin-bottom: 1.3rem; }
.quote__title { font-size: 1.5rem; color: #fff; }
.quote__sub { margin-top: .35rem; font-size: .95rem; color: rgba(255, 255, 255, .7); }
.quote__form { display: grid; gap: 1rem; }
.quote__fine { font-size: .82rem; color: rgba(255, 255, 255, .6); text-align: center; }
.quote__fine a { color: var(--gold-300); font-weight: 700; }

.field { display: grid; gap: .4rem; }
.field label {
	font-family: var(--ff-body);
	font-weight: 600;
	font-size: .82rem;
	letter-spacing: .01em;
	color: rgba(255, 255, 255, .85);
}
.field__opt { font-weight: 400; color: rgba(255, 255, 255, .5); }
.field input, .field select, .field textarea {
	width: 100%;
	padding: .85rem 1rem;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: var(--radius);
	color: #fff;
	transition: border-color .2s var(--ease), box-shadow .2s var(--ease), background-color .2s var(--ease);
}
.field input::placeholder, .field textarea::placeholder { color: rgba(255, 255, 255, .45); }
.field input:focus, .field select:focus, .field textarea:focus {
	outline: none;
	border-color: var(--gold);
	box-shadow: 0 0 0 3px rgba(224, 165, 46, .22);
	background: rgba(255, 255, 255, .09);
}
.field textarea { resize: vertical; min-height: 84px; }
.field select { appearance: none; -webkit-appearance: none; padding-right: 2.6rem; }
.select { position: relative; }
.select::after {
	content: "";
	position: absolute;
	right: 1.05rem; top: 50%;
	width: .55rem; height: .55rem;
	border-right: 1.6px solid var(--gold-300);
	border-bottom: 1.6px solid var(--gold-300);
	transform: translateY(-65%) rotate(45deg);
	pointer-events: none;
}
.field select option { color: #14161f; }

/* Quote sólido (seção de orçamento parallax) */
.quote--solid {
	background: #fff;
	border-color: var(--line-soft);
	box-shadow: var(--shadow-lg);
	backdrop-filter: none;
}
.quote--solid .quote__title { color: var(--navy-900); }
.quote--solid .quote__sub { color: var(--ink-soft); }
.quote--solid .field label { color: var(--ink); }
.quote--solid .field__opt { color: var(--ink-soft); }
.quote--solid .field input, .quote--solid .field select, .quote--solid .field textarea {
	background: var(--cream-2);
	border-color: var(--line-soft);
	color: var(--ink);
}
.quote--solid .field input::placeholder, .quote--solid .field textarea::placeholder { color: #9aa0b0; }
.quote--solid .field input:focus, .quote--solid .field select:focus, .quote--solid .field textarea:focus {
	border-color: var(--gold);
	box-shadow: 0 0 0 3px rgba(224, 165, 46, .18);
	background: #fff;
}
.quote--solid .select::after { border-color: var(--gold-600); }
.quote--solid .quote__fine { color: var(--ink-soft); }
.quote--solid .quote__fine a { color: var(--gold-600); }

/* ===================== TARJA AZUL — DIFERENCIAIS ===================== */
.strip {
	position: relative;
	isolation: isolate;
	background: linear-gradient(120deg, var(--navy-900), var(--navy-800));
	color: #fff;
	padding-block: clamp(2.6rem, 6vw, 4rem);
	overflow: hidden;
}
.strip__grid {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.8rem;
}
.strip__item { display: grid; grid-template-columns: auto 1fr; gap: 1.1rem; align-items: start; }
.strip__ic {
	width: 3rem; height: 3rem;
	display: grid; place-items: center;
	border-radius: 12px;
	background: rgba(224, 165, 46, .1);
	box-shadow: inset 0 0 0 1px var(--line-gold);
	color: var(--gold-300);
}
.strip__ic svg { width: 1.5rem; height: 1.5rem; }
.strip__item h3 { font-size: 1.12rem; margin-bottom: .25rem; }
.strip__item p { font-size: .92rem; color: rgba(255, 255, 255, .68); }

/* ============================== CARDS ============================== */
.cards { display: grid; grid-template-columns: 1fr; gap: 1.6rem; }
.card {
	position: relative;
	background: #fff;
	border: 1px solid var(--line-soft);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
	display: flex;
	flex-direction: column;
}
.card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: var(--gold-grad);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s var(--ease);
	z-index: 4;
}
.card:hover { transform: translateY(-7px); box-shadow: var(--shadow-lg); border-color: transparent; }
.card:hover::before { transform: scaleX(1); }
.card__media { position: relative; aspect-ratio: 16 / 11; overflow: hidden; background: var(--navy-800); }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s var(--ease); }
.card:hover .card__media img { transform: scale(1.07); }
.card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 45%, rgba(14, 20, 48, .35));
}
.card__index {
	position: absolute;
	left: 1rem; top: .7rem;
	z-index: 2;
	font-family: var(--ff-head);
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: .05em;
	color: var(--navy-900);
	background: var(--gold-grad);
	width: 2.4rem; height: 2.4rem;
	display: grid; place-items: center;
	border-radius: 10px;
	box-shadow: 0 6px 16px -6px rgba(224, 165, 46, .7);
}
.card__body { padding: 1.5rem 1.5rem 1.7rem; display: flex; flex-direction: column; gap: .7rem; flex: 1; }
.card__title { font-size: 1.32rem; color: var(--navy-900); }
.card__body p { color: var(--ink-soft); font-size: .97rem; }
.card__body .link-gold { margin-top: auto; align-self: flex-start; }

/* ============================== ABOUT ============================== */
.about__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2.4rem, 6vw, 4.5rem);
	align-items: center;
}
.about__media { position: relative; }
.about__media img {
	width: 100%;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 40%;
}
.about__media::before {
	content: "";
	position: absolute;
	inset: -10px -10px auto auto;
	width: 60%; height: 60%;
	border-top: 1px solid var(--line-gold);
	border-right: 1px solid var(--line-gold);
	border-radius: 0 var(--radius-lg) 0 0;
	z-index: -1;
}
.about__badge {
	position: absolute;
	left: -.6rem; bottom: -1.2rem;
	background: var(--navy-900);
	color: #fff;
	border-radius: var(--radius);
	padding: 1rem 1.2rem;
	display: flex;
	align-items: center;
	gap: .7rem;
	box-shadow: var(--shadow-lg);
	border: 1px solid var(--line-gold);
}
.about__badge-num {
	font-family: var(--ff-head);
	font-weight: 800;
	font-size: 2.6rem;
	line-height: 1;
	color: transparent;
	background: var(--gold-grad);
	-webkit-background-clip: text;
	background-clip: text;
}
.about__badge-txt { font-family: var(--ff-body); font-weight: 600; font-size: .82rem; line-height: 1.15; color: rgba(255, 255, 255, .85); }
.about__content p { color: var(--ink-soft); margin-top: 1rem; }

.ticklist { margin-top: 1.5rem; display: grid; gap: .8rem; }
.ticklist li { position: relative; padding-left: 2.1rem; color: var(--ink); }
.ticklist li::before {
	content: "";
	position: absolute;
	left: 0; top: .1rem;
	width: 1.4rem; height: 1.4rem;
	border-radius: 50%;
	background: rgba(224, 165, 46, .14);
	box-shadow: inset 0 0 0 1px var(--line-gold);
}
.ticklist li::after {
	content: "";
	position: absolute;
	left: .5rem; top: .42rem;
	width: .35rem; height: .62rem;
	border: solid var(--gold-600);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.about__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }

/* ============================== BRANDS ============================== */
.brands__carousel {
	position: relative;
	width: 100%;
	margin-top: 2.5rem;
}

/* Máscara de fade nas bordas para entrada/saída suave dos logos. */
.carousel-wrapper {
	width: 100%;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.carousel-track {
	display: flex;
	width: max-content;
	animation: brands-marquee 32s linear infinite;
}

.carousel-track:hover {
	animation-play-state: paused;
}

.carousel-slide {
	flex: 0 0 auto;
	width: clamp(110px, 11vw, 150px);
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 140px;
	padding: 1.25rem .6rem;
}

.carousel-slide img {
	max-height: 110px;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	opacity: 1;
	transition: transform .3s var(--ease);
}

.carousel-slide img:hover {
	transform: scale(1.1);
}

/* Translada exatamente metade do trilho (um conjunto completo de logos),
   que é idêntico à segunda metade clonada — loop perfeitamente contínuo. */
@keyframes brands-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media (max-width: 680px) {
	.carousel-slide {
		min-height: 120px;
		padding: .9rem .5rem;
	}
	.carousel-slide img {
		max-height: 95px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.carousel-track {
		animation: none;
	}
}

/* ===================== SEGUNDA TARJA AZUL — CTA ===================== */
.band-cta {
	position: relative;
	isolation: isolate;
	background: linear-gradient(120deg, var(--navy-800), var(--navy-900));
	color: #fff;
	padding-block: clamp(3rem, 7vw, 4.6rem);
	overflow: hidden;
}
.band-cta::before, .band-cta::after {
	content: "";
	position: absolute;
	left: 0; right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--line-gold), transparent);
	z-index: 1;
}
.band-cta::before { top: 0; }
.band-cta::after { bottom: 0; }
.band-cta__inner {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	align-items: flex-start;
}
.band-cta__text h2 { font-size: clamp(1.7rem, 1.2rem + 2.4vw, 2.6rem); }

/* ============== ORÇAMENTO (PARALLAX) — "PRECISA HOJE?" ============== */
.quote-band {
	position: relative;
	isolation: isolate;
	color: #fff;
	padding-block: clamp(3.5rem, 8vw, 6rem);
	overflow: hidden;
}
.quote-band__bg {
	position: absolute;
	inset: -10% 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
	will-change: transform;
}
.quote-band__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(90% 80% at 15% 20%, rgba(224, 165, 46, .12), transparent 55%),
		linear-gradient(180deg, rgba(14, 20, 48, .9), rgba(14, 20, 48, .82));
}
.quote-band__grid {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2.2rem, 5vw, 3.5rem);
	align-items: center;
}
.quote-band__intro h2 { font-size: clamp(1.9rem, 1.3rem + 2.8vw, 3rem); }
.quote-band__intro p { margin-top: 1rem; color: rgba(255, 255, 255, .82); max-width: 38em; }

.chips { margin-top: 1.8rem; display: grid; gap: .8rem; }
.chips a {
	display: inline-flex;
	align-items: center;
	gap: .9rem;
	padding: .7rem .9rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, .06);
	border: 1px solid var(--line-dark);
	transition: border-color .25s var(--ease), background-color .25s var(--ease), transform .25s var(--ease);
	width: fit-content;
}
.chips a:hover { border-color: var(--line-gold); background: rgba(224, 165, 46, .1); transform: translateY(-2px); }
.chips__ic {
	width: 2.3rem; height: 2.3rem;
	display: grid; place-items: center;
	border-radius: 50%;
	background: var(--gold-grad);
	color: #2a1e05;
	flex: none;
}
.chips__ic svg { width: 1.15rem; height: 1.15rem; }
.chips a > span:last-child {
	display: flex;
	flex-direction: column;
	font-family: var(--ff-body);
	font-weight: 600;
	font-size: .98rem;
	color: #fff;
}
.chips small { font-weight: 500; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-300); }

/* ============================== FOOTER ============================== */
.site-footer { background: var(--cream); color: var(--ink-soft); position: relative; }
.site-footer::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--line-gold) 25%, var(--gold) 50%, var(--line-gold) 75%, transparent);
}
.site-footer__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.6rem;
	padding-block: clamp(3rem, 6vw, 4.5rem);
}
.site-footer__brand img { height: 42px; width: auto; margin-bottom: 1.1rem; }
.site-footer__brand p { max-width: 36ch; font-size: .96rem; }
.site-footer__social { display: flex; gap: .7rem; margin-top: 1.4rem; }
.site-footer__social a {
	width: 3.2rem; height: 3.2rem;
	display: grid; place-items: center;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
	transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.site-footer__social a:hover { transform: translateY(-3px); box-shadow: 0 4px 16px rgba(0, 0, 0, .15); }
.site-footer__social svg { display: block; width: 1.5rem; height: 1.5rem; transition: fill .25s var(--ease); }
.social-icon--instagram svg { fill: #E1306C; }
.social-icon--instagram:hover svg { fill: #E1306C; opacity: .8; }
.social-icon--whatsapp svg { fill: #25D366; }
.social-icon--whatsapp:hover svg { fill: #25D366; opacity: .8; }

.site-footer__col h3 { font-size: 1.05rem; color: var(--navy-900); margin-bottom: 1.1rem; letter-spacing: -.01em; }
.site-footer__list { display: grid; gap: .85rem; }
.site-footer__list li { display: grid; gap: .1rem; }
.site-footer__list span { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-600); font-weight: 600; }
.site-footer__list a, .site-footer__list p { font-family: var(--ff-body); font-weight: 600; font-size: 1rem; color: var(--navy-900); }
.site-footer__list a:hover { color: var(--gold-600); }
.site-footer__address { margin-bottom: 1rem; font-family: var(--ff-body); font-weight: 600; color: var(--navy-900); }
.site-footer__map { border-radius: var(--radius); overflow: hidden; box-shadow: inset 0 0 0 1px var(--line-soft); }
.site-footer__map iframe { width: 100%; height: 200px; border: 0; display: block; }

.site-footer__bottom { border-top: 1px solid var(--line-soft); }
.site-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem 1.5rem;
	justify-content: space-between;
	align-items: center;
	padding-block: 1.4rem;
}
.site-footer__bottom p { font-size: .85rem; color: var(--ink-soft); }
.site-footer__credit { color: #9aa0b0; }

/* ---------------------------- WhatsApp flutuante ---------------------------- */
.wa-float__wrap {
	position: fixed;
	right: clamp(1rem, 3vw, 1.6rem);
	bottom: clamp(1rem, 3vw, 1.6rem);
	z-index: 90;
	display: flex;
	align-items: flex-end;
	gap: .7rem;
}
.wa-float {
	position: relative;
	flex: none;
	width: 3.6rem; height: 3.6rem;
	display: grid; place-items: center;
	background: var(--wa);
	border-radius: 50%;
	box-shadow: 0 12px 28px -6px rgba(37, 211, 102, .55);
	animation: wa-pulse 2.4s var(--ease) infinite;
	transition: transform .25s var(--ease);
}
.wa-float:hover { transform: scale(1.1); }
.wa-float svg { width: 2rem; height: 2rem; fill: #fff; }
@keyframes wa-pulse {
	0%   { box-shadow: 0 12px 28px -6px rgba(37,211,102,.55), 0 0 0 0   rgba(37,211,102,.6); }
	60%  { box-shadow: 0 12px 28px -6px rgba(37,211,102,.55), 0 0 0 18px rgba(37,211,102,0); }
	100% { box-shadow: 0 12px 28px -6px rgba(37,211,102,.55), 0 0 0 0   rgba(37,211,102,0); }
}

/* Badge de mensagem pendente */
.wa-float__badge {
	position: absolute;
	top: -3px; right: -3px;
	width: 1.15rem; height: 1.15rem;
	background: #e53935;
	border: 2px solid #fff;
	border-radius: 50%;
	font-size: .62rem;
	font-weight: 700;
	color: #fff;
	display: grid; place-items: center;
	line-height: 1;
	animation: wa-badge 1.6s ease-in-out infinite;
}
@keyframes wa-badge {
	0%, 100% { transform: scale(1); }
	50%       { transform: scale(1.25); }
}

/* Bolha de mensagem pendente */
.wa-float__bubble {
	background: #fff;
	color: #1a1a2e;
	padding: .5rem .9rem;
	border-radius: 1rem 1rem 0 1rem;
	font-size: .82rem;
	font-weight: 500;
	line-height: 1.3;
	white-space: nowrap;
	box-shadow: 0 4px 20px rgba(0,0,0,.14);
	opacity: 0;
	transform: translateX(10px) scale(.92);
	animation: wa-bubble 16s ease infinite;
	pointer-events: none;
}
@keyframes wa-bubble {
	0%   { opacity: 0; transform: translateX(10px) scale(.92); }
	6%   { opacity: 1; transform: none; }
	35%  { opacity: 1; transform: none; }
	44%  { opacity: 0; transform: translateX(10px) scale(.92); }
	100% { opacity: 0; transform: translateX(10px) scale(.92); }
}

/* ---------------------------- Reveal ---------------------------- */
[data-reveal] {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .7s var(--ease), transform .7s var(--ease);
}
[data-reveal].is-visible { opacity: 1; transform: none; }

/* ========================= Botão WhatsApp verde ========================= */
.btn--wa {
	background: var(--wa);
	color: #fff;
	border: none;
}
.btn--wa:hover { background: var(--wa-600); color: #fff; transform: translateY(-2px); }
.btn--wa .icon-wa { fill: #fff; }

.btn--wa-outline {
	background: transparent;
	color: var(--wa);
	box-shadow: inset 0 0 0 1px var(--wa);
}
.btn--wa-outline:hover { background: rgba(37, 211, 102, .1); color: var(--wa); transform: translateY(-2px); }
.btn--wa-outline .icon-wa { fill: var(--wa); }

/* ========================= Divisor "ou" no formulário ========================= */
.quote__divider {
	display: flex;
	align-items: center;
	gap: .75rem;
	color: var(--ink-soft);
	font-size: .85rem;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.quote__divider::before, .quote__divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--line-soft);
}
.quote--solid .quote__divider { color: var(--ink-soft); }

/* ============================ Breakpoints ============================ */
@media (max-width: 879px) {
	/* Hero mobile: centralizar texto e ocultar formulário */
	.hero__lead { text-align: center; }
	.hero__sub { max-width: none; }
	.hero__actions { justify-content: center; }
	.hero__form { display: none; }

	/* VAMOS CONVERSAR: centralizar */
	.band-cta__inner { align-items: center; text-align: center; }

	/* Rodapé: centralizar coluna de marca */
	.site-footer__brand { text-align: center; }
	.site-footer__brand p { max-width: none; }
	.site-footer__social { justify-content: center; }

	/* Copyright: centralizar */
	.site-footer__bottom-inner { flex-direction: column; text-align: center; gap: .3rem; }
}
@media (min-width: 620px) {
	.strip__grid { grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
	.chips { grid-auto-flow: row; }
}
@media (min-width: 880px) {
	.hero__grid { grid-template-columns: 1.05fr .95fr; align-items: center; }
	.hero__btn-orcamento { display: none; }
	.cards { grid-template-columns: repeat(3, 1fr); }
	.about__grid { grid-template-columns: 1fr 1.05fr; }
	.band-cta__inner { flex-direction: row; align-items: center; justify-content: space-between; }
	.band-cta__inner .btn { flex: none; }
	.quote-band__grid { grid-template-columns: 1.05fr .95fr; align-items: center; }
	.site-footer__inner { grid-template-columns: 1.5fr 1fr 1.3fr; gap: 3.5rem; }
}
@media (min-width: 1024px) {
	.hero__inner { padding-bottom: clamp(4rem, 7vw, 6rem); }
}

/* -------------------------- Páginas de conteúdo ------------------------- */
.page-content {
	background: var(--cream-2);
	padding: clamp(3rem, 8vw, 5rem) 0 clamp(3rem, 8vw, 5rem);
}
.page-content__header {
	max-width: 720px;
	margin-bottom: 2.5rem;
}
.page-content__title {
	font-family: 'Fraunces', Georgia, serif;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 600;
	color: var(--navy-900);
	line-height: 1.2;
	margin: .5rem 0 0;
}
.page-content__body {
	max-width: 720px;
	font-size: 1rem;
	line-height: 1.8;
	color: var(--ink-soft);
}
.page-content__body h2 {
	font-family: 'Fraunces', Georgia, serif;
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--navy-800);
	margin: 2.5rem 0 .75rem;
}
.page-content__body p,
.page-content__body li { margin-bottom: .75rem; }
.page-content__body ul { padding-left: 1.25rem; }
.page-content__body a { color: var(--gold-600); }
.page-content__body a:hover { text-decoration: underline; }
.page-content__body strong { color: var(--ink); font-weight: 600; }
.page-content__back { max-width: 720px; margin-top: 3rem; }

/* ---------------------------- Página Obrigado --------------------------- */
.page-obrigado {
	min-height: 100dvh;
	background: var(--navy-900);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(3rem, 8vw, 6rem) 1.5rem;
	text-align: center;
}
.obrigado__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	max-width: 540px;
}
.obrigado__icon {
	display: flex;
	color: var(--gold);
}
.obrigado__icon svg {
	width: 80px;
	height: 80px;
	stroke: currentColor;
}
.obrigado__title {
	font-family: 'Fraunces', Georgia, serif;
	font-size: clamp(2rem, 5vw, 2.75rem);
	font-weight: 600;
	color: #fff;
	line-height: 1.15;
	margin: 0;
}
.obrigado__sub {
	font-size: 1.05rem;
	color: var(--cream);
	opacity: .85;
	line-height: 1.6;
	margin: 0;
}
.obrigado__back {
	font-size: .95rem;
	margin-top: .5rem;
}

/* ---------------------------- Acessibilidade ---------------------------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
	[data-reveal] { opacity: 1; transform: none; }
	.hero__bg, .quote-band__bg { transform: none !important; }
}
