/* Convicción Bootstrap fallback / self-contained layout layer.
   Keeps the landing premium even when the Bootstrap CDN is delayed or blocked. */
:root {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
}
*, *::before, *::after { box-sizing: border-box; }
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
}
@media (min-width: 576px) { .container { max-width: 540px; } }
@media (min-width: 768px) { .container { max-width: 720px; } }
@media (min-width: 992px) { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }
@media (min-width: 1400px) { .container { max-width: 1320px; } }
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}
.col-12 { flex: 0 0 auto; width: 100%; }
@media (min-width: 768px) {
  .col-md-6 { flex: 0 0 auto; width: 50%; }
}
@media (min-width: 992px) {
  .col-lg-4 { flex: 0 0 auto; width: 33.33333333%; }
  .col-lg-5 { flex: 0 0 auto; width: 41.66666667%; }
  .col-lg-7 { flex: 0 0 auto; width: 58.33333333%; }
  .col-lg-8 { flex: 0 0 auto; width: 66.66666667%; }
}
.g-3, .gx-3 { --bs-gutter-x: 1rem; }
.g-3, .gy-3 { --bs-gutter-y: 1rem; }
.g-4, .gx-4 { --bs-gutter-x: 1.5rem; }
.g-4, .gy-4 { --bs-gutter-y: 1.5rem; }
.g-5, .gx-5 { --bs-gutter-x: 3rem; }
.g-5, .gy-5 { --bs-gutter-y: 3rem; }
.d-flex { display: flex !important; }
.flex-column { flex-direction: column !important; }
.gap-3 { gap: 1rem !important; }
.align-items-center { align-items: center !important; }
.align-items-stretch { align-items: stretch !important; }
.justify-content-between { justify-content: space-between !important; }
.text-center { text-align: center !important; }
.position-relative { position: relative !important; }
.h-100 { height: 100% !important; }
.mx-auto { margin-right: auto !important; margin-left: auto !important; }
.ms-auto { margin-left: auto !important; }
.mt-2 { margin-top: .5rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
@media (min-width: 576px) { .flex-sm-row { flex-direction: row !important; } }
@media (min-width: 992px) {
  .align-items-lg-center { align-items: center !important; }
  .gap-lg-2 { gap: .5rem !important; }
  .ms-lg-2 { margin-left: .5rem !important; }
}
.fixed-top { position: fixed; top: 0; right: 0; left: 0; z-index: 1030; }
.navbar { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: .5rem 0; }
.navbar > .container { display: flex; flex-wrap: inherit; align-items: center; justify-content: space-between; }
.navbar-brand { padding-top: .3125rem; padding-bottom: .3125rem; margin-right: 1rem; white-space: nowrap; }
.navbar-collapse { flex-basis: 100%; flex-grow: 1; align-items: center; }
.collapse:not(.show) { display: none; }
.navbar-nav { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; }
.nav-link { display: block; text-decoration: none; }
.navbar-toggler { padding: .45rem .65rem; font-size: 1.15rem; line-height: 1; background-color: transparent; border-radius: .75rem; }
.navbar-toggler-icon { display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle; background-repeat: no-repeat; background-position: center; background-size: 100%; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%287, 23, 43, 0.82%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
@media (min-width: 992px) {
  .navbar-expand-lg { flex-wrap: nowrap; justify-content: flex-start; }
  .navbar-expand-lg .navbar-nav { flex-direction: row; }
  .navbar-expand-lg .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-lg .navbar-toggler { display: none; }
}
.btn { display: inline-block; text-align: center; vertical-align: middle; cursor: pointer; user-select: none; text-decoration: none; line-height: 1.5; }
.alert { position: relative; padding: 1rem 1.25rem; border-radius: 1rem; }
.alert-success { color: #0f5132; background-color: #d1e7dd; }
.alert-danger { color: #842029; background-color: #f8d7da; }
.form-label { margin-bottom: .5rem; display: inline-block; }
.form-control, .form-select { display: block; width: 100%; font: inherit; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
