:root {
  --mtg-ink: #1e2927;
  --mtg-ink-soft: #4e5c57;
  --mtg-forest: #1f4d45;
  --mtg-forest-dark: #163a35;
  --mtg-sage: #dce7df;
  --mtg-sand: #f4f0e8;
  --mtg-paper: #fbfaf7;
  --mtg-white: #ffffff;
  --mtg-line: #d9dfda;
  --mtg-accent: #b56b45;
  --mtg-accent-dark: #8f4e31;
  --mtg-focus: #1b78a6;
  --mtg-display: Georgia, 'Times New Roman', serif;
  --mtg-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --mtg-reading: 720px;
  --mtg-content: 1180px;
  --mtg-wide: 1320px;
  --mtg-radius-sm: 4px;
  --mtg-radius-md: 10px;
  --mtg-radius-lg: 16px;
  --mtg-shadow: 0 10px 30px rgba(30, 41, 39, .08);
  --mtg-space-1: .5rem;
  --mtg-space-2: .75rem;
  --mtg-space-3: 1rem;
  --mtg-space-4: 1.5rem;
  --mtg-space-5: 2rem;
  --mtg-space-6: 3rem;
  --mtg-space-7: 4.5rem;
  --mtg-space-8: 6rem;
}

/* Foundation */
.mtg-design-system,
.mtg-design-system :where(*) { box-sizing: border-box; }
.mtg-design-system { color: var(--mtg-ink); background: var(--mtg-paper); font-family: var(--mtg-body); line-height: 1.65; }
.mtg-shell { width: min(100% - 2rem, var(--mtg-content)); margin-inline: auto; }
.mtg-shell--wide { width: min(100% - 2rem, var(--mtg-wide)); }
.mtg-reading { width: min(100%, var(--mtg-reading)); margin-inline: auto; }
.mtg-section { padding-block: var(--mtg-space-8); }
.mtg-section--compact { padding-block: var(--mtg-space-6); }
.mtg-surface { background: var(--mtg-white); border: 1px solid var(--mtg-line); }
.mtg-muted { color: var(--mtg-ink-soft); }

/* Type scale */
.mtg-design-system :where(h1,h2,h3,h4,h5,h6),
.mtg-heading { color: var(--mtg-ink); font-family: var(--mtg-display); font-weight: 700; letter-spacing: -.025em; line-height: 1.12; margin: 0 0 var(--mtg-space-3); }
.mtg-display { font-size: clamp(2.75rem, 6vw, 5.75rem); }
.mtg-h1 { font-size: clamp(2.3rem, 4vw, 4.25rem); }
.mtg-h2 { font-size: clamp(1.9rem, 3vw, 3rem); }
.mtg-h3 { font-size: clamp(1.35rem, 2vw, 1.85rem); }
.mtg-h4 { font-size: 1.25rem; }
.mtg-body { font-size: 1.0625rem; }
.mtg-reading :where(p,li) { max-width: 68ch; }
.mtg-caption { color: var(--mtg-ink-soft); font-size: .875rem; line-height: 1.45; }
.mtg-meta { color: var(--mtg-ink-soft); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mtg-eyebrow { color: var(--mtg-forest); font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

/* Links and buttons */
.mtg-design-system a { color: var(--mtg-forest); text-underline-offset: .18em; transition: color .2s ease; }
.mtg-design-system a:hover { color: var(--mtg-accent-dark); }
.mtg-design-system a:focus-visible, .mtg-design-system button:focus-visible, .mtg-design-system input:focus-visible, .mtg-design-system textarea:focus-visible { outline: 3px solid var(--mtg-focus); outline-offset: 3px; }
.mtg-button { align-items: center; border: 1px solid transparent; border-radius: var(--mtg-radius-sm); cursor: pointer; display: inline-flex; font: 700 .9rem/1 var(--mtg-body); justify-content: center; min-height: 2.9rem; padding: .85rem 1.25rem; text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.mtg-button:hover { transform: translateY(-1px); }
.mtg-button--primary { background: var(--mtg-forest); color: var(--mtg-white) !important; }
.mtg-button--primary:hover { background: var(--mtg-forest-dark); }
.mtg-button--secondary { background: transparent; border-color: var(--mtg-forest); color: var(--mtg-forest) !important; }
.mtg-button--secondary:hover { background: var(--mtg-sage); }
.mtg-text-link { font-weight: 700; }

/* Labels, tags, breadcrumbs */
.mtg-label, .mtg-tag { border-radius: 999px; display: inline-flex; font-size: .72rem; font-weight: 800; letter-spacing: .06em; line-height: 1; padding: .48rem .72rem; text-transform: uppercase; }
.mtg-label { background: var(--mtg-sage); color: var(--mtg-forest-dark); }
.mtg-tag { background: var(--mtg-sand); color: var(--mtg-ink-soft); }
.mtg-breadcrumbs { color: var(--mtg-ink-soft); font-size: .85rem; margin-block: var(--mtg-space-4); }
.mtg-breadcrumbs a { color: inherit; }
.mtg-breadcrumbs__separator { margin-inline: .5rem; }

/* Cards and grids */
.mtg-grid { display: grid; gap: var(--mtg-space-5); grid-template-columns: repeat(12, 1fr); }
.mtg-grid > * { min-width: 0; }
.mtg-grid--3 > * { grid-column: span 4; }
.mtg-grid--4 > * { grid-column: span 3; }
.mtg-card { background: var(--mtg-white); border: 1px solid var(--mtg-line); border-radius: var(--mtg-radius-md); box-shadow: none; display: flex; flex-direction: column; overflow: hidden; transition: box-shadow .2s ease, transform .2s ease; }
.mtg-card:hover { box-shadow: var(--mtg-shadow); transform: translateY(-2px); }
.mtg-card__media { aspect-ratio: 3 / 2; background: var(--mtg-sage); overflow: hidden; }
.mtg-card__media img, .mtg-image { display: block; height: 100%; object-fit: cover; width: 100%; }
.mtg-card__body { display: flex; flex: 1; flex-direction: column; padding: var(--mtg-space-4); }
.mtg-card__body .mtg-text-link { margin-top: auto; padding-top: var(--mtg-space-3); }
.mtg-destination-card .mtg-card__media { aspect-ratio: 4 / 5; }
.mtg-article-card .mtg-card__media { aspect-ratio: 16 / 10; }

/* Newsletter and forms */
.mtg-newsletter { background: var(--mtg-forest); border-radius: var(--mtg-radius-lg); color: var(--mtg-white); padding: clamp(1.5rem, 4vw, 3rem); }
.mtg-newsletter :where(h2,h3), .mtg-newsletter a { color: var(--mtg-white); }
.mtg-form { display: grid; gap: var(--mtg-space-3); }
.mtg-form__row { align-items: end; display: grid; gap: var(--mtg-space-3); grid-template-columns: 1fr auto; }
.mtg-field { display: grid; gap: .4rem; }
.mtg-field label { font-size: .85rem; font-weight: 700; }
.mtg-field input, .mtg-field textarea, .mtg-field select { background: var(--mtg-white); border: 1px solid var(--mtg-line); border-radius: var(--mtg-radius-sm); color: var(--mtg-ink); font: inherit; min-height: 2.9rem; padding: .7rem .85rem; width: 100%; }
.mtg-newsletter .mtg-field input { border-color: rgba(255,255,255,.45); }

/* Article utilities */
.mtg-article-header { margin-inline: auto; max-width: 900px; padding-block: var(--mtg-space-7) var(--mtg-space-6); }
.mtg-article-header__meta { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem 1rem; }
.mtg-article-body :where(img,figure) { margin-block: var(--mtg-space-6); max-width: 100%; }
.mtg-related { border-top: 1px solid var(--mtg-line); margin-top: var(--mtg-space-8); padding-top: var(--mtg-space-6); }
.mtg-pagination { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-top: var(--mtg-space-6); }
.mtg-pagination a, .mtg-pagination span { border: 1px solid var(--mtg-line); border-radius: var(--mtg-radius-sm); padding: .55rem .8rem; text-decoration: none; }
.mtg-pagination .current { background: var(--mtg-forest); color: var(--mtg-white); }
.mtg-empty { background: var(--mtg-sand); border-radius: var(--mtg-radius-md); color: var(--mtg-ink-soft); padding: var(--mtg-space-6); text-align: center; }

/* Responsive behavior */
@media (max-width: 900px) {
  .mtg-section { padding-block: var(--mtg-space-7); }
  .mtg-grid--3 > *, .mtg-grid--4 > * { grid-column: span 6; }
  .mtg-h1 { font-size: clamp(2.15rem, 6vw, 3.5rem); }
}
@media (max-width: 600px) {
  .mtg-shell, .mtg-shell--wide { width: min(100% - 1.5rem, var(--mtg-content)); }
  .mtg-section { padding-block: var(--mtg-space-6); }
  .mtg-grid { gap: var(--mtg-space-4); }
  .mtg-grid--3 > *, .mtg-grid--4 > * { grid-column: 1 / -1; }
  .mtg-form__row { grid-template-columns: 1fr; }
  .mtg-button { width: 100%; }
  .mtg-article-header { padding-block: var(--mtg-space-6) var(--mtg-space-5); }
  .mtg-body { font-size: 1rem; }
}
