.rm-guides-public,
.rm-guide-public-page {
    --guide-ink: #203128;
    --guide-cream: #f5f0e6;
    --guide-sage: #dce6d7;
    color: var(--guide-ink);
}

.rm-guides-public-hero {
    position: relative;
    overflow: hidden;
    min-height: 430px;
    display: flex;
    align-items: flex-end;
    padding: clamp(2rem, 7vw, 6rem);
    background: radial-gradient(circle at 78% 28%, rgba(193, 122, 63, 0.32), transparent 22%), linear-gradient(135deg, #263f30 0%, #3d6b4f 55%, #78906e 100%);
    color: white;
}

.rm-guides-public-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.17;
    background-image: repeating-radial-gradient(ellipse at 82% 18%, transparent 0 22px, #fff 23px 24px, transparent 25px 42px);
    pointer-events: none;
}

.rm-guides-public-hero-copy { position: relative; z-index: 1; width: min(720px, 100%); }
.rm-guides-preview-label { display: inline-flex; align-items: center; padding: 0.35rem 0.65rem; border-radius: 999px; background: var(--rm-clay); color: white; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.rm-guides-public-kicker { margin: 1.25rem 0 0.6rem; color: var(--rm-clay); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.rm-guides-public-hero .rm-guides-public-kicker { color: #f0c7a5; }
.rm-guides-public-hero h1 { max-width: 680px; margin: 0; color: white; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.7rem, 7vw, 5.7rem); font-weight: 500; letter-spacing: -0.045em; line-height: 0.98; }
.rm-guides-public-hero-copy > p:last-child { max-width: 620px; margin: 1.4rem 0 0; color: rgba(255,255,255,0.82); font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.65; }

.rm-guides-public-section { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(3rem, 7vw, 6rem) 0; }
.rm-guides-public-section-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.rm-guides-public-section-head h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 500; }
.rm-guides-edit-link { color: var(--rm-forest); font-size: 0.85rem; font-weight: 800; text-underline-offset: 4px; }
.rm-guides-public-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.rm-guides-public-card { overflow: hidden; border: 1px solid rgba(32,49,40,0.12); border-radius: 18px; background: white; box-shadow: 0 12px 34px rgba(32,49,40,0.08); }
.rm-guides-public-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr); }
.rm-guides-public-card-image { display: block; min-height: 280px; background-position: center; background-size: cover; }
.rm-guides-public-card-image--empty { background: linear-gradient(145deg, var(--guide-sage), var(--guide-cream)); }
.rm-guides-public-card-copy { padding: clamp(1.5rem, 4vw, 3rem); }
.rm-guides-public-card-meta { margin: 0 0 1rem; color: var(--rm-fog); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.rm-guides-public-card h3 { margin: 0 0 1rem; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.65rem, 3.2vw, 2.65rem); font-weight: 500; line-height: 1.08; }
.rm-guides-public-card h3 a { color: inherit; text-decoration: none; }
.rm-guides-public-card-copy > p:not(.rm-guides-public-card-meta) { color: var(--rm-fog); line-height: 1.7; }
.rm-guides-public-read { display: inline-flex; gap: 0.55rem; margin-top: 0.75rem; color: var(--rm-forest); font-weight: 800; text-decoration: none; }
.rm-guides-public-read:hover span { transform: translateX(4px); }
.rm-guides-public-read span { transition: transform 160ms ease; }
.rm-guides-public-loading,
.rm-guides-public-empty { grid-column: 1 / -1; padding: 3rem; border-radius: 16px; background: var(--guide-cream); text-align: center; }

.rm-guide-public-page { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; padding: 2rem 0 5rem; }
.rm-guide-public-adminbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 2.5rem; }
.rm-guide-public-article { width: min(100%, 920px); margin: 0 auto; }
.rm-guide-public-back { display: inline-block; margin-bottom: 2.5rem; color: var(--rm-forest); font-weight: 800; text-decoration: none; }
.rm-guide-public-header { max-width: 800px; margin-bottom: 2.5rem; }
.rm-guide-public-header h1 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.7rem, 6.8vw, 5.25rem); font-weight: 500; letter-spacing: -0.045em; line-height: 1; }
.rm-guide-public-deck { max-width: 720px; margin: 1.5rem 0; color: var(--rm-fog); font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.65; }
.rm-guide-public-meta { color: var(--rm-fog); font-size: 0.82rem; font-weight: 700; }
.rm-guide-public-cover { width: 100%; max-height: 560px; margin: 0 0 3rem; border-radius: 20px; object-fit: cover; }
.rm-guide-public-body { width: min(100%, 740px); margin: 0 auto; color: #2f3b34; font-family: Georgia, 'Times New Roman', serif; font-size: 1.08rem; line-height: 1.85; }
.rm-guide-public-body h2,
.rm-guide-public-body h3 { color: var(--guide-ink); font-family: inherit; line-height: 1.2; }
.rm-guide-public-body h2 { margin: 2.6rem 0 1rem; font-size: 2rem; }
.rm-guide-public-body h3 { margin: 2rem 0 0.8rem; font-size: 1.45rem; }
.rm-guide-public-body img { width: auto; max-width: 100%; height: auto; border-radius: 12px; }
.rm-guide-public-body iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 12px; }
.rm-guide-public-body blockquote { margin: 2rem 0; padding: 0.5rem 0 0.5rem 1.5rem; border-left: 4px solid var(--rm-clay); color: var(--rm-forest); font-size: 1.25rem; }
.rm-guide-public-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: 18px; background: var(--guide-sage); }
.rm-guide-public-cta h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-weight: 500; }
.rm-guide-public-cta .rm-guides-public-kicker { margin-top: 0; }

@media (max-width: 760px) {
    .rm-guides-public-hero { min-height: 380px; padding: 2rem 1.25rem; }
    .rm-guides-public-grid { grid-template-columns: 1fr; }
    .rm-guides-public-card--featured { display: block; }
    .rm-guides-public-card-image { min-height: 230px; }
    .rm-guide-public-cta { align-items: flex-start; flex-direction: column; }
}
