/* Shared foundation. Existing page styles remain in main.css during migration. */
:root {
    --mym-red: #8f1207;
    --mym-gold: #815a22;
    --mym-cream: #fcf9f4;
    --mym-ink: #2f2923;
    --mym-muted: #6f6559;
    --mym-border: #ddd3c5;
    --mym-radius: .5rem;
    --mym-width: 78rem;
}
[hidden] { display: none !important; }
.screen-reader-text {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid var(--mym-gold); outline-offset: 4px;
}
.mym-skip-link {
    position: fixed; z-index: 100000; left: 1rem; top: .5rem;
    padding: .8rem 1.2rem; color: #fff; background: var(--mym-red);
    transform: translateY(-200%); font-weight: 700;
}
.mym-skip-link:focus { transform: none; color: #fff; }
.mym-shell { width: min(100% - 2rem, var(--mym-width)); margin-inline: auto; }
.mym-utility-bar { background: var(--mym-red); color: #fff; }
.mym-utility-inner { display: flex; align-items: center; justify-content: space-between; min-height: 3rem; gap: .5rem; }
.mym-utility-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; margin-left: auto; gap: .5rem 1.25rem; }
.mym-utility-links a { color: #fff; padding-block: .65rem; text-decoration: none; font-size: 1.05rem; font-weight: 600; }
.mym-utility-links a:hover { text-decoration: underline; }
.mym-utility-bar :focus-visible { outline-color: #fff; }
.mym-menu-toggle { background: transparent; border: 1px solid #ffffff80; border-radius: .25rem; padding: .4rem .65rem; color: #fff; min-height: 44px; font-weight: 600; }
.mym-site-header { position: relative; background: var(--mym-cream); border-bottom: 1px solid var(--mym-border); z-index: 20; }
.mym-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1rem; }
.mym-brand { display: flex; align-items: center; gap: .75rem; color: var(--mym-ink); text-decoration: none; flex-shrink: 0; }
.mym-brand img { width: 5rem; height: 5rem; object-fit: contain; }
.mym-brand strong { font-size: 1.65rem; font-weight: 700; line-height: 1.1; display: block; }
.mym-brand span span { display: block; font-size: 1rem; color: var(--mym-muted); }
.mym-brand:hover { color: var(--mym-red); }
.mym-nav-list, .mym-submenu { list-style: none; margin: 0; padding: 0; }
.mym-nav-list { display: flex; align-items: center; flex-wrap: wrap; gap: .15rem .6rem; }
.mym-nav-item { position: relative; }
.mym-nav-link { display: inline-block; color: var(--mym-ink); font-size: 1.1rem; font-weight: 600; text-decoration: none; padding: .6rem .3rem; min-height: 44px; }
.mym-nav-link:hover, .mym-nav-link[aria-current="page"] { color: var(--mym-red); text-decoration: underline; text-underline-offset: .3rem; }
.mym-submenu-toggle { background: none; color: var(--mym-red); border: 1px solid var(--mym-border); border-radius: .25rem; width: 44px; height: 44px; vertical-align: middle; }
.mym-submenu-toggle[aria-expanded="true"] span { display: inline-block; transform: rotate(180deg); }
.mym-submenu { padding: .5rem; background: #fff; border: 1px solid var(--mym-border); border-radius: var(--mym-radius); }
.mym-submenu .mym-nav-link { display: block; padding: .5rem .75rem; white-space: nowrap; }
.mym-nav-ready .mym-desktop-navigation .mym-submenu {
    position: absolute; inset: 100% 0 auto auto; min-width: 12rem;
    max-height: min(65vh, 32rem); overflow-y: auto; box-shadow: 0 .5rem 1.5rem #2f292320;
}
.mym-mobile-navigation { display: none; }
.mym-main { min-width: 0; }
.mym-main:focus { outline: none; }
.mym-content-shell { max-width: 54rem; margin: 0 auto; padding: 3rem 1rem; color: var(--mym-ink); }
.mym-content-shell h1 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 1.5rem; }
.mym-content-shell a { color: var(--mym-red); }
.mym-content-shell .mym-post-summary { padding-block: 1.5rem; border-bottom: 1px solid var(--mym-border); }
.mym-content-shell img { max-width: 100%; height: auto; }
.mym-data-notice { padding: 1rem; border: 1px solid var(--mym-border); background: var(--mym-cream); }
.mym-value-article { color: var(--mym-ink); background: #fff; }
.mym-value-shell { width: min(100% - 2rem, 70rem); margin-inline: auto; }
.mym-value-header { background: var(--mym-ink); color: var(--mym-cream); padding: 2rem 0 7rem; }
.mym-value-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; padding: 0; margin: 0; font-size: 1rem; }
.mym-value-breadcrumbs li + li::before { content: '/'; margin-right: .35rem; color: #c3b7aa; }
.mym-value-breadcrumbs a { color: #e3c493; text-underline-offset: .2rem; }
.mym-value-header :focus-visible { outline-color: #e3c493; }
.mym-value-heading { text-align: center; padding-top: 2rem; }
.mym-value-kicker { color: #e3c493; text-transform: uppercase; font-size: .95rem; letter-spacing: .12em; margin-bottom: .65rem; }
.mym-value-heading h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); font-style: italic; font-weight: 500; line-height: 1.15; margin: 0; }
.mym-value-feature { position: relative; width: min(100% - 2rem, 70rem); margin: -4.5rem auto 0; border-radius: var(--mym-radius); overflow: hidden; box-shadow: 0 .5rem 1.5rem #2f292320; background: var(--mym-cream); }
.mym-value-feature img, .mym-value-feature video { display: block; width: 100%; height: auto; }
.mym-value-feature iframe { width: 100%; aspect-ratio: 16 / 9; }
.mym-value-feature .wp-block-video, .mym-value-feature .wp-block-embed { margin: 0; }
.mym-value-copy { width: min(100% - 2rem, 44rem); margin: 3rem auto 0; font-size: 1.2rem; line-height: 1.75; overflow-wrap: anywhere; }
.mym-value-copy > p:first-child { font-size: 1.4rem; font-weight: 600; }
.mym-value-copy a, .mym-value-return a { color: var(--mym-red); text-underline-offset: .2rem; }
.mym-value-copy img, .mym-value-copy video { max-width: 100%; height: auto; }
.mym-value-copy h2 { font-size: 2rem; margin-top: 2rem; }
.mym-value-copy h3 { font-size: 1.6rem; margin-top: 1.5rem; }
.mym-value-related { padding-block: 3.5rem; }
.mym-value-related > h2 { font-style: italic; font-size: clamp(2rem, 4vw, 2.5rem); text-align: center; }
.mym-value-related-intro { text-align: center; font-size: 1.15rem; margin-bottom: 2rem; }
.mym-value-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.mym-value-related-card { display: block; min-width: 0; border: 1px solid var(--mym-border); border-radius: var(--mym-radius); overflow: hidden; color: var(--mym-ink); text-decoration: none; background: var(--mym-cream); }
.mym-value-related-card > img { display: block; width: 100%; height: auto; }
.mym-value-card-copy { padding: 1.25rem; }
.mym-value-card-copy h3 { font-size: 1.65rem; margin-bottom: .5rem; }
.mym-value-card-copy p { font-size: 1.1rem; line-height: 1.5; margin-bottom: 1rem; }
.mym-value-card-action { color: var(--mym-red); font-weight: 600; text-decoration: underline; text-underline-offset: .2rem; }
.mym-value-related-card:hover { color: var(--mym-ink); border-color: var(--mym-red); }
.mym-value-return { margin-top: 2rem; text-align: center; font-size: 1.15rem; }
@media (max-width: 50rem) { .mym-value-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 34rem) { .mym-value-related-grid { grid-template-columns: minmax(0, 1fr); } .mym-value-header { padding-top: 1.5rem; } }
.leadership-container > .row { margin-inline: 0; }
.mym-site-footer .footer-container { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; align-items: start; gap: 2rem; width: min(100% - 2rem, var(--mym-width)); padding: 0; }
.mym-site-footer .footer-logo, .mym-site-footer .link-columns { min-width: 0; padding: 0; }
.mym-site-footer .footer-logo-img { display: block; width: min(100%, 12rem); height: auto; padding: 0; background: transparent; border-radius: 0; }
.mym-ghp-portrait.block-img { display: block; width: min(100%, 17.5rem); max-width: 100%; height: auto !important; }
.mym-site-footer h2 { color: #e3c493; font-size: 1.35rem; margin-bottom: 1rem; }
.mym-site-footer a { overflow-wrap: anywhere; display: inline-block; padding-block: .2rem; }
.mym-site-footer a:hover { color: #e3c493; text-decoration: underline; }
.mym-site-footer { padding-block: 2.5rem; }
@media (max-width: 63.999rem) {
    .mym-desktop-navigation { display: none; }
    .mym-mobile-navigation { display: block; padding-bottom: 1rem; }
    .mym-mobile-navigation .mym-nav-list { display: block; }
    .mym-mobile-navigation .mym-nav-item { border-top: 1px solid var(--mym-border); }
    .mym-mobile-navigation .mym-nav-link { padding: .65rem; }
    .mym-mobile-navigation .mym-submenu { position: static; border: 0; margin-left: 1rem; }
    .mym-site-footer .footer-container { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 35rem) {
    .mym-shell { width: calc(100% - 1.5rem); }
    .mym-header-inner { gap: .5rem; }
    .mym-brand img { width: 4.25rem; height: 4.25rem; }
    .mym-brand strong { font-size: 1.5rem; }
    .mym-brand span span { font-size: .9rem; }
    .mym-utility-links { gap: .6rem; }
    .mym-utility-links a { font-size: .95rem; }
    .mym-site-footer .footer-container { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Homepage refresh: scoped to avoid changing existing informational pages. */
.mym-home { --mym-home-surface: #f1f3f4; --mym-border: #d9dfe2; --mym-home-space: clamp(3rem, 6vw, 5rem); color: var(--mym-ink); background: #fff; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1.0625rem; line-height: 1.7; }
.mym-home-shell { width: min(100% - 2rem, 70rem); margin-inline: auto; }
.mym-home h1, .mym-home h2, .mym-home h3 { font-family: "EB Garamond", Georgia, serif; color: inherit; line-height: 1.15; font-weight: 600; }
.mym-home h2 { font-size: clamp(2rem, 3.5vw, 2.75rem); margin: 0 0 1.25rem; }
.mym-home h3 { font-size: 1.75rem; margin: 0 0 .75rem; }
.mym-home p { font-family: inherit; font-weight: 400; margin: 0 0 1.25rem; }
.mym-home .mym-home-eyebrow { color: var(--mym-gold); font-size: .75rem; font-weight: 700; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 1rem; }
.mym-home-section { padding-block: var(--mym-home-space); }
.mym-home-section-heading { max-width: 46rem; margin-bottom: 2rem; }
.mym-home-section-heading > p:last-child { color: var(--mym-muted); margin-bottom: 0; }
.mym-home-hero { position: relative; isolation: isolate; color: #fff; background: var(--mym-ink); }
.mym-home-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #161311db 0%, #161311c7 50%, #161311b3 100%); }
.mym-home-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.mym-home-hero-copy { padding-block: clamp(3rem, 6vw, 5rem); }
.mym-home-hero .mym-home-eyebrow { color: #e3c493; }
.mym-home-hero h1 { max-width: 45rem; font-size: clamp(2.5rem, 4.5vw, 3.75rem); margin: 0 0 1.5rem; }
.mym-home-hero-intro { max-width: 37rem; font-size: 1.125rem; color: #f5eee5; }
.mym-home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.75rem; }
.mym-home-button { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-height: 48px; padding: .8rem 1.25rem; background: var(--mym-red); border: 1px solid var(--mym-red); border-radius: .25rem; color: #fff; font-size: .95rem; font-weight: 650; text-decoration: none; }
.mym-home-button:hover { background: #6e0d05; color: #fff; }
.mym-home-button-light { color: var(--mym-ink); background: var(--mym-home-surface); border-color: var(--mym-home-surface); }
.mym-home-button-light:hover { color: var(--mym-ink); background: #dfe5e8; }
.mym-home-hero :focus-visible { outline-color: #e3c493; }
.mym-home-text-link { display: inline-block; color: var(--mym-red); font-size: .95rem; font-weight: 650; padding-block: .4rem; text-decoration: underline; text-underline-offset: .25rem; }
.mym-home-text-link:hover { color: #6e0d05; }
.mym-home-welcome { background: var(--mym-home-surface); }
.mym-home-welcome-grid { display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.mym-home-welcome em { color: var(--mym-red); }
.mym-home-tau { padding: 1.5rem 2rem; text-align: center; border-left: 1px solid var(--mym-border); }
.mym-home-tau img { display: block; width: 10rem; height: auto; margin: 0 auto 1.5rem; }
.mym-home-tau p { font-family: "EB Garamond", Georgia, serif; font-style: italic; font-size: 1.4rem; line-height: 1.4; }
.mym-home-tau h3 a { font: inherit; }
.mym-home-tau h3 { color: var(--mym-red); font-size: 1.75rem; margin-bottom: 0; }
.mym-home-values-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.mym-home-card { display: flex; flex-direction: column; min-width: 0; color: var(--mym-ink); text-decoration: none; background: var(--mym-home-surface); border: 1px solid var(--mym-border); border-radius: var(--mym-radius); overflow: hidden; }
.mym-home-card > img, .mym-home-news-card img { display: block; width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; }
.mym-home-card-copy { padding: 1.5rem; }
.mym-home-card .mym-home-card-copy { display: flex; flex: 1; flex-direction: column; }
.mym-home-card .mym-home-text-link { margin-top: auto; }
.mym-home-card p { font-size: 1rem; line-height: 1.6; }
.mym-home-card:hover { color: var(--mym-ink); border-color: var(--mym-red); }
.mym-home-news { background: var(--mym-home-surface); }
.mym-home-heading-row { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.mym-home-heading-row h2 { margin-bottom: 0; }
.mym-home-news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.mym-home-news-card { min-width: 0; border: 1px solid var(--mym-border); border-radius: var(--mym-radius); background: #fff; overflow: hidden; }
.mym-home-news-card:is(.category-capitular-programs, .category-grand-chapter-news) img { object-fit: contain; background: var(--mym-home-surface); padding: 1rem; }
article.post:is(.category-capitular-programs, .category-grand-chapter-news) { max-width: 48rem; margin: 3rem auto; }
article.post:is(.category-capitular-programs, .category-grand-chapter-news) .post-title { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; }
article.post:is(.category-capitular-programs, .category-grand-chapter-news) .post-content { line-height: 1.65; }
article.post:is(.category-capitular-programs, .category-grand-chapter-news) .post-content h2 { margin-top: 2rem; }
article.post:is(.category-capitular-programs, .category-grand-chapter-news) .wp-block-image { margin: 2rem 0; }
article.post:is(.category-capitular-programs, .category-grand-chapter-news) .wp-block-image img { width: 20rem; max-width: 100%; height: auto; }
article.post:is(.category-capitular-programs, .category-grand-chapter-news) figcaption { font-size: 1rem; color: var(--mym-muted); }
.mym-home-news-card time { display: block; color: var(--mym-muted); font-size: .85rem; margin-bottom: .8rem; }
.mym-home-news-card h3 a { color: var(--mym-ink); text-decoration: none; }
.mym-home-news-card h3 a:hover { color: var(--mym-red); text-decoration: underline; text-underline-offset: .2rem; }
.mym-home-news-card p { color: var(--mym-muted); font-size: 1rem; margin-bottom: 0; }
.mym-home-leader-grid { display: grid; grid-template-columns: 17.5rem minmax(0, 1fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.mym-home-portrait img { display: block; width: 100%; max-width: 17.5rem; height: auto; border-radius: var(--mym-radius); }
.mym-home-leader-office { color: var(--mym-muted); }
.mym-home-member-links { padding-block: 2rem; background: var(--mym-home-surface); border-top: 1px solid var(--mym-border); }
.mym-home-member-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.mym-home-member-grid a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .5rem; min-height: 44px; color: var(--mym-red); font-size: 1rem; font-weight: 650; text-underline-offset: .25rem; }
@media (max-width: 50rem) {
    .mym-home-values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mym-home-welcome-grid { grid-template-columns: 1fr; }
    .mym-home-tau { border-left: 0; border-top: 1px solid var(--mym-border); padding: 2rem 0 0; max-width: 30rem; margin-inline: auto; }
    .mym-home-news-grid { grid-template-columns: 1fr; }
    .mym-home-leader-grid { grid-template-columns: 12rem minmax(0, 1fr); gap: 2rem; }
}
@media (max-width: 34rem) {
    .mym-home-values-grid, .mym-home-leader-grid, .mym-home-member-grid { grid-template-columns: 1fr; }
    .mym-home-heading-row { display: block; }
    .mym-home-heading-row > a { margin-top: .75rem; }
    .mym-home-hero .mym-home-actions { flex-direction: column; align-items: stretch; }
    .mym-home-hero::after { background: #161311d9; }
    .mym-home-portrait img { margin-inline: auto; }
    .mym-home-card-copy { padding: 1.25rem; }
    .mym-home-member-grid { gap: .25rem; }
    .mym-home { overflow-wrap: anywhere; }
}
