
/* ==========================================================================
   Longevity Montreal — Main Stylesheet
   Navy + Emerald + Gold design system with Space Grotesk + Montserrat.
   ========================================================================== */


/* ---------- Reset & Base ---------- */

*, *::after, *::before {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    font-weight: 300;
}

html {
    min-height: 100%;
    background: var(--lm-navy-dark);
}

body {
    position: relative;
    margin: 0;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var(--fs-base);
    color: var(--lm-text-primary);
    line-height: 1.6;
}

a {
    color: var(--lm-emerald);
    text-decoration: none;
    transition: color var(--duration-fast) var(--ease-out);
}

a:hover {
    color: var(--lm-emerald-dark);
}

a:focus-visible {
    outline: 2px solid var(--lm-emerald-light);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

strong {
    font-weight: 500;
    color: var(--lm-emerald);
}

h1, h2, h3, h4 {
    font-family: var(--font-display);
}

h1 {
    font-weight: 600;
    font-size: var(--fs-3xl);
    line-height: 1.2;
}

h2 {
    font-weight: 500;
    font-size: var(--fs-2xl);
    line-height: 1.3;
}

h3 {
    font-weight: 500;
    font-size: var(--fs-xl);
    line-height: 1.3;
}

h4 {
    font-weight: 500;
    font-size: var(--fs-lg);
    line-height: 1.4;
}

article h2 { margin: var(--space-md) 0; }
article h3 { margin: var(--space-md) 0; }
article h4 { margin: var(--space-sm) 0; }
article iframe { margin: var(--space-md) 0; }


/* ---------- Global Layout ---------- */

main#content {
    position: relative;
    top: var(--header-height);
    min-height: calc(100vh - 400px);
    background: var(--lm-bg-lighter);
}

main#content .container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: var(--space-lg) 0;
}

main#content h1 { margin-bottom: var(--space-md); }
main#content h3 { margin-bottom: var(--space-sm); }
main#content p { margin: var(--space-sm) 0; }

main#content ol,
main#content ul {
    padding-left: 30px;
}

@media (max-width: 1250px) {
    main#content .container > section,
    main#content .container > div {
        padding: 0 5%;
    }
}


/* ---------- Section Utilities ---------- */

.lm-section--white {
    background: var(--lm-white);
}

.lm-section--light {
    background: var(--lm-bg-light);
}

.lm-section--dark {
    background: var(--lm-navy-dark);
    color: var(--lm-white);
}

.lm-section--full-bleed {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.lm-section__title {
    font-family: var(--font-display);
    position: relative;
    display: inline-block;
}

.lm-section__title::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    margin-top: var(--space-xs);
    background: var(--lm-gradient-accent-bar);
    border-radius: var(--radius-pill);
}


/* ---------- Buttons — 3-Tier CTA System ---------- */

/* Primary CTA: Gold gradient pill */
.lm-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    height: fit-content;
    padding: 12px 28px;
    border: none;
    border-radius: var(--radius-pill);
    background: var(--lm-gradient-cta);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: var(--fs-base);
    color: var(--lm-navy-dark);
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3);
    transition: transform var(--duration-fast) var(--ease-out),
                box-shadow var(--duration-normal) var(--ease-out),
                filter var(--duration-normal) var(--ease-out);
}

.lm-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(245, 158, 11, 0.45);
    color: var(--lm-navy-dark);
    filter: brightness(1.05);
}

.lm-cta:active {
    transform: scale(0.97);
}

.lm-cta:focus-visible {
    outline: 2px solid var(--lm-gold-light);
    outline-offset: 2px;
}

.lm-cta.small {
    padding: 6px 16px;
    font-size: var(--fs-sm);
}

.lm-cta svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Secondary CTA: Outlined emerald pill */
.lm-cta--secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    height: fit-content;
    padding: 12px 28px;
    border: 2px solid var(--lm-emerald);
    border-radius: var(--radius-pill);
    background: transparent;
    font-family: var(--font-display);
    font-weight: 500;
    font-size: var(--fs-base);
    color: var(--lm-emerald);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--duration-normal) var(--ease-out),
                color var(--duration-normal) var(--ease-out),
                transform var(--duration-fast) var(--ease-out);
}

.lm-cta--secondary:hover {
    background: var(--lm-emerald);
    color: var(--lm-white);
    transform: translateY(-2px);
}

.lm-cta--secondary:active {
    transform: scale(0.97);
}

.lm-cta--secondary:focus-visible {
    outline: 2px solid var(--lm-emerald-light);
    outline-offset: 2px;
}

/* Ghost CTA: Glass on dark backgrounds */
.lm-cta--ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    height: fit-content;
    padding: 12px 28px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    font-family: var(--font-display);
    font-weight: 500;
    font-size: var(--fs-base);
    color: var(--lm-white);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--duration-normal) var(--ease-out),
                border-color var(--duration-normal) var(--ease-out),
                transform var(--duration-fast) var(--ease-out);
}

.lm-cta--ghost:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.4);
    color: var(--lm-white);
    transform: translateY(-2px);
}

.lm-cta--ghost:active {
    transform: scale(0.97);
}

.lm-cta--ghost:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.5);
    outline-offset: 2px;
}

.lm-btn-link {
    display: flex;
    width: auto;
    margin: var(--space-md) 0;
    height: 40px;
    align-items: center;
    justify-content: center;
}

.lm-btn-link a {
    padding: 10px 20px;
    border-radius: var(--radius-pill);
    color: var(--lm-emerald);
    font-weight: 500;
    transition: background var(--duration-normal) var(--ease-out);
}

.lm-btn-link a:hover {
    background: var(--lm-bg-light);
}

.lm-button {
    display: block;
    width: fit-content;
    height: fit-content;
    padding: 10px 24px;
    border: none;
    border-radius: var(--radius-pill);
    outline: 1px solid var(--lm-gray-300);
    background: var(--lm-white);
    font-weight: 400;
    font-size: var(--fs-base);
    color: var(--lm-gray-900);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--duration-normal) var(--ease-out);
}

.lm-button:hover {
    background-color: var(--lm-gray-100);
    color: var(--lm-gray-900);
}

.lm-button:active {
    transform: scale(0.97);
}

.lm-button:focus-visible {
    outline: 2px solid var(--lm-emerald-light);
    outline-offset: 2px;
}

.lm-button.small {
    padding: 5px 12px;
    font-size: var(--fs-sm);
}


/* ---------- Forms ---------- */

.lm-input, .lm-select {
    position: relative;
    display: inline-block;
}

.lm-input input {
    min-width: 200px;
    padding: 9px 16px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--lm-gray-300);
    font-size: var(--fs-base);
    transition: border-color var(--duration-fast) var(--ease-out);
}

.lm-input input:focus {
    border-color: var(--lm-emerald);
    outline: none;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
}

.lm-select select {
    min-width: 200px;
    padding: 9px 40px 9px 16px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--lm-gray-300);
    font-size: var(--fs-base);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: border-color var(--duration-fast) var(--ease-out);
}

.lm-select select:focus {
    border-color: var(--lm-emerald);
    outline: none;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
}

.lm-select::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid var(--lm-gray-700);
    pointer-events: none;
    z-index: 12;
}


/* ---------- Common ---------- */

.lm-breadcrumbs {
    padding: 0 20px;
    font-size: var(--fs-sm);
    color: var(--lm-text-muted);
}

.lm-breadcrumbs a {
    color: var(--lm-text-muted);
    transition: color var(--duration-fast) var(--ease-out);
}

.lm-breadcrumbs a:hover {
    color: var(--lm-emerald);
}

.content-status {
    position: absolute;
    top: 10px;
    right: 30px;
    padding: 8px 15px;
    border-radius: var(--radius-sm);
    font-size: var(--fs-base);
    line-height: 1;
}

.content-status.small {
    padding: 5px 6px 3px;
    border-radius: var(--radius-sm);
    font-size: var(--fs-xs);
    line-height: 1;
}

.content-status.publish {
    background: #c6ebd6;
    border: 1px solid #89e089;
    color: #24b524;
}

.content-status.draft {
    background: #ffeed3;
    border: 1px solid #f6c53f;
    color: #f4a545;
}

.lm-tag {
    background: var(--lm-bg-light);
    padding: 3px 10px;
    border-radius: var(--radius-pill);
    font-size: var(--fs-xs);
    color: var(--lm-emerald-dark);
}


/* ---------- Hero Section ---------- */

.lm-hero__container {
    position: relative;
    display: flex;
    align-items: center;
    height: 500px;
    text-align: center;
    padding: var(--space-xl) var(--space-md);
    background-repeat: no-repeat;
    background-position: 0 30%;
    background-size: cover;
}

.lm-hero__color-filter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(9, 20, 40, 0.5);
    z-index: 1;
}

.lm-hero__content {
    max-width: 800px;
    margin: 0 auto;
    padding: var(--space-lg) var(--space-xl);
    border-radius: var(--radius-lg);
    background: rgba(9, 20, 40, 0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    z-index: 2;
}

.lm-hero__content h1 {
    font-size: var(--fs-3xl);
    margin-top: 0;
    margin-bottom: var(--space-sm);
    color: var(--lm-white);
}

.lm-hero__content p {
    font-size: var(--fs-lg);
    color: var(--lm-white);
    max-width: 800px;
    margin: 0;
}

.lm-hero__content p strong {
    font-weight: 500;
    color: var(--lm-emerald-light);
}

.lm-hero__cta {
    display: block;
    width: fit-content;
    margin: var(--space-md) auto var(--space-sm);
    padding: 12px 28px;
    border-radius: var(--radius-pill);
}


/* ---------- Filter Section ---------- */

.lm-filters__container {
    background-color: var(--lm-bg-light);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    margin-bottom: var(--space-xl);
    color: var(--lm-navy);
    border: 1px solid var(--lm-emerald-lighter);
}

.lm-filters__title {
    font-size: var(--fs-xl);
    font-family: var(--font-display);
    margin-top: 0;
    margin-bottom: var(--space-md);
}

.lm-filters__form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-md);
}

.lm-filters__group {
    display: flex;
    flex-direction: column;
}

.lm-filters__label {
    margin-bottom: var(--space-xs);
    font-weight: 600;
    font-size: var(--fs-sm);
}

.lm-filters__select,
.lm-filters__search {
    padding: 10px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--lm-gray-300);
    font-size: var(--fs-base);
    transition: border-color var(--duration-fast) var(--ease-out);
}

.lm-filters__select:focus,
.lm-filters__search:focus {
    border-color: var(--lm-emerald);
    outline: none;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
}

.lm-filters__buttons {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.lm-filters__reset {
    padding: 10px 20px;
    background-color: var(--lm-gray-100);
    color: var(--lm-gray-800);
    font-weight: 400;
    font-size: var(--fs-base);
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background-color var(--duration-normal) var(--ease-out);
}

.lm-filters__reset:hover {
    background-color: var(--lm-gray-200);
}

.lm-filters__reset:focus-visible {
    outline: 2px solid var(--lm-emerald-light);
    outline-offset: 2px;
}


/* ---------- Cards ---------- */

.knowledge-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--space-md);
    margin-top: var(--space-lg);
}

.event-card,
.knowledge-card,
.blog-card {
    position: relative;
    border: none;
    border-radius: var(--radius-lg);
    background: var(--color-card-bg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform var(--duration-normal) var(--ease-out),
                box-shadow var(--duration-normal) var(--ease-out);
}

.event-card::before,
.knowledge-card::before,
.blog-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--lm-emerald), var(--lm-emerald-light));
    z-index: 1;
}

.event-card:hover,
.knowledge-card:hover,
.blog-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-xl);
}

.event-card:focus-within,
.knowledge-card:focus-within,
.blog-card:focus-within {
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

.card-image {
    height: 180px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    transition: transform var(--duration-slow) var(--ease-out);
}

.event-card:hover .card-image,
.knowledge-card:hover .card-image,
.blog-card:hover .card-image {
    transform: scale(1.05);
}

.event-card a,
.knowledge-card a,
.blog-card a {
    display: block;
    height: 100%;
}

.card-content {
    padding: var(--space-sm);
    text-align: left;
}

.card-title {
    font-family: var(--font-display);
    font-size: var(--fs-lg);
    font-weight: 500;
    margin-top: 0;
    margin-bottom: var(--space-xs);
}

.card-location {
    display: flex;
    align-items: flex-start;
    gap: 3px;
    margin-bottom: 6px;
    font-size: var(--fs-xs);
    color: var(--lm-text-secondary);
}

.card-date {
    height: 50px;
    background: var(--lm-emerald);
    line-height: 50px;
    font-family: var(--font-display);
    font-weight: 500;
    font-size: var(--fs-xl);
    text-align: center;
    color: var(--lm-white);
}

.card-meta {
    font-size: var(--fs-sm);
    color: var(--lm-text-muted);
    margin-bottom: var(--space-xs);
}

.card-excerpt {
    font-size: var(--fs-base);
    color: var(--lm-text-secondary);
    margin-bottom: var(--space-sm);
}


/* ---------- Blog Cards ---------- */

.lm-blog-card {
    border: none;
    border-radius: var(--radius-lg);
    background: var(--color-card-bg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform var(--duration-normal) var(--ease-out),
                box-shadow var(--duration-normal) var(--ease-out);
}

.lm-blog-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--lm-emerald), var(--lm-emerald-light));
    z-index: 1;
}

.lm-blog-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-xl);
}

.lm-blog-card a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.lm-blog-card__header {
    position: relative;
    height: 180px;
    background-image: url(https://www.q2lifespan.com/wp-content/uploads/2025/02/Y7d265_7i08-scaled.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    overflow: hidden;
    transition: transform var(--duration-slow) var(--ease-out);
}

.lm-blog-card:hover .lm-blog-card__header {
    transform: scale(1.05);
}

.lm-blog-card__read-time {
    position: absolute;
    bottom: 10px;
    right: 10px;
    padding: 2px 8px;
    border-radius: var(--radius-pill);
    background: rgba(0, 0, 0, 0.36);
    font-size: var(--fs-xs);
    color: var(--lm-white);
    z-index: 2;
}

.lm-blog-card__header-overlay {
    display: flex;
    align-items: flex-end;
    width: 100%;
    height: 100%;
    padding: var(--space-xs) var(--space-sm);
    background-image: linear-gradient(180deg, transparent 0%, transparent 60%, rgba(9, 20, 40, 0.65) 100%);
}

.lm-blog-card__content {
    padding: var(--space-sm);
    text-align: left;
}

.lm-blog-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-xs);
    font-size: var(--fs-sm);
    color: var(--lm-text-muted);
}

.lm-blog-card__category {
    display: block;
    background: var(--lm-bg-light);
    padding: 3px 9px;
    border-radius: var(--radius-pill);
    font-size: var(--fs-xs);
    color: var(--lm-emerald-dark);
}

.lm-blog-card__title {
    font-family: var(--font-display);
    font-size: var(--fs-lg);
    font-weight: 500;
    margin-top: 0;
    margin-bottom: var(--space-xs);
}

.lm-blog-card__excerpt {
    font-size: var(--fs-base);
    color: var(--lm-text-secondary);
    margin-bottom: var(--space-sm);
}

.lm-blog-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding: var(--space-sm);
}

.lm-blog-card__author {
    color: var(--lm-text-secondary);
    font-size: var(--fs-xs);
}


/* ---------- Sidebar ---------- */

.lm-sidebar-widget {
    margin-bottom: var(--space-md);
    background-color: var(--lm-off-white);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.lm-sidebar-widget__content {
    padding: var(--space-md);
}

.lm-sidebar-widget__title {
    font-family: var(--font-display);
    margin-top: 0;
    margin-bottom: var(--space-sm);
    padding-bottom: var(--space-xs);
    border-bottom: 1px solid var(--lm-gray-200);
    font-size: var(--fs-lg);
}

.lm-sidebar__socials a {
    display: flex;
    align-items: center;
    margin: 0.5rem;
    font-size: var(--fs-base);
    text-decoration: none;
}

.lm-sidebar__socials a .icon {
    margin-right: 10px;
}


/* ---------- Events ---------- */

.lm-event-list-item {
    position: relative;
    border: none;
    border-radius: var(--radius-md);
    background-color: var(--lm-white);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform var(--duration-normal) var(--ease-out),
                box-shadow var(--duration-normal) var(--ease-out);
}

.lm-event-list-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--lm-emerald), var(--lm-emerald-light));
}

.lm-event-list-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.lm-event-list-item__container {
    display: flex;
}

.lm-event-list-item h2 {
    font-size: var(--fs-2xl);
    margin-bottom: var(--space-xs);
}

.lm-event-list-item p {
    font-size: var(--fs-base);
    color: var(--lm-text-secondary);
}

.lm-event-list-item__date {
    width: 70px;
    text-align: center;
    margin: 5px;
    background: var(--lm-white);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.lm-event-list-item__date-day {
    font-family: var(--font-display);
    font-size: var(--fs-3xl);
    color: var(--lm-gray-900);
}

.lm-event-list-item__date-month {
    font-size: var(--fs-base);
    color: var(--lm-white);
    background: var(--lm-emerald);
}

.lm-event-list-item__info {
    padding: 11px 20px;
}

.lm-event-list-item__info-organizer,
.lm-event-list-item__info-time {
    color: var(--lm-gray-900);
}


/* ---------- Influencers ---------- */

.lm-influencers-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    padding: var(--space-md);
}

.lm-influencer-list-item {
    width: 340px;
    height: 340px;
    border: none;
    border-radius: var(--radius-xl);
    background: var(--lm-white);
    text-align: center;
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: transform var(--duration-normal) var(--ease-out),
                box-shadow var(--duration-normal) var(--ease-out);
}

.lm-influencer-list-item:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-xl);
}

.lm-influencer-list-item__link {
    display: block;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.lm-influencer-list-item__info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    padding: var(--space-sm);
    background-image: linear-gradient(180deg, transparent, transparent 30%, rgba(9, 20, 40, 0.75) 95%);
}

.lm-influencer-list-item__name {
    font-family: var(--font-display);
    font-size: var(--fs-xl);
    margin-bottom: 5px;
}

.lm-influencer-list-item__types {
    font-size: var(--fs-sm);
    color: var(--lm-white);
}


/* ---------- Resources ---------- */

.lm-resource-list-item {
    margin-bottom: var(--space-sm);
    padding: var(--space-sm);
    border-radius: var(--radius-md);
    background: var(--lm-white);
    box-shadow: var(--shadow-sm);
    transition: transform var(--duration-normal) var(--ease-out),
                box-shadow var(--duration-normal) var(--ease-out);
}

.lm-resource-list-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.lm-resource-list-item__title {
    font-family: var(--font-display);
    margin-bottom: 7px;
    font-size: var(--fs-lg);
}

.lm-resource-list-item__types {
    margin-bottom: var(--space-xs);
}

.lm-resource-list-item__read-time {
    margin-left: 10px;
    font-size: var(--fs-xs);
    color: var(--lm-text-secondary);
}

.lm-resource-list-item__excerpt {
    margin-bottom: var(--space-xs);
    color: var(--lm-text-secondary);
}

.lm-resource-list-item__date {
    color: var(--lm-text-muted);
    font-size: var(--fs-xs);
    font-weight: 500;
}


/* ---------- Scroll Reveal (animate.css integration) ---------- */

.lm-reveal {
    opacity: 0;
}

.lm-reveal.animate__animated {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .lm-reveal {
        opacity: 1 !important;
    }
    .animate__animated {
        animation-duration: 0s !important;
        transition-duration: 0s !important;
    }
    .lm-count-up {
        animation: none !important;
    }
    /* Disable hover transforms */
    .event-card:hover,
    .knowledge-card:hover,
    .blog-card:hover,
    .lm-blog-card:hover,
    .lm-event-list-item:hover,
    .lm-influencer-list-item:hover,
    .lm-resource-list-item:hover {
        transform: none !important;
    }
    .event-card:hover .card-image,
    .lm-blog-card:hover .lm-blog-card__header {
        transform: none !important;
    }
}


/* ---------- Performance ---------- */

.event-card,
.knowledge-card,
.blog-card,
.lm-blog-card,
.lm-event-list-item,
.lm-influencer-list-item,
.lm-resource-list-item {
    will-change: transform;
    contain: layout;
}


/* ---------- Mobile Touch Targets ---------- */

@media (max-width: 768px) {
    .lm-cta,
    .lm-cta--secondary,
    .lm-cta--ghost,
    .lm-button,
    .lm-filters__reset,
    .lm-filters__select,
    .lm-filters__search {
        min-height: 44px;
    }

    a:not(.lm-cta):not(.lm-cta--secondary):not(.lm-cta--ghost) {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
}


/* ---------- Focus States ---------- */

.lm-cta:focus-visible,
.lm-cta--secondary:focus-visible,
.lm-cta--ghost:focus-visible,
.lm-button:focus-visible {
    outline: 2px solid var(--lm-emerald-light);
    outline-offset: 2px;
}


/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
    .lm-influencer-list-item {
        width: 280px;
        height: 280px;
    }
}

@media (max-width: 768px) {
    .knowledge-grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }

    .lm-influencers-list {
        justify-content: center;
    }

    .lm-influencer-list-item {
        width: 100%;
        max-width: 340px;
        height: 300px;
    }

    .lm-filters__form {
        grid-template-columns: 1fr;
    }

    .lm-filters__buttons {
        flex-direction: row;
    }
}

@media (max-width: 480px) {
    .lm-event-list-item__container {
        flex-direction: column;
    }

    .lm-event-list-item__date {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-xs);
        margin: 0;
        padding: var(--space-xs);
    }
}
