:root {
    color-scheme: light;
    --hpm-forest: #243925;
    --hpm-olive: #6D7B56;
    --hpm-sage: #B1B69F;
    --hpm-cream: #FFFDF5;
    --hpm-sand: #EBD4BA;
    --hpm-terra: #BF7949;
    --hpm-charcoal: #3F3F3A;
    --hpm-black: #000000;
    --hpm-forest-hover: #1B2C1C;
    --hpm-olive-hover: #5F6C4A;
    --hpm-sage-soft: #EEF0E7;
    --hpm-sand-soft: #F7EBDD;
    --hpm-terra-soft: #F1D8C9;
    --hpm-danger: #8B352D;
    --hpm-danger-hover: #6F261F;
    --hpm-danger-soft: #F4DED8;

    --homepm-forest: var(--hpm-forest);
    --homepm-evergreen: var(--hpm-forest-hover);
    --homepm-sage: var(--hpm-sage);
    --homepm-stone: #9A9691;
    --homepm-parchment: var(--hpm-sand);
    --homepm-parchment-light: #FAF3E8;
    --homepm-gold: #C99E67;
    --homepm-copper: var(--hpm-terra);
    --homepm-charcoal: var(--hpm-charcoal);
    --homepm-ink: var(--homepm-charcoal);
    --homepm-muted: #666A61;
    --homepm-white: var(--hpm-cream);
    --homepm-border: rgba(36, 57, 37, .16);
    --homepm-shadow: 0 16px 36px rgba(36, 57, 37, .11);
    --homepm-link: #52613F;
    --homepm-link-active: var(--homepm-copper);
    --homepm-link-visited: #2C3F2B;
    --sky-blue-anchor: rgb(219, 233, 235);

    --homepm-sky-background: linear-gradient(
        180deg,
        rgb(232, 241, 240) 0%,
        rgb(246, 246, 237) 55%,
        rgb(255, 253, 245) 100%
    );
    --homepm-sky-text-color: var(--homepm-forest);
    --homepm-sky-muted-text-color: #56604F;
    --homepm-sky-modal-bg: rgba(255, 253, 245, .96);

    --bs-body-font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --bs-body-color: var(--homepm-charcoal);
    --bs-body-bg: var(--sky-blue-anchor);
    --bs-primary: var(--homepm-forest);
    --bs-primary-rgb: 36, 57, 37;
    --bs-secondary: var(--hpm-olive);
    --bs-secondary-rgb: 109, 123, 86;
    --bs-success: var(--hpm-olive);
    --bs-success-rgb: 109, 123, 86;
    --bs-warning: var(--homepm-copper);
    --bs-warning-rgb: 191, 121, 73;
    --bs-danger: var(--hpm-danger);
    --bs-danger-rgb: 139, 53, 45;
    --bs-link-color: var(--homepm-link);
    --bs-link-hover-color: var(--homepm-link-active);
    --bs-border-color: var(--homepm-border);
    --bs-border-radius: .5rem;
    --bs-border-radius-sm: .375rem;
    --bs-border-radius-lg: .5rem;
    --bs-focus-ring-color: rgba(201, 158, 103, .34);
}

body {
    background: var(--sky-blue-anchor);
}

:focus-visible {
    outline: 3px solid rgba(191, 121, 73, .42);
    outline-offset: 2px;
}

h1,
h2,
h3,
h4,
h5,
h6,
.brand-wordmark {
    font-family: "Playfair Display", Georgia, serif;
    color: var(--homepm-forest);
}

.btn {
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border-radius: .5rem;
}

.btn-sm {
    min-height: 2.25rem;
    padding-inline: .75rem;
}

.btn-primary {
    --bs-btn-color: var(--homepm-white);
    --bs-btn-bg: var(--homepm-forest);
    --bs-btn-border-color: var(--homepm-forest);
    --bs-btn-hover-color: var(--homepm-white);
    --bs-btn-hover-bg: var(--homepm-evergreen);
    --bs-btn-hover-border-color: var(--homepm-evergreen);
    --bs-btn-active-color: var(--homepm-white);
    --bs-btn-active-bg: var(--homepm-evergreen);
    --bs-btn-active-border-color: var(--homepm-evergreen);
    --bs-btn-focus-shadow-rgb: 191, 121, 73;
}

.btn-outline-primary {
    --bs-btn-color: var(--homepm-charcoal);
    --bs-btn-border-color: rgba(41, 40, 40, .36);
    --bs-btn-bg: rgba(255, 253, 248, .86);
    --bs-btn-hover-color: var(--homepm-white);
    --bs-btn-hover-bg: var(--homepm-charcoal);
    --bs-btn-hover-border-color: var(--homepm-charcoal);
    --bs-btn-active-color: var(--homepm-white);
    --bs-btn-active-bg: var(--homepm-charcoal);
    --bs-btn-active-border-color: var(--homepm-charcoal);
}

.btn-outline-secondary {
    --bs-btn-color: var(--homepm-forest);
    --bs-btn-border-color: rgba(36, 57, 37, .28);
    --bs-btn-bg: var(--hpm-sand-soft);
    --bs-btn-hover-bg: var(--homepm-forest);
    --bs-btn-hover-border-color: var(--homepm-forest);
    --bs-btn-hover-color: var(--homepm-white);
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--hpm-danger);
    --bs-btn-border-color: var(--hpm-danger);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--hpm-danger-hover);
    --bs-btn-hover-border-color: var(--hpm-danger-hover);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--hpm-danger-hover);
    --bs-btn-active-border-color: var(--hpm-danger-hover);
    --bs-btn-focus-shadow-rgb: 139, 53, 45;
}

.btn-outline-danger {
    --bs-btn-color: var(--hpm-danger);
    --bs-btn-border-color: rgba(139, 53, 45, .48);
    --bs-btn-bg: rgba(255, 253, 248, .9);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--hpm-danger);
    --bs-btn-hover-border-color: var(--hpm-danger);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--hpm-danger-hover);
    --bs-btn-active-border-color: var(--hpm-danger-hover);
    --bs-btn-focus-shadow-rgb: 139, 53, 45;
}

.btn-close:focus {
    box-shadow: 0 0 0 .2rem rgba(191, 121, 73, .25);
}

.form-control,
.form-select {
    border-color: rgba(36, 57, 37, .22);
    background-color: #fefcf5;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--homepm-gold);
    box-shadow: 0 0 0 .25rem rgba(201, 158, 103, .22);
}

.form-label {
    color: var(--homepm-forest);
    font-weight: 700;
}

.alert-danger {
    color: #4B1713;
    background: var(--hpm-danger-soft);
    border-color: rgba(139, 53, 45, .38);
}

.badge.text-bg-success {
    background-color: rgba(109, 123, 86, .16) !important;
    color: var(--homepm-forest) !important;
    border: 1px solid rgba(109, 123, 86, .24);
}

.text-secondary {
    color: var(--homepm-muted) !important;
}

.text-danger {
    color: var(--hpm-danger) !important;
}

@media (max-width: 760px) {
    .btn:not(.btn-sm) {
        min-height: 2.875rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}
