/* Home: application, finish comparison and a clear next step. */
.front-page .home-project {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
    gap: 40px 64px;
    padding: 100px max(5vw, calc((100vw - 1320px) / 2));
    background: #fff;
}
.home-project__heading { grid-column: 1 / -1; max-width: none; }
.home-project__heading .home-red-dot { color: var(--color-accent); }
.home-project__heading h2 {
    margin: 0 0 24px;
    color: #171513;
    font-family: var(--font-body);
    font-size: clamp(44px, 5.5vw, 80px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.04em;
}
.home-project__heading p { max-width: 48ch; font-size: 18px; line-height: 1.6; color: #625e58; }
.front-page .home-environments { gap: 40px 32px; }
.front-page .home-environments--single { grid-template-columns: minmax(0, 1fr); }
.home-environments--single .home-environments__frame { aspect-ratio: 16 / 9; }
.home-environments__intro { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.home-environments__intro p { margin: 0; }
.home-environments__image { min-width: 0; margin: 0; }
.home-environments__project-link { display: block; min-height: 0; color: inherit; }
.home-environments__project-link:focus-visible { outline: 2px solid #d9001b; outline-offset: 5px; }
.home-environments__frame { overflow: hidden; background: #ece7df; }
.home-environments__frame img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 800ms cubic-bezier(.16, 1, .3, 1); }
.home-environments__image--main .home-environments__frame { height: 100%; min-height: 0; }
.home-environments__image--main { display: grid; grid-template-rows: minmax(0, 1fr) auto; }
.home-environments__secondary { display: grid; gap: 24px; }
.home-environments__secondary .home-environments__frame { aspect-ratio: 16 / 9; }
.home-environments__image figcaption { padding-top: 12px; font-size: 16px; color: #171513; overflow-wrap: anywhere; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .home-environments__image:hover img { transform: scale(1.045); }
}
@media (max-width: 768px) {
    .home-environments__intro { align-items: flex-start; flex-direction: column; gap: 24px; }
    .home-environments__image--main .home-environments__frame { aspect-ratio: 4 / 3; }
    .home-environments__secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .home-environments__secondary .home-environments__frame { aspect-ratio: 4 / 5; }
}
@media (max-width: 480px) {
    .home-environments__secondary { grid-template-columns: 1fr; gap: 24px; }
    .home-environments__secondary .home-environments__frame { aspect-ratio: 4 / 3; }
}
.home-project__scene { margin: 0; }
.home-project__scene img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.home-project__detail { min-width: 0; padding-top: 80px; }
.home-project__detail > img { display: block; width: 100%; height: auto; }
.home-project__caption { padding: 24px 0 0; }
.home-project__caption h3 { font-size: 26px; font-weight: 500; margin: 0 0 8px; }
.home-project__caption p { font-size: 16px; color: #625e58; margin: 0; }
.front-page #materiais {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    padding: 88px max(5vw, calc((100vw - 1320px) / 2));
    background: #f4f2ee;
}
.front-page #materiais .home-finishes__content { border: 0; padding-top: 0; padding-right: 40px; }
.front-page #finishes-title { font-size: clamp(36px, 3.8vw, 56px); letter-spacing: -.04em; }
.front-page #materiais .home-finishes__content > p { font-size: 18px; max-width: 38ch; }
.front-page #home-finish-preview { margin: 0; height: clamp(350px, 36vw, 520px); background: #f4f2ee; }
.front-page #home-finish-preview::before,
.front-page #home-finish-preview::after { display: none; }
.front-page #home-finish-preview img {
    opacity: 1;
    transform: none;
    padding: 0 0 60px;
    transition: none;
}
.front-page #home-finish-preview figcaption {
    opacity: 1;
    transform: none;
    left: 24px;
    right: 24px;
    bottom: 0;
    padding: 16px 0 0;
}
.front-page #materiais .home-finish-option__crop { background: transparent; }
.front-page #materiais .home-finish-option { min-height: 44px; }
.front-page #materiais .home-finish-option:focus-visible,
.home-project a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 5px; }
.front-page #sobre-nos { padding-block: 88px; }
.front-page #sobre-nos .home-about-label { max-width: 19ch; font-size: clamp(36px, 4.5vw, 64px); letter-spacing: -.04em; }
.front-page .home-project-cta { padding: 88px 24px 104px; text-align: center; background: #fff; }
.home-project-cta h2 { font-size: clamp(34px, 4.5vw, 64px); letter-spacing: -.04em; line-height: 1.13; font-weight: 500; margin: 0 0 24px; }
.home-project-cta p { font-size: 18px; line-height: 1.6; color: #625e58; margin: 0 auto 32px; max-width: 48ch; }
.front-page .home-red-dot { animation: none; }
@media (max-width: 768px) {
    .front-page .home-project { grid-template-columns: 1fr; padding: 64px 24px; gap: 32px; }
    .home-project__heading { grid-column: auto; }
    .home-project__detail { padding-top: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: center; }
    .home-project__caption { padding: 0; }
    .home-project__caption h3 { font-size: 22px; }
    .home-project__caption .home-editorial-link { gap: 8px; font-size: 10px; }
    .front-page #materiais { grid-template-columns: 1fr; padding: 64px 24px; gap: 24px; }
    .front-page #materiais .home-finishes__content { padding: 0; }
    .front-page #home-finish-preview { height: 320px; }
    .front-page #sobre-nos { padding-block: 64px; }
    .front-page .home-project-cta { padding: 64px 24px 88px; }
    .home-project-cta .btn { max-width: 100%; white-space: normal; }
}
@media (max-width: 380px) {
    .home-project__detail { grid-template-columns: 1fr; }
}
