/* Sections and layouts */

/* HERO */
#hero {
	background: var(--color-bg-white);
	min-height: 100svh; /* svh = small viewport height, corrige iOS Safari */
}
@supports not (height: 100svh) { #hero { min-height: 100vh; } }
.hero__grid { display: grid; gap: var(--space-8); align-items: center; }
.media-legacy { }
@media (min-width: 1024px) { .hero__grid { grid-template-columns: 55% 45%; min-height: calc(100vh - 72px); } }
.hero__text .info { display:flex; align-items:center; gap:.5rem; color: var(--color-text-muted); font-size: var(--text-sm); margin-top: var(--space-3); }
.hero__media { position: relative; }
.photo-hero {
	width: 100%;
	height: 100%;
	min-height: 480px;
	border-radius: var(--radius-xl);
	overflow: hidden;
	background: var(--color-bg-cream);
}
@media (min-width: 1024px) {
	.photo-hero {
		border-radius: 0 var(--radius-xl) var(--radius-xl) 0;
		box-shadow: none;
		min-height: unset;
		height: 100%;
	}
}

/* DOR */
#dor {
	background: var(--color-bg-cream);
	border-top-left-radius: var(--radius-2xl);
	border-top-right-radius: var(--radius-2xl);
	margin-top: calc(var(--radius-2xl) * -1);
	position: relative;
	z-index: 1;
}
.dor__grid { display:grid; gap: var(--space-8); align-items:center; }
@media (min-width: 1024px) { .dor__grid { grid-template-columns: 1.1fr .9fr; } }
.dor__photo { width: 320px; max-width: 420px; aspect-ratio: 1/1; margin-inline: auto; }

/* SERVIÇOS */
#servicos { background: var(--color-bg-dark); color: var(--color-text-light); border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }
.servicos__header { max-width: 720px; }
.servicos__carousel .carousel__control { border-color: rgba(255,255,255,0.35); }
.servicos__carousel .service-card { min-width: 280px; max-width: 280px; flex: 0 0 280px; }
@media (min-width: 1024px) { .servicos__carousel .service-card { min-width: 300px; max-width: 300px; flex: 0 0 300px; } }

/* DEPOIMENTOS */
#depoimentos { background: var(--color-bg-cream); }
.depo__carousel .carousel__control--dark { /* on light background */ }
.depo__cta { text-align:center; margin-top: var(--space-8); }

/* SOBRE */
#sobre { background: var(--color-bg-dark); color: var(--color-text-light); }
.sobre__grid { display:grid; gap: var(--space-8); align-items:center; }
@media (min-width: 1024px) { .sobre__grid { grid-template-columns: 45% 55%; } }
.photo-sobre {
	width: 100%;
	aspect-ratio: 3/4;
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-hero);
	background: #eae6de;
	position: relative;
}
@media (min-width: 1024px) {
	.photo-sobre { border-radius: 0 var(--radius-xl) var(--radius-xl) 0; }
}

/* ESPAÇO */
#espaco { background: var(--color-bg-cream-light); }
.espaco__block { display: grid; gap: var(--space-8); align-items: center; margin-bottom: var(--space-12); }
.espaco__block:last-child { margin-bottom: 0; }
@media (min-width: 1024px) { .espaco__block { grid-template-columns: 1fr 1fr; } .espaco__block--b .space-photo { order: -1; } }
.espaco__text { max-width: 520px; }
.space-photo { width: 100%; aspect-ratio: 4/3; border-radius: var(--radius-xl); background: #ece7df; box-shadow: var(--shadow-card); }

/* FAQ */
#faq { background: var(--color-bg-dark); color: var(--color-text-light); border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }
.faq__list { display:grid; gap: var(--space-4); max-width: 800px; margin-inline:auto; }

/* CONTATO */
#contato { background: var(--color-bg-cream-light); }
.contato__grid { display:grid; gap: var(--space-6); align-items:start; }
@media (min-width: 1024px) { .contato__grid { grid-template-columns: 1.2fr .8fr; } }
.map-embed { width: 100%; min-height: 320px; border: 0; border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }

/* FOOTER */
.footer { background: var(--color-bg-dark-alt); color: rgba(255,255,255,0.75); font-size: var(--text-xs); border-top: 1px solid rgba(255,255,255,0.08); }
.footer__inner { display:flex; align-items:center; justify-content:space-between; gap: var(--space-4); padding-block: var(--space-4); }
.footer a { color: rgba(255,255,255,0.9); text-decoration: underline; text-underline-offset: 2px; }

