@font-face {
  font-family: 'Aleo';
  src: url('../fonts/Aleo-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}

@font-face {
  font-family: 'Aleo';
  src: url('../fonts/Aleo-Italic.woff2') format('woff2');
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
}

:root {
  --mrh-violet: #2D1B4E;
  --mrh-cream: #F5EDD6;
  --mrh-smoke: #8A8078;
  --mrh-amber: #E8A020;
  --mrh-clay: #7A3B1E;
  --mrh-jade: #3D7A5C;
  --mrh-blue: #4A6FA5;
  --mrh-violet-light: #3e2866;
  --mrh-cream-dark: #EAD9B4;
  --mrh-amber-light: #F5BC4A;
  --mrh-jade-light: #5A9E7A;
  --mrh-radius-sm: 4px;
  --mrh-radius-md: 8px;
  --mrh-radius-lg: 16px;
  --mrh-gap: clamp(1rem, 3vw, 2rem);
  --mrh-section-pad: clamp(2.5rem, 6vw, 5rem);
  --mrh-font: 'Aleo', Georgia, serif;
  --mrh-fs-xs: clamp(0.75rem, 1.5vw, 0.875rem);
  --mrh-fs-sm: clamp(0.875rem, 1.8vw, 1rem);
  --mrh-fs-base: clamp(1rem, 2vw, 1.125rem);
  --mrh-fs-md: clamp(1.125rem, 2.5vw, 1.375rem);
  --mrh-fs-lg: clamp(1.375rem, 3vw, 1.875rem);
  --mrh-fs-xl: clamp(1.75rem, 4vw, 2.5rem);
  --mrh-fs-2xl: clamp(2rem, 5vw, 3.25rem);
  --mrh-transition: 0.28s ease;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; background-color: var(--mrh-cream); color: var(--mrh-violet); font-family: var(--mrh-font); font-size: 100%; }

body { min-height: 100vh; line-height: 1.6; overflow-x: hidden; }

:focus-visible { outline: 3px solid var(--mrh-amber); outline-offset: 3px; border-radius: var(--mrh-radius-sm); }

img { max-width: 100%; height: auto; display: block; }

a { color: inherit; text-decoration: underline; text-decoration-color: transparent; transition: text-decoration-color var(--mrh-transition), color var(--mrh-transition); }
a:hover { text-decoration-color: currentColor; }

ul, ol { list-style: none; }

.mrh-skip { position: absolute; inset-block-start: -100%; inset-inline-start: 1rem; background: var(--mrh-amber); color: var(--mrh-violet); padding: 0.5rem 1rem; font-weight: 700; border-radius: var(--mrh-radius-sm); z-index: 9999; text-decoration: none; }
.mrh-skip:focus { inset-block-start: 1rem; }

.mrh-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.mrh-progress-bar { position: fixed; inset-block-start: 0; inset-inline-start: 0; height: 3px; background: var(--mrh-amber); width: 0%; z-index: 1000; transition: width 0.1s linear; }

.mrh-command-bar { background: var(--mrh-violet); color: var(--mrh-cream); font-size: var(--mrh-fs-xs); padding: 0.375rem clamp(1rem, 4vw, 2rem); display: flex; align-items: center; justify-content: space-between; gap: 1rem; position: relative; z-index: 90; }
.mrh-command-bar a { color: var(--mrh-amber-light); font-weight: 600; }
.mrh-command-bar-toggle { background: none; border: none; cursor: pointer; color: var(--mrh-smoke); font-size: var(--mrh-fs-sm); display: flex; align-items: center; gap: 0.25rem; }
.mrh-command-bar[data-collapsed="true"] .mrh-command-bar-inner { display: none; }
.mrh-command-bar-inner { display: flex; align-items: center; gap: clamp(0.5rem, 2vw, 1.5rem); flex-wrap: wrap; }

.mrh-header { background: var(--mrh-violet); position: sticky; inset-block-start: 0; z-index: 80; box-shadow: 0 2px 12px rgba(45,27,78,0.35); }
.mrh-header-inner { max-width: 1440px; margin-inline: auto; padding: 0.75rem clamp(1rem, 4vw, 2.5rem); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.mrh-logo-wrap { display: flex; align-items: center; gap: 0.625rem; text-decoration: none; }
.mrh-logo-wrap img { width: clamp(36px, 5vw, 48px); height: clamp(36px, 5vw, 48px); object-fit: contain; border-radius: var(--mrh-radius-sm); }
.mrh-logo-text { font-size: var(--mrh-fs-md); font-weight: 700; color: var(--mrh-cream); letter-spacing: 0.02em; line-height: 1.2; }
.mrh-logo-text span { color: var(--mrh-amber); }

.mrh-nav { display: flex; align-items: center; gap: 0.25rem; }
.mrh-nav a { color: var(--mrh-cream); font-size: var(--mrh-fs-sm); font-weight: 400; padding: 0.375rem 0.625rem; border-radius: var(--mrh-radius-sm); transition: background var(--mrh-transition), color var(--mrh-transition); white-space: nowrap; }
.mrh-nav a:hover, .mrh-nav a[aria-current="page"] { background: rgba(232,160,32,0.18); color: var(--mrh-amber-light); }
.mrh-nav-cta { background: var(--mrh-amber) !important; color: var(--mrh-violet) !important; font-weight: 700 !important; padding: 0.4rem 1rem !important; }
.mrh-nav-cta:hover { background: var(--mrh-amber-light) !important; }

.mrh-burger { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 40px; height: 40px; background: none; border: 2px solid var(--mrh-smoke); border-radius: var(--mrh-radius-sm); cursor: pointer; padding: 0; }
.mrh-burger span { display: block; width: 22px; height: 2px; background: var(--mrh-cream); border-radius: 2px; transition: transform var(--mrh-transition), opacity var(--mrh-transition); }
.mrh-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mrh-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mrh-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mrh-drawer { position: fixed; inset: 0; z-index: 79; pointer-events: none; }
.mrh-drawer-backdrop { position: absolute; inset: 0; background: rgba(45,27,78,0.6); opacity: 0; transition: opacity var(--mrh-transition); }
.mrh-drawer-panel { position: absolute; inset-block: 0; inset-inline-end: 0; width: min(300px, 85vw); background: var(--mrh-violet); padding: 4rem 1.5rem 2rem; display: flex; flex-direction: column; gap: 0.25rem; transform: translateX(110%); transition: transform var(--mrh-transition); overflow-y: auto; }
.mrh-drawer[aria-hidden="false"] { pointer-events: all; }
.mrh-drawer[aria-hidden="false"] .mrh-drawer-backdrop { opacity: 1; }
.mrh-drawer[aria-hidden="false"] .mrh-drawer-panel { transform: translateX(0); }
.mrh-drawer-panel a { color: var(--mrh-cream); font-size: var(--mrh-fs-base); padding: 0.625rem 0.75rem; border-radius: var(--mrh-radius-sm); display: block; transition: background var(--mrh-transition), color var(--mrh-transition); }
.mrh-drawer-panel a:hover { background: rgba(232,160,32,0.18); color: var(--mrh-amber-light); }
.mrh-drawer-close { position: absolute; inset-block-start: 0.75rem; inset-inline-end: 0.75rem; background: none; border: none; cursor: pointer; color: var(--mrh-smoke); font-size: 1.5rem; line-height: 1; padding: 0.25rem; }

.mrh-chapter-beads { position: fixed; inset-inline-start: clamp(4px, 1.5vw, 18px); inset-block-start: 50%; transform: translateY(-50%); z-index: 70; display: flex; flex-direction: column; gap: 0.625rem; }
.mrh-bead { width: 10px; height: 10px; border-radius: 50%; background: var(--mrh-smoke); border: 2px solid transparent; cursor: pointer; transition: background var(--mrh-transition), transform var(--mrh-transition); display: block; text-decoration: none; }
.mrh-bead:hover, .mrh-bead.mrh-bead--active { background: var(--mrh-amber); transform: scale(1.4); }
.mrh-bead[data-label]::after { content: attr(data-label); position: absolute; inset-inline-start: 1.25rem; background: var(--mrh-violet); color: var(--mrh-cream); font-size: 0.7rem; padding: 0.2rem 0.5rem; border-radius: var(--mrh-radius-sm); white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity var(--mrh-transition); }
.mrh-bead:hover[data-label]::after { opacity: 1; }

main { outline: none; }

.mrh-threshold-hero { background: var(--mrh-violet); color: var(--mrh-cream); padding-block: var(--mrh-section-pad); overflow: hidden; position: relative; }
.mrh-threshold-hero::before { content: ''; position: absolute; inset-block-end: 0; inset-inline-start: 0; width: 100%; height: 6px; background: linear-gradient(90deg, var(--mrh-amber), var(--mrh-jade), var(--mrh-blue)); }
.mrh-hero-grid { max-width: 1440px; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2.5rem); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.mrh-hero-label { font-size: var(--mrh-fs-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mrh-amber); margin-block-end: 1rem; }
.mrh-hero-heading { font-size: var(--mrh-fs-2xl); font-weight: 700; line-height: 1.15; margin-block-end: 1.25rem; color: var(--mrh-cream); }
.mrh-hero-heading em { font-style: italic; color: var(--mrh-amber); }
.mrh-hero-body { font-size: var(--mrh-fs-base); line-height: 1.7; color: rgba(245,237,214,0.85); margin-block-end: 2rem; max-width: 55ch; }
.mrh-hero-img-wrap { position: relative; }
.mrh-hero-img-wrap img { border-radius: var(--mrh-radius-lg); box-shadow: 8px 8px 0 var(--mrh-amber); }
.mrh-hero-img-wrap::after { content: ''; position: absolute; inset-block-start: -12px; inset-inline-end: -12px; width: 80px; height: 80px; border: 3px solid var(--mrh-jade); border-radius: 50%; pointer-events: none; }

.mrh-btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.65rem 1.5rem; border-radius: var(--mrh-radius-sm); font-size: var(--mrh-fs-sm); font-weight: 700; font-family: var(--mrh-font); cursor: pointer; border: 2px solid transparent; transition: background var(--mrh-transition), color var(--mrh-transition), border-color var(--mrh-transition), box-shadow var(--mrh-transition); text-decoration: none; line-height: 1.3; }
.mrh-btn--amber { background: var(--mrh-amber); color: var(--mrh-violet); border-color: var(--mrh-amber); }
.mrh-btn--amber:hover { background: var(--mrh-amber-light); border-color: var(--mrh-amber-light); box-shadow: 0 4px 14px rgba(232,160,32,0.4); }
.mrh-btn--jade { background: var(--mrh-jade); color: var(--mrh-cream); border-color: var(--mrh-jade); }
.mrh-btn--jade:hover { background: var(--mrh-jade-light); border-color: var(--mrh-jade-light); }
.mrh-btn--outline { background: transparent; color: var(--mrh-cream); border-color: var(--mrh-cream); }
.mrh-btn--outline:hover { background: rgba(245,237,214,0.12); }
.mrh-btn--outline-amber { background: transparent; color: var(--mrh-amber); border-color: var(--mrh-amber); }
.mrh-btn--outline-amber:hover { background: rgba(232,160,32,0.12); }
.mrh-btn--clay { background: var(--mrh-clay); color: var(--mrh-cream); border-color: var(--mrh-clay); }
.mrh-btn--clay:hover { background: #9A4B2E; }

.mrh-section { padding-block: var(--mrh-section-pad); }
.mrh-section--cream { background: var(--mrh-cream); }
.mrh-section--cream-dark { background: var(--mrh-cream-dark); }
.mrh-section--violet { background: var(--mrh-violet); color: var(--mrh-cream); }
.mrh-section--jade { background: var(--mrh-jade); color: var(--mrh-cream); }
.mrh-section--smoke { background: #F0E8D4; }

.mrh-container { max-width: 1440px; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2.5rem); }

.mrh-section-label { font-size: var(--mrh-fs-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mrh-amber); margin-block-end: 0.75rem; }
.mrh-section-label--jade { color: var(--mrh-jade); }
.mrh-section-label--smoke { color: var(--mrh-smoke); }

.mrh-section-title { font-size: var(--mrh-fs-xl); font-weight: 700; line-height: 1.2; margin-block-end: 0.875rem; text-wrap: balance; }
.mrh-section-title--center { text-align: center; }
.mrh-section-desc { font-size: var(--mrh-fs-base); line-height: 1.7; max-width: 60ch; margin-block-end: 2rem; color: var(--mrh-smoke); }
.mrh-section-desc--center { text-align: center; margin-inline: auto; }
.mrh-section-desc--light { color: rgba(245,237,214,0.8); }

.mrh-offset-panel { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.mrh-offset-panel--reverse { direction: rtl; }
.mrh-offset-panel--reverse > * { direction: ltr; }
.mrh-offset-img { position: relative; }
.mrh-offset-img img { border-radius: var(--mrh-radius-md); }
.mrh-offset-img--raised { box-shadow: -8px 8px 0 var(--mrh-clay); }
.mrh-offset-img--jade { box-shadow: 8px -8px 0 var(--mrh-jade); }

.mrh-knowledge-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--mrh-gap); }

.mrh-card { background: var(--mrh-cream); border-radius: var(--mrh-radius-md); overflow: hidden; border: 1px solid var(--mrh-cream-dark); transition: box-shadow var(--mrh-transition), transform var(--mrh-transition); }
.mrh-card:hover { box-shadow: 0 8px 28px rgba(45,27,78,0.14); transform: translateY(-3px); }
.mrh-card--violet { background: var(--mrh-violet-light); border-color: var(--mrh-violet); color: var(--mrh-cream); }
.mrh-card--jade { background: var(--mrh-jade); border-color: var(--mrh-jade); color: var(--mrh-cream); }
.mrh-card--amber { background: var(--mrh-amber); border-color: var(--mrh-amber); color: var(--mrh-violet); }
.mrh-card-img { width: 100%; height: 180px; object-fit: cover; display: block; }
.mrh-card-body { padding: 1.25rem; }
.mrh-card-eyebrow { font-size: var(--mrh-fs-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mrh-amber); margin-block-end: 0.375rem; }
.mrh-card--violet .mrh-card-eyebrow, .mrh-card--jade .mrh-card-eyebrow { color: var(--mrh-amber-light); }
.mrh-card--amber .mrh-card-eyebrow { color: var(--mrh-violet); }
.mrh-card-title { font-size: var(--mrh-fs-md); font-weight: 700; margin-block-end: 0.5rem; line-height: 1.3; }
.mrh-card-text { font-size: var(--mrh-fs-sm); line-height: 1.6; color: var(--mrh-smoke); }
.mrh-card--violet .mrh-card-text, .mrh-card--jade .mrh-card-text { color: rgba(245,237,214,0.8); }
.mrh-card--amber .mrh-card-text { color: var(--mrh-violet); }
.mrh-card-link { display: inline-flex; align-items: center; gap: 0.25rem; font-size: var(--mrh-fs-sm); font-weight: 700; color: var(--mrh-jade); margin-block-start: 0.75rem; text-decoration: none; }
.mrh-card-link:hover { color: var(--mrh-jade-light); text-decoration: underline; }
.mrh-card--violet .mrh-card-link, .mrh-card--jade .mrh-card-link { color: var(--mrh-amber-light); }

.mrh-symbol-strip { display: flex; gap: 1.5rem; overflow-x: auto; padding-block: 1.25rem; scrollbar-width: thin; scrollbar-color: var(--mrh-amber) transparent; -webkit-overflow-scrolling: touch; }
.mrh-symbol-strip::-webkit-scrollbar { height: 4px; }
.mrh-symbol-strip::-webkit-scrollbar-track { background: transparent; }
.mrh-symbol-strip::-webkit-scrollbar-thumb { background: var(--mrh-amber); border-radius: 2px; }
.mrh-symbol-chip { flex-shrink: 0; background: var(--mrh-violet); color: var(--mrh-cream); padding: 0.5rem 1.125rem; border-radius: 999px; font-size: var(--mrh-fs-sm); font-weight: 600; white-space: nowrap; border: 1.5px solid rgba(232,160,32,0.3); transition: background var(--mrh-transition), border-color var(--mrh-transition); cursor: default; }
.mrh-symbol-chip:hover { background: var(--mrh-violet-light); border-color: var(--mrh-amber); }

.mrh-paper-card { background: var(--mrh-cream); border-radius: var(--mrh-radius-md); padding: 1.5rem; border-inline-start: 4px solid var(--mrh-amber); box-shadow: 0 2px 8px rgba(45,27,78,0.08); }
.mrh-paper-card--jade { border-inline-start-color: var(--mrh-jade); }
.mrh-paper-card--clay { border-inline-start-color: var(--mrh-clay); }
.mrh-paper-card--blue { border-inline-start-color: var(--mrh-blue); }
.mrh-paper-card-title { font-size: var(--mrh-fs-md); font-weight: 700; margin-block-end: 0.5rem; color: var(--mrh-violet); }
.mrh-paper-card-text { font-size: var(--mrh-fs-sm); line-height: 1.65; color: var(--mrh-smoke); }

.mrh-table-wrap { overflow-x: auto; border-radius: var(--mrh-radius-md); box-shadow: 0 2px 12px rgba(45,27,78,0.1); }
table.mrh-table { width: 100%; border-collapse: collapse; font-size: var(--mrh-fs-sm); }
.mrh-table thead { background: var(--mrh-violet); color: var(--mrh-cream); }
.mrh-table th { padding: 0.875rem 1rem; text-align: start; font-weight: 700; letter-spacing: 0.04em; white-space: nowrap; }
.mrh-table td { padding: 0.75rem 1rem; border-block-end: 1px solid var(--mrh-cream-dark); color: var(--mrh-violet); vertical-align: top; }
.mrh-table tbody tr:nth-child(even) td { background: rgba(245,237,214,0.5); }
.mrh-table tbody tr:hover td { background: rgba(232,160,32,0.08); }

.mrh-faq-list { display: flex; flex-direction: column; gap: 0.625rem; max-width: 860px; margin-inline: auto; }
.mrh-faq-item { background: var(--mrh-cream); border: 1px solid var(--mrh-cream-dark); border-radius: var(--mrh-radius-md); overflow: hidden; }
.mrh-faq-item--violet { background: var(--mrh-violet-light); border-color: var(--mrh-violet); color: var(--mrh-cream); }
.mrh-faq-btn { width: 100%; text-align: start; background: none; border: none; padding: 1.125rem 1.25rem; font-size: var(--mrh-fs-base); font-weight: 700; font-family: var(--mrh-font); cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; color: inherit; line-height: 1.4; }
.mrh-faq-btn::after { content: '+'; font-size: 1.4rem; font-weight: 300; flex-shrink: 0; transition: transform var(--mrh-transition); color: var(--mrh-amber); line-height: 1; }
.mrh-faq-btn[aria-expanded="true"]::after { transform: rotate(45deg); }
.mrh-faq-answer { display: none; padding: 0 1.25rem 1.25rem; font-size: var(--mrh-fs-sm); line-height: 1.7; color: var(--mrh-smoke); }
.mrh-faq-item--violet .mrh-faq-answer { color: rgba(245,237,214,0.8); }
.mrh-faq-answer.mrh-faq--open { display: block; }

.mrh-form-group { display: flex; flex-direction: column; gap: 0.375rem; }
.mrh-form-label { font-size: var(--mrh-fs-sm); font-weight: 700; color: var(--mrh-violet); }
.mrh-form-label--light { color: var(--mrh-cream); }
.mrh-form-input, .mrh-form-select, .mrh-form-textarea { width: 100%; padding: 0.625rem 0.875rem; border: 1.5px solid var(--mrh-cream-dark); border-radius: var(--mrh-radius-sm); font-size: var(--mrh-fs-sm); font-family: var(--mrh-font); color: var(--mrh-violet); background: #fff; transition: border-color var(--mrh-transition), box-shadow var(--mrh-transition); line-height: 1.5; }
.mrh-form-input:focus, .mrh-form-select:focus, .mrh-form-textarea:focus { border-color: var(--mrh-amber); box-shadow: 0 0 0 3px rgba(232,160,32,0.25); outline: none; }
.mrh-form-input--error { border-color: #c0392b; }
.mrh-form-error { font-size: var(--mrh-fs-xs); color: #c0392b; font-weight: 600; display: none; }
.mrh-form-error.mrh-visible { display: block; }
.mrh-form-textarea { min-height: 120px; resize: vertical; }
.mrh-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--mrh-gap); }
.mrh-form-full { grid-column: 1 / -1; }
.mrh-form-note { font-size: var(--mrh-fs-xs); color: var(--mrh-smoke); margin-block-start: 0.25rem; }

.mrh-disclaimer { background: rgba(138,128,120,0.12); border-radius: var(--mrh-radius-sm); padding: 0.875rem 1.125rem; font-size: var(--mrh-fs-xs); color: var(--mrh-smoke); line-height: 1.6; border-inline-start: 3px solid var(--mrh-smoke); }
.mrh-disclaimer--light { background: rgba(245,237,214,0.08); color: rgba(245,237,214,0.65); border-inline-start-color: rgba(245,237,214,0.3); }

.mrh-tabs { display: flex; gap: 0; border-block-end: 2px solid var(--mrh-cream-dark); margin-block-end: 1.5rem; overflow-x: auto; }
.mrh-tab-btn { background: none; border: none; font-family: var(--mrh-font); font-size: var(--mrh-fs-sm); font-weight: 600; padding: 0.625rem 1.125rem; cursor: pointer; color: var(--mrh-smoke); border-block-end: 2px solid transparent; margin-block-end: -2px; transition: color var(--mrh-transition), border-color var(--mrh-transition); white-space: nowrap; }
.mrh-tab-btn:hover { color: var(--mrh-violet); }
.mrh-tab-btn[aria-selected="true"] { color: var(--mrh-amber); border-block-end-color: var(--mrh-amber); }
.mrh-tab-panel { display: none; }
.mrh-tab-panel.mrh-tab--active { display: block; }

.mrh-reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.55s ease, transform 0.55s ease; }
.mrh-reveal.mrh-revealed { opacity: 1; transform: none; }

.mrh-grid-masonry { columns: 3; gap: var(--mrh-gap); }
.mrh-grid-masonry > * { break-inside: avoid; margin-block-end: var(--mrh-gap); }

.mrh-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.mrh-cal-header-cell { background: var(--mrh-violet); color: var(--mrh-amber); font-size: var(--mrh-fs-xs); font-weight: 700; text-align: center; padding: 0.5rem 0.25rem; text-transform: uppercase; letter-spacing: 0.06em; }
.mrh-cal-cell { background: var(--mrh-cream); border: 1px solid var(--mrh-cream-dark); padding: 0.5rem; min-height: 60px; font-size: var(--mrh-fs-xs); color: var(--mrh-violet); position: relative; }
.mrh-cal-cell--marked { background: rgba(232,160,32,0.15); border-color: var(--mrh-amber); }
.mrh-cal-cell--jade { background: rgba(61,122,92,0.12); border-color: var(--mrh-jade); }
.mrh-cal-cell-num { font-weight: 700; font-size: 0.75rem; margin-block-end: 0.25rem; }
.mrh-cal-cell-note { font-size: 0.65rem; color: var(--mrh-smoke); line-height: 1.3; }

.mrh-legend-map-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--mrh-gap); }
.mrh-region-card { background: var(--mrh-cream); border-radius: var(--mrh-radius-md); overflow: hidden; border: 1px solid var(--mrh-cream-dark); position: relative; }
.mrh-region-card::before { content: ''; position: absolute; inset-block-start: 0; inset-inline-start: 0; inset-inline-end: 0; height: 5px; }
.mrh-region-card--norte::before { background: var(--mrh-clay); }
.mrh-region-card--centro::before { background: var(--mrh-amber); }
.mrh-region-card--sur::before { background: var(--mrh-jade); }
.mrh-region-card--costa::before { background: var(--mrh-blue); }
.mrh-region-card-body { padding: 1.25rem; }
.mrh-region-badge { display: inline-block; font-size: var(--mrh-fs-xs); font-weight: 700; padding: 0.2rem 0.625rem; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.08em; margin-block-end: 0.625rem; }
.mrh-badge--norte { background: rgba(122,59,30,0.15); color: var(--mrh-clay); }
.mrh-badge--centro { background: rgba(232,160,32,0.18); color: var(--mrh-clay); }
.mrh-badge--sur { background: rgba(61,122,92,0.15); color: var(--mrh-jade); }
.mrh-badge--costa { background: rgba(74,111,165,0.15); color: var(--mrh-blue); }

.mrh-glossary-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0; border: 1px solid var(--mrh-cream-dark); border-radius: var(--mrh-radius-md); overflow: hidden; }
.mrh-glossary-term { border-block-end: 1px solid var(--mrh-cream-dark); padding: 0.875rem 1.125rem; display: grid; grid-template-columns: 1fr 2fr; gap: 0.75rem; align-items: start; }
.mrh-glossary-term:last-child { border-block-end: none; }
.mrh-glossary-word { font-weight: 700; font-size: var(--mrh-fs-sm); color: var(--mrh-violet); }
.mrh-glossary-def { font-size: var(--mrh-fs-sm); color: var(--mrh-smoke); line-height: 1.6; }

.mrh-contact-layout { display: grid; grid-template-columns: 1fr 1.4fr; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.mrh-contact-detail { display: flex; flex-direction: column; gap: 1.125rem; }
.mrh-contact-item { display: flex; align-items: flex-start; gap: 0.75rem; font-size: var(--mrh-fs-sm); color: var(--mrh-smoke); }
.mrh-contact-item strong { color: var(--mrh-violet); display: block; font-size: var(--mrh-fs-sm); margin-block-end: 0.2rem; }
.mrh-contact-icon { width: 36px; height: 36px; background: var(--mrh-amber); border-radius: var(--mrh-radius-sm); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1rem; color: var(--mrh-violet); font-weight: 900; }

.mrh-footer { background: var(--mrh-violet); color: var(--mrh-cream); padding-block: clamp(2rem, 5vw, 3.5rem) 1.5rem; }
.mrh-footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: clamp(1.5rem, 4vw, 2.5rem); margin-block-end: 2.5rem; }
.mrh-footer-brand .mrh-logo-wrap { margin-block-end: 0.875rem; }
.mrh-footer-brand p { font-size: var(--mrh-fs-xs); color: rgba(245,237,214,0.65); line-height: 1.6; max-width: 28ch; }
.mrh-footer-col-title { font-size: var(--mrh-fs-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mrh-amber); margin-block-end: 0.875rem; }
.mrh-footer-links { display: flex; flex-direction: column; gap: 0.375rem; }
.mrh-footer-links a { font-size: var(--mrh-fs-xs); color: rgba(245,237,214,0.75); transition: color var(--mrh-transition); }
.mrh-footer-links a:hover { color: var(--mrh-amber-light); }
.mrh-footer-divider { border: none; border-block-start: 1px solid rgba(245,237,214,0.12); margin-block-end: 1.5rem; }
.mrh-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: var(--mrh-fs-xs); color: rgba(245,237,214,0.5); }
.mrh-footer-bottom a { color: rgba(245,237,214,0.65); }
.mrh-footer-disclaimer { font-size: var(--mrh-fs-xs); color: rgba(245,237,214,0.45); line-height: 1.6; max-width: 90ch; margin-block-start: 1rem; }

.mrh-cookie-banner { position: fixed; inset-block-end: 0; inset-inline-start: 0; inset-inline-end: 0; background: var(--mrh-violet); color: var(--mrh-cream); padding: 1rem clamp(1rem, 4vw, 2.5rem); z-index: 999; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; flex-wrap: wrap; box-shadow: 0 -4px 20px rgba(45,27,78,0.45); transform: translateY(100%); transition: transform 0.4s ease; }
.mrh-cookie-banner.mrh-cookie--visible { transform: translateY(0); }
.mrh-cookie-banner[hidden] { display: none; }
.mrh-cookie-text { font-size: var(--mrh-fs-xs); line-height: 1.6; max-width: 70ch; color: rgba(245,237,214,0.85); }
.mrh-cookie-text a { color: var(--mrh-amber-light); }
.mrh-cookie-actions { display: flex; gap: 0.625rem; flex-shrink: 0; flex-wrap: wrap; }
.mrh-cookie-accept { background: var(--mrh-amber); color: var(--mrh-violet); border: none; padding: 0.5rem 1.125rem; border-radius: var(--mrh-radius-sm); font-weight: 700; font-family: var(--mrh-font); font-size: var(--mrh-fs-sm); cursor: pointer; transition: background var(--mrh-transition); }
.mrh-cookie-accept:hover { background: var(--mrh-amber-light); }
.mrh-cookie-reject { background: transparent; color: rgba(245,237,214,0.75); border: 1.5px solid rgba(245,237,214,0.3); padding: 0.5rem 1.125rem; border-radius: var(--mrh-radius-sm); font-weight: 600; font-family: var(--mrh-font); font-size: var(--mrh-fs-sm); cursor: pointer; transition: border-color var(--mrh-transition), color var(--mrh-transition); }
.mrh-cookie-reject:hover { border-color: rgba(245,237,214,0.7); color: var(--mrh-cream); }

.mrh-breadcrumb { font-size: var(--mrh-fs-xs); color: rgba(245,237,214,0.65); display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; padding-block: 0.75rem 0; }
.mrh-breadcrumb a { color: rgba(245,237,214,0.8); }
.mrh-breadcrumb a:hover { color: var(--mrh-amber-light); }
.mrh-breadcrumb span { color: rgba(245,237,214,0.4); }

.mrh-stats-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--mrh-gap); text-align: center; }
.mrh-stat-item { padding: 1.25rem; }
.mrh-stat-num { font-size: var(--mrh-fs-xl); font-weight: 700; color: var(--mrh-amber); line-height: 1; margin-block-end: 0.375rem; }
.mrh-stat-label { font-size: var(--mrh-fs-xs); color: rgba(245,237,214,0.7); text-transform: uppercase; letter-spacing: 0.08em; }

.mrh-timeline { display: flex; flex-direction: column; gap: 0; position: relative; }
.mrh-timeline::before { content: ''; position: absolute; inset-block: 0; inset-inline-start: 20px; width: 2px; background: linear-gradient(to bottom, var(--mrh-amber), var(--mrh-jade)); }
.mrh-timeline-item { display: flex; gap: 1.5rem; align-items: flex-start; padding-block-end: 1.75rem; padding-inline-start: 0.25rem; position: relative; }
.mrh-timeline-dot { width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; background: var(--mrh-amber); border: 3px solid var(--mrh-cream); display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 0.8rem; color: var(--mrh-violet); position: relative; z-index: 1; }
.mrh-timeline-body { flex: 1; padding-block-start: 0.5rem; }
.mrh-timeline-title { font-size: var(--mrh-fs-md); font-weight: 700; color: var(--mrh-violet); margin-block-end: 0.25rem; }
.mrh-timeline-text { font-size: var(--mrh-fs-sm); color: var(--mrh-smoke); line-height: 1.65; }

.mrh-success-wrap { min-height: 80vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 2rem; }
.mrh-success-icon { width: 80px; height: 80px; background: var(--mrh-jade); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-inline: auto; margin-block-end: 1.5rem; font-size: 2.5rem; color: var(--mrh-cream); }
.mrh-success-msg { font-size: var(--mrh-fs-lg); font-weight: 700; color: var(--mrh-violet); max-width: 40ch; text-wrap: balance; }

.mrh-page-hero { background: var(--mrh-violet); color: var(--mrh-cream); padding-block: clamp(2.5rem, 5vw, 4rem); position: relative; overflow: hidden; }
.mrh-page-hero::after { content: ''; position: absolute; inset-block-end: 0; inset-inline-start: 0; width: 100%; height: 4px; background: linear-gradient(90deg, var(--mrh-amber), var(--mrh-jade)); }
.mrh-page-hero-inner { max-width: 1440px; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2.5rem); }
.mrh-page-hero-title { font-size: var(--mrh-fs-2xl); font-weight: 700; line-height: 1.15; margin-block: 0.75rem 1rem; text-wrap: balance; }
.mrh-page-hero-desc { font-size: var(--mrh-fs-base); color: rgba(245,237,214,0.8); max-width: 60ch; line-height: 1.7; }

.mrh-rich-text p { margin-block-end: 1rem; font-size: var(--mrh-fs-base); line-height: 1.75; color: var(--mrh-smoke); }
.mrh-rich-text h2 { font-size: var(--mrh-fs-lg); font-weight: 700; color: var(--mrh-violet); margin-block: 1.75rem 0.75rem; }
.mrh-rich-text h3 { font-size: var(--mrh-fs-md); font-weight: 700; color: var(--mrh-violet); margin-block: 1.25rem 0.5rem; }
.mrh-rich-text ul { list-style: disc; padding-inline-start: 1.5rem; margin-block-end: 1rem; }
.mrh-rich-text ul li { font-size: var(--mrh-fs-base); line-height: 1.65; color: var(--mrh-smoke); margin-block-end: 0.375rem; }
.mrh-rich-text a { color: var(--mrh-jade); text-decoration: underline; }

.mrh-tag { display: inline-block; font-size: var(--mrh-fs-xs); font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.07em; }
.mrh-tag--amber { background: rgba(232,160,32,0.18); color: var(--mrh-clay); }
.mrh-tag--jade { background: rgba(61,122,92,0.15); color: var(--mrh-jade); }
.mrh-tag--violet { background: rgba(45,27,78,0.1); color: var(--mrh-violet); }
.mrh-tag--clay { background: rgba(122,59,30,0.12); color: var(--mrh-clay); }
.mrh-tag--blue { background: rgba(74,111,165,0.15); color: var(--mrh-blue); }

.mrh-divider { border: none; border-block-start: 1px solid var(--mrh-cream-dark); margin-block: 2rem; }
.mrh-divider--amber { border-block-start-color: var(--mrh-amber); opacity: 0.4; }

@media (max-width: 1024px) {
  .mrh-hero-grid { grid-template-columns: 1fr; }
  .mrh-hero-img-wrap { order: -1; max-width: 560px; margin-inline: auto; }
  .mrh-offset-panel { grid-template-columns: 1fr; }
  .mrh-offset-panel--reverse { direction: ltr; }
  .mrh-footer-grid { grid-template-columns: 1fr 1fr; }
  .mrh-contact-layout { grid-template-columns: 1fr; }
  .mrh-chapter-beads { display: none; }
}

@media (max-width: 768px) {
  .mrh-nav { display: none; }
  .mrh-burger { display: flex; }
  .mrh-form-grid { grid-template-columns: 1fr; }
  .mrh-grid-masonry { columns: 2; }
  .mrh-footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .mrh-grid-masonry { columns: 1; }
  .mrh-stats-row { grid-template-columns: 1fr 1fr; }
  .mrh-cal-grid { grid-template-columns: repeat(4, 1fr); }
  .mrh-tabs { gap: 0; }
  .mrh-tab-btn { padding: 0.5rem 0.75rem; font-size: 0.8rem; }
}

@media (min-width: 1920px) {
  :root { --mrh-section-pad: 6rem; }
  .mrh-container, .mrh-header-inner, .mrh-hero-grid, .mrh-page-hero-inner { max-width: 1600px; }
}

@media print {
  .mrh-header, .mrh-command-bar, .mrh-chapter-beads, .mrh-cookie-banner, .mrh-progress-bar, .mrh-drawer, .mrh-burger { display: none !important; }
  body { font-size: 11pt; color: #000; background: #fff; }
  .mrh-section--violet, .mrh-threshold-hero, .mrh-page-hero { background: #000 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  a[href]::after { content: ' (' attr(href) ')'; font-size: 0.75em; color: #555; }
}
