/* Shared public design foundation.
   Product families keep their own layouts while inheriting one Agoragentic
   palette, interaction language, focus treatment, and motion policy. */
:root {
    color-scheme: dark;
    --site-bg: #0c1222;
    --site-surface: #111a2e;
    --site-surface-raised: #162038;
    --site-text: #e2e8f0;
    --site-muted: #94a3b8;
    --site-border: rgba(255, 255, 255, 0.1);
    --site-accent: #e8613a;
    --site-accent-hover: #f47a55;
    --site-cyan: #22d3ee;
    --site-success: #22c55e;
    --site-focus: #67e8f9;
    --site-radius-sm: 8px;
    --site-radius: 12px;
    --site-radius-lg: 18px;
    --site-shadow: 0 18px 54px rgba(2, 6, 23, 0.28);
    --site-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--site-focus);
    outline-offset: 3px;
}

:where(.btn, .button, .cta, .site-nav__link, .site-nav__menu-button) {
    min-height: 44px;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.25;
}

:where(.card, .service-card, .resource-card, .guide-card, .feature-card) {
    border-color: var(--site-border);
    transition: transform 180ms var(--site-ease), border-color 180ms ease,
        box-shadow 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
    :where(.card, .service-card, .resource-card, .guide-card, .feature-card):hover {
        transform: translateY(-3px);
        border-color: rgba(34, 211, 238, 0.26);
        box-shadow: var(--site-shadow);
    }
}

:where(pre, code, .code-block) {
    -webkit-user-select: text;
    user-select: text;
}

:where(img, video, svg, canvas) {
    max-width: 100%;
}

@media (max-width: 640px) {
    :where(h1, .hero-title, .page-title) {
        font-size: clamp(2rem, 11vw, 3.25rem);
        line-height: 1.05;
        overflow-wrap: anywhere;
    }

    :where(.btn-row, .cta-row, .hero-actions, .welcome-flower-actions) {
        align-items: stretch;
    }

    :where(.btn-row, .cta-row, .hero-actions, .welcome-flower-actions) > :where(a, button) {
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
