/* Kit Growft — composição de cada seção do kit (secoes/*.html). Só layout; cor e tipo vêm dos tokens. */
.visualmente-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* hero-1 · dividido */
.hero-1 { padding-top: clamp(2.5rem, 2rem + 4vw, 6rem); }
.hero-1 .grade { align-items: end; }
.hero-1__texto { grid-column: 1 / 8; padding-bottom: var(--e-5); }
.hero-1__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-3); }
.hero-1__foto { grid-column: 8 / -1; aspect-ratio: 4 / 5; margin-right: calc(-1 * var(--margem)); border-radius: var(--raio) 0 0 var(--raio); }

/* hero-2 · foto cheia */
.hero-2 { position: relative; min-height: 92svh; display: grid; align-items: end; overflow: hidden; color: #fff; }
.hero-2__foto { position: absolute; inset: 0; }
.hero-2__foto img { width: 100%; height: 118%; object-fit: cover; }
.hero-2::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, color-mix(in srgb, var(--cor-texto) 88%, transparent), transparent 70%); }
.hero-2__texto { position: relative; z-index: 2; padding-block: var(--e-7); }
.hero-2__texto .sobretitulo { color: inherit; }
.hero-2 h1 { max-width: 14ch; }

/* hero-3 · editorial */
.hero-3__titulo { font-size: clamp(3.5rem, 1rem + 11vw, 12rem); line-height: .92; margin-block: var(--e-3) var(--e-5); }
.hero-3__linha { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: var(--e-4); }
.hero-3__faixa { display: grid; grid-template-columns: 1.2fr 1fr .8fr; gap: var(--e-2); margin-top: var(--e-6); padding-inline: var(--margem); }
.hero-3__faixa .moldura { aspect-ratio: 4 / 5; }
.hero-3__faixa .moldura:nth-child(2) { margin-top: var(--e-6); }
@media (max-width: 767px) { .hero-3__faixa { grid-template-columns: 1fr 1fr; } .hero-3__faixa .moldura:nth-child(3) { display: none; } }

/* servicos-1 · lista numerada */
.servicos-1__cabeca { grid-column: 1 / 6; align-self: start; position: sticky; top: 6rem; }
.servicos-1__lista { grid-column: 7 / -1; list-style: none; padding: 0; }
.servicos-1__lista li { display: grid; grid-template-columns: 3.5rem 1fr; gap: var(--e-1) var(--e-3); padding-block: var(--e-4); border-top: 1px solid var(--cor-linha); }
.servicos-1__lista li > :not(.servicos-1__n) { grid-column: 2; }
.servicos-1__n { font: 600 var(--t-sm)/1.8 var(--fonte-texto); color: var(--cor-acento); }
@media (max-width: 767px) { .servicos-1__cabeca { position: static; } }

/* servicos-2 · 1 grande + 2 */
.servicos-2__grade { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: auto auto; gap: var(--e-4) var(--e-3); margin-top: var(--e-5); }
.servicos-2__item--grande { grid-row: span 2; }
.servicos-2__item .moldura { aspect-ratio: 1; margin-bottom: var(--e-2); }
.servicos-2__item--grande .moldura { aspect-ratio: 4 / 3; }
.servicos-2__item h3 { margin-bottom: var(--e-1); }
@media (max-width: 767px) { .servicos-2__grade { grid-template-columns: 1fr; } .servicos-2__item--grande { grid-row: auto; } }

/* galeria-1 · trilho horizontal */
.galeria-1 { overflow: hidden; }
.galeria-1__cabeca { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: var(--e-3); margin-bottom: var(--e-5); }
.galeria-1__trilho { padding-inline: var(--margem); }
.galeria-1__trilho .moldura { aspect-ratio: 4 / 5; }
.galeria-1__trilho:focus-visible { outline-offset: -3px; }

/* galeria-2 · mosaico */
.galeria-2__titulo { max-width: 16ch; margin-bottom: var(--e-5); }
.galeria-2__mosaico { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--e-2); }
.galeria-2__mosaico .g1 { grid-column: 1 / 6; grid-row: span 2; aspect-ratio: 4 / 5; }
.galeria-2__mosaico .g2 { grid-column: 6 / -1; aspect-ratio: 3 / 2; }
.galeria-2__mosaico .g3 { grid-column: 6 / 9; aspect-ratio: 1; }
.galeria-2__mosaico .g4 { grid-column: 9 / -1; aspect-ratio: 4 / 5; }
@media (max-width: 767px) { .galeria-2__mosaico > * { grid-column: 1 / -1 !important; grid-row: auto !important; } }

/* sobre-1 · retrato deslocado */
.sobre-1 .grade { align-items: center; }
.sobre-1__foto { grid-column: 1 / 6; aspect-ratio: 4 / 5; }
.sobre-1__texto { grid-column: 7 / -1; }

/* sobre-2 · momento tipográfico */
.sobre-2__grade { display: grid; gap: var(--e-5); }
.sobre-2__frase { font: 500 clamp(2rem, 1rem + 4.2vw, 5.5rem)/1.08 var(--fonte-titulo); letter-spacing: -.02em; max-width: 22ch; }
.sobre-2__frase p { max-width: none; }
.sobre-2__assinatura { display: flex; align-items: center; gap: var(--e-3); }
.sobre-2__assinatura .moldura { width: 4.5rem; aspect-ratio: 1; border-radius: 50%; }

/* depoimentos-1 */
.depoimentos-1__grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: var(--e-3); margin-top: var(--e-5); }
.depoimentos-1 blockquote p { font-size: var(--t-md); line-height: 1.45; margin-bottom: var(--e-3); }

/* depoimentos-2 */
.depoimentos-2 .grade { align-items: center; }
.depoimentos-2__nota { grid-column: 1 / 5; }
.depoimentos-2__numero { font: 600 clamp(4rem, 2rem + 8vw, 9rem)/1 var(--fonte-titulo); color: var(--cor-acento); }
.depoimentos-2__citacao { grid-column: 6 / -1; }
.depoimentos-2__citacao blockquote { font: 500 var(--t-lg)/1.25 var(--fonte-titulo); margin-bottom: var(--e-3); }

/* passos-1 */
.passos-1__cabeca { grid-column: 1 / 6; align-self: start; position: sticky; top: 6rem; }
.passos-1__lista { grid-column: 7 / -1; list-style: none; padding: 0; display: grid; gap: var(--e-5); }
.passos-1__n { display: block; font: 600 var(--t-xl)/1 var(--fonte-titulo); color: var(--cor-acento); margin-bottom: var(--e-2); }
@media (max-width: 767px) { .passos-1__cabeca { position: static; } }

/* perguntas-1 */
.perguntas-1__titulo { grid-column: 1 / 5; align-self: start; }
.perguntas-1__lista { grid-column: 6 / -1; }

/* chamada-1 */
.chamada-1 { background: var(--cor-acento); color: var(--cor-sobre-acento); padding-block: var(--secao); }
.chamada-1__grade { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: var(--e-4); }
.chamada-1 h2 { max-width: 14ch; }
.chamada-1__botao { background: var(--cor-sobre-acento); color: var(--cor-acento); }

/* chamada-2 */
.chamada-2__faixa { padding-block: var(--e-3); border-block: 1px solid var(--cor-linha); font: 500 var(--t-lg)/1.2 var(--fonte-titulo); }
.chamada-2__faixa li { white-space: nowrap; }
.chamada-2__corpo { padding-block: var(--secao); align-items: center; }
.chamada-2__foto { grid-column: 1 / 7; aspect-ratio: 4 / 3; }
.chamada-2__texto { grid-column: 8 / -1; }

/* contato-1 */
.contato-1 .grade { row-gap: var(--e-5); }
.contato-1__marca { grid-column: 1 / 6; }
.contato-1__lista { grid-column: 7 / -1; list-style: none; padding: 0; display: grid; gap: var(--e-1); }
.contato-1__link, .contato-1__horario { display: flex; align-items: center; gap: var(--e-2); min-height: 48px; text-decoration: none; }
.contato-1__link:hover { color: var(--cor-acento); }
.contato-1__rodape { grid-column: 1 / -1; padding-top: var(--e-4); border-top: 1px solid color-mix(in srgb, var(--cor-fundo) 20%, transparent); font-size: var(--t-sm); }
