.g-topo {
background: linear-gradient(170deg, var(--accent-soft) 0%, var(--bg-2) 55%); border-bottom: 1px solid var(--line);
padding: 52px 0 46px;
}
.g-topo h1 {
font-size: clamp(32px, 4.4vw, 48px); line-height: 1.05; letter-spacing: -0.026em;
font-weight: 600; margin: 0 0 14px; max-width: 760px; text-wrap: balance;
color: var(--ink);
}
.g-topo .lead {
font-size: 16.5px; line-height: 1.65; color: var(--ink-3);
margin: 0; max-width: 620px;
}

.g-lista { padding-top: 40px; padding-bottom: 8px; }
.g-intro { max-width: 620px; margin: 0 0 24px; }
.g-intro h2 {
font-size: clamp(22px, 2.4vw, 28px); font-weight: 600;
letter-spacing: -0.022em; margin: 0 0 8px;
}
.g-intro p { color: var(--ink-3); font-size: 15px; line-height: 1.6; margin: 0; }

.g-grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; align-items: stretch; }
@media (max-width: 1040px) { .g-grade { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px)  { .g-grade { grid-template-columns: 1fr; } }
.g-card {
display: flex; flex-direction: column;
border: 1px solid var(--line); border-radius: var(--radius-lg);
padding: 22px; background: var(--surface);
transition: border-color .18s, box-shadow .18s, transform .18s;
}
@media (hover: hover) { .g-card:hover {
border-color: var(--accent-soft); box-shadow: var(--shadow-2); transform: translateY(-2px);
} }
.g-card > .material-icons {
font-size: 21px; color: var(--accent); background: var(--accent-soft);
border-radius: 10px; padding: 9px; align-self: flex-start;
}
.g-card h3 {
font-size: 17px; font-weight: 600; letter-spacing: -0.015em;
margin: 14px 0 8px; line-height: 1.25;
}
.g-card > p {
font-size: 14px; line-height: 1.6; color: var(--ink-3); margin: 0 0 18px;
}

.g-card dl {
margin: auto 0 0; padding-top: 16px; border-top: 1px solid var(--line-2);
display: grid; gap: 11px;
}
.g-card dl > div { display: grid; gap: 2px; }
.g-card dt {
font-size: 11px; font-weight: 600; letter-spacing: .06em;
text-transform: uppercase; color: var(--ink-4);
}
.g-card dd { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--ink-2); }
.g-card dd b { font-weight: 600; color: var(--ink); }
.g-na { color: var(--ink-4); }
.g-sim { color: #0E6B3D; font-weight: 600; }

.g-restricao {
display: flex; align-items: flex-start; gap: 9px;
margin: 16px 0 0; font-size: 13px; line-height: 1.55; color: var(--ink-3);
}
.g-restricao .material-icons { font-size: 17px; color: var(--ink-4); flex: none; margin-top: 1px; }

.g-parceiros { padding: 40px 0 44px; border-top: 1px solid var(--line-2); }
.g-parceiros .wrap { display: grid; justify-items: center; gap: 16px; text-align: center; }
.g-parceiros > .wrap > span {
font-size: 11.5px; font-weight: 600; letter-spacing: .07em;
text-transform: uppercase; color: var(--ink-4);
}
.g-marcas { display: flex; align-items: center; justify-content: center; gap: 14px 30px; flex-wrap: wrap; }
.g-marcas img {
height: 26px; width: auto; filter: grayscale(1); opacity: .62;
transition: filter .2s, opacity .2s;
}
@media (hover: hover) { .g-marcas img:hover { filter: none; opacity: 1; } }
 
html[data-theme="dark"] .g-marcas img { filter: brightness(0) invert(1); opacity: .72; }
@media (hover: hover) { html[data-theme="dark"] .g-marcas img:hover { filter: brightness(0) invert(1); opacity: 1; } }
.g-marcas img[alt="Icatu Seguros"] { height: 34px; }
.g-marcas img[alt="Serenity"] { height: 32px; }
.g-marcas img[alt="Porto Seguro"] { height: 22px; }

.fim { background: var(--bg-2); padding: 54px 0 60px; text-align: center; }
.fim h2 { font-size: clamp(23px, 2.6vw, 30px); font-weight: 600; letter-spacing: -0.022em; margin: 0 0 10px; }
.fim > .wrap > p { color: var(--ink-3); font-size: 15.5px; margin: 0 0 24px; }
.fim a {
display: inline-flex; align-items: center; gap: 8px;
background: var(--accent-solid); color: #fff; padding: 14px 28px;
border-radius: var(--radius); font-weight: 500; font-size: 15px;
}
@media (hover: hover) { .fim a:hover { background: var(--accent-solid-hover); } }
.fim > .wrap > p.g-lei {
margin: 46px auto 0; max-width: 560px;
font-size: 12.5px; line-height: 1.6; color: var(--ink-4);
}
.g-lei b { color: var(--ink-3); }
