/* 0o0.online — evergreen, lime and warm paper. */
:root {
    --brand-ink: #123c3a;
    --brand-accent: #d5f675;
    --brand-paper: #f7f8f2;
    --primary: #21645e;
    --primary-100: #edf5e9;
    --primary-600: #21645e;
    --primary-700: #174a46;
    --primary-800: #123c3a;
}
body { font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif; }
body.index, body.app { background-color: var(--brand-paper); }
body[data-theme-style="dark"] { --brand-paper: #101e1d; --brand-ink: #e9f4e9; --primary-100: #1c3632; --primary-600: #b8dbb3; }
[data-theme-style="dark"].index, [data-theme-style="dark"].app { background: var(--brand-paper); }
.navbar-logo, .footer-logo { width: 184px; height: 44px; max-width: 100%; object-fit: contain; }
.navbar-logo-mini { width: 138px; height: 34px; object-fit: contain; }
.navbar-main { background: #fff; border-color: #dfe6dc !important; border-radius: 24px; }
[data-theme-style="dark"] .navbar-main { background: #152825; border-color: #2a423d !important; }
.btn-primary { background: #21645e; border-color: #21645e; color: #fff; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active { background: #174a46; border-color: #174a46; color: #fff; }
.btn-outline-primary { color: #21645e; border-color: #21645e; }
.btn-outline-primary:hover, .btn-outline-primary:focus { background: #21645e; border-color: #21645e; color: #fff; }
[data-theme-style="dark"] .btn-outline-primary { color: #d5f675; border-color: #819c68; }
.text-primary, a.text-primary:hover { color: var(--primary-600) !important; }
.bg-primary-100 { background-color: var(--primary-100) !important; }
.form-control:focus, .custom-select:focus { border-color: #21645e; box-shadow: 0 0 0 .2rem rgba(33,100,94,.16); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #6c963d; outline-offset: 4px; }
.brand-hero { padding-bottom: 3rem; }
.brand-hero .index-background::before, .brand-hero .index-background::after { content: none; }
.brand-hero .index-container-content { margin-top: 2rem; margin-bottom: 2rem; }
.brand-hero .index-header { font-size: clamp(2.7rem, 4.5vw, 4rem); line-height: 1.04; letter-spacing: -.055em; font-weight: 750; color: var(--brand-ink); max-width: 570px; }
.brand-eyebrow { display: flex; align-items: center; gap: .55rem; margin-bottom: 1.5rem; text-transform: uppercase; font-size: .72rem; letter-spacing: .14em; font-weight: 700; color: var(--brand-ink); }
.brand-status-dot { flex-shrink: 0; width: 9px; height: 9px; background: #91b43e; border-radius: 50%; box-shadow: 0 0 0 4px rgba(145,180,62,.13); }
.brand-intro { max-width: 460px; font-size: 1.08rem; line-height: 1.75; color: #526863; margin-bottom: 1.5rem; }
[data-theme-style="dark"] .brand-intro { color: #bacdc4; }
.brand-hero .index-feature { font-size: .84rem; line-height: 2.15rem; }
.brand-hero .index-feature a { color: var(--brand-ink); }
.brand-hero .index-button { font-size: 1rem; font-weight: 650; padding: 1rem 1.4rem; border-radius: 14px !important; }
.brand-hero .index-button-white { background: var(--brand-accent) !important; color: #123c3a !important; box-shadow: 0 6px 0 #123c3a; margin-bottom: 1.3rem !important; animation: none !important; }
.brand-hero .index-button-white:hover { background: #c3e85b !important; transform: translateY(-1px); }
.brand-hero .input-group { flex-wrap: nowrap; }
.brand-hero .input-group-prepend { max-width: 52%; min-width: 0; }
.brand-hero .input-group-text { overflow: hidden; text-overflow: ellipsis; }
.brand-hero .index-input { min-width: 0; }
.brand-hero-art { display: flex; justify-content: center; align-items: center; }
.brand-hero-image { width: 100%; max-width: 590px; height: auto; }
.app-footer { border-color: #dfe6dc; }
@media (max-width: 991.98px) {
    .brand-hero .index-container-content { margin-top: 1rem; }
    .brand-hero .index-header { max-width: 650px; }
    .brand-hero-art { margin-top: 2.5rem; }
    .brand-hero-image { max-width: 480px; }
    .brand-hero { padding-bottom: 1rem; }
}
@media (max-width: 374px) { .navbar-logo { width: 154px; } .brand-eyebrow { font-size: .64rem; } }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    .altum-animate, [data-aos], .inverse-colors-animation { animation: none !important; transition: none !important; transform: none !important; opacity: 1 !important; }
}
