/* ==========================================================================
   Cloudstore Central — Utility classes
   ========================================================================== */

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-balance { text-wrap: balance; }
.text-pretty { text-wrap: pretty; }

.measure { max-width: 60ch; }
.measure-wide { max-width: 72ch; }
.mx-auto { margin-inline: auto; }

.mt-0 { margin-top: 0; }
.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mt-lg { margin-top: var(--space-lg); }
.mt-xl { margin-top: var(--space-xl); }
.mb-0 { margin-bottom: 0; }

.flow > * + * { margin-top: var(--space-sm); }

.flex { display: flex; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.gap-sm { gap: var(--space-sm); }
.gap-md { gap: var(--space-md); }
.gap-lg { gap: var(--space-lg); }

.full-height { min-height: 100%; }

.hide { display: none; }
@media (min-width: 60rem) { .hide-desktop { display: none; } }
@media (max-width: 59.99rem) { .hide-mobile { display: none; } }

.no-bullets { list-style: none; padding: 0; }

.divider { border-top: var(--border-hairline); }

.accent-bar {
  width: 3rem;
  height: 3px;
  background: linear-gradient(90deg, var(--colour-cyan), var(--colour-teal));
  border-radius: var(--radius-pill);
}

.bleed-top { margin-top: calc(var(--space-xl) * -1); }

/* Arbitrary-value utilities (authored via the visual editor). This static site
   has no Tailwind processor, so these classes are defined explicitly here. */
.pt-\[40px\] { padding-top: 40px; }
.pb-\[40px\] { padding-bottom: 40px; }
.bg-\[color\:var\(--text-on-inverse\)\] { background-color: var(--text-on-inverse); }
.pt-\[0px\] { padding-top: 0px; }
.pb-\[15px\] { padding-bottom: 15px; }
.mt-\[40px\] { margin-top: 40px; }
.mb-\[40px\] { margin-bottom: 40px; }
.pl-\[20px\] { padding-left: 20px; }
.pr-\[20px\] { padding-right: 20px; }
.pb-\[10px\] { padding-bottom: 10px; }
.pt-\[80px\] { padding-top: 80px; }
.pb-\[80px\] { padding-bottom: 80px; }
.pl-\[50px\] { padding-left: 50px; }
.pr-\[50px\] { padding-right: 50px; }
.pt-\[50px\] { padding-top: 50px; }
.pb-\[50px\] { padding-bottom: 50px; }
.pt-\[30px\] { padding-top: 30px; }
.pl-\[100px\] { padding-left: 100px; }
.pr-\[100px\] { padding-right: 100px; }
.pl-\[250px\] { padding-left: 250px; }
.pr-\[250px\] { padding-right: 250px; }
.pl-\[280px\] { padding-left: 280px; }
.pr-\[280px\] { padding-right: 280px; }
