/*
 * RhamaaCMS Documentation — Forest Sanctuary Theme
 *
 * Brand palette: Deep Forest Green #0D4A3C × Gold #C8A96E × Warm White #FAFAF7
 * Typography: Cormorant Garamond (display) × DM Sans (body) × JetBrains Mono (code)
 * Code blocks: Atomize / Atom One Dark
 */

/* ===== Google Fonts ===== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;1,300&display=swap');

/* ===== Brand Tokens ===== */
:root {
  /* Green Scale */
  --rhm-950: #071e17;
  --rhm-900: #0A3328;
  --rhm-800: #0D4A3C;
  --rhm-700: #145C4B;
  --rhm-600: #1E7A63;
  --rhm-500: #29977A;
  --rhm-400: #3DB896;
  --rhm-300: #6CCFB4;
  --rhm-200: #A8E3D4;
  --rhm-100: #D4F1E9;
  --rhm-50:  #EDF9F5;

  /* Gold Scale */
  --gold-700: #7A5C22;
  --gold-600: #9E7A3C;
  --gold-500: #C8A96E;
  --gold-400: #D9BE8D;
  --gold-300: #E8D4B0;
  --gold-100: #F7EFD8;

  /* Surfaces */
  --surface-950: #0C0C0B;
  --surface-900: #1A1A18;
  --surface-800: #2A2A27;
  --surface-700: #3A3A36;
  --surface-200: #E4E4DF;
  --surface-100: #F0F0EB;
  --surface-50:  #FAFAF7;

  /* Fonts */
  --font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-sans: 'DM Sans', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  /* Atomize / Atom One Dark */
  --atom-bg:      #282c34;
  --atom-gutter:  #2c313a;
  --atom-fg:      #abb2bf;
  --atom-comment: #5c6370;
  --atom-red:     #e06c75;
  --atom-orange:  #d19a66;
  --atom-yellow:  #e5c07b;
  --atom-green:   #98c379;
  --atom-cyan:    #56b6c2;
  --atom-blue:    #61afef;
  --atom-purple:  #c678dd;

  /* Gradients */
  --grad-brand: linear-gradient(135deg, var(--rhm-300), var(--gold-400));
  --grad-gold:  linear-gradient(135deg, var(--gold-300), var(--gold-500));
  --grad-forest: linear-gradient(160deg, var(--rhm-800) 0%, var(--rhm-600) 100%);

  /* Easings */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ===== Material Theme — Light Mode ===== */
[data-md-color-scheme="default"] {
  --md-default-bg-color: var(--surface-50);
  --md-default-bg-color--light: #ffffff;
  --md-default-bg-color--lighter: var(--rhm-50);
  --md-default-fg-color: var(--surface-900);
  --md-default-fg-color--light: var(--surface-800);
  --md-default-fg-color--lighter: var(--surface-700);
  --md-typeset-a-color: var(--rhm-700);
  --md-accent-fg-color: var(--gold-500);
  --md-code-bg-color: var(--atom-bg);
  --md-code-fg-color: var(--atom-fg);
}

/* ===== Material Theme — Dark Mode ===== */
[data-md-color-scheme="slate"] {
  --md-default-bg-color: var(--surface-900);
  --md-default-bg-color--light: var(--surface-800);
  --md-default-bg-color--lighter: var(--surface-700);
  --md-default-fg-color: var(--surface-50);
  --md-default-fg-color--light: var(--surface-200);
  --md-default-fg-color--lighter: var(--surface-700);
  --md-typeset-a-color: var(--gold-400);
  --md-accent-fg-color: var(--gold-500);
  --md-code-bg-color: var(--atom-bg);
  --md-code-fg-color: var(--atom-fg);
}

/* ===== Material — Primary Color Override ===== */
[data-md-color-primary="custom"] {
  --md-primary-fg-color:        var(--rhm-800);
  --md-primary-fg-color--light: var(--rhm-600);
  --md-primary-fg-color--dark:  var(--rhm-900);
  --md-primary-bg-color:        #ffffff;
  --md-primary-bg-color--light: rgba(255,255,255,0.7);
}

/* ===== Base ===== */
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection {
  background-color: var(--rhm-200);
  color: var(--rhm-900);
}

/* ===== Typography ===== */
.md-typeset {
  font-family: var(--font-sans);
  font-size: 0.9rem;
  line-height: 1.75;
  color: var(--surface-800);
}

[data-md-color-scheme="slate"] .md-typeset {
  color: var(--surface-200);
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4,
.md-typeset h5,
.md-typeset h6 {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.md-typeset h1 {
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--rhm-800);
  margin-bottom: 1rem;
}

[data-md-color-scheme="slate"] .md-typeset h1 {
  color: var(--surface-50);
}

.md-typeset h2 {
  font-size: 2rem;
  color: var(--rhm-800);
  border-bottom: 2px solid var(--rhm-100);
  padding-bottom: 0.5rem;
  margin-top: 3rem;
  position: relative;
}

[data-md-color-scheme="slate"] .md-typeset h2 {
  color: var(--surface-50);
  border-bottom-color: var(--rhm-900);
}

.md-typeset h2::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--gold-500);
}

.md-typeset h3 {
  font-size: 1.4rem;
  color: var(--rhm-700);
  margin-top: 2rem;
}

[data-md-color-scheme="slate"] .md-typeset h3 {
  color: var(--gold-400);
}

.md-typeset h4 {
  font-size: 1.15rem;
  color: var(--rhm-600);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}

/* ===== Links ===== */
.md-typeset a {
  color: var(--rhm-700);
  text-underline-offset: 3px;
  transition: color 200ms var(--ease-out);
}

.md-typeset a:hover {
  color: var(--gold-600);
}

[data-md-color-scheme="slate"] .md-typeset a {
  color: var(--gold-400);
}

[data-md-color-scheme="slate"] .md-typeset a:hover {
  color: var(--gold-300);
}

/* ===== Header ===== */
.md-header {
  background: var(--grad-forest);
  box-shadow: 0 2px 24px rgba(7, 30, 23, 0.2);
}

.md-header__title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.md-header__button.md-logo img {
  height: 2rem;
  width: auto;
  filter: brightness(1);
}

/* ===== Navigation Tabs ===== */
.md-tabs {
  background: var(--rhm-900);
  border-bottom: 1px solid rgba(200, 169, 110, 0.15);
}

.md-tabs__link {
  font-family: var(--font-sans);
  font-size: 0.8rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.65);
  transition: color 200ms var(--ease-out);
}

.md-tabs__link:hover,
.md-tabs__link--active {
  color: var(--gold-400);
}

.md-tabs__link--active::after {
  background: var(--gold-500);
}

/* ===== Sidebar Navigation ===== */
.md-sidebar {
  background: transparent;
}

.md-nav__title {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--rhm-600);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 1.2rem 0.75rem 0.5rem;
}

[data-md-color-scheme="slate"] .md-nav__title {
  color: var(--rhm-400);
}

.md-nav__link {
  font-family: var(--font-sans);
  font-size: 0.82rem;
  color: var(--surface-700);
  border-radius: 0.375rem;
  transition: all 180ms var(--ease-out);
}

[data-md-color-scheme="slate"] .md-nav__link {
  color: var(--surface-200);
}

.md-nav__link:hover {
  color: var(--rhm-700);
  background: var(--rhm-50);
}

[data-md-color-scheme="slate"] .md-nav__link:hover {
  color: var(--gold-400);
  background: rgba(200, 169, 110, 0.08);
}

.md-nav__link--active,
.md-nav__link--active:hover {
  color: var(--rhm-800);
  font-weight: 600;
  background: var(--rhm-50);
  border-left: 3px solid var(--gold-500);
  padding-left: calc(0.75rem - 3px);
}

[data-md-color-scheme="slate"] .md-nav__link--active,
[data-md-color-scheme="slate"] .md-nav__link--active:hover {
  color: var(--gold-400);
  background: rgba(200, 169, 110, 0.1);
}

/* ===== Search ===== */
.md-search {
  border-radius: 99px;
}

.md-search__form {
  border-radius: 99px;
}

.md-search__input {
  font-family: var(--font-sans);
  background: transparent;
  border-radius: 99px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: rgba(255, 255, 255, 0.9);
  padding: 0.5rem 1rem 0.5rem 2.5rem;
  transition: all 200ms var(--ease-out);
}

.md-search__input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.md-search__input:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.4);
}

.md-search__input:focus {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--gold-400);
  box-shadow: 0 0 0 3px rgba(200, 169, 110, 0.15);
}

.md-search__icon {
  color: rgba(255, 255, 255, 0.7);
}

[data-md-color-scheme="slate"] .md-search__input {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.85);
}

[data-md-color-scheme="slate"] .md-search__input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

[data-md-color-scheme="slate"] .md-search__input:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.3);
}

[data-md-color-scheme="slate"] .md-search__input:focus {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--gold-400);
}

/* Search overlay */
.md-search__overlay {
  backdrop-filter: blur(8px);
}

/* Search result items */
.md-search-result__item {
  border-radius: 0.375rem;
  transition: background 150ms;
}

.md-search-result__item:hover {
  background: var(--rhm-50);
}

[data-md-color-scheme="slate"] .md-search-result__item:hover {
  background: rgba(200, 169, 110, 0.08);
}

.md-search-result__title {
  color: var(--rhm-800);
  font-weight: 500;
}

[data-md-color-scheme="slate"] .md-search-result__title {
  color: var(--gold-400);
}

/* ===== Code Blocks — Atomize (Atom One Dark) ===== */
.md-typeset pre {
  background: var(--atom-bg);
  border-radius: 0.625rem;
  box-shadow: 0 8px 24px rgba(7, 30, 23, 0.18), inset 0 1px 0 rgba(255,255,255,0.04);
  position: relative;
  overflow: hidden;
}

.md-typeset pre::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--rhm-500), var(--gold-500), var(--atom-purple));
  opacity: 0.8;
}

.md-typeset code {
  font-family: var(--font-mono);
  font-size: 0.82em;
  font-weight: 400;
  background: rgba(13, 74, 60, 0.08);
  color: var(--rhm-700);
  border: 1px solid rgba(13, 74, 60, 0.12);
  border-radius: 0.3em;
  padding: 0.15em 0.45em;
}

[data-md-color-scheme="slate"] .md-typeset code {
  background: rgba(200, 169, 110, 0.1);
  color: var(--gold-400);
  border-color: rgba(200, 169, 110, 0.15);
}

.md-typeset pre > code {
  font-family: var(--font-mono);
  font-size: 0.84rem;
  line-height: 1.7;
  color: var(--atom-fg);
  background: transparent;
  border: none;
  padding: 0;
}

/* Atomize — Pygments token overrides */
.md-typeset .highlight .hll              { background: rgba(200, 169, 110, 0.12); }
.md-typeset .highlight .c,
.md-typeset .highlight .cm,
.md-typeset .highlight .c1,
.md-typeset .highlight .cs              { color: var(--atom-comment); font-style: italic; }
.md-typeset .highlight .k,
.md-typeset .highlight .kc,
.md-typeset .highlight .kd,
.md-typeset .highlight .kn,
.md-typeset .highlight .kp,
.md-typeset .highlight .kr,
.md-typeset .highlight .kt              { color: var(--atom-purple); }
.md-typeset .highlight .nb,
.md-typeset .highlight .bp              { color: var(--atom-cyan); }
.md-typeset .highlight .s,
.md-typeset .highlight .sa,
.md-typeset .highlight .sb,
.md-typeset .highlight .sc,
.md-typeset .highlight .dl,
.md-typeset .highlight .sd,
.md-typeset .highlight .s2,
.md-typeset .highlight .se,
.md-typeset .highlight .sh,
.md-typeset .highlight .si,
.md-typeset .highlight .sx,
.md-typeset .highlight .sr,
.md-typeset .highlight .s1,
.md-typeset .highlight .ss              { color: var(--atom-green); }
.md-typeset .highlight .m,
.md-typeset .highlight .mf,
.md-typeset .highlight .mh,
.md-typeset .highlight .mi,
.md-typeset .highlight .mo,
.md-typeset .highlight .il              { color: var(--atom-orange); }
.md-typeset .highlight .n,
.md-typeset .highlight .na,
.md-typeset .highlight .nc,
.md-typeset .highlight .nd,
.md-typeset .highlight .ne,
.md-typeset .highlight .nf,
.md-typeset .highlight .fm              { color: var(--atom-blue); }
.md-typeset .highlight .ni,
.md-typeset .highlight .nl,
.md-typeset .highlight .nn,
.md-typeset .highlight .nt              { color: var(--atom-red); }
.md-typeset .highlight .nv,
.md-typeset .highlight .vc,
.md-typeset .highlight .vg,
.md-typeset .highlight .vi,
.md-typeset .highlight .vm              { color: var(--atom-red); }
.md-typeset .highlight .ow,
.md-typeset .highlight .o               { color: var(--atom-cyan); }
.md-typeset .highlight .p               { color: var(--atom-fg); }
.md-typeset .highlight .err             { color: var(--atom-red); background: transparent; }
.md-typeset .highlight .gd              { color: var(--atom-red); }
.md-typeset .highlight .gi              { color: var(--atom-green); }
.md-typeset .highlight .ge              { font-style: italic; }
.md-typeset .highlight .gs              { font-weight: bold; }

/* Line numbers */
.md-typeset .highlight .ln,
.md-typeset .highlight table td:first-child {
  color: var(--atom-comment);
  border-right: 1px solid var(--atom-gutter);
  padding-right: 1rem;
  min-width: 2.5rem;
  user-select: none;
}

/* Copy button */
.md-clipboard {
  color: var(--atom-comment);
  transition: color 200ms;
}

.md-clipboard:hover {
  color: var(--gold-400);
}

/* ===== Tables ===== */
.md-typeset table:not([class]) {
  background: #ffffff;
  border: 1px solid var(--surface-200);
  border-radius: 0.625rem;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(7, 30, 23, 0.06);
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) {
  background: var(--surface-800);
  border-color: var(--surface-700);
}

.md-typeset table:not([class]) th {
  background: var(--rhm-800);
  color: #ffffff;
  font-family: var(--font-display);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-bottom: 2px solid var(--gold-500);
  padding: 0.85rem 1rem;
}

.md-typeset table:not([class]) td {
  border-bottom: 1px solid var(--surface-100);
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) td {
  border-bottom-color: var(--surface-700);
}

.md-typeset table:not([class]) tr:last-child td {
  border-bottom: none;
}

.md-typeset table:not([class]) tr:hover td {
  background: var(--rhm-50);
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) tr:hover td {
  background: rgba(200, 169, 110, 0.04);
}

/* ===== Admonitions ===== */
.md-typeset .admonition,
.md-typeset details {
  border-radius: 0.5rem;
  border-width: 0;
  border-left: 4px solid var(--rhm-500);
  background: var(--rhm-50);
  box-shadow: 0 2px 8px rgba(7, 30, 23, 0.07);
}

[data-md-color-scheme="slate"] .md-typeset .admonition,
[data-md-color-scheme="slate"] .md-typeset details {
  background: var(--rhm-950);
}

.md-typeset .admonition.note,
.md-typeset .admonition.info {
  border-left-color: var(--rhm-500);
}

.md-typeset .admonition.tip,
.md-typeset .admonition.hint {
  border-left-color: var(--gold-500);
  background: var(--gold-100);
}

[data-md-color-scheme="slate"] .md-typeset .admonition.tip,
[data-md-color-scheme="slate"] .md-typeset .admonition.hint {
  background: rgba(200, 169, 110, 0.08);
}

.md-typeset .admonition.warning,
.md-typeset .admonition.caution {
  border-left-color: #d97706;
  background: #fffbeb;
}

.md-typeset .admonition.danger,
.md-typeset .admonition.error {
  border-left-color: #dc2626;
  background: #fef2f2;
}

.md-typeset .admonition-title,
.md-typeset summary {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1rem;
}

/* ===== Buttons ===== */
.md-button {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 0.4rem;
  padding: 0.65rem 1.5rem;
  transition: all 240ms var(--ease-out);
}

.md-button--primary {
  background: var(--rhm-800);
  color: #ffffff;
  border-color: var(--rhm-800);
  box-shadow: 0 2px 8px rgba(7, 30, 23, 0.2);
}

.md-button--primary:hover {
  background: var(--rhm-700);
  border-color: var(--rhm-700);
  box-shadow: 0 4px 16px rgba(7, 30, 23, 0.28);
  transform: translateY(-1px);
  color: #ffffff;
}

.md-button:not(.md-button--primary) {
  background: transparent;
  color: var(--rhm-800);
  border: 2px solid var(--rhm-300);
}

.md-button:not(.md-button--primary):hover {
  background: var(--rhm-50);
  border-color: var(--rhm-500);
  color: var(--rhm-800);
}

/* ===== Material Cards ===== */
.md-typeset .grid.cards > * {
  background: #ffffff;
  border: 1px solid var(--surface-200);
  border-radius: 0.75rem;
  box-shadow: 0 2px 12px rgba(7, 30, 23, 0.06);
  transition: all 240ms var(--ease-out);
  position: relative;
  overflow: hidden;
}

[data-md-color-scheme="slate"] .md-typeset .grid.cards > * {
  background: var(--surface-800);
  border-color: var(--surface-700);
}

.md-typeset .grid.cards > *::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--grad-gold);
  opacity: 0;
  transition: opacity 240ms var(--ease-out);
}

.md-typeset .grid.cards > *:hover {
  transform: translateY(-3px);
  border-color: var(--rhm-200);
  box-shadow: 0 12px 32px rgba(7, 30, 23, 0.12);
}

.md-typeset .grid.cards > *:hover::before {
  opacity: 1;
}

.md-typeset .grid.cards > * > *:first-child {
  color: var(--rhm-700);
}

[data-md-color-scheme="slate"] .md-typeset .grid.cards > * > *:first-child {
  color: var(--gold-400);
}

/* ===== Content Tabs ===== */
.md-typeset .tabbed-set {
  border-radius: 0.5rem;
  overflow: hidden;
  border: 1px solid var(--surface-200);
}

[data-md-color-scheme="slate"] .md-typeset .tabbed-set {
  border-color: var(--surface-700);
}

.md-typeset .tabbed-labels {
  background: var(--surface-100);
  border-bottom: 1px solid var(--surface-200);
  gap: 0;
}

[data-md-color-scheme="slate"] .md-typeset .tabbed-labels {
  background: var(--surface-800);
  border-bottom-color: var(--surface-700);
}

.md-typeset .tabbed-labels > label {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--surface-700);
  padding: 0.75rem 1.25rem;
  transition: all 180ms var(--ease-out);
  border-bottom: 2px solid transparent;
}

.md-typeset .tabbed-labels > label:hover {
  color: var(--rhm-700);
  background: var(--rhm-50);
}

.md-typeset .tabbed-content {
  background: var(--surface-50);
}

[data-md-color-scheme="slate"] .md-typeset .tabbed-content {
  background: var(--surface-900);
}

/* ===== Horizontal Rule ===== */
.md-typeset hr {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--rhm-200), var(--gold-300), var(--rhm-200), transparent);
  margin: 3rem 0;
}

[data-md-color-scheme="slate"] .md-typeset hr {
  background: linear-gradient(90deg, transparent, var(--rhm-800), var(--gold-700), var(--rhm-800), transparent);
}

/* ===== Scrollbar ===== */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--surface-100);
}

::-webkit-scrollbar-thumb {
  background: var(--rhm-300);
  border-radius: 99px;
  border: 2px solid var(--surface-100);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--gold-500);
}

[data-md-color-scheme="slate"]::-webkit-scrollbar-track {
  background: var(--surface-900);
}

[data-md-color-scheme="slate"]::-webkit-scrollbar-thumb {
  background: var(--rhm-700);
  border-color: var(--surface-900);
}

/* ===== Footer ===== */
.md-footer {
  background: var(--rhm-900);
  border-top: 1px solid rgba(200, 169, 110, 0.15);
}

.md-footer-meta {
  background: var(--rhm-950);
}

.md-footer__link {
  font-family: var(--font-sans);
}

/* ===== TOC ===== */
.md-nav--secondary .md-nav__title {
  font-size: 0.7rem;
  color: var(--gold-600);
}

.md-nav--secondary .md-nav__link {
  font-size: 0.78rem;
}

.md-nav--secondary .md-nav__link--active {
  color: var(--gold-600);
  border-left-color: var(--gold-500);
}

[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__title {
  color: var(--gold-400);
}

[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__link--active {
  color: var(--gold-400);
}

/* ===== Keyboard keys ===== */
.md-typeset kbd {
  font-family: var(--font-mono);
  background: var(--surface-100);
  border: 1px solid var(--surface-200);
  border-bottom: 2px solid var(--surface-200);
  border-radius: 0.3rem;
  color: var(--surface-800);
  font-size: 0.78em;
}

/* ===== Mark (highlight) ===== */
.md-typeset mark {
  background: var(--gold-100);
  color: var(--gold-700);
  padding: 0.1em 0.2em;
  border-radius: 0.2em;
}

/* ===== Animations ===== */
@keyframes fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes logo-pulse {
  0%, 100% { filter: drop-shadow(0 0 8px rgba(13, 74, 60, 0.4)); }
  50%       { filter: drop-shadow(0 0 20px rgba(200, 169, 110, 0.5)); }
}

@keyframes shimmer-gold {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.animate-fade-up {
  animation: fade-up 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.animation-delay-100 { animation-delay: 100ms; }
.animation-delay-200 { animation-delay: 200ms; }
.animation-delay-300 { animation-delay: 300ms; }
.animation-delay-400 { animation-delay: 400ms; }
.animation-delay-500 { animation-delay: 500ms; }

/* ===== Print ===== */
@media print {
  .md-header,
  .md-footer,
  .md-sidebar,
  .md-nav {
    display: none;
  }
}
