/* CMS helpers — loaded after the site theme. Zero-impact unless a class is used. */
:where(.hx-h1){display:block;font-size:2em;font-weight:700;margin:.67em 0}
:where(.hx-h2){display:block;font-size:1.5em;font-weight:700;margin:.83em 0}
:where(.hx-h3){display:block;font-size:1.17em;font-weight:700;margin:1em 0}
:where(.hx-h4){display:block;font-weight:700;margin:1.33em 0}
:where(.hx-h5){display:block;font-size:.83em;font-weight:700}
:where(.hx-h6){display:block;font-size:.67em;font-weight:700}
/* Advanced box */
.sp-tight{padding-top:clamp(24px,4vw,44px)!important;padding-bottom:clamp(24px,4vw,44px)!important}
.sp-loose{padding-top:clamp(90px,11vw,140px)!important;padding-bottom:clamp(90px,11vw,140px)!important}
.sp-notop{padding-top:0!important}.sp-nobottom{padding-bottom:0!important}.sp-none{padding-top:0!important;padding-bottom:0!important}
.bg-white{background:#fff!important}.bg-soft{background:var(--surface,#f6f6f6)!important}
.bg-dark{background:var(--foot-bg,#151412)!important;color:#e9e4da}.bg-dark :where(h1,h2,h3,h4){color:#fff}
@media (max-width:700px){.hide-mobile{display:none!important}}
/* Content block */
.cms-prose{padding:40px 0}
.cms-prose-article .cms-prose-h{text-align:center;position:relative;padding-bottom:14px;margin-bottom:26px}
.cms-prose-article .cms-prose-h::after{content:"";position:absolute;left:50%;bottom:0;width:56px;height:3px;margin-left:-28px;background:var(--accent);border-radius:2px}
.cms-prose-article .prose{max-width:820px;margin-inline:auto}
/* FAQ */
.cms-faq{padding:48px 0;max-width:900px}
.faq-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--accent);margin:0 0 8px;font-weight:600}
.faq-title{margin-bottom:10px}.faq-sub{color:var(--muted);margin:0 0 24px}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--surface,#fff);border:1px solid var(--line,#e5e5e5);border-radius:var(--r,10px);padding:0 22px}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0}
.faq-item summary::-webkit-details-marker{display:none}
.faq-q{margin:0;font-size:1.12rem;transition:color .2s}
.faq-item summary:hover .faq-q,.faq-item[open] .faq-q{color:var(--accent)}
.faq-ic{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid currentColor;position:relative;color:var(--accent)}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.faq-ic::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq-item[open] .faq-ic::after{transform:translate(-50%,-50%) rotate(0)}
.faq-a{padding:0 0 18px}.faq-a p:last-child{margin-bottom:0}
/* editor image alignment */
.prose .img-left{float:left;margin:.3em 1.4em 1em 0;max-width:45%}
.prose .img-right{float:right;margin:.3em 0 1em 1.4em;max-width:45%}
.prose .img-center{display:block;margin:1.2em auto}
.prose::after{content:"";display:table;clear:both}
/* page loader */
#cms-loader{position:fixed;inset:0;z-index:9999;background:var(--bg,#fff);transition:opacity .35s ease,visibility .35s}
#cms-loader::after{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border:3px solid var(--line,#ddd);border-top-color:var(--accent,#333);border-radius:50%;animation:cmsspin .8s linear infinite}
#cms-loader.done{opacity:0;visibility:hidden}
@keyframes cmsspin{to{transform:rotate(360deg)}}
/* Divi column content inside one text block */
.m-text figure{margin:0 0 16px}.m-text img{border-radius:var(--r,6px)}
.m-text>*+*{margin-top:0}
