:root {
    --color-paper: #fbfcfa;
    --color-cream: #f3f6f4;
    --color-sand: #e9f0ed;
    --color-border: #cbd8d3;
    --color-ink: #24343a;
    --color-ink-soft: #687874;
    --color-night: #28534f;
    --color-agave: #267267;
    --color-agave-dark: #28534f;
    --color-agave-soft: #e3efeb;
    --color-azul: #4a7587;
    --color-azul-soft: #e7eff2;
    --color-marigold: #c59632;
    --color-marigold-soft: #f5e7c5;
    --color-terracotta: #c8624b;
    --color-terracotta-dark: #9e4838;
    --color-terracotta-soft: #f7e5df;
    --color-carmine: #b84f58;
    --shadow-soft: 0 10px 26px -22px rgba(36, 52, 58, 0.34);
    --shadow-card: 0 16px 38px -30px rgba(36, 52, 58, 0.36);
    --shadow-raised: 0 22px 48px -34px rgba(36, 52, 58, 0.42);
    --shadow-glow: 0 16px 38px -30px rgba(38, 114, 103, 0.42);
}

html * {
    letter-spacing: 0 !important;
}

::selection {
    color: #ffffff;
    background: #267267;
}

.site-body {
    color: var(--color-ink);
    background: var(--color-cream);
}

.site-header {
    border-color: #d7e1dd;
    background: rgba(248, 250, 247, 0.96);
    box-shadow: 0 8px 24px -24px rgba(36, 52, 58, 0.48);
}

.site-brand-mark,
.site-account-button {
    background: var(--color-agave);
}

.site-brand-mark i {
    background: #f4f7f5 !important;
}

.site-brand-logo {
    display: block;
    width: auto;
    height: 3rem;
    max-width: 13rem;
}

.site-brand-name,
.site-primary-nav a,
.site-account-link {
    color: var(--color-ink);
}

.site-brand-tagline {
    color: var(--color-ink-soft);
}

.site-primary-nav a,
.site-tool-menu-trigger,
.site-account-link,
.site-account-button {
    border-radius: 8px;
    transition: color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.site-primary-nav a:hover,
.site-tool-menu-trigger:hover,
.site-account-link:hover {
    color: var(--color-agave);
    background: #eef4f1;
}

.site-primary-nav > a.is-active,
.site-tool-menu.is-active > .site-tool-menu-trigger,
.site-tool-submenu a.is-active {
    color: var(--color-terracotta-dark);
    background: var(--color-terracotta-soft);
}

.site-tool-menu {
    position: relative;
}

.site-tool-menu-trigger {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 0.6rem;
    color: var(--color-ink);
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
}

.site-tool-menu-trigger::-webkit-details-marker {
    display: none;
}

.site-tool-menu-chevron {
    width: 0.42rem;
    height: 0.42rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-0.12rem) rotate(45deg);
    transition: transform 0.16s ease;
}

.site-tool-menu[open] .site-tool-menu-chevron {
    transform: translateY(0.1rem) rotate(225deg);
}

.site-tool-submenu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 0.45rem);
    left: 50%;
    display: grid;
    width: 15.5rem;
    padding: 0.45rem;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: #f5f8f5;
    box-shadow: 0 18px 36px -24px rgba(36, 52, 58, 0.58);
    transform: translateX(-50%);
}

.site-tool-submenu a {
    width: 100%;
    padding: 0.65rem 0.75rem;
    text-align: left;
    white-space: normal;
}

.site-account-button:hover {
    background: var(--color-agave-dark);
    box-shadow: 0 10px 22px -16px rgba(38, 114, 103, 0.7);
    transform: translateY(-1px);
}

.site-main {
    color: var(--color-ink);
}

.site-main > :first-child {
    animation: aidouga-page-enter 0.34s ease-out both;
}

.site-main :where(h1, h2, h3, h4, strong) {
    color: var(--color-ink);
}

.site-main :where(input, textarea, select) {
    border-color: #bdcdc7 !important;
    color: var(--color-ink);
    background: #fbfcfb;
}

.bg-white {
    background: var(--color-paper) !important;
}

.site-main :where(input, textarea, select):focus {
    border-color: var(--color-agave) !important;
    outline: 2px solid rgba(38, 114, 103, 0.14);
    outline-offset: 1px;
    box-shadow: none !important;
}

.site-main :where(.rounded-xl, .rounded-2xl, .rounded-3xl, [class*="rounded-["]) {
    border-radius: 8px !important;
}

.site-main :where(article, section, form)[class*="border"] {
    border-color: var(--color-border) !important;
}

.site-main :where(article, li).rounded-2xl {
    box-shadow: var(--shadow-card);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.site-main :where(article, li).rounded-2xl:hover {
    border-color: #9fb7ae !important;
    box-shadow: var(--shadow-raised);
    transform: translateY(-2px);
}

.text-indigo-600,
.text-indigo-700,
.hover\:text-indigo-700:hover,
.hover\:text-indigo-900:hover {
    color: var(--color-agave) !important;
}

.bg-indigo-600 {
    color: #ffffff !important;
    background: var(--color-terracotta) !important;
}

.hover\:bg-indigo-700:hover {
    background: var(--color-terracotta-dark) !important;
}

.border-indigo-100,
.border-indigo-200,
.border-indigo-500,
.hover\:border-indigo-300:hover,
.hover\:border-indigo-400:hover,
.focus\:border-indigo-500:focus {
    border-color: #91aaa2 !important;
}

.focus\:ring-indigo-200:focus {
    --tw-ring-color: rgba(38, 114, 103, 0.22) !important;
}

.bg-gray-900,
.bg-slate-900,
.bg-slate-950 {
    color: #f7faf8 !important;
    background: var(--color-agave-dark) !important;
}

.hover\:bg-black:hover,
.hover\:bg-slate-800:hover {
    background: #315f59 !important;
}

.text-gray-900,
.text-gray-950,
.text-slate-900,
.text-slate-950,
.hover\:text-slate-900:hover {
    color: var(--color-ink) !important;
}

.bg-gray-50,
.bg-slate-50,
.bg-stone-50 {
    background: #f7f9f6 !important;
}

.bg-gray-100,
.bg-slate-100 {
    background: #e9f0ed !important;
}

.bg-gradient-to-br.from-white.via-orange-50.to-amber-100 {
    background: #eef4f1 !important;
}

.text-orange-600,
.text-orange-700 {
    color: var(--color-terracotta-dark) !important;
}

.bg-orange-50 {
    background: #fff4f1 !important;
}

.bg-orange-500,
.bg-orange-600 {
    color: #ffffff !important;
    background: var(--color-terracotta) !important;
}

.hover\:bg-orange-600:hover,
.hover\:bg-orange-700:hover {
    background: var(--color-terracotta-dark) !important;
}

.border-orange-100,
.border-orange-200,
.border-orange-400,
.ring-orange-100,
.ring-orange-200 {
    border-color: #dfb7ad !important;
    --tw-ring-color: #dfb7ad !important;
}

.border-gray-200,
.border-gray-300,
.border-slate-200,
.border-slate-300,
.border-stone-200 {
    border-color: var(--color-border) !important;
}

.site-footer {
    border-top-color: #b9cbc4;
    color: #526864;
    background: #e2ebe7;
}

.site-footer-brand,
.site-footer h3 {
    color: var(--color-ink);
}

.site-footer a:not(.site-footer-brand),
.site-footer p {
    color: #526864;
}

.site-footer a:not(.site-footer-brand) {
    transition: color 0.16s ease, background-color 0.16s ease;
}

.site-footer a:not(.site-footer-brand):hover {
    color: var(--color-terracotta-dark);
}

.site-footer-bottom {
    border-color: #b9cbc4;
}

@keyframes aidouga-page-enter {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 820px) {
    .site-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem 1.25rem;
    }

    .site-footer-grid > div {
        min-width: 0;
    }

    .site-footer-about,
    .site-footer-grid > div:last-child {
        grid-column: 1 / -1;
    }

    .site-footer-grid a {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 640px) {
    .site-brand-logo {
        height: 2.65rem;
        max-width: 12rem;
    }

    .site-tool-menu {
        grid-column: 1 / -1;
        order: 5;
        width: 100%;
    }

    .site-tool-menu-trigger {
        justify-content: center;
        width: 100%;
        border: 1px solid rgba(203, 216, 211, 0.78);
        padding: 0.55rem 0.4rem;
        background: rgba(243, 246, 244, 0.9);
        white-space: normal;
    }

    .site-tool-submenu {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        margin-top: 0.35rem;
        transform: none;
    }

    .site-tool-submenu a {
        min-width: 0;
        padding: 0.65rem 0.4rem;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-main > :first-child,
    .site-main :where(article, li).rounded-2xl,
    .site-primary-nav a,
    .site-tool-menu-trigger,
    .site-tool-menu-chevron,
    .site-account-link,
    .site-account-button {
        animation: none !important;
        transition: none !important;
    }
}
