:root {
    --gm-purple: #2a0136;
    --gm-purple-soft: #63336f;
    --gm-cream: #fff8f0;
    --gm-lilac: #e9d7ef;
    --gm-pink: #e94f87;
}

.gm-article-grid { display: grid; gap: clamp(1.25rem, 3vw, 2.25rem); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gm-article-card { background: #fff; border: 1px solid rgba(42,1,54,.1); border-radius: 20px; box-shadow: 0 12px 30px rgba(42,1,54,.06); display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.gm-article-card:hover { box-shadow: 0 18px 40px rgba(42,1,54,.12); transform: translateY(-4px); }
.gm-article-card__image { aspect-ratio: 16/10; background: var(--gm-lilac); display: block; overflow: hidden; }
.gm-article-card__image img { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.gm-article-card:hover .gm-article-card__image img { transform: scale(1.025); }
.gm-article-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.gm-article-card__category { color: var(--gm-pink) !important; font-size: .76rem; font-weight: 700; letter-spacing: .06em; margin-bottom: .5rem; text-decoration: none; text-transform: uppercase; }
.gm-article-card h3 { color: var(--gm-purple); font-size: 1.15rem; font-weight: 700; line-height: 1.32; margin: 0 0 .7rem; }
.gm-article-card h3 a { color: inherit; text-decoration: none; }
.gm-article-card__body > p { color: #5a4a5e; display: -webkit-box; font-size: .9rem; line-height: 1.55; margin-bottom: 1.2rem; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.gm-article-card__meta { align-items: center; color: #6c5b70; display: flex; font-size: .78rem; gap: 1rem; justify-content: space-between; margin-top: auto; }
.gm-article-recommendations { background: linear-gradient(180deg, #fff8f0 0%, #f5eafd 100%); color: #2a0136; font-family: "Poppins", sans-serif; padding: clamp(2.5rem, 6vw, 5rem) 18px; }
.gm-article-recommendations__inner { margin: 0 auto; max-width: 1240px; }
.gm-article-recommendations__eyebrow { color: var(--gm-purple-soft); font-size: .78rem; font-weight: 700; letter-spacing: .12em; margin: 0 0 .55rem; text-transform: uppercase; }
.gm-article-recommendations h2 { color: var(--gm-purple); font-size: clamp(1.75rem, 3.5vw, 2.7rem); font-weight: 750; letter-spacing: -.035em; margin: 0 0 1.5rem; }
.gm-article-recommendations a:focus-visible, .gm-article-card a:focus-visible { outline: 3px solid var(--gm-pink); outline-offset: 3px; }

@media (max-width: 1023px) { .gm-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .gm-article-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .gm-article-card, .gm-article-card__image img { transition: none; } }
