/* Blocks the post editor can insert into article bodies. */
.cms-cta{background:linear-gradient(120deg,var(--bv-primary),var(--bv-primary-dark));color:#fff}

.cms-faq{margin:2rem 0}
.cms-faq h2{font-size:1.35rem;font-weight:800;color:var(--bv-primary);margin:0 0 1rem}
.cms-faq-list{border-top:1px solid var(--bv-line)}
.cms-faq details{border-bottom:1px solid var(--bv-line);padding:.8rem 0}
.cms-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;font-size:.92rem;font-weight:750;color:var(--bv-primary)}
.cms-faq summary::-webkit-details-marker{display:none}
.cms-faq summary i{color:var(--bv-primary);transition:transform .2s}
.cms-faq details[open] summary i{transform:rotate(45deg)}
.cms-faq details>div{font-size:.86rem;line-height:1.6;color:var(--bv-muted);margin-top:.6rem}
.cms-faq details a{color:var(--bv-primary);font-weight:700;text-decoration:none}
.cms-faq details a:hover{text-decoration:underline}

.cms-consult{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr);margin:1.5rem 0;border-radius:var(--bv-radius);overflow:hidden;background:#fdf3f4}
.cms-consult-visual{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;padding:1.05rem;background:linear-gradient(135deg,var(--bv-primary),var(--bv-primary-dark));color:#fff;border-radius:0 34% 34% 0/0 52% 52% 0}
.cms-consult-visual:after{content:"";position:absolute;inset:0;opacity:.1;pointer-events:none;background:#fff;-webkit-mask:url('/assets/images/header/mega-bg.svg') center/150% no-repeat;mask:url('/assets/images/header/mega-bg.svg') center/150% no-repeat}
.cms-consult-visual>*{position:relative;z-index:1}
.cms-consult-portraits{display:flex;align-items:center;justify-content:center}
.cms-consult-portraits img{position:relative;flex:none;width:50px;height:50px;border-radius:50%;border:3px solid rgba(255,255,255,.9);object-fit:cover;object-position:top}
.cms-consult-portraits img+img{margin-left:-11px}
/* The middle advisor leads the group, so it sits larger and above the others. */
.cms-consult-portraits img:nth-child(2){width:66px;height:66px;z-index:1}
.cms-consult-visual p{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.78rem;font-weight:700}
.cms-consult-visual p i{font-size:1.15rem}

.cms-consult-body{padding:1.15rem 1.3rem}
.cms-consult-body h2{font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:800;color:var(--bv-primary);margin:0 0 .25rem}
.cms-consult-lead{font-size:.78rem;color:#5f6a64;margin:0 0 .7rem}
.cms-consult form{display:flex;flex-wrap:wrap;gap:.6rem}
.cms-consult-field{position:relative;flex:1 1 130px;min-width:0}
.cms-consult-field i{position:absolute;top:50%;left:.7rem;translate:0 -50%;color:#b6bcb8}
.cms-consult-field input{width:100%;min-height:40px;padding:.5rem .6rem .5rem 1.95rem;border:1px solid #f0d5d7;border-radius:var(--bv-radius);background:#fff;font-size:.82rem}
.cms-consult-field input:focus{outline:0;border-color:var(--bv-primary);box-shadow:0 0 0 .18rem rgba(0,51,160,.12)}
.cms-consult form .btn-brand{flex:0 0 auto;min-height:40px;padding:.5rem .95rem;border-radius:var(--bv-radius);font-size:.82rem;font-weight:800}
.cms-consult-note{display:flex;align-items:center;gap:.4rem;margin:.55rem 0 0;font-size:.73rem;color:#8a938d}

@media(max-width:767.98px){
    .cms-consult{grid-template-columns:1fr}
    .cms-consult-visual{flex-direction:row;align-items:center;justify-content:flex-start;gap:.9rem;padding:1rem;border-radius:0}
    .cms-consult-portraits img{width:46px;height:46px}
    .cms-consult-portraits img:nth-child(2){width:60px;height:60px}
    .cms-consult-body{padding:1.1rem}
    .cms-consult form .btn-brand{flex:1 1 100%}
}

/* Article headings. The h2 number comes from a CSS counter, so the editor never
   types one and renumbering happens by itself when a section is added or moved.
   Scoped to direct children so block headings (FAQ, banner) stay unnumbered. */
.cms-content {
   font-size: 1.075rem;
   line-height: 1.75
}

.cms-content h2,
.cms-content h3,
.cms-content h4 {
   margin-top: 2rem
}

.cms-content img {
   max-width: 100%
}

.cms-content pre {
   background: #111827;
   color: #e5e7eb;
   padding: 1.25rem;
   border-radius: var(--bv-radius);
   overflow: auto
}
.cms-content{counter-reset:cms-section}
.cms-content>h2{counter-increment:cms-section;display:flex;align-items:center;gap:.75rem;margin:2.4rem 0 1rem;color:var(--bv-primary);font-size:1.35rem;font-weight:800;letter-spacing:-.02em;line-height:1.35}
.cms-content>h2:before{content:counter(cms-section);flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:var(--bv-radius);background:var(--bv-primary);color:#fff;font-size:1rem;font-weight:800}
.cms-content>h3{margin:1.8rem 0 .7rem;color:var(--bv-ink);font-size:1.02rem;font-weight:800;line-height:1.45}
.cms-content>h4{margin:1.5rem 0 .6rem;color:var(--bv-ink);font-size:.96rem;font-weight:700}
.cms-content>p{margin:0 0 1rem}
