/* Body of Benchers theme — design system
   Palette is drawn from the Benchers' ceremonial gowns (purple with gold facings) and the official crest. */

:root {
  --purple: #3A1F5D;        /* Bench purple */
  --purple-deep: #22122F;   /* Robe shadow */
  --purple-mid: #5E4C78;    /* Secondary text on white */
  --purple-soft: #6A5884;   /* Secondary text on paper */
  --lilac: #D9CFE6;         /* Text on purple */
  --lilac-dim: #B8A9CC;
  --haze: #ECE7F3;          /* Tinted surfaces */
  --paper: #F7F5FA;         /* Page background */
  --white: #FFFFFF;
  --ink: #1E1A24;
  --gold: #C9A13B;          /* Gown facing — on purple only */
  --gold-bright: #E2C46F;
  --gold-dark: #7A5C10;     /* Gold for text on light */
  --rule: #DCD5E6;
  --focus: #C9A13B;

  --f-display: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif;
  --f-serif: "Libre Caslon Text", Georgia, "Times New Roman", serif;
  --f-sans: "Instrument Sans", "Segoe UI", system-ui, -apple-system, sans-serif;

  /* Type scale, ratio 1.25 from 17px */
  --t-xs: .8125rem; --t-sm: .9375rem; --t-base: 1.0625rem; --t-md: 1.25rem;
  --t-lg: 1.5625rem; --t-xl: 1.953rem; --t-2xl: 2.441rem; --t-3xl: 3.052rem; --t-4xl: 3.815rem;

  --s1: .25rem; --s2: .5rem; --s3: .75rem; --s4: 1rem; --s5: 1.5rem; --s6: 2rem; --s7: 3rem; --s8: 4rem; --s9: 6rem;
  --wrap: 75rem;
  --measure: 68ch;
  --r-sm: 4px; --r-md: 10px;
  --header-h: 84px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 6rem; }
body {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: var(--f-sans); font-size: var(--t-base); line-height: 1.6;
  text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--purple); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--purple-deep); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 2px; }
.on-dark :focus-visible, .on-dark:focus-visible { outline-color: var(--gold-bright); }
h1, h2, h3, h4 { font-family: var(--f-display); font-weight: 400; line-height: 1.12; margin: 0 0 var(--s4); color: var(--purple-deep); letter-spacing: -.005em; }
h1 { font-size: clamp(2.2rem, 1.4rem + 3.2vw, var(--t-4xl)); }
h2 { font-size: clamp(1.75rem, 1.3rem + 1.8vw, var(--t-2xl)); }
h3 { font-size: var(--t-lg); }
h4 { font-size: var(--t-md); }
p { margin: 0 0 var(--s4); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: clamp(1rem, 3vw, 2rem); }
.measure { max-width: var(--measure); }
.lead { font-size: var(--t-md); line-height: 1.55; color: var(--ink); }
.muted { color: var(--purple-soft); }
.skip { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--gold); color: var(--purple-deep); padding: .6rem 1rem; font-weight: 600; border-radius: var(--r-sm); }
.skip:focus { top: 1rem; }

/* ---------- The gown facing: the one signature device ---------- */
.facing { background: linear-gradient(180deg, var(--gold) 0 5px, var(--purple-deep) 5px 9px, var(--gold) 9px 14px); }
.facing-v { width: 14px; flex: none; background: linear-gradient(90deg, var(--gold) 0 5px, var(--purple-deep) 5px 9px, var(--gold) 9px 14px); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: .55rem; min-height: 48px; padding: .7rem 1.35rem;
  font: 600 var(--t-sm)/1.2 var(--f-sans); letter-spacing: .01em; text-decoration: none; cursor: pointer;
  border-radius: 999px; border: 1.5px solid transparent; transition: background-color .15s, color .15s, border-color .15s;
}
.btn svg { width: 18px; height: 18px; }
.btn-gold { background: var(--gold); color: var(--purple-deep); }
.btn-gold:hover { background: var(--gold-bright); color: var(--purple-deep); }
.btn-purple { background: var(--purple); color: var(--white); }
.btn-purple:hover { background: var(--purple-deep); color: var(--white); }
.btn-line { border-color: currentColor; color: var(--purple); background: transparent; }
.btn-line:hover { background: var(--purple); color: var(--white); border-color: var(--purple); }
.on-dark .btn-line { color: var(--white); }
.on-dark .btn-line:hover { background: var(--white); color: var(--purple-deep); border-color: var(--white); }
.textlink { font-weight: 600; color: var(--purple); text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 2px; }
.textlink:hover { text-decoration-color: var(--purple); }

/* ---------- Utility bar + header ---------- */
.utility { background: var(--purple-deep); color: var(--lilac); font-size: var(--t-xs); }
.utility .wrap { display: flex; gap: var(--s5); align-items: center; justify-content: space-between; min-height: 38px; }
.utility a { color: var(--lilac); text-decoration: none; }
.utility a:hover { color: var(--white); text-decoration: underline; }
.utility ul { display: flex; gap: var(--s5); list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
.utility li { display: flex; align-items: center; gap: .4rem; }
.utility svg { width: 14px; height: 14px; color: var(--gold); }
@media (max-width: 760px) { .utility .u-hide { display: none; } }

.site-header { position: sticky; top: 0; z-index: 50; background: var(--white); border-bottom: 1px solid var(--rule); }
.site-header .wrap { display: flex; align-items: center; gap: var(--s5); min-height: var(--header-h); }
.brand { display: flex; align-items: center; gap: .85rem; text-decoration: none; color: var(--purple-deep); flex: none; }
.brand img { width: 58px; height: 58px; }
.brand-name { font-family: var(--f-display); font-size: 1.45rem; line-height: 1; display: block; }
.brand-sub { font-size: var(--t-xs); color: var(--purple-mid); letter-spacing: .04em; display: block; margin-top: .3rem; }

/* ---------- Home hero ---------- */
.hero { position: relative; color: var(--white); background: var(--purple-deep); overflow: hidden; isolation: isolate; }
.hero-media { position: absolute; inset: 0; z-index: -2; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(95deg, rgba(34,18,47,.97) 0%, rgba(34,18,47,.9) 38%, rgba(58,31,93,.55) 68%, rgba(34,18,47,.25) 100%); }
.hero .wrap { display: flex; gap: clamp(1.25rem, 3vw, 2.5rem); padding-block: clamp(3.5rem, 9vw, 7.5rem); align-items: stretch; }
.hero .facing-v { width: 14px; border-radius: 2px; }
.hero-copy { max-width: 40rem; }
.hero-crest { width: 92px; height: 92px; margin-bottom: var(--s5); filter: drop-shadow(0 6px 18px rgba(0,0,0,.35)); }
.hero-kicker { font-family: var(--f-serif); font-style: italic; color: var(--gold-bright); font-size: var(--t-md); margin-bottom: var(--s3); }
.hero h1 { color: var(--white); font-size: clamp(2.6rem, 1.6rem + 4.4vw, 5rem); line-height: 1.02; margin-bottom: var(--s5); }
.hero p { color: var(--lilac); font-size: var(--t-md); max-width: 34rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s6); }
.hero-video { display: inline-flex; align-items: center; gap: .6rem; color: var(--white); background: none; border: 0; font: 600 var(--t-sm) var(--f-sans); cursor: pointer; padding: .7rem .2rem; min-height: 48px; }
.hero-video span.play { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--gold); display: grid; place-items: center; }
.hero-video svg { width: 14px; height: 14px; color: var(--gold-bright); margin-left: 2px; }
.hero-video:hover { color: var(--gold-bright); }

/* Notice ribbon under hero */
.ribbon { background: var(--white); border-bottom: 1px solid var(--rule); }
.ribbon .wrap { display: grid; grid-template-columns: auto 1fr auto; gap: var(--s5); align-items: center; padding-block: var(--s5); }
.ribbon-date { font-family: var(--f-display); color: var(--purple); text-align: center; line-height: 1; padding-right: var(--s5); border-right: 2px solid var(--gold); }
.ribbon-date b { display: block; font-size: 2.2rem; font-weight: 400; }
.ribbon-date span { font-size: var(--t-xs); color: var(--purple-mid); font-family: var(--f-sans); }
.ribbon h2 { font-size: var(--t-lg); margin: 0 0 .2rem; }
.ribbon h2 a { text-decoration: none; color: var(--purple-deep); }
.ribbon h2 a:hover { text-decoration: underline; }
.ribbon p { margin: 0; color: var(--purple-mid); }
.tag { display: inline-block; font-size: var(--t-xs); font-weight: 600; color: var(--gold-dark); margin-bottom: .2rem; }
@media (max-width: 720px) { .ribbon .wrap { grid-template-columns: auto 1fr; } .ribbon .wrap > :last-child { grid-column: 1 / -1; } }

/* ---------- Sections ---------- */
.section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.section-white { background: var(--white); }
.section-haze { background: var(--haze); }
.section-dark { background: var(--purple-deep); color: var(--lilac); }
.section-dark h2, .section-dark h3 { color: var(--white); }
.section-dark a:not(.btn) { color: var(--gold-bright); }
.sec-head { display: flex; justify-content: space-between; align-items: end; gap: var(--s5); flex-wrap: wrap; margin-bottom: var(--s6); }
.sec-head h2 { margin: 0; padding-left: var(--s4); border-left: 4px solid var(--gold); }
.sec-head p { margin: .6rem 0 0; color: var(--purple-mid); max-width: 46rem; }
.section-dark .sec-head p { color: var(--lilac); }

/* Chairman feature */
.chair { display: grid; grid-template-columns: minmax(260px, 400px) 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.chair-portrait { position: relative; }
.chair-portrait img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 50% 15%; border-radius: var(--r-md); background: var(--haze); }
.chair-img { position: relative; }
.chair-img::after { content: ""; position: absolute; left: -14px; top: 10%; bottom: 10%; width: 14px; background: linear-gradient(90deg, var(--gold) 0 5px, var(--purple-deep) 5px 9px, var(--gold) 9px 14px); border-radius: 2px; }
.chair-cap { margin-top: var(--s4); }
.chair-cap small { display: block; color: var(--gold-dark); font-weight: 600; font-size: var(--t-xs); letter-spacing: .02em; }
.chair-cap strong { display: block; font-family: var(--f-display); font-weight: 400; font-size: var(--t-lg); line-height: 1.25; color: var(--purple-deep); }
.mv { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s6); margin-top: var(--s6); padding-top: var(--s6); border-top: 1px solid var(--rule); }
.mv h3 { font-size: var(--t-lg); margin-bottom: var(--s2); }
.mv p { color: var(--ink); font-size: var(--t-sm); line-height: 1.65; margin: 0; }
@media (max-width: 860px) { .chair { grid-template-columns: 1fr; } .chair-portrait { max-width: 360px; margin-left: 14px; } .mv { grid-template-columns: 1fr; } }

/* Functions */
.functions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--rule); }
.fn { padding: var(--s6) var(--s5) var(--s5) 0; display: flex; flex-direction: column; }
.fn + .fn { padding-left: var(--s5); border-left: 1px solid var(--rule); }
.fn-icon { width: 56px; height: 56px; color: var(--purple); margin-bottom: var(--s4); }
.fn h3 { margin-bottom: var(--s3); }
.fn p { color: var(--ink); flex: 1; }
@media (max-width: 860px) { .functions { grid-template-columns: 1fr; } .fn, .fn + .fn { padding: var(--s5) 0; border-left: 0; border-bottom: 1px solid var(--rule); } }

/* Called to the Bar figures */
.called { display: grid; grid-template-columns: minmax(240px, 1fr) 2fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.bars { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s4); }
.bar { display: grid; grid-template-columns: 4rem 1fr; align-items: center; gap: var(--s4); }
.bar-year { font-family: var(--f-display); font-size: var(--t-lg); color: var(--white); }
.bar-track { position: relative; height: 46px; }
.bar-fill { height: 100%; background: rgba(217, 207, 230, .22); border-radius: 0 var(--r-sm) var(--r-sm) 0; display: flex; align-items: center; justify-content: flex-end; padding-right: .8rem; min-width: 5.5rem; }
.bar.current .bar-fill { background: var(--gold); }
.bar-num { font: 600 var(--t-md) var(--f-sans); color: var(--white); font-variant-numeric: tabular-nums; }
.bar.current .bar-num { color: var(--purple-deep); }
.called-note { font-size: var(--t-sm); color: var(--lilac-dim); margin-top: var(--s4); }
@media (max-width: 760px) { .called { grid-template-columns: 1fr; } }

/* The Chairman's Charge */
.charge { position: relative; background: var(--purple); color: var(--white); overflow: hidden; }
.charge .facing-band { height: 14px; }
.charge .wrap { padding-block: clamp(3.5rem, 8vw, 6.5rem); display: grid; grid-template-columns: auto 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.charge-mark { font-family: var(--f-display); font-size: clamp(6rem, 12vw, 11rem); line-height: .7; color: var(--gold); }
.charge blockquote { margin: 0; }
.charge blockquote p { font-family: var(--f-display); font-size: clamp(1.8rem, 1.1rem + 2.8vw, 3.4rem); line-height: 1.15; color: var(--white); margin-bottom: var(--s5); }
.charge figcaption { color: var(--lilac); font-size: var(--t-sm); max-width: 40rem; }
@media (max-width: 640px) { .charge .wrap { grid-template-columns: 1fr; } .charge-mark { font-size: 5rem; } }

/* Portrait rail (past chairmen) */
.rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(160px, 190px); gap: var(--s4); overflow-x: auto; padding-bottom: var(--s4); scroll-snap-type: x mandatory; scrollbar-color: var(--purple) var(--haze); }
.rail a { scroll-snap-align: start; text-decoration: none; color: var(--ink); }
.rail img { aspect-ratio: 4/5; object-fit: cover; object-position: 50% 15%; width: 100%; border-radius: var(--r-sm); background: var(--haze); }
.rail .r-name { display: block; font-weight: 600; font-size: var(--t-sm); line-height: 1.3; margin-top: .55rem; }
.rail .r-yrs { display: block; color: var(--purple-mid); font-size: var(--t-xs); }
.rail a:hover .r-name { color: var(--purple); text-decoration: underline; }

/* Committees on home */
.comm-split { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(2rem, 5vw, 4rem); }
.comm-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.comm-list li { border-bottom: 1px solid var(--rule); }
.comm-list a { display: flex; gap: var(--s4); align-items: center; padding: .9rem .25rem; text-decoration: none; color: var(--ink); font-weight: 600; }
.comm-list a:hover { color: var(--purple); background: var(--white); }
.comm-list svg { width: 26px; height: 26px; color: var(--purple); flex: none; }
.comm-list small { display: block; font-weight: 400; color: var(--purple-mid); font-size: var(--t-xs); }
@media (max-width: 860px) { .comm-split { grid-template-columns: 1fr; } }

/* Upcoming events */
.events { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--rule); }
.event { display: grid; grid-template-columns: 5.5rem 1fr auto; gap: var(--s5); padding: var(--s4) 0; border-bottom: 1px solid var(--rule); align-items: center; }
.event-date { text-align: center; line-height: 1.05; }
.event-date b { display: block; font-family: var(--f-display); font-weight: 400; font-size: 2rem; color: var(--purple); }
.event-date span { font-size: var(--t-xs); color: var(--purple-mid); font-weight: 600; }
.event h3 { font-family: var(--f-sans); font-weight: 600; font-size: var(--t-base); margin: 0; color: var(--ink); line-height: 1.4; }
.event-type { font-size: var(--t-xs); font-weight: 600; padding: .3rem .7rem; border-radius: 999px; background: var(--haze); color: var(--purple); white-space: nowrap; }
.t-ceremony { background: #F3E9CC; color: #5E470C; }
.t-meeting { background: var(--haze); color: var(--purple); }
.t-dinner { background: #EADDEE; color: #5A2A63; }
.t-screening { background: #DDE7EE; color: #22465C; }
.t-lecture { background: #E2EADB; color: #34501F; }
.t-holiday { background: #F1E0DC; color: #6E2C1E; }
@media (max-width: 560px) { .event { grid-template-columns: 4.2rem 1fr; row-gap: .4rem; } .event-type { grid-column: 2; justify-self: start; } }

/* Mentoring band */
.mentor { display: grid; grid-template-columns: 1fr auto; gap: var(--s6); align-items: center; padding: clamp(2rem, 5vw, 3.5rem); background: var(--white); border: 1px solid var(--rule); border-left: 0; position: relative; border-radius: 0 var(--r-md) var(--r-md) 0; }
.mentor::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 14px; background: linear-gradient(90deg, var(--gold) 0 5px, var(--purple-deep) 5px 9px, var(--gold) 9px 14px); }
.mentor h2 { margin-bottom: var(--s3); }
.mentor p { margin: 0; max-width: 44rem; }
@media (max-width: 760px) { .mentor { grid-template-columns: 1fr; } }

/* Mosaic gallery */
.mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 180px; gap: 8px; }
.mosaic > div { position: relative; overflow: hidden; border-radius: var(--r-sm); background: var(--purple); display: block; }
.mosaic img { width: 100%; height: 100%; object-fit: cover; }
.mosaic > div:nth-child(1) { grid-column: span 2; grid-row: span 2; }
@media (max-width: 760px) { .mosaic { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 140px; } }

/* ---------- Inner page header ---------- */
.page-head { background: var(--purple-deep); color: var(--lilac); position: relative; overflow: hidden; }
.page-head .wrap { display: flex; gap: clamp(1rem, 3vw, 2rem); padding-block: clamp(2.25rem, 5vw, 3.75rem); }
.page-head h1 { color: var(--white); margin: .35rem 0 0; max-width: 22ch; }
.page-head p.ph-lead { color: var(--lilac); max-width: 46rem; margin: var(--s4) 0 0; font-size: var(--t-md); }
.page-head.has-image::after { content: ""; position: absolute; inset: 0 0 0 45%; background: var(--ph-img) center 30% / cover no-repeat; opacity: .28; mask-image: linear-gradient(90deg, transparent, #000 55%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 55%); pointer-events: none; }
.page-head .wrap > div { position: relative; z-index: 1; }
.crumbs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; font-size: var(--t-xs); }
.crumbs li + li::before { content: "/"; margin-right: .35rem; color: var(--gold); }
.crumbs a { color: var(--lilac); }
.crumbs a:hover { color: var(--white); }
.crumbs [aria-current] { color: var(--gold-bright); }

.page-body { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.with-aside { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
@media (max-width: 960px) { .with-aside { grid-template-columns: 1fr; } }
.aside-box { position: sticky; top: calc(var(--header-h) + 1.5rem); background: var(--white); border: 1px solid var(--rule); border-radius: var(--r-md); padding: var(--s5); }
.aside-box h2 { font-size: var(--t-md); margin-bottom: var(--s3); }
.aside-box ul { list-style: none; margin: 0; padding: 0; }
.aside-box li a { display: block; padding: .5rem 0; border-bottom: 1px solid var(--rule); text-decoration: none; font-size: var(--t-sm); color: var(--ink); line-height: 1.35; }
.aside-box li:last-child a { border-bottom: 0; }
.aside-box li a:hover, .aside-box li a[aria-current="page"] { color: var(--purple); font-weight: 600; }
@media (max-width: 960px) { .aside-box { position: static; } }

/* Prose */
.prose { max-width: var(--measure); }
.prose p, .prose li { font-size: var(--t-base); }
.prose h2 { font-size: var(--t-xl); margin-top: var(--s7); }
.prose h3 { font-size: var(--t-lg); margin-top: var(--s6); }
.prose h4 { font-family: var(--f-serif); font-weight: 700; font-size: var(--t-md); line-height: 1.4; }
.prose ul, .prose ol { padding-left: 1.25rem; margin: 0 0 var(--s5); }
.prose li { margin-bottom: .45rem; }
.prose li::marker { color: var(--gold-dark); }
.prose blockquote { margin: var(--s6) 0; padding: var(--s5) var(--s5) var(--s5) var(--s6); border-left: 4px solid var(--gold); background: var(--white); font-family: var(--f-serif); font-size: var(--t-md); line-height: 1.55; color: var(--purple-deep); }
.prose blockquote p:last-child { margin: 0; }
.prose img { border-radius: var(--r-sm); margin: var(--s5) 0; background: var(--haze); }
.prose em { color: var(--purple-mid); }
.article { font-family: var(--f-serif); }
.article p, .article li { font-size: 1.1875rem; line-height: 1.8; }
.article h2 { font-family: var(--f-display); }

/* About */
.statute { font-family: var(--f-serif); font-size: clamp(1.25rem, 1rem + .9vw, 1.6rem); line-height: 1.55; color: var(--purple-deep); max-width: 52rem; margin: 0; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); }
@media (max-width: 860px) { .two-col { grid-template-columns: 1fr; } }
.comp { list-style: none; counter-reset: c; margin: 0; padding: 0; columns: 2 22rem; column-gap: var(--s6); }
.comp li { break-inside: avoid; padding: .75rem 0 .75rem 2.4rem; position: relative; border-bottom: 1px solid var(--rule); counter-increment: c; }
.comp li::before { content: counter(c, lower-roman) "."; position: absolute; left: 0; top: .75rem; font-family: var(--f-display); color: var(--gold-dark); font-size: var(--t-md); line-height: 1.3; }
.fn-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--s5); }
.fn-card { background: var(--white); border: 1px solid var(--rule); border-radius: var(--r-md); padding: var(--s5) var(--s5) var(--s4); }
.fn-card .fn-icon { width: 44px; height: 44px; margin-bottom: var(--s3); }
.fn-card p { font-size: var(--t-sm); }
.leaders { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s5); }
.leader { text-decoration: none; color: var(--ink); display: block; }
.leader img { aspect-ratio: 4/5; width: 100%; object-fit: cover; object-position: 50% 15%; border-radius: var(--r-md); background: var(--haze); }
.leader .l-role { display: block; margin-top: var(--s3); color: var(--gold-dark); font-weight: 600; font-size: var(--t-xs); }
.leader .l-name { display: block; font-family: var(--f-display); font-size: var(--t-md); line-height: 1.25; color: var(--purple-deep); }
.leader .l-note { display: block; color: var(--purple-mid); font-size: var(--t-sm); }
.leader:hover .l-name { text-decoration: underline; }
@media (max-width: 760px) { .leaders { grid-template-columns: 1fr; max-width: 360px; } }

/* Profiles */
.profile { display: grid; grid-template-columns: minmax(240px, 340px) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.profile-side { position: sticky; top: calc(var(--header-h) + 1.5rem); }
.profile-side img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 50% 12%; border-radius: var(--r-md); background: var(--haze); }
.facts { list-style: none; margin: var(--s5) 0 0; padding: 0; border-top: 1px solid var(--rule); }
.facts li { display: flex; justify-content: space-between; gap: var(--s4); padding: .65rem 0; border-bottom: 1px solid var(--rule); font-size: var(--t-sm); }
.facts li span:first-child { color: var(--purple-mid); }
.facts li span:last-child { font-weight: 600; text-align: right; }
.profile-name { font-size: clamp(1.8rem, 1.3rem + 1.6vw, var(--t-2xl)); }
.title-line { font-family: var(--f-serif); font-style: italic; color: var(--gold-dark); font-size: var(--t-md); margin-top: -.5rem; }
@media (max-width: 860px) { .profile { grid-template-columns: 1fr; } .profile-side { position: static; max-width: 340px; } }
.tags { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: var(--s5) 0; padding: 0; }
.tags li { border: 1px solid var(--rule); background: var(--white); border-radius: 999px; padding: .35rem .85rem; font-size: var(--t-sm); color: var(--purple); }
.statrow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: var(--s6) 0; border-block: 1px solid var(--rule); }
.statrow div { padding: var(--s5) var(--s4); }
.statrow div + div { border-left: 1px solid var(--rule); }
.statrow b { display: block; font-family: var(--f-display); font-weight: 400; font-size: var(--t-2xl); color: var(--purple); line-height: 1; }
.statrow span { font-size: var(--t-sm); color: var(--purple-mid); }
@media (max-width: 700px) { .statrow { grid-template-columns: 1fr 1fr; } .statrow div:nth-child(3) { border-left: 0; } .statrow div:nth-child(n+3) { border-top: 1px solid var(--rule); } }
.timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.timeline::before { content: ""; position: absolute; left: 6.25rem; top: .4rem; bottom: .4rem; width: 2px; background: var(--rule); }
.timeline li { display: grid; grid-template-columns: 5.5rem 1fr; gap: 2.25rem; padding-bottom: var(--s5); position: relative; }
.timeline li::before { content: ""; position: absolute; left: calc(6.25rem - 6px); top: .45rem; width: 14px; height: 14px; border-radius: 50%; background: var(--paper); border: 3px solid var(--gold); }
.timeline li:last-child::before { background: var(--purple); border-color: var(--purple); }
.tl-year { font-family: var(--f-display); color: var(--purple); font-size: var(--t-md); line-height: 1.3; text-align: right; }
.timeline h3 { font-family: var(--f-sans); font-weight: 600; font-size: var(--t-base); margin: 0 0 .2rem; color: var(--ink); }
.timeline p { margin: 0; font-size: var(--t-sm); color: var(--purple-mid); }
@media (max-width: 520px) { .timeline::before { left: .4rem; } .timeline li { grid-template-columns: 1fr; gap: .2rem; padding-left: 2rem; } .timeline li::before { left: -.05rem; } .tl-year { text-align: left; } }
.roles { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s5) var(--s6); margin: var(--s5) 0; }
.roles h3 { font-family: var(--f-sans); font-weight: 600; font-size: var(--t-base); margin-bottom: .3rem; color: var(--purple); }
.roles p { font-size: var(--t-sm); margin: 0; }
@media (max-width: 640px) { .roles { grid-template-columns: 1fr; } }
.pull { margin: var(--s7) 0; padding: var(--s6); background: var(--purple); color: var(--white); border-radius: var(--r-md); }
.pull p { font-family: var(--f-display); font-size: var(--t-xl); line-height: 1.25; margin: 0 0 var(--s4); }
.pull cite { color: var(--gold-bright); font-style: normal; font-size: var(--t-sm); }
.note { font-size: var(--t-sm); color: var(--purple-mid); border-left: 3px solid var(--rule); padding-left: var(--s4); }

/* Directory tools */
.tools { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; justify-content: space-between; margin-bottom: var(--s5); padding: var(--s4); background: var(--white); border: 1px solid var(--rule); border-radius: var(--r-md); }
.search { position: relative; flex: 1 1 280px; max-width: 460px; }
.search svg { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--purple-mid); pointer-events: none; }
.search input { width: 100%; min-height: 48px; padding: .6rem .9rem .6rem 2.6rem; border: 1.5px solid var(--rule); border-radius: 999px; font: var(--t-base) var(--f-sans); background: var(--paper); color: var(--ink); }
.search input:focus { border-color: var(--purple); outline: none; box-shadow: 0 0 0 3px rgba(201, 161, 59, .45); }
.count { font-size: var(--t-sm); color: var(--purple-mid); margin: 0; }
.chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.chip { min-height: 40px; padding: .45rem .95rem; border-radius: 999px; border: 1.5px solid var(--rule); background: var(--white); color: var(--ink); font: 600 var(--t-sm) var(--f-sans); cursor: pointer; }
.chip { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; }
.chip svg { width: 18px; height: 18px; }
.chip:disabled { opacity: .45; cursor: not-allowed; }
.chip:hover { border-color: var(--purple); }
.chip[aria-pressed="true"] { background: var(--purple); border-color: var(--purple); color: var(--white); }
.empty { padding: var(--s6); text-align: center; background: var(--white); border: 1px dashed var(--rule); border-radius: var(--r-md); color: var(--purple-mid); }

.names { list-style: none; margin: 0; padding: 0; columns: 3 17rem; column-gap: var(--s6); }
.names li { break-inside: avoid; padding: .6rem 0; border-bottom: 1px solid var(--rule); font-size: var(--t-sm); }
.names.memoriam li { color: var(--purple-mid); }
details.fold { margin-top: var(--s7); border-top: 2px solid var(--purple); }
details.fold summary { cursor: pointer; list-style: none; padding: var(--s4) 0; display: flex; justify-content: space-between; align-items: center; font-family: var(--f-display); font-size: var(--t-xl); color: var(--purple-deep); min-height: 48px; }
details.fold summary::-webkit-details-marker { display: none; }
details.fold summary svg { width: 22px; height: 22px; transition: transform .2s; color: var(--purple); }
details.fold[open] summary svg { transform: rotate(180deg); }
details.fold summary small { font-family: var(--f-sans); font-size: var(--t-sm); color: var(--purple-mid); margin-left: var(--s3); }

/* Portrait grid */
.pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--s6) var(--s5); list-style: none; margin: 0; padding: 0; }
.pcard img, .pcard .mono { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 50% 15%; border-radius: var(--r-md); background: var(--haze); }
.pcard .mono { display: grid; place-items: center; font-family: var(--f-display); font-size: 3rem; color: var(--purple); background: linear-gradient(160deg, var(--haze), #E2D9EE); }
.pcard h3 { font-family: var(--f-sans); font-weight: 600; font-size: var(--t-base); line-height: 1.35; margin: var(--s3) 0 .2rem; color: var(--ink); }
.pcard p { margin: 0; color: var(--purple-mid); font-size: var(--t-sm); line-height: 1.4; }
.pcard .ord { font-family: var(--f-display); color: var(--gold-dark); font-size: var(--t-md); }
.pcard.lead-card { grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr; gap: var(--s5); align-items: end; background: var(--white); padding: var(--s4); border-radius: var(--r-md); border: 1px solid var(--rule); }
.pcard.lead-card h3 { font-family: var(--f-display); font-weight: 400; font-size: var(--t-lg); color: var(--purple-deep); }
@media (max-width: 520px) { .pgrid { grid-template-columns: 1fr 1fr; gap: var(--s5) var(--s3); } .pcard.lead-card { grid-column: 1 / -1; } .pcard h3 { font-size: var(--t-sm); } }

/* Chairmen roll */
.roll { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: var(--s6) var(--s5); }
.roll .pcard p.dec { color: var(--purple-soft); font-style: italic; }

/* States / courts */
.feature-card { display: grid; grid-template-columns: auto 1fr; gap: var(--s5); padding: var(--s6); background: var(--purple); color: var(--lilac); border-radius: var(--r-md); margin-bottom: var(--s7); }
.feature-card h2 { color: var(--white); font-size: var(--t-xl); margin-bottom: .2rem; }
.feature-card .muted { color: var(--gold-bright); }
.feature-card dl { display: grid; grid-template-columns: auto 1fr; gap: .3rem var(--s4); margin: var(--s4) 0 0; font-size: var(--t-sm); }
.feature-card dt { color: var(--lilac-dim); }
.feature-card dd { margin: 0; color: var(--white); }
.feature-card svg { width: 56px; height: 56px; color: var(--gold); }
.sgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1px; background: var(--rule); border: 1px solid var(--rule); border-radius: var(--r-md); overflow: hidden; }
.sgrid li { background: var(--white); padding: var(--s5) var(--s4); }
.sgrid .st { display: block; font-family: var(--f-display); font-size: var(--t-md); color: var(--purple); }
.sgrid .nm { display: block; font-weight: 600; margin-top: .35rem; line-height: 1.35; }
.sgrid .rl { display: block; color: var(--purple-mid); font-size: var(--t-sm); }
.sgrid .zn { display: inline-block; margin-top: .5rem; font-size: var(--t-xs); color: var(--gold-dark); font-weight: 600; }
.fed3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s4); margin-bottom: var(--s7); }
.fed3 article { background: var(--purple); color: var(--lilac); border-radius: var(--r-md); padding: var(--s5); }
.fed3 .ct { color: var(--gold-bright); font-size: var(--t-sm); font-weight: 600; }
.fed3 h3 { color: var(--white); font-size: var(--t-md); margin: .5rem 0 .3rem; line-height: 1.3; }
.fed3 p { margin: 0; font-size: var(--t-sm); }
@media (max-width: 860px) { .fed3 { grid-template-columns: 1fr; } }

/* Members categories */
.cats { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.cats > li { border-bottom: 1px solid var(--rule); }
.cats details summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 2.5rem 1fr auto auto; gap: var(--s4); align-items: center; padding: var(--s4) .25rem; min-height: 56px; }
.cats details summary::-webkit-details-marker { display: none; }
.cats .lt { font-family: var(--f-display); font-size: var(--t-lg); color: var(--gold-dark); }
.cats .cn { font-weight: 600; }
.cats .ct { font-size: var(--t-sm); color: var(--purple-mid); white-space: nowrap; }
.cats summary svg { width: 20px; height: 20px; color: var(--purple); transition: transform .2s; }
.cats details[open] summary svg { transform: rotate(180deg); }
.cats .cbody { padding: 0 0 var(--s5) calc(2.5rem + var(--s4)); }
.cats .cbody ul { list-style: none; padding: 0; margin: 0 0 var(--s3); }
.cats .cbody li { padding: .35rem 0; }
.cats .cbody li span { color: var(--purple-mid); font-size: var(--t-sm); }

/* Committees */
.officers { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--s4); margin: var(--s6) 0; }
.officer { background: var(--white); border: 1px solid var(--rule); border-top: 4px solid var(--gold); border-radius: 0 0 var(--r-md) var(--r-md); padding: var(--s5) var(--s4); }
.officer .or { font-size: var(--t-xs); font-weight: 600; color: var(--gold-dark); }
.officer h3 { font-family: var(--f-display); font-size: var(--t-md); line-height: 1.3; margin: .35rem 0 .25rem; }
.officer p { margin: 0; color: var(--purple-mid); font-size: var(--t-sm); }
.mlist { list-style: none; margin: 0; padding: 0; columns: 2 18rem; column-gap: var(--s6); }
.mlist li { break-inside: avoid; padding: .7rem 0; border-bottom: 1px solid var(--rule); }
.mlist b { display: block; font-weight: 600; }
.mlist span { color: var(--purple-mid); font-size: var(--t-sm); }
.cgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--s4); }
.cgrid a { display: grid; grid-template-columns: auto 1fr; gap: var(--s4); align-items: start; height: 100%; padding: var(--s5); background: var(--white); border: 1px solid var(--rule); border-radius: var(--r-md); text-decoration: none; color: var(--ink); transition: border-color .15s; }
.cgrid a:hover { border-color: var(--purple); }
.cgrid svg { width: 34px; height: 34px; color: var(--purple); }
.cgrid b { display: block; font-weight: 600; line-height: 1.35; }
.cgrid small { display: block; color: var(--purple-mid); font-size: var(--t-xs); margin-top: .3rem; }
.stand { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--rule); }
.stand li { display: grid; grid-template-columns: minmax(200px, 320px) 1fr; gap: var(--s5); padding: var(--s5) 0; border-bottom: 1px solid var(--rule); }
.stand h3 { font-size: var(--t-md); margin: 0; }
.stand h3 a { text-decoration: none; color: var(--purple-deep); }
.stand h3 a:hover { text-decoration: underline; }
.stand p { margin: 0; }
@media (max-width: 760px) { .stand li { grid-template-columns: 1fr; gap: var(--s2); } }

/* Publications */
.plist { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--rule); }
.post-row { display: grid; grid-template-columns: 7rem 1fr 150px; gap: var(--s5); padding: var(--s5) 0; border-bottom: 1px solid var(--rule); align-items: start; }
.post-row time { font-size: var(--t-sm); color: var(--purple-mid); line-height: 1.3; }
.post-row time b { display: block; font-family: var(--f-display); font-weight: 400; font-size: var(--t-xl); color: var(--purple); }
.post-row h2 { font-size: var(--t-md); line-height: 1.3; margin: .2rem 0 .4rem; }
.post-row h2 a { text-decoration: none; color: var(--purple-deep); }
.post-row h2 a:hover { text-decoration: underline; }
.post-row p { margin: 0; font-size: var(--t-sm); color: var(--ink); }
.post-row img { width: 150px; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--r-sm); background: var(--haze); }
.cat-line { display: flex; gap: .4rem; flex-wrap: wrap; }
.cat-line span { font-size: var(--t-xs); font-weight: 600; color: var(--gold-dark); }
.cat-line span + span::before { content: "/"; margin-right: .4rem; color: var(--rule); }
@media (max-width: 760px) { .post-row { grid-template-columns: 1fr; gap: var(--s2); } .post-row img { display: none; } .post-row time b { display: inline; font-size: var(--t-base); margin-right: .3rem; } }
.post-meta { display: flex; flex-wrap: wrap; gap: var(--s4); color: var(--lilac); font-size: var(--t-sm); margin-top: var(--s4); }
.post-meta span { display: inline-flex; gap: .4rem; align-items: center; }
.post-meta svg { width: 16px; height: 16px; color: var(--gold); }
.pager { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4); margin-top: var(--s7); border-top: 1px solid var(--rule); padding-top: var(--s5); }
.pager a { text-decoration: none; display: block; padding: var(--s4); border-radius: var(--r-md); background: var(--white); border: 1px solid var(--rule); font-size: var(--t-sm); color: var(--ink); line-height: 1.4; }
.pager a:hover { border-color: var(--purple); }
.pager small { display: block; color: var(--gold-dark); font-weight: 600; margin-bottom: .25rem; }
.pager .next { text-align: right; grid-column: 2; }
@media (max-width: 640px) { .pager { grid-template-columns: 1fr; } .pager .next { grid-column: 1; text-align: left; } }
.stub-note { background: var(--white); border: 1px dashed var(--rule); padding: var(--s4); border-radius: var(--r-md); color: var(--purple-mid); font-size: var(--t-sm); font-family: var(--f-sans); }

/* Gallery */
.album { margin-bottom: var(--s8); }
.album-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s4); flex-wrap: wrap; margin-bottom: var(--s4); }
.album-head h2 { margin: 0; font-size: var(--t-xl); }
.album-head span { color: var(--purple-mid); font-size: var(--t-sm); }
.ggrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.ggrid button { display: block; width: 100%; padding: 0; border: 0; background: var(--purple); cursor: zoom-in; border-radius: var(--r-sm); overflow: hidden; aspect-ratio: 3/2; }
.ggrid img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease, opacity .2s; }
.ggrid button:hover img { transform: scale(1.04); opacity: .92; }
.ggrid li.more-hidden { display: none; }
.show-more { margin-top: var(--s4); }
.lightbox { position: fixed; inset: 0; z-index: 90; background: rgba(20, 10, 30, .94); display: grid; grid-template-rows: auto 1fr auto; padding: var(--s4); color: var(--white); }
.lightbox[hidden] { display: none; }
.lb-bar { display: flex; justify-content: space-between; align-items: center; gap: var(--s4); }
.lb-stage { display: grid; place-items: center; min-height: 0; }
.lb-stage img { max-width: 100%; max-height: calc(100vh - 9rem); object-fit: contain; border-radius: var(--r-sm); }
.lb-nav { display: flex; justify-content: center; gap: var(--s3); }
.lb-btn { min-height: 44px; min-width: 44px; padding: .5rem 1rem; border-radius: 999px; border: 1.5px solid rgba(255,255,255,.5); background: transparent; color: var(--white); font: 600 var(--t-sm) var(--f-sans); cursor: pointer; display: inline-flex; align-items: center; gap: .4rem; }
.lb-btn:hover { background: rgba(255,255,255,.12); }
.lb-btn svg { width: 18px; height: 18px; }
.video-card { position: relative; aspect-ratio: 16/9; background: var(--purple-deep) var(--poster, none) center / cover; border-radius: var(--r-md); overflow: hidden; max-width: 880px; }
.video-card button { position: absolute; inset: 0; width: 100%; border: 0; background: linear-gradient(0deg, rgba(34,18,47,.8), rgba(34,18,47,.25)); color: var(--white); cursor: pointer; display: grid; place-items: center; font: 600 var(--t-base) var(--f-sans); }
.video-card .play { width: 76px; height: 76px; border-radius: 50%; background: var(--gold); display: grid; place-items: center; margin: 0 auto var(--s3); }
.video-card .play svg { width: 28px; height: 28px; color: var(--purple-deep); margin-left: 4px; }
.video-card iframe, .video-card video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Calendar */
.cal-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
@media (max-width: 1000px) { .cal-wrap { grid-template-columns: 1fr; } }
.cal { background: var(--white); border: 1px solid var(--rule); border-radius: var(--r-md); overflow: hidden; }
.cal-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); padding: var(--s4); border-bottom: 1px solid var(--rule); flex-wrap: wrap; }
.cal-head h2 { margin: 0; font-size: var(--t-xl); min-width: 10ch; }
.cal-head .grp { display: flex; gap: .4rem; flex-wrap: wrap; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.cal-grid .dow { padding: .55rem .5rem; font-size: var(--t-xs); font-weight: 600; color: var(--purple-mid); background: var(--paper); border-bottom: 1px solid var(--rule); text-align: left; }
.cal-day { min-height: 6.5rem; padding: .45rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); font-size: var(--t-xs); }
.cal-day:nth-child(7n) { border-right: 0; }
.cal-day.out { background: #FBFAFD; }
.cal-day .dn { font-weight: 600; font-size: var(--t-sm); color: var(--ink); display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; }
.cal-row { display: contents; }
.cal-day.out .dn { color: #75678C; }
.cal-day.today .dn { background: var(--purple); color: var(--white); }
.cal-day .ev { display: block; margin-top: .3rem; padding: .25rem .4rem; border-radius: 4px; line-height: 1.25; font-weight: 600; }
@media (max-width: 700px) { .cal-day { min-height: 3.6rem; padding: .25rem; } .cal-day .ev-t { display: none; } .cal-day .ev { padding: 0; width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin: .2rem .15rem 0 0; } .cal-day .ev.t-ceremony { background: #C9A13B; } .cal-day .ev.t-meeting { background: var(--purple); } .cal-day .ev.t-dinner { background: #8A4A96; } .cal-day .ev.t-screening { background: #3D6E8C; } .cal-day .ev.t-lecture { background: #5B8A37; } .cal-day .ev.t-holiday { background: #B0533E; } }
.key { list-style: none; margin: 0; padding: var(--s4); display: flex; flex-wrap: wrap; gap: .5rem; border-top: 1px solid var(--rule); }
.cal-side { display: grid; gap: var(--s5); }
.cal-side .events .event { grid-template-columns: 4rem 1fr; }
.cal-side .event-type { grid-column: 2; justify-self: start; }

/* Forms */
.form-card { background: var(--white); border: 1px solid var(--rule); border-radius: var(--r-md); padding: clamp(1.25rem, 3vw, 2.25rem); }
.field { margin-bottom: var(--s5); }
.field label { display: block; font-weight: 600; margin-bottom: .35rem; }
.field .hint { display: block; font-size: var(--t-sm); color: var(--purple-mid); margin: -.15rem 0 .45rem; }
.field input, .field textarea, .field select { width: 100%; min-height: 48px; padding: .7rem .85rem; border: 1.5px solid #C9BFD8; border-radius: var(--r-sm); font: var(--t-base) var(--f-sans); background: var(--paper); color: var(--ink); }
.field textarea { min-height: 140px; resize: vertical; }
.field input:focus, .field textarea:focus { border-color: var(--purple); outline: none; box-shadow: 0 0 0 3px rgba(201, 161, 59, .45); background: var(--white); }
.field [aria-invalid="true"] { border-color: #A3311B; }
.field .err { color: #A3311B; font-size: var(--t-sm); margin-top: .35rem; display: block; }
.req { color: #A3311B; }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--s5); }
@media (max-width: 640px) { .row2 { grid-template-columns: 1fr; } }
.alert { padding: var(--s4); border-radius: var(--r-sm); margin-bottom: var(--s5); font-size: var(--t-sm); border-left: 4px solid var(--gold); background: #FBF6E8; color: #4A3908; }
.alert.ok { border-color: #3C7A35; background: #EDF6EA; color: #1F4A1A; }
fieldset { border: 0; padding: 0; margin: 0 0 var(--s6); }
legend { font-family: var(--f-display); font-size: var(--t-lg); color: var(--purple-deep); margin-bottom: var(--s4); display: flex; align-items: center; gap: .7rem; }
legend .step { font-family: var(--f-sans); width: 2rem; height: 2rem; border-radius: 50%; background: var(--purple); color: var(--white); display: inline-grid; place-items: center; font-size: var(--t-sm); font-weight: 600; }
.contact-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
@media (max-width: 900px) { .contact-grid { grid-template-columns: 1fr; } }
.cinfo { list-style: none; margin: 0 0 var(--s6); padding: 0; }
.cinfo li { display: grid; grid-template-columns: 44px 1fr; gap: var(--s4); padding: var(--s4) 0; border-bottom: 1px solid var(--rule); }
.cinfo svg { width: 22px; height: 22px; color: var(--purple); margin-top: .2rem; }
.cinfo b { display: block; font-size: var(--t-xs); color: var(--purple-mid); font-weight: 600; }
.cinfo a { font-weight: 600; }
.hours { width: 100%; border-collapse: collapse; font-size: var(--t-sm); }
.hours td { padding: .55rem 0; border-bottom: 1px solid var(--rule); }
.hours td:last-child { text-align: right; font-weight: 600; }
.map { margin-top: var(--s6); border-radius: var(--r-md); overflow: hidden; border: 1px solid var(--rule); aspect-ratio: 4/3; background: var(--haze); }
.map iframe { width: 100%; height: 100%; border: 0; }
.embed-frame { width: 100%; min-height: 900px; border: 1px solid var(--rule); border-radius: var(--r-md); background: var(--white); }

/* Footer */
.site-footer { background: var(--purple-deep); color: var(--lilac); font-size: var(--t-sm); }
.site-footer .facing-band { height: 14px; }
.foot { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--s6); padding-block: var(--s8) var(--s6); }
.foot h2 { font-family: var(--f-sans); font-weight: 600; font-size: var(--t-sm); color: var(--gold-bright); margin-bottom: var(--s4); letter-spacing: .02em; }
.foot ul { list-style: none; margin: 0; padding: 0; }
.foot li { margin-bottom: .55rem; }
.foot a { color: var(--lilac); text-decoration: none; }
.foot a:hover { color: var(--white); text-decoration: underline; }
.foot-brand img { width: 72px; height: 72px; margin-bottom: var(--s4); }
.foot-brand p { max-width: 30rem; }
.foot-brand .fname { font-family: var(--f-display); font-size: var(--t-lg); color: var(--white); margin-bottom: var(--s3); }
.foot-contact li { display: flex; gap: .6rem; }
.foot-contact svg { width: 16px; height: 16px; color: var(--gold); flex: none; margin-top: .25rem; }
.foot-base { border-top: 1px solid rgba(217, 207, 230, .18); padding-block: var(--s5); display: flex; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; color: var(--lilac-dim); font-size: var(--t-xs); }
@media (max-width: 980px) { .foot { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .foot { grid-template-columns: 1fr; } }

/* Preview banner for unconnected features */
.preview-note { background: #FBF6E8; border-bottom: 1px solid #E8D9A8; color: #4A3908; font-size: var(--t-xs); text-align: center; padding: .45rem 1rem; }

/* 404 */
.notfound { text-align: center; padding-block: var(--s9); }
.notfound .code { font-family: var(--f-display); font-size: clamp(5rem, 15vw, 9rem); color: var(--purple); line-height: 1; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media print {
  .utility, .site-header, .site-footer, .tools, .btn, .cal-head .grp, .preview-note { display: none !important; }
  body { background: #fff; }
  .page-head { background: #fff; color: #000; }
  .page-head h1 { color: #000; }
}

/* ================= Home stage (hero) =================
   Three arched panels of Call to Bar photographs, divided by gown-facing stripes.
   One orchestrated entrance: panels rise, the Charge reveals phrase by phrase, the figure counts up. */
.stage { position: relative; overflow: hidden; color: var(--white); background:
  radial-gradient(60rem 40rem at 85% -10%, rgba(201, 161, 59, .16), transparent 60%),
  radial-gradient(50rem 36rem at 10% 110%, rgba(94, 76, 120, .55), transparent 60%),
  var(--purple-deep); isolation: isolate; }
.stage::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .07; background-image: repeating-linear-gradient(90deg, var(--gold) 0 1px, transparent 1px 72px); mask-image: linear-gradient(180deg, #000, transparent 75%); -webkit-mask-image: linear-gradient(180deg, #000, transparent 75%); }
.stage-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.3fr); gap: clamp(2rem, 3.5vw, 3rem); align-items: center; padding-block: clamp(2rem, 4vw, 3.25rem) clamp(2rem, 4vw, 3rem); }
.stage .hero-actions { gap: var(--s2) var(--s4); }
.stage-mark { display: flex; align-items: center; gap: .9rem; margin-bottom: var(--s4); }
.stage-mark img { width: 56px; height: 56px; filter: drop-shadow(0 6px 16px rgba(0,0,0,.35)); }
.stage-mark p { margin: 0; font-weight: 600; font-size: var(--t-sm); color: var(--white); line-height: 1.3; }
.stage-mark span { display: block; font-weight: 400; color: var(--lilac); font-size: var(--t-xs); }
.stage h1 { color: var(--white); font-size: clamp(2.9rem, 1.6rem + 3.2vw, 3.9rem); line-height: .95; letter-spacing: -.015em; margin: 0 0 var(--s4); }
.stage-lead { color: var(--lilac); font-size: var(--t-base); max-width: 33rem; margin-bottom: var(--s5); }
.stage-charge { margin: 0 0 var(--s5); padding: var(--s2) 0 var(--s2) var(--s5); border-left: 2px solid var(--gold); max-width: 36rem; }
.stage-charge blockquote { margin: 0; }
.stage-charge blockquote p { font-family: var(--f-display); font-size: clamp(1.2rem, .95rem + .8vw, 1.5rem); line-height: 1.28; color: var(--white); margin: 0 0 var(--s3); }
.stage-charge .gold { color: var(--gold-bright); }
.stage-charge figcaption { font-size: var(--t-xs); color: var(--lilac-dim); }
.stage .hero-actions { margin-top: 0; }

.triptych { position: relative; display: grid; grid-template-columns: 1fr 12px 1.1fr 12px 1fr; gap: 8px; align-items: end; height: clamp(300px, 44vh, 400px); }
.triptych { margin-right: calc(-1 * max(0px, (100vw - 75rem) / 2 + 2rem - 24px)); }
.pane { position: relative; height: calc(100% - var(--drop, 0px)); overflow: hidden; border-radius: 200px 200px 6px 6px; background: var(--purple); box-shadow: 0 30px 60px -30px rgba(0,0,0,.6), inset 0 0 0 1px rgba(226, 196, 111, .35); }
.pane:nth-of-type(1) { --drop: 28px; }
.pane:nth-of-type(3) { --drop: 56px; }
.pane img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; opacity: 0; transform: scale(1.02); transition: opacity 1.6s ease, transform 9s linear; }
.pane img.on { opacity: 1; transform: scale(1.06); }
.pane::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(34, 18, 47, .55)); pointer-events: none; }
.seam { align-self: stretch; margin-block: 18% 6%; border-radius: 2px; background: linear-gradient(90deg, var(--gold) 0 4px, var(--purple) 4px 8px, var(--gold) 8px 12px); }
.pause { position: absolute; right: 10px; bottom: 10px; width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.6); background: rgba(34, 18, 47, .65); color: var(--white); display: grid; place-items: center; cursor: pointer; z-index: 2; }
.pause[hidden] { display: none; }
.pause:hover { background: var(--purple-deep); border-color: var(--gold-bright); }
.pause svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pause .i-play { display: none; fill: currentColor; }
.pause[aria-pressed="true"] .i-pause { display: none; }
.pause[aria-pressed="true"] .i-play { display: block; }

.stage-bar { border-top: 1px solid rgba(217, 207, 230, .16); background: rgba(255, 255, 255, .04); }
.stage-bar-grid { display: grid; grid-template-columns: 1.1fr 1.3fr .9fr; }
.sb-item { display: block; padding: var(--s4) var(--s5) var(--s4) 0; text-decoration: none; color: var(--white); min-width: 0; }
.sb-item + .sb-item { padding-left: var(--s5); border-left: 1px solid rgba(217, 207, 230, .16); }
a.sb-item:hover .sb-main { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: .2em; }
.sb-label { display: block; font-size: var(--t-xs); font-weight: 600; color: var(--gold-bright); margin-bottom: .3rem; }
.sb-main { display: block; font-weight: 600; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sb-when { display: block; color: var(--lilac); font-size: var(--t-sm); margin-top: .25rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sb-num { display: block; font-family: var(--f-display); font-size: clamp(2.2rem, 1.6rem + 1.6vw, 3rem); line-height: 1; color: var(--gold-bright); font-variant-numeric: tabular-nums; }

@media (max-width: 1100px) {
  .stage-grid { grid-template-columns: 1fr; min-height: 0; padding-top: var(--s5); }
  .triptych { margin-right: 0; order: -1; height: clamp(190px, 46vw, 360px); grid-template-columns: 1fr 8px 1.1fr 8px 1fr; gap: 5px; }
  .pane:nth-of-type(1) { --drop: 16px; } .pane:nth-of-type(3) { --drop: 32px; }
  .stage-bar-grid { grid-template-columns: 1fr; }
  .sb-item, .sb-item + .sb-item { padding: var(--s4) 0; border-left: 0; border-top: 1px solid rgba(217, 207, 230, .16); }
  .sb-item:first-child { border-top: 0; }
}
@media (max-width: 520px) {
  .triptych { grid-template-columns: 1fr 8px 1.1fr 8px 1fr; gap: 4px; margin-inline: -.5rem; }
  .seam { background: linear-gradient(90deg, var(--gold) 0 3px, var(--purple) 3px 5px, var(--gold) 5px 8px); }
  .stage-mark img { width: 52px; height: 52px; }
}

/* Entrance — only when motion is welcome */
@media (prefers-reduced-motion: no-preference) {
  .stage.is-ready .pane { animation: pane-rise 1.1s cubic-bezier(.2, .7, .1, 1) both; animation-delay: calc(var(--p) * 150ms); }
  .stage.is-ready .seam { animation: seam-grow .9s ease-out .45s both; transform-origin: top; }
  .stage.is-ready .ph { animation: ph-in .8s ease-out both; animation-delay: calc(700ms + var(--i) * 420ms); }
}
@keyframes pane-rise { from { clip-path: inset(100% 0 0 0 round 200px 200px 6px 6px); transform: translateY(24px); } to { clip-path: inset(0 0 0 0 round 200px 200px 6px 6px); transform: none; } }
@keyframes seam-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes ph-in { from { opacity: 0; filter: blur(4px); } to { opacity: 1; filter: none; } }

.is-style-icon-scales::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v18M5%2021h14M4%207h16M7%207l-3%207a3%203%200%200%200%206%200L7%207Zm10%200-3%207a3%203%200%200%200%206%200l-3-7ZM12%203l-2%202h4l-2-2Z%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v18M5%2021h14M4%207h16M7%207l-3%207a3%203%200%200%200%206%200L7%207Zm10%200-3%207a3%203%200%200%200%206%200l-3-7ZM12%203l-2%202h4l-2-2Z%22/%3E%3C/svg%3E"); }
.is-style-icon-gavel::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m14%204%206%206M11.5%206.5l6%206M13%205l-4.5%204.5%206%206L19%2011M10.5%2011%203%2018.5%205.5%2021%2013%2013.5M4%2021h9%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m14%204%206%206M11.5%206.5l6%206M13%205l-4.5%204.5%206%206L19%2011M10.5%2011%203%2018.5%205.5%2021%2013%2013.5M4%2021h9%22/%3E%3C/svg%3E"); }
.is-style-icon-column::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%205h16M5%205l1-2h12l1%202M6%208h12M7%208v10M10%208v10M14%208v10M17%208v10M5%2018h14M4%2021h16%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%205h16M5%205l1-2h12l1%202M6%208h12M7%208v10M10%208v10M14%208v10M17%208v10M5%2018h14M4%2021h16%22/%3E%3C/svg%3E"); }
.is-style-icon-section::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ctext%20x%3D%2212%22%20y%3D%2218%22%20text-anchor%3D%22middle%22%20font-family%3D%22Georgia%2C%20serif%22%20font-size%3D%2220%22%20fill%3D%22%23000%22%20stroke%3D%22none%22%3E%C2%A7%3C/text%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ctext%20x%3D%2212%22%20y%3D%2218%22%20text-anchor%3D%22middle%22%20font-family%3D%22Georgia%2C%20serif%22%20font-size%3D%2220%22%20fill%3D%22%23000%22%20stroke%3D%22none%22%3E%C2%A7%3C/text%3E%3C/svg%3E"); }
.is-style-icon-book::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%204.5A1.5%201.5%200%200%201%205.5%203H20v15H5.5A1.5%201.5%200%200%200%204%2019.5v-15ZM4%2019.5A1.5%201.5%200%200%200%205.5%2021H20M8%207h8M8%2010.5h6%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%204.5A1.5%201.5%200%200%201%205.5%203H20v15H5.5A1.5%201.5%200%200%200%204%2019.5v-15ZM4%2019.5A1.5%201.5%200%200%200%205.5%2021H20M8%207h8M8%2010.5h6%22/%3E%3C/svg%3E"); }
.is-style-icon-scroll::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%203h11a2%202%200%200%201%202%202v1h-4M7%203a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V6M7%203a2%202%200%200%201%202%202v1M9%2010h7M9%2013.5h7M9%2017h4%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%203h11a2%202%200%200%201%202%202v1h-4M7%203a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V6M7%203a2%202%200%200%201%202%202v1M9%2010h7M9%2013.5h7M9%2017h4%22/%3E%3C/svg%3E"); }
.is-style-icon-shield::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203%204.5%206v5.5c0%204.6%203.2%208.4%207.5%209.5%204.3-1.1%207.5-4.9%207.5-9.5V6L12%203Zm-3%209%202%202%204-4%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203%204.5%206v5.5c0%204.6%203.2%208.4%207.5%209.5%204.3-1.1%207.5-4.9%207.5-9.5V6L12%203Zm-3%209%202%202%204-4%22/%3E%3C/svg%3E"); }
.is-style-icon-people::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2011a3.5%203.5%200%201%200%200-7%203.5%203.5%200%200%200%200%207ZM2.5%2020a6.5%206.5%200%200%201%2013%200M16%204.3a3.5%203.5%200%200%201%200%206.4M18%2014.2A6.5%206.5%200%200%201%2021.5%2020%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2011a3.5%203.5%200%201%200%200-7%203.5%203.5%200%200%200%200%207ZM2.5%2020a6.5%206.5%200%200%201%2013%200M16%204.3a3.5%203.5%200%200%201%200%206.4M18%2014.2A6.5%206.5%200%200%201%2021.5%2020%22/%3E%3C/svg%3E"); }
.is-style-icon-ledger::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203h12l2%202v16H5V3ZM9%203v18M12%208h4M12%2011.5h4M12%2015h4%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203h12l2%202v16H5V3ZM9%203v18M12%208h4M12%2011.5h4M12%2015h4%22/%3E%3C/svg%3E"); }
.is-style-icon-torch::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203c2%202.2%203%203.8%203%205.2A3%203%200%200%201%2012%2011a3%203%200%200%201-3-2.8C9%206.8%2010%205.2%2012%203ZM8.5%2011h7l-1.5%204h-4l-1.5-4ZM10%2015h4l-1%206h-2l-1-6Z%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203c2%202.2%203%203.8%203%205.2A3%203%200%200%201%2012%2011a3%203%200%200%201-3-2.8C9%206.8%2010%205.2%2012%203ZM8.5%2011h7l-1.5%204h-4l-1.5-4ZM10%2015h4l-1%206h-2l-1-6Z%22/%3E%3C/svg%3E"); }
.is-style-icon-seal::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2014a5.5%205.5%200%201%200%200-11%205.5%205.5%200%200%200%200%2011Zm-3.5%200L7%2021l5-2.5%205%202.5-1.5-7M12%206v5M9.5%208.5h5%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2014a5.5%205.5%200%201%200%200-11%205.5%205.5%200%200%200%200%2011Zm-3.5%200L7%2021l5-2.5%205%202.5-1.5-7M12%206v5M9.5%208.5h5%22/%3E%3C/svg%3E"); }
.is-style-icon-search::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%226.5%22/%3E%3Cpath%20d%3D%22m16%2016%204.5%204.5%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%226.5%22/%3E%3Cpath%20d%3D%22m16%2016%204.5%204.5%22/%3E%3C/svg%3E"); }
.is-style-icon-building::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021h18M5%2021V10l7-5%207%205v11M9%2021v-5h6v5M8.5%2012.5h.01M12%2012.5h.01M15.5%2012.5h.01%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021h18M5%2021V10l7-5%207%205v11M9%2021v-5h6v5M8.5%2012.5h.01M12%2012.5h.01M15.5%2012.5h.01%22/%3E%3C/svg%3E"); }
.is-style-icon-laurel::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021c-4-2-7-6-7-11M12%2021c4-2%207-6%207-11M6%2013c1.5%200%203%20.7%203.5%202M5%209.5c1.5.3%202.6%201.2%203%202.5M5.5%206c1.2.6%202%201.6%202.2%203M18%2013c-1.5%200-3%20.7-3.5%202M19%209.5c-1.5.3-2.6%201.2-3%202.5M18.5%206c-1.2.6-2%201.6-2.2%203%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021c-4-2-7-6-7-11M12%2021c4-2%207-6%207-11M6%2013c1.5%200%203%20.7%203.5%202M5%209.5c1.5.3%202.6%201.2%203%202.5M5.5%206c1.2.6%202%201.6%202.2%203M18%2013c-1.5%200-3%20.7-3.5%202M19%209.5c-1.5.3-2.6%201.2-3%202.5M18.5%206c-1.2.6-2%201.6-2.2%203%22/%3E%3C/svg%3E"); }

/* =====================================================================
   WordPress layer: header, navigation, templates and core block styles
   ===================================================================== */
body { margin: 0; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.visually-hidden, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Header: the top bar scrolls away, the white bar with the menu stays */
header.wp-block-template-part { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) - 38px); z-index: 50; }
.utility .wrap { min-height: 38px; flex-wrap: nowrap; }
.site-header { background: var(--white); border-bottom: 1px solid var(--rule); padding-inline: clamp(1rem, 3vw, 2rem); }
.site-header > .header-inner { min-height: var(--header-h); gap: var(--s5); }
.brand { display: flex; align-items: center; gap: .85rem; text-decoration: none; color: var(--purple-deep); flex: none; }
.brand img { width: 58px; height: 58px; }

/* Core Navigation block */
.main-nav { font-family: var(--f-sans); }
.main-nav .wp-block-navigation__container { gap: .15rem; }
.main-nav .wp-block-navigation-item__content { padding: .65rem .8rem !important; border-radius: var(--r-sm); font-weight: 600; font-size: var(--t-sm); color: var(--ink); text-decoration: none; }
.main-nav .wp-block-navigation-item__content:hover, .main-nav .wp-block-navigation-item__content:focus-visible { background: var(--haze); color: var(--purple-deep); }
.main-nav .current-menu-item > .wp-block-navigation-item__content, .main-nav [aria-current="page"] { color: var(--purple); box-shadow: inset 0 -3px 0 var(--gold); }
.main-nav .wp-block-navigation-submenu__toggle { padding: .65rem .8rem !important; font-weight: 600; font-size: var(--t-sm); border-radius: var(--r-sm); }
.main-nav .wp-block-navigation-submenu__toggle:hover, .main-nav .wp-block-navigation-submenu__toggle[aria-expanded="true"] { background: var(--haze); }
.main-nav .wp-block-navigation__submenu-icon { margin-left: 0; margin-right: .75rem; }
.main-nav .has-child > .wp-block-navigation-submenu__toggle { padding-right: .3rem !important; }
.main-nav .wp-block-navigation__submenu-container { background: var(--white) !important; border: 1px solid var(--rule) !important; border-top: 4px solid var(--gold) !important; border-radius: 0 0 var(--r-md) var(--r-md); padding: var(--s3) !important; min-width: 300px !important; box-shadow: 0 18px 40px -18px rgba(34, 18, 47, .35); }
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-weight: 400; line-height: 1.35; padding: .55rem .7rem !important; box-shadow: none; }
@media (min-width: 600px) {
  .main-nav .wp-block-navigation-submenu.is-wide > .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: repeat(2, minmax(240px, 1fr)); width: min(640px, 80vw); left: auto !important; right: -6rem; }
}
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-height: 44px; min-width: 44px; display: inline-grid; place-items: center; border-radius: 999px; }
.wp-block-navigation__responsive-container-open { background: var(--purple) !important; color: var(--white) !important; padding: 0 .9rem; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--purple-deep) !important; color: var(--white) !important; padding: 1.25rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--white) !important; font-size: var(--t-base) !important; padding: .7rem .25rem !important; box-shadow: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; border: 0 !important; box-shadow: none; padding: 0 0 .5rem .75rem !important; min-width: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--lilac) !important; font-size: var(--t-sm) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover { background: rgba(255,255,255,.08); }
.wp-block-navigation__responsive-container-close { color: var(--white); border: 1.5px solid rgba(255,255,255,.5); }

/* Page heading band */
.page-head { padding-inline: clamp(1rem, 3vw, 2rem); }
.page-head .ph-inner { position: relative; padding-block: clamp(2.25rem, 5vw, 3.75rem); padding-left: calc(14px + clamp(1rem, 3vw, 2rem)); }
.page-head .ph-inner::before { content: ""; position: absolute; left: 0; top: clamp(2.25rem, 5vw, 3.75rem); bottom: clamp(2.25rem, 5vw, 3.75rem); width: 14px; background: linear-gradient(90deg, var(--gold) 0 5px, var(--purple-deep) 5px 9px, var(--gold) 9px 14px); border-radius: 2px; }
.page-head .wp-block-post-title { color: var(--white); margin: .35rem 0 0; max-width: 24ch; font-size: clamp(2.2rem, 1.4rem + 3.2vw, var(--t-4xl)); }
.page-head .ph-lead { color: var(--lilac); max-width: 46rem; margin: var(--s4) 0 0; font-size: var(--t-md); }
.page-head .post-meta { color: var(--lilac); margin-top: var(--s4); font-size: var(--t-sm); gap: var(--s4); }
.page-head .post-meta a { color: var(--gold-bright); }

/* Page body and readable text width */
.page-body { padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1rem, 3vw, 2rem); }
.entry > p, .entry > h2, .entry > h3, .entry > h4, .entry > .wp-block-list, .entry > .wp-block-quote, .entry > .wp-block-details { max-width: 72ch; }
.entry > .wp-block-heading:not(:first-child) { margin-top: var(--s7); }
.entry .wp-block-columns { gap: clamp(1.5rem, 4vw, 3.5rem); }
.single .entry { font-family: var(--f-serif); }
.single .entry p, .single .entry li { font-size: 1.1875rem; line-height: 1.8; }
.entry img { border-radius: var(--r-sm); }
.with-aside { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
@media (max-width: 960px) { .with-aside { grid-template-columns: 1fr; } }
.bob-h { font-size: var(--t-xl); }
h2.bob-people-title { font-size: var(--t-xl); margin-top: var(--s6); }
.bob-people + .bob-people { margin-top: var(--s7); }
.wp-block-buttons { gap: var(--s3); }
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; }

/* Front page sections (full width backgrounds, 1200px content) */
.wp-block-group.is-style-section, .wp-block-group.is-style-section-white, .wp-block-group.is-style-section-haze, .wp-block-group.is-style-section-dark { padding: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 3vw, 2rem); margin: 0; }
.is-style-section-white { background: var(--white); }
.is-style-section-haze { background: var(--haze); }
.is-style-section-dark { background: var(--purple-deep); color: var(--lilac); }
.is-style-section-dark :where(h2, h3) { color: var(--white); }
.entry .wp-block-group[class*="is-style-section"] { border-radius: var(--r-md); padding: clamp(1.5rem, 4vw, 3rem); margin-block: var(--s6); }
.home .entry .wp-block-group[class*="is-style-section"] { border-radius: 0; margin: 0; padding: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 3vw, 2rem); }
.home .entry > * { margin-block: 0; }
.wp-block-group.is-style-card { background: var(--white); border: 1px solid var(--rule); border-radius: var(--r-md); padding: var(--s5); }
.wp-block-group.is-style-facing { position: relative; background: var(--white); border: 1px solid var(--rule); border-left: 0; border-radius: 0 var(--r-md) var(--r-md) 0; padding: clamp(1.5rem, 4vw, 2.75rem) clamp(1.5rem, 4vw, 2.75rem) clamp(1.5rem, 4vw, 2.75rem) calc(14px + clamp(1.5rem, 4vw, 2.75rem)); }
.wp-block-group.is-style-facing::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 14px; background: linear-gradient(90deg, var(--gold) 0 5px, var(--purple-deep) 5px 9px, var(--gold) 9px 14px); }

/* Heading styles */
.wp-block-heading.is-style-marked { padding-left: var(--s4); border-left: 4px solid var(--gold); }
.wp-block-heading[class*="is-style-icon-"]::before { content: ""; display: block; width: 52px; height: 52px; margin-bottom: var(--s4); background: var(--purple); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }

/* Paragraph styles */
p.is-style-statute { font-family: var(--f-serif); font-size: clamp(1.25rem, 1rem + .9vw, 1.6rem); line-height: 1.55; color: var(--purple-deep); max-width: 52rem !important; }
p.is-style-kicker { font-size: var(--t-xs); font-weight: 600; color: var(--gold-dark); margin-bottom: .25rem; }
.is-style-section-dark p.is-style-kicker, .on-dark p.is-style-kicker { color: var(--gold-bright); }
p.is-style-notice { padding: var(--s4); border-radius: var(--r-sm); border-left: 4px solid var(--gold); background: #FBF6E8; color: #4A3908; font-size: var(--t-sm); font-family: var(--f-sans); }
p.is-style-title-line { font-family: var(--f-serif); font-style: italic; color: var(--gold-dark); font-size: var(--t-md); margin-top: -.5rem; }

/* List styles */
.wp-block-list.is-style-roman { list-style: none; counter-reset: c; padding: 0; }
.wp-block-list.is-style-roman li { padding: .75rem 0 .75rem 2.4rem; position: relative; border-bottom: 1px solid var(--rule); counter-increment: c; margin: 0; }
.wp-block-list.is-style-roman li::before { content: counter(c, lower-roman) "."; position: absolute; left: 0; top: .75rem; font-family: var(--f-display); color: var(--gold-dark); font-size: var(--t-md); line-height: 1.3; }
.wp-block-list.is-style-facts { list-style: none; padding: 0; border-top: 1px solid var(--rule); font-size: var(--t-sm); }
.wp-block-list.is-style-facts li { display: flex; justify-content: space-between; gap: var(--s4); padding: .65rem 0; border-bottom: 1px solid var(--rule); margin: 0; text-align: right; font-weight: 600; }
.wp-block-list.is-style-facts li strong { font-weight: 400; color: var(--purple-mid); text-align: left; }
.wp-block-list.is-style-timeline { list-style: none; padding: 0; position: relative; }
.wp-block-list.is-style-timeline::before { content: ""; position: absolute; left: 6.25rem; top: .4rem; bottom: .4rem; width: 2px; background: var(--rule); }
.wp-block-list.is-style-timeline li { position: relative; padding: 0 0 var(--s5) 8.5rem; margin: 0; font-size: var(--t-sm); color: var(--purple-mid); }
.wp-block-list.is-style-timeline li::before { content: ""; position: absolute; left: calc(6.25rem - 6px); top: .45rem; width: 14px; height: 14px; border-radius: 50%; background: var(--paper); border: 3px solid var(--gold); }
.wp-block-list.is-style-timeline li:last-child::before { background: var(--purple); border-color: var(--purple); }
.wp-block-list.is-style-timeline li strong { position: absolute; left: 0; width: 5.5rem; text-align: right; font-family: var(--f-display); font-weight: 400; color: var(--purple); font-size: var(--t-md); line-height: 1.3; }
.wp-block-list.is-style-timeline li em { display: block; font-style: normal; font-weight: 600; color: var(--ink); font-size: var(--t-base); }
@media (max-width: 520px) { .wp-block-list.is-style-timeline::before { left: .4rem; } .wp-block-list.is-style-timeline li { padding-left: 2rem; } .wp-block-list.is-style-timeline li::before { left: -.05rem; } .wp-block-list.is-style-timeline li strong { position: static; display: block; text-align: left; width: auto; } }
.wp-block-list.is-style-members { list-style: none; padding: 0; columns: 2 18rem; column-gap: var(--s6); }
.wp-block-list.is-style-members li { break-inside: avoid; padding: .7rem 0; border-bottom: 1px solid var(--rule); margin: 0; color: var(--purple-mid); font-size: var(--t-sm); }
.wp-block-list.is-style-members li strong { display: block; color: var(--ink); font-size: var(--t-base); }
.wp-block-list.is-style-names { list-style: none; padding: 0; columns: 3 17rem; column-gap: var(--s6); max-width: none !important; }
.wp-block-list.is-style-names li { break-inside: avoid; padding: .6rem 0; border-bottom: 1px solid var(--rule); font-size: var(--t-sm); margin: 0; }
.wp-block-list.is-style-links { list-style: none; padding: 0; }
.wp-block-list.is-style-links li { margin-bottom: .55rem; }

/* Columns, officers, images, quotes, gallery, details */
.wp-block-columns.is-style-ruled { border-top: 1px solid var(--rule); gap: 0 !important; }
.wp-block-columns.is-style-ruled > .wp-block-column { padding: var(--s6) var(--s5) var(--s5) 0; }
.wp-block-columns.is-style-ruled > .wp-block-column + .wp-block-column { padding-left: var(--s5); border-left: 1px solid var(--rule); }
@media (max-width: 781px) { .wp-block-columns.is-style-ruled > .wp-block-column, .wp-block-columns.is-style-ruled > .wp-block-column + .wp-block-column { padding: var(--s5) 0; border-left: 0; border-bottom: 1px solid var(--rule); } }
.wp-block-column.is-style-officer { background: var(--white); border: 1px solid var(--rule); border-top: 4px solid var(--gold); border-radius: 0 0 var(--r-md) var(--r-md); padding: var(--s5) var(--s4); }
.wp-block-column.is-style-officer h3 { font-size: var(--t-md); line-height: 1.3; margin: .35rem 0 .25rem; }
.wp-block-column.is-style-officer p:last-child { margin: 0; color: var(--purple-mid); font-size: var(--t-sm); }
.wp-block-image.is-style-portrait img, .wp-block-image.is-style-facing img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 50% 15%; border-radius: var(--r-md); background: var(--haze); }
.wp-block-image.is-style-facing { position: relative; margin-left: 14px; }
.wp-block-image.is-style-facing::after { content: ""; position: absolute; left: -14px; top: 10%; bottom: 10%; width: 14px; background: linear-gradient(90deg, var(--gold) 0 5px, var(--purple-deep) 5px 9px, var(--gold) 9px 14px); border-radius: 2px; }
.wp-block-quote { background: var(--white); padding: var(--s5) var(--s5) var(--s5) var(--s6); color: var(--purple-deep); margin-block: var(--s6); }
.wp-block-quote cite { display: block; margin-top: .75rem; font-family: var(--f-sans); font-size: var(--t-sm); font-style: normal; color: var(--purple-mid); }
.wp-block-quote.is-style-pull { background: var(--purple); color: var(--white); border: 0; border-radius: var(--r-md); padding: var(--s6); }
.wp-block-quote.is-style-pull p { font-family: var(--f-display); font-size: var(--t-xl); line-height: 1.25; }
.wp-block-quote.is-style-pull cite { color: var(--gold-bright); }
.wp-block-gallery.is-style-mosaic { display: grid !important; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 180px; gap: 8px !important; }
.wp-block-gallery.is-style-mosaic > figure { width: auto !important; margin: 0 !important; height: 100%; }
.wp-block-gallery.is-style-mosaic > figure:first-child { grid-column: span 2; grid-row: span 2; }
.wp-block-gallery.is-style-mosaic img { height: 100% !important; object-fit: cover; }
@media (max-width: 760px) { .wp-block-gallery.is-style-mosaic { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 140px; } }
.wp-block-gallery figure img { border-radius: var(--r-sm); }
.show-more { margin-top: var(--s4); }
.wp-block-details.is-style-category { border-bottom: 1px solid var(--rule); padding: 0; margin: 0; }
.wp-block-details.is-style-category summary { cursor: pointer; padding: var(--s4) .25rem; font-weight: 600; min-height: 56px; display: flex; align-items: center; gap: var(--s3); }
.wp-block-details.is-style-category > :not(summary) { margin-left: 1.25rem; }
.wp-block-details.is-style-category ul { list-style: none; padding: 0; }
.wp-block-details.is-style-category li { padding: .35rem 0; color: var(--purple-mid); font-size: var(--t-sm); }
.wp-block-details.is-style-category li strong { color: var(--ink); font-weight: 600; font-size: var(--t-base); }
.wp-block-button.is-style-gold .wp-block-button__link { background: var(--gold); color: var(--purple-deep); }
.wp-block-button.is-style-gold .wp-block-button__link:hover { background: var(--gold-bright); color: var(--purple-deep); }
.wp-block-button.is-style-line .wp-block-button__link { background: transparent; color: var(--purple); border: 1.5px solid currentColor; }
.wp-block-button.is-style-line .wp-block-button__link:hover { background: var(--purple); color: var(--white); border-color: var(--purple); }
.wp-block-embed, .wp-block-video { max-width: 880px; }
.wp-block-embed iframe, .wp-block-video video { border-radius: var(--r-md); }
.wp-block-html iframe.embed-frame { width: 100%; min-height: 900px; }

/* Front page details */
.home .wp-block-columns.chair { align-items: center; }
.home .chair-caption small { display: block; color: var(--gold-dark); font-weight: 600; font-size: var(--t-xs); }
.wp-block-latest-posts.is-grid, .wp-block-latest-posts { padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.wp-block-latest-posts li { padding: var(--s4) 0; border-bottom: 1px solid var(--rule); margin: 0 !important; }
.wp-block-latest-posts__post-title { font-family: var(--f-display); font-size: var(--t-md); line-height: 1.3; color: var(--purple-deep); text-decoration: none; display: block; }
.wp-block-latest-posts__post-title:hover { text-decoration: underline; }
.wp-block-latest-posts__post-date { color: var(--purple-mid); font-size: var(--t-sm); margin-top: .25rem; }
.bob-stats { margin: 0 !important; }
.bob-stats .wrap { padding: 0; }

/* Footer */
.site-footer { padding-inline: clamp(1rem, 3vw, 2rem); }
.site-footer .facing-band { height: 14px; margin-inline: calc(-1 * clamp(1rem, 3vw, 2rem)); }
.site-footer .foot { padding-inline: 0; }
.site-footer .wp-block-heading { font-family: var(--f-sans); font-weight: 600; font-size: var(--t-sm); color: var(--gold-bright); margin-bottom: var(--s4); }
.site-footer p { color: var(--lilac); font-size: var(--t-sm); }
.site-footer .fname { font-family: var(--f-display); font-size: var(--t-lg); color: var(--white); }
.site-footer .foot-base { padding-inline: 0; }
.site-footer .foot-base p { margin: 0; color: var(--lilac-dim); font-size: var(--t-xs); }

/* Editor tweaks */
.editor-styles-wrapper .stage .pane img:not(.on) { display: none; }
.editor-styles-wrapper .stage .ph { opacity: 1 !important; }

/* Footer crest and name on the dark band */
.site-footer .brand { color: var(--white); margin-bottom: var(--s4); }
.site-footer .brand img { width: 72px; height: 72px; }
.site-footer .brand-sub { color: var(--gold-bright); }
.site-footer .brand:hover .brand-name, .site-footer .brand:focus-visible .brand-name { text-decoration: underline; text-underline-offset: .2em; }
.editor-styles-wrapper .editor-post-title { color: var(--purple-deep); font-family: var(--f-display); }

/* Mobile menu overlay: left-aligned, readable section labels */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; justify-content: flex-start !important; text-align: left !important; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0 !important; padding-top: 1rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { border-bottom: 1px solid rgba(255,255,255,.12); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle[aria-expanded="true"],
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle:hover { background: transparent !important; color: var(--gold-bright) !important; padding: .9rem .25rem .3rem !important; font-size: var(--t-xs) !important; letter-spacing: .08em; text-transform: uppercase; cursor: default; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 .6rem 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem .25rem !important; }
