* { box-sizing: border-box; }
body { margin: 0; color: #18291e; font-family: Inter, system-ui, sans-serif; }
.mobile-header { display: none; }
main { display: grid; grid-template-columns: 56% 44%; min-height: 100vh; }
.showcase, .access { display: grid; align-items: center; }
.showcase { background: #eef4ea; padding: clamp(28px, 4.5vw, 84px); }
.showcase-inner { width: 100%; max-width: 760px; margin: auto; }
.switcher { display: inline-flex; flex-wrap: wrap; gap: 3px; padding: 4px; background: #dfe9dc; border-radius: 24px; }
.switcher button { background: transparent; color: #304a37; border: 0; border-radius: 22px; padding: 9px 14px; font: inherit; font-size: .875rem; cursor: pointer; }
.switcher button[aria-pressed="true"] { background: var(--cor-produto); color: #101820; }
h2 { margin: 30px 0 12px; font-size: clamp(2.125rem, 4.25vw, 4.8rem); line-height: 1.05; letter-spacing: -.055em; text-wrap: balance; }
article p { margin: 0 0 24px; color: #44594a; line-height: 1.5; }
article img { display: block; width: 100%; height: auto; border: 1px solid #bbcbb9; border-radius: 14px; }
.access { padding: 40px clamp(20px, 3vw, 60px); }
.access-inner { width: 100%; max-width: 360px; margin: auto; }
.brand { width: min(205px, 75%); height: auto; }
h1 { font-size: clamp(1.75rem, 2.7vw, 2.8rem); letter-spacing: -.055em; line-height: 1.1; margin: 38px 0 24px; }
a { color: #215333; }
.action { display: block; text-align: center; width: 100%; padding: 14px; border-radius: 9px; font: inherit; font-weight: 650; text-decoration: none; cursor: pointer; }
.google { color: white; background: #20482e; border: 1px solid #20482e; }
.secondary { color: #243d2c; border: 1px solid #aab9ac; margin-top: 10px; }
details { margin-top: 22px; }
summary { cursor: pointer; }
summary strong { font-weight: inherit; }
a:hover { text-decoration: underline; }
form { display: grid; gap: 12px; padding-top: 20px; }
form label { font-size: .9rem; }
input:not([type="checkbox"]) { display: block; width: 100%; font: inherit; margin-top: 5px; padding: 12px; border: 1px solid #aab9ac; border-radius: 6px; }
.options { display: flex; justify-content: space-between; align-items: center; font-size: .875rem; }
.error { color: #963b22; margin: 0; }
.terms { font-size: .875rem; font-weight: 500; letter-spacing: -.02em; line-height: 1.5; color: #394b40; margin: 24px 0 0; text-align: center; }
.terms a { font-weight: 700; text-decoration: underline; }
@media (max-width: 760px) {
    main { display: block; }
    .mobile-header { display: flex; align-items: center; justify-content: space-between; padding: 6px 20px; }
    .mobile-header .brand { display: block; width: 140px; }
    .mobile-login { display: inline-flex; align-items: center; min-height: 44px; font-weight: 650; }
    .showcase { padding: 0; min-width: 0; }
    .showcase-inner { position: relative; min-width: 0; }
    .showcase .switcher { position: absolute; z-index: 2; top: 8px; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100% - 16px); padding: 2px; background: #f2f6ef; }
    .switcher button { padding: 8px 12px; }
    .carousel-item h2 { position: absolute; z-index: 1; inset: auto 0 0; margin: 0; padding: 38px 16px 22px; background: linear-gradient(transparent, rgba(10,26,18,.88)); color: white; font-size: clamp(1.4375rem, 5.3vw, 1.875rem); }
    article p { display: none; }
    article img { height: clamp(180px, 29vh, 250px); object-fit: cover; border: 0; border-radius: 0; }
    .access { padding: 20px 16px; }
    .access-inner > a:first-child { display: none; }
    h1 { font-size: 1.8rem; margin: 0 0 14px; }
}

.mais-analises { margin: 8px 0 0; color: #526257; font-size: .85rem; }
.switcher { position: relative; }
.switcher button { position: relative; }
.selecao-analise { position: absolute; top: 0; left: 0; overflow: hidden; border-radius: 24px; background: #21472f; pointer-events: none; }
.selecao-analise[style] ~ button[aria-pressed="true"] { background: transparent; }
@media (prefers-reduced-motion: no-preference) {
    .selecao-analise { transition: transform .42s ease-in-out, width .42s ease-in-out, background-color .42s ease-in-out; }
}
@media (max-width: 760px) {
    .switcher { justify-content: center; }
    .switcher button { padding: 8px; font-size: .8rem; }
    .mais-analises { display: none; }
}

.access h1 { margin-bottom: 8px; text-wrap: balance; }
.access-subtitle { margin: 0 0 14px; color: #44594a; line-height: 1.45; }
/* As quatro frases ocupam a mesma célula, que acomoda a mais alta no mobile. */
.prova-social { display: grid; margin: 0 0 24px; color: #465b4c; font-size: .9rem; line-height: 1.45; }
.prova-social p { grid-area: 1 / 1; display: flex; align-items: baseline; gap: 8px; margin: 0; opacity: 0; }
.prova-social p:first-child { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
    .prova-social p { animation: alternar-prova-social 16s ease-in-out infinite; }
    .prova-social p:nth-child(1) { animation-delay: -1s; }
    .prova-social p:nth-child(2) { animation-delay: -13s; }
    .prova-social p:nth-child(3) { animation-delay: -9s; }
    .prova-social p:nth-child(4) { animation-delay: -5s; }
}
@keyframes alternar-prova-social {
    0%, 27.5%, 100% { opacity: 0; }
    2.5%, 25% { opacity: 1; }
}
.prova-social i, .secondary i { color: #386447; }
.secondary i { margin-right: 5px; }
.access .botao-google-oficial { zoom: 1.24; }
.access a.secondary { min-height: 50px; padding: 13px 14px; border-radius: 999px; }
.access .secondary { margin-top: 14px; font-weight: 550; }
.login-home { margin-top: 10px; }
.acesso-google + .login-home::before,
.outra-conta-google + .login-home::before {
    content: ""; display: block; width: 48px; margin: 0 auto 9px;
    border-top: 1px solid #d4ded6;
}
.access-home { padding-block: 16px; }
.access-home h1 { margin-top: 14px; }
.access-home .access-subtitle { margin-bottom: 8px; }
.access-home .prova-social { margin-bottom: 12px; }
#login-email input:not([type="checkbox"]) { margin-top: 0; }
#login-email > summary { font-size: .9375rem; font-weight: 500; letter-spacing: -.015em; line-height: 1.3; text-align: center; }
#titulo-login-home { margin: 0; font-size: 1.125rem; font-weight: 700; letter-spacing: -.035em; line-height: 1.2; color: inherit; text-align: center; }
.login-home form { padding-top: 6px; gap: 8px; }
.login-home ~ .terms { margin-top: 14px; }
.cadastro-home { margin: 10px 0 0; text-align: center; font-size: .875rem; }
.outra-conta-google {
    display: block; margin: 4px auto 0; padding: 6px 10px;
    border: 0; background: transparent; color: #526257;
    font: inherit; font-size: .875rem; cursor: pointer;
}
.outra-conta-google + .secondary { margin-top: 8px; }
.carousel-inner { position: relative; overflow: hidden; }
.carousel-item { position: relative; display: none; width: 100%; transition: transform .6s ease-in-out; }
.carousel-item.active, .carousel-item-next, .carousel-item-prev { display: block; }
.carousel-item-next, .carousel-item-prev { position: absolute; inset: 0; }
.carousel-item-next:not(.carousel-item-left), .active.carousel-item-right { transform: translateX(100%); }
.carousel-item-prev:not(.carousel-item-right), .active.carousel-item-left { transform: translateX(-100%); }
@media (min-width: 761px) {
    .showcase { padding: 0; min-width: 0; }
    .showcase-inner { position: relative; max-width: none; height: 100%; }
    .slides, .carousel-inner, .carousel-item { height: 100%; }
    .carousel-item { position: relative; min-height: 540px; isolation: isolate; }
    .carousel-item-next, .carousel-item-prev { position: absolute; }
    .carousel-item img { position: absolute; inset: 0; height: 100%; object-fit: cover; border: 0; border-radius: 0; z-index: -2; }
    .carousel-item::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(12,31,23,.94),rgba(12,31,23,.74) 19%,transparent 60%); pointer-events: none; z-index: -1; }
    .chamada-analise { position: absolute; left: 7%; right: 7%; bottom: 48px; }
    .chamada-analise h2 { margin: 0 0 12px; color: white; }
    .chamada-analise p { margin: 0; color: #e1e8e3; font-size: .95rem; }
    .switcher { position: absolute; top: 28px; left: 5%; z-index: 2; background: #eff5ed; }
    .mais-analises { position: absolute; left: 7%; bottom: 18px; margin: 0; color: #bfcbc3; font-size: .75rem; z-index: 1; }
}
@media (prefers-reduced-motion: reduce) { .carousel-item { transition: none; } }
