/* Shared public shell and editorial components. */
.site-header {
  background:var(--color-midnight);
  color:var(--color-on-dark);
  border-bottom:1px solid #c5a25340;
  position:relative;
  z-index:20
}
.header-inner {
  min-height:var(--header-height);
  display:flex;
  align-items:center;
  gap:2rem
}
.brand {
  display:flex;
  align-items:center;
  gap:.9rem;
  text-decoration:none;
  color:var(--color-ivory)
}
.brand:hover {
  color:var(--color-gold-light)
}
.brand-mark {
  font-family:Georgia,serif;
  font-size:1.45rem;
  letter-spacing:-.08em;
  width:43px;
  height:49px;
  border:var(--border-gold);
  display:grid;
  place-items:center;
  flex-shrink:0;
  color:var(--color-gold-light)
}
.brand-name {
  display:block;
  font-family:var(--font-display);
  font-size:1.35rem;
  line-height:1.25
}
:lang(bn) .brand-name {
  font-family:var(--font-bengali-display);
  line-height:1.5
}
.brand-subline {
  display:block;
  font-size:.61rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--color-muted-dark);
  margin-top:.35rem
}
:lang(bn) .brand-subline {
  letter-spacing:0;
  font-size:.73rem
}
.desktop-nav {
  display:flex;
  align-items:center;
  gap:1.6rem;
  margin-left:auto
}
.desktop-nav a,.language-switch {
  color:var(--color-on-dark);
  font-size:.84rem;
  text-decoration:none;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  border-bottom:1px solid transparent
}
.desktop-nav a:hover,.desktop-nav a[aria-current=page] {
  color:var(--color-gold-light);
  border-bottom-color:var(--color-gold)
}
.language-switch {
  border-left:1px solid #c5a25350;
  padding-left:1.3rem;
  color:var(--color-gold-light);
  white-space:nowrap
}
.mobile-menu {
  display:none
}
.site-footer {
  background:var(--color-midnight);
  color:var(--color-muted-dark);
  border-top:3px solid var(--color-gold-dark);
  padding:3.5rem 0 1.5rem
}
.footer-main {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:3rem
}
.footer-main p {
  max-width:34rem;
  margin-top:1.3rem;
  font-size:.9rem
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:1rem 1.5rem;
  max-width:350px
}
.site-footer a {
  color:var(--color-on-dark)
}
.footer-bottom {
  border-top:1px solid #ffffff20;
  margin-top:2.5rem;
  padding-top:1.3rem;
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  font-size:.76rem
}
.footer-bottom p {
  margin:0
}
.eyebrow {
  font-family:var(--font-body);
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.72rem;
  font-weight:600;
  color:var(--color-gold-dark);
  margin-bottom:1.3rem;
  display:flex;
  align-items:center;
  gap:.85rem
}
.eyebrow::before {
  content:'';
  width:30px;
  height:1px;
  background:var(--color-gold-muted);
  flex-shrink:0
}
:lang(bn) .eyebrow {
  letter-spacing:0;
  font-size:.88rem
}
.dark .eyebrow {
  color:var(--color-gold-light)
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:2rem;
  margin-bottom:2.5rem
}
.section-heading h2 {
  margin:0
}
.section-heading p {
  max-width:29rem;
  margin:0;
  color:var(--color-muted)
}
.button,.timeline-cta,.timeline-pagination a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1.4rem;
  min-height:48px;
  padding:.8rem 1.3rem;
  border:1px solid var(--color-gold-dark);
  border-radius:var(--radius);
  text-decoration:none;
  font-size:.86rem;
  color:var(--color-midnight);
  background:transparent
}
.button:hover,.timeline-cta:hover {
  background:var(--color-parchment)
}
.button-primary {
  background:var(--color-midnight);
  color:var(--color-ivory);
  border-color:var(--color-midnight)
}
.button-primary:hover {
  background:var(--color-slate);
  color:var(--color-ivory)
}
.dark .button {
  border-color:var(--color-gold-muted);
  color:var(--color-ivory)
}
.dark .button:hover {
  background:#ffffff0a
}
.dark .button-primary {
  background:var(--color-ivory);
  color:var(--color-midnight);
  border-color:var(--color-ivory)
}
.button-row {
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:2rem
}
.text-link {
  font-size:.86rem;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:1rem;
  min-height:44px
}
.gold-divider {
  width:48px;
  height:1px;
  background:var(--color-gold);
  margin:1.5rem 0
}
.timeline-breadcrumb,.breadcrumb,.government-page>nav {
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  font-size:.79rem;
  color:var(--color-muted);
  margin-bottom:2rem
}
.timeline-breadcrumb a,.breadcrumb a {
  color:var(--color-muted)
}
.fact-grid,.quick-facts,.government-facts {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  margin:2rem 0;
  border-block:var(--border-subtle);
  background:var(--color-parchment)
}
.fact-grid>div,.quick-facts>div,.government-facts>div {
  padding:1.5rem;
  border-right:var(--border-subtle);
  min-width:0
}
.fact-grid dt,.quick-facts dt,.government-facts dt {
  color:var(--color-muted);
  font-size:.78rem;
  margin-bottom:.5rem
}
.fact-grid dd,.quick-facts dd,.government-facts dd {
  margin:0;
  font-weight:600;
  line-height:1.6
}
.editorial-card,.office-card,.election-card {
  border:var(--border-subtle);
  border-top:2px solid var(--color-gold-muted);
  background:var(--surface-panel);
  padding:2rem;
  min-width:0
}
.office-grid,.election-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));
  gap:1.5rem
}
.office-card h3,.election-card h2 {
  font-size:1.65rem
}
.office-card p {
  color:var(--color-muted);
  font-size:.93rem
}
.prose,.rich-content,.event-body {
  max-width:var(--reading);
  font-size:1.065rem;
  line-height:1.9;
  overflow-wrap:anywhere
}
.prose h2,.rich-content h2,.event-body h2 {
  margin-top:2rem
}
.prose h3,.rich-content h3 {
  margin-top:1.8rem
}
.prose blockquote,.rich-content blockquote {
  border-left:2px solid var(--color-gold);
  padding:1rem 1.5rem;
  margin:2rem 0;
  background:var(--color-parchment)
}
.rich-content img {
  height:auto
}
.prose table,.rich-content table {
  display:block;
  max-width:100%;
  overflow-x:auto;
  border-collapse:collapse
}
.prose td,.prose th,.rich-content td,.rich-content th {
  border:var(--border-subtle);
  padding:.75rem
}
.event-sources,.public-sources,.sources {
  background:var(--color-parchment);
  padding:clamp(1.25rem,3vw,2.5rem);
  border-top:2px solid var(--color-gold-muted);
  margin-top:3.5rem;
  overflow-wrap:anywhere
}
.event-sources h2,.public-sources h2,.sources h2 {
  font-size:1.65rem
}
.event-sources ol,.public-sources ol,.sources ol {
  padding-left:1.5rem;
  margin-bottom:0
}
.event-sources li,.public-sources li,.sources li {
  padding:.9rem .4rem;
  border-bottom:var(--border-subtle);
  font-size:.92rem
}
.event-sources li:last-child,.public-sources li:last-child,.sources li:last-child {
  border-bottom:0
}
.event-sources li::marker,.sources li::marker,.public-sources li::marker {
  color:var(--color-gold-dark);
  font-size:.8rem
}
.event-sources small,.sources small {
  display:block;
  color:var(--color-muted);
  margin-top:.4rem
}
.event-sources a::after,.public-sources a::after,.sources a::after {
  content:' ↗';
  font-size:.8em
}
.citation-links a,.result-reference {
  font-size:.78rem
}
.result-reference {
  display:block;
  margin-top:.5rem
}
.citation-links a {
  display:inline-block;
  padding:.3rem .5rem
}
.empty-state,.timeline-empty,.election-empty {
  border:var(--border-subtle);
  border-left:3px solid var(--color-gold-muted);
  padding:2rem;
  background:var(--color-white);
  color:var(--color-muted)
}
.timeline-filters,.election-filters {
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:1rem;
  background:var(--color-parchment);
  padding:1.5rem;
  border:var(--border-subtle);
  margin:1.5rem 0
}
.timeline-filters label,.election-filters label {
  display:grid;
  gap:.5rem;
  flex:1;
  min-width:125px;
  font-size:.82rem;
  color:var(--color-muted)
}
.timeline-filters label:first-child {
  flex:2
}
.timeline-filters input,.timeline-filters select,.election-filters input,.election-filters select {
  width:100%;
  background:var(--color-white);
  border:1px solid #9b978c;
  border-radius:var(--radius);
  min-height:46px;
  padding:.65rem;
  color:var(--color-text)
}
.timeline-filters button,.election-filters button {
  min-height:46px;
  padding:.65rem 1.3rem;
  background:var(--color-navy);
  color:var(--color-ivory);
  border:1px solid var(--color-navy);
  border-radius:var(--radius)
}
.timeline-filters>a {
  font-size:.8rem;
  min-height:44px;
  display:flex;
  align-items:center
}
.archive-table,.election-results table,.cabinet-table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  background:var(--surface-panel);
  font-size:.91rem;
  table-layout:fixed
}
.election-results caption,.cabinet-table caption {
  font-size:.78rem;
  text-align:left;
  color:var(--color-muted);
  padding:1rem 0
}
.election-results th,.cabinet-table th {
  background:var(--color-parchment);
  font-size:.78rem;
  font-weight:600;
  border-top:2px solid var(--color-gold-muted)
}
.election-results th,.election-results td,.cabinet-table th,.cabinet-table td {
  padding:1.25rem .9rem;
  vertical-align:top;
  border-bottom:var(--border-subtle);
  overflow-wrap:anywhere
}
.election-results small,.election-results strong,.cabinet-table small {
  display:block;
  margin:.4rem 0
}
.election-results small,.cabinet-table small {
  font-size:.77rem;
  color:var(--color-muted)
}
.result-value {
  font-variant-numeric:tabular-nums
}
.result-label,.category-label {
  display:inline-block;
  font-family:var(--font-body);
  font-size:.72rem;
  line-height:1.7;
  padding:.2rem .6rem;
  border:var(--border-subtle);
  color:var(--color-gold-dark);
  background:var(--color-parchment)
}
.section-nav {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.5rem;
  padding:1.3rem 0;
  border-block:var(--border-subtle);
  margin:2rem 0;
  font-size:.85rem
}
.section-nav a {
  min-height:36px;
  display:flex;
  align-items:center
}
.notice {
  border-left:3px solid var(--color-gold-muted);
  padding:1rem;
  background:var(--color-parchment)
}
@media(max-width:1023px) {
  .desktop-nav {
    display:none
  }
  .header-inner {
    gap:1rem
  }
  .language-switch {
    margin-left:auto
  }
  .mobile-menu {
    display:block;
    position:relative
  }
  .mobile-menu summary {
    list-style:none;
    min-height:44px;
    padding:.65rem .5rem;
    color:var(--color-ivory);
    font-size:.8rem
  }
  .mobile-menu summary::-webkit-details-marker {
    display:none
  }
  .mobile-menu summary::before {
    content:'☰';
    margin-right:.5rem;
    color:var(--color-gold-light)
  }
  .mobile-menu[open] summary::before {
    content:'×'
  }
  .mobile-menu nav {
    position:absolute;
    right:0;
    top:calc(100% + 1rem);
    width:240px;
    background:var(--color-navy);
    border:var(--border-gold);
    padding:1rem;
    box-shadow:var(--shadow-elevated);
    display:grid;
    z-index:25
  }
  .mobile-menu a {
    color:var(--color-ivory);
    padding:.8rem;
    border-bottom:1px solid #ffffff20;
    text-decoration:none
  }
  .mobile-menu a[aria-current=page] {
    color:var(--color-gold-light)
  }
}
@media(max-width:640px) {
  .header-inner {
    gap:.5rem
  }
  .brand-mark {
    width:33px;
    height:40px;
    font-size:1.1rem
  }
  .brand {
    gap:.65rem
  }
  .brand-name {
    font-size:1.12rem
  }
  .brand-subline {
    font-size:.48rem;
    letter-spacing:.05em
  }
  :lang(bn) .brand-subline {
    font-size:.59rem
  }
  .language-switch {
    font-size:.73rem;
    padding-left:.7rem
  }
  .footer-main,.footer-bottom,.section-heading {
    flex-direction:column;
    align-items:flex-start;
    gap:1.5rem
  }
  .footer-main p {
    margin-bottom:0
  }
  .fact-grid,.quick-facts,.government-facts {
    grid-template-columns:1fr 1fr
  }
  .fact-grid>div,.quick-facts>div,.government-facts>div {
    padding:1rem;
    border-bottom:var(--border-subtle)
  }
  .timeline-filters label,.election-filters label {
    flex-basis:40%;
    min-width:0
  }
  .timeline-filters label:first-child {
    flex-basis:100%
  }
  .election-results table,.election-results tbody,.election-results tr,.election-results td,.cabinet-table,.cabinet-table tbody,.cabinet-table tr,.cabinet-table td {
    display:block;
    width:100%
  }
  .election-results caption,.cabinet-table caption {
    display:block;
    width:auto
  }
  .election-results thead,.cabinet-table thead {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%)
  }
  .election-results tr,.cabinet-table tr {
    border:var(--border-subtle);
    border-top:2px solid var(--color-gold-muted);
    margin:1rem 0;
    padding:.4rem
  }
  .election-results td,.cabinet-table td {
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    gap:.65rem;
    padding:.85rem .6rem
  }
  .election-results td::before,.cabinet-table td::before {
    content:attr(data-label);
    color:var(--color-muted);
    font-size:.74rem;
    grid-column:1
  }
  .election-results td>* {
    grid-column:2;
    min-width:0
  }
  .election-results td:last-child,.cabinet-table td:last-child {
    border-bottom:0
  }
  .editorial-card,.office-card,.election-card {
    padding:1.4rem
  }
}

/* Native Bengali numbering for editorial reference lists. */
:lang(bn) .event-sources ol, :lang(bn) .sources ol, :lang(bn) .public-sources ol {
  list-style-type: bengali;
}

/* Phase 10: editorial archives extend the established midnight / brass / ivory system. */
.archive-heading{max-width:850px;padding:3rem 0 2rem}.archive-heading h1{font-size:clamp(2.3rem,5vw,4.6rem);line-height:1.12}.archive-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;padding:1.5rem 0;border-block:1px solid #b69b6740}.archive-filters>div{flex:1 1 130px;min-width:0}.archive-filters label{display:block;font-size:.8rem;margin-bottom:.4rem}.archive-filters input,.archive-filters select{width:100%;max-width:100%;padding:.7rem;background:#faf7ef;color:#172331;border:1px solid #b69b67}.policy-editorial-list article{display:grid;grid-template-columns:180px minmax(0,1fr);gap:2rem;padding:2.3rem 0;border-bottom:1px solid #b69b6740}.policy-editorial-list h2{margin:.5rem 0;font-size:clamp(1.5rem,3vw,2.3rem)}.archive-dateline{display:flex;flex-direction:column;gap:.8rem;font-size:.9rem}.state-marker{display:inline-block;width:fit-content;padding:.3rem .7rem;border:1px solid #b69b67;border-radius:2px;font-size:.85rem}.state-marker:before{content:'●';color:#a17b3e;margin-right:.5rem}.source-context{padding:1.5rem 2rem;border-left:3px solid #b69b67;background:#b69b670c;margin:2rem 0}.initiative-dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1.8rem 0;border-block:1px solid #b69b6740}.initiative-dates dt{font-size:.8rem;opacity:.75}.initiative-dates dd{margin:.6rem 0;font-weight:600}.policy-detail{max-width:960px;margin:auto}.archive-relations{padding:1rem 0}.archive-relations li{margin:.7rem 0}.explore-menu{position:relative}.explore-menu summary{cursor:pointer}.explore-menu>div{position:absolute;right:0;top:100%;z-index:20;background:#101c2b;padding:1rem;min-width:240px;border:1px solid #b69b67}.explore-menu>div a{display:block;padding:.7rem;color:#f7f1e3}.archive-preview{border-top:1px solid #b69b6740;padding:2rem 0}.archive-preview article{padding:1rem 0;border-bottom:1px solid #b69b6720}.archive-preview h3{margin:.4rem 0}.archive-preview .eyebrow{margin:0}@media(max-width:700px){.archive-heading{padding:2rem 0 1rem}.policy-editorial-list article{grid-template-columns:1fr;gap:.5rem}.archive-dateline{flex-direction:row;flex-wrap:wrap;align-items:center}.initiative-dates{grid-template-columns:1fr 1fr}.source-context{padding:1rem}.explore-menu>div{position:static;width:100%;min-width:0}.archive-filters>div{flex-basis:40%}.policy-detail{overflow-wrap:anywhere}}

.archive-filters button{padding:.75rem 1rem;background:#152334;color:#faf7ef;border:1px solid #a98c53;font:inherit;cursor:pointer}.archive-filters button:hover{background:#273a4f}.archive-filters button:focus-visible,.explore-menu summary:focus-visible{outline:3px solid #b69b67;outline-offset:3px}
/* Transparent, path-based wordmark replaces the placeholder monogram. */
.site-header .brand,.site-footer .brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex-shrink:0}.brand-logo{display:block;width:166px;height:auto;max-width:100%;object-fit:contain}.site-header .brand-subline,.site-footer .brand-subline{font-size:8px;letter-spacing:.13em;margin:0}.site-header .header-inner{min-height:114px}.site-footer .brand-logo{width:210px}.archive-art-logo{position:relative;width:80%;height:auto;z-index:1}
@media(max-width:700px){.brand-logo{width:142px}.site-header .header-inner{min-height:98px}.site-header .brand-subline{font-size:7px}}

/* One pagination system across archive collections and administration. */
.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;margin:32px 0 48px;padding:22px 0;border-top:1px solid var(--line,#d8d1c3);font-size:.9rem}
.pagination-summary{margin:0;color:var(--muted,#657078);font-variant-numeric:tabular-nums}.pagination-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pagination-links>a,.pagination-current{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 13px;border:1px solid #b8a77f;border-radius:3px;text-decoration:none;line-height:1.2}.pagination-links>a:hover{background:#e9e1d2}.pagination-current{background:#112238;color:#fff;border-color:#112238;font-weight:700}.pagination-gap{padding:8px}.pagination-links .pagination-direction{gap:8px}.pagination a:focus-visible{outline:3px solid #a8873e;outline-offset:3px}@media(max-width:600px){.pagination{align-items:flex-start;flex-direction:column;margin-bottom:32px}.pagination-links{gap:6px}.pagination-links>a,.pagination-current{padding:8px 11px}}

/* Clear, separate actions and consistent portrait framing. */
.family-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:18px 24px;margin-top:24px}.family-actions .family-source{flex-basis:100%;font-size:.85em}.family-actions>a:last-child{display:inline-flex;align-items:center;gap:16px;min-height:44px;padding:11px 18px;background:var(--navy,#0b1828);color:var(--ivory,#f7f4ec);border:1px solid var(--navy,#0b1828);text-decoration:none;border-radius:3px}.family-actions>a:last-child:hover{background:#24384d}.family-actions>a:focus-visible{outline:3px solid #b69a54;outline-offset:4px}
.minister-portrait{margin:0 0 22px}.minister-portrait>a{display:block;overflow:hidden;background:#e6e2d8}.minister-portrait img{display:block;width:100%;height:280px;object-fit:cover;object-position:center 25%;transition:transform .35s ease}.minister-portrait>a:hover img{transform:scale(1.025)}.minister-portrait figcaption{padding:10px 0;border-bottom:1px solid var(--line,#d8d1c3);font-size:.75rem;line-height:1.6}.minister-portrait .media-credit{display:block}.cabinet-member-mark[hidden]{display:none}.cabinet-member{min-width:0}.person-facts>section{padding:28px 0}.person-facts p{max-width:78ch;line-height:1.9}.profile-page>.archive-media{max-width:860px;margin:32px auto 48px}.profile-page>.archive-media img{max-height:650px;object-fit:contain;background:#ede8de}.archival-gallery .archive-media{min-width:0}.bio-section .prose p+p{margin-top:1.2em}
@media(max-width:600px){.minister-portrait img{height:320px}.family-actions{gap:16px}.family-actions>a:last-child{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.minister-portrait img{transition:none}.minister-portrait>a:hover img{transform:none}}

.bio-introduction{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(28px,5vw,72px);align-items:center;padding:38px 0 46px;border-bottom:1px solid var(--line,#d8d1c3)}.bio-introduction .profile-hero{background:none;border:0;padding:0;margin:0}.bio-introduction .profile-hero::after{display:none}.biography-portrait .archive-media{margin:0}.bio-introduction .biography-portrait img{display:block;width:100%;height:520px;object-fit:cover;object-position:center 65%;background:#eae5db}.biography-portrait figcaption{padding:14px 0;border:0;border-bottom:1px solid var(--line,#d8d1c3);line-height:1.7}.bio-introduction .lead{max-width:55ch}.biography-portrait .media-credit{display:block;margin-top:8px}
@media(max-width:800px){.bio-introduction{grid-template-columns:1fr;padding-top:24px;gap:22px}.bio-introduction .biography-portrait img{height:auto;max-height:520px}.biography-portrait{max-width:500px;width:100%;margin:0 auto}}
