/* Governance reader components inside the existing site shell. */
.governance-document * {
  box-sizing:border-box;
}

.governance-document a {
  color:inherit;
  text-underline-offset:4px;
}

.governance-document button,.governance-document input {
  font:inherit;
}

.governance-document button,.governance-document a,.governance-document input {
  touch-action:manipulation;
}

.governance-document button {
  cursor:pointer;
}

.governance-document button:focus-visible,.governance-document a:focus-visible,.governance-document input:focus-visible,.governance-document summary:focus-visible {
  outline:3px solid #267f94;
  outline-offset:4px;
}

.governance-document button {
  border:1px solid var(--line);
  background:var(--paper-light);
  color:var(--navy);
  border-radius:5px;
  padding:.55rem .7rem;
}

.governance-document h1,.governance-document h2,.governance-document h3,.governance-document h4 {
  font-family:Fraunces,Georgia,serif;
}

.governance-document h1 {
  font-size:clamp(2.3rem,5vw,4.2rem);
  line-height:1.1;
  margin:.65rem 0 1rem;
}

.governance-document h2 {
  font-size:1.7rem;
}

.governance-document p {
  line-height:1.7;
}

.governance-document .landing-hero {
  max-width:none;
  padding:clamp(1.5rem,3vw,3rem);
}

.governance-document .landing-hero>p {
  font-size:1.15rem;
  color:#4c5c64;
}

.governance-document .eyebrow {
  font-size:11px;
  letter-spacing:.16em;
  font-weight:700;
  color:#79673c;
}

.governance-document .edition {
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:18px 0;
  color:#5b6365;
  font-size:12px;
}

.governance-document .edition span+span:before {
  content:'·';
  margin:0 12px;
}

.governance-document .hero-actions {
  display:flex;
  align-items:center;
  gap:25px;
  flex-wrap:wrap;
  margin-top:24px;
}

.governance-document .button {
  display:inline-flex;
  flex-direction:column;
  gap:6px;
  background:var(--navy);
  color:white;
  padding:14px 20px;
  border-radius:5px;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
}

.governance-document .button small {
  font-weight:400;
  color:#d6e3e9;
  font-size:11px;
}

.governance-document .text-link {
  font-size:14px;
}

.governance-document .search-panel {
  background:#eae6da;
  border:1px solid var(--line);
  padding:24px;
  border-radius:6px;
  margin-bottom:38px;
}

.governance-document .search-panel label {
  display:block;
  font-weight:700;
  margin-bottom:12px;
}

.governance-document .search-row {
  display:flex;
  gap:10px;
}

.governance-document input[type=search] {
  min-width:0;
  width:100%;
  padding:14px;
  border:1px solid #b5b7b2;
  background:white;
  border-radius:4px;
  font-size:16px;
}

.governance-document .search-panel p:empty,.governance-document .search-panel ol:empty {
  display:none;
}

.governance-document #governance-search-results {
  padding-left:22px;
}

.governance-document #governance-search-results li {
  padding:12px 0;
  border-top:1px solid #c9c6bb;
}

.governance-document #governance-search-results p {
  margin:5px 0;
  font-size:14px;
}

.governance-document .section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.governance-document .section-heading>span,.governance-document .section-heading>a {
  font-size:12px;
  color:#58676c;
}

.governance-document .compact-contents {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
  gap:0 30px;
}

.governance-document .compact-contents a {
  display:flex;
  gap:14px;
  align-items:baseline;
  padding:17px 3px;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  line-height:1.5;
  font-size:14px;
}

.governance-document .compact-contents a:hover {
  background:#e8e2d4;
}

.governance-document .compact-contents a>span:first-child {
  flex:0 0 95px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.035em;
}

.governance-document .compact-contents a>span:last-child {
  margin-left:auto;
}

.governance-document .intro-section {
  margin-top:65px;
}

.governance-document .muted {
  color:#617078;
  font-size:14px;
}

.governance-document .bylaws-list {
  width:100%;
  max-width:none;
}

.governance-document .bylaws-entry {
  margin:24px 0;
  background:#fffdf8;
  border:1px solid var(--line);
}

.governance-document .bylaws-entry header {
  padding:22px 25px;
  background:var(--article-color,#e5dfcf);
  color:var(--article-ink,var(--navy));
}

.governance-document .bylaws-entry header h2 {
  margin:7px 0 0;
  color:inherit;
}

.governance-document .bylaws-entry header .article-number {
  font-size:11px;
  letter-spacing:.12em;
}

.governance-document .bylaws-entry .introduction {
  padding:0 25px;
  font:italic 1.1rem/1.8 Fraunces,Georgia,serif;
}

.governance-document .back-to-top {
  display:inline-block;
  margin:0 25px 20px;
  font-size:11px;
}

.governance-document .edition-details {
  margin-top:45px;
  border-top:1px solid var(--line);
  padding-top:20px;
  font-size:13px;
}

.governance-document .edition-details summary {
  cursor:pointer;
}

.governance-document .edition-details code {
  overflow-wrap:anywhere;
}

.governance-document .reader-hero .article-banner {
  background:var(--article-color,var(--navy));
  color:var(--article-ink,white);
  padding:25px 30px;
  margin:15px 0 0;
  border-radius:3px;
}

.governance-document .reader-hero h1 {
  font-size:clamp(2rem,3.3vw,3rem);
}

.governance-document .reader-hero .article-number {
  font-size:12px;
  letter-spacing:.1em;
}

.governance-document .reader-hero .eyebrow {
  font-size:11px;
}

.governance-document .reader-actions {
  display:flex;
  gap:24px;
  align-items:center;
  flex-wrap:wrap;
  margin:0 0 30px;
  font-size:12px;
}

.governance-document .reader-actions button {
  margin-left:auto;
}

.governance-document .reader-grid {
  display:block;
}

.governance-document .outline-panel {
  position:static;
  border:1px solid var(--line);
  background:#f9f6ed;
  padding:22px 16px;
  margin-bottom:24px;
  border-radius:5px;
}

.governance-document .outline-title {
  display:none;
  font:600 1.3rem Fraunces,Georgia,serif;
}

.governance-document .outline-tools {
  display:flex;
  gap:14px;
  margin:14px 0 20px;
}

.governance-document .outline-tools button {
  padding:0;
  border:0;
  background:transparent;
  text-decoration:underline;
  font-size:11px;
  min-height:30px;
}

.governance-document .governance-outline {
  border:0;
  background:none;
  padding:0;
  max-height:none;
  overflow:visible;
  position:static;
}

.governance-document .governance-outline ol {
  list-style:none;
  padding-left:17px;
  margin:0;
}

.governance-document .governance-outline>ol {
  padding:0;
}

.governance-document .governance-outline li {
  position:relative;
  margin:4px 0;
}

.governance-document .governance-outline a {
  padding:8px 6px;
  font-size:13px;
  line-height:1.5;
  text-decoration:none;
  border-radius:4px;
}

.governance-document .governance-outline a:hover {
  background:#ece7d9;
}

.governance-document .governance-outline a[aria-current] {
  background:#dfe9e9;
  box-shadow:inset 3px 0 #39757d;
  font-weight:700;
}

.governance-document .outline-branch>a {
  margin-right:32px;
}

.governance-document .branch-toggle {
  position:absolute;
  right:0;
  top:2px;
  width:32px;
  height:34px;
  padding:0;
  background:transparent;
  border:0;
  font-size:17px;
}

.governance-document .outline-mobile {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:8px 0;
  border:0;
  background:none;
  font-weight:700;
}

.governance-document .document-body {
  background:var(--paper-light);
  padding:32px 40px;
  border:1px solid var(--line);
  border-radius:5px;
  min-width:0;
}

.governance-document .document-body>p {
  font-family:Fraunces,Georgia,serif;
  font-size:1.1rem;
  line-height:1.85;
}

.governance-document .document-body h2,.governance-document .document-body h3,.governance-document .document-body h4 {
  scroll-margin-top:calc(var(--shell-header-height, 85px) + 1rem);
}

.governance-document .document-body h2 {
  font-size:1.7rem;
}

.governance-document .document-body h3 {
  font-size:1.4rem;
}

.governance-document .document-body h4 {
  font-size:1.2rem;
}

.governance-document .copy-link {
  font:11px 'Public Sans',sans-serif;
  padding:4px 7px;
  margin-left:10px;
  vertical-align:middle;
  opacity:.7;
}

.governance-document .copy-link:hover {
  opacity:1;
}

.governance-document .bylaws-page-nav {
  display:flex;
  justify-content:space-between;
  gap:15px;
  border-top:1px solid var(--line);
  padding-top:24px;
  margin-top:36px;
  font:12px 'Public Sans',sans-serif;
}

.governance-document .document-body .bylaws-figure img {
  max-width:100%;
  height:auto;
}

.governance-document .download-panel {
  margin-top:35px;
  padding:25px 0;
  border-top:1px solid var(--line);
}

.governance-document .download-panel h2 {
  font-size:1.4rem;
}

.governance-document #governance-status:not(:empty) {
  position:fixed;
  bottom:65px;
  left:50%;
  transform:translateX(-50%);
  z-index:100;
  background:var(--navy);
  color:white;
  padding:14px 22px;
  border-radius:8px;
}

.governance-document .source-list-item.level-2 {
  margin-left:2rem;
}

.governance-document [hidden] {
  display:none!important;
}

.governance-document > .search-panel,
.governance-document > #compact-contents,
.governance-document > .intro-section,
.governance-document > .edition-details,
.governance-document > .edition,
.governance-document > .reader-actions,
.governance-document > .reader-grid,
.governance-document > .download-panel {
  margin-inline: clamp(1rem, 2vw, 2rem);
}
.governance-document .reader-hero { padding: clamp(1rem, 2vw, 2rem); }
.governance-document .reader-hero .article-banner h1 { color: inherit; max-width: none; }
.governance-document #governance-outline-content { max-height: 45vh; overflow: auto; }

/* Only pages with an outline reserve a sidebar column. */
@media (min-width: 1600px) {
  .governance-document .reader-grid:has(> .outline-panel) {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    align-items: start;
    gap: 32px;
  }
  .governance-document .outline-panel {
    position: sticky;
    top: calc(var(--shell-header-height, 85px) + 15px);
    max-height: calc(100vh - var(--shell-header-height, 85px) - 90px);
    overflow: auto;
  }
  .governance-document .outline-mobile { display: none; }
  .governance-document .outline-title { display: block; }
  .governance-document #governance-outline-content { max-height: none; overflow: visible; }
}
@media (max-width: 1000px) {
  .governance-document .document-body { padding: 25px; }
}
@media (max-width: 900px) {
  .governance-document .compact-contents { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .governance-document .outline-panel { margin-bottom: 22px; padding: 12px 16px; }
  .governance-document .governance-outline a { padding-block: 12px; }
  .governance-document .branch-toggle { height: 44px; }
  .governance-document .document-body { padding: 20px; }
  .governance-document .reader-actions { gap: 15px; }
  .governance-document .reader-actions button { margin: 0; }
  .governance-document .section-heading { align-items: start; flex-direction: column; gap: 0; margin-bottom: 15px; }
  .governance-document .source-list-item.level-1,
  .governance-document .source-list-item.level-2 { margin-left: .7rem; }
  .governance-document .search-panel { padding: 18px; }
  .governance-document .reader-hero .article-banner { padding: 22px; }
  .governance-document .edition { font-size: 11px; }
}
/* Finger-sized controls apply to phones, tablets and touch-capable wide layouts. */
@media (max-width: 1279px), (pointer: coarse) {
  .governance-document button { min-width: 44px; min-height: 44px; }
  .governance-document .reader-actions a,
  .governance-document .text-link,
  .governance-document .back-to-top { display: inline-flex; align-items: center; min-height: 44px; }
  .governance-document .governance-outline a { min-height: 44px; padding-block: 12px; }
  .governance-document .outline-branch > a { margin-right: 48px; }
  .governance-document .branch-toggle { width: 44px; height: 44px; }
  .governance-document .compact-contents a { min-height: 44px; }
  .governance-document .outline-tools { gap: 24px; }
}
@media print {
  body:has(main.governance-document) .site-header,
  body:has(main.governance-document) .site-footer,
  body:has(main.governance-document) .site-panel,
  body:has(main.governance-document) .site-drawer,
  .governance-document .outline-panel,
  .governance-document .reader-actions,
  .governance-document .copy-link,
  .governance-document .download-panel,
  .governance-document .bylaws-page-nav { display: none !important; }
  body:has(main.governance-document) .site-shell-middle,
  .governance-document .reader-grid { display: block !important; }
  body:has(main.governance-document) .site-shell-content { width: 100% !important; padding: 0 !important; }
  .governance-document .document-body { padding: 0; border: 0; }
  .governance-document .reader-hero .article-banner { color: black; background: white; padding: 0; }
  .governance-document .reader-hero .article-banner h1 { color: #153348 !important; }
}
