<style>
/* Mini utility framework since Bootstrap is missing */
.py-5 { padding-top: 3rem; padding-bottom: 3rem; }
.pt-5 { padding-top: 3rem; }
.pb-3 { padding-bottom: 1rem; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 3rem; }
.me-2 { margin-right: 0.5rem; }
.me-3 { margin-right: 1rem; }
.ms-auto { margin-left: auto; }
.p-3 { padding: 1rem; }
.p-4 { padding: 1.5rem; }
.px-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
.text-center { text-align: center; }
.text-end { text-align: right; }
.fw-bold { font-weight: bold; }
.text-muted { color: #6c757d; }
.text-primary { color: #1a56db; }
.text-light { color: #f8f9fa; }
.bg-white { background-color: #fff; }
.bg-light { background-color: #f8f9fa; }
.bg-primary { background-color: #1a56db; }
.small { font-size: 0.875em; }
.fs-5 { font-size: 1.25rem; }
.d-block { display: block; }
.d-flex { display: flex; }
.justify-content-between { justify-content: space-between; }
.align-items-center { align-items: center; }
.align-items-end { align-items: flex-end; }
.w-100 { width: 100%; }
.rounded { border-radius: 0.25rem; }
.rounded-3 { border-radius: 0.3rem; }
.rounded-4 { border-radius: 0.5rem; }
.rounded-pill { border-radius: 50rem; }
.rounded-circle { border-radius: 50%; }
.shadow { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); }
.shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075); }
.border-0 { border: 0; }
.btn { display: inline-block; padding: .375rem .75rem; font-size: 1rem; text-align: center; text-decoration: none; cursor: pointer; border: 1px solid transparent; }
.btn-primary { color: #fff; background-color: #1a56db; border-color: #1a56db; }
.btn-primary:hover { background-color: #154cbf; }
.btn-outline-light { color: #f8f9fa; border-color: #f8f9fa; background: transparent;}
.btn-outline-light:hover { color: #000; background-color: #f8f9fa; }
.btn-outline-dark { color: #212529; border-color: #212529; background: transparent;}
.btn-outline-dark:hover { color: #fff; background-color: #212529; }
.btn-lg { padding: .5rem 1rem; font-size: 1.25rem; }
.img-fluid { max-width: 100%; height: auto; }
.list-unstyled { padding-left: 0; list-style: none; }
.form-control { display: block; width: 100%; padding: .375rem .75rem; font-size: 1rem; line-height: 1.5; color: #495057; background-color: #fff; border: 1px solid #ced4da; border-radius: .25rem; box-sizing: border-box;}

/* Flex Grid System */
.container { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; max-width: 1140px; }
.row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
.row > * { padding-right: 15px; padding-left: 15px; box-sizing: border-box; }
.row.g-3 { margin-right: -1rem; margin-left: -1rem; }
.row.g-3 > * { padding-right: 1rem; padding-left: 1rem; padding-bottom: 2rem;}
.row.g-4 { margin-right: -1.5rem; margin-left: -1.5rem; }
.row.g-4 > * { padding-right: 1.5rem; padding-left: 1.5rem; padding-bottom: 3rem;}
.col-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }
.col-md-3 { flex: 0 0 25%; max-width: 25%; }
.col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-md-6 { flex: 0 0 50%; max-width: 50%; }
.col-lg-3 { flex: 0 0 25%; max-width: 25%; }
.col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-lg-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
.col-lg-6 { flex: 0 0 50%; max-width: 50%; }
.col-lg-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
.col-lg-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
</style>
