/* v5.8 review: restore the approved editorial geometry without changing product copy. */
.v58-preview > section:last-child { margin-bottom:0; }
.v58-preview + .site-footer, body:has(.v58-preview) .site-footer { margin-top:0; }
.v58-preview :is(.v58-chart-layout,.v58-editorial-copy,.v58-editorial-image,.v58-sbt-feature,.v58-article-columns) { min-width:0; }

/* A heading is centred within the full container, never in an invisible half-column. */
.v58-preview .v58-centered-intro > .wrap > :is(.kicker,h2.sec,p.lead) {
  display:block; width:100%; max-width:100%; margin-left:auto; margin-right:auto; text-align:center;
}
.v58-preview .v58-centered-intro > .wrap > h2.sec { text-wrap:balance; }
.v58-preview .v58-two-by-two :is(.cards,.steps) { grid-template-columns:repeat(2,minmax(0,1fr)); }

/* The Alfa/Beta examples have one text column and one self-contained graphic column. */
.v58-preview.v3-page--corretoras #alfa > .wrap,
.v58-preview #beta > .wrap { display:block!important; }
.v58-preview .v58-chart-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,54px); align-items:start; }
.v58-preview .v58-chart-copy { min-width:0; }
.v58-preview .v58-chart-copy > :is(.kicker,h2.sec,p.lead),
.v58-preview .v58-chart-copy .chtxt,
.v58-preview .v58-chart-copy .dx { width:100%; max-width:100%; margin-left:0; margin-right:0; text-align:left; }
.v58-preview .v58-chart-copy > h2.sec { margin-top:10px; }
.v58-preview .v58-chart-copy > p.lead { margin:14px 0 20px; }
.v58-preview .v58-chart-copy .chtxt > p.body:first-child { margin-top:0; }
.v58-preview .v58-chart-copy .ctarow { justify-content:flex-start; margin-top:22px; }
.v58-preview .v58-chart-layout > .chart { grid-column:auto!important; grid-row:auto!important; width:100%; height:auto; margin:0; padding:clamp(18px,2.4vw,28px); }
.v58-preview .chart .ch-def { margin:16px 0 24px; }
.v58-preview .chart .ch-def dd { margin-left:0; }
.v58-preview .chart .v58-chart-def { margin:18px 0 24px; box-shadow:none; }
.v58-preview .chart .v58-chart-def summary { font-size:14px; }
.v58-preview .chart .v58-chart-def .dxb { font-size:14px; line-height:1.5; }
.v58-preview .chart .v58-chart-def .ch-def { margin:0; }
.v58-preview .chart .v58-chart-def .ch-def dt { margin-top:10px; font-weight:700; }
.v58-preview .chart .ch-row { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) auto; gap:10px; }
.v58-preview .chart .ch-row b { max-width:150px; white-space:normal; line-height:1.25; }
.v58-preview .chart .ch-brk span { max-width:min(100%,250px); white-space:normal; line-height:1.2; text-align:center; }
.v58-preview #alfa .chart .ch-brk { display:flex; justify-content:flex-end; height:auto; margin:8px 0 18px!important; border:0; }
.v58-preview #alfa .chart .ch-brk span { position:static; display:block; max-width:230px; padding:5px 9px; transform:none; background:var(--tint); border-radius:8px; font-size:12px; }
.v58-preview #alfa .chart .ch-leg { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.v58-preview #alfa .chart .ch-leg span { min-width:0; overflow-wrap:anywhere; font-size:12px; }
.v58-preview #alfa .chart .ch-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,auto); gap:7px 12px; align-items:start; }
.v58-preview #alfa .chart .ch-row .ch-l { grid-column:1; grid-row:1; }
.v58-preview #alfa .chart .ch-row b { grid-column:2; grid-row:1; max-width:190px; text-align:right; font-size:14px; }
.v58-preview #alfa .chart .ch-row .ch-bar { grid-column:1/-1; grid-row:2; width:100%; }

/* Image-and-copy sections. The image stays in its own column and fills its frame. */
.v58-preview .v58-editorial-split > .wrap { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,58px); align-items:center; }
.v58-preview .v58-editorial-copy > :is(.kicker,h2.sec,p.lead,p.body,.dx,.more) { max-width:100%; }
.v58-preview .v58-editorial-copy > .kicker,
.v58-preview .v58-editorial-copy > h2.sec { display:block; margin-left:0; margin-right:0; text-align:left; }
.v58-preview .v58-editorial-copy > .more { display:inline-flex; color:var(--teal-ink); text-decoration:underline; text-underline-offset:3px; font-weight:700; }
.v58-preview .v58-editorial-image { width:100%; min-height:340px; height:100%; max-height:660px; margin:0; overflow:hidden; border-radius:var(--r-lg); box-shadow:var(--shadow-md); }
.v58-preview .v58-editorial-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.v58-preview.v3-page--sobre .v58-editorial-split > .wrap { align-items:start; }
.v58-preview.v3-page--sobre .v58-editorial-image { height:430px; max-height:430px; align-self:start; }
.v58-preview.v3-page--corretoras .v58-editorial-split .dx { width:100%; }
.v58-preview.v3-page--corretoras .v58-two-by-two .card { min-width:0; }
.v58-preview.v3-page--corretoras .v58-two-by-two .cmedia { aspect-ratio:16/8; }

/* Autogestões: buttons follow the text, the diagram has equal visual weight, stats form two large centred cards. */
.v58-auto-preview .v58-preview .hero .ctas { justify-content:flex-start; margin-left:0; margin-right:0; }
.v58-auto-preview .v58-preview .hero .hgrid { grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr); align-items:stretch; }
.v58-auto-preview .v58-preview .hero .htext { align-self:center; }
.v58-auto-preview .v58-preview .hero .hmedia.hsvg:has(svg.modulos) { width:100%; height:100%; min-height:340px; aspect-ratio:auto; }
.v58-auto-preview .v58-preview .hero .stats { width:min(100%,850px); grid-template-columns:repeat(2,minmax(0,1fr)); margin:36px auto 0; }
.v58-auto-preview .v58-preview .hero .stats .stat { display:flex; flex-direction:column; justify-content:center; min-height:150px; text-align:center; }
.v58-auto-preview .v58-preview #contato .v57-contact-copy .fnota { display:none; }
.v58-auto-preview .v58-preview #contato .v57-contact-grid { align-items:start; }
.v58-auto-preview .v58-preview #contato .v57-contact-copy { align-self:start; }
.v58-auto-preview .v58-preview #contato h2.sec { margin-top:8px; }
.v58-auto-preview .v58-preview #contato .v57-contact-form { align-self:start; }
.v58-auto-preview .v58-preview #contato .v57-contact-form .passos { font-size:12px; }
.v58-auto-preview .v58-preview .v58-auto-followup { background:#fff; }
.v58-auto-preview .v58-preview .v58-auto-followup .wrap { display:grid; gap:30px; }
.v58-auto-preview .v58-preview .v58-followup-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,54px); align-items:center; padding:20px; border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; box-shadow:var(--shadow-sm); }
.v58-auto-preview .v58-preview .v58-followup-row > * { min-width:0; }
.v58-auto-preview .v58-preview .v58-followup-row figure { margin:0; aspect-ratio:16/10; border-radius:var(--r-md); overflow:hidden; }
.v58-auto-preview .v58-preview .v58-followup-row img { display:block; width:100%; height:100%; object-fit:cover; }
.v58-auto-preview .v58-preview .v58-followup-row h2.sec { max-width:100%; }
.v58-auto-preview .v58-preview .v58-followup-row .passos { padding-left:22px; font-size:16px; }
.v58-auto-preview .v58-preview .v58-followup-row .passos li { margin-top:10px; }

/* Passaporte reads like a short article: a broad cover followed by two readable columns. */
.v58-preview .v58-passport-intro > .wrap > :is(.kicker,h2.sec) { display:block; max-width:100%; text-align:center; margin-left:auto; margin-right:auto; }
.v58-preview .v58-passport-cover { width:100%; height:clamp(290px,36vw,470px); margin:28px 0 34px; overflow:hidden; border-radius:var(--r-lg); }
.v58-preview .v58-passport-cover img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.v58-preview .v58-article-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(26px,5vw,70px); align-items:start; }
.v58-preview .v58-article-columns p.body { max-width:100%; margin:0 0 20px; line-height:1.72; }
.v58-preview .v58-sbt-section > .wrap > :is(.kicker,h2.sec,p.lead) { display:block; max-width:100%; text-align:center; margin-left:auto; margin-right:auto; }
.v58-preview .v58-sbt-feature { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); gap:clamp(22px,3vw,42px); align-items:center; padding:clamp(20px,2.5vw,34px); border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; box-shadow:var(--shadow-sm); }
.v58-preview .v58-sbt-feature .video.yt { position:relative; display:block; width:100%; max-width:none; height:auto; aspect-ratio:16/9; padding-top:0; margin:0; border-radius:14px; overflow:hidden; background:var(--ink); cursor:pointer; }
.v58-preview .v58-sbt-feature .video.yt::after { display:none; }
.v58-preview .v58-sbt-feature .video.yt .poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.v58-preview .v58-sbt-feature .video.yt .veil { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,40,50,.55),transparent 75%); }
.v58-preview .v58-sbt-feature .video.yt .play { position:absolute; top:50%; left:50%; width:64px; height:48px; transform:translate(-50%,-50%); border:0; border-radius:12px; background:#e90035; cursor:pointer; }
.v58-preview .v58-sbt-feature .video.yt .play::after { content:''; position:absolute; left:27px; top:15px; border-style:solid; border-width:9px 0 9px 14px; border-color:transparent transparent transparent #fff; }
.v58-preview .v58-sbt-feature .video.yt .who { position:absolute; left:18px; right:18px; bottom:15px; color:#fff; line-height:1.3; }
.v58-preview .v58-sbt-feature .video.yt .who b { display:block; }
.v58-preview .v58-sbt-feature .video.yt iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.v58-preview .v58-sbt-copy { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.v58-preview .v58-sbt-copy :is(.tag,h3,p,.more) { margin:0; }
.v58-preview .v58-sbt-copy .tag { display:inline-flex; padding:6px 12px; border-radius:999px; background:var(--tint); color:var(--teal-ink); font-size:12px; font-weight:700; text-transform:uppercase; }
.v58-preview .v58-sbt-copy h3 { font-size:clamp(20px,2vw,26px); }
.v58-preview .v58-sbt-copy .more { margin-top:12px; color:var(--teal-ink); font-weight:700; }

/* Contact blocks are top-aligned as two explicit columns, not auto-placed grid items. */
.v58-preview .v58-contact-section > .wrap { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-rows:auto; gap:clamp(24px,4vw,58px); align-items:start; align-content:start; max-width:1160px; min-height:0; border:0; background:transparent; box-shadow:none; padding:0 var(--gutter); }
.v58-preview .v58-contact-section { height:auto; min-height:0; padding-block:clamp(54px,7vw,92px); }
.v58-preview .v58-contact-section .v58-contact-copy,
.v58-preview .v58-contact-section .v58-contact-form { min-width:0; align-self:start; }
.v58-preview .v58-contact-section .v58-contact-copy > :is(.kicker,h2.sec,p.lead) { display:block; max-width:100%; width:100%; margin-left:0; margin-right:0; text-align:left; }
.v58-preview .v58-contact-section .v58-contact-copy > .kicker { margin-top:0; }
.v58-preview .v58-contact-section .v58-contact-copy > h2.sec { margin:8px 0 14px; }
.v58-preview .v58-contact-section .v58-contact-copy > p.lead { margin:0; }
.v58-preview .v58-contact-section .v58-contact-form form.lead-form { width:100%; max-width:100%; margin:0; }
.v58-preview .v58-contact-section .v58-contact-form form.lead-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.v58-preview .v58-contact-section .v58-contact-form form.lead-form .fld:not(.full) { grid-column:auto; }
.v58-preview .v58-contact-section .v58-contact-form form.lead-form :is(.fld.full,.consent,.fobrig,.fok,button,small) { grid-column:1/-1; }
.v58-preview .v58-contact-questions { display:grid; gap:10px; margin-top:24px; }
.v58-preview .v58-contact-questions .dx { width:100%; max-width:100%; margin:0; background:rgba(255,255,255,.97); }
.v58-preview .v58-contact-questions .dx summary { font-size:15px; }
.v58-preview .v58-contact-questions .dx .dxb p.body { max-width:100%; margin:12px 0 0; color:var(--ink); font-size:15px; line-height:1.6; }
.v58-preview .v58-contact-questions .dx .dxb :is(p.body,p.lead) { color:var(--ink)!important; font-size:15px!important; line-height:1.6!important; font-weight:400; text-align:left; }
.v58-preview .v58-contact-questions .dx .dxb a { color:var(--teal-ink); text-decoration:underline; }
.v58-preview #contato form.lead-form { align-items:start; }

@media (max-width:900px) {
  .v58-preview .v58-chart-layout,
  .v58-preview .v58-editorial-split > .wrap,
  .v58-preview .v58-article-columns,
  .v58-preview .v58-sbt-feature,
  .v58-auto-preview .v58-preview .v58-followup-row,
  .v58-preview .v58-contact-section > .wrap { grid-template-columns:minmax(0,1fr); }
  .v58-preview .v58-contact-section .v58-contact-form { margin-top:20px; }
  .v58-preview .v58-editorial-image { min-height:300px; max-height:430px; }
}
@media (max-width:760px) {
  .v58-preview .v58-two-by-two :is(.cards,.steps),
  .v58-auto-preview .v58-preview .hero .stats { grid-template-columns:minmax(0,1fr); }
  .v58-preview .v58-chart-layout > .chart { overflow:hidden; }
  .v58-preview .chart .ch-row { grid-template-columns:minmax(0,1fr) auto; }
  .v58-preview .chart .ch-row .ch-bar { grid-column:1/-1; grid-row:2; }
  .v58-auto-preview .v58-preview .hero .hgrid { grid-template-columns:minmax(0,1fr); }
  .v58-auto-preview .v58-preview .hero .hmedia.hsvg:has(svg.modulos) { min-height:0; aspect-ratio:4/3; }
  .v58-auto-preview .v58-preview .v58-followup-row { padding:16px; }
  .v58-preview .v58-passport-cover { height:280px; }
  .v58-preview .v58-contact-section .v58-contact-form form.lead-form { grid-template-columns:minmax(0,1fr); }
  .v58-preview .v58-contact-section .v58-contact-form form.lead-form .fld:not(.full) { grid-column:1; }
}
