/* THE TWO-CONTAINER RULE — one wide shell, one prose measure, nothing else */
.wrap,.wrap--default{max-width:1160px!important;margin-left:auto;margin-right:auto}
.wrap--narrow{max-width:720px!important;margin-left:auto;margin-right:auto}
/* odd counts centre: 3-over-2, 4-over-3 — flex-wrap centres every remainder row */
 .cardrow,.pricing-grid,.tier-grid,.levels-grid,.trust-grid,.benefit-grid{display:flex!important;flex-wrap:wrap;justify-content:center;gap:18px}
.cardrow>*,.pricing-grid>*,.tier-grid>*,.levels-grid>*,.trust-grid>*{flex:0 1 320px;display:flex;flex-direction:column}
/* boxes: typing edge to edge — no inner measures inside cards */
body.centred [class*="card"] p,body.centred [class*="card"] li,body.centred [class*="tier"] p,body.centred [class*="tier"] li{max-width:none!important;margin-left:0;margin-right:0}
body.centred [class*="tier-card"],body.centred .compare-cell{padding-inline:18px}
/* band helpers */
.band-a{background:var(--color-bg,#F6EFE1)}
.band-b{background:var(--color-surface,#FBF6EC)}

/* page-scoped full centring (about, concierge, marketplace) */
body.centred main section{text-align:center}
body.centred main section ul{display:inline-block;text-align:left}
body.centred main section h2,body.centred main section h3,body.centred main section p{margin-inline:auto}

/* SYMMETRY LAW — row splits are count-aware, never a lone remainder.
   :has(> :last-child:nth-child(n)) targets a row by its exact child count. */
.cardrow>*,.pricing-grid>*,.tier-grid>*,.levels-grid>*,.trust-grid>*,.benefit-grid>*{flex-grow:0}
.cardrow:has(>:last-child:nth-child(2))>*, .pricing-grid:has(>:last-child:nth-child(2))>*, .tier-grid:has(>:last-child:nth-child(2))>*, .levels-grid:has(>:last-child:nth-child(2))>*, .trust-grid:has(>:last-child:nth-child(2))>*, .benefit-grid:has(>:last-child:nth-child(2))>*{flex-basis:46%}
.cardrow:has(>:last-child:nth-child(3))>*, .pricing-grid:has(>:last-child:nth-child(3))>*, .tier-grid:has(>:last-child:nth-child(3))>*, .levels-grid:has(>:last-child:nth-child(3))>*, .trust-grid:has(>:last-child:nth-child(3))>*, .benefit-grid:has(>:last-child:nth-child(3))>*{flex-basis:30%}
.cardrow:has(>:last-child:nth-child(4))>*, .pricing-grid:has(>:last-child:nth-child(4))>*, .tier-grid:has(>:last-child:nth-child(4))>*, .levels-grid:has(>:last-child:nth-child(4))>*, .trust-grid:has(>:last-child:nth-child(4))>*, .benefit-grid:has(>:last-child:nth-child(4))>*{flex-basis:46%} /* 4 = 2+2 */
.cardrow:has(>:last-child:nth-child(5))>*, .pricing-grid:has(>:last-child:nth-child(5))>*, .tier-grid:has(>:last-child:nth-child(5))>*, .levels-grid:has(>:last-child:nth-child(5))>*, .trust-grid:has(>:last-child:nth-child(5))>*, .benefit-grid:has(>:last-child:nth-child(5))>*{flex-basis:30%} /* 5 = 3+2 */
.cardrow:has(>:last-child:nth-child(6))>*, .pricing-grid:has(>:last-child:nth-child(6))>*, .tier-grid:has(>:last-child:nth-child(6))>*, .levels-grid:has(>:last-child:nth-child(6))>*, .trust-grid:has(>:last-child:nth-child(6))>*, .benefit-grid:has(>:last-child:nth-child(6))>*{flex-basis:30%} /* 6 = 3+3 */
.cardrow:has(>:last-child:nth-child(7))>*, .pricing-grid:has(>:last-child:nth-child(7))>*, .tier-grid:has(>:last-child:nth-child(7))>*, .levels-grid:has(>:last-child:nth-child(7))>*, .trust-grid:has(>:last-child:nth-child(7))>*, .benefit-grid:has(>:last-child:nth-child(7))>*{flex-basis:23%} /* 7 = 4+3 */
.cardrow:has(>:last-child:nth-child(8))>*, .pricing-grid:has(>:last-child:nth-child(8))>*, .tier-grid:has(>:last-child:nth-child(8))>*, .levels-grid:has(>:last-child:nth-child(8))>*, .trust-grid:has(>:last-child:nth-child(8))>*, .benefit-grid:has(>:last-child:nth-child(8))>*{flex-basis:23%} /* 8 = 4+4 */
.cardrow:has(>:last-child:nth-child(9))>*, .pricing-grid:has(>:last-child:nth-child(9))>*, .tier-grid:has(>:last-child:nth-child(9))>*, .levels-grid:has(>:last-child:nth-child(9))>*, .trust-grid:has(>:last-child:nth-child(9))>*, .benefit-grid:has(>:last-child:nth-child(9))>*{flex-basis:30%} /* 9 = 3+3+3 */
.cardrow:has(>:last-child:nth-child(10))>*, .pricing-grid:has(>:last-child:nth-child(10))>*, .tier-grid:has(>:last-child:nth-child(10))>*, .levels-grid:has(>:last-child:nth-child(10))>*, .trust-grid:has(>:last-child:nth-child(10))>*, .benefit-grid:has(>:last-child:nth-child(10))>*{flex-basis:18%} /* 10 = 5+5 */
@media (max-width:680px){.cardrow>*,.pricing-grid>*,.tier-grid>*,.levels-grid>*,.trust-grid>*{flex-basis:100%!important}} /* phones: one column, always symmetric */

body.centred [class*="card"],body.centred .supplier-card,body.centred .compare-cell.feature{text-align:left}
