/* Site-wide continuation of the approved homepage design.
 * Legacy template selectors stay intact so editing, maps and tools keep working.
 */
:root {
    --mym-surface: #f1f3f4;
    --mym-title-surface: #8f1207;
    --mym-title-border: #6e0d05;
    --mym-title-ink: #fcf9f4;
    --mym-cream: var(--mym-surface);
    --mym-border: #d9dfe2;
    --mym-space: clamp(3rem, 6vw, 5rem);
    --mym-copy-width: 48rem;
    --mym-page-width: 70rem;
    --mym-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --mym-serif: "EB Garamond", Georgia, serif;
}
body { font-family: var(--mym-sans); color: var(--mym-ink); font-size: 1.0625rem; line-height: 1.7; }
p { font-family: inherit; font-weight: 400; }
h1, h2, h3, h4, h5, h6, .mym-brand strong { font-family: var(--mym-serif); line-height: 1.15; font-weight: 600; }
h1 { font-size: clamp(2.25rem, 4.5vw, 3.5rem); }
h2 { font-size: clamp(2rem, 3.5vw, 2.75rem); }
h3 { font-size: 1.75rem; }
h4, h5 { font-size: 1.5rem; }
.mym-main { overflow-wrap: anywhere; }
.mym-main a { text-underline-offset: .25rem; }
.mym-main img, .mym-main video { max-width: 100%; }
.mym-main :is(.red-highlight, .district-data, .degree-card h2, .card-title, .mapcard-title, .entry-title a, .related-posts h3) { color: var(--mym-red); }
.mym-main :is(.red-top-banner, .raf_red-top-banner) {
    min-height: 0; max-height: none; padding: var(--mym-space) 1rem;
    background: var(--mym-title-surface); border-bottom: 1px solid var(--mym-title-border); text-align: center;
}
.mym-main .wh-district-data { color: var(--mym-title-ink); text-transform: none; margin: 0 auto; max-width: var(--mym-page-width); }
.mym-main :is(.content, .leadership-container, .district-data_container, .join-shell, .gs-container) {
    width: min(100% - 2rem, var(--mym-page-width)); max-width: var(--mym-page-width); margin-inline: auto;
}
.mym-main :is(.content, .leadership-container, .district-data_container, .gs-container) { padding: var(--mym-space) 0; }
.mym-main :is(.degree-card, .card, .mapcard, .raf_card, .join-hero-card, .join-intro-panel, .join-body-card, .join-map-card, .gs-fact-card, .gs-hotel-details, .gs-day-schedule, .gs-payment-option, .gs-faq-item, .gs-contact-card, .sidebar, .author-box) {
    background: var(--mym-surface); border: 1px solid var(--mym-border); border-radius: var(--mym-radius); box-shadow: none;
}
.mym-main :is(.card, .blog-posts article, .gs-fact-card):hover { transform: none; box-shadow: none; }
.mym-main .mapcard-body:hover { box-shadow: none; }
.mym-main :is(.degree-card, .card-body, .mapcard-body, .raf_card, .join-intro-panel, .join-body-card, .gs-faq-item) { padding: clamp(1.25rem, 3vw, 2rem); }
.mym-main .degree-card { margin-bottom: 1.5rem; }
.mym-main .degree-card p { max-width: var(--mym-copy-width); }
.mym-main :is(.degree-card h2, .mapcard-title, .card-title) { font-size: 1.75rem; margin-bottom: 1rem; }
.mym-main :is(.card-text, .card-text small, .county-data, .post-meta, .entry-footer, .entry-content, .post-thumbnail-caption) { color: var(--mym-muted); }
.mym-main :is(.red-btn2, .download-btn, .raf_btn, .gs-cta-button, .gs-hotel-booking-btn, .gs-payment-link, .gs-download-btn-large) {
    display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
    min-height: 48px; padding: .8rem 1.25rem; border: 1px solid var(--mym-red);
    border-radius: .25rem; background: var(--mym-red); color: #fff; font: 650 .95rem/1.5 var(--mym-sans);
    text-transform: none; text-decoration: none; box-shadow: none;
}
.mym-main :is(.red-btn2, .download-btn, .raf_btn, .gs-cta-button, .gs-hotel-booking-btn, .gs-payment-link, .gs-download-btn-large):hover { background: #6e0d05; color: #fff; transform: none; box-shadow: none; }
/* Maps and districts retain their original image-map coordinates and link lists. */
.mym-main > .map-container { width: min(100% - 2rem, var(--mym-page-width)); margin: var(--mym-space) auto 2rem; text-align: center; }
.mym-main .district-map { width: min(100%, 38rem); height: auto; }
.mym-main .district-links { width: min(100% - 2rem, var(--mym-page-width)); margin: 0 auto var(--mym-space); }
.mym-main .district-link-listitem { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: .75rem; padding: 0; }
.mym-main .district-link-listitem li { margin: 0; padding: 0; background: var(--mym-surface); border: 1px solid var(--mym-border); border-radius: .25rem; }
.mym-main .district-link-listitem li a { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: .65rem; color: var(--mym-red); font-size: 1rem; font-weight: 650; }
.mym-main .district-link-listitem li:hover { border-color: var(--mym-red); }
.mym-main .district-name_container { padding: 2rem 1.25rem; background: var(--mym-surface); border: 1px solid var(--mym-border); border-radius: var(--mym-radius); }
.mym-main .district-name_container .district-data { font-size: 1.35rem; text-transform: none; }
.mym-main .district-name_container .district-data:first-child { font-size: clamp(2rem, 4vw, 3rem); }
.mym-main .county-data { font: 400 1rem/1.7 var(--mym-sans); }
.mym-main .ghp-container { padding: 0 0 3rem; }
.mym-main .ghp-leadership-img { width: min(100%, 17.5rem) !important; border: 1px solid var(--mym-border) !important; border-radius: var(--mym-radius) !important; }
.mym-main .one-line-heading { white-space: normal; }
.mym-main .leadership-container > h2 { margin-block: 2rem 1.5rem; }
/* Join and locator use the same surfaces, spacing and restrained cards. */
.mym-main .join-page { background: #fff; padding-block: var(--mym-space); }
.mym-main :is(.join-hero-card, .join-intro-grid, .join-bodies) { margin-bottom: 2rem; }
.mym-main .join-hero-image-wrap::before { display: none; }
.mym-main .join-hero-image { box-shadow: none; border: 1px solid var(--mym-border); border-radius: var(--mym-radius); }
.mym-main :is(.join-eyebrow, .join-body-label) { color: var(--mym-gold); font-size: .75rem; letter-spacing: .14em; }
.mym-main :is(.join-hero-text, .join-map-text, .join-list li, .join-body-card p) { color: var(--mym-ink); font-size: 1rem; line-height: 1.7; }
.mym-main .join-cta-panel { background: var(--mym-red); border-radius: var(--mym-radius); }
.mym-main .join-map-card { padding: 1.5rem; }
.mym-main .join-district-links { width: 100%; margin-bottom: 0; }
.mym-main .yr-locator-page { --yr-cream: var(--mym-surface); --yr-gold: var(--mym-gold); background: #fff; padding: var(--mym-space) 1rem; }
.mym-main :is(.yr-locator-hero, .yr-results-section, .yr-secondary-section) { max-width: var(--mym-page-width); margin-bottom: 2rem; }
.mym-main :is(.yr-locator-copy, .yr-locator-panel, .yr-feedback, .yr-match-card, .yr-story-card, .yr-browse-card, .yr-helper-card, .yr-search-form) { border-radius: var(--mym-radius); box-shadow: none; }
.mym-main .yr-locator-copy { background: var(--mym-red); padding: 2rem; }
.mym-main .yr-locator-copy::after { display: none; }
.mym-main .yr-locator-copy h2 { max-width: none; }
.mym-main .yr-locator-copy :focus-visible { outline-color: #e3c493; }
.mym-main .yr-stat { border-radius: .25rem; padding: .75rem; }
.mym-main :is(.yr-locator-panel, .yr-match-card, .yr-browse-card, .yr-story-card, .yr-feedback) { background: var(--mym-surface); border: 1px solid var(--mym-border); }
.mym-main :is(.yr-search-form, .yr-helper-card) { background: #fff; border: 1px solid var(--mym-border); }
.mym-main .yr-search-input { border-radius: .25rem; min-width: 0; }
.mym-main .yr-search-input:focus-visible { outline: 3px solid var(--mym-gold); outline-offset: 4px; }
/* Native posts and archives: readable measure, full original artwork. */
.mym-main > .container { display: block; width: min(100% - 2rem, var(--mym-copy-width)); max-width: var(--mym-copy-width); padding: var(--mym-space) 0; }
.mym-main article.post:is(.category-capitular-programs, .category-grand-chapter-news) { margin: 0 auto; }
.mym-main .post-title { color: var(--mym-ink); font-size: clamp(2.25rem, 4vw, 3.25rem); }
.mym-main .post-content { font-size: 1.0625rem; color: var(--mym-ink); line-height: 1.75; }
.mym-main .post-content :is(h2, h3, h4) { margin-top: 2rem; }
.mym-main :is(.post-content, .entry-summary, .mym-content-shell, .mym-value-copy) a { color: var(--mym-red); }
.mym-main .related-posts ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.mym-main .related-posts li { background: var(--mym-surface); border-color: var(--mym-border); padding: 1rem; }
.mym-main .blog-posts { max-width: var(--mym-page-width); padding: var(--mym-space) 0; width: calc(100% - 2rem); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.mym-main .blog-posts article { background: var(--mym-surface); padding: 1.5rem; border-color: var(--mym-border); margin: 0; min-width: 0; }
.mym-main .blog-posts .entry-title { font-size: 1.75rem; }
.mym-main .blog-posts .post-thumbnail img { aspect-ratio: 3 / 2; object-fit: contain; }
.mym-main .posts-list article { background: var(--mym-surface); padding: 1.5rem; border: 1px solid var(--mym-border); border-radius: var(--mym-radius); margin-top: 1.5rem; }
.mym-main .mym-content-shell { padding-block: var(--mym-space); }
.mym-value-header { background: var(--mym-title-surface); color: var(--mym-title-ink); }
.mym-value-header :is(a, .mym-value-kicker) { color: var(--mym-title-ink); }
.mym-value-header :focus-visible { outline-color: var(--mym-title-ink); }
.mym-main .mym-value-copy { font-size: 1.0625rem; line-height: 1.75; }
.mym-main .mym-value-copy > p:first-child { font-size: 1.2rem; font-weight: 400; }
.mym-main .mym-value-related { padding-block: var(--mym-space); }
.mym-main .mym-value-heading h1 { font-style: normal; }
/* Charities, historical session and QR controls preserve their display logic. */
.mym-main .raf_container { width: min(100% - 2rem, var(--mym-copy-width)); max-width: var(--mym-copy-width); padding-block: 2rem var(--mym-space); }
.mym-main .raf_card p { width: auto; }
.mym-main .raf_logo { width: min(100%, 25rem); }
.mym-main .raf_charity-buttons { gap: .75rem; }
.mym-main .raf_charity-buttons .raf_btn { margin: 0; max-width: none; }
.mym-main .gs-hero { background: var(--mym-red); padding: var(--mym-space) 1rem; }
.mym-main .gs-hero::before { display: none; }
.mym-main .gs-hero :focus-visible { outline-color: #e3c493; }
.mym-main .gs-section { margin-bottom: var(--mym-space); }
.mym-main :is(.gs-section-header h2, .gs-fact-icon, .gs-faq-item h4 i) { color: var(--mym-red); }
.mym-main .gs-section-header { border-color: var(--mym-border); }
.mym-main :is(.gs-day-wednesday, .gs-day-thursday, .gs-day-friday) { background: var(--mym-red); }
.mym-main .gs-note { color: var(--mym-muted); }
.mym-main .qr-page-wrapper { padding-block: var(--mym-space); background: #fff; overflow-x: visible; }
.mym-main .qr-card { background: var(--mym-surface); border: 1px solid var(--mym-border); border-radius: var(--mym-radius); box-shadow: none; }
.mym-main :is(.qr-card-title, .qr-section-title) { color: var(--mym-red); }
.mym-main .qr-preset-btn { background: #fff; color: var(--mym-gold); border-color: var(--mym-border); border-radius: .25rem; }
.mym-main .qr-preset-btn:is(:hover, .is-active) { background: var(--mym-gold); color: #fff; border-color: var(--mym-gold); }
.mym-main .qr-download-btn { background: var(--mym-red); border-radius: .25rem; font-size: .95rem; }
.mym-main .qr-download-btn--secondary { background: var(--mym-gold); }
.mym-main :is(.qr-download-btn, .qr-touch-input, .qr-preset-btn):focus-visible { outline: 3px solid var(--mym-gold); outline-offset: 4px; }
@media (max-width: 50rem) {
    .mym-main .blog-posts { grid-template-columns: 1fr; }
    .mym-main .related-posts ul { grid-template-columns: 1fr; }
    .mym-main .yr-locator-hero { grid-template-columns: 1fr; }
}
@media (max-width: 34rem) {
    .mym-main .yr-locator-copy { padding: 1.25rem; }
    .mym-main .yr-locator-stats { grid-template-columns: 1fr; }
    .mym-main .gs-contact-card { padding: 1.25rem; }
    .mym-main .gs-timeline-item { flex-direction: column; gap: .25rem; }
}
/* Override the legacy flex list's intrinsic sizing inside the district grid. */
.mym-main .district-link-listitem { width: 100%; min-width: 0; max-width: none; }
.mym-main .district-link-listitem li:hover { background: #e7ebed; }
.mym-main .join-cta-panel .join-list li { color: #fff; }
