/*! bootstrap-lite — only classes used in lols-landing */
*,*::before,*::after{box-sizing:border-box}

/* ── Container ── */
.container{width:100%;padding-right:12px;padding-left:12px;margin-right:auto;margin-left:auto}
@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}}

/* ── Row / Columns ── */
.row{display:flex;flex-wrap:wrap;margin-right:-12px;margin-left:-12px}
.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:12px;padding-left:12px}
.col-6{flex:0 0 auto;width:50%}
.col-12{flex:0 0 auto;width:100%}
@media(min-width:576px){.col-sm-6{flex:0 0 auto;width:50%}}
@media(min-width:768px){.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-6{flex:0 0 auto;width:50%}}
@media(min-width:992px){.col-lg-3{flex:0 0 auto;width:25%}.col-lg-6{flex:0 0 auto;width:50%}}

/* Row gaps */
.g-3{--bs-gutter-x:1rem;--bs-gutter-y:1rem}
.g-4{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem}
.g-3,.g-4{margin-right:calc(var(--bs-gutter-x)*-.5);margin-left:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}
.g-3>*,.g-4>*{padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}

/* ── Display ── */
.d-flex{display:flex!important}
.d-none{display:none!important}
.d-block{display:block!important}
@media(min-width:576px){.d-sm-inline{display:inline!important}}
@media(min-width:768px){.d-md-flex{display:flex!important}}

/* ── Flex ── */
.flex-column{flex-direction:column!important}
@media(min-width:576px){.flex-sm-row{flex-direction:row!important}}
@media(min-width:768px){.flex-md-row{flex-direction:row!important}}
.align-items-center{align-items:center!important}
.align-items-start{align-items:flex-start!important}
.justify-content-between{justify-content:space-between!important}
.justify-content-center{justify-content:center!important}
.flex-shrink-0{flex-shrink:0!important}

/* ── Gap ── */
.gap-2{gap:.5rem!important}
.gap-3{gap:1rem!important}
.gap-4{gap:1.5rem!important}

/* ── Spacing ── */
.mb-0{margin-bottom:0!important}
.mb-1{margin-bottom:.25rem!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.mb-5{margin-bottom:3rem!important}
.mt-1{margin-top:.25rem!important}
.mt-2{margin-top:.5rem!important}
.mt-4{margin-top:1.5rem!important}
.ms-1{margin-inline-start:.25rem!important}
.mx-auto{margin-right:auto!important;margin-left:auto!important}
.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}
.py-5{padding-top:3rem!important;padding-bottom:3rem!important}
.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}

/* ── Typography ── */
.fw-bold{font-weight:700!important}
.fw-semibold{font-weight:600!important}
.fw-medium{font-weight:500!important}
.fs-5{font-size:1.25rem!important}
.fs-6{font-size:1rem!important}
.text-center{text-align:center!important}
.text-start{text-align:start!important}
.text-dark{color:#212529!important}
.text-decoration-none{text-decoration:none!important}
.small,small{font-size:.875em}

/* ── Sizing ── */
.h-100{height:100%!important}

/* ── Position ── */
.sticky-top{position:sticky;top:0;z-index:1020}

/* ── Buttons ── */
.btn{display:inline-block;font-weight:400;line-height:1.5;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s}
.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}
.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}
.btn-primary{color:#fff;background-color:var(--primary,#0d6efd);border-color:var(--primary,#0d6efd)}
.btn-primary:hover{color:#fff;background-color:var(--primary-hover,#0b5ed7);border-color:var(--primary-hover,#0b5ed7)}
.btn-outline-secondary{color:#6c757d;border-color:#6c757d;background-color:transparent}
.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}

/* ── Accordion ── */
.accordion{--bs-accordion-border-color:#dee2e6;--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}
.accordion-item{border:1px solid var(--bs-accordion-border-color);background-color:#fff}
.accordion-item:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}
.accordion-item:last-of-type{border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem}
.accordion-item:not(:first-of-type){border-top:0}
.accordion-header{margin-bottom:0}
.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;overflow-anchor:none;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s,border-radius .15s}
.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s}
.accordion-button:not(.collapsed)::after{transform:rotate(-180deg)}
.accordion-button:focus{outline:0;box-shadow:none}
.accordion-collapse{overflow:hidden;transition:height .35s ease}
.accordion-body{padding:1rem 1.25rem}
.collapse:not(.show){display:none}
