:root {
  --meru-navy: #1e2a5e;
  --meru-rust: #a34336;
  --meru-sand: #e6b17e;
  --meru-rule: #dce1ee;
  --meru-ground: #f2f4f9;
}
* { box-sizing: border-box; }
body { margin: 0; color: #202847; background: var(--meru-ground); font: 16px/1.65 "Manrope", sans-serif; }
a { color: #273d84; text-underline-offset: .18em; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--meru-rust); outline-offset: 4px; }
img, svg { max-width: 100%; height: auto; }
.aligncenter { display: block; margin-inline: auto; }
.meru-site-header { background: #fff; border-top: 4px solid var(--meru-navy); border-bottom: 1px solid var(--meru-rule); }
.meru-header-inner, .meru-content-wrap, .meru-footer-widgets { width: min(100% - 2.5rem, 1180px); margin-inline: auto; }
.meru-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 86px; gap: 1rem; }
.meru-logo-block { display: flex; gap: .75rem; align-items: center; }
.meru-logo-block svg { flex: none; width: 54px; }
.meru-site-title { font-weight: 800; color: var(--meru-navy); }
.meru-main-nav ul { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.meru-main-nav a { text-decoration: none; font-weight: 700; }
.meru-menu-toggle { display: none; padding: .55rem; color: var(--meru-navy); border: 1px solid var(--meru-rule); border-radius: 4px; background: #fff; }
.meru-content-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(13.5rem, .33fr); align-items: start; gap: 1.65rem; padding-block: 2rem 3rem; }
.meru-content-wrap:not(:has(.meru-sidebar-area)) { grid-template-columns: minmax(0, 1fr); }
.meru-main-area > article, .meru-sidebar-area .widget { padding: clamp(1rem, 3vw, 2.1rem); background: #fff; border: 1px solid var(--meru-rule); border-radius: 8px; min-width: 0; }
.meru-main-area h1, .meru-article-content h2 { font-family: "Merriweather", Georgia, serif; line-height: 1.28; color: var(--meru-navy); }
.meru-main-area h1 { font-size: clamp(1.65rem, 3.4vw, 2.7rem); margin: 0 0 .75rem; }
.meru-article-meta, .meru-nav-label { color: #58647d; font-size: .9rem; }
.meru-article-featured { margin-top: 1.2rem; }
.meru-article-content { overflow-wrap: anywhere; }
.meru-article-content table { display: block; max-width: 100%; overflow: auto; border-collapse: collapse; }
.meru-article-content th, .meru-article-content td { padding: .4rem; border: 1px solid var(--meru-rule); }
.meru-post-nav { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--meru-rule); }
.meru-site-footer { padding-top: 2.2rem; background: var(--meru-navy); color: #f5f3f2; }
.meru-site-footer a { color: #f6d3ad; }
.meru-footer-widgets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.meru-footer-bottom { padding: 1rem; margin-top: 1.2rem; border-top: 1px solid #546390; text-align: center; }
@media (max-width: 800px) {
  .meru-header-inner, .meru-content-wrap, .meru-footer-widgets { width: calc(100% - 1.75rem); }
  .meru-header-inner { flex-wrap: wrap; gap: .6rem; min-height: 68px; padding-block: .45rem; }
  .meru-menu-toggle { display: block; }
  .meru-main-nav { display: none; flex-basis: 100%; }
  .meru-main-nav.is-open { display: block; }
  .meru-main-nav ul { display: block; padding-bottom: .65rem; }
  .meru-main-nav li + li { margin-top: .45rem; }
  .meru-content-wrap, .meru-footer-widgets { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
}
.meru-about-section, .meru-info-banner, .meru-cta-section { padding: clamp(1rem, 4vw, 2.1rem); background: #fff; border: 1px solid var(--meru-rule); border-radius: 8px; }
.meru-about-section { border-left: 4px solid var(--meru-rust); }
.meru-section { margin-block: 2rem; }
.meru-section-title { color: var(--meru-navy); font-family: "Merriweather", Georgia, serif; }
.meru-features-grid, .meru-cards-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.meru-feature-card, .meru-post-card { min-width: 0; background: #fff; border: 1px solid var(--meru-rule); border-radius: 8px; }
.meru-feature-card, .meru-card-body { padding: 1rem; }
.meru-feature-icon svg, .meru-info-banner-icon svg { width: 40px; }
.meru-info-banner { display: flex; align-items: center; gap: 1rem; background: #f8eee2; }
.meru-hero-card { padding: clamp(1rem, 4vw, 2rem); border-radius: 8px; background: var(--meru-navy); color: #fff; margin-bottom: 1rem; }
.meru-hero-card a { color: #ffe2be; }
.meru-card-thumb img { display: block; width: 100%; }
.meru-card-title { margin-top: .3rem; line-height: 1.3; }
.meru-card-meta, .meru-reading-badge { font-size: .84rem; }
.meru-pagination { margin-top: 1.5rem; text-align: center; }
@media (max-width: 800px) { .meru-features-grid, .meru-cards-grid { grid-template-columns: minmax(0, 1fr); } }

.meru-cookie-notice {
  position: fixed;
  inset: auto 0 0;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: .75rem 1rem;
  color: #fff7e9;
  background: #1e2a5e;
  font-size: .88rem;
}
.meru-cookie-notice[hidden] { display: none; }
.meru-cookie-notice a { color: #f6d3ad; }
.meru-cookie-accept { color: #1e2a5e; background: #f6d3ad; border: 0; padding: .5rem .85rem; font: inherit; cursor: pointer; }
@media (max-width: 600px) { .meru-cookie-notice { flex-wrap: wrap; gap: .45rem; } }

.meru-menu-toggle { min-width: 42px; min-height: 40px; }
.meru-menu-toggle span { display: block; width: 21px; height: 2px; margin: 4px auto; border-radius: 1px; background: currentColor; }
