/*
 * Daar us Sunnah — Ecosystem Base
 * Requires dus-tokens.css.
 */

.dus-ecosystem,
.dus-ecosystem *,
.dus-ecosystem *::before,
.dus-ecosystem *::after {
    box-sizing: border-box;
}

.dus-ecosystem {
    margin: 0;
    background: var(--dus-paper);
    color: var(--dus-ink);
    font-family: var(--dus-sans);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.dus-ecosystem img,
.dus-ecosystem svg {
    max-width: 100%;
}

.dus-ecosystem a {
    color: inherit;
}

.dus-eco-shell {
    width: min(calc(100% - 40px), var(--dus-wrap));
    margin-inline: auto;
}

.dus-eco-reading {
    width: min(100%, var(--dus-reading));
}

.dus-eco-eyebrow {
    margin: 0 0 12px;
    color: var(--dus-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.dus-eco-title {
    margin: 0;
    color: var(--dus-ink);
    font-size: clamp(36px, 5vw, 68px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.04em;
}

.dus-eco-lead {
    max-width: 58ch;
    margin: 22px 0 0;
    color: var(--dus-ink-soft);
    font-size: clamp(17px, 1.7vw, 20px);
    line-height: 1.6;
}

.dus-eco-btn {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 18px;
    border: 1px solid var(--dus-ink);
    border-radius: var(--dus-radius-sm);
    background: var(--dus-ink);
    color: #fff !important;
    font: inherit;
    font-size: 14px;
    font-weight: 650;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition:
        background var(--dus-transition),
        color var(--dus-transition),
        border-color var(--dus-transition);
}

.dus-eco-btn:hover {
    background: var(--dus-accent-deep);
    border-color: var(--dus-accent-deep);
}

.dus-eco-btn--quiet {
    background: transparent;
    color: var(--dus-ink) !important;
    border-color: var(--dus-rule-strong);
}

.dus-eco-btn--quiet:hover {
    background: var(--dus-surface);
    color: var(--dus-accent-deep) !important;
    border-color: var(--dus-accent);
}

.dus-eco-card {
    border: 1px solid var(--dus-rule);
    border-radius: var(--dus-radius-md);
    background: var(--dus-surface);
}

.dus-eco-rule {
    height: 1px;
    border: 0;
    background: var(--dus-rule);
}

:where(.dus-ecosystem a, .dus-ecosystem button, .dus-ecosystem input, .dus-ecosystem select, .dus-ecosystem textarea):focus-visible {
    outline: 2px solid var(--dus-accent);
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .dus-eco-shell {
        width: min(calc(100% - 32px), var(--dus-wrap));
    }
}

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