:root {
    --kloq-ink: #18324b;
    --kloq-muted: #6f8191;
    --kloq-accent: #e8895b;
    --kloq-accent-dark: #d87348;
    --kloq-background: #f4f7f8;
    --kloq-border: #e3eaee;
}

body {
    background: var(--kloq-background);
    color: var(--kloq-ink);
    font-family: Cabin, system-ui, sans-serif;
}

body > .container-fluid,
body > .container,
body > main,
body > form {
    max-width: 1440px;
    padding-bottom: 4rem;
    padding-top: 2.5rem;
}

body > .container-fluid > .row:first-child h1,
body > .container > .row:first-child h1,
body > main > .row:first-child h1 {
    font-family: Lora, Georgia, serif;
    font-size: clamp(2rem, 4vw, 3.25rem);
}

body > .container-fluid > .row:first-child p,
body > .container > .row:first-child p,
.page-intro {
    color: var(--kloq-muted);
}

body > .container-fluid > .row > [class*="col-"] > form,
body > .container > .row > [class*="col-"] > form,
body > .container-fluid > .row > [class*="col-"] > .list-group,
body > .container > .row > [class*="col-"] > .list-group,
body > .container-fluid > .row > [class*="col-"] > .card,
body > .container > .row > [class*="col-"] > .card {
    background: #fff;
    border: 0;
    border-radius: .85rem;
    box-shadow: 0 .4rem 1.4rem rgba(24, 50, 75, .07);
}

.card,
.list-group,
.table-responsive,
.alert,
form {
    border-color: var(--kloq-border);
    border-radius: .75rem;
}

.card {
    box-shadow: 0 .35rem 1.2rem rgba(24, 50, 75, .06);
}

.card-header,
.card-footer {
    background: #fff;
    border-color: var(--kloq-border);
}

h1, h2, h3 {
    color: var(--kloq-ink);
}

.form-control,
.form-select {
    border-color: #d7e0e5;
    border-radius: .55rem;
    padding: .7rem .85rem;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--kloq-accent);
    box-shadow: 0 0 0 .2rem rgba(232, 137, 91, .18);
}

.btn {
    border-radius: .55rem;
    font-weight: 600;
}

.btn-primary,
.btn-info,
.btn-kloq {
    background-color: var(--kloq-accent);
    border-color: var(--kloq-accent);
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-info:hover,
.btn-info:focus,
.btn-kloq:hover,
.btn-kloq:focus {
    background-color: var(--kloq-accent-dark);
    border-color: var(--kloq-accent-dark);
    color: #fff;
}

.btn-outline-primary {
    border-color: var(--kloq-accent);
    color: var(--kloq-accent-dark);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--kloq-accent);
    border-color: var(--kloq-accent);
    color: #fff;
}

.list-group {
    overflow: hidden;
}

.list-group-item {
    border-color: var(--kloq-border);
    padding: 1rem 1.15rem;
}

.list-group-item a:not(.btn) {
    color: var(--kloq-ink);
    font-weight: 600;
    text-decoration: none;
}

.list-group-item a:not(.btn):hover {
    color: var(--kloq-accent-dark);
}

.table {
    --bs-table-striped-bg: #f8fafb;
    margin-bottom: 0;
}

.table thead th {
    background: var(--kloq-ink);
    color: #fff;
    font-size: .78rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.table td,
.table th {
    border-color: var(--kloq-border);
    padding: .85rem 1rem;
    vertical-align: middle;
}

.badge {
    border-radius: 2rem;
    font-weight: 500;
    padding: .45rem .7rem;
}

.text-muted {
    color: var(--kloq-muted) !important;
}

textarea {
    min-height: 8rem;
}

@media (max-width: 767.98px) {
    body > .container-fluid,
    body > .container,
    body > main,
    body > form {
        padding-top: 1.5rem;
    }

    .table-responsive {
        border-radius: .75rem;
    }
}
