/* Center complete content groups; keep controls and their labels usable. */
:root{--wr-group-gap:16px;--wr-reading-width:64ch}
body main :is(h1,h2,h3,h4,p,figcaption,blockquote){text-align:center!important;margin-inline:auto!important}
body main section{text-align:center}
body main :is(h1,h2){max-width:24ch}
body main :is(p,blockquote){max-width:var(--wr-reading-width)}
body main :is(article,aside,figure,[class$='-copy'],[class$='-intro'],[class$='-note'],[class$='-head']){text-align:center}
body main :is([class$='-grid'],[class$='-cards'],[class$='-steps'])>:is(div,article,a){text-align:center}
body main :is([class$='-actions'],.wr-home-actions,.contact-actions,.sv-industry-links,.wr-quick-facts,.clarity-list){justify-content:center;align-items:center;gap:12px 18px;flex-wrap:wrap}
body main :is(.button,[class$='-button'],.text-link,[class$='-link']){justify-content:center;gap:10px}
body main :is(ul,ol){margin-inline:auto;max-width:64ch;text-align:center;list-style-position:inside;padding-inline:0}
body main li{ text-align:center }
body main li::marker{font-weight:700}
/* Center custom checkmarks with their copy instead of leaving them at the edge. */
body main li:before{position:static;display:inline-block;margin-inline-end:8px;transform:none}
body main :is([class$='-copy'],.wr-local-note) li{padding-inline:8px}
body main :is([class$='-paths-grid'],.sv-paths-grid) a{margin-inline:auto}
body main :is(img,svg){max-width:100%}
body main :is(figure,[class$='-photo'],[class$='-visual']){margin-inline:auto}
/* Hero copy and imagery each retain their own centered column. */
body .hero{text-align:center}
body .hero .wr-home-copy :is(h1,.hero-copy,.wr-home-price){margin-inline:auto}
body .wr-work-feature{width:100%;max-width:580px}
body .wr-work-feature figcaption{flex-direction:column;justify-content:center;gap:8px}
body main .growth-stage{align-items:center;text-align:center}
body main .growth-stage>:is(b,span,small,a){margin-inline:auto;text-align:center}
body main .growth-stage{min-height:0}
body main .growth-stage>b{margin-bottom:10px}
body main .growth-stage p{margin-bottom:14px}
body main .growth-stage>strong{margin-top:10px}
body main .growth-path-note{flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}
body main .growth-path-note p{margin:0!important}
body .sv-hero-copy{padding-bottom:40px}
body .sv-index a{justify-content:center;gap:10px;padding-inline:12px}
body .sv-index a span:last-child{margin-left:0}
body .sv-media-note{left:50%;transform:translateX(-50%);text-align:center;width:max-content;max-width:calc(100% - 32px)}
/* A numeral and its explanation form a single compact vertical step. */
body main :is([class$='-steps'],[class$='-process-list'],.sv-process ol,.wk-provides ul)>:is(li,article,div){text-align:center}
body main :is([class$='-steps'],[class$='-process-list'],.sv-process ol)>li{display:flex;flex-direction:column;align-items:center;gap:8px}
body main :is([class$='-steps'],[class$='-process-grid'],.steps)>:is(article,div)>:is(b,span:first-child){margin-inline:auto}
body main :is([class$='-steps'],[class$='-process-grid'],.steps)>:is(article,div)>b{margin-bottom:10px}
body main :is(.wk-entry,.wk-provides li){grid-template-columns:1fr;gap:10px;justify-items:center}
body main .wk-entry-number{margin-bottom:0}
body main .wr-numbered-group{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start;gap:10px!important;padding-inline:24px;text-align:center}
body main .wr-numbered-group>.wr-step-number{position:static!important;inset:auto!important;float:none!important;transform:none!important;align-self:center;flex:none;margin:0 auto!important;max-width:fit-content;min-width:32px}
body main .wr-numbered-group>.wr-step-number+*{margin-top:0!important;width:100%;text-align:center}
body main .wk-final-grid{flex-direction:column;align-items:center;gap:22px}
body main .wk-section-head{align-items:center}
/* Prices stay next to their units and names, never at opposite edges. */
body main .sv-price-grid>div>div{justify-content:center;flex-wrap:wrap;gap:6px 14px;text-align:center}
body .pr-page .pr-choice>span{flex-direction:column;align-items:center!important;padding:50px 22px 22px!important;gap:12px!important;text-align:center}
body .pr-page .pr-choice input{left:50%!important;top:17px!important;transform:translateX(-50%)}
body .pr-page .pr-choice>span>span{flex:none;width:100%;max-width:48ch}
body .pr-page .pr-choice :is(strong,small){text-align:center}
body .pr-page .pr-choice>span>b{margin:0!important;white-space:normal}
body .pr-page .pr-choice-group legend{width:100%;text-align:center}
body .pr-page .pr-total .pr-total-line{justify-content:center;align-items:center;flex-direction:column;gap:6px;text-align:center}
body .pr-page .pr-total .pr-total-line strong{white-space:normal}
body main :is([class$='-price'],[class$='-cost']){text-align:center}
body main :is([class$='-price'],[class$='-cost'])>strong{margin-inline:auto}
body main [class$='-plan-list'] article{grid-template-columns:1fr;gap:12px;justify-items:center}
body main [class$='-plan-side']{text-align:center;justify-items:center}
body main :is(th,td){text-align:center}
body main .bg-hero:after{background:linear-gradient(90deg,#091e3aec,#091e3ad9 50%,#091e3abf)}
body main .bg-hero .bg-kicker{color:#dbc4ff}
/* FAQ questions and their disclosure symbol stay together. */
body main details summary{display:flex!important;align-items:center;justify-content:center!important;text-align:center!important;gap:12px;list-style:none}
body main details summary::-webkit-details-marker{display:none}
body main details summary:after{position:static!important;flex:none;margin:0!important;transform:none}
body main :is([class$='-related'],[class$='-service-grid']) a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}
body main details:not([open]) summary:after{content:'+'}
body main details[open] summary:after{content:'−'}
body main details p{margin-inline:auto}
/* Center the form, headings and CTA; fields retain familiar reading alignment. */
body main :is(.ch-form-card,.ch-aside) h2{text-align:center}
body main .ch-form-card form{max-width:680px;margin-inline:auto}
body main :is(form label,input,textarea,select){text-align:left}
body main .ch-form-card form button{justify-self:center;width:100%;max-width:360px}
body main .sw-pricing-summary{text-align:center;border-left-width:0;border-top:4px solid var(--wr-purple,#5900d9)}
body main .ch-service-grid a{text-align:center;align-items:center}
body main :is(.ch-contact-link,.ch-aside-note){text-align:center}
/* Header and footer are compact centered clusters, not stretched apart. */
body .nav-wrap{justify-content:center;gap:24px}
body header[data-site-header]{justify-content:center;gap:24px}
body header[data-site-header] .brand{margin-right:0}
body header[data-site-header]>nav{margin-left:0;justify-content:center}
body .header nav{justify-content:center}
body .footer-inner{flex-direction:column;justify-content:center;gap:18px;text-align:center}
body .footer-inner nav{justify-content:center;flex-wrap:wrap;gap:12px 20px}
body .footer-inner small{max-width:45ch;text-align:center}
body .esf-footer-grid{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
body .esf-footer-grid>div,body .esf-footer-grid nav{text-align:center}
body .esf-footer-grid nav>div{justify-content:center;flex-wrap:wrap;gap:12px 18px}
body .esf-footer-grid img{display:block;margin-inline:auto}
body .esf-footer-bottom{justify-content:center;flex-wrap:wrap;gap:12px 24px;text-align:center}
body main figure :is(a,strong,small){text-align:center}
body main figcaption :is(strong,span){text-align:center!important}
body.studio-site .caem-main p.caem-language-total{text-align:center!important}
body.studio-site .caem-main figcaption,body.studio-site .caem-main figcaption :is(strong,span){text-align:center!important}
body.studio-site .caem-main .caem-scope-details>ul{margin-inline:auto!important;max-width:64ch}
/* Legacy studio templates use important layout rules; match their scope explicitly. */
body.studio-site main [class].wr-numbered-group{display:flex!important;flex-direction:column!important;align-items:center!important;gap:10px!important;text-align:center!important}
body.studio-site main [class].wr-numbered-group>.wr-step-number{position:static!important;margin:0 auto!important;transform:none!important;align-self:center!important}
body.studio-site header.nav.subnav{justify-content:center!important;gap:24px!important}
body.studio-site header.nav.subnav>.brand{margin-right:0!important}
body.studio-site header.nav.subnav>nav{margin-left:0!important}
body.studio-site footer.esf-footer .esf-footer-grid{display:flex!important;flex-direction:column!important;align-items:center!important;gap:24px!important;text-align:center!important}
body.studio-site footer.esf-footer .esf-footer-grid :is(div,nav,p){text-align:center!important}
body.studio-site footer.esf-footer .esf-footer-grid nav>div{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:12px 18px!important}
body.studio-site footer.esf-footer .esf-footer-bottom{justify-content:center!important;gap:12px 24px!important;text-align:center!important}
body .wr-utilities{display:flex;justify-content:center;align-items:center;text-align:center}
/* Dense tool panels and sample interfaces retain their internal functional layout. */
body :is(.wr-panel,.pr-dialog,.pp-preview) :is(p,label,input,textarea,select){text-align:left}
@media(max-width:1000px){body .nav-wrap{gap:16px}body .header nav{gap:12px}}
@media(max-width:800px){body .nav-wrap{justify-content:center;gap:24px}body .header nav{align-items:center}body main :is(h1,h2){max-width:24ch}body .sv-hero-copy{padding-bottom:0}body main :is([class$='-actions'],.contact-actions){gap:12px}body main .wr-home-actions{justify-content:center}}
@media(max-width:480px){body main :is(p,blockquote){max-width:100%}body .pr-page .pr-choice>span{padding-inline:20px!important}body .pr-page .pr-total .pr-total-line{gap:5px}body main .sv-price-grid>div>div{flex-direction:column;align-items:center}body .nav-wrap{gap:18px}}

