/* Page-specific helpers kept separate so future cPanel edits stay easy. */
.two-column-copy { display: grid; gap: var(--space-md); }
.prose { max-width: 72ch; }
.prose h2, .prose h3 { margin-top: 2rem; }
.prose a { color: #477d24; font-weight: 750; }
.principles { display: grid; gap: 1rem; counter-reset: principle; }
.principle { padding: var(--space-sm); background: white; border-left: 4px solid var(--jrac-lime); box-shadow: var(--shadow-sm); }
.principle::before { counter-increment: principle; content: "0" counter(principle); color: var(--jrac-lime); font-weight: 900; }
.principle h3 { margin: 0.4rem 0; text-transform: uppercase; }
.leadership-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.8rem; }
.leader-card { background: var(--jrac-white); border: 1px solid var(--jrac-line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); overflow: hidden; }
.leader-card__open { position: relative; display: block; width: 100%; padding: 0; color: var(--jrac-white); background: var(--jrac-dark); border: 0; cursor: pointer; overflow: hidden; }
.leader-card__open::after { position: absolute; inset: 45% 0 0; content: ""; background: linear-gradient(transparent, rgba(10, 13, 10, 0.88)); pointer-events: none; }
.leader-card__open img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 300ms ease; }
.leader-card__open > span { position: absolute; z-index: 1; right: 0.75rem; bottom: 0.65rem; left: 0.75rem; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; color: var(--jrac-white); font-size: clamp(0.67rem, 2.6vw, 0.76rem); font-weight: 850; letter-spacing: 0.08em; text-align: left; text-transform: uppercase; }
.leader-card__open > span span { display: grid; width: 1.8rem; height: 1.8rem; flex: 0 0 auto; place-items: center; color: var(--jrac-dark); background: var(--jrac-lime-bright); border-radius: 50%; font-size: 1rem; }
.leader-card__open:hover img, .leader-card__open:focus-visible img { transform: scale(1.035); }
.leader-card__caption { padding: 0.9rem; }
.leader-card__caption h3 { margin-bottom: 0.25rem; font-size: clamp(1.05rem, 3.3vw, 1.35rem); }
.leader-card__caption p { margin: 0; color: var(--jrac-muted); font-size: 0.78rem; font-weight: 750; line-height: 1.35; }

body.dialog-open { overflow: hidden; }
.leader-dialog { width: min(900px, calc(100% - 1.25rem)); max-height: min(90svh, 760px); padding: 0; color: var(--jrac-ink); background: var(--jrac-white); border: 0; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: auto; }
.leader-dialog::backdrop { background: rgba(7, 10, 7, 0.78); backdrop-filter: blur(5px); }
.leader-dialog__layout { display: grid; min-height: 100%; }
.leader-dialog__image { width: 100%; max-height: 46svh; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; background: var(--jrac-mist); }
.leader-dialog__content { padding: var(--space-md); }
.leader-dialog__content h3 { margin-bottom: 0.45rem; font-size: clamp(2rem, 7vw, 3.6rem); text-transform: uppercase; }
.leader-dialog__role { margin-bottom: 1.25rem; color: var(--jrac-lime-text); font-size: 0.82rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; }
.leader-dialog__content ul { display: grid; gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.leader-dialog__content li { position: relative; padding-left: 1.35rem; }
.leader-dialog__content li::before { position: absolute; top: 0.62em; left: 0; width: 0.55rem; height: 0.55rem; content: ""; background: var(--jrac-lime); border-radius: 50%; }
.leader-dialog__close { position: fixed; z-index: 2; top: max(0.9rem, env(safe-area-inset-top)); right: max(0.9rem, env(safe-area-inset-right)); display: grid; width: 2.75rem; height: 2.75rem; padding: 0; place-items: center; color: var(--jrac-dark); background: var(--jrac-lime-bright); border: 2px solid var(--jrac-dark); border-radius: 50%; box-shadow: var(--shadow-sm); font-size: 1.8rem; line-height: 1; cursor: pointer; }
.apparel-list { columns: 1; column-gap: 2rem; }
.apparel-list li { break-inside: avoid; }
.gallery-filters { margin-bottom: var(--space-md); }
.legacy-note { color: var(--jrac-muted); font-size: 0.9rem; }
.article-feature { display: grid; gap: var(--space-md); align-items: center; }
.article-feature img { width: 100%; min-height: 320px; object-fit: cover; border-radius: var(--radius-lg); }
.route-block { display: grid; gap: 0.7rem; padding: var(--space-sm); background: var(--jrac-mist); border-radius: var(--radius-md); }
.route-block strong { font-family: var(--font-display); font-size: 1.5rem; text-transform: uppercase; }
