/* Acervo Vultus: layout estático compartilhado, independente dos widgets de posts. */
.vultus-blog { --vb-ink:#222; --vb-purple:#6200ea; --vb-line:#dedde3; color:var(--vb-ink); font-family:Figtree,Arial,sans-serif; line-height:1.65; padding-top:110px; }
.vultus-blog *, .vultus-blog *::before, .vultus-blog *::after { box-sizing:border-box; }
.vultus-blog h1,.vultus-blog h2,.vultus-blog h3 { font-family:Figtree,Arial,sans-serif; font-weight:600; color:inherit; letter-spacing:-.03em; line-height:1.12; }
.vultus-blog h1 { font-size:clamp(36px,4.2vw,62px); margin:20px 0; max-width:900px; }
.vultus-blog h2 { font-size:clamp(28px,3vw,40px); margin:0 0 24px; }
.vultus-blog h3 { font-size:26px; margin:0 0 16px; }
.vultus-blog p { margin:0 0 20px; }
.vultus-blog a { color:var(--vb-purple); text-decoration:none; }
.vultus-blog a:hover { text-decoration:underline; }
.vultus-blog a:focus-visible { outline:3px solid #9c74fa; outline-offset:5px; border-radius:3px; }
.vb-wrap { max-width:1192px; margin-inline:auto; padding-inline:24px; }
.vb-hero { background:#17151b; color:white; padding:32px 0 64px; }
.vb-hero .vb-wrap { position:relative; }
.vultus-blog .vb-kicker { font-family:FiraCode,monospace; text-transform:uppercase; letter-spacing:.055em; font-size:12px; font-weight:400; line-height:1.6; color:var(--vb-purple); margin:0 0 16px; }
.vb-hero .vb-kicker, .vb-band .vb-kicker { color:#c8a6ff; }
.vultus-blog .vb-lead { font-size:21px; line-height:1.55; max-width:760px; color:inherit; opacity:.85; }
.vb-breadcrumb { font-size:13px; padding-bottom:30px; }
.vb-breadcrumb ol { list-style:none; display:flex; flex-wrap:wrap; padding:0; gap:10px; margin:0; }
.vb-breadcrumb li + li::before { content:"/"; padding-right:10px; opacity:.5; }
.vb-breadcrumb a { color:inherit; }
.vb-topics { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.vb-topics a { color:white; border:1px solid #61546b; border-radius:5px; padding:10px 16px; font-size:14px; }
.vb-topics a:hover { background:#31223e; text-decoration:none; border-color:#be91ff; }
.vb-section { padding-block:60px; scroll-margin-top:120px; }
.vb-section + .vb-section { border-top:1px solid var(--vb-line); }
.vb-section-heading { margin-bottom:28px; }
.vb-section-heading h2 { margin:0; }
.vb-section-description { max-width:720px; }
.vb-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.vb-grid-featured { grid-template-columns:repeat(2,minmax(0,1fr)); }
.vb-card { overflow:hidden; background:white; border:1px solid var(--vb-line); border-radius:10px; display:flex; flex-direction:column; }
.vb-card-image { display:block; background:#eee; overflow:hidden; aspect-ratio:1024/616; }
.vb-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.vb-card:hover img { transform:scale(1.025); }
.vb-card-copy { padding:26px; display:flex; flex-direction:column; flex:1; }
.vb-card .vb-kicker { font-size:11px; }
.vb-card h3 a { color:var(--vb-ink); }
.vb-card-copy > p:not(.vb-kicker) { color:#56505e; font-size:16px; }
.vb-card-meta { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin-top:auto; padding-top:8px; font-size:12px; }
.vb-card-meta time { color:#6c6377; }
.vb-card-meta a { font-size:14px; font-weight:600; }
.vb-band { background:#21152b; color:white; margin-top:30px; }
.vb-band-inner { padding-block:56px; display:flex; gap:40px; justify-content:space-between; align-items:center; }
.vb-band-inner > div:first-child { max-width:650px; }
.vb-band h2 { margin-bottom:16px; }
.vb-band p:last-child { margin-bottom:0; }
.vb-actions { display:flex; flex-wrap:wrap; gap:14px; }
.vb-band .vb-actions { min-width:220px; max-width:250px; }
.vultus-blog .vb-button { display:inline-flex; justify-content:center; align-items:center; background:var(--vb-purple); border:1px solid var(--vb-purple); color:white; border-radius:6px; padding:14px 20px; font-size:15px; font-weight:600; line-height:1.4; text-decoration:none; }
.vultus-blog .vb-button:hover { background:#4d00bd; border-color:#4d00bd; }
.vultus-blog .vb-button-outline { background:transparent; border-color:#977aaf; }
.vultus-blog .vb-button-outline:hover { background:#392341; }
.vb-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:48px; align-items:center; }
.vb-article-hero h1 { font-size:clamp(34px,3.5vw,50px); overflow-wrap:break-word; }
.vb-article-hero .vb-lead { font-size:18px; }
.vb-cover { margin:0; border-radius:10px; overflow:hidden; }
.vb-cover img { width:100%; height:auto; display:block; }
.vb-byline { font-size:13px; display:flex; flex-wrap:wrap; gap:12px 20px; color:#dfd7e7; margin-top:26px; }
.vultus-blog .vb-update { font-size:12px; color:#bfb0cb; margin:12px 0 0; }
.vb-article-layout { display:grid; grid-template-columns:minmax(0,780px) minmax(0,280px); gap:64px; padding-block:64px; align-items:start; }
.vb-prose { min-width:0; font-size:18px; line-height:1.8; overflow-wrap:break-word; }
.vb-prose p { margin-bottom:24px; }
.vb-prose h2 { font-size:30px; line-height:1.25; margin:44px 0 20px; scroll-margin-top:130px; }
.vb-prose h3 { font-size:24px; line-height:1.3; margin:32px 0 20px; scroll-margin-top:130px; }
.vb-prose h4 { font-size:20px; line-height:1.4; scroll-margin-top:130px; }
.vb-prose figure { margin:30px 0; }
.vb-prose img { display:block; max-width:100%; height:auto; border-radius:8px; }
.vb-prose figcaption { color:#665c71; font-size:14px; line-height:1.5; margin-top:10px; }
.vb-prose ul,.vb-prose ol { padding-left:26px; margin-bottom:26px; }
.vb-prose li { margin:8px 0; }
.vb-prose a { text-decoration:underline; text-underline-offset:3px; }
.vb-prose table { width:100%; table-layout:fixed; border-collapse:collapse; margin:30px 0; font-size:15px; line-height:1.6; }
.vb-prose th,.vb-prose td { padding:14px 12px; border:1px solid var(--vb-line); text-align:left; vertical-align:top; overflow-wrap:break-word; }
.vb-prose thead th { background:#eee7f7; color:#392442; font-weight:600; }
.vb-prose th:first-child { width:24%; }
.vb-prose tbody th { background:#faf7fd; font-weight:600; }
@media(max-width:767px) { .vb-prose table { font-size:13px; line-height:1.5; } .vb-prose th,.vb-prose td { padding:10px 7px; } }
.vb-note { background:#f4effb; border-left:3px solid #8e51df; padding:20px 24px; border-radius:0 8px 8px 0; font-size:15px; line-height:1.65; margin-bottom:32px; }
.vb-note p { margin:8px 0 0; }
.vb-aside { position:sticky; top:130px; min-width:0; }
.vb-toc { border-bottom:1px solid var(--vb-line); padding-bottom:24px; margin-bottom:28px; }
.vb-toc ul { list-style:none; margin:0; padding:0; }
.vb-toc li { padding:8px 0; font-size:14px; line-height:1.5; }
.vb-toc a { color:#4d405a; }
.vb-aside-card { border:1px solid var(--vb-line); border-radius:10px; padding:24px; background:#fcfafc; }
.vb-aside-card h2 { font-size:25px; line-height:1.2; }
.vb-aside-card p { font-size:15px; }
.vb-aside-link { display:block; font-size:14px; margin-top:20px; }
.vb-context { border:1px solid #d6c3eb; background:#faf7ff; border-radius:10px; padding:28px; margin-top:40px; font-size:17px; }
.vb-prose .vb-context h2 { font-size:28px; margin-top:0; }
.vb-context p:last-child { margin-bottom:0; }
.vb-related { background:#f6f3f8; }
.vb-back { display:inline-block; margin-top:32px; font-weight:600; }
.vb-calculator { width:100%; height:2200px; border:0; display:block; background:white; }
#calculadora { scroll-margin-top:120px; }
.vb-frame-help { font-size:14px; margin-top:24px!important; }
@media(max-width:1024px) { .vb-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .vb-hero-grid { gap:30px; } .vb-article-layout { grid-template-columns:minmax(0,1fr) 250px; gap:32px; } }
@media(max-width:767px) { .vultus-blog { padding-top:0; } .vb-wrap { padding-inline:20px; } .vb-hero { padding:24px 0 40px; } .vb-breadcrumb { padding-bottom:22px; } .vultus-blog .vb-lead { font-size:18px; } .vb-hero-grid,.vb-grid,.vb-grid-featured,.vb-article-layout { grid-template-columns:minmax(0,1fr); } .vb-hero-grid { gap:28px; } .vb-cover { max-width:550px; } .vb-section { padding-block:40px; } .vb-topics { gap:8px; } .vb-topics a { padding:8px 12px; font-size:12px; } .vb-card-copy { padding:22px; } .vb-card h3 { font-size:25px; } .vb-article-layout { padding-block:36px; gap:36px; } .vb-prose { font-size:17px; } .vb-prose h2 { font-size:27px; } .vb-aside { position:static; } .vb-band-inner { flex-direction:column; align-items:start; padding-block:40px; gap:24px; } .vb-band .vb-actions { max-width:100%; } .vb-calculator { height:2600px; } .vb-note,.vb-context { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .vb-card img { transition:none; } }
