/* Local Tailwind bridge.
   It is intentionally prefixed with .tw-* and has no global reset/preflight,
   so it can coexist with the current Bootstrap design during migration. */
.tw-container { width: min(100% - 32px, 1180px); margin-inline: auto; }
.tw-grid { display: grid; }
.tw-flex { display: flex; }
.tw-hidden { display: none; }
.tw-items-center { align-items: center; }
.tw-justify-between { justify-content: space-between; }
.tw-gap-2 { gap: .5rem; }
.tw-gap-3 { gap: .75rem; }
.tw-gap-4 { gap: 1rem; }
.tw-gap-6 { gap: 1.5rem; }
.tw-rounded-2xl { border-radius: 1rem; }
.tw-rounded-3xl { border-radius: 1.5rem; }
.tw-bg-white { background: #fff; }
.tw-bg-blue { background: #3e74f2; }
.tw-text-blue { color: #3e74f2; }
.tw-text-white { color: #fff; }
.tw-shadow-soft { box-shadow: 0 18px 50px rgba(15, 23, 42, .10); }
.tw-border { border: 1px solid rgba(15, 23, 42, .10); }
.tw-p-4 { padding: 1rem; }
.tw-p-6 { padding: 1.5rem; }
.tw-px-4 { padding-left: 1rem; padding-right: 1rem; }
.tw-py-3 { padding-top: .75rem; padding-bottom: .75rem; }
.tw-font-bold { font-weight: 700; }
.tw-font-black { font-weight: 900; }
.tw-transition { transition: all .2s ease; }
@media (min-width: 768px) { .md\:tw-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .lg\:tw-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
