:root {
  --ink: #171311;
  --charcoal: #24201d;
  --oxblood: #4a0c11;
  --burgundy: #68151b;
  --rust: #a33d2c;
  --gold: #c89a49;
  --gold-bright: #e0b968;
  --ivory: #f7f2e8;
  --paper: #fffdf8;
  --sand: #e8ddcc;
  --muted: #756c62;
  --line: rgba(23, 19, 17, .14);
  --shadow: 0 28px 80px rgba(28, 17, 12, .18), 0 8px 24px rgba(28, 17, 12, .1);
  --shadow-soft: 0 16px 45px rgba(28, 17, 12, .11), 0 3px 10px rgba(28, 17, 12, .06);
  --shadow-deep: 0 34px 90px rgba(8, 4, 3, .35), 0 12px 30px rgba(8, 4, 3, .22);
  --serif: 'Cormorant Garamond', 'Bodoni 72', Didot, Georgia, 'Times New Roman', serif;
  --sans: Manrope, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-touch-callout: none; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.7 var(--sans); overflow-x: hidden; }
body.nav-open { overflow: hidden; }
img { max-width: 100%; height: auto; image-orientation: from-image; -webkit-user-drag: none; user-select: none; }
html.privacy-shield-active body > * {
  filter: blur(22px) saturate(.25);
  pointer-events: none;
}
html.privacy-shield-active body::after {
  content: '';
  position: fixed;
  z-index: 2147483647;
  inset: 0;
  pointer-events: none;
  background:
    repeating-conic-gradient(rgba(15,8,10,.3) 0 25%, rgba(74,12,17,.3) 0 50%) 0 0 / 24px 24px,
    rgba(10,6,8,.38);
  -webkit-backdrop-filter: blur(20px) saturate(.2);
  backdrop-filter: blur(20px) saturate(.2);
}
a { color: inherit; text-decoration: none; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
a:hover, a:focus { color: var(--rust); text-decoration: none; }
p { margin: 0 0 1.2em; }
h1, h2, h3 { margin-top: 0; font-family: var(--serif); font-weight: 400; line-height: 1.08; }
h1 em, h2 em { color: var(--gold-bright); font-weight: 400; }
.container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; padding-inline: 0; }
.container::before, .container::after { display: none!important; content: none!important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 10000; top: 12px; left: 12px; padding: 12px 18px; color: #fff; background: var(--oxblood); transform: translateY(-160%); }
.skip-link:focus { color: #fff; transform: translateY(0); }
:focus-visible { outline: 3px solid var(--gold-bright); outline-offset: 4px; }

.utility-bar { color: #f4ece0; background: #1e1916; font-size: 12px; letter-spacing: .03em; }
.utility-inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.utility-inner p { margin: 0; }
.utility-inner i { color: var(--gold); margin-right: 7px; }
.utility-actions { display: flex; align-items: center; gap: 18px; }
.utility-actions a { color: #f4ece0; }
.utility-actions a:hover { color: var(--gold-bright); }
.utility-actions a[aria-label] i { margin: 0; }

.site-header { position: relative; z-index: 200; width: 100%; color: var(--ink); background: rgba(255,253,248,.97); border-bottom: 1px solid var(--line); transition: box-shadow .25s ease; }
.site-header.is-scrolled { position: sticky; top: 0; box-shadow: 0 10px 30px rgba(30,20,14,.1); }
.header-inner { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 13px; min-width: 268px; color: var(--ink); }
.brand:hover { color: var(--ink); }
.brand img { width: 58px; height: 76px; object-fit: contain; }
.brand span { display: flex; flex-direction: column; }
.brand strong { color: var(--oxblood); font: 700 26px/1 var(--serif); letter-spacing: .02em; }
.brand small { margin-top: 5px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .15em; }
.primary-nav ul { display: flex; align-items: center; gap: clamp(14px, 2vw, 30px); padding: 0; margin: 0; list-style: none; }
.primary-nav a { position: relative; display: block; padding: 34px 0 31px; color: #37302b; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.primary-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 24px; height: 2px; background: var(--rust); transition: right .2s ease; }
.primary-nav a:hover::after, .primary-nav a[aria-current='page']::after { right: 0; }
.primary-nav a[aria-current='page'] { color: var(--oxblood); }
.nav-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--line); background: transparent; color: var(--oxblood); font-size: 20px; }

.section { padding: 110px 0; }
.eyebrow { margin-bottom: 18px; color: var(--gold-bright); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .25em; }
.eyebrow.dark { color: var(--rust); }
.display-title { max-width: 720px; font-size: clamp(42px, 5vw, 70px); }
.large-copy { font: 26px/1.5 var(--serif); color: #38302b; }
.text-link { display: inline-flex; align-items: center; gap: 12px; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: var(--oxblood); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.text-link.light { color: #fff; }
.btn-gold, .btn-outline, .btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 14px 25px; border: 1px solid var(--gold); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.btn-gold { color: #1c1510; background: var(--gold-bright); border-color: var(--gold-bright); }
.btn-gold:hover { color: #fff; background: var(--rust); border-color: var(--rust); }
.btn-outline { color: var(--oxblood); background: transparent; border-color: var(--oxblood); }
.btn-outline:hover { color: #fff; background: var(--oxblood); }
.btn-ghost { color: #fff; border-color: rgba(255,255,255,.55); }
.btn-ghost:hover { color: var(--ink); background: #fff; border-color: #fff; }
.light-border { color: #fff; border-color: rgba(255,255,255,.55); }
.light-border:hover { color: var(--ink); background: #fff; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 55px; }
.section-heading h2 { max-width: 700px; margin-bottom: 0; font-size: clamp(38px, 4.8vw, 60px); }
.section-heading > p { max-width: 420px; color: var(--muted); }
.section-heading.inverse, .section-heading.inverse > p { color: #f9f2e9; }
.statement-layout { display: grid; grid-template-columns: 150px minmax(0, 850px); justify-content: center; gap: 45px; }
.statement-layout.statement-clean { grid-template-columns: minmax(0, 850px); gap: 0; }
.statement-number { color: var(--sand); font: 100px/1 var(--serif); }
.statement-layout h2 { font-size: clamp(40px, 5vw, 65px); }

.page-hero { position: relative; overflow: hidden; }

/* Home — TopBiz index variation 1 */
.home-hero { position: relative; min-height: 720px; display: grid; align-items: center; color: #fff; background: #19120f; overflow: hidden; }
.home-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(21,13,10,.91) 0%, rgba(35,14,13,.68) 50%, rgba(10,8,7,.14) 100%); }
.home-hero-image { position: absolute; inset: 0; background: url('../images/hero-worship.jpg') center 38%/cover no-repeat; filter: saturate(.55) sepia(.16); }
.hero-content { position: relative; z-index: 2; padding-block: 110px 150px; }
.hero-content h1 { max-width: 850px; margin-bottom: 28px; font-size: clamp(58px, 8vw, 104px); letter-spacing: -.03em; }
.hero-lead { max-width: 650px; color: #efe8df; font-size: 19px; }
.hero-actions { display: flex; gap: 14px; margin-top: 34px; }
.hero-scripture { position: absolute; z-index: 3; right: 0; bottom: 0; width: min(470px, 43%); padding: 23px 50px; color: #1f1610; background: var(--gold-bright); }
.hero-scripture span { display: block; font: 18px/1.35 var(--serif); }
.hero-scripture strong { font-size: 10px; text-transform: uppercase; letter-spacing: .18em; }
.prelate-ribbon { color: #fff; background: var(--oxblood); }
.ribbon-inner { min-height: 132px; display: grid; grid-template-columns: 80px 1fr auto; align-items: center; gap: 25px; }
.ribbon-mark { width: 57px; height: 57px; display: grid; place-items: center; color: var(--gold-bright); border: 1px solid rgba(224,185,104,.5); border-radius: 50%; }
.ribbon-inner p, .ribbon-inner h2 { margin: 0; }
.ribbon-inner p { color: var(--gold-bright); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .18em; }
.ribbon-inner h2 { margin: 4px 0; font-size: 30px; }
.ribbon-inner div span { color: #d8c8bd; font-size: 12px; }
.ribbon-inner > a { color: #fff; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.ribbon-inner > a i { margin-left: 10px; }
.intro-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: start; }
.prose-lead { padding-top: 25px; color: #4c443f; font-size: 18px; }
.pathways { display: grid; grid-template-columns: repeat(3, 1fr); }
.pathway { position: relative; min-height: 340px; display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 48px; color: #fff; background-position: center; background-size: cover; overflow: hidden; }
.pathway::before { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(18,10,8,.94), rgba(18,10,8,.28)); }
.pathway > * { position: relative; z-index: 1; }
.pathway p { margin-bottom: 5px; color: #d9cec5; font-size: 11px; text-transform: uppercase; letter-spacing: .14em; }
.pathway h2 { margin: 0; font-size: clamp(27px, 3vw, 40px); }
.pathway > i { color: var(--gold-bright); }
.pathway:hover { color: #fff; }
.pathway:hover::before { background: linear-gradient(0deg, rgba(74,12,17,.97), rgba(74,12,17,.45)); }
.pathway-one { background-image: url('../images/morning-prayer.jpg'); }
.pathway-two { background-image: url('../images/ministry-gathering-upright.jpg'); }
.pathway-three { background-image: url('../images/evening-service.jpg'); }
.home-history { background: var(--ivory); }
.history-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; align-items: center; }
.image-frame { position: relative; margin: 0; }
.image-frame::before { content: ''; position: absolute; inset: -20px 35px 35px -20px; border: 1px solid var(--gold); }
.image-frame img { position: relative; width: 100%; min-height: 470px; object-fit: cover; box-shadow: var(--shadow); filter: sepia(.12); }
.image-frame figcaption { position: absolute; right: -25px; bottom: 0; width: 270px; padding: 20px; color: #fff; background: var(--oxblood); font: 14px/1.5 var(--serif); }
.history-grid h2 { font-size: clamp(42px, 5vw, 67px); }
.history-grid p:not(.eyebrow) { color: #514943; }
.current-calendar { background: #fff; }
.calendar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.calendar-grid article { padding: 38px; border: 1px solid var(--line); background: var(--paper); }
.calendar-grid article:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.calendar-grid h3 { margin-top: 20px; font-size: 30px; }
.calendar-grid a { color: var(--oxblood); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.event-status { display: inline-block; padding: 6px 10px; color: var(--oxblood); background: #efe1cd; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.home-cta { padding: 85px 0; color: #fff; background: linear-gradient(120deg, var(--oxblood), #25090c); }
.home-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.home-cta h2 { max-width: 760px; margin: 0; font-size: clamp(38px, 5vw, 63px); }
.home-cta .container > div:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; min-width: 210px; }

/* About — TopBiz index variation 2 */
.about-hero { padding: 105px 0 120px; color: #fff; background: linear-gradient(115deg, #1d1714 0 58%, var(--oxblood) 58%); }
.about-hero-grid { display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 80px; }
.about-hero h1 { margin-bottom: 30px; font-size: clamp(60px, 8vw, 100px); }
.about-hero p:not(.eyebrow) { max-width: 630px; color: #ded4ca; font-size: 19px; }
.seal-stage { position: relative; min-height: 440px; display: grid; place-items: center; }
.seal-stage img { position: relative; z-index: 2; width: 245px; max-height: 390px; object-fit: contain; filter: drop-shadow(0 20px 25px rgba(0,0,0,.28)); }
.seal-ring { position: absolute; width: 400px; height: 400px; border: 1px solid rgba(224,185,104,.45); border-radius: 50%; }
.seal-ring::before, .seal-ring::after { content: ''; position: absolute; border: 1px solid rgba(224,185,104,.2); border-radius: 50%; }
.seal-ring::before { inset: 28px; }
.seal-ring::after { inset: 66px; }
.seal-stage p { position: absolute; bottom: 0; margin: 0; color: var(--gold-bright)!important; font-size: 10px!important; text-transform: uppercase; letter-spacing: .23em; }
.page-jump { position: sticky; z-index: 100; top: 0; background: #fff; border-bottom: 1px solid var(--line); }
.page-jump .container { display: flex; justify-content: center; }
.page-jump a { padding: 20px 30px; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.page-jump a:hover { color: var(--oxblood); background: var(--ivory); }
.purpose-panel { padding: 110px 0; color: #fff; background: var(--oxblood); }
.purpose-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; }
.purpose-grid h2 { font-size: clamp(42px, 5vw, 66px); }
.purpose-grid blockquote { margin: 55px 0 0; padding: 0 0 0 25px; border-left: 2px solid var(--gold); color: #f3e9de; font: 22px/1.5 var(--serif); }
blockquote cite { display: block; margin-top: 12px; color: var(--gold-bright); font: 800 10px var(--sans); text-transform: uppercase; letter-spacing: .16em; }
.purpose-copy { color: #e2d4cb; font-size: 17px; }
.history-section { background: var(--ivory); }
.timeline { position: relative; max-width: 980px; margin: 0 auto; }
.timeline::before { content: ''; position: absolute; top: 0; bottom: 0; left: 120px; width: 1px; background: var(--gold); }
.timeline article { display: grid; grid-template-columns: 120px 1fr; gap: 50px; padding: 0 0 55px; }
.timeline article > span { color: var(--rust); font: 24px var(--serif); }
.timeline article > div { position: relative; padding-left: 35px; }
.timeline article > div::before { content: ''; position: absolute; left: -56px; top: 7px; width: 12px; height: 12px; background: var(--gold); border: 4px solid var(--ivory); border-radius: 50%; box-shadow: 0 0 0 1px var(--gold); }
.timeline h3 { font-size: 32px; }
.covenant-section { padding: 110px 0; color: #fff; background: #1e1916; }
.covenant-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.covenant-grid h2 { font-size: clamp(40px, 4.8vw, 60px); }
.covenant-card { padding: 45px; color: #3d3530; background: var(--paper); box-shadow: var(--shadow); }
.covenant-card > p { font: 21px/1.65 var(--serif); }
details { border-top: 1px solid var(--line); }
details summary { cursor: pointer; padding: 20px 0; color: var(--oxblood); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }

/* Leadership — TopBiz index variation 3 / member */
.leadership-hero { padding: 80px 0 0; color: #fff; background: radial-gradient(circle at 75% 20%, #76322d, var(--oxblood) 36%, #21080b 80%); }
.leadership-hero-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 70px; }
.leadership-hero h1 { font-size: clamp(60px, 7.5vw, 98px); }
.leadership-hero p:not(.eyebrow) { max-width: 520px; color: #eaded5; font-size: 19px; }
.leadership-meta { display: flex; align-items: center; gap: 14px; margin: 45px 0 75px; }
.leadership-meta span { color: var(--gold-bright); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .18em; }
.leadership-meta strong { padding-left: 14px; border-left: 1px solid var(--gold); font: 20px var(--serif); }
.leadership-hero figure { position: relative; margin: 0; min-height: 610px; }
.leadership-hero figure::before { content: ''; position: absolute; inset: 30px 0 0 30px; border: 1px solid rgba(224,185,104,.45); }
.leadership-hero figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; filter: saturate(.75); }
.leadership-hero figcaption { position: absolute; left: -40px; bottom: 25px; padding: 20px 28px; background: var(--gold-bright); color: var(--ink); font: 26px/1.2 var(--serif); }
.leadership-hero figcaption span { display: block; margin-bottom: 4px; font: 800 9px var(--sans); text-transform: uppercase; letter-spacing: .16em; }
.announcement-section { padding: 110px 0; background: var(--ivory); }
.announcement-grid { display: grid; grid-template-columns: 1.05fr .65fr; gap: 85px; align-items: start; }
.announcement-copy h2 { font-size: clamp(42px, 5vw, 64px); }
.quality-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 45px; }
.quality-grid > div { padding: 25px 20px; border: 1px solid var(--line); background: #fff; }
.quality-grid i { color: var(--rust); font-size: 22px; }
.quality-grid h3 { margin: 15px 0 8px; font-size: 22px; }
.quality-grid p { margin: 0; color: var(--muted); font-size: 13px; }
.announcement-art { margin: 0; }
.announcement-art img { width: 100%; box-shadow: var(--shadow); }
.announcement-art a { display: block; padding: 13px; color: #fff; background: var(--oxblood); text-align: center; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.leader-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.leader-row article { overflow: hidden; background: var(--ivory); }
.leader-row img { width: 100%; height: 315px; object-fit: cover; object-position: center 20%; filter: saturate(.7); }
.leader-row article > div { padding: 26px; }
.leader-row span { color: var(--rust); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.leader-row h3 { margin: 8px 0; font-size: 27px; }
.leader-row p { margin: 0; color: var(--muted); font-size: 13px; }
.officeholders-section {
  position: relative;
  padding: 105px 0 115px;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 7%, rgba(200,154,73,.15), transparent 27rem),
    radial-gradient(circle at 8% 92%, rgba(104,21,27,.11), transparent 30rem),
    linear-gradient(150deg, #fffefa, #eee5da);
  border-top: 1px solid rgba(74,12,17,.08);
  box-shadow: inset 0 1px rgba(255,255,255,.9), inset 0 -1px rgba(74,12,17,.09);
}
.officeholders-section::before {
  content: 'SERVICE';
  position: absolute;
  top: -35px;
  right: -18px;
  color: rgba(74,12,17,.028);
  font: 800 clamp(100px, 17vw, 225px)/1 var(--display-sans);
  letter-spacing: -.06em;
  pointer-events: none;
}
.officeholders-section > .container { position: relative; z-index: 1; }
.officeholders-gallery {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.officeholder-portrait {
  position: relative;
  aspect-ratio: 1;
  margin: 0;
  overflow: hidden;
  isolation: isolate;
  background: #14121a;
  border: 1px solid rgba(74,12,17,.12);
  box-shadow:
    0 24px 55px rgba(35,17,12,.18),
    0 7px 16px rgba(35,17,12,.08),
    inset 0 1px rgba(255,255,255,.4);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.officeholder-portrait::before {
  content: '';
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(145deg, rgba(255,255,255,.14), transparent 24%),
    linear-gradient(0deg, rgba(17,8,12,.93) 0%, rgba(17,8,12,.66) 23%, rgba(17,8,12,.18) 53%, transparent 72%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), inset 0 -18px 35px rgba(10,6,8,.14);
}
.officeholder-portrait::after {
  content: '';
  position: absolute;
  z-index: 3;
  left: 0;
  right: 38%;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold-bright), rgba(224,185,104,0));
}
.officeholder-portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  image-orientation: from-image;
  filter: saturate(.78) contrast(1.055);
  transform: scale(1.012);
  transition: transform .48s ease, filter .48s ease;
}
.officeholder-portrait figcaption {
  position: absolute;
  z-index: 4;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 25px 18px 18px;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,.75);
}
.officeholder-portrait figcaption span {
  display: block;
  margin-bottom: 7px;
  color: var(--gold-bright);
  font-size: 8px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.officeholder-portrait figcaption strong {
  display: block;
  font: 700 18px/1.08 var(--serif);
  text-wrap: balance;
}
.officeholder-portrait figcaption small {
  display: block;
  margin-top: 7px;
  color: rgba(255,255,255,.84);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
  text-wrap: balance;
}
.officeholder-portrait-detailed figcaption {
  padding-top: 60px;
  background: linear-gradient(0deg, rgba(17,8,12,.78), rgba(17,8,12,0));
}
@media (hover: hover) and (pointer: fine) {
  .officeholder-portrait:hover {
    z-index: 2;
    transform: translateY(-7px) perspective(850px) rotateX(.6deg);
    border-color: rgba(200,154,73,.46);
    box-shadow: 0 34px 75px rgba(35,17,12,.25), 0 10px 22px rgba(35,17,12,.12), inset 0 1px rgba(255,255,255,.5);
  }
  .officeholder-portrait:hover img { transform: scale(1.055); filter: saturate(.94) contrast(1.07); }
}
.legacy-section { padding: 110px 0; color: #fff; background: #1e1916; }
.legacy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.legacy-grid article { position: relative; display: grid; grid-template-columns: 230px 1fr; background: #2a2420; }
.legacy-grid img { width: 100%; height: 100%; min-height: 310px; object-fit: cover; filter: grayscale(.25); }
.legacy-grid article > div { padding: 35px; align-self: center; }
.legacy-grid span { color: var(--gold-bright); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.legacy-grid h3 { margin: 10px 0; font-size: 30px; }
.legacy-grid p { color: #d5c9bf; font-size: 14px; }
.legacy-featured { grid-column: 1 / -1; grid-template-columns: minmax(300px, .72fr) 1.28fr!important; background: linear-gradient(115deg, #342a24, #211b18)!important; }
.legacy-featured img { min-height: 430px; object-position: center 24%; }
.legacy-featured > div { padding: clamp(36px, 5vw, 72px); }
.legacy-featured h3 { font-size: clamp(36px, 4vw, 56px); }
.legacy-featured p { max-width: 760px; font-size: 16px; line-height: 1.8; }
.legacy-featured .legacy-honor { margin-top: 22px; color: var(--gold-bright); font: italic 22px/1.55 var(--serif); }
.legacy-read {
  position: static;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding-bottom: 5px;
  color: var(--gold-bright);
  border-bottom: 1px solid rgba(224,185,104,.56);
  font: 800 10px/1.4 var(--sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.legacy-read::after {
  content: '';
  position: absolute;
  inset: 0;
}
.legacy-read i { transition: transform .25s ease; }
.legacy-grid article:hover .legacy-read { color: #fff; }
.legacy-grid article:hover .legacy-read i { transform: translateX(5px); }
.legacy-grid article:focus-within {
  outline: 3px solid var(--gold-bright);
  outline-offset: 5px;
}

/* Foundational leadership biographies */
.bio-hero {
  position: relative;
  min-height: 720px;
  padding: 82px 0 0;
  color: #fff;
  overflow: hidden;
  border-bottom: 1px solid rgba(224,185,104,.28);
  box-shadow: inset 0 -130px 180px rgba(0,0,0,.45), var(--shadow-deep);
}
.bio-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(255,255,255,.045) 50%, transparent 50.1%),
    radial-gradient(circle at 76% 22%, rgba(224,185,104,.14), transparent 26rem);
}
.bio-theme-evans { background: radial-gradient(circle at 18% 20%, rgba(200,154,73,.16), transparent 25rem), linear-gradient(125deg, #0e111d, #3c1016 72%, #19090d); }
.bio-theme-bragg { background: radial-gradient(circle at 80% 18%, rgba(111,85,188,.22), transparent 28rem), linear-gradient(125deg, #111421, #31131c 72%, #180d13); }
.bio-theme-pender { background: radial-gradient(circle at 78% 16%, rgba(224,185,104,.2), transparent 27rem), linear-gradient(125deg, #0e121f, #4b1018 74%, #1a0a0e); }
.bio-hero-grid {
  position: relative;
  z-index: 2;
  min-height: 638px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .75fr);
  align-items: end;
  gap: clamp(55px, 7vw, 100px);
}
.bio-hero-copy { align-self: center; padding-bottom: 80px; }
.bio-back-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 55px;
  color: #e9ded4;
  font: 700 10px/1.4 var(--sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.bio-back-link i { color: var(--gold-bright); }
.bio-back-link:hover { color: var(--gold-bright); transform: translateX(-4px); }
.bio-hero h1 {
  max-width: 760px;
  margin-bottom: 18px;
  font-size: clamp(58px, 7vw, 96px);
  text-wrap: balance;
}
.bio-role {
  margin: 0;
  color: var(--gold-bright);
  font: 600 clamp(22px, 2.5vw, 31px)/1.3 var(--serif);
}
.bio-succession {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 42px;
}
.bio-succession span {
  color: #d7cbd1;
  font: 800 9px/1.4 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.bio-succession strong {
  padding-left: 18px;
  color: #fff;
  border-left: 1px solid var(--gold);
  font: 500 20px/1.3 var(--serif);
}
.bio-portrait {
  position: relative;
  align-self: end;
  margin: 0;
  padding: 0 24px 0 0;
  filter: drop-shadow(0 40px 75px rgba(0,0,0,.42));
}
.bio-portrait::before {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 28px 0 -22px 42px;
  border: 1px solid rgba(224,185,104,.48);
  box-shadow: 0 0 65px rgba(224,185,104,.08), inset 0 0 45px rgba(224,185,104,.04);
}
.bio-portrait > div {
  position: relative;
  z-index: 1;
  height: 610px;
  overflow: hidden;
  background: linear-gradient(145deg, #ead09b, #68151b);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 35px 90px rgba(0,0,0,.4), inset 0 1px rgba(255,255,255,.16);
}
.bio-portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 18%;
  filter: saturate(.78) contrast(1.07);
}
.bio-portrait.bio-portrait-couple > div {
  height: auto;
  aspect-ratio: 1 / 1;
}
.bio-portrait.bio-portrait-couple img {
  object-position: center;
}
.bio-theme-evans .bio-portrait img { object-position: center 20%; }
.bio-theme-evans .bio-portrait.bio-portrait-couple img { object-position: center; }
.bio-portrait figcaption {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 28px;
  max-width: 82%;
  padding: 16px 22px;
  color: #21140e;
  background: linear-gradient(135deg, #edcb83, #c89137);
  box-shadow: -16px 18px 40px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.5);
  font: 700 11px/1.4 var(--sans);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.bio-jump { top: 0; }
.bio-story {
  background:
    radial-gradient(circle at 8% 8%, rgba(200,154,73,.1), transparent 25rem),
    linear-gradient(150deg, #f8f1e7, #fffefa 72%);
}
.bio-story-grid {
  display: grid;
  grid-template-columns: minmax(270px, .62fr) minmax(0, 1.38fr);
  align-items: start;
  gap: clamp(60px, 8vw, 110px);
}
.bio-facts {
  position: sticky;
  top: 126px;
  padding: 38px;
  background: linear-gradient(155deg, #fff, #f0e4d5);
  border: 1px solid rgba(74,12,17,.1);
  border-top: 4px solid var(--gold);
  box-shadow: 0 30px 80px rgba(41,20,13,.16), 0 8px 20px rgba(41,20,13,.08), inset 0 1px rgba(255,255,255,.9);
}
.bio-introduction { color: #433a34; font: 21px/1.5 var(--serif); }
.bio-facts dl { margin: 30px 0; }
.bio-facts dt {
  padding-top: 15px;
  color: var(--rust);
  border-top: 1px solid var(--line);
  font: 800 9px/1.4 var(--sans);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.bio-facts dd { margin: 5px 0 0; padding-bottom: 15px; color: #3e3530; font: 600 14px/1.6 var(--sans); }
.bio-source-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--oxblood);
  font: 800 10px/1.5 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.bio-facts small { display: block; margin-top: 12px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.bio-prose { min-width: 0; }
.bio-copy-section {
  padding: 0 0 75px;
  margin: 0 0 75px;
  border-bottom: 1px solid rgba(74,12,17,.12);
  scroll-margin-top: 115px;
}
.bio-copy-section:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.bio-copy-section h2 { max-width: 800px; margin-bottom: 30px; font-size: clamp(39px, 4.5vw, 60px); }
.bio-copy-section > p:not(.eyebrow) { color: #4d443e; font-size: 17px; line-height: 1.9; }
.bio-copy-section > p:not(.eyebrow):first-of-type { color: #302824; font: 500 22px/1.65 var(--serif); }
.bio-copy-section blockquote {
  position: relative;
  margin: 45px 0 0;
  padding: 42px 46px 42px 58px;
  color: #f2e8df;
  background: radial-gradient(circle at 88% 15%, rgba(224,185,104,.13), transparent 18rem), linear-gradient(135deg, #151520, #3c0d14);
  border-left: 4px solid var(--gold-bright);
  box-shadow: 0 28px 70px rgba(20,9,8,.25), inset 0 1px rgba(255,255,255,.08);
  font: italic 27px/1.55 var(--serif);
}
.bio-related {
  padding: 90px 0;
  color: #fff;
  background: radial-gradient(circle at 12% 18%, rgba(104,21,27,.42), transparent 28rem), linear-gradient(125deg, #0d101c, #211218 65%, #120d12);
  box-shadow: inset 0 1px rgba(224,185,104,.15), var(--shadow-deep);
}
.bio-related > .container { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 80px; }
.bio-related h2 { margin: 0; color: #fff; font-size: clamp(36px, 4vw, 55px); }
.bio-related-links { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bio-related-links a {
  position: relative;
  min-height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 28px;
  color: #fff;
  background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: 0 24px 60px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.09);
}
.bio-related-links span { color: var(--gold-bright); font: 800 9px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.bio-related-links strong { margin-top: 8px; font: 600 24px/1.2 var(--serif); }
.bio-related-links i { position: absolute; top: 28px; right: 28px; color: var(--gold-bright); }
.bio-related-links a:hover { color: #fff; transform: translateY(-7px); border-color: rgba(224,185,104,.4); box-shadow: 0 34px 80px rgba(0,0,0,.38); }

/* Churches — TopBiz index variation 4 / portfolio */
.churches-hero { padding: 115px 0; color: #fff; background: linear-gradient(125deg, #1e1916 0 58%, #d0a24f 58%); }
.churches-hero .container { display: grid; grid-template-columns: 1fr .8fr; gap: 100px; align-items: end; }
.churches-title h1 { font-size: clamp(58px, 7vw, 92px); }
.churches-title p:not(.eyebrow) { max-width: 600px; color: #d9cec4; font-size: 18px; }
.directory-search { padding: 36px; color: var(--ink); background: var(--paper); box-shadow: var(--shadow); }
.directory-search label { display: block; margin-bottom: 14px; color: var(--oxblood); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.directory-search > div { display: flex; align-items: center; gap: 12px; border-bottom: 2px solid var(--ink); }
.directory-search input { width: 100%; padding: 15px 0; border: 0; background: transparent; font: 18px var(--serif); outline: 0; }
.directory-search > p { margin: 12px 0 0; color: var(--muted); font-size: 11px; }
.directory-section { padding: 110px 0; background: var(--ivory); }
.directory-intro { max-width: 820px; margin-bottom: 55px; }
.directory-intro h2 { font-size: clamp(42px, 5vw, 65px); }
.directory-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.directory-card { padding: 32px; background: #fff; border: 1px solid rgba(23,19,17,.08); box-shadow: 0 12px 35px rgba(44,30,20,.06); }
.directory-card[hidden] { display: none; }
.directory-card-head { display: grid; grid-template-columns: 110px 1fr; gap: 20px; align-items: center; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.directory-card-head img { width: 110px; height: 125px; object-fit: cover; object-position: center 20%; filter: saturate(.7); }
.directory-card-head p { margin: 0 0 5px; color: var(--rust); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.directory-card-head h2 { margin: 0 0 6px; font-size: 25px; }
.directory-card-head small { color: var(--muted); }
.directory-card ul { padding: 20px 0 0 20px; margin: 0; color: #4c433d; }
.directory-card li { padding: 7px 0; }
.directory-note { padding-top: 20px; color: var(--muted); font-size: 13px; }
.no-results { padding: 55px; text-align: center; background: #fff; }
.affiliation-cta { padding: 85px 0; color: #fff; background: var(--oxblood); }
.affiliation-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.affiliation-cta h2 { font-size: clamp(38px, 4vw, 55px); }
.affiliation-cta p:not(.eyebrow) { max-width: 730px; color: #e2d4ca; }

/* Ministries — TopBiz about */
.ministries-hero { padding: 120px 0; color: #fff; background: #1d1815; }
.ministries-hero::after { content: ''; position: absolute; width: 500px; height: 500px; right: -120px; bottom: -270px; border: 1px solid rgba(224,185,104,.35); border-radius: 50%; box-shadow: 0 0 0 70px rgba(224,185,104,.05), 0 0 0 140px rgba(224,185,104,.04); }
.ministries-hero-grid { display: grid; grid-template-columns: 1.2fr .6fr; gap: 100px; align-items: end; }
.ministries-hero h1 { font-size: clamp(58px, 7vw, 94px); }
.ministries-hero-grid > p { color: #d9cec5; font-size: 20px; }
.ministry-mosaic { display: grid; grid-template-columns: 1fr 1fr; }
.ministry-panel { position: relative; min-height: 580px; overflow: hidden; }
.ministry-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 15%; transition: transform .55s ease; }
.ministry-panel::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(21,12,10,.92), rgba(21,12,10,.06) 70%); }
.ministry-panel > div { position: absolute; z-index: 2; left: 45px; right: 45px; bottom: 40px; color: #fff; }
.ministry-panel span { color: var(--gold-bright); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.ministry-panel h2 { max-width: 650px; margin: 10px 0; font-size: clamp(33px, 4vw, 52px); }
.ministry-panel p { margin: 0; color: #dfd5cd; font-size: 13px; }
.ministry-panel:hover img { transform: scale(1.04); }
.ministry-purpose { background: var(--ivory); }
.three-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 45px; }
.three-columns p { color: var(--muted); }
.three-columns strong { display: block; margin-bottom: 10px; color: var(--oxblood); font: 28px var(--serif); }
.ministry-gathering { padding: 110px 0; color: #fff; background: var(--oxblood); }
.ministry-gathering .container { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: center; }
.ministry-gathering img { width: 100%; min-height: 430px; object-fit: cover; filter: grayscale(.35); }
.ministry-gathering h2 { font-size: clamp(40px, 5vw, 64px); }

/* Events — TopBiz event */
.events-hero { padding: 125px 0; color: #fff; background: linear-gradient(100deg, var(--oxblood), #23100f); }
.events-hero::after { content: 'EVENTS'; position: absolute; right: -20px; bottom: -45px; color: rgba(255,255,255,.045); font: 190px/1 var(--serif); }
.events-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr .55fr; gap: 80px; align-items: end; }
.events-hero h1 { font-size: clamp(62px, 8vw, 105px); }
.calendar-note { padding-left: 30px; border-left: 1px solid var(--gold); }
.calendar-note span { color: var(--gold-bright); font: 54px var(--serif); }
.calendar-note p { color: #ded2c8; }
.event-center { background: var(--paper); }
.event-list { display: grid; gap: 20px; }
.event-list article { display: grid; grid-template-columns: 130px 180px 1fr; align-items: stretch; min-height: 210px; border: 1px solid var(--line); background: #fff; }
.event-date { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; background: var(--oxblood); text-align: center; }
.event-date strong { font: 33px var(--serif); }
.event-date span { font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
.event-list img { width: 100%; height: 100%; object-fit: cover; }
.event-list article > div:last-child { align-self: center; padding: 30px 40px; }
.event-list h3 { margin: 12px 0; font-size: 34px; }
.event-list p { color: var(--muted); }
.event-list a { color: var(--oxblood); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.event-status.archived { color: #62584f; background: #eee7de; }
.upcoming-panel { padding: 100px 0; color: #fff; background: #1e1916; }
.upcoming-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 100px; align-items: center; }
.upcoming-grid h2 { font-size: clamp(40px, 5vw, 65px); }
.upcoming-grid > div:last-child { padding: 40px; border: 1px solid rgba(224,185,104,.35); }
.upcoming-grid > div:last-child > i { color: var(--gold-bright); font-size: 36px; }

/* Convocation — 2026 event center */
.convocation-hero { min-height: 760px; display: grid; align-items: center; color: #fff; background: radial-gradient(circle at 74% 28%, #82282f 0, var(--oxblood) 38%, #170a0c 100%); overflow: hidden; }
.convocation-hero::before { content: ''; position: absolute; inset: 30px; z-index: 1; border: 1px solid rgba(224,185,104,.35); pointer-events: none; }
.convocation-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, rgba(12,8,12,.8), rgba(57,7,17,.38) 55%, rgba(9,7,9,.68)); pointer-events: none; }
.convocation-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, .88fr) minmax(390px, 1.12fr); align-items: center; gap: clamp(45px, 7vw, 95px); padding-block: 95px; }
.convocation-crest img { position: absolute; left: 21%; top: 50%; z-index: 1; width: 620px; opacity: .035; transform: translate(-50%, -50%); }
.convocation-hero-copy { position: relative; z-index: 2; }
.convocation-hero h1 { margin-bottom: 20px; font-size: clamp(76px, 9vw, 132px); letter-spacing: -.045em; }
.convocation-theme { margin: 0 0 8px; color: #fff; font: 32px/1.2 var(--serif); }
.convocation-theme strong { color: var(--gold-bright); font-weight: 700; }
.convocation-scripture { margin: 0; color: var(--gold-bright); font: 700 12px/1.5 var(--display-sans); letter-spacing: .11em; text-transform: uppercase; }
.convocation-location { margin: 22px 0 0; color: #eaded5; font-size: 14px; }
.convocation-location i { margin-right: 8px; color: var(--gold-bright); }
.convocation-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.convocation-hero-flyer { margin: 0; padding: 7px; background: linear-gradient(145deg, var(--gold-bright), #6a151b); box-shadow: 0 36px 90px rgba(0,0,0,.42); transform: perspective(1200px) rotateY(-3deg); }
.convocation-hero-flyer img { display: block; width: 100%; aspect-ratio: 1284 / 715; object-fit: cover; background: #18080d; }
.convocation-hero-flyer figcaption { padding: 10px 12px 6px; color: #f3dfbd; background: #280f14; font: 700 9px var(--display-sans); letter-spacing: .12em; text-transform: uppercase; }

.convocation-intro { padding: 95px 0; background: linear-gradient(180deg, #fffaf3, var(--ivory)); text-align: center; }
.convocation-intro .container { max-width: 1120px; }
.convocation-intro h2 { margin-inline: auto; max-width: 790px; font-size: clamp(42px, 5vw, 65px); }
.scripture-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 45px; text-align: left; }
.convocation-intro blockquote { margin: 0; padding: 38px; color: var(--oxblood); background: #fff; border: 1px solid rgba(119,67,39,.12); box-shadow: 0 22px 55px rgba(56,31,18,.08); font: 26px/1.48 var(--serif); }
.convocation-intro blockquote cite { color: var(--rust); }

.enthronement-feature { padding: 100px 0; color: #fff; background: radial-gradient(circle at 88% 12%, rgba(145,28,54,.38), transparent 30rem), linear-gradient(135deg, #111322, #290b14 78%); }
.enthronement-feature figure { margin: 0; padding: 8px; background: linear-gradient(145deg, var(--gold-bright), #74131e); box-shadow: var(--shadow-deep); }
.enthronement-feature img { display: block; width: 100%; aspect-ratio: 1284 / 735; object-fit: cover; }
.enthronement-feature figcaption, .schedule-flyer figcaption { padding: 12px 14px 6px; color: #d7c7b8; font: 700 9px var(--display-sans); letter-spacing: .12em; text-transform: uppercase; }

.convocation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.convocation-card { position: relative; min-height: 290px; display: block; padding: 35px; color: var(--ink); border: 1px solid var(--line); background: var(--paper); overflow: hidden; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.convocation-card::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, var(--gold), transparent); opacity: .5; }
.convocation-card.is-ready { background: linear-gradient(155deg, #fff, #f3e8db); border-color: rgba(200,154,73,.42); }
.convocation-grid .convocation-card > i { color: var(--rust); font-size: 28px; }
.convocation-grid h3 { margin: 30px 0 12px; font-size: 31px; }
.convocation-grid p { color: var(--muted); }
.convocation-grid small { display: block; margin-top: 18px; color: var(--rust); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.convocation-grid small i { margin-left: 5px; }

.convocation-schedule { padding: 110px 0; background: linear-gradient(180deg, #f7efe5, #fff); scroll-margin-top: 110px; }
.schedule-layout { display: grid; grid-template-columns: minmax(330px, .72fr) minmax(0, 1.28fr); align-items: start; gap: 60px; }
.schedule-flyer { position: sticky; top: 120px; margin: 0; padding: 7px; background: linear-gradient(145deg, var(--gold-bright), #6a151b); box-shadow: var(--shadow-deep); }
.schedule-flyer img { display: block; width: 100%; height: auto; }
.schedule-flyer figcaption { background: #261015; }
.schedule-days { display: grid; gap: 24px; }
.schedule-day { padding: 34px; background: #fff; border: 1px solid var(--line); box-shadow: 0 17px 45px rgba(43,25,14,.07); }
.schedule-day header { display: flex; align-items: baseline; justify-content: space-between; gap: 25px; padding-bottom: 18px; margin-bottom: 6px; border-bottom: 1px solid var(--line); }
.schedule-day header span { color: var(--rust); font: 800 10px var(--display-sans); letter-spacing: .17em; text-transform: uppercase; }
.schedule-day header h3 { margin: 0; font-size: 29px; }
.schedule-entry { display: grid; grid-template-columns: 155px 1fr; column-gap: 22px; padding: 18px 0; border-bottom: 1px solid rgba(119,67,39,.12); }
.schedule-entry:last-child { border-bottom: 0; }
.schedule-entry time { grid-row: 1 / span 2; color: var(--rust); font: 800 10px/1.45 var(--display-sans); letter-spacing: .04em; text-transform: uppercase; }
.schedule-entry h4 { margin: 0; font: 23px/1.25 var(--serif); }
.schedule-entry p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.schedule-entry.featured { margin-top: 8px; padding: 23px 20px; color: #fff; background: linear-gradient(135deg, var(--oxblood), #8b2630); border: 0; }
.schedule-entry.featured time, .schedule-entry.featured p { color: #f0d9c3; }

.convocation-hotel { padding: 110px 0; color: #fff; background: radial-gradient(circle at 80% 20%, rgba(76,66,159,.35), transparent 28rem), linear-gradient(135deg, #111421, #251014 80%); scroll-margin-top: 110px; }
.hotel-layout { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(50px, 7vw, 95px); }
.hotel-layout figure { margin: 0; padding: 7px; background: linear-gradient(145deg, var(--gold-bright), #6a151b); box-shadow: var(--shadow-deep); }
.hotel-layout figure img { display: block; width: 100%; min-height: 480px; object-fit: cover; }
.hotel-layout figcaption { padding: 11px 12px 5px; color: #d3c4b7; background: #15131c; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.hotel-copy h2 { margin-bottom: 16px; color: #fff; font-size: clamp(45px, 5vw, 67px); }
.hotel-copy address { color: #e8ddd2; font: 23px/1.5 var(--serif); }
.hotel-facts { display: grid; gap: 12px; margin: 30px 0; }
.hotel-facts > p { display: grid; grid-template-columns: 30px 1fr; gap: 13px; margin: 0; color: #d6ccd0; }
.hotel-facts i { padding-top: 4px; color: var(--gold-bright); }
.hotel-facts strong { display: block; margin-bottom: 2px; color: #fff; }
.hotel-facts a { color: var(--gold-bright); }
.hotel-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hotel-note { margin: 22px 0 0; color: #aeb0ba; font-size: 11px; line-height: 1.7; }

.convocation-registration { padding: 110px 0; background: linear-gradient(180deg, #f8f0e6, #fff); scroll-margin-top: 110px; }
.registration-heading { display: grid; grid-template-columns: 1fr 280px; align-items: end; gap: 80px; margin-bottom: 45px; }
.registration-heading h2 { font-size: clamp(45px, 5vw, 68px); }
.registration-heading > div > p:last-child { max-width: 760px; color: var(--muted); }
.registration-heading aside { padding: 28px; color: #fff; background: linear-gradient(135deg, var(--oxblood), #871e28); box-shadow: var(--shadow); }
.registration-heading aside span { color: var(--gold-bright); font: 800 9px var(--display-sans); letter-spacing: .13em; text-transform: uppercase; }
.registration-heading aside strong { display: block; margin: 8px 0; font: 47px/1 var(--serif); }
.registration-heading aside p { margin: 0; color: #ead9ce; font-size: 11px; }
.registration-inclusions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: -8px 0 34px; }
.registration-inclusions article { position: relative; display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 20px; align-items: start; min-height: 164px; padding: 28px 30px; overflow: hidden; background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(247,238,226,.96)); border: 1px solid rgba(87,24,33,.14); box-shadow: 0 20px 48px rgba(42,22,12,.09), inset 0 1px rgba(255,255,255,.9); }
.registration-inclusions article::after { position: absolute; right: -35px; bottom: -60px; width: 150px; height: 150px; content: ""; border: 1px solid rgba(200,154,73,.22); border-radius: 50%; box-shadow: 0 0 0 18px rgba(200,154,73,.055), 0 0 0 36px rgba(87,24,33,.035); }
.registration-inclusion-icon { position: relative; z-index: 1; display: grid; width: 58px; height: 58px; place-items: center; color: var(--gold-bright); background: linear-gradient(145deg, #611520, #260d12); border: 1px solid rgba(224,185,104,.56); box-shadow: 0 12px 28px rgba(61,15,22,.2); }
.registration-inclusions article > div { position: relative; z-index: 1; }
.registration-inclusions article > div > p:first-child { margin: 1px 0 6px; color: var(--oxblood); font: 800 10px/1.3 var(--display-sans); letter-spacing: .13em; text-transform: uppercase; }
.registration-inclusions h3 { margin: 0 0 9px; color: var(--ink); font: 28px/1.1 var(--serif); }
.registration-inclusions article > div > p:last-child { max-width: 520px; margin: 0; color: #62554b; font-size: 15px; line-height: 1.65; }
.registration-form { padding: 42px; background: #fff; border: 1px solid var(--line); box-shadow: 0 25px 70px rgba(42,22,12,.09); }
.registration-form fieldset { display: flex; flex-wrap: wrap; gap: 20px; padding: 0 0 30px; margin: 0 0 30px; border: 0; border-bottom: 1px solid var(--line); }
.registration-form legend { width: 100%; margin-bottom: 13px; color: var(--oxblood); font: 800 11px var(--display-sans); letter-spacing: .12em; text-transform: uppercase; }
.registration-form .choice { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.registration-form .choice input { width: auto; }
.registration-panel-title { margin: 35px 0 20px; padding-bottom: 10px; color: var(--oxblood); border-bottom: 1px solid var(--line); font: 31px/1.15 var(--serif); }
.form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 22px; }
.form-grid.four { grid-template-columns: 1fr .35fr 1fr .65fr; }
.form-grid label { color: #4b4038; font: 800 10px var(--display-sans); letter-spacing: .08em; text-transform: uppercase; }
.form-grid label.full { grid-column: 1 / -1; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; min-height: 50px; margin-top: 8px; padding: 12px 14px; color: var(--ink); background: #fbf7f1; border: 1px solid #d8cdc1; border-radius: 0; font: 16px var(--serif); text-transform: none; }
.form-grid textarea { min-height: 120px; resize: vertical; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: var(--gold); outline: 3px solid rgba(200,154,73,.18); }
.registration-total { display: grid; grid-template-columns: repeat(3, 1fr); margin: 28px 0; color: #fff; background: linear-gradient(135deg, #24181b, #3d151b); box-shadow: 0 18px 45px rgba(42, 22, 12, .15); }
.registration-total > div { padding: 22px 24px; border-right: 1px solid rgba(255,255,255,.12); }
.registration-total > div:last-child { border-right: 0; }
.registration-total span { display: block; color: #d7cbd0; font: 800 9px var(--display-sans); letter-spacing: .12em; text-transform: uppercase; }
.registration-total strong { display: block; margin-top: 7px; color: var(--gold-bright); font: 28px/1 var(--serif); }
.registration-total-final { background: rgba(200,154,73,.12); }
.registration-consent { display: flex; align-items: flex-start; gap: 11px; margin: 18px 0; color: #4b4038; font-size: 13px; line-height: 1.6; }
.registration-consent input { flex: 0 0 auto; margin-top: 5px; }
.registration-payment-note { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0 4px; padding: 16px 18px; color: #5d5148; background: #f8f0e6; border-left: 3px solid var(--gold); font-size: 12px; }
.registration-payment-note i { color: var(--oxblood); margin-top: 3px; }
.registration-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.registration-actions { display: flex; align-items: center; gap: 25px; padding-top: 12px; }
.registration-actions button:disabled { cursor: not-allowed; opacity: .58; }
.registration-actions p { max-width: 560px; margin: 0; color: var(--muted); font-size: 11px; }
.registration-status { margin-top: 24px; padding: 20px 22px; border: 1px solid; font-weight: 700; line-height: 1.6; }
.registration-status.is-success { color: #185c3b; background: #edf8f2; border-color: #9ccdb3; }
.registration-status.is-error { color: #7b1821; background: #fff1f1; border-color: #dcb0b4; }
.registration-status strong { display: block; margin-bottom: 4px; font: 27px/1.2 var(--serif); }
.registrar-contact { display: grid; grid-template-columns: 42px 1fr; gap: 18px; margin-top: 24px; padding: 28px; color: #fff; background: #20171a; }
.registrar-contact i { color: var(--gold-bright); font-size: 26px; }
.registrar-contact h3 { margin: 0 0 6px; color: #fff; font-size: 24px; }
.registrar-contact p { margin: 4px 0; color: #d7cbd0; font-size: 13px; }
.registrar-contact a { color: var(--gold-bright); }

.convocation-updates { padding: 100px 0; background: var(--ivory); }
.convocation-update-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.convocation-update-grid article { display: grid; grid-template-columns: 48px 1fr; gap: 22px; padding: 36px; background: #fff; border: 1px solid var(--line); scroll-margin-top: 110px; }
.convocation-update-grid i { color: var(--rust); font-size: 30px; }
.convocation-update-grid h3 { margin: 0 0 8px; font-size: 30px; }
.convocation-update-grid p { margin: 0; color: var(--muted); }

/* Give — TopBiz dark */
.give-hero { padding: 135px 0; color: #fff; background: linear-gradient(120deg, #160e0b 0 62%, var(--oxblood) 62%); }
.give-hero-grid { display: grid; grid-template-columns: 1.1fr .6fr; gap: 110px; align-items: end; }
.give-hero h1 { font-size: clamp(62px, 8vw, 104px); }
.give-hero p:not(.eyebrow) { max-width: 620px; color: #ded4cc; font-size: 19px; }
.give-hero blockquote { margin: 0; padding: 35px; border: 1px solid rgba(224,185,104,.45); color: #f7ede3; font: 27px/1.5 var(--serif); }
.giving-intro { background: var(--ivory); }
.giving-options { padding: 0 0 110px; background: var(--ivory); }
.giving-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.giving-grid article { min-height: 400px; padding: 38px; background: #fff; border: 1px solid var(--line); }
.giving-grid article.cash-card { color: #fff; background: var(--oxblood); border-color: var(--oxblood); }
.giving-grid .giving-icon { width: 55px; height: 55px; display: grid; place-items: center; color: var(--rust); border: 1px solid var(--gold); border-radius: 50%; font-size: 20px; }
.giving-grid .cash-card .giving-icon { color: var(--gold-bright); }
.giving-grid article > p:first-of-type { margin: 35px 0 7px; color: var(--rust); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.giving-grid .cash-card > p:first-of-type { color: var(--gold-bright); }
.giving-grid h2 { font-size: 37px; }
.giving-grid article > p:not(:first-of-type) { color: var(--muted); }
.giving-grid .cash-card > p:not(:first-of-type) { color: #dacbc1; }
.giving-safety { display: grid; grid-template-columns: 45px 1fr; gap: 20px; margin-top: 30px; padding: 30px; background: #eee4d6; }
.giving-safety i { color: var(--rust); font-size: 26px; }
.giving-safety h3 { margin-bottom: 8px; font-size: 25px; }
.giving-safety p { margin: 0; color: var(--muted); font-size: 13px; }
.giving-safety a { color: var(--oxblood); font-weight: 800; }

/* News — TopBiz blog grid */
.news-hero { padding: 120px 0; color: #fff; background: var(--oxblood); }
.news-hero-grid { display: grid; grid-template-columns: 1.25fr .6fr; gap: 90px; align-items: end; }
.news-hero h1 { font-size: clamp(60px, 8vw, 102px); }
.news-hero-grid > p { color: #e1d5cc; font-size: 20px; }
.featured-news { background: var(--paper); }
.feature-story { display: grid; grid-template-columns: .65fr 1.35fr; background: var(--ivory); }
.feature-story img { width: 100%; height: 100%; max-height: 620px; object-fit: cover; object-position: top; }
.feature-story > div { align-self: center; padding: 65px; }
.news-kicker { color: var(--rust); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.feature-story h2 { margin: 18px 0; font-size: clamp(42px, 5vw, 65px); }
.feature-story p { color: var(--muted); }
.news-archive { padding: 100px 0; background: var(--ivory); }
.news-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.news-grid article { display: grid; grid-template-columns: 220px 1fr; background: #fff; }
.news-grid article img { width: 100%; height: 100%; object-fit: cover; }
.news-grid article > div { align-self: center; padding: 35px; }
.news-grid h3 { margin: 12px 0; font-size: 31px; }
.news-grid p { color: var(--muted); }
.news-grid a { color: var(--oxblood); font-size: 11px; font-weight: 800; text-transform: uppercase; }

/* Gallery — TopBiz folio */
.gallery-hero { min-height: 520px; display: grid; align-items: center; color: #fff; background: linear-gradient(90deg, rgba(28,16,12,.9), rgba(28,16,12,.35)), url('../images/evening-service.jpg') center/cover; }
.gallery-hero .container { padding-block: 90px; }
.gallery-hero h1 { font-size: clamp(62px, 8vw, 105px); }
.gallery-hero p:not(.eyebrow) { max-width: 580px; color: #ded3ca; font-size: 18px; }
.gallery-wall { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 330px 330px 330px; gap: 8px; padding: 8px; background: #1d1714; }
.gallery-wall figure { position: relative; margin: 0; overflow: hidden; }
.gallery-wall img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.65); transition: transform .5s ease, filter .5s ease; }
.gallery-wall figure:hover img { transform: scale(1.04); filter: saturate(1); }
.gallery-wall figcaption { position: absolute; left: 20px; bottom: 15px; padding: 8px 12px; color: #fff; background: rgba(24,15,12,.75); font: 14px var(--serif); }
.gallery-a { grid-column: span 2; grid-row: span 2; }
.gallery-b { grid-column: span 1; }
.gallery-c { grid-column: span 1; }
.gallery-d { grid-column: span 2; }
.gallery-e { grid-column: span 2; }
.gallery-f { grid-column: span 2; }
.gallery-closing { padding: 100px 0; color: #fff; background: var(--oxblood); text-align: center; }
.gallery-closing .container { max-width: 800px; }
.gallery-closing h2 { font-size: clamp(42px, 5vw, 65px); }
.gallery-closing p:not(.eyebrow) { color: #ded2c8; }

/* Contact — TopBiz contact */
.contact-hero { padding: 125px 0; color: #fff; background: linear-gradient(110deg, #1c1714 0 68%, var(--gold) 68%); }
.contact-hero-grid { display: grid; grid-template-columns: 1.2fr .5fr; gap: 90px; align-items: end; }
.contact-hero h1 { font-size: clamp(62px, 8vw, 102px); }
.contact-hero p:not(.eyebrow) { max-width: 620px; color: #ded4cb; font-size: 19px; }
.contact-mark { width: 230px; height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; color: var(--ink); background: var(--paper); border-radius: 50%; text-align: center; box-shadow: var(--shadow); }
.contact-mark span { color: var(--oxblood); font: 52px var(--serif); }
.contact-mark p { margin: 4px 0 0!important; color: var(--muted)!important; font-size: 10px!important; text-transform: uppercase; letter-spacing: .13em; }
.contact-details { padding: 110px 0; background: var(--ivory); }
.contact-grid { display: grid; grid-template-columns: 1fr .85fr; gap: 90px; }
.contact-primary h2 { font-size: clamp(40px, 5vw, 63px); }
.contact-primary address { color: #514943; font: 23px/1.6 var(--serif); }
.contact-phone { display: inline-block; margin: 10px 0 35px; color: var(--oxblood); font: 38px var(--serif); }
.contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.contact-topics { padding: 40px; background: #fff; }
.contact-topics > h2 { margin-bottom: 25px; font-size: 34px; }
.contact-topics > a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; border-top: 1px solid var(--line); color: #403832; font-weight: 700; }
.contact-topics > a:hover { color: var(--oxblood); padding-left: 7px; }
.contact-topics i { color: var(--gold); }
.contact-social { padding: 85px 0; color: #fff; background: var(--oxblood); }
.contact-social .container { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.contact-social h2 { margin: 0; font-size: clamp(38px, 4vw, 55px); }
.contact-social .container > div:last-child { display: flex; gap: 18px; }
.contact-social a { min-width: 155px; padding: 20px; color: #fff; border: 1px solid rgba(255,255,255,.35); text-align: center; }
.contact-social a:hover { color: var(--ink); background: var(--gold-bright); border-color: var(--gold-bright); }
.contact-social a i { margin-right: 8px; }

/* 404 */
.not-found { min-height: 670px; display: grid; align-items: center; padding: 100px 0; color: #fff; background: radial-gradient(circle at center, var(--oxblood), #160507); text-align: center; }
.not-found .container { max-width: 850px; }
.not-found img { width: 180px; aspect-ratio: 1; object-fit: cover; border-radius: 50%; filter: drop-shadow(0 15px 25px rgba(0,0,0,.35)); }
.not-found h1 { font-size: clamp(54px, 7vw, 88px); }
.not-found p:not(.eyebrow) { max-width: 650px; margin-inline: auto; color: #ddcfc6; }
.not-found .container > div { display: flex; justify-content: center; gap: 12px; margin-top: 30px; }

/* Footer */
.site-footer { color: #d8cec6; background: #171311; }
.footer-grid { display: grid; grid-template-columns: 1.8fr 1fr .7fr .7fr; gap: 55px; padding-block: 75px; }
.footer-brand { display: flex; gap: 22px; align-items: flex-start; }
.footer-brand img { width: 74px; max-height: 112px; object-fit: contain; }
.site-footer h2 { margin-bottom: 12px; color: #fff; font-size: 27px; }
.site-footer h3 { margin-bottom: 18px; color: var(--gold-bright); font: 800 10px var(--sans); text-transform: uppercase; letter-spacing: .15em; }
.site-footer p, .site-footer address { font-size: 13px; font-style: normal; }
.site-footer p span { display: block; color: var(--gold); font-size: 11px; }
.site-footer a { color: #d8cec6; }
.site-footer a:hover { color: var(--gold-bright); }
.footer-bottom { min-height: 65px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.1); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.footer-bottom p { margin: 0; }

@media (max-width: 1080px) {
  .container { width: min(100% - 40px, 960px); }
  .utility-inner p { display: none; }
  .utility-inner { justify-content: flex-end; }
  .header-inner { min-height: 82px; }
  .brand img { width: 50px; height: 66px; }
  .brand strong { font-size: 22px; }
  .nav-toggle { display: grid; place-items: center; }
  .primary-nav { position: fixed; inset: 0 0 0 auto; z-index: 300; width: min(390px, 88vw); padding: 110px 35px 40px; color: #fff; background: #1c1714; transform: translateX(105%); transition: transform .3s ease; box-shadow: -20px 0 50px rgba(0,0,0,.22); }
  .nav-open .primary-nav { transform: translateX(0); }
  .nav-open .nav-toggle { position: fixed; z-index: 400; right: 25px; top: 58px; color: #fff; border-color: rgba(255,255,255,.3); }
  .primary-nav ul { display: block; }
  .primary-nav a { padding: 14px 0; color: #fff; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 14px; }
  .primary-nav a::after { display: none; }
  .primary-nav a[aria-current='page'] { color: var(--gold-bright); }
  .home-hero { min-height: 660px; }
  .hero-content { padding-block: 90px 140px; }
  .hero-scripture { width: 55%; }
  .pathway { min-height: 290px; padding: 35px 25px; }
  .history-grid, .about-hero-grid, .announcement-grid, .contact-grid { gap: 50px; }
  .seal-ring { width: 330px; height: 330px; }
  .seal-stage img { width: 215px; }
  .leader-row { grid-template-columns: repeat(2, 1fr); }
  .legacy-grid article { grid-template-columns: 170px 1fr; }
  .directory-card-head { grid-template-columns: 85px 1fr; gap: 14px; }
  .directory-card-head img { width: 85px; height: 105px; }
  .giving-grid { grid-template-columns: 1fr; }
  .giving-grid article { min-height: 0; }
  .gallery-wall { grid-template-rows: 280px 280px 280px; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 820px) {
  .section { padding: 82px 0; }
  .section-heading { display: block; }
  .section-heading > p { margin-top: 18px; }
  .statement-layout { grid-template-columns: 75px 1fr; gap: 25px; }
  .statement-number { font-size: 68px; }
  .home-hero::after { background: rgba(20,12,10,.72); }
  .hero-scripture { width: 72%; }
  .intro-grid, .history-grid, .purpose-grid, .covenant-grid, .leadership-hero-grid, .announcement-grid, .churches-hero .container, .ministries-hero-grid, .events-hero-grid, .upcoming-grid, .convocation-image .container, .give-hero-grid, .news-hero-grid, .contact-hero-grid, .contact-grid { grid-template-columns: 1fr; }
  .intro-grid, .history-grid, .purpose-grid, .covenant-grid { gap: 45px; }
  .image-frame figcaption { right: 0; }
  .pathways { grid-template-columns: 1fr; }
  .pathway { min-height: 260px; }
  .calendar-grid { grid-template-columns: 1fr; }
  .home-cta .container, .affiliation-cta .container, .contact-social .container { align-items: flex-start; flex-direction: column; }
  .about-hero { background: linear-gradient(155deg, #1d1714 0 68%, var(--oxblood) 68%); }
  .about-hero-grid { text-align: center; }
  .about-hero p:not(.eyebrow) { margin-inline: auto; }
  .seal-stage { min-height: 350px; }
  .page-jump .container { overflow-x: auto; justify-content: flex-start; }
  .page-jump a { flex: 0 0 auto; }
  .timeline::before { left: 80px; }
  .timeline article { grid-template-columns: 80px 1fr; gap: 25px; }
  .timeline article > div::before { left: -31px; }
  .leadership-hero-grid { padding-top: 30px; }
  .leadership-hero figure { min-height: 600px; }
  .leadership-meta { margin-bottom: 20px; }
  .quality-grid { grid-template-columns: 1fr; }
  .legacy-grid { grid-template-columns: 1fr; }
  .legacy-featured { grid-template-columns: minmax(240px, .75fr) 1.25fr!important; }
  .churches-hero { background: linear-gradient(155deg, #1e1916 0 68%, #d0a24f 68%); }
  .churches-hero .container { gap: 55px; }
  .directory-grid { grid-template-columns: 1fr; }
  .ministry-panel { min-height: 510px; }
  .three-columns { grid-template-columns: 1fr; }
  .ministry-gathering .container { grid-template-columns: 1fr; gap: 45px; }
  .event-list article { grid-template-columns: 110px 150px 1fr; }
  .event-list article > div:last-child { padding: 25px; }
  .convocation-grid { grid-template-columns: 1fr 1fr; }
  .give-hero { background: linear-gradient(155deg, #160e0b 0 70%, var(--oxblood) 70%); }
  .feature-story { grid-template-columns: 1fr; }
  .feature-story img { max-height: 620px; object-position: top; }
  .news-grid { grid-template-columns: 1fr; }
  .gallery-wall { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(4, 300px); }
  .gallery-a { grid-column: span 2; grid-row: span 1; }
  .gallery-d, .gallery-e, .gallery-f { grid-column: span 1; }
  .contact-hero { background: linear-gradient(155deg, #1c1714 0 74%, var(--gold) 74%); }
  .contact-mark { margin-left: auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: span 2; }
  .footer-grid > div:last-child { grid-column: auto; }
}

@media (min-width: 561px) and (max-width: 1024px) {
  .officeholders-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  .officeholder-portrait:last-child:nth-child(3n + 1) {
    grid-column: 2;
  }
}

@media (max-width: 560px) {
  .container { width: calc(100% - 30px); }
  .utility-actions { width: 100%; justify-content: space-between; }
  .utility-actions a:first-child { margin-right: auto; }
  .header-inner { min-height: 74px; }
  .brand { min-width: 0; gap: 9px; }
  .brand img { width: 43px; height: 58px; }
  .brand strong { font-size: 19px; }
  .brand small { font-size: 8px; letter-spacing: .1em; }
  .nav-open .nav-toggle { top: 50px; right: 15px; }
  .home-hero { min-height: 620px; }
  .hero-content { padding-block: 70px 170px; }
  .hero-content h1 { font-size: 52px; }
  .hero-lead { font-size: 16px; }
  .hero-actions { align-items: stretch; flex-direction: column; max-width: 250px; }
  .hero-scripture { left: 0; right: 0; width: 100%; padding: 20px 25px; }
  .ribbon-inner { grid-template-columns: 48px 1fr; gap: 15px; padding-block: 25px; }
  .ribbon-mark { width: 43px; height: 43px; }
  .ribbon-inner > a { grid-column: 2; }
  .section { padding: 68px 0; }
  .display-title { font-size: 42px; }
  .statement-layout { grid-template-columns: 1fr; }
  .statement-number { margin-bottom: -15px; }
  .image-frame::before { display: none; }
  .image-frame img { min-height: 320px; }
  .image-frame figcaption { right: 0; width: 230px; }
  .home-cta .container > div:last-child { min-width: 0; }
  .about-hero, .churches-hero, .ministries-hero, .events-hero, .give-hero, .news-hero, .contact-hero { padding: 85px 0; }
  .about-hero h1, .churches-title h1, .ministries-hero h1, .events-hero h1, .give-hero h1, .news-hero h1, .contact-hero h1 { font-size: 50px; }
  .seal-stage { min-height: 300px; }
  .seal-ring { width: 280px; height: 280px; }
  .seal-stage img { width: 180px; }
  .page-jump a { padding: 16px 20px; }
  .purpose-grid blockquote { margin-top: 25px; }
  .timeline::before { left: 22px; }
  .timeline article { grid-template-columns: 1fr; gap: 10px; padding-left: 48px; }
  .timeline article > div { padding-left: 0; }
  .timeline article > div::before { left: -32px; }
  .covenant-card { padding: 28px; }
  .leadership-hero { padding-top: 55px; }
  .leadership-hero h1 { font-size: 54px; }
  .leadership-hero figure { min-height: 470px; }
  .leadership-hero figcaption { left: 0; right: 20px; font-size: 21px; }
  .announcement-art { max-width: 420px; margin-inline: auto; }
  .leader-row { grid-template-columns: 1fr; }
  .legacy-grid article { grid-template-columns: 120px 1fr; }
  .legacy-grid img { min-height: 250px; }
  .legacy-grid article > div { padding: 22px; }
  .legacy-grid h3 { font-size: 24px; }
  .legacy-featured { grid-template-columns: 1fr!important; }
  .legacy-featured img { height: 430px; min-height: 0; object-position: center 20%; }
  .legacy-featured > div { padding: 30px; }
  .legacy-featured h3 { font-size: 34px; }
  .legacy-featured p { font-size: 15px; }
  .directory-search { padding: 25px; }
  .directory-card { padding: 20px; }
  .directory-card-head { grid-template-columns: 75px 1fr; }
  .directory-card-head img { width: 75px; height: 95px; }
  .directory-card-head h2 { font-size: 20px; }
  .ministry-mosaic { grid-template-columns: 1fr; }
  .ministry-panel { min-height: 520px; }
  .ministry-panel > div { left: 25px; right: 25px; bottom: 28px; }
  .event-list article { grid-template-columns: 88px 1fr; }
  .event-list img { grid-column: 2; height: 190px; }
  .event-list article > div:last-child { grid-column: 1 / -1; }
  .events-hero::after { display: none; }
  .convocation-hero { min-height: 600px; }
  .convocation-hero::before { inset: 15px; }
  .convocation-hero h1 { font-size: 67px; }
  .convocation-grid { grid-template-columns: 1fr; }
  .give-hero blockquote { padding: 25px; }
  .giving-grid article { padding: 28px; }
  .feature-story > div { padding: 35px 25px; }
  .news-grid article { grid-template-columns: 1fr; }
  .news-grid article img { max-height: 280px; }
  .gallery-wall { display: block; padding: 5px; }
  .gallery-wall figure { height: 310px; margin-bottom: 5px; }
  .contact-mark { width: 190px; height: 190px; }
  .contact-primary address { font-size: 20px; }
  .contact-phone { font-size: 31px; }
  .contact-actions { flex-direction: column; align-items: stretch; }
  .contact-topics { padding: 28px; }
  .contact-social .container > div:last-child { width: 100%; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; gap: 35px; }
  .footer-brand { grid-column: auto; flex-direction: column; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 5px; padding-block: 15px; }
  .not-found .container > div { flex-direction: column; }
}

/* Cinematic depth system */
body {
  background:
    radial-gradient(circle at 9% 18%, rgba(200,154,73,.08), transparent 30rem),
    radial-gradient(circle at 88% 42%, rgba(74,12,17,.055), transparent 34rem),
    var(--paper);
  font-weight: 400;
  letter-spacing: -.008em;
  text-rendering: optimizeLegibility;
}
body::before {
  content: '';
  position: fixed;
  z-index: 9999;
  inset: 0;
  pointer-events: none;
  opacity: .018;
  background: repeating-linear-gradient(115deg, rgba(20,12,8,.8) 0 1px, transparent 1px 4px);
  mix-blend-mode: multiply;
}
main { position: relative; isolation: isolate; }
h1, h2, h3 { letter-spacing: -.025em; }
h1 { font-weight: 500; }
h2, h3 { font-weight: 600; }
.large-copy { font-weight: 500; }

.utility-bar {
  background: linear-gradient(100deg, #0d0b0a 0%, #211916 58%, #100d0b 100%);
  box-shadow: inset 0 -1px rgba(224,185,104,.15);
}
.site-header {
  background: rgba(255,253,248,.88);
  border-bottom-color: rgba(74,12,17,.1);
  box-shadow: 0 12px 36px rgba(28,17,12,.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  backdrop-filter: blur(18px) saturate(1.15);
}
.site-header.is-scrolled { box-shadow: 0 18px 55px rgba(28,17,12,.16); }
.brand img { filter: drop-shadow(0 8px 12px rgba(45,15,10,.24)); }
.brand strong { font-weight: 700; letter-spacing: .005em; }
.brand small { font-weight: 700; }
.primary-nav a { font-weight: 800; }
.primary-nav a::after {
  height: 3px;
  background: linear-gradient(90deg, var(--oxblood), var(--gold-bright));
  box-shadow: 0 2px 8px rgba(163,61,44,.25);
}

.eyebrow { text-shadow: 0 2px 12px rgba(0,0,0,.22); }
.eyebrow.dark { text-shadow: none; }
.eyebrow::before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 1px;
  margin: 0 12px 3px 0;
  background: currentColor;
  box-shadow: 0 0 10px currentColor;
}
.btn-gold, .btn-outline, .btn-ghost {
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 10px 24px rgba(21,11,8,.14);
  transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.btn-gold {
  background: linear-gradient(135deg, #f0cb7e 0%, var(--gold-bright) 45%, #c58c31 100%);
  box-shadow: 0 14px 32px rgba(200,154,73,.28), inset 0 1px rgba(255,255,255,.45);
}
.btn-gold:hover, .btn-outline:hover, .btn-ghost:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 38px rgba(21,11,8,.22);
}

.home-hero {
  min-height: clamp(720px, 78vh, 880px);
  isolation: isolate;
  border-bottom: 1px solid rgba(224,185,104,.28);
  background: #0b0807;
  box-shadow: inset 0 -110px 140px rgba(5,2,2,.5), var(--shadow-deep);
}
.home-hero::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    radial-gradient(ellipse at 73% 22%, rgba(224,185,104,.18), transparent 30%),
    linear-gradient(112deg, transparent 50%, rgba(230,193,115,.055) 62%, transparent 74%),
    linear-gradient(180deg, rgba(7,4,3,.04), rgba(7,4,3,.36));
  pointer-events: none;
}
.home-hero::after {
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 61% 44%, transparent 25%, rgba(3,2,2,.56) 100%),
    linear-gradient(90deg, rgba(10,7,6,.97) 0%, rgba(35,13,13,.79) 46%, rgba(8,6,5,.2) 78%, rgba(4,3,3,.48) 100%),
    linear-gradient(180deg, rgba(0,0,0,.3) 0%, transparent 18%, transparent 69%, rgba(0,0,0,.64) 100%);
}
.home-hero-image {
  transform: scale(1.02);
  transform-origin: center 38%;
  filter: saturate(.68) sepia(.1) contrast(1.12) brightness(.82);
  animation: none;
}
.hero-content {
  padding-left: 46px;
}
.hero-content::before {
  content: '';
  position: absolute;
  top: 116px;
  left: 0;
  width: 2px;
  height: 104px;
  background: linear-gradient(180deg, transparent, var(--gold-bright) 22%, var(--gold) 78%, transparent);
  box-shadow: 0 0 20px rgba(224,185,104,.34);
}
.hero-content h1 {
  max-width: 910px;
  text-wrap: balance;
}
.hero-content h1, .page-hero h1 {
  text-shadow: 0 4px 8px rgba(0,0,0,.28), 0 18px 45px rgba(0,0,0,.38);
}
.hero-lead { text-shadow: 0 3px 18px rgba(0,0,0,.44); }
.hero-scripture {
  background: linear-gradient(135deg, #f2d18c, #d7a54c 68%, #b87826);
  box-shadow: -24px -18px 55px rgba(0,0,0,.24), inset 1px 1px rgba(255,255,255,.5);
}
.prelate-ribbon {
  position: relative;
  z-index: 4;
  background: linear-gradient(110deg, #35070b 0%, var(--oxblood) 48%, #260609 100%);
  box-shadow: 0 22px 48px rgba(29,7,8,.24), inset 0 1px rgba(224,185,104,.2), inset 0 -1px rgba(0,0,0,.3);
}
.ribbon-mark {
  background: radial-gradient(circle, rgba(224,185,104,.16), transparent 70%);
  box-shadow: 0 0 30px rgba(224,185,104,.12), inset 0 0 18px rgba(224,185,104,.08);
}

.section { position: relative; }
.home-intro, .current-calendar, .giving-intro, .featured-news, .event-center {
  background:
    radial-gradient(circle at 85% 10%, rgba(200,154,73,.09), transparent 26rem),
    linear-gradient(180deg, #fffefa 0%, #f7f1e8 100%);
}
.home-history, .history-section, .announcement-section, .directory-section, .ministry-purpose, .contact-details {
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.88), transparent 28rem),
    linear-gradient(145deg, #f8f1e6 0%, #eee2d2 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.7), inset 0 -1px rgba(74,12,17,.08);
}

.pathways { position: relative; z-index: 3; gap: 2px; padding: 2px; background: #1b1310; box-shadow: var(--shadow-deep); }
.pathway {
  min-height: 370px;
  box-shadow: inset 0 -90px 120px rgba(8,4,3,.58), inset 0 0 0 1px rgba(255,255,255,.08);
  transition: transform .4s ease, filter .4s ease, box-shadow .4s ease;
}
.pathway::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 70% 20%, rgba(224,185,104,.18), transparent 35%);
  opacity: 0;
  transition: opacity .4s ease;
}
.pathway:hover {
  z-index: 2;
  transform: translateY(-7px);
  filter: saturate(1.08);
  box-shadow: inset 0 -100px 125px rgba(48,8,12,.7), 0 24px 55px rgba(0,0,0,.3);
}
.pathway:hover::after { opacity: 1; }

.image-frame img, .announcement-art img, .ministry-gathering img, .convocation-image figure,
.feature-story, .gallery-wall figure {
  box-shadow: var(--shadow-deep);
}
.image-frame img, .announcement-art img, .ministry-gathering img { border: 1px solid rgba(255,255,255,.32); }
.image-frame::before { border-color: rgba(200,154,73,.75); box-shadow: 0 18px 45px rgba(74,12,17,.1); }
.image-frame figcaption { box-shadow: -14px 14px 30px rgba(28,8,8,.26); }

.calendar-grid article, .quality-grid > div, .directory-card, .convocation-grid article,
.giving-grid article, .news-grid article, .contact-topics, .covenant-card,
.event-list article, .upcoming-grid > div:last-child, .three-columns p {
  border: 1px solid rgba(74,12,17,.08);
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(250,245,237,.96));
  box-shadow: var(--shadow-soft), inset 0 1px rgba(255,255,255,.8);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.calendar-grid article:hover, .quality-grid > div:hover, .directory-card:hover,
.convocation-grid article:hover, .giving-grid article:hover, .news-grid article:hover,
.event-list article:hover, .three-columns p:hover {
  transform: translateY(-7px);
  border-color: rgba(200,154,73,.42);
  box-shadow: 0 28px 65px rgba(45,20,12,.18), 0 8px 18px rgba(45,20,12,.08);
}
.calendar-grid article, .directory-card, .convocation-grid article, .giving-grid article { position: relative; overflow: hidden; }
.calendar-grid article::before, .directory-card::before, .convocation-grid article::before, .giving-grid article::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--gold-bright), var(--oxblood));
  opacity: .7;
}
.three-columns p { padding: 28px; }

.about-hero, .leadership-hero, .churches-hero, .ministries-hero, .events-hero,
.give-hero, .news-hero, .contact-hero, .gallery-hero {
  box-shadow: inset 0 -90px 120px rgba(6,3,2,.3), var(--shadow-deep);
}
.about-hero { background: radial-gradient(circle at 73% 44%, rgba(224,185,104,.2), transparent 23rem), linear-gradient(115deg, #110e0d 0 58%, #571016 58%); }
.leadership-hero { background: radial-gradient(circle at 73% 18%, #8f4039 0, #541117 34%, #19080a 78%); }
.churches-hero { background: radial-gradient(circle at 82% 25%, rgba(255,229,160,.35), transparent 20rem), linear-gradient(125deg, #100d0c 0 58%, #bc842f 58%); }
.ministries-hero { background: radial-gradient(circle at 85% 15%, rgba(200,154,73,.17), transparent 25rem), linear-gradient(125deg, #100e0d, #2a1b17); }
.events-hero { background: radial-gradient(circle at 78% 20%, rgba(224,185,104,.16), transparent 24rem), linear-gradient(105deg, #5a1016, #170a09 78%); }
.give-hero { background: radial-gradient(circle at 82% 28%, rgba(224,185,104,.16), transparent 22rem), linear-gradient(120deg, #0e0b0a 0 67%, #4d0c12 67%); }
.news-hero { background: radial-gradient(circle at 74% 20%, rgba(224,185,104,.14), transparent 24rem), linear-gradient(120deg, #100d0c, #321214); }
.contact-hero { background: radial-gradient(circle at 80% 30%, rgba(255,255,255,.28), transparent 17rem), linear-gradient(120deg, #100e0d 0 70%, #b47c2c 70%); }
.gallery-hero { box-shadow: inset 0 -120px 130px rgba(3,2,2,.48), var(--shadow-deep); }

.seal-stage::after {
  content: '';
  position: absolute;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(224,185,104,.22), transparent 66%);
  filter: blur(8px);
}
.seal-stage img { filter: drop-shadow(0 30px 42px rgba(0,0,0,.48)) drop-shadow(0 0 18px rgba(224,185,104,.14)); }
.seal-ring { box-shadow: 0 0 60px rgba(224,185,104,.1), inset 0 0 50px rgba(224,185,104,.05); }
.leadership-hero figure { filter: drop-shadow(0 30px 55px rgba(0,0,0,.34)); }
.leadership-hero figure img { filter: saturate(.82) contrast(1.04); }
.leadership-hero figcaption { box-shadow: 0 18px 42px rgba(0,0,0,.28); }
.leader-row article, .legacy-grid article {
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow-soft);
  transition: transform .32s ease, box-shadow .32s ease;
}
.leader-row article:hover, .legacy-grid article:hover { transform: translateY(-7px); box-shadow: var(--shadow-deep); }
.leader-row img, .legacy-grid img { filter: saturate(.78) contrast(1.04); }

.page-jump {
  background: rgba(255,253,248,.86);
  box-shadow: 0 14px 34px rgba(28,17,12,.1);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
.purpose-panel, .home-cta, .affiliation-cta, .ministry-gathering, .contact-social {
  background: radial-gradient(circle at 82% 20%, rgba(224,185,104,.12), transparent 25rem), linear-gradient(110deg, #5b1016, #2a080b);
  box-shadow: inset 0 1px rgba(224,185,104,.16), var(--shadow-deep);
}
.covenant-section, .legacy-section, .upcoming-panel, .giving-options, .news-archive {
  background: radial-gradient(circle at 14% 20%, rgba(224,185,104,.08), transparent 24rem), linear-gradient(135deg, #0f0d0c, #26201c 62%, #150f0d);
}
.event-date { background: linear-gradient(145deg, #6b151b, #35080c); box-shadow: inset -1px 0 rgba(224,185,104,.25); }
.ministry-panel { box-shadow: inset 0 -120px 150px rgba(5,3,2,.46); }
.ministry-panel img { filter: saturate(.72) contrast(1.06); }
.ministry-panel:hover img { transform: scale(1.055); filter: saturate(.9) contrast(1.08); }
.convocation-hero { box-shadow: inset 0 0 180px rgba(0,0,0,.48), var(--shadow-deep); }
.convocation-crest img { filter: drop-shadow(0 0 40px rgba(224,185,104,.2)); }
.giving-safety { box-shadow: var(--shadow-soft); }
.feature-story img { filter: saturate(.82) contrast(1.03); }
.gallery-wall { background: #0c0a09; box-shadow: var(--shadow-deep); }
.gallery-wall img { filter: saturate(.68) contrast(1.08); }
.gallery-wall figure:hover img { transform: scale(1.045); filter: saturate(.92) contrast(1.08); }
.contact-mark {
  background: radial-gradient(circle at 32% 25%, #fff, #f0e5d4 72%);
  border: 1px solid rgba(224,185,104,.65);
  box-shadow: 0 30px 70px rgba(0,0,0,.3), inset 0 2px rgba(255,255,255,.9), inset 0 -14px 28px rgba(110,65,25,.08);
}
.contact-topics { padding: 45px; }
.contact-social a { box-shadow: 0 12px 30px rgba(0,0,0,.16); }

.site-footer {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 12% 20%, rgba(104,21,27,.3), transparent 30rem), linear-gradient(120deg, #090807, #1b1512 64%, #0b0908);
  box-shadow: inset 0 1px rgba(224,185,104,.17), 0 -28px 70px rgba(20,10,8,.16);
}
.site-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 0 58%, rgba(224,185,104,.025) 58% 59%, transparent 59%);
}
.footer-grid, .footer-bottom { position: relative; z-index: 1; }
.footer-brand img { filter: drop-shadow(0 15px 22px rgba(0,0,0,.48)); }

@media (max-width: 1080px) {
  .primary-nav { background: radial-gradient(circle at 80% 12%, rgba(224,185,104,.1), transparent 18rem), linear-gradient(145deg, #0f0d0c, #271618); box-shadow: -28px 0 70px rgba(0,0,0,.38); }
  .home-hero { min-height: 690px; }
  .pathway { min-height: 310px; }
}

@media (max-width: 820px) {
  body::before { opacity: .012; }
  .hero-content { padding-left: 32px; }
  .hero-content::before { top: 92px; height: 82px; }
  .about-hero { background: radial-gradient(circle at 50% 74%, rgba(224,185,104,.16), transparent 20rem), linear-gradient(155deg, #110e0d 0 68%, #571016 68%); }
  .churches-hero { background: radial-gradient(circle at 70% 80%, rgba(255,229,160,.22), transparent 18rem), linear-gradient(155deg, #100d0c 0 68%, #b47c2c 68%); }
  .give-hero { background: radial-gradient(circle at 75% 80%, rgba(224,185,104,.14), transparent 18rem), linear-gradient(155deg, #0e0b0a 0 70%, #4d0c12 70%); }
  .contact-hero { background: radial-gradient(circle at 70% 84%, rgba(255,255,255,.2), transparent 15rem), linear-gradient(155deg, #100e0d 0 74%, #b47c2c 74%); }
  .pathway:hover, .calendar-grid article:hover, .quality-grid > div:hover, .directory-card:hover,
  .convocation-grid article:hover, .giving-grid article:hover, .news-grid article:hover,
  .event-list article:hover, .three-columns p:hover, .leader-row article:hover, .legacy-grid article:hover { transform: none; }
}

@media (max-width: 560px) {
  .home-hero { min-height: 640px; }
  .home-hero-image { animation: none; transform: scale(1.02); filter: saturate(.66) sepia(.08) contrast(1.08) brightness(.78); }
  .home-hero::after { background: radial-gradient(ellipse at center, transparent 18%, rgba(3,2,2,.45) 100%), linear-gradient(180deg, rgba(12,8,7,.73), rgba(27,8,9,.9)); }
  .hero-content { padding-left: 0; }
  .hero-content::before { display: none; }
  .hero-scripture { box-shadow: 0 -18px 42px rgba(0,0,0,.24); }
  .pathways { gap: 1px; padding: 1px; }
  .pathway { min-height: 285px; }
  .calendar-grid article, .directory-card, .convocation-grid article, .giving-grid article, .contact-topics { box-shadow: 0 14px 34px rgba(28,17,12,.12); }
  .seal-stage::after { width: 270px; height: 270px; }
}

/* Responsive cinematic parity — tablet and phone */
@media (max-width: 1080px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .primary-nav {
    right: 0;
    left: auto;
    transform: scaleX(.025);
    transform-origin: right center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform .32s cubic-bezier(.22,.8,.25,1), opacity .22s ease, visibility 0s linear .32s;
  }
  .nav-open .primary-nav {
    transform: scaleX(1);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }
}

/* Formal episcopal announcement presentation */
.announcement-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 132px 0;
  color: #f8f0e4;
  background:
    radial-gradient(circle at 12% 8%, rgba(224,185,104,.17), transparent 27rem),
    radial-gradient(circle at 91% 87%, rgba(122,31,36,.32), transparent 31rem),
    linear-gradient(128deg, #120d0d 0%, #290b10 48%, #180b0d 100%);
  border-top: 1px solid rgba(224,185,104,.36);
  border-bottom: 1px solid rgba(224,185,104,.28);
  box-shadow: inset 0 1px rgba(255,255,255,.05), inset 0 -40px 90px rgba(0,0,0,.24);
}
.announcement-section::before {
  content: 'EPISCOPAL';
  position: absolute;
  z-index: -1;
  right: -2vw;
  bottom: -3.5vw;
  color: rgba(224,185,104,.035);
  font: 700 clamp(108px,18vw,270px)/.72 var(--serif);
  letter-spacing: -.035em;
  pointer-events: none;
}
.announcement-section::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 26px;
  border: 1px solid rgba(224,185,104,.12);
  pointer-events: none;
}
.announcement-section .announcement-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0,1.16fr) minmax(340px,.66fr);
  align-items: center;
  gap: clamp(58px,6vw,96px);
}
.announcement-section .announcement-copy {
  position: relative;
  padding: clamp(42px,4.5vw,66px);
  background:
    linear-gradient(145deg, rgba(54,17,22,.9), rgba(24,12,14,.92)),
    radial-gradient(circle at 90% 10%, rgba(224,185,104,.16), transparent 22rem);
  border: 1px solid rgba(224,185,104,.54);
  box-shadow:
    inset 0 0 0 5px rgba(10,5,6,.42),
    inset 0 0 0 6px rgba(224,185,104,.14),
    0 42px 90px rgba(0,0,0,.34),
    0 12px 28px rgba(0,0,0,.2);
}
.announcement-section .announcement-copy::before,
.announcement-section .announcement-copy::after {
  content: '';
  position: absolute;
  width: 54px;
  height: 54px;
  pointer-events: none;
}
.announcement-section .announcement-copy::before {
  top: 15px;
  left: 15px;
  border-top: 2px solid var(--gold-bright);
  border-left: 2px solid var(--gold-bright);
}
.announcement-section .announcement-copy::after {
  right: 15px;
  bottom: 15px;
  border-right: 2px solid var(--gold-bright);
  border-bottom: 2px solid var(--gold-bright);
}
.announcement-heading {
  display: grid;
  grid-template-columns: 82px minmax(0,1fr);
  align-items: center;
  gap: 25px;
  padding-bottom: 30px;
  margin-bottom: 34px;
  border-bottom: 1px solid rgba(224,185,104,.34);
}
.announcement-seal {
  width: 82px;
  height: 82px;
  object-fit: contain;
  filter: drop-shadow(0 11px 16px rgba(0,0,0,.38));
}
.announcement-section .announcement-copy .eyebrow {
  margin-bottom: 12px;
  color: var(--gold-bright);
}
.announcement-section .announcement-copy .eyebrow::before { background: var(--gold-bright); }
.announcement-section .announcement-copy h2 {
  max-width: 620px;
  margin: 0;
  color: #fffaf0;
  font-size: clamp(48px,4.75vw,68px);
  line-height: .95;
  letter-spacing: -.035em;
  text-wrap: balance;
  text-shadow: 0 5px 24px rgba(0,0,0,.34);
}
.announcement-section .large-copy {
  max-width: 690px;
  margin: 0;
  padding-left: 28px;
  color: #eadfce;
  border-left: 2px solid rgba(224,185,104,.62);
  font: 500 clamp(20px,1.8vw,25px)/1.7 var(--serif);
}
.announcement-section .quality-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  margin-top: 44px;
  padding-top: 31px;
  border-top: 1px solid rgba(224,185,104,.28);
}
.announcement-section .quality-grid > div,
.announcement-section .quality-grid > div:hover {
  position: relative;
  padding: 0 24px;
  color: #f8f0e4;
  background: none;
  border: 0;
  box-shadow: none;
  transform: none;
}
.announcement-section .quality-grid > div:first-child { padding-left: 0; }
.announcement-section .quality-grid > div:last-child { padding-right: 0; }
.announcement-section .quality-grid > div + div { border-left: 1px solid rgba(224,185,104,.3); }
.announcement-section .quality-grid > div::after { display: none; }
.announcement-section .quality-mark {
  display: block;
  width: 8px;
  height: 8px;
  margin: 1px 0 15px 3px;
  background: var(--gold-bright);
  box-shadow: 0 0 0 4px rgba(224,185,104,.1), 0 0 18px rgba(224,185,104,.25);
  transform: rotate(45deg);
}
.announcement-section .quality-grid h3 {
  margin: 0 0 9px;
  color: #fffaf0;
  font-size: clamp(21px,1.65vw,25px);
  letter-spacing: -.01em;
}
.announcement-section .quality-grid p {
  margin: 0;
  color: #cfc0ad;
  font-size: 12px;
  line-height: 1.65;
}
.announcement-section .announcement-art {
  position: relative;
  width: min(100%,430px);
  justify-self: end;
  margin: 0;
  padding: 13px;
  background: linear-gradient(145deg, #f0d891, #9e671f 46%, #e1bc62 72%, #6d4012);
  border: 1px solid #f1d993;
  box-shadow: 0 48px 100px rgba(0,0,0,.5), 0 14px 34px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.6);
}
.announcement-section .announcement-art::before {
  content: '';
  position: absolute;
  inset: -11px;
  border: 1px solid rgba(224,185,104,.37);
  pointer-events: none;
}
.announcement-section .announcement-art img {
  display: block;
  width: 100%;
  border: 1px solid rgba(36,12,14,.76);
  box-shadow: 0 16px 35px rgba(20,6,8,.28);
}
.announcement-section .announcement-art a {
  position: relative;
  display: block;
  margin-top: 12px;
  padding: 17px 15px 14px;
  color: #f5d98e;
  background: linear-gradient(180deg, #2e0c11, #16090b);
  border: 1px solid rgba(55,18,20,.82);
  text-align: center;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .2em;
  box-shadow: inset 0 1px rgba(255,255,255,.06);
  transition: color .25s ease, background .25s ease;
}
.announcement-section .announcement-art a:hover,
.announcement-section .announcement-art a:focus-visible {
  color: #fff8e7;
  background: linear-gradient(180deg, #4a1118, #230b0e);
}

@media (max-width: 1020px) {
  .announcement-section .announcement-grid {
    grid-template-columns: minmax(0,1fr) minmax(300px,.58fr);
    gap: 45px;
  }
  .announcement-heading { grid-template-columns: 68px minmax(0,1fr); gap: 19px; }
  .announcement-seal { width: 68px; height: 68px; }
  .announcement-section .quality-grid > div { padding-inline: 17px; }
}

@media (max-width: 820px) {
  .announcement-section { padding: 98px 0 110px; }
  .announcement-section::after { inset: 18px; }
  .announcement-section .announcement-grid { grid-template-columns: 1fr; gap: 68px; }
  .announcement-section .announcement-copy { padding: 52px; }
  .announcement-section .quality-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .announcement-section .announcement-art { width: min(78vw,470px); justify-self: center; }
}

@media (max-width: 600px) {
  .announcement-section { padding: 74px 0 88px; }
  .announcement-section::after { inset: 10px; }
  .announcement-section .announcement-copy { padding: 37px 25px 34px; }
  .announcement-section .announcement-copy::before,
  .announcement-section .announcement-copy::after { width: 38px; height: 38px; }
  .announcement-heading {
    grid-template-columns: 58px minmax(0,1fr);
    gap: 15px;
    padding-bottom: 23px;
    margin-bottom: 27px;
  }
  .announcement-seal { width: 58px; height: 58px; }
  .announcement-section .announcement-copy .eyebrow { margin-bottom: 9px; font-size: 8px; letter-spacing: .15em; }
  .announcement-section .announcement-copy h2 { font-size: clamp(37px,11vw,47px); line-height: .95; }
  .announcement-section .large-copy { padding-left: 19px; font-size: 19px; line-height: 1.62; }
  .announcement-section .quality-grid { grid-template-columns: 1fr; margin-top: 34px; padding-top: 7px; }
  .announcement-section .quality-grid > div,
  .announcement-section .quality-grid > div:first-child,
  .announcement-section .quality-grid > div:last-child { padding: 22px 0; }
  .announcement-section .quality-grid > div + div { border-top: 1px solid rgba(224,185,104,.25); border-left: 0; }
  .announcement-section .quality-mark { float: left; margin: 8px 17px 18px 4px; }
  .announcement-section .quality-grid h3 { margin-bottom: 6px; font-size: 23px; }
  .announcement-section .quality-grid p { font-size: 12px; }
  .announcement-section .announcement-art { width: calc(100% - 18px); padding: 9px; }
  .announcement-section .announcement-art::before { inset: -8px; }
}

@media (max-width: 820px) {
  :root {
    --shadow-tablet: 0 24px 58px rgba(31,15,10,.2), 0 8px 18px rgba(31,15,10,.1);
    --shadow-tablet-dark: 0 28px 68px rgba(0,0,0,.4), 0 9px 22px rgba(0,0,0,.24);
  }

  body {
    background:
      radial-gradient(circle at 88% 7%, rgba(200,154,73,.12), transparent 24rem),
      radial-gradient(circle at 5% 42%, rgba(74,12,17,.09), transparent 28rem),
      linear-gradient(180deg, #fffdf8, #f2eadf);
  }
  body::before { opacity: .016; }
  .site-header { box-shadow: 0 15px 44px rgba(31,15,10,.15); }
  .page-hero { border-bottom: 1px solid rgba(224,185,104,.28); }
  .page-hero h1 { text-shadow: 0 5px 12px rgba(0,0,0,.34), 0 22px 48px rgba(0,0,0,.4); }
  .section-heading h2, .statement-layout h2 { text-wrap: balance; }

  .pathways {
    gap: 12px;
    padding: 12px;
    background: linear-gradient(145deg, #0d0a09, #251815);
    box-shadow: var(--shadow-tablet-dark);
  }
  .pathway {
    min-height: 330px;
    border: 1px solid rgba(224,185,104,.2);
    box-shadow: inset 0 -125px 150px rgba(6,3,2,.72), 0 18px 40px rgba(0,0,0,.24);
  }
  .pathway::after { opacity: .55; }

  .image-frame, .announcement-art, .convocation-image figure { filter: drop-shadow(0 24px 35px rgba(27,12,8,.22)); }
  .image-frame img, .announcement-art img, .ministry-gathering img, .feature-story {
    border: 1px solid rgba(200,154,73,.42);
    box-shadow: var(--shadow-tablet);
  }
  .image-frame::before { display: block; inset: -12px 24px 28px -12px; }

  .calendar-grid article, .quality-grid > div, .directory-card, .convocation-grid article,
  .giving-grid article, .news-grid article, .contact-topics, .covenant-card,
  .event-list article, .three-columns p, .leader-row article, .legacy-grid article {
    border-color: rgba(200,154,73,.25);
    box-shadow: var(--shadow-tablet), inset 0 1px rgba(255,255,255,.9);
  }
  .quality-grid > div, .leader-row article {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, #fffefa 0%, #f0e6d7 100%);
  }
  .quality-grid > div::after, .leader-row article::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(125deg, rgba(255,255,255,.48), transparent 34%, rgba(200,154,73,.06) 70%, transparent);
  }
  .leader-row { gap: 24px; perspective: 1200px; }
  .leader-row article { border-top-color: rgba(255,255,255,.86); }
  .leader-row img {
    height: 350px;
    object-position: center 18%;
    filter: saturate(.82) contrast(1.06);
    box-shadow: inset 0 -35px 40px rgba(0,0,0,.16);
  }

  .legacy-section { box-shadow: inset 0 1px rgba(224,185,104,.15), var(--shadow-tablet-dark); }
  .legacy-grid { gap: 26px; perspective: 1300px; }
  .legacy-grid article {
    background: linear-gradient(125deg, rgba(54,44,38,.98), rgba(24,20,18,.98));
    border-color: rgba(224,185,104,.18);
    box-shadow: var(--shadow-tablet-dark), inset 0 1px rgba(255,255,255,.08);
  }
  .legacy-grid img { object-position: center 18%; filter: saturate(.86) contrast(1.07); }
  .legacy-featured {
    grid-template-columns: minmax(250px, .78fr) 1.22fr!important;
    background: radial-gradient(circle at 15% 20%, rgba(200,154,73,.12), transparent 24rem), linear-gradient(120deg, #352821, #161311)!important;
  }
  .legacy-featured img { min-height: 470px; object-position: center 18%; }
  .legacy-featured .legacy-honor { text-shadow: 0 8px 22px rgba(0,0,0,.35); }

  .ministry-mosaic {
    gap: 10px;
    padding: 10px;
    background: linear-gradient(145deg, #0b0908, #251714);
    box-shadow: var(--shadow-tablet-dark);
  }
  .ministry-panel {
    min-height: 560px;
    border: 1px solid rgba(224,185,104,.2);
    box-shadow: inset 0 -170px 180px rgba(5,3,2,.76), 0 20px 42px rgba(0,0,0,.28);
  }
  .ministry-panel img { object-position: center 18%; filter: saturate(.8) contrast(1.08); }
  .youth-panel img { object-position: center center; }
  .ministry-panel > div { text-shadow: 0 5px 18px rgba(0,0,0,.7); }

  .event-list { gap: 26px; }
  .event-list article { overflow: hidden; background: linear-gradient(145deg, #fffefa, #efe5d7); }
  .event-list img { object-fit: contain; object-position: center; padding: 7px; background: #171210; }
  .event-date { box-shadow: inset -1px 0 rgba(224,185,104,.35), 8px 0 26px rgba(53,12,14,.18); }
  .gallery-wall { gap: 10px; padding: 10px; }
  .gallery-wall figure { border: 1px solid rgba(224,185,104,.18); box-shadow: 0 20px 45px rgba(0,0,0,.32); }

  .btn-gold:active, .btn-outline:active, .btn-ghost:active { transform: translateY(-2px) scale(.99); }
}

@media (max-width: 560px) {
  :root {
    --shadow-phone: 0 20px 44px rgba(31,15,10,.2), 0 6px 14px rgba(31,15,10,.1);
    --shadow-phone-dark: 0 24px 54px rgba(0,0,0,.42), 0 8px 18px rgba(0,0,0,.25);
  }

  .container { width: calc(100% - 34px); }
  .section { padding: 74px 0; }
  .site-header { background: rgba(255,253,248,.93); box-shadow: 0 14px 38px rgba(31,15,10,.17); }
  .nav-toggle { background: linear-gradient(145deg, #fff, #eee3d3); box-shadow: 0 10px 22px rgba(31,15,10,.13), inset 0 1px #fff; }
  .primary-nav { width: min(350px, 91vw); box-shadow: -30px 0 80px rgba(0,0,0,.5), inset 1px 0 rgba(224,185,104,.18); }

  .home-hero, .page-hero { box-shadow: inset 0 -100px 130px rgba(3,2,2,.5), var(--shadow-phone-dark); }
  .home-hero h1, .page-hero h1 { text-wrap: balance; text-shadow: 0 4px 10px rgba(0,0,0,.42), 0 18px 36px rgba(0,0,0,.48); }
  .hero-scripture { border-top: 1px solid rgba(255,255,255,.42); box-shadow: 0 -24px 52px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.46); }

  .pathways { gap: 12px; padding: 12px; }
  .pathway {
    min-height: 320px;
    border-color: rgba(224,185,104,.26);
    box-shadow: inset 0 -145px 165px rgba(5,3,2,.78), var(--shadow-phone-dark);
  }
  .pathway h2 { font-size: 36px; text-shadow: 0 6px 22px rgba(0,0,0,.65); }

  .image-frame { padding: 8px 8px 0; background: linear-gradient(145deg, rgba(224,185,104,.82), rgba(74,12,17,.9)); box-shadow: var(--shadow-phone); }
  .image-frame::before { display: none; }
  .image-frame img { min-height: 0; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; border: 1px solid rgba(255,255,255,.46); }
  .image-frame figcaption { right: -4px; bottom: -12px; box-shadow: -15px 16px 32px rgba(28,8,8,.32); }
  .announcement-art { padding: 7px; background: linear-gradient(145deg, var(--gold-bright), #6a151b); box-shadow: var(--shadow-phone); }
  .announcement-art img { display: block; border: 1px solid rgba(255,255,255,.55); }

  .calendar-grid, .quality-grid, .leader-row, .legacy-grid, .directory-grid, .giving-grid,
  .convocation-grid, .news-grid { gap: 22px; }
  .calendar-grid article, .quality-grid > div, .directory-card, .convocation-grid article,
  .giving-grid article, .news-grid article, .contact-topics, .covenant-card,
  .event-list article, .three-columns p, .leader-row article {
    border-color: rgba(200,154,73,.28);
    box-shadow: var(--shadow-phone), inset 0 1px rgba(255,255,255,.92);
  }
  .quality-grid > div, .calendar-grid article, .three-columns p { border-left: 3px solid var(--gold); }

  .leader-row { grid-template-columns: 1fr; }
  .leader-row article { background: linear-gradient(145deg, #fffefa 0%, #eee3d3 100%); }
  .leader-row img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center 16%;
    border-bottom: 1px solid rgba(200,154,73,.35);
  }
  .leader-row article > div { position: relative; z-index: 1; padding: 29px; }
  .leader-row h3 { font-size: 31px; }

  .legacy-section { padding: 82px 0; }
  .legacy-grid { grid-template-columns: 1fr; }
  .legacy-grid article, .legacy-featured {
    grid-template-columns: 1fr!important;
    background: radial-gradient(circle at 80% 8%, rgba(200,154,73,.11), transparent 15rem), linear-gradient(145deg, #332721, #171311)!important;
    border-color: rgba(224,185,104,.22);
    box-shadow: var(--shadow-phone-dark), inset 0 1px rgba(255,255,255,.08);
  }
  .legacy-grid img, .legacy-featured img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
    object-fit: contain;
    object-position: center;
    background: #120f0d;
    border-bottom: 1px solid rgba(224,185,104,.25);
  }
  .legacy-grid article > div, .legacy-featured > div { padding: 31px; }
  .legacy-grid h3, .legacy-featured h3 { font-size: 34px; }
  .legacy-grid p, .legacy-featured p { font-size: 15px; line-height: 1.75; }
  .legacy-featured .legacy-honor { font-size: 22px; }

  .ministry-mosaic { grid-template-columns: 1fr; gap: 12px; padding: 12px; }
  .ministry-panel {
    min-height: 540px;
    border-color: rgba(224,185,104,.27);
    box-shadow: inset 0 -180px 190px rgba(4,2,2,.8), var(--shadow-phone-dark);
  }
  .ministry-panel img { object-position: center 18%; }
  .youth-panel img { object-position: center center; }
  .ministry-panel h2 { font-size: 38px; }

  .event-list article { display: grid; grid-template-columns: 1fr; }
  .event-date { min-height: 96px; display: grid; grid-template-columns: auto auto; gap: 12px; align-content: center; }
  .event-list img {
    grid-column: 1;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
    padding: 9px;
    background: linear-gradient(145deg, #0c0a09, #251714);
  }
  .event-list article > div:last-child { grid-column: 1; padding: 30px; }
  .event-list h3 { font-size: 32px; }

  .feature-story img, .news-grid article img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center top;
    padding: 7px;
    background: #171210;
  }
  .gallery-wall { padding: 10px; }
  .gallery-wall figure { height: auto; aspect-ratio: 4 / 3; margin-bottom: 10px; box-shadow: var(--shadow-phone-dark); }
  .gallery-wall img { object-position: center; }
  .convocation-image figure { padding: 7px; background: linear-gradient(145deg, var(--gold-bright), #6a151b); }

  .footer-grid { padding-block: 68px; }
  .footer-brand img { filter: drop-shadow(0 18px 26px rgba(0,0,0,.55)); }
}

/* 2026 reference synthesis
   Institutional clarity inspired by leading national fellowships, translated
   into Beth-El's own burgundy, gold, seal, imagery, and covenant identity. */
:root {
  --midnight: #171c31;
  --midnight-deep: #0c1020;
  --violet: #4c429f;
  --display-sans: 'Poppins', Manrope, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --gold-glow: 0 0 0 1px rgba(224,185,104,.22), 0 22px 65px rgba(7,4,3,.28);
}

.utility-label {
  color: #c8beb5;
  font: 600 9px/1 var(--display-sans);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.utility-label b { color: var(--gold-bright); padding-inline: 5px; }
.utility-news {
  padding: 4px 10px;
  color: var(--gold-bright)!important;
  border-left: 1px solid rgba(255,255,255,.14);
  border-right: 1px solid rgba(255,255,255,.14);
  font: 700 9px/1 var(--display-sans);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.site-header {
  backdrop-filter: blur(16px) saturate(1.15);
  -webkit-backdrop-filter: blur(16px) saturate(1.15);
}
.primary-nav a { font-family: var(--display-sans); }
.primary-nav a[href="give.html"] {
  margin-left: 3px;
  padding: 13px 18px;
  color: #21160e;
  background: linear-gradient(135deg, var(--gold-bright), #c99035);
  border: 1px solid #ddb35e;
  box-shadow: 0 10px 24px rgba(111,72,18,.16), inset 0 1px rgba(255,255,255,.5);
}
.primary-nav a[href="give.html"]::after { display: none; }
.primary-nav a[href="give.html"]:hover,
.primary-nav a[href="give.html"][aria-current='page'] {
  color: #fff;
  background: var(--oxblood);
  border-color: var(--oxblood);
  transform: translateY(-2px);
}

main > .page-hero:not(.convocation-hero)::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .2;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
}
main > .page-hero > .container { position: relative; z-index: 2; }

.home-hero {
  min-height: 790px;
  background: var(--midnight-deep);
  box-shadow: inset 0 -120px 160px rgba(0,0,0,.42);
}
.home-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 78% 30%, rgba(76,66,159,.25), transparent 30rem),
    linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.055) 50%, transparent 50.2%);
}
.home-hero::after {
  background: linear-gradient(90deg, rgba(10,9,18,.94) 0%, rgba(40,12,18,.78) 50%, rgba(10,9,18,.28) 100%);
}
.home-hero-image {
  filter: saturate(.62) sepia(.12) contrast(1.04);
  transform: scale(1.015);
}
.hero-content { width: 100%; padding-block: 96px 150px; }
.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(310px, .56fr);
  align-items: center;
  gap: clamp(45px, 7vw, 95px);
}
.hero-message { position: relative; }
.hero-message::before {
  content: '';
  position: absolute;
  left: -28px;
  top: 66px;
  bottom: 8px;
  width: 1px;
  background: linear-gradient(var(--gold-bright), transparent);
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 25px;
  padding: 9px 13px;
  color: #f6ead8;
  background: rgba(8,8,14,.46);
  border: 1px solid rgba(224,185,104,.38);
  box-shadow: 0 12px 34px rgba(0,0,0,.24);
  font: 700 9px/1 var(--display-sans);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.hero-badge i { color: var(--gold-bright); font-size: 13px; }
.hero-message > .eyebrow { margin-bottom: 13px; }
.hero-content h1 { max-width: 760px; font-size: clamp(58px, 7.1vw, 96px); }
.hero-command-card {
  position: relative;
  overflow: hidden;
  padding: 38px 34px 28px;
  background: linear-gradient(145deg, rgba(25,28,49,.86), rgba(44,10,16,.78));
  border: 1px solid rgba(224,185,104,.34);
  box-shadow: 0 35px 95px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.hero-command-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--gold-bright), var(--violet));
}
.hero-command-card > p {
  margin-bottom: 10px;
  color: var(--gold-bright);
  font: 800 9px/1.4 var(--display-sans);
  letter-spacing: .17em;
  text-transform: uppercase;
}
.hero-command-card h2 { margin-bottom: 25px; color: #fff; font-size: 34px; }
.hero-command-card > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 0;
  color: #eee5dc;
  border-top: 1px solid rgba(255,255,255,.14);
  font: 600 11px/1.4 var(--display-sans);
}
.hero-command-card > a:hover { color: var(--gold-bright); padding-left: 6px; }
.hero-command-card i { color: var(--gold-bright); }
.hero-scripture {
  background: linear-gradient(135deg, #edc873, #c9963f);
  box-shadow: -22px -18px 55px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.5);
}

.movement-pillars {
  position: relative;
  overflow: hidden;
  padding: 105px 0 115px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 8%, rgba(76,66,159,.3), transparent 30rem),
    radial-gradient(circle at 10% 90%, rgba(104,21,27,.5), transparent 34rem),
    linear-gradient(130deg, var(--midnight-deep), #201219 62%, #120d12);
  box-shadow: inset 0 1px rgba(224,185,104,.16), inset 0 -1px rgba(224,185,104,.12);
}
.movement-pillars::before {
  content: 'BETH-EL';
  position: absolute;
  right: -18px;
  top: -32px;
  color: rgba(255,255,255,.028);
  font: 800 clamp(100px, 18vw, 240px)/1 var(--display-sans);
  letter-spacing: -.06em;
  pointer-events: none;
}
.movement-heading {
  position: relative;
  display: grid;
  grid-template-columns: 1.25fr .65fr;
  align-items: end;
  gap: 80px;
  margin-bottom: 52px;
}
.movement-heading h2 { max-width: 760px; margin: 0; font-size: clamp(44px, 5.4vw, 72px); }
.movement-heading > p { margin: 0 0 8px; color: #cfc9d6; }
.pillar-grid { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.pillar-grid article {
  position: relative;
  min-height: 310px;
  padding: 34px 28px 30px;
  background: linear-gradient(155deg, rgba(255,255,255,.105), rgba(255,255,255,.035));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 65px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.08);
}
.pillar-grid article::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold-bright), transparent);
}
.pillar-grid i { color: var(--gold-bright); font-size: 27px; }
.pillar-grid h3 { margin: 42px 0 14px; color: #fff; font-size: 34px; }
.pillar-grid p { margin: 0; color: #c8c2ca; font-size: 14px; line-height: 1.75; }

.pathways { padding: 12px; gap: 12px; background: var(--midnight-deep); }
.pathway { border: 1px solid rgba(224,185,104,.18); box-shadow: inset 0 -150px 170px rgba(0,0,0,.56), 0 18px 45px rgba(0,0,0,.24); }
.pathway p, .event-status, .news-kicker { font-family: var(--display-sans); }
.pathway:hover { z-index: 2; transform: translateY(-7px) scale(1.012); box-shadow: inset 0 -160px 180px rgba(74,12,17,.72), 0 28px 65px rgba(0,0,0,.35); }

.current-calendar { position: relative; overflow: hidden; background: linear-gradient(180deg, #fff 0%, #f4ede3 100%); }
.calendar-grid { grid-template-columns: repeat(12, 1fr); gap: 18px; }
.calendar-grid article { position: relative; min-height: 315px; padding: 42px; overflow: hidden; border-top: 4px solid var(--gold); }
.calendar-grid article:first-child {
  grid-column: span 6;
  color: #fff;
  background: radial-gradient(circle at 90% 10%, rgba(76,66,159,.36), transparent 18rem), linear-gradient(135deg, var(--midnight), var(--oxblood));
  border-color: var(--gold-bright);
  box-shadow: var(--shadow-deep);
}
.calendar-grid article:nth-child(2), .calendar-grid article:nth-child(3) { grid-column: span 3; }
.calendar-grid article::after {
  content: '\f061';
  position: absolute;
  right: 30px;
  bottom: 27px;
  color: var(--gold);
  font: normal 18px/1 FontAwesome;
}
.calendar-grid article:first-child p { color: #ddd5df; }
.calendar-grid article:first-child a { color: var(--gold-bright); }
.calendar-grid h3 { max-width: 320px; font-size: clamp(30px, 3vw, 42px); }
.calendar-grid article:nth-child(n+2) h3 { font-size: 30px; }
.calendar-grid article:hover { transform: translateY(-8px); }

.footer-callout {
  position: relative;
  overflow: hidden;
  padding: 72px 0;
  color: #fff;
  background:
    radial-gradient(circle at 85% 20%, rgba(76,66,159,.36), transparent 27rem),
    linear-gradient(120deg, var(--oxblood), var(--midnight) 78%);
  border-bottom: 1px solid rgba(224,185,104,.2);
}
.footer-callout::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.06) 50%, transparent 50.2%);
}
.footer-callout-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 70px; }
.footer-callout h2 { max-width: 790px; margin: 0; color: #fff; font-size: clamp(35px, 4.2vw, 58px); }
.footer-callout-actions { display: flex; flex-direction: column; gap: 12px; min-width: 220px; }
.site-footer { background: linear-gradient(150deg, #10131f, #171311 65%); }
.footer-grid { border-bottom: 1px solid rgba(255,255,255,.08); }

.directory-card, .leader-row article, .quality-grid > div, .convocation-grid article,
.giving-grid article, .news-grid article, .contact-topics, .event-list article {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
@media (hover: hover) and (pointer: fine) {
  .directory-card:hover, .leader-row article:hover, .quality-grid > div:hover,
  .convocation-grid article:hover, .giving-grid article:hover, .news-grid article:hover,
  .event-list article:hover {
    transform: translateY(-7px);
    border-color: rgba(200,154,73,.55);
    box-shadow: 0 30px 75px rgba(31,15,10,.19), 0 9px 22px rgba(31,15,10,.1);
  }
  .pillar-grid article:hover { transform: translateY(-8px); background: linear-gradient(155deg, rgba(255,255,255,.15), rgba(255,255,255,.055)); border-color: rgba(224,185,104,.34); }
}

body.reveal-ready .reveal-item {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .62s ease, transform .62s cubic-bezier(.2,.7,.2,1);
}
body.reveal-ready .reveal-item.is-visible { opacity: 1; transform: none; }

/* Directory content must never depend on a scroll observer to remain visible. */
body.reveal-ready .directory-section.reveal-item,
body.reveal-ready .directory-section .reveal-item {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition-delay: 0s !important;
}

@media (max-width: 1080px) {
  .utility-label { display: none; }
  .primary-nav a[href="give.html"] { margin: 12px 0 0; padding: 14px 18px; text-align: center; }
  .hero-layout { grid-template-columns: minmax(0, 1fr) minmax(280px, .5fr); gap: 40px; }
  .hero-command-card { padding: 31px 27px 23px; }
  .hero-command-card h2 { font-size: 30px; }
  .pillar-grid { grid-template-columns: repeat(2, 1fr); }
  .pillar-grid article { min-height: 275px; }
  .calendar-grid article:first-child { grid-column: span 6; }
  .calendar-grid article:nth-child(2), .calendar-grid article:nth-child(3) { grid-column: span 3; }
}

@media (max-width: 820px) {
  .utility-news { display: none; }
  .home-hero { min-height: auto; }
  .hero-content { padding-block: 84px 150px; }
  .hero-layout { grid-template-columns: 1fr; gap: 45px; }
  .hero-message::before { left: -17px; }
  .hero-message { max-width: 680px; }
  .hero-command-card { max-width: 620px; }
  .movement-pillars { padding: 86px 0 94px; }
  .movement-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px; }
  .pillar-grid { grid-template-columns: repeat(2, 1fr); }
  .calendar-grid { grid-template-columns: 1fr; }
  .calendar-grid article:first-child,
  .calendar-grid article:nth-child(2),
  .calendar-grid article:nth-child(3) { grid-column: auto; min-height: 260px; }
  .footer-callout-inner { grid-template-columns: 1fr; gap: 35px; }
  .footer-callout-actions { flex-direction: row; flex-wrap: wrap; }
}

@media (max-width: 560px) {
  .utility-actions { width: 100%; justify-content: flex-end; gap: 13px; }
  .utility-actions > a[href^="tel:"] { margin-right: auto; }
  .hero-content { padding-block: 70px 132px; }
  .hero-badge { max-width: 100%; font-size: 8px; letter-spacing: .11em; }
  .hero-message::before { display: none; }
  .hero-content h1 { font-size: clamp(49px, 15vw, 68px); }
  .hero-command-card { padding: 28px 23px 20px; }
  .hero-command-card h2 { font-size: 31px; }
  .hero-command-card > a { font-size: 10px; }
  .movement-pillars { padding: 76px 0 82px; }
  .movement-pillars::before { top: 0; font-size: 92px; }
  .movement-heading h2 { font-size: 43px; }
  .pillar-grid { grid-template-columns: 1fr; gap: 13px; }
  .pillar-grid article { min-height: 0; padding: 31px 27px 29px; }
  .pillar-grid h3 { margin-top: 34px; }
  .pathways { padding: 10px; gap: 10px; }
  .pathway:hover { transform: none; }
  .calendar-grid article { min-height: 270px!important; padding: 34px 30px; }
  .calendar-grid article:first-child { min-height: 320px!important; }
  .footer-callout { padding: 62px 0; }
  .footer-callout-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .footer-callout-actions a { width: 100%; }
  .footer-callout h2 { font-size: 39px; }
}

/* 2026 Convocation responsive parity and active-card behavior */
@media (hover: hover) and (pointer: fine) {
  .convocation-card:hover {
    color: var(--ink);
    transform: translateY(-7px);
    border-color: rgba(200,154,73,.62);
    box-shadow: 0 30px 75px rgba(31,15,10,.19), 0 9px 22px rgba(31,15,10,.1);
  }
}

@media (max-width: 1080px) {
  .convocation-hero-grid { grid-template-columns: minmax(0, .82fr) minmax(360px, 1.18fr); gap: 42px; }
  .convocation-hero h1 { font-size: 88px; }
  .registration-heading { gap: 45px; }
}

@media (max-width: 820px) {
  .convocation-hero { min-height: auto; }
  .convocation-hero-grid { grid-template-columns: 1fr; gap: 48px; padding-block: 88px; }
  .convocation-hero-copy { max-width: 680px; }
  .convocation-hero h1 { font-size: 82px; }
  .convocation-hero-flyer { transform: none; }
  .scripture-pair, .schedule-layout, .hotel-layout, .registration-heading, .convocation-update-grid { grid-template-columns: 1fr; }
  .scripture-pair { gap: 18px; }
  .schedule-layout { gap: 45px; }
  .schedule-flyer { position: static; max-width: 620px; margin-inline: auto; }
  .hotel-layout figure img { min-height: 0; aspect-ratio: 16 / 8; }
  .registration-heading { gap: 25px; }
  .registration-heading aside { max-width: 350px; }
  .registration-inclusions { grid-template-columns: 1fr; }
  .form-grid, .form-grid.four { grid-template-columns: 1fr 1fr; }
  .registration-total { grid-template-columns: 1fr 1fr; }
  .registration-total-final { grid-column: 1 / -1; }
  .registration-actions { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .convocation-hero::before { inset: 15px; }
  .convocation-hero-grid { gap: 38px; padding-block: 72px; }
  .convocation-hero h1 { font-size: 66px; }
  .convocation-theme { font-size: 27px; }
  .convocation-scripture span { display: none; }
  .convocation-scripture { display: grid; gap: 3px; }
  .convocation-hero-actions { display: grid; grid-template-columns: 1fr; }
  .convocation-hero-actions a { width: 100%; }
  .convocation-intro, .enthronement-feature, .convocation-schedule, .convocation-hotel, .convocation-registration, .convocation-updates { padding: 78px 0; }
  .convocation-intro blockquote { padding: 27px; font-size: 22px; }
  .convocation-grid { grid-template-columns: 1fr; }
  .convocation-card { min-height: 0; padding: 30px; }
  .schedule-day { padding: 25px; }
  .schedule-day header { display: block; }
  .schedule-day header h3 { margin-top: 5px; font-size: 26px; }
  .schedule-entry { grid-template-columns: 1fr; gap: 5px; }
  .schedule-entry time { grid-row: auto; }
  .schedule-entry.featured { padding: 21px; }
  .hotel-layout figure img { aspect-ratio: 4 / 3; }
  .hotel-actions { display: grid; grid-template-columns: 1fr; }
  .hotel-actions a { width: 100%; }
  .registration-form { padding: 26px 20px; }
  .form-grid, .form-grid.four { grid-template-columns: 1fr; }
  .form-grid label.full { grid-column: auto; }
  .registration-total { grid-template-columns: 1fr; }
  .registration-total > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .registration-total > div:last-child { border-bottom: 0; }
  .registration-total-final { grid-column: auto; }
  .registration-actions, .registration-actions button, .registration-actions .btn-outline { width: 100%; }
  .registrar-contact { grid-template-columns: 1fr; }
  .convocation-update-grid article { grid-template-columns: 1fr; padding: 30px; }
}

/* Full-hero treatment for the supplied 2026 Convocation artwork */
.convocation-hero {
  min-height: 0;
  display: block;
  background: #14080c;
  text-align: left;
}
.convocation-hero::after { display: none; }
.convocation-hero-backdrop {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
}
.convocation-hero-image-link picture { display: block; }
.convocation-hero-details {
  position: relative;
  z-index: 2;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(135deg, #10090d, #3a0b14 58%, #13090d);
  border-top: 1px solid rgba(224,185,104,.32);
  box-shadow: 0 -25px 75px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.05);
}
.convocation-hero-details::before {
  content: '';
  position: absolute;
  inset: -35px;
  z-index: -2;
  background: url('../images/Convocation Images/convocation-2026-plain.png') center / cover no-repeat;
  filter: blur(14px) saturate(.72);
  opacity: .16;
  transform: scale(1.04);
}
.convocation-hero-details::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(9,6,8,.94), rgba(46,8,16,.88) 52%, rgba(10,7,9,.93));
}
.convocation-hero-overlay {
  position: relative!important;
  z-index: 2!important;
  inset: auto;
  padding-block: 48px;
}
.convocation-hero-copy {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
  align-items: end;
  gap: clamp(38px, 6vw, 88px);
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.convocation-hero h1 { margin: 0 0 11px; font-size: clamp(50px, 5.7vw, 82px); }
.convocation-hero .convocation-theme { font-size: 26px; }
.convocation-hero-actions { justify-content: flex-end; align-content: end; margin: 0; }

.upcoming-artwork {
  display: block;
  margin: 0 0 62px;
  padding: 7px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--gold-bright), #711722 55%, #281015);
  border: 1px solid rgba(224,185,104,.34);
  box-shadow: 0 38px 95px rgba(0,0,0,.46), 0 12px 28px rgba(0,0,0,.24);
  transform: perspective(1400px) rotateX(.35deg);
}
.upcoming-artwork img { display: block; width: 100%; height: auto; }
.upcoming-artwork:focus-visible { outline: 3px solid var(--gold-bright); outline-offset: 5px; }

.full-art-hero {
  position: relative;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  color: #fff;
  background: #19080d;
}
.full-art-link { display: block; }
.full-art-image {
  display: block;
  width: 100%;
  height: clamp(560px, 57.25vw, 920px);
  object-fit: cover;
  object-position: center;
}
.full-art-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(9,5,8,.9) 0%, rgba(9,5,8,.18) 42%, transparent 68%);
}
.full-art-overlay {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  padding-block: 48px;
}
.full-art-overlay h2 { max-width: 800px; margin-bottom: 7px; color: #fff; font-size: clamp(42px, 5vw, 69px); }
.full-art-overlay > p:not(.eyebrow) { margin: 0 0 22px; color: #ead8cd; }

.convocation-schedule { padding: 0; }
.schedule-poster-hero {
  position: relative;
  margin: 0;
  display: flex;
  flex-direction: column;
  color: #fff;
  background: radial-gradient(circle at 50% 36%, #591525, #100811 70%);
  box-shadow: inset 0 0 160px rgba(0,0,0,.5);
}
.schedule-poster-hero > a {
  height: min(92vh, 1050px);
  min-height: 0;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.schedule-poster-hero img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 35px 60px rgba(0,0,0,.42));
}
.schedule-poster-hero figcaption {
  flex: 0 0 auto;
  padding: 14px 24px;
  color: #e0cfbd;
  background: #160c12;
  text-align: center;
  font: 700 9px var(--display-sans);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.schedule-text {
  position: relative;
  z-index: 4;
  isolation: isolate;
  padding-block: 105px;
}
.schedule-text::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0 50%;
  width: 100vw;
  margin-inline: -50vw;
  background:
    radial-gradient(circle at 88% 5%, rgba(200,154,73,.1), transparent 27rem),
    linear-gradient(180deg, #f8f1e8, #fffdf9);
  border-top: 1px solid rgba(200,154,73,.2);
  box-shadow: 0 -26px 70px rgba(13,7,10,.2), inset 0 1px rgba(255,255,255,.9);
}
.schedule-days { grid-template-columns: 1fr 1fr; align-items: start; }

.convocation-hero-image-link { display: block; }

.schedule-poster-hero {
  overflow: hidden;
  isolation: isolate;
}
.schedule-poster-hero::before {
  content: '';
  position: absolute;
  inset: -48px;
  z-index: 0;
  background:
    linear-gradient(rgba(16,8,17,.54), rgba(16,8,17,.76)),
    url('../images/Convocation Images/IMG_4718.jpeg') center / cover no-repeat;
  filter: blur(28px) saturate(.9);
  transform: scale(1.08);
}
.schedule-poster-hero > a,
.schedule-poster-hero figcaption {
  position: relative;
  z-index: 1;
}

.page-controls {
  position: fixed;
  z-index: 850;
  right: 22px;
  bottom: 22px;
  display: flex;
  gap: 6px;
  padding: 7px;
  color: #fff;
  background: rgba(13,11,18,.88);
  border: 1px solid rgba(224,185,104,.35);
  border-radius: 999px;
  box-shadow: 0 20px 55px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.15);
  backdrop-filter: blur(16px) saturate(1.15);
}
.page-controls a,
.page-controls button {
  width: 64px;
  min-height: 53px;
  display: grid;
  place-items: center;
  gap: 2px;
  margin: 0;
  padding: 7px 5px;
  color: #f6eee6;
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font: 700 9px var(--display-sans);
  letter-spacing: .06em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.page-controls i {
  color: var(--gold-bright);
  font-size: 15px;
}
.page-controls span { display: block; }
.page-controls a:hover,
.page-controls a:focus-visible,
.page-controls button:hover,
.page-controls button:focus-visible {
  color: #fff;
  background: var(--oxblood);
  outline: none;
  transform: translateY(-2px);
}

body.lightbox-open { overflow: hidden; }
.image-lightbox:not([open]) { display: none; }
.image-lightbox {
  width: 100vw;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: #fff;
  background: #0b0710;
  border: 0;
}
.image-lightbox::backdrop {
  background: rgba(3,2,6,.92);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.image-lightbox::before {
  content: '';
  position: fixed;
  inset: -60px;
  z-index: 0;
  background-image:
    linear-gradient(rgba(10,5,13,.53), rgba(10,5,13,.78)),
    var(--lightbox-image);
  background-position: center;
  background-size: cover;
  filter: blur(35px) saturate(.82) brightness(.66);
  transform: scale(1.1);
}
.image-lightbox-stage {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  padding: 40px 84px 28px;
}
.image-lightbox figure {
  max-width: 100%;
  max-height: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  margin: 0;
  padding: 8px;
  overflow: hidden;
  background: linear-gradient(145deg, var(--gold-bright), #6a151b);
  border-radius: 4px;
  box-shadow: 0 35px 100px rgba(0,0,0,.58);
}
.image-lightbox img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(92vw, 1800px);
  max-height: 82vh;
  object-fit: contain;
  background: #100a0f;
}
.image-lightbox figcaption {
  padding: 11px 14px 6px;
  color: #f5e6d1;
  background: #190d14;
  text-align: center;
  font: 700 10px var(--display-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.image-lightbox-close {
  position: fixed;
  z-index: 3;
  top: 22px;
  right: 22px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 17px;
  color: #fff;
  background: rgba(15,10,17,.88);
  border: 1px solid rgba(224,185,104,.4);
  border-radius: 999px;
  box-shadow: 0 14px 38px rgba(0,0,0,.35);
  cursor: pointer;
  font: 700 10px var(--display-sans);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.image-lightbox-close i { color: var(--gold-bright); }
.image-lightbox-close:hover,
.image-lightbox-close:focus-visible {
  background: var(--oxblood);
  outline: 2px solid var(--gold-bright);
  outline-offset: 3px;
}

/* Site-wide dimensional polish */
main > .page-hero:not(.home-hero):not(.convocation-hero) {
  border-bottom: 1px solid rgba(224,185,104,.24);
  box-shadow:
    inset 0 -105px 145px rgba(5,3,4,.32),
    0 32px 78px rgba(25,12,10,.2);
}
main > section + section {
  box-shadow:
    inset 0 1px rgba(255,255,255,.58),
    inset 0 22px 52px rgba(43,22,15,.025);
}
.section-heading {
  position: relative;
  padding-bottom: 24px;
}
.section-heading::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(145px, 34vw);
  height: 2px;
  background: linear-gradient(90deg, var(--gold-bright), rgba(200,154,73,0));
  box-shadow: 0 4px 14px rgba(200,154,73,.22);
}
.calendar-grid article,
.quality-grid > div,
.directory-card,
.convocation-grid article,
.convocation-card,
.giving-grid article,
.news-grid article,
.contact-topics,
.covenant-card,
.event-list article,
.upcoming-grid > div:last-child,
.three-columns p,
.leader-row article,
.legacy-grid article,
.pillar-grid article {
  box-shadow:
    0 24px 60px rgba(36,18,12,.13),
    0 7px 18px rgba(36,18,12,.07),
    inset 0 1px rgba(255,255,255,.78),
    inset 0 -1px rgba(74,12,17,.07);
}
.legacy-grid article,
.pillar-grid article {
  box-shadow:
    0 28px 68px rgba(0,0,0,.32),
    0 8px 20px rgba(0,0,0,.18),
    inset 0 1px rgba(255,255,255,.1),
    inset 0 -1px rgba(0,0,0,.3);
}
.directory-card-head img,
.leader-row img,
.legacy-grid img,
.event-list img,
.news-grid article img,
.announcement-art img,
.ministry-panel img {
  filter: saturate(.8) contrast(1.055) drop-shadow(0 12px 20px rgba(25,12,9,.13));
}
.image-frame,
.announcement-art,
.ministry-gathering,
.gallery-wall figure,
.convocation-image figure {
  transform: translateZ(0);
}
.image-frame img,
.announcement-art img,
.ministry-gathering img,
.gallery-wall figure,
.convocation-image figure {
  box-shadow:
    0 38px 90px rgba(12,7,6,.34),
    0 12px 28px rgba(12,7,6,.18),
    inset 0 1px rgba(255,255,255,.16);
}
.btn-gold,
.btn-outline,
.btn-ghost {
  box-shadow:
    0 14px 30px rgba(28,14,10,.17),
    inset 0 1px rgba(255,255,255,.42),
    inset 0 -2px rgba(48,20,10,.1);
}
.btn-gold:active,
.btn-outline:active,
.btn-ghost:active,
.page-controls a:active,
.page-controls button:active {
  transform: translateY(1px);
  box-shadow: inset 0 3px 9px rgba(0,0,0,.18);
}
.page-controls {
  box-shadow:
    0 28px 70px rgba(0,0,0,.42),
    0 8px 20px rgba(0,0,0,.2),
    inset 0 1px rgba(255,255,255,.12),
    inset 0 -1px rgba(0,0,0,.32);
}
.page-controls a,
.page-controls button {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}

@media (hover: hover) and (pointer: fine) {
  .calendar-grid article:hover,
  .quality-grid > div:hover,
  .directory-card:hover,
  .convocation-grid article:hover,
  .convocation-card:hover,
  .giving-grid article:hover,
  .news-grid article:hover,
  .event-list article:hover,
  .leader-row article:hover,
  .legacy-grid article:hover,
  .pillar-grid article:hover {
    transform: translateY(-9px) perspective(900px) rotateX(.5deg);
    border-color: rgba(200,154,73,.48);
    box-shadow:
      0 38px 88px rgba(32,14,9,.22),
      0 12px 26px rgba(32,14,9,.11),
      inset 0 1px rgba(255,255,255,.88);
  }
  .legacy-grid article:hover,
  .pillar-grid article:hover {
    box-shadow:
      0 42px 95px rgba(0,0,0,.42),
      0 13px 28px rgba(0,0,0,.24),
      inset 0 1px rgba(255,255,255,.14);
  }
}

@media (max-width: 1080px) {
  .convocation-hero-copy { max-width: none; grid-template-columns: minmax(0, 1fr) minmax(280px, .68fr); gap: 42px; }
  .convocation-hero h1 { font-size: 66px; }
  .full-art-overlay h2 { font-size: 55px; }
  .bio-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(340px, .7fr); gap: 50px; }
  .bio-portrait > div { height: 560px; }
  .bio-story-grid { gap: 55px; }
  .bio-facts { padding: 31px; }
}

@media (max-width: 820px) {
  .convocation-hero-backdrop, .full-art-image { height: auto; object-fit: contain; }
  .convocation-hero-shade, .full-art-shade { display: none; }
  .convocation-hero-overlay, .full-art-overlay {
    position: relative!important;
    inset: auto;
    left: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    padding-block: 36px;
    background: linear-gradient(135deg, #11121d, #3d0b16);
  }
  .convocation-hero-overlay { background: none; }
  .convocation-hero-copy { max-width: none; grid-template-columns: 1fr; gap: 30px; padding: 0; background: none; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .convocation-hero-actions { justify-content: flex-start; }
  .convocation-hero h1 { font-size: 62px; }
  .full-art-overlay h2 { font-size: 48px; }
  .schedule-poster-hero > a {
    height: min(82vh, 900px);
    height: min(82svh, 900px);
    padding: 22px clamp(18px, 5vw, 42px);
  }
  .schedule-poster-hero img {
    width: auto;
    max-width: 100%;
    max-height: 100%;
  }
  .schedule-poster-hero figcaption {
    padding: 13px 20px;
    line-height: 1.55;
  }
  .schedule-text {
    padding-block: 82px;
  }
  .schedule-days { grid-template-columns: 1fr; }
  .upcoming-artwork { margin-bottom: 44px; padding: 5px; transform: none; }
  .schedule-day {
    position: relative;
    z-index: 1;
    box-shadow: 0 24px 60px rgba(36,18,12,.12), 0 7px 18px rgba(36,18,12,.07);
  }
  .image-lightbox-stage { padding: 72px 24px 24px; }
  .image-lightbox img {
    max-width: calc(100vw - 64px);
    max-height: 78vh;
    max-height: 78svh;
  }
  .bio-hero { min-height: 0; padding-top: 68px; }
  .bio-hero-grid {
    min-height: 0;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 25px;
  }
  .bio-hero-copy { padding-bottom: 28px; }
  .bio-back-link { margin-bottom: 40px; }
  .bio-portrait { width: min(100%, 590px); justify-self: center; padding-right: 22px; }
  .bio-portrait > div { height: 620px; }
  .bio-portrait figcaption { bottom: 24px; }
  .bio-story-grid { grid-template-columns: 1fr; gap: 65px; }
  .bio-facts { position: static; }
  .bio-related > .container { grid-template-columns: 1fr; gap: 48px; }
  .officeholders-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
}

@media (max-width: 560px) {
  .convocation-hero::before { display: none; }
  .convocation-hero-overlay, .full-art-overlay { padding-block: 31px; }
  .convocation-hero h1 { font-size: 52px; }
  .convocation-hero .convocation-theme { font-size: 23px; }
  .convocation-hero-copy { gap: 25px; }
  .upcoming-artwork { margin-bottom: 35px; padding: 3px; }
  .full-art-overlay h2 { font-size: 39px; }
  .schedule-poster-hero > a {
    height: auto;
    min-height: 0;
    padding: 12px 10px;
  }
  .schedule-poster-hero img {
    width: min(100%, 520px);
    height: auto;
    max-height: none;
    filter: drop-shadow(0 18px 34px rgba(0,0,0,.34));
  }
  .schedule-poster-hero figcaption {
    padding: 12px 16px;
    font-size: 8px;
    line-height: 1.6;
    letter-spacing: .09em;
  }
  .schedule-text {
    padding-block: 64px 82px;
  }
  .schedule-text::before {
    box-shadow: 0 -18px 45px rgba(13,7,10,.18), inset 0 1px rgba(255,255,255,.9);
  }
  .schedule-text .section-heading {
    display: block;
    margin-bottom: 34px;
  }
  .schedule-text .section-heading > p {
    margin-top: 18px;
  }
  .schedule-days { gap: 18px; }
  .schedule-day { padding: 22px; }
  .page-controls {
    left: 12px;
    right: 12px;
    bottom: 12px;
    justify-content: space-around;
    padding-bottom: max(7px, env(safe-area-inset-bottom));
  }
  .page-controls a,
  .page-controls button {
    width: 31%;
    min-height: 50px;
  }
  .site-footer { padding-bottom: 74px; }
  .image-lightbox-stage { padding: 68px 12px 18px; }
  .image-lightbox img {
    max-width: calc(100vw - 40px);
    max-height: 76vh;
  }
  .image-lightbox figcaption {
    font-size: 8px;
    letter-spacing: .08em;
  }
  .image-lightbox-close {
    top: 12px;
    right: 12px;
  }
  .bio-hero { padding-top: 48px; }
  .bio-hero h1 { font-size: 52px; }
  .bio-role { font-size: 23px; }
  .bio-back-link { margin-bottom: 32px; }
  .bio-succession { align-items: flex-start; flex-direction: column; gap: 9px; margin-top: 30px; }
  .bio-succession strong { padding: 8px 0 0; border-top: 1px solid var(--gold); border-left: 0; }
  .bio-portrait { width: calc(100% + 8px); margin-left: -4px; padding-right: 14px; }
  .bio-portrait::before { inset: 20px 0 -14px 24px; }
  .bio-portrait > div { height: 470px; }
  .bio-portrait figcaption { right: 0; bottom: 18px; max-width: 90%; padding: 13px 16px; font-size: 9px; }
  .bio-jump .container { justify-content: flex-start; }
  .bio-jump a { padding: 17px 20px; }
  .bio-story { padding-block: 72px; }
  .bio-story-grid { gap: 52px; }
  .bio-facts { padding: 26px 23px; }
  .bio-introduction { font-size: 19px; }
  .bio-copy-section { padding-bottom: 52px; margin-bottom: 52px; }
  .bio-copy-section h2 { margin-bottom: 23px; font-size: 38px; }
  .bio-copy-section > p:not(.eyebrow) { font-size: 16px; line-height: 1.82; }
  .bio-copy-section > p:not(.eyebrow):first-of-type { font-size: 20px; }
  .bio-copy-section blockquote { margin-top: 32px; padding: 30px 26px 30px 31px; font-size: 23px; }
  .bio-related { padding: 72px 0 95px; }
  .bio-related-links { grid-template-columns: 1fr; }
  .bio-related-links a { min-height: 145px; }
  .officeholders-section { padding: 72px 0 84px; }
  .officeholders-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
  .officeholder-portrait {
    box-shadow: 0 14px 32px rgba(35,17,12,.16), 0 4px 10px rgba(35,17,12,.07), inset 0 1px rgba(255,255,255,.4);
  }
  .officeholder-portrait figcaption { padding: 21px 13px 13px; }
  .officeholder-portrait figcaption span { margin-bottom: 5px; font-size: 6px; letter-spacing: .08em; }
  .officeholder-portrait figcaption strong { font-size: 14px; line-height: 1.05; }
  .officeholder-portrait figcaption small { margin-top: 5px; font-size: 12px; line-height: 1.25; }
  .officeholder-portrait-detailed { grid-column: span 2; aspect-ratio: 16 / 10; }
  .officeholder-portrait-detailed figcaption { padding: 56px 16px 15px; }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.legacy-preview-playing) *,
  body:not(.legacy-preview-playing) *::before,
  body:not(.legacy-preview-playing) *::after { scroll-behavior: auto!important; transition-duration: .01ms!important; animation-duration: .01ms!important; }
  body.reveal-ready .reveal-item { opacity: 1; transform: none; }
}

/* Final policy, media, guided-form, safeguarding, and reconciliation system */
.primary-nav ul { gap: clamp(11px, 1.45vw, 23px); }
.footer-policy-links { display: flex; flex-wrap: wrap; gap: 8px 17px; }
.footer-policy-links a { color: rgba(255,255,255,.72); }
.footer-policy-links a:hover, .footer-policy-links a:focus-visible { color: var(--gold-bright); }

.media-hero { position: relative; min-height: 720px; overflow: hidden; color: #fff; background: radial-gradient(circle at 72% 35%, rgba(203,153,60,.25), transparent 30%), linear-gradient(125deg, #13090b 0%, #5b0b18 55%, #160a0d 100%); }
.media-hero::before { content: ''; position: absolute; inset: 0; opacity: .3; background: linear-gradient(115deg, transparent 0 48%, rgba(255,255,255,.07) 48.2% 48.5%, transparent 48.7%); }
.media-hero-glow { position: absolute; width: 520px; height: 520px; right: 4%; top: 8%; border: 1px solid rgba(224,178,86,.25); border-radius: 50%; box-shadow: 0 0 130px rgba(212,156,55,.22), inset 0 0 70px rgba(255,255,255,.06); }
.media-hero-grid { position: relative; z-index: 1; min-height: 720px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 80px; }
.media-hero h1 { margin: 15px 0 25px; color: #fff; font-size: clamp(68px, 7vw, 112px); line-height: .82; }
.media-hero h1 em { color: var(--gold-bright); }
.media-hero-grid > div:first-child > p:last-of-type { max-width: 670px; color: #e8dcd6; font-size: 17px; line-height: 1.8; }
.media-hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 30px; }
.media-screen { position: relative; min-height: 430px; display: grid; place-items: center; padding: 40px; background: linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.015)); border: 1px solid rgba(255,255,255,.2); box-shadow: 0 55px 110px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.25); transform: perspective(1100px) rotateY(-8deg) rotateX(3deg); }
.media-screen::before { content: ''; position: absolute; inset: 16px; border: 1px solid rgba(223,171,71,.38); }
.media-screen img { width: min(58%, 230px); filter: drop-shadow(0 25px 35px rgba(0,0,0,.45)); }
.media-screen > span { position: absolute; width: 70px; height: 70px; display: grid; place-items: center; color: #fff; background: rgba(93,9,23,.88); border: 1px solid var(--gold-bright); border-radius: 50%; box-shadow: 0 15px 35px rgba(0,0,0,.35); }
.media-screen > p { position: absolute; bottom: 30px; margin: 0; font: 800 10px var(--display-sans); letter-spacing: .15em; text-transform: uppercase; }
.media-feature { padding: 120px 0; background: linear-gradient(180deg, #fff, #f6eee5); }
.media-feature-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 85px; }
.media-feature-art { position: relative; min-height: 520px; box-shadow: 0 38px 85px rgba(45,23,14,.22); }
.media-feature-art::after { content: ''; position: absolute; inset: 18px -18px -18px 18px; z-index: -1; background: var(--oxblood); }
.media-feature-art img { width: 100%; height: 520px; object-fit: cover; }
.media-feature-art span { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 74px; text-shadow: 0 16px 35px rgba(0,0,0,.45); background: linear-gradient(180deg, transparent, rgba(36,8,12,.6)); }
.media-feature h2 { font-size: clamp(46px, 5vw, 72px); }
.media-feature p { color: var(--muted); line-height: 1.8; }
.media-notice { padding: 20px 22px; border-left: 3px solid var(--gold); background: #fff; box-shadow: 0 15px 35px rgba(61,35,22,.08); }
.media-notice i { margin-right: 9px; color: var(--oxblood); }
.media-social { padding: 110px 0; color: #fff; background: linear-gradient(135deg, #250c11, #680a1a 62%, #18090b); }
.media-social-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.media-social-grid > a { display: grid; grid-template-columns: 78px 1fr auto; gap: 24px; align-items: center; padding: 34px; color: #fff; background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 25px 55px rgba(0,0,0,.2); transition: transform .25s ease, background .25s ease; }
.media-social-grid > a:hover { color: #fff; background: rgba(255,255,255,.12); transform: translateY(-5px); }
.media-social-grid > a > span { width: 78px; height: 78px; display: grid; place-items: center; color: var(--gold-bright); border: 1px solid rgba(226,178,83,.45); border-radius: 50%; font-size: 27px; }
.media-social-grid h3 { margin: 5px 0 8px; color: #fff; font-size: 27px; }
.media-social-grid small { color: var(--gold-bright); font: 800 9px var(--display-sans); letter-spacing: .14em; text-transform: uppercase; }
.media-social-grid p { margin: 0; color: #daccc6; }
.media-archive { padding: 105px 0; }
.media-category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.media-category-grid article { padding: 42px 34px; background: #fff; border: 1px solid var(--line); box-shadow: 0 25px 55px rgba(45,25,15,.08); }
.media-category-grid i { color: var(--gold); font-size: 30px; }
.media-category-grid h3 { margin-top: 27px; font-size: 29px; }
.media-category-grid p { color: var(--muted); }

.policy-hero { min-height: 470px; display: flex; align-items: center; color: #fff; background: radial-gradient(circle at 78% 20%, rgba(226,177,82,.22), transparent 31%), linear-gradient(125deg, #210d12, #690b1b 65%, #1d0c0f); }
.policy-hero .container { padding-block: 85px; }
.policy-hero h1 { margin: 12px 0 22px; color: #fff; font-size: clamp(60px, 7vw, 98px); line-height: .9; }
.policy-hero h1 em { color: var(--gold-bright); }
.policy-hero .container > p:last-of-type { max-width: 760px; color: #eadfd9; font-size: 17px; line-height: 1.75; }
.policy-hero .container > span { display: inline-block; margin-top: 20px; padding: 8px 12px; color: var(--gold-bright); border: 1px solid rgba(225,176,81,.35); font: 800 9px var(--display-sans); letter-spacing: .12em; text-transform: uppercase; }
.policy-content { padding: 105px 0 120px; background: linear-gradient(180deg, #fff, #f8f2ea); }
.policy-layout { display: grid; grid-template-columns: 280px 1fr; gap: 90px; align-items: start; }
.policy-layout > aside { position: sticky; top: 125px; padding: 30px; background: #fff; border: 1px solid var(--line); box-shadow: 0 25px 55px rgba(47,26,14,.08); }
.policy-layout > aside nav { display: grid; margin-top: 20px; }
.policy-layout > aside nav a { padding: 12px 0; border-bottom: 1px solid var(--line); color: #4a3c35; font-weight: 700; }
.policy-layout > aside dl { margin: 23px 0 0; }
.policy-layout > aside dt { margin-top: 17px; color: var(--oxblood); font: 800 9px var(--display-sans); letter-spacing: .1em; text-transform: uppercase; }
.policy-layout > aside dd { margin: 4px 0 0; color: var(--muted); }
.policy-layout > article { max-width: 870px; }
.policy-layout > article section { padding: 0 0 40px; margin-bottom: 42px; border-bottom: 1px solid var(--line); scroll-margin-top: 125px; }
.policy-layout > article section:last-child { margin-bottom: 0; border-bottom: 0; }
.policy-layout h2 { font-size: clamp(37px, 4vw, 52px); }
.policy-layout p, .policy-layout li { color: #554943; font-size: 15px; line-height: 1.85; }
.policy-layout a { color: var(--oxblood); font-weight: 700; text-decoration: underline; text-decoration-color: rgba(91,9,23,.28); text-underline-offset: 3px; }

.safeguarding-standard { padding: 115px 0; color: #fff; background: radial-gradient(circle at 80% 5%, rgba(219,169,69,.2), transparent 28%), linear-gradient(140deg, #18090c, #520a16 60%, #16090b); scroll-margin-top: 100px; }
.safeguarding-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 26px; }
.safeguarding-intro { grid-row: span 2; padding: 55px 48px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.055); box-shadow: 0 35px 75px rgba(0,0,0,.25); }
.safeguarding-intro h2 { margin-top: 14px; color: #fff; font-size: clamp(45px, 5vw, 69px); }
.safeguarding-intro p:last-child { color: #ded0cb; font-size: 16px; line-height: 1.8; }
.safeguarding-rule, .safeguarding-check { padding: 38px 40px; border: 1px solid rgba(229,182,92,.25); background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)); }
.safeguarding-rule > i { float: right; color: var(--gold-bright); font-size: 32px; }
.safeguarding-rule h3, .safeguarding-check h3 { color: var(--gold-bright); font-size: 29px; }
.safeguarding-rule p, .safeguarding-check p, .safeguarding-check li { color: #e5d9d3; line-height: 1.75; }
.safeguarding-check ul { padding-left: 19px; margin-bottom: 0; }

.form-progress { position: relative; margin: -48px -48px 42px; padding: 30px 48px 25px; color: #fff; background: linear-gradient(120deg, #3a0a12, var(--oxblood)); }
.form-progress > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.form-progress span { color: var(--gold-bright); font: 800 9px var(--display-sans); letter-spacing: .12em; text-transform: uppercase; }
.form-progress strong { color: #fff; font: 600 24px var(--serif); }
.form-progress-track { height: 4px; margin: 18px 0; overflow: hidden; background: rgba(255,255,255,.13); }
.form-progress-track span { display: block; width: 25%; height: 100%; background: linear-gradient(90deg, #d0a045, #f3d385); transition: width .3s ease; }
.form-progress ol { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; padding: 0; margin: 0; list-style: none; }
[data-form-type="vendor"] .form-progress ol { grid-template-columns: repeat(4, 1fr); }
.form-progress li { color: rgba(255,255,255,.52); font: 700 8px var(--display-sans); letter-spacing: .07em; text-transform: uppercase; }
.form-progress li.is-current, .form-progress li.is-complete { color: #fff; }
.form-progress li.is-complete::before { content: '\2713'; margin-right: 5px; color: var(--gold-bright); }
.form-step[hidden] { display: none!important; }
.form-step-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 30px; }
.form-step-actions .btn-gold, .form-step-actions .btn-outline { min-height: 48px; cursor: pointer; }
.form-step > h3[tabindex="-1"]:focus { outline: 0; }
.application-form.is-multistep .registration-panel-title:first-child { margin-top: 0; }

.payment-methods { display: grid; grid-template-columns: 1fr repeat(3, auto); gap: 12px; align-items: center; margin-bottom: 28px; padding: 24px; color: #fff; background: linear-gradient(130deg, #260c11, #680b1b); box-shadow: 0 18px 45px rgba(50,18,17,.18); }
.payment-methods p { margin: 0; color: #e5d8d2; }
.payment-methods p + p { margin-top: 5px; font-size: 12px; }
.payment-methods a { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 10px 14px; color: #fff; border: 1px solid rgba(229,183,93,.55); font: 800 9px var(--display-sans); letter-spacing: .07em; text-transform: uppercase; }
.payment-methods a:hover { color: #250b11; background: var(--gold-bright); }
[data-payment-detail] { transition: opacity .2s ease; }
[data-payment-detail].is-payment-required { padding: 14px; background: #fffaf2; border: 1px solid rgba(190,135,44,.35); }

.confirmation-page { position: relative; min-height: 860px; display: grid; place-items: center; overflow: hidden; padding: 110px 0 130px; color: #fff; background: radial-gradient(circle at 50% 20%, rgba(219,168,65,.24), transparent 30%), linear-gradient(145deg, #15090b, #600a19 62%, #13080a); }
.confirmation-glow { position: absolute; width: 680px; height: 680px; border: 1px solid rgba(226,181,89,.14); border-radius: 50%; box-shadow: 0 0 160px rgba(202,145,44,.13); }
.confirmation-shell { position: relative; z-index: 1; max-width: 880px; padding: 60px 70px; text-align: center; border: 1px solid rgba(255,255,255,.14); background: rgba(19,7,9,.66); box-shadow: 0 50px 110px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.09); backdrop-filter: blur(12px); }
.confirmation-seal { position: relative; width: 132px; margin: 0 auto 25px; }
.confirmation-seal img { width: 100%; filter: drop-shadow(0 18px 30px rgba(0,0,0,.4)); }
.confirmation-seal span { position: absolute; right: -6px; bottom: 7px; width: 38px; height: 38px; display: grid; place-items: center; color: #210b10; background: var(--gold-bright); border-radius: 50%; box-shadow: 0 8px 20px rgba(0,0,0,.3); }
.confirmation-shell h1 { margin: 12px auto 18px; color: #fff; font-size: clamp(52px, 6vw, 82px); line-height: .92; }
.confirmation-lead { max-width: 700px; margin: 0 auto 28px; color: #e3d7d1; font-size: 16px; line-height: 1.8; }
.confirmation-number { display: grid; gap: 7px; max-width: 560px; margin: 0 auto 32px; padding: 24px; border: 1px solid rgba(226,180,88,.45); background: rgba(255,255,255,.06); }
.confirmation-number > span { color: var(--gold-bright); font: 800 8px var(--display-sans); letter-spacing: .14em; text-transform: uppercase; }
.confirmation-number strong { color: #fff; font: 600 clamp(24px, 4vw, 37px) var(--serif); letter-spacing: .04em; }
.confirmation-number button { width: max-content; margin: 3px auto 0; padding: 7px 12px; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.25); cursor: pointer; font: 800 8px var(--display-sans); letter-spacing: .08em; text-transform: uppercase; }
.confirmation-steps { display: grid; gap: 12px; max-width: 710px; padding: 0; margin: 0 auto 34px; list-style: none; text-align: left; counter-reset: confirmation;
}
.confirmation-steps li { position: relative; padding: 17px 20px 17px 58px; color: #e7dcd7; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.045); line-height: 1.65; counter-increment: confirmation; }
.confirmation-steps li::before { content: counter(confirmation); position: absolute; left: 18px; top: 16px; width: 25px; height: 25px; display: grid; place-items: center; color: #230b10; background: var(--gold-bright); border-radius: 50%; font: 800 9px var(--display-sans); }
.confirmation-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.confirmation-help { margin: 30px 0 0; color: rgba(255,255,255,.63); font-size: 11px; }
.confirmation-help a { color: var(--gold-bright); }
.confirmation-attendee { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; margin: 0 auto 34px; padding: 27px 30px; text-align: left; border: 1px solid rgba(226,180,88,.36); background: linear-gradient(125deg, rgba(227,180,86,.12), rgba(255,255,255,.045)); box-shadow: inset 0 1px rgba(255,255,255,.08), 0 22px 48px rgba(0,0,0,.2); }
.confirmation-attendee[hidden] { display: none!important; }
.confirmation-attendee h2 { margin: 5px 0 7px; color: #fff; font-size: clamp(28px, 4vw, 39px); }
.confirmation-attendee p:last-child { margin: 0; color: #ded1cb; line-height: 1.65; }

/* Secure Holy Convocation attendee-graphic portal */
.attendee-graphic-hero { position: relative; min-height: 760px; overflow: hidden; color: #fff; background: radial-gradient(circle at 72% 28%, rgba(231,180,77,.25), transparent 25rem), linear-gradient(128deg, #0c0809, #3f0812 58%, #12090b); box-shadow: inset 0 -100px 170px rgba(0,0,0,.4); }
.attendee-graphic-hero::before { content: ''; position: absolute; inset: 30px; border: 1px solid rgba(226,180,88,.24); box-shadow: inset 0 0 75px rgba(226,180,88,.05); pointer-events: none; }
.attendee-graphic-aura { position: absolute; inset: -30%; background: conic-gradient(from 205deg at 75% 44%, transparent, rgba(226,180,88,.1), transparent 22%); filter: blur(30px); }
.attendee-graphic-intro { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.58fr); gap: clamp(55px,8vw,120px); align-items: center; padding-block: 105px; }
.attendee-graphic-intro h1 { margin: 12px 0 25px; color: #fff; font-size: clamp(70px,8.5vw,122px); line-height: .83; letter-spacing: -.055em; text-shadow: 0 22px 55px rgba(0,0,0,.42); }
.attendee-graphic-intro h1 em { color: var(--gold-bright); }
.attendee-graphic-intro > div > p:not(.eyebrow) { max-width: 740px; color: #e4d7d0; font-size: 18px; line-height: 1.8; }
.attendee-security { display: flex; gap: 13px; align-items: flex-start; max-width: 680px; margin-top: 30px; padding: 18px 20px; border-left: 2px solid var(--gold-bright); background: rgba(255,255,255,.055); color: #e3d6cf; line-height: 1.65; }
.attendee-security i { margin-top: 4px; color: var(--gold-bright); }
.attendee-graphic-intro figure { position: relative; width: min(100%,420px); justify-self: center; margin: 0; padding: 13px; background: linear-gradient(145deg, #f2c45f, #5d2a0c 45%, #f2c45f); box-shadow: 0 50px 100px rgba(0,0,0,.54), 18px 20px 0 rgba(255,255,255,.035); transform: perspective(1100px) rotateY(-5deg); }
.attendee-graphic-intro figure::after { content: ''; position: absolute; inset: 23px -19px -19px 23px; z-index: -1; border: 1px solid rgba(226,180,88,.35); }
.attendee-graphic-intro figure img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center; background: #070707; }
.attendee-graphic-intro figcaption { padding: 13px 8px 2px; color: #211009; background: #e9bd5e; font: 800 9px var(--display-sans); letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.attendee-graphic-workspace { padding: 105px 0 125px; background: linear-gradient(180deg,#fff,#f6eee4); }
.attendee-backdrop-showcase { max-width: 1120px; margin: 0 auto 70px; }
.attendee-backdrop-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.65fr); gap: 28px 70px; align-items: end; margin-bottom: 32px; }
.attendee-backdrop-heading .eyebrow { grid-column: 1/-1; margin-bottom: -10px; }
.attendee-backdrop-heading h2 { margin: 0; font-size: clamp(48px,6vw,74px); }
.attendee-backdrop-heading > p:last-child { margin: 0; color: var(--muted); line-height: 1.75; }
.attendee-backdrop-grid { display: grid; grid-template-columns: repeat(2,minmax(0,420px)); justify-content: center; gap: clamp(22px,4vw,46px); }
.attendee-backdrop-grid figure { margin: 0; padding: 9px; background: linear-gradient(145deg,#f3d27a,#5d2a0c 48%,#f3d27a); box-shadow: 0 26px 55px rgba(55,28,13,.2), 9px 10px 0 rgba(93,9,23,.06); transform: perspective(1000px) rotateY(-2deg); }
.attendee-backdrop-grid figure:nth-child(2) { transform: translateY(-12px); }
.attendee-backdrop-grid figure:nth-child(3) { transform: perspective(1000px) rotateY(2deg); }
.attendee-backdrop-grid img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: contain; object-position: center; background: #080607; }
.attendee-backdrop-grid figcaption { padding: 13px 8px 5px; color: #211009; font: 800 10px var(--display-sans); letter-spacing: .11em; text-align: center; text-transform: uppercase; }
.attendee-status-card { display: grid; grid-template-columns: 82px 1fr; gap: 26px; align-items: start; max-width: 980px; margin: 0 auto 45px; padding: 38px 42px; border: 1px solid var(--line); background: #fff; box-shadow: 0 30px 75px rgba(46,24,14,.14), 12px 12px 0 rgba(173,125,48,.08); }
.attendee-status-icon { width: 74px; height: 74px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,#3c0a12,#7a1022); border: 1px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 15px 30px rgba(74,10,24,.28), inset 0 1px rgba(255,255,255,.25); font-size: 24px; }
.attendee-status-card.is-ready .attendee-status-icon { color: #211007; background: linear-gradient(145deg,#f4d47e,#b8781d); }
.attendee-status-card.is-error .attendee-status-icon { background: #75111e; }
.attendee-status-card h2 { margin: 6px 0 10px; font-size: clamp(38px,5vw,57px); }
.attendee-status-card p { margin: 0; color: var(--muted); line-height: 1.75; }
.attendee-status-card dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 25px 0 0; }
.attendee-status-card dl > div { padding: 14px 16px; border: 1px solid var(--line); background: #fbf7f1; }
.attendee-status-card dt { color: var(--oxblood); font: 800 8px var(--display-sans); letter-spacing: .1em; text-transform: uppercase; }
.attendee-status-card dd { margin: 5px 0 0; color: #3e332d; font-weight: 700; overflow-wrap: anywhere; }
.attendee-editor { display: grid; grid-template-columns: minmax(330px,.72fr) minmax(360px,1fr); gap: clamp(36px,6vw,80px); align-items: start; max-width: 1120px; margin: 0 auto; padding: 48px; border: 1px solid rgba(80,42,20,.12); background: #fff; box-shadow: 0 35px 90px rgba(50,27,14,.15); }
.attendee-editor[hidden] { display: none!important; }
.attendee-editor-controls h2 { font-size: clamp(42px,5vw,60px); }
.attendee-backdrop-picker { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 25px 0; padding: 0; border: 0; }
.attendee-backdrop-picker legend { width: 100%; margin-bottom: 10px; color: #423630; font-weight: 800; }
.attendee-backdrop-picker label { position: relative; display: grid; gap: 7px; margin: 0; padding: 7px; border: 1px solid #d8c8b5; background: #fbf7f1; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.attendee-backdrop-picker label.is-selected { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(197,145,46,.25), 0 12px 24px rgba(68,34,12,.12); transform: translateY(-2px); }
.attendee-backdrop-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.attendee-backdrop-picker img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: top; }
.attendee-backdrop-picker span { color: #3f332d; font: 800 8px var(--display-sans); letter-spacing: .07em; text-align: center; text-transform: uppercase; }
.attendee-editor-controls > label { display: grid; gap: 8px; margin-top: 20px; color: #423630; font-weight: 700; }
.attendee-editor input[type="text"] { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #cdbfad; background: #fff; }
.attendee-upload { position: relative; padding: 24px; border: 1px dashed rgba(91,9,23,.42); background: #fcf8f2; }
.attendee-upload input { width: 100%; }
.attendee-upload span { color: var(--muted); font-size: 11px; font-weight: 500; }
.attendee-consent { grid-template-columns: auto 1fr!important; align-items: start; }
.attendee-adjustments { display: grid; gap: 15px; margin-top: 26px; padding: 22px; background: #f8f1e8; }
.attendee-adjustments label { display: grid; grid-template-columns: 110px 1fr; gap: 15px; align-items: center; color: #443730; font-weight: 700; }
.attendee-adjustments input { width: 100%; accent-color: var(--oxblood); }
.attendee-editor-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.attendee-editor-actions button { cursor: pointer; }
.attendee-editor-actions button:disabled { cursor: not-allowed; opacity: .45; }
.attendee-editor-note { margin-top: 18px; color: var(--muted); font-size: 11px; line-height: 1.65; }
.attendee-preview { position: sticky; top: 120px; padding: 12px; background: linear-gradient(145deg,#d7a440,#4f240d,#edc368); box-shadow: 0 35px 75px rgba(40,19,9,.3); }
.attendee-preview canvas { display: block; width: 100%; height: auto; background: #0b0808; }
.attendee-preview-status { margin: 0; padding: 14px 15px 4px; color: #241107; font-size: 12px; font-weight: 700; line-height: 1.5; text-align: center; }
.attendee-return { max-width: 760px; margin: 40px auto 0; padding: 25px 30px; text-align: center; border-top: 1px solid var(--line); color: var(--muted); }
.attendee-return p { margin: 0; }
.attendee-return p + p { margin-top: 4px; }

@media (max-width: 1080px) {
  .media-hero-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .media-feature-grid { gap: 50px; }
  .policy-layout { grid-template-columns: 230px 1fr; gap: 45px; }
  .footer-bottom { gap: 12px; }
}

@media (max-width: 820px) {
  .media-hero, .media-hero-grid { min-height: auto; }
  .media-hero-grid, .media-feature-grid, .safeguarding-grid { grid-template-columns: 1fr; }
  .media-hero-grid { padding-block: 90px; }
  .media-screen { min-height: 360px; transform: none; }
  .media-social-grid { grid-template-columns: 1fr; }
  .media-category-grid { grid-template-columns: 1fr 1fr; }
  .policy-layout { grid-template-columns: 1fr; }
  .policy-layout > aside { position: static; }
  .safeguarding-intro { grid-row: auto; }
  .payment-methods { grid-template-columns: repeat(3, 1fr); }
  .payment-methods > div { grid-column: 1 / -1; }
  .form-progress ol { overflow-x: auto; }
  .footer-policy-links { gap: 7px 12px; }
  .attendee-graphic-hero { min-height: auto; }
  .attendee-graphic-intro { grid-template-columns: 1fr; padding-block: 90px; }
  .attendee-graphic-intro figure { width: min(82vw,420px); transform: none; }
  .attendee-status-card { grid-template-columns: 64px 1fr; padding: 32px 28px; }
  .attendee-status-icon { width: 60px; height: 60px; }
  .attendee-editor { grid-template-columns: 1fr; padding: 34px; }
  .attendee-backdrop-heading { grid-template-columns: 1fr; }
  .attendee-backdrop-heading .eyebrow { grid-column: 1; }
  .attendee-preview { position: static; }
}

@media (max-width: 600px) {
  .media-hero-grid { padding-block: 70px; }
  .media-hero h1 { font-size: clamp(55px, 18vw, 78px); }
  .media-screen { min-height: 310px; padding: 25px; }
  .media-feature, .media-social, .media-archive, .policy-content, .safeguarding-standard { padding-block: 75px; }
  .media-feature-art, .media-feature-art img { min-height: 360px; height: 360px; }
  .media-social-grid > a { grid-template-columns: 57px 1fr; padding: 25px 20px; }
  .media-social-grid > a > span { width: 57px; height: 57px; }
  .media-social-grid > a > i { display: none; }
  .media-category-grid { grid-template-columns: 1fr; }
  .policy-hero { min-height: 390px; }
  .policy-hero h1 { font-size: clamp(51px, 16vw, 72px); }
  .policy-layout > aside, .safeguarding-intro, .safeguarding-rule, .safeguarding-check { padding: 28px 22px; }
  .form-progress { margin: -30px -20px 32px; padding: 24px 20px 21px; }
  .form-progress > div:first-child { align-items: flex-start; flex-direction: column; gap: 5px; }
  .form-progress strong { font-size: 21px; }
  .form-progress ol { grid-template-columns: repeat(5, minmax(75px, 1fr)); }
  [data-form-type="vendor"] .form-progress ol { grid-template-columns: repeat(4, minmax(75px, 1fr)); }
  .form-step-actions { align-items: stretch; flex-direction: column-reverse; }
  .form-step-actions button { width: 100%; }
  .payment-methods { grid-template-columns: 1fr; padding: 20px; }
  .payment-methods > div { grid-column: auto; }
  .confirmation-page { padding: 60px 12px 90px; }
  .confirmation-shell { padding: 40px 20px; }
  .confirmation-shell h1 { font-size: clamp(45px, 14vw, 64px); }
  .confirmation-actions { align-items: stretch; flex-direction: column; }
  .confirmation-attendee { grid-template-columns: 1fr; padding: 24px 20px; }
  .confirmation-attendee .btn-gold { width: 100%; text-align: center; }
  .attendee-graphic-hero::before { inset: 12px; }
  .attendee-graphic-intro { padding: 72px 20px; }
  .attendee-graphic-intro h1 { font-size: clamp(57px,18vw,78px); }
  .attendee-graphic-intro > div > p:not(.eyebrow) { font-size: 16px; }
  .attendee-graphic-intro figure { width: min(88vw,390px); padding: 8px; }
  .attendee-graphic-workspace { padding: 65px 12px 90px; }
  .attendee-status-card { grid-template-columns: 1fr; padding: 28px 22px; }
  .attendee-status-card dl { grid-template-columns: 1fr; }
  .attendee-editor { padding: 27px 20px; }
  .attendee-backdrop-showcase { margin-bottom: 50px; }
  .attendee-backdrop-grid { grid-template-columns: 1fr; gap: 26px; }
  .attendee-backdrop-grid figure, .attendee-backdrop-grid figure:nth-child(2), .attendee-backdrop-grid figure:nth-child(3) { width: min(82vw,360px); margin-inline: auto; transform: none; }
  .attendee-backdrop-picker { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
  .attendee-backdrop-picker label { padding: 4px; }
  .attendee-adjustments label { grid-template-columns: 1fr; gap: 5px; }
  .attendee-editor-actions { flex-direction: column; }
  .attendee-editor-actions button { width: 100%; }
  .footer-policy-links { line-height: 1.7; }
}

@media (prefers-reduced-motion: reduce) {
  .form-progress-track span, .media-social-grid > a, [data-payment-detail] { transition: none!important; }
}

/* Vendor and church affiliation applications */
.application-hero {
  position: relative;
  min-height: 700px;
  display: grid;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 78% 28%, rgba(224,185,104,.18), transparent 24rem),
    linear-gradient(122deg, #12090b 0%, #4a0a14 54%, #170d0b 100%);
  box-shadow: inset 0 -90px 150px rgba(0,0,0,.35), var(--shadow-deep);
}
.application-hero::before {
  content: '';
  position: absolute;
  inset: 27px;
  z-index: -1;
  border: 1px solid rgba(224,185,104,.3);
  box-shadow: inset 0 0 60px rgba(224,185,104,.05);
}
.application-hero::after {
  content: 'BETH-EL';
  position: absolute;
  right: -4vw;
  bottom: -9vw;
  z-index: -2;
  color: rgba(255,255,255,.025);
  font: 700 clamp(130px, 21vw, 330px)/.8 var(--serif);
  letter-spacing: -.07em;
  white-space: nowrap;
}
.application-hero-glow {
  position: absolute;
  inset: -35%;
  z-index: -3;
  background: conic-gradient(from 215deg at 72% 45%, transparent, rgba(224,185,104,.1), transparent 24%);
  filter: blur(25px);
}
.vendor-application-hero { background: radial-gradient(circle at 82% 22%, rgba(209,157,72,.2), transparent 27rem), linear-gradient(125deg, #111015, #451018 58%, #160b09); }
.vendor-art-hero { color: #fff; background: #070606; box-shadow: 0 34px 90px rgba(23,8,7,.32); }
.vendor-art-hero::before { display: none; }
.vendor-art-link { display: block; position: relative; z-index: 1; background: #050404; }
.vendor-art-link picture { display: block; }
.vendor-art-link img { display: block; width: 100%; max-height: 820px; margin: 0 auto; object-fit: contain; background: #050404; }
.vendor-art-command { position: relative; z-index: 2; background: radial-gradient(circle at 85% 10%, rgba(224,185,104,.16), transparent 28rem), linear-gradient(125deg, #12090b, #4c0d17 60%, #170c09); border-top: 1px solid rgba(224,185,104,.42); }
.vendor-art-command > .container { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: center; padding-block: 36px; }
.vendor-art-command h1 { margin: 4px 0 8px; color: #fff; font-size: clamp(40px, 5vw, 64px); line-height: .95; }
.vendor-art-command p:not(.eyebrow) { max-width: 760px; margin: 0; color: #eaded5; font-size: 16px; line-height: 1.65; }
.vendor-art-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 11px; }
.vendor-art-actions a { white-space: nowrap; }
.registration-application-hero { background: radial-gradient(circle at 82% 22%, rgba(224,185,104,.24), transparent 29rem), linear-gradient(125deg, #160a0d, #5a101c 58%, #160b09); }
.affiliation-application-hero { background: radial-gradient(circle at 81% 24%, rgba(224,185,104,.2), transparent 26rem), linear-gradient(125deg, #0f0d0c, #5b0b16 58%, #1c110d); }
.application-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .62fr); gap: clamp(60px, 8vw, 120px); align-items: center; padding-block: 110px; }
.application-hero h1 { margin: 0 0 25px; color: #fff; font-size: clamp(72px, 9vw, 126px); line-height: .82; letter-spacing: -.055em; text-shadow: 0 18px 45px rgba(0,0,0,.35); }
.application-hero h1 em { color: var(--gold-bright); }
.application-hero-grid > div > p:not(.eyebrow) { max-width: 760px; color: #e5d8cf; font-size: 19px; line-height: 1.8; }
.application-hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 32px; }
.application-hero-grid aside { position: relative; padding: 48px 38px 40px; text-align: center; background: linear-gradient(155deg, rgba(255,255,255,.1), rgba(255,255,255,.025)); border: 1px solid rgba(224,185,104,.34); box-shadow: 0 36px 85px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.13); transform: perspective(1000px) rotateY(-4deg); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.application-hero-grid aside::after { content: ''; position: absolute; inset: 10px -10px -10px 10px; z-index: -1; border: 1px solid rgba(224,185,104,.16); }
.application-hero-grid aside img { display: block; width: 155px; height: 155px; object-fit: contain; margin: 0 auto 25px; filter: drop-shadow(0 18px 28px rgba(0,0,0,.42)); }
.application-hero-grid aside span { display: block; color: var(--gold-bright); font: 800 9px/1.5 var(--display-sans); letter-spacing: .14em; text-transform: uppercase; }
.application-hero-grid aside strong { display: block; margin: 11px 0 7px; color: #fff; font: 27px/1.22 var(--serif); }
.application-hero-grid aside p { margin: 0; color: #d4c8bf; font-size: 12px; }
.application-jump { background: #f8f0e5; box-shadow: 0 12px 30px rgba(33,17,10,.09); }
.application-jump a { color: var(--oxblood); }

.application-overview { padding: 110px 0; background: linear-gradient(180deg, #fff, #f6ede2); }
.application-overview-grid { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(330px, .7fr); gap: clamp(60px, 8vw, 110px); align-items: center; }
.application-overview h2 { max-width: 850px; margin-bottom: 28px; font-size: clamp(44px, 5.3vw, 70px); }
.application-overview-grid > div:first-child > p:not(.eyebrow) { max-width: 820px; color: var(--muted); font-size: 17px; line-height: 1.9; }
.application-checklist { position: relative; padding: 42px; background: #fff; border: 1px solid var(--line); box-shadow: 0 27px 70px rgba(47,24,13,.14), 14px 14px 0 rgba(200,154,73,.12); }
.application-checklist h3 { margin-bottom: 25px; font-size: 31px; }
.application-checklist ul { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }
.application-checklist li { position: relative; padding-left: 28px; color: #53483f; line-height: 1.7; }
.application-checklist li::before { content: '\f00c'; position: absolute; left: 0; top: 4px; color: var(--rust); font-family: FontAwesome; }
.covenant-card { text-align: center; background: linear-gradient(155deg, #fff, #f1e2cf); }
.covenant-card img { width: 116px; height: 116px; object-fit: contain; margin-bottom: 16px; filter: drop-shadow(0 14px 22px rgba(56,27,12,.18)); }
.covenant-card p { color: var(--muted); line-height: 1.8; }
.covenant-card a { color: var(--oxblood); font-weight: 800; }

.application-process { padding: 110px 0; color: #fff; background: radial-gradient(circle at 86% 12%, rgba(224,185,104,.12), transparent 25rem), linear-gradient(135deg, #151112, #3a0c13 72%, #17100d); box-shadow: inset 0 1px rgba(255,255,255,.05); }
.process-grid { counter-reset: process; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
.process-grid-five { grid-template-columns: repeat(5, 1fr); }
.process-grid li { min-height: 270px; padding: 34px 28px; background: linear-gradient(155deg, rgba(255,255,255,.085), rgba(255,255,255,.025)); border: 1px solid rgba(224,185,104,.2); box-shadow: 0 24px 55px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.08); }
.process-grid li span { color: var(--gold-bright); font: 700 33px/1 var(--serif); }
.process-grid li h3 { margin: 62px 0 12px; color: #fff; font-size: 28px; }
.process-grid li p { margin: 0; color: #cec0b9; font-size: 13px; line-height: 1.75; }

.requirements-section { padding: 110px 0; background: var(--ivory); }
.requirements-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.requirements-grid article { position: relative; min-height: 300px; padding: 38px; background: #fff; border: 1px solid var(--line); box-shadow: 0 20px 55px rgba(53,27,14,.08); overflow: hidden; }
.requirements-grid article::after { content: ''; position: absolute; right: -52px; bottom: -52px; width: 125px; height: 125px; border: 1px solid rgba(200,154,73,.2); border-radius: 50%; }
.requirements-grid i { color: var(--rust); font-size: 30px; }
.requirements-grid h3 { margin: 50px 0 12px; font-size: 30px; }
.requirements-grid p { color: var(--muted); line-height: 1.75; }

.application-form-section { padding: 115px 0; background: linear-gradient(180deg, #f6ecdf, #fff 28%, #f8f1e8); scroll-margin-top: 100px; }
.application-form-heading { display: grid; grid-template-columns: 1fr 320px; gap: 80px; align-items: end; margin-bottom: 48px; }
.application-form-heading h2 { max-width: 900px; font-size: clamp(44px, 5vw, 67px); }
.application-form-heading > div > p:last-child { max-width: 760px; color: var(--muted); }
.application-form-heading aside { display: grid; grid-template-columns: 35px 1fr; gap: 15px; padding: 27px; color: #fff; background: linear-gradient(140deg, var(--oxblood), #2c1116); box-shadow: 0 23px 55px rgba(39,16,13,.22); }
.application-form-heading aside i { color: var(--gold-bright); font-size: 24px; }
.application-form-heading aside p { margin: 0; color: #e2d3c9; font-size: 12px; line-height: 1.7; }
.application-form-heading aside div { display: grid; gap: 11px; min-width: 0; }
.application-form-heading aside strong { color: #fff; font-size: 15px; }
.application-form-heading aside a { color: var(--gold-bright); overflow-wrap: anywhere; }
.application-form { position: relative; padding: 48px; box-shadow: 0 32px 90px rgba(43,21,10,.13), 0 1px 0 #fff inset; }
.application-form::before { content: ''; position: absolute; inset: 12px; z-index: 0; pointer-events: none; border: 1px solid rgba(200,154,73,.12); }
.application-form > * { position: relative; z-index: 1; }
.application-choice-group { background: #fbf7f1; border: 1px solid #e0d5c7 !important; padding: 24px !important; }
.application-choice-group legend { padding-top: 0; }
.choice-error { width: 100%; margin: 0; color: #8e111c; font-weight: 800; }
.application-agreement { margin: 22px 0; padding: 22px 25px; color: #4e4038; background: #f4e8d9; border-left: 4px solid var(--gold); }
.application-agreement p { margin: 0; font-size: 13px; line-height: 1.75; }
.commitment-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 30px; }
.commitment-list label { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; padding: 20px; background: #fbf7f1; border: 1px solid #ded3c6; color: #4d423b; font-size: 13px; line-height: 1.65; }
.commitment-list input { margin-top: 5px; }
.page-vendors .footer-callout, .page-join-beth-el .footer-callout { margin-top: 0; }

@media (hover: hover) and (pointer: fine) {
  .requirements-grid article, .process-grid li, .application-checklist { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
  .requirements-grid article:hover, .process-grid li:hover, .application-checklist:hover { transform: translateY(-7px); border-color: rgba(200,154,73,.48); box-shadow: 0 33px 80px rgba(45,22,10,.16); }
}

@media (max-width: 1100px) {
  .vendor-art-command > .container { grid-template-columns: 1fr; gap: 24px; }
  .vendor-art-actions { justify-content: flex-start; }
  .application-hero-grid { grid-template-columns: 1fr minmax(290px, .55fr); gap: 55px; }
  .application-hero h1 { font-size: 82px; }
  .process-grid-five { grid-template-columns: repeat(3, 1fr); }
  .process-grid-five li:nth-last-child(-n+2) { min-height: 235px; }
  .application-form-heading { gap: 45px; }
}

@media (max-width: 860px) {
  .vendor-art-link img { max-height: none; object-fit: cover; }
  .application-hero { min-height: auto; }
  .application-hero-grid, .application-overview-grid, .application-form-heading { grid-template-columns: 1fr; }
  .application-hero-grid { gap: 50px; padding-block: 88px; }
  .application-hero-grid aside { max-width: 520px; transform: none; }
  .application-overview-grid { gap: 50px; }
  .application-checklist { max-width: 620px; }
  .process-grid, .process-grid-five { grid-template-columns: 1fr 1fr; }
  .requirements-grid { grid-template-columns: 1fr 1fr; }
  .application-form-heading { gap: 28px; }
  .application-form-heading aside { max-width: 520px; }
  .commitment-list { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .vendor-art-command > .container { padding-block: 30px; }
  .vendor-art-command h1 { font-size: 40px; }
  .vendor-art-command p:not(.eyebrow) { font-size: 15px; }
  .vendor-art-actions { display: grid; grid-template-columns: 1fr; }
  .vendor-art-actions a { width: 100%; white-space: normal; }
  .application-hero::before { inset: 14px; }
  .application-hero-grid { gap: 38px; padding-block: 70px; }
  .application-hero h1 { font-size: clamp(54px, 17vw, 70px); }
  .application-hero-grid > div > p:not(.eyebrow) { font-size: 16px; }
  .application-hero-actions { display: grid; grid-template-columns: 1fr; }
  .application-hero-actions a { width: 100%; }
  .application-hero-grid aside { padding: 35px 24px; }
  .application-hero-grid aside img { width: 125px; height: 125px; }
  .application-overview, .application-process, .requirements-section, .application-form-section { padding: 78px 0; }
  .application-checklist { padding: 30px 25px; box-shadow: 0 22px 55px rgba(47,24,13,.13), 7px 7px 0 rgba(200,154,73,.12); }
  .process-grid, .process-grid-five, .requirements-grid { grid-template-columns: 1fr; }
  .process-grid li, .process-grid-five li { min-height: 0; }
  .process-grid li h3 { margin-top: 40px; }
  .requirements-grid article { min-height: 0; padding: 31px 26px; }
  .requirements-grid h3 { margin-top: 38px; }
  .application-form { padding: 30px 20px; }
  .application-form::before { inset: 7px; }
  .application-choice-group { display: grid !important; gap: 14px !important; padding: 20px !important; }
  .application-choice-group .choice { align-items: flex-start; }
  .commitment-list label { padding: 17px; }
}


/* Editorial and responsive quality pass — 2026-08-25 */
main,
main > section,
main .container,
main .container > * { min-width: 0; }

.events-hero {
  min-height: 470px;
  display: grid;
  align-items: center;
  padding: clamp(96px, 9vw, 140px) 0;
}
.events-hero-grid { align-items: center; }
.events-hero h1 {
  margin: 0;
  padding: .08em 0 .12em;
  overflow: visible;
  line-height: .9;
}
.calendar-note { max-width: 430px; }
.calendar-note p { margin-bottom: 0; }
.upcoming-date {
  max-width: 760px;
  color: #eadfd5;
  font-size: 18px;
  line-height: 1.65;
}
.upcoming-theme {
  margin: 26px 0 0;
  color: #fff;
  font: 32px/1.2 var(--serif);
}
.upcoming-theme strong { color: var(--gold-bright); }
.upcoming-grid > div:last-child h3 {
  margin: 20px 0 24px;
  color: #fff;
  font-size: 28px;
  line-height: 1.25;
}
.upcoming-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.news-grid-single { grid-template-columns: minmax(0, 780px); }
.news-grid-single article { min-height: 280px; }

img,
video,
iframe { max-width: 100%; }
input,
select,
textarea { max-width: 100%; }
address,
.contact-phone,
.directory-card,
.registrar-contact,
.hotel-copy { overflow-wrap: anywhere; }

@media (max-width: 820px) {
  .events-hero {
    min-height: 0;
    padding: 88px 0 92px;
  }
  .events-hero-grid { gap: 44px; }
  .events-hero h1 { font-size: clamp(60px, 12vw, 86px); }
  .calendar-note { max-width: 620px; padding-left: 24px; }
  .event-center .section-heading { margin-bottom: 44px; }
  .upcoming-grid { gap: 46px; }
  .upcoming-grid > div:last-child { padding: 34px; }
  .upcoming-actions { align-items: stretch; }
  .upcoming-actions a { flex: 1 1 180px; }
  .news-grid-single { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .container { width: calc(100% - 32px); }
  .section-heading { margin-bottom: 38px; }
  .section-heading h2 { font-size: clamp(38px, 12vw, 48px); }
  .events-hero { padding: 70px 0 74px; }
  .events-hero-grid { gap: 34px; }
  .events-hero h1 { font-size: clamp(48px, 15vw, 62px); line-height: .92; }
  .calendar-note { padding-left: 19px; }
  .calendar-note span { font-size: 46px; }
  .calendar-note p { font-size: 15px; line-height: 1.7; }
  .event-list { gap: 22px; }
  .event-list article { min-height: 0; }
  .event-date { min-height: 92px; padding: 18px 20px; }
  .event-list article > div:last-child { padding: 28px 24px 32px; }
  .event-list h3 { font-size: 31px; overflow-wrap: normal; }
  .upcoming-panel { padding: 76px 0 88px; }
  .upcoming-grid { gap: 34px; }
  .upcoming-grid h2 { font-size: clamp(42px, 13vw, 52px); }
  .upcoming-date { font-size: 16px; }
  .upcoming-theme { font-size: 28px; }
  .upcoming-grid > div:last-child { padding: 28px 24px; }
  .upcoming-grid > div:last-child h3 { font-size: 25px; }
  .upcoming-actions { display: grid; grid-template-columns: 1fr; }
  .upcoming-actions a { width: 100%; }
  .news-grid-single article { min-height: 0; }
  .officeholders-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .officeholder-portrait:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 4.5px);
    justify-self: center;
  }
  .officeholder-portrait-detailed {
    grid-column: 1 / -1;
    aspect-ratio: 16 / 10;
  }
  .form-grid,
  .form-grid.four { grid-template-columns: 1fr; }
  .registration-heading aside { width: 100%; }
  .registration-inclusions article { grid-template-columns: 48px minmax(0, 1fr); gap: 16px; min-height: 0; padding: 24px 20px; }
  .registration-inclusion-icon { width: 48px; height: 48px; }
  .registration-inclusions h3 { font-size: 24px; }
  .contact-phone { font-size: clamp(25px, 9vw, 31px); }
}


/* Holy Convocation feature contrast correction */
.upcoming-grid > div:last-child {
  color: #fff;
  background:
    radial-gradient(circle at 82% 15%, rgba(224,185,104,.15), transparent 18rem),
    linear-gradient(145deg, #2a1717, #100d0c);
  border-color: rgba(224,185,104,.35);
  box-shadow: 0 28px 70px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.08);
}
.upcoming-grid > div:last-child > i { color: var(--gold-bright); }
.upcoming-grid > div:last-child h3 { color: #fff; }


/* Registrar telephone link accessibility correction */
.registrar-contact a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}


/* Cinematic apostolic-succession opening — homepage */
.legacy-intro[hidden] { display: none; }
.legacy-intro {
  --legacy-gold: #e7bd68;
  --legacy-gold-deep: #9d681d;
  --legacy-wine: #5b0b16;
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: clamp(760px, calc(100svh - 90px), 940px);
  overflow: hidden;
  color: #fff8e9;
  background:
    radial-gradient(circle at 50% 46%, rgba(97,16,25,.34), transparent 31%),
    linear-gradient(145deg, #050505 0%, #14070a 48%, #030303 100%);
  opacity: 0;
  perspective: 1400px;
  transition: opacity 1.35s cubic-bezier(.2,.7,.2,1), visibility 1.35s ease;
}
.legacy-intro.is-mounted { opacity: 1; }
.legacy-intro.is-leaving {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition-duration: 1.15s;
}
.legacy-intro.is-settled { opacity: 1; visibility: visible; }
.legacy-intro::before {
  content: '';
  position: absolute;
  z-index: 8;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
.legacy-intro::after {
  content: '';
  position: absolute;
  z-index: 7;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.62), transparent 18%, transparent 82%, rgba(0,0,0,.62)),
    linear-gradient(180deg, rgba(0,0,0,.64), transparent 19%, transparent 75%, rgba(0,0,0,.82));
  box-shadow: inset 0 0 150px rgba(0,0,0,.82);
}
.legacy-intro-atmosphere,
.legacy-light,
.legacy-horizon,
.legacy-curtain { position: absolute; pointer-events: none; }
.legacy-intro-atmosphere { z-index: 0; inset: 0; }
.legacy-light {
  top: -26%;
  width: 42vw;
  height: 124vh;
  opacity: .32;
  filter: blur(20px);
  background: linear-gradient(180deg, rgba(255,229,165,.48), rgba(184,113,29,.08) 46%, transparent 76%);
  clip-path: polygon(48% 0, 54% 0, 94% 100%, 0 100%);
  transition: opacity 2.4s ease, transform 4.4s cubic-bezier(.16,.72,.2,1);
}
.legacy-light-one { left: 4%; transform: rotate(-12deg) translateX(-25%); }
.legacy-light-two { right: 3%; transform: rotate(12deg) translateX(25%); }
.legacy-intro.is-seal .legacy-light-one { transform: rotate(-5deg) translateX(0); }
.legacy-intro.is-seal .legacy-light-two { transform: rotate(5deg) translateX(0); }
.legacy-horizon {
  left: 50%;
  bottom: 11%;
  width: min(76vw, 1100px);
  height: 1px;
  transform: translateX(-50%) scaleX(0);
  background: linear-gradient(90deg, transparent, rgba(231,189,104,.72), transparent);
  box-shadow: 0 0 35px rgba(231,189,104,.5);
  transition: transform 2.35s cubic-bezier(.16,.72,.2,1);
}
.legacy-intro.is-lineage .legacy-horizon,
.legacy-intro.is-current .legacy-horizon { transform: translateX(-50%) scaleX(1); }
.legacy-curtain {
  z-index: 6;
  top: 0;
  bottom: 0;
  width: 51%;
  opacity: .86;
  background:
    linear-gradient(90deg, rgba(255,255,255,.022), transparent 16%, rgba(255,255,255,.015) 17%, transparent 36%),
    linear-gradient(140deg, #080506, #24070c 55%, #070506);
  box-shadow: inset 0 0 90px rgba(0,0,0,.6);
  transition: transform 2.35s cubic-bezier(.62,0,.16,1), opacity 1.8s ease;
}
.legacy-curtain-left { left: 0; transform-origin: left center; border-right: 1px solid rgba(231,189,104,.2); }
.legacy-curtain-right { right: 0; transform-origin: right center; border-left: 1px solid rgba(231,189,104,.2); }
.legacy-intro.is-mounted .legacy-curtain-left { transform: translateX(-97%); }
.legacy-intro.is-mounted .legacy-curtain-right { transform: translateX(97%); }
.legacy-intro.is-leaving .legacy-curtain-left { transform: translateX(-110%); opacity: 0; }
.legacy-intro.is-leaving .legacy-curtain-right { transform: translateX(110%); opacity: 0; }
.legacy-skip {
  position: absolute;
  z-index: 12;
  top: max(24px, env(safe-area-inset-top));
  right: max(26px, env(safe-area-inset-right));
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 9px 14px;
  color: #f7e7c2;
  border: 1px solid rgba(231,189,104,.42);
  background: rgba(6,5,5,.5);
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  font: 700 10px/1 var(--display-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .25s ease, background .25s ease, transform .25s ease;
}
.legacy-skip:hover,
.legacy-skip:focus-visible { color: #1a0d0b; background: var(--legacy-gold); transform: translateY(-2px); }
.legacy-intro.is-settled .legacy-skip {
  color: #fff3d8;
  background: rgba(59,10,16,.72);
  border-color: rgba(231,189,104,.62);
}
.legacy-seal-stage {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: min(52vw, 470px);
  height: min(52vw, 470px);
  opacity: 0;
  transform: translate(-50%, -50%) translateZ(-180px) scale(.56);
  transform-style: preserve-3d;
  transition: opacity 1.9s ease, transform 2.5s cubic-bezier(.16,.72,.16,1), filter 2s ease;
}
.legacy-intro.is-seal .legacy-seal-stage {
  opacity: 1;
  transform: translate(-50%, -50%) translateZ(0) scale(1);
}
.legacy-intro.is-lineage .legacy-seal-stage {
  opacity: .44;
  transform: translate(-50%, -90%) translateZ(-140px) scale(.43);
  filter: blur(.25px) saturate(.76);
}
.legacy-intro.is-current .legacy-seal-stage {
  top: 50%;
  left: 75%;
  opacity: .11;
  transform: translate(-50%, -50%) translateZ(-210px) scale(1.24);
  filter: grayscale(.35) blur(.4px);
}
.legacy-seal-stage img {
  position: absolute;
  z-index: 3;
  inset: 11%;
  width: 78%;
  height: 78%;
  object-fit: contain;
  filter: drop-shadow(0 26px 48px rgba(0,0,0,.66)) drop-shadow(0 0 30px rgba(231,189,104,.18));
}
.legacy-seal-stage > p,
.legacy-seal-stage > span {
  position: absolute;
  z-index: 4;
  left: 50%;
  width: max-content;
  margin: 0;
  opacity: 0;
  transform: translateX(-50%) translateY(12px);
  transition: opacity .8s ease 1s, transform .8s ease 1s;
}
.legacy-seal-stage > p {
  bottom: -4%;
  color: #fff8eb;
  font: 600 clamp(24px, 3vw, 42px)/1 var(--serif);
  letter-spacing: .025em;
}
.legacy-seal-stage > span {
  bottom: -11%;
  color: var(--legacy-gold);
  font: 700 9px/1 var(--display-sans);
  letter-spacing: .27em;
  text-transform: uppercase;
}
.legacy-intro.is-seal .legacy-seal-stage > p,
.legacy-intro.is-seal .legacy-seal-stage > span { opacity: 1; transform: translateX(-50%) translateY(0); }
.legacy-intro.is-lineage .legacy-seal-stage > p,
.legacy-intro.is-lineage .legacy-seal-stage > span,
.legacy-intro.is-current .legacy-seal-stage > p,
.legacy-intro.is-current .legacy-seal-stage > span { opacity: 0; transition-delay: 0s; }
.legacy-seal-orbit {
  position: absolute;
  z-index: 1;
  border: 1px solid rgba(231,189,104,.38);
  border-radius: 50%;
  box-shadow: inset 0 0 34px rgba(231,189,104,.05), 0 0 24px rgba(231,189,104,.08);
}
.legacy-seal-orbit-one { inset: 2%; transform: rotateX(68deg) rotateZ(0); }
.legacy-seal-orbit-two { inset: 18%; transform: rotateY(68deg) rotateZ(0); }
.legacy-intro.is-seal .legacy-seal-orbit-one { animation: legacy-orbit-one 9s linear infinite; }
.legacy-intro.is-seal .legacy-seal-orbit-two { animation: legacy-orbit-two 7s linear infinite reverse; }
.legacy-seal-beam {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 78%;
  height: 78%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(231,189,104,.18), rgba(91,11,22,.08) 45%, transparent 69%);
  box-shadow: 0 0 100px rgba(231,189,104,.16);
}
@keyframes legacy-orbit-one { to { transform: rotateX(68deg) rotateZ(360deg); } }
@keyframes legacy-orbit-two { to { transform: rotateY(68deg) rotateZ(360deg); } }
.legacy-lineage {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: clamp(58px, 8vh, 96px);
  width: min(1120px, calc(100vw - 72px));
  opacity: 0;
  transform: translate(-50%, 45px) rotateX(9deg);
  transform-origin: bottom center;
  transition: opacity 1.55s ease, transform 1.95s cubic-bezier(.16,.72,.2,1), filter 1.7s ease;
}
.legacy-intro.is-lineage .legacy-lineage { opacity: 1; transform: translate(-50%, 0) rotateX(0); }
.legacy-intro.is-current .legacy-lineage {
  opacity: .48;
  transform: translate(-50%, 6%) translateZ(-165px) scale(.9);
  filter: blur(.35px) saturate(.7);
}
.legacy-lineage-heading {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 17px;
  color: var(--legacy-gold);
  font: 700 9px/1 var(--display-sans);
  letter-spacing: .28em;
  text-transform: uppercase;
}
.legacy-lineage-heading b { height: 1px; flex: 1; background: linear-gradient(90deg, rgba(231,189,104,.6), transparent); }
.legacy-lineage-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 26px); }
.legacy-leader {
  position: relative;
  display: grid;
  grid-template-columns: minmax(110px, .72fr) 1fr;
  align-items: end;
  min-height: clamp(190px, 24vh, 270px);
  overflow: hidden;
  opacity: 0;
  transform: translateY(34px) rotateY(-8deg) scale(.94);
  transform-origin: bottom center;
  background: linear-gradient(145deg, rgba(42,12,17,.94), rgba(7,7,8,.96));
  border: 1px solid rgba(231,189,104,.24);
  box-shadow: 0 28px 65px rgba(0,0,0,.46), inset 0 1px rgba(255,255,255,.055);
  transition: opacity 1.3s ease, transform 1.65s cubic-bezier(.16,.72,.16,1), filter 1.25s ease, border-color 1.25s ease;
}
.legacy-leader::after {
  content: '';
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 35%, rgba(255,230,168,.11) 48%, transparent 59%);
  transform: translateX(-120%);
  transition: transform 1.1s ease .15s;
}
.legacy-leader.is-active,
.legacy-leader.is-past { opacity: 1; transform: translateY(0) rotateY(0) scale(1); }
.legacy-leader.is-active { border-color: rgba(231,189,104,.72); filter: saturate(1.08); }
.legacy-leader.is-active::after { transform: translateX(120%); }
.legacy-leader.is-past { filter: saturate(.7) brightness(.76); }
.legacy-leader-frame { position: absolute; inset: 0 47% 0 0; overflow: hidden; }
.legacy-leader-frame::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 48%, rgba(8,7,8,.98)), linear-gradient(180deg, transparent 54%, rgba(8,7,8,.8)); }
.legacy-leader-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; filter: contrast(1.03) saturate(.82); }
.legacy-leader-copy { position: relative; z-index: 2; grid-column: 2; padding: 24px 22px 25px 4px; }
.legacy-leader-copy > span { color: var(--legacy-gold); font: 700 8px/1.35 var(--display-sans); letter-spacing: .16em; text-transform: uppercase; }
.legacy-leader-copy h2 { margin: 11px 0 7px; color: #fff9ed; font: 600 clamp(19px, 1.8vw, 29px)/.98 var(--serif); }
.legacy-leader-copy p { margin: 0; color: #d9cdbd; font: 600 9px/1.45 var(--display-sans); letter-spacing: .06em; text-transform: uppercase; }
.legacy-current {
  position: absolute;
  z-index: 5;
  inset: clamp(72px, 8vh, 96px) clamp(42px, 8vw, 150px) clamp(320px, 43vh, 420px);
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(380px, 1.18fr);
  align-items: center;
  gap: clamp(46px, 7vw, 108px);
  opacity: 0;
  visibility: hidden;
  transform: translateZ(160px) scale(1.08);
  transition: opacity 1.85s ease, transform 2.35s cubic-bezier(.16,.72,.16,1), visibility 0s linear 1.85s;
}
.legacy-intro.is-current .legacy-current {
  opacity: 1;
  visibility: visible;
  transform: translateZ(0) scale(1);
  transition-delay: .28s, .28s, 0s;
}
.legacy-intro.is-settled .legacy-current { opacity: 1; visibility: visible; transform: translateZ(0) scale(1); }
.legacy-intro.is-settled .legacy-current-portrait { transform: rotateY(2deg); transition: transform 2.2s ease; }
.legacy-intro.is-settled .legacy-light { opacity: .2; }
.legacy-current-portrait { position: relative; align-self: stretch; min-height: 0; transform: rotateY(7deg); transform-origin: right center; }
.legacy-current-portrait::before {
  content: '';
  position: absolute;
  inset: 12% -10% 3%;
  border: 0;
  border-radius: 48% 48% 18% 18%;
  background: radial-gradient(ellipse at 50% 48%, rgba(231,189,104,.17), rgba(91,11,22,.08) 44%, transparent 72%);
  box-shadow: none;
  filter: blur(18px);
}
.legacy-current-portrait::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 58%, transparent 44%, rgba(7,5,6,.18) 82%, transparent 100%);
  box-shadow: none;
}
.legacy-current-portrait > span { position: absolute; z-index: -1; inset: -12%; background: radial-gradient(circle, rgba(231,189,104,.22), transparent 65%); filter: blur(18px); }
.legacy-current-portrait img {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: 0;
  width: min(34vw, 440px);
  max-width: 100%;
  max-height: 100%;
  height: auto;
  object-fit: contain;
  transform: translateX(-50%);
  filter: contrast(1.04) saturate(.92) drop-shadow(0 30px 38px rgba(0,0,0,.5));
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 50%, rgba(0,0,0,.75) 60%, rgba(0,0,0,.24) 70%, transparent 82%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 50%, rgba(0,0,0,.75) 60%, rgba(0,0,0,.24) 70%, transparent 82%);
}
.legacy-current-copy { position: relative; max-width: 680px; text-shadow: 0 10px 36px rgba(0,0,0,.7); }
.legacy-current-copy > p { margin: 0 0 17px; color: var(--legacy-gold); font: 700 10px/1 var(--display-sans); letter-spacing: .28em; text-transform: uppercase; }
.legacy-current-copy h2 { margin: 0; color: #fff9ed; font: 600 clamp(48px, 6vw, 92px)/.84 var(--serif); letter-spacing: -.035em; text-wrap: balance; }
.legacy-current-copy > strong { display: block; margin-top: 22px; color: #f2dbc0; font: 600 clamp(13px, 1.2vw, 17px)/1 var(--display-sans); letter-spacing: .16em; text-transform: uppercase; }
.legacy-current-rule { display: block; width: 86px; height: 1px; margin: 29px 0 25px; background: var(--legacy-gold); box-shadow: 0 0 16px rgba(231,189,104,.55); }
.legacy-current-copy blockquote { max-width: 530px; margin: 0; padding: 0; color: #dcd1c3; border: 0; font: italic 500 clamp(19px, 2vw, 28px)/1.35 var(--serif); }
.legacy-current-copy cite { display: inline; color: var(--legacy-gold); font: 700 9px/1 var(--display-sans); letter-spacing: .12em; text-transform: uppercase; }
.legacy-intro-wordmark {
  position: absolute;
  z-index: 9;
  left: max(26px, env(safe-area-inset-left));
  bottom: max(22px, env(safe-area-inset-bottom));
  display: flex;
  align-items: baseline;
  gap: 10px;
  opacity: .72;
}
.legacy-intro-wordmark span { color: #fff5e3; font: 600 20px/1 var(--serif); }
.legacy-intro-wordmark small { color: var(--legacy-gold); font: 700 7px/1 var(--display-sans); letter-spacing: .19em; text-transform: uppercase; }
.legacy-replay { min-height: 47px; cursor: pointer; font-family: var(--display-sans); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.legacy-replay i { margin-right: 7px; font-size: 9px; }

@media (max-width: 980px) {
  .legacy-seal-stage { width: min(62vw, 430px); height: min(62vw, 430px); }
  .legacy-lineage { width: calc(100vw - 42px); bottom: 76px; }
  .legacy-lineage-grid { gap: 10px; }
  .legacy-leader { display: block; min-height: 300px; }
  .legacy-leader-frame { inset: 0; }
  .legacy-leader-frame::after { background: linear-gradient(180deg, transparent 36%, rgba(8,7,8,.98) 78%); }
  .legacy-leader-copy { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; padding: 80px 18px 20px; }
  .legacy-leader-copy h2 { font-size: clamp(18px, 3vw, 27px); }
  .legacy-intro.is-current .legacy-lineage {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 10%) translateZ(-190px) scale(.88);
  }
  .legacy-current { inset: 78px 6vw 62px; grid-template-columns: .82fr 1.18fr; gap: 48px; }
  .legacy-current-portrait img { bottom: 0; width: min(38vw, 380px); }
  .legacy-current-copy h2 { font-size: clamp(48px, 7.5vw, 76px); }
}

@media (max-width: 700px) {
  .legacy-intro { min-height: max(760px, calc(100svh - 72px)); }
  .legacy-skip { top: max(14px, env(safe-area-inset-top)); right: max(14px, env(safe-area-inset-right)); }
  .legacy-seal-stage { width: min(82vw, 370px); height: min(82vw, 370px); }
  .legacy-seal-stage > p { bottom: -2%; font-size: clamp(23px, 7vw, 31px); }
  .legacy-seal-stage > span { bottom: -10%; }
  .legacy-intro.is-lineage .legacy-seal-stage { top: 24%; transform: translate(-50%, -50%) translateZ(-140px) scale(.38); }
  .legacy-lineage { bottom: 70px; width: calc(100vw - 24px); }
  .legacy-lineage-heading { margin: 0 5px 12px; }
  .legacy-lineage-grid { gap: 6px; }
  .legacy-leader { min-height: clamp(265px, 45vh, 390px); }
  .legacy-leader-copy { padding: 70px 9px 14px; }
  .legacy-leader-copy > span { font-size: 6px; letter-spacing: .09em; }
  .legacy-leader-copy h2 { margin: 7px 0 5px; font-size: clamp(14px, 4.2vw, 20px); }
  .legacy-leader-copy p { font-size: 6px; letter-spacing: .03em; }
  .legacy-intro.is-current .legacy-lineage { opacity: 0; visibility: hidden; }
  .legacy-intro.is-current .legacy-seal-stage { top: 24%; left: 50%; opacity: .08; transform: translate(-50%, -50%) translateZ(-190px) scale(.82); }
  .legacy-current {
    inset: 62px 18px 56px;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 55%) auto;
    gap: 24px;
    text-align: center;
  }
  .legacy-current-portrait { width: min(72vw, 330px); justify-self: center; transform: none; }
  .legacy-current-portrait::before { inset: 7% -7% 1%; }
  .legacy-current-portrait img { left: 50%; bottom: 0; width: min(92vw, 410px); }
  .legacy-current-copy { align-self: start; }
  .legacy-current-copy > p { margin-bottom: 9px; font-size: 7px; }
  .legacy-current-copy h2 { font-size: clamp(37px, 11.8vw, 56px); line-height: .86; }
  .legacy-current-copy > strong { margin-top: 13px; font-size: 9px; }
  .legacy-current-rule { margin: 16px auto 13px; }
  .legacy-current-copy blockquote { font-size: clamp(15px, 4.5vw, 21px); }
  .legacy-current-copy cite { display: block; margin-top: 5px; font-size: 6px; }
  .legacy-intro-wordmark { left: 14px; bottom: max(13px, env(safe-area-inset-bottom)); }
  .legacy-intro-wordmark span { font-size: 16px; }
  .legacy-intro-wordmark small { font-size: 5px; }
}

@media (max-width: 430px) {
  .legacy-intro { min-height: max(720px, calc(100svh - 68px)); }
  .legacy-lineage { bottom: 58px; }
  .legacy-leader { min-height: clamp(230px, 39vh, 330px); }
  .legacy-leader-frame img { object-position: center 16%; }
  .legacy-leader-copy h2 { font-size: clamp(13px, 4vw, 17px); }
  .legacy-current { inset-inline: 14px; grid-template-rows: minmax(0, 53%) auto; }
  .legacy-current-portrait { width: min(66vw, 285px); }
  .legacy-current-portrait img { width: min(88vw, 370px); }
  .legacy-current-copy h2 { font-size: clamp(35px, 11vw, 48px); }
  .legacy-current-copy blockquote { display: none; }
  .legacy-current-rule { margin-bottom: 0; }
  .hero-actions { max-width: 280px; }
}

@media (prefers-reduced-motion: reduce) {
  .legacy-intro:not(.legacy-preview-motion) *,
  .legacy-intro:not(.legacy-preview-motion) *::before,
  .legacy-intro:not(.legacy-preview-motion) *::after { animation: none!important; }
  .legacy-intro:not(.legacy-preview-motion),
  .legacy-intro:not(.legacy-preview-motion) *,
  .legacy-intro:not(.legacy-preview-motion) *::before,
  .legacy-intro:not(.legacy-preview-motion) *::after { transition-duration: .01ms!important; transition-delay: 0ms!important; }
}

/* Responsive navigation visibility and Beth-El seal treatment */
@media (max-width: 1080px) {
  .site-header,
  .site-header.is-scrolled {
    z-index: 1000;
    background: rgba(255, 253, 248, .985);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    isolation: isolate;
  }

  .nav-toggle {
    position: relative;
    z-index: 1002;
    display: grid;
    place-items: center;
    color: var(--oxblood);
    background: linear-gradient(145deg, #fffefa, #eadbc6);
    border: 1px solid rgba(104, 21, 27, .28);
    border-radius: 50%;
    box-shadow: 0 12px 28px rgba(31, 15, 10, .18), inset 0 1px rgba(255, 255, 255, .95);
  }

  .nav-toggle i { position: relative; z-index: 1; }

  .primary-nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    z-index: 1001;
    width: min(430px, 92vw);
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    padding: 124px 34px max(42px, env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    color: #fff;
    background: linear-gradient(150deg, #0d090a 0%, #3a0d16 53%, #120a0c 100%);
    border-left: 1px solid rgba(224, 185, 104, .32);
    box-shadow: -35px 0 90px rgba(0, 0, 0, .58), inset 1px 0 rgba(255, 255, 255, .08);
    isolation: isolate;
    transform: translate3d(104%, 0, 0);
    transform-origin: right center;
    opacity: 1;
    visibility: hidden;
    pointer-events: none;
    transition: transform .42s cubic-bezier(.2, .76, .2, 1), visibility 0s linear .42s;
  }

  .primary-nav::before {
    content: '';
    position: absolute;
    inset: 11% -8% 2% 2%;
    z-index: 0;
    pointer-events: none;
    background: url('../images/Beth-El Seal_Transp.png') center 64% / 82% auto no-repeat;
    opacity: .19;
    filter: blur(2.25px) saturate(.78) drop-shadow(0 28px 45px rgba(0, 0, 0, .48));
    transform: scale(1.035);
  }

  .primary-nav::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(9, 6, 7, .96) 0%, rgba(27, 8, 12, .67) 28%, rgba(16, 8, 10, .34) 57%, rgba(8, 6, 7, .92) 100%),
      radial-gradient(circle at 50% 54%, rgba(224, 185, 104, .13), transparent 48%);
  }

  .nav-open .primary-nav {
    transform: translate3d(0, 0, 0);
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }

  .primary-nav ul {
    position: relative;
    z-index: 2;
    display: grid;
    align-content: start;
    gap: 7px;
  }

  .primary-nav a {
    padding: 13px 16px;
    color: #fff;
    background: linear-gradient(90deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .018));
    border: 1px solid rgba(255, 255, 255, .1);
    border-left-color: rgba(224, 185, 104, .45);
    border-radius: 2px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .13), inset 0 1px rgba(255, 255, 255, .04);
    font-size: 13px;
    letter-spacing: .105em;
    text-shadow: 0 3px 10px rgba(0, 0, 0, .78);
  }

  .primary-nav a:hover,
  .primary-nav a:focus-visible {
    color: #fff;
    background: linear-gradient(90deg, rgba(224, 185, 104, .23), rgba(255, 255, 255, .055));
    border-color: rgba(224, 185, 104, .44);
  }

  .primary-nav a[aria-current='page'] {
    color: #ffe1a3;
    background: linear-gradient(90deg, rgba(104, 21, 27, .84), rgba(224, 185, 104, .12));
    border-color: rgba(224, 185, 104, .52);
    box-shadow: inset 3px 0 var(--gold-bright), 0 12px 28px rgba(0, 0, 0, .2);
  }

  .primary-nav a[href='give.html'] {
    margin-top: 7px;
    padding: 14px 18px;
    color: #21160e;
    background: linear-gradient(135deg, #efd184, #c68e32);
    border-color: #efd184;
    text-align: center;
    text-shadow: none;
  }

  .nav-open .nav-toggle {
    position: fixed;
    z-index: 1003;
    right: max(25px, env(safe-area-inset-right));
    top: max(58px, env(safe-area-inset-top));
    color: #fff;
    background: rgba(24, 9, 13, .86);
    border-color: rgba(224, 185, 104, .62);
    box-shadow: 0 15px 36px rgba(0, 0, 0, .42), inset 0 0 0 1px rgba(255, 255, 255, .06);
  }
}

@media (max-width: 560px) {
  .primary-nav {
    width: min(370px, 94vw);
    padding: 105px 20px max(30px, env(safe-area-inset-bottom));
  }

  .primary-nav::before {
    inset: 15% -13% 2% -2%;
    background-size: 92% auto;
    opacity: .17;
    filter: blur(1.8px) saturate(.76) drop-shadow(0 24px 38px rgba(0, 0, 0, .48));
  }

  .primary-nav a {
    padding: 11px 14px;
    font-size: 12px;
  }

  .nav-open .nav-toggle {
    top: max(50px, env(safe-area-inset-top));
    right: max(15px, env(safe-area-inset-right));
  }
}

/* Site authorship credit */
.footer-bottom {
  min-height: 98px;
  display: grid;
  grid-template-columns: minmax(360px, 1.35fr) minmax(310px, auto) auto;
  gap: 24px;
  padding-block: 16px;
}

.footer-legal {
  display: grid;
  gap: 9px;
}

.footer-legal > p {
  margin: 0;
}

.site-footer .site-credit {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, .62);
  font-size: 9px;
  letter-spacing: .08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.site-footer .site-credit > span {
  display: inline;
  color: inherit;
  font-size: inherit;
}

.site-credit a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #fff;
}

.site-credit a:hover,
.site-credit a:focus-visible {
  color: var(--gold-bright);
}

.site-credit img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  filter: drop-shadow(0 7px 12px rgba(0, 0, 0, .48));
}

.site-credit strong {
  font: 700 9px var(--sans);
  letter-spacing: .105em;
}

.footer-top-link {
  white-space: nowrap;
}

@media (max-width: 1080px) {
  .footer-bottom {
    grid-template-columns: minmax(330px, 1fr) auto;
  }

  .footer-legal {
    grid-row: span 2;
  }
}

@media (max-width: 820px) {
  .footer-bottom {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 15px;
    padding-block: 24px;
  }

  .footer-legal {
    grid-row: auto;
  }
}

@media (max-width: 560px) {
  .site-footer .site-credit {
    max-width: 315px;
    flex-wrap: wrap;
    gap: 6px 8px;
  }

  .site-credit a {
    width: 100%;
  }

  .site-credit img {
    width: 38px;
    height: 38px;
  }
}

/* National Credentials */
.credentials-hero {
  position: relative;
  isolation: isolate;
  min-height: 620px;
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(112deg, rgba(19, 5, 8, .98), rgba(67, 10, 18, .94) 58%, rgba(20, 7, 10, .98)),
    #26070c;
}

.credentials-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(circle at 77% 48%, rgba(225, 188, 105, .22), transparent 29%),
    linear-gradient(90deg, transparent 0 72%, rgba(255, 255, 255, .045) 72% 72.15%, transparent 72.15%);
}

.credentials-hero-glow {
  position: absolute;
  inset: auto -12% -58% auto;
  z-index: -1;
  width: 680px;
  aspect-ratio: 1;
  border: 1px solid rgba(224, 185, 104, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(224, 185, 104, .025), 0 0 0 160px rgba(224, 185, 104, .018);
}

.credentials-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr);
  align-items: center;
  gap: clamp(55px, 8vw, 120px);
  padding-block: 90px;
}

.credentials-hero h1 {
  max-width: 780px;
  margin: 12px 0 24px;
  font-size: clamp(64px, 7.6vw, 112px);
  line-height: .82;
  letter-spacing: -.045em;
}

.credentials-hero h1 em { color: var(--gold-bright); }

.credentials-hero-grid > div > p:not(.eyebrow) {
  max-width: 680px;
  color: rgba(255, 255, 255, .78);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.8;
}

.credentials-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.credentials-hero-mark {
  position: relative;
  min-height: 410px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 45px 38px;
  overflow: hidden;
  border: 1px solid rgba(229, 199, 130, .38);
  background: linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .025));
  box-shadow: 0 35px 80px rgba(0, 0, 0, .42), inset 0 1px rgba(255, 255, 255, .12);
  text-align: center;
  backdrop-filter: blur(12px);
}

.credentials-hero-mark::after {
  content: '';
  position: absolute;
  inset: 13px;
  pointer-events: none;
  border: 1px solid rgba(224, 185, 104, .17);
}

.credentials-hero-mark img {
  width: 165px;
  height: 210px;
  margin-bottom: 22px;
  object-fit: contain;
  filter: drop-shadow(0 20px 24px rgba(0, 0, 0, .42));
}

.credentials-hero-mark span,
.credentials-hero-mark strong,
.credentials-hero-mark p { position: relative; z-index: 1; }
.credentials-hero-mark span { color: var(--gold-bright); font: 800 10px var(--sans); letter-spacing: .2em; text-transform: uppercase; }
.credentials-hero-mark strong { margin-top: 8px; color: #fff; font: 600 27px var(--serif); }
.credentials-hero-mark p { margin: 8px 0 0; color: rgba(255, 255, 255, .64); font-size: 12px; }

.credentials-guidance {
  position: relative;
  padding: 90px 0;
  background: linear-gradient(135deg, #f8f4ee, #fff 54%, #eee5d8);
}

.credentials-guidance-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(50px, 8vw, 120px);
  align-items: start;
}

.credentials-guidance h2 {
  max-width: 620px;
  margin: 14px 0 0;
  color: var(--ink);
  font-size: clamp(42px, 5vw, 66px);
  line-height: .98;
}

.credentials-guidance-grid > div:last-child {
  padding: 28px 0 5px 34px;
  border-left: 2px solid var(--gold);
}

.credentials-guidance-grid > div:last-child p {
  color: #514943;
  font-size: 16px;
  line-height: 1.85;
}

.credential-form-section {
  scroll-margin-top: 110px;
  padding: 100px 0 120px;
  color: #fff;
  background:
    radial-gradient(circle at 10% 8%, rgba(122, 24, 35, .48), transparent 30%),
    radial-gradient(circle at 88% 90%, rgba(199, 150, 61, .12), transparent 31%),
    #140b0d;
}

.credential-form-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 35px;
  margin-bottom: 34px;
}

.credential-form-heading h2 {
  margin: 10px 0 0;
  color: #fff;
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1;
}

.credential-form-heading > a {
  flex: none;
  padding-bottom: 8px;
  color: var(--gold-bright);
  border-bottom: 1px solid rgba(224, 185, 104, .5);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.credential-form-heading > a i { margin-left: 7px; }

.jotform-shell {
  overflow: hidden;
  border: 1px solid rgba(224, 185, 104, .45);
  background: #fff;
  box-shadow: 0 45px 95px rgba(0, 0, 0, .52), 0 0 0 10px rgba(255, 255, 255, .025);
}

.jotform-shell-top {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 18px 26px;
  color: #fff;
  background: linear-gradient(110deg, #39080f, #67131f 62%, #301016);
  border-bottom: 3px solid var(--gold);
}

.jotform-shell-top span {
  color: var(--gold-bright);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.jotform-shell-top span i { margin-right: 9px; }
.jotform-shell-top p { margin: 0; color: rgba(255, 255, 255, .68); font-size: 12px; }

.jotform-embed {
  min-height: 820px;
  padding: 0;
  color: var(--ink);
  background: #fff;
}

.jotform-embed iframe {
  display: block;
  width: 100% !important;
  min-height: 820px;
  border: 0 !important;
}

.jotform-embed noscript {
  min-height: 420px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 20px;
  padding: 50px;
  text-align: center;
}

.credential-form-fallback {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 28px;
  padding: 25px 30px;
  border: 1px solid rgba(255, 255, 255, .13);
  background: rgba(255, 255, 255, .045);
}

.credential-form-fallback p { margin: 0; color: rgba(255, 255, 255, .72); }
.credential-form-fallback .btn-outline { flex: none; color: #fff; border-color: rgba(224, 185, 104, .7); }

@media (max-width: 960px) {
  .credentials-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(275px, .62fr); gap: 45px; padding-block: 72px; }
  .credentials-hero-mark { min-height: 350px; padding: 35px 25px; }
  .credentials-hero-mark img { width: 135px; height: 175px; }
  .credentials-guidance-grid { gap: 55px; }
  .credential-form-heading { align-items: start; flex-direction: column; gap: 16px; }
}

@media (max-width: 720px) {
  .credentials-hero { min-height: auto; }
  .credentials-hero-grid { grid-template-columns: 1fr; gap: 38px; padding-block: 64px; }
  .credentials-hero h1 { font-size: clamp(56px, 17vw, 82px); }
  .credentials-hero-mark { width: min(100%, 430px); min-height: 320px; margin-inline: auto; }
  .credentials-guidance { padding: 70px 0; }
  .credentials-guidance-grid { grid-template-columns: 1fr; gap: 32px; }
  .credentials-guidance-grid > div:last-child { padding: 22px 0 0; border-top: 2px solid var(--gold); border-left: 0; }
  .credential-form-section { padding: 72px 0 95px; }
  .jotform-shell-top { align-items: start; flex-direction: column; gap: 7px; padding: 18px 20px; }
  .credential-form-fallback { align-items: stretch; flex-direction: column; gap: 18px; padding: 23px 20px; }
  .credential-form-fallback .btn-outline { width: 100%; text-align: center; }
}

@media (max-width: 480px) {
  .credentials-hero-actions { align-items: stretch; flex-direction: column; }
  .credentials-hero-actions a { width: 100%; text-align: center; }
  .credentials-hero-mark { min-height: 300px; }
  .credentials-hero-mark img { width: 118px; height: 152px; }
  .credentials-guidance h2 { font-size: 42px; }
  .credential-form-heading h2 { font-size: 40px; }
  .jotform-shell { margin-inline: -7px; }
}
.attendee-badge-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 0 0 28px;
  padding: 18px 20px;
  border: 1px solid rgba(200, 151, 45, .6);
  border-left: 5px solid var(--gold);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255, 250, 236, .98), rgba(244, 229, 190, .92));
  box-shadow: 0 16px 34px rgba(35, 13, 9, .14), inset 0 1px 0 rgba(255, 255, 255, .85);
  color: #30150f;
}

.attendee-badge-disclaimer i {
  flex: 0 0 auto;
  margin-top: 3px;
  color: #8a1f24;
  font-size: 1.35rem;
}

.attendee-badge-disclaimer p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
}

.attendee-badge-disclaimer strong {
  display: block;
  margin-bottom: 2px;
  color: #6d111b;
  font-family: "Manrope", sans-serif;
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 575.98px) {
  .attendee-badge-disclaimer {
    gap: 12px;
    padding: 16px;
  }
}

/* Leadership and church directory release — 2026-09-05 */
.directory-rank-group {
  padding-top: 18px;
}
.directory-rank-group + .directory-rank-group {
  margin-top: 78px;
  padding-top: 72px;
  border-top: 1px solid rgba(74, 12, 17, .15);
}
.directory-rank-group[hidden] {
  display: none;
}
.directory-group-heading {
  max-width: 760px;
  margin-bottom: 32px;
}
.directory-group-heading h2 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: clamp(34px, 4vw, 50px);
}
.directory-group-heading > p:last-child {
  max-width: 640px;
  color: var(--muted);
}
.directory-diocese-heading {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 48px);
  padding: 22px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(246,237,225,.94));
  border: 1px solid rgba(74, 12, 17, .14);
  box-shadow: 0 22px 52px rgba(42, 22, 12, .1), inset 0 1px rgba(255,255,255,.9);
}
.directory-diocesan-portrait {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #fff;
  background: #171117;
  border: 1px solid rgba(74, 12, 17, .16);
  box-shadow: 0 16px 34px rgba(35, 17, 12, .22);
}
.directory-diocesan-portrait img {
  width: 100%;
  aspect-ratio: 4 / 5;
  display: block;
  object-fit: cover;
  object-position: center 18%;
  filter: saturate(.85) contrast(1.03);
}
.directory-diocesan-portrait figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 34px 12px 12px;
  background: linear-gradient(to top, rgba(13,8,10,.97), rgba(13,8,10,.78) 60%, transparent);
}
.directory-diocesan-portrait span,
.directory-diocesan-portrait strong {
  display: block;
}
.directory-diocesan-portrait span {
  margin-bottom: 3px;
  color: var(--gold-bright);
  font: 800 8px/1.35 var(--sans);
  letter-spacing: .11em;
  text-transform: uppercase;
}
.directory-diocesan-portrait strong {
  font: 700 14px/1.25 var(--serif);
}
.directory-diocese-copy {
  min-width: 0;
}
.directory-diocese-copy h2 {
  margin-bottom: 0;
}
.directory-card-head-text {
  grid-template-columns: 1fr;
  min-height: 125px;
}
.directory-card-head-portraits {
  grid-template-columns: minmax(140px, 230px) minmax(0, 1fr);
  align-items: start;
}
.directory-card-portraits {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 10px;
}
.directory-card-portraits figure {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #171117;
  border: 1px solid rgba(74, 12, 17, .13);
  box-shadow: 0 13px 28px rgba(35, 17, 12, .17);
}
.directory-card-portraits img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  display: block;
  object-fit: cover;
  object-position: center 18%;
  filter: saturate(.82) contrast(1.02);
}
.directory-card-portraits figcaption {
  min-height: 46px;
  display: flex;
  align-items: center;
  padding: 9px 10px;
  color: #fff;
  background: linear-gradient(135deg, #271319, #100d10);
  font: 700 9px/1.35 var(--sans);
  letter-spacing: .025em;
}
.directory-card-church {
  min-width: 0;
  padding-top: 5px;
}
.directory-diocese-group .directory-group-heading > p:last-child {
  color: var(--oxblood);
  font-weight: 700;
}
.directory-card-leadership {
  padding-top: 22px;
}
.directory-card-leadership span {
  display: block;
  margin-bottom: 7px;
  color: var(--rust);
  font: 800 9px/1.4 var(--sans);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.directory-card-leadership h3 {
  margin: 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.38;
}
.ministry-mosaic > .youth-panel:last-child {
  grid-column: 1 / -1;
}

.bio-family {
  position: relative;
  overflow: hidden;
  padding: 96px 0;
  color: #fff;
  background:
    radial-gradient(circle at 78% 35%, rgba(224,185,104,.2), transparent 26rem),
    linear-gradient(125deg, #160d11 0%, #4a0c11 58%, #17101a 100%);
  box-shadow: inset 0 1px rgba(224,185,104,.2), inset 0 -1px rgba(0,0,0,.45);
}
.bio-family::before {
  content: '';
  position: absolute;
  inset: 22px;
  pointer-events: none;
  border: 1px solid rgba(224,185,104,.3);
}
.bio-family figure {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(280px, 430px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(45px, 8vw, 110px);
  margin: 0;
}
.bio-family img {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: block;
  object-fit: cover;
  object-position: center 18%;
  border: 1px solid rgba(255,255,255,.3);
  box-shadow: 0 34px 80px rgba(0,0,0,.45), 18px 18px 0 rgba(200,154,73,.14);
}
.bio-family figcaption {
  padding: 34px 0;
  border-top: 1px solid rgba(224,185,104,.55);
  border-bottom: 1px solid rgba(224,185,104,.25);
}
.bio-family .eyebrow {
  margin-bottom: 14px;
}
.bio-family h2 {
  max-width: 680px;
  margin: 0;
  color: #fff;
  font-size: clamp(44px, 6vw, 78px);
  line-height: .98;
}

@media (max-width: 1080px) {
  body.reveal-ready .reveal-item {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition-delay: 0s !important;
  }
}

@media (max-width: 820px) {
  .directory-rank-group + .directory-rank-group {
    margin-top: 60px;
    padding-top: 56px;
  }
  .directory-diocese-heading {
    grid-template-columns: minmax(130px, 165px) minmax(0, 1fr);
    gap: 24px;
    padding: 18px;
  }
  .bio-family {
    padding: 78px 0;
  }
  .bio-family figure {
    grid-template-columns: minmax(220px, 340px) minmax(0, 1fr);
    gap: 38px;
  }
}

@media (max-width: 560px) {
  .directory-rank-group + .directory-rank-group {
    margin-top: 48px;
    padding-top: 44px;
  }
  .directory-group-heading {
    margin-bottom: 24px;
  }
  .directory-diocese-heading {
    grid-template-columns: minmax(104px, 124px) minmax(0, 1fr);
    gap: 15px;
    padding: 12px;
  }
  .directory-diocese-heading h2 {
    font-size: clamp(27px, 8.5vw, 38px);
    line-height: 1.02;
  }
  .directory-diocesan-portrait figcaption {
    padding: 30px 8px 8px;
  }
  .directory-diocesan-portrait span {
    font-size: 6px;
    letter-spacing: .08em;
  }
  .directory-diocesan-portrait strong {
    font-size: 11px;
  }
  .directory-card-head-text {
    min-height: 0;
  }
  .directory-card-head-portraits {
    grid-template-columns: 1fr;
  }
  .directory-card-portraits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .directory-card-portraits:has(figure:only-child) {
    grid-template-columns: minmax(0, 210px);
  }
  .directory-card-church {
    padding-top: 4px;
  }
  .directory-card-leadership h3 {
    font-size: 19px;
  }
  .bio-family {
    padding: 68px 0 78px;
  }
  .bio-family::before {
    inset: 12px;
  }
  .bio-family figure {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .bio-family img {
    width: min(100%, 390px);
    justify-self: center;
    box-shadow: 0 28px 65px rgba(0,0,0,.45), 10px 10px 0 rgba(200,154,73,.14);
  }
  .bio-family figcaption {
    text-align: center;
  }
}
