.mag-hero-card{color:inherit;isolation:isolate;border-radius:22px;min-height:clamp(360px,48vw,520px);margin-bottom:28px;text-decoration:none;display:block;position:relative;overflow:hidden;box-shadow:0 24px 60px #2a1a2e24}.mag-hero-card__media{z-index:-2;position:absolute;inset:0}.mag-hero-card__media img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease);display:block}.mag-hero-card:hover .mag-hero-card__media img{transform:scale(1.04)}.mag-hero-card:after{content:"";z-index:-1;background:linear-gradient(#0a080c26 25%,#0a080c8c 55%,#0a080ceb 95%);position:absolute;inset:0}.mag-hero-card__body{color:#fff8f0;max-width:42rem;padding:clamp(24px,4vw,44px);position:absolute;bottom:0;left:0;right:0}.mag-hero-card__body .mag-card__cat{color:#e8c45a}.mag-hero-card__body h2{font-family:var(--font-display);margin:6px 0 12px;font-size:clamp(1.8rem,4vw,2.9rem);font-weight:400;line-height:1.1}.mag-hero-card__body p{color:#fff8f0d1;max-width:56ch;margin:0;font-size:1.02rem;line-height:1.5}.mag-hero-card__body .mag-card__meta{color:#fff8f0b3;margin-top:16px}.mag-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}@media (max-width:980px){.mag-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.mag-grid{grid-template-columns:1fr}}.mag-card{color:inherit;transition:transform .35s var(--ease), box-shadow .35s;background:#fff;border:1px solid #e0b84a47;border-radius:16px;flex-direction:column;min-width:0;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 14px 36px #2a1a2e0f}.mag-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px #2a1a2e1a}.mag-card__media{aspect-ratio:16/10;background:radial-gradient(circle at 30% 20%,#e8c45a59,#0000 50%),linear-gradient(145deg,#2a1a2e,#1a2228);place-items:center;display:grid;overflow:hidden}.mag-card__media img{object-fit:cover;width:100%;height:100%;display:block}.mag-card__body{flex-direction:column;flex:1;gap:8px;padding:18px 18px 20px;display:flex}.mag-card__cat{letter-spacing:.18em;text-transform:uppercase;color:#8a6a18;margin:0;font-size:.68rem}.mag-card h3{font-family:var(--font-display);color:#1a121c;margin:0;font-size:clamp(1.2rem,2.2vw,1.45rem);font-weight:400;line-height:1.2}.mag-card p{color:#1a121cad;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.92rem;line-height:1.45;display:-webkit-box;overflow:hidden}.mag-card__meta{color:#1a121c80;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;font-size:.78rem;display:flex}
.mag-article-grid{--mag-ink:#090909;--mag-ivory:#f8f5ef;--mag-gold:#c9a84c;--mag-champagne:#e5c07b;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.mag-article-grid__empty{text-align:center;color:var(--mag-ink,#090909);font-family:var(--font-body), Arial, sans-serif}.mag-article-card{background:var(--mag-ivory);border:1px solid var(--mag-gold);color:var(--mag-ink);border-radius:0;flex-direction:column;text-decoration:none;transition:border-color .25s,transform .25s;display:flex;overflow:hidden}.mag-article-card:hover{border-color:var(--mag-champagne);transform:translateY(-3px)}.mag-article-card__media{aspect-ratio:4/3;background:var(--mag-ink);overflow:hidden}.mag-article-card__media img{object-fit:cover;width:100%;height:100%;display:block}.mag-article-card__body{flex-direction:column;flex:1;padding:24px;display:flex}.mag-article-card__category{font-family:var(--font-ceremonial), Georgia, serif;text-transform:uppercase;letter-spacing:.12em;color:var(--mag-gold);margin:0 0 10px;font-size:11px;font-weight:600}.mag-article-card h3{font-family:var(--font-cormorant), Georgia, serif;color:var(--mag-ink);margin:0 0 10px;font-size:24px;font-weight:500;line-height:1.15}.mag-article-card__excerpt{font-family:var(--font-body), Arial, sans-serif;color:#090909b8;flex:1;margin:0 0 16px;font-size:15px;line-height:1.6}.mag-article-card__cta{font-family:var(--font-ceremonial), Georgia, serif;text-transform:uppercase;letter-spacing:.1em;color:var(--mag-ink);margin-top:auto;font-size:12px;font-weight:600}@media (max-width:900px){.mag-article-grid{grid-template-columns:1fr;gap:20px}}
