/* Page compositions reuse the shared public components. */
.home-hero {
  background:var(--color-midnight);
  color:var(--color-ivory);
  position:relative;
  overflow:hidden
}
.home-hero-inner {
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:4rem;
  align-items:center;
  padding-block:clamp(3.5rem,7vw,6rem)
}
.home-hero h1 {
  font-size:clamp(3.5rem,6.3vw,5.9rem);
  max-width:9ch;
  color:var(--color-ivory);
  line-height:1.03;
  margin:1.5rem 0
}
.home-hero:lang(bn) h1 {
  max-width:12ch;
  line-height:1.5;
  font-size:clamp(3rem,5.6vw,5rem)
}
.home-hero .current-role {
  font-size:.95rem;
  color:var(--color-gold-light);
  margin:1.3rem 0
}
.hero-intro {
  color:var(--color-muted-dark);
  max-width:45ch;
  font-size:1rem
}
.archive-art {
  position:relative;
  min-height:430px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #c5a25355;
  background:linear-gradient(150deg,#152538,#0a1523);
  margin:1rem 0 1rem 1.5rem
}
.archive-art::before {
  content:'';
  position:absolute;
  inset:15px;
  border:1px solid #c5a25335
}
.archive-art::after {
  content:'';
  position:absolute;
  width:62%;
  height:85%;
  top:10%;
  border:1px solid #c5a25355;
  border-radius:48% 48% 0 0
}
.archive-art-lines {
  position:absolute;
  inset:10% 20%;
  border-inline:1px solid #c5a25320
}
.archive-art-mark {
  font-family:Georgia,serif;
  font-size:clamp(5rem,10vw,10rem);
  color:var(--color-gold);
  font-weight:400;
  letter-spacing:-.1em;
  padding-right:.1em;
  line-height:1;
  z-index:1
}
.archive-art-label {
  position:absolute;
  bottom:2.5rem;
  left:1rem;
  right:1rem;
  text-align:center;
  font-size:.61rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--color-muted-dark);
  z-index:1
}
:lang(bn) .archive-art-label {
  letter-spacing:.05em;
  font-size:.8rem
}
.hero-edition {
  display:flex;
  justify-content:space-between;
  gap:2rem;
  border-top:1px solid #c5a25335;
  padding:1rem 0;
  font-size:.67rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--color-muted-dark)
}
:lang(bn) .hero-edition {
  letter-spacing:0;
  font-size:.76rem
}
.home-facts {
  background:var(--color-parchment);
  border-bottom:var(--border-subtle)
}
.home-facts .fact-grid {
  margin:0;
  border:0
}
.home-facts .fact-grid>div {
  padding:1.5rem 2rem
}
.home-facts .fact-grid>div:first-child {
  padding-left:0
}
.home-section {
  padding-block:var(--section-space)
}
.intro-layout {
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:5rem
}
.intro-number {
  font-family:var(--font-display);
  color:var(--color-gold-dark);
  font-size:1rem;
  display:block;
  margin-bottom:1.5rem
}
.intro-copy {
  font-size:1.17rem;
  line-height:1.95;
  max-width:44rem
}
.archive-index {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:var(--border-subtle);
  margin-top:3rem
}
.archive-index a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:1.3rem 1rem;
  text-decoration:none;
  font-size:.9rem;
  border-bottom:var(--border-subtle);
  border-right:var(--border-subtle)
}
.archive-index a:hover {
  background:var(--color-parchment)
}
.home-chronology {
  background:var(--color-parchment);
  border-block:var(--border-subtle)
}
.home-chronology .timeline-preview {
  margin:0;
  padding:0;
  width:100%
}
.home-elections .election-preview {
  margin:0;
  padding:0;
  width:100%
}
.home-government {
  padding-block:var(--section-space)
}
.home-government-inner {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:4rem
}
.home-government h2 {
  max-width:20ch
}
.home-government .government-summary {
  color:var(--color-muted-dark);
  font-size:1rem
}
.government-teaser {
  padding:2rem;
  border:1px solid #c5a25355;
  background:#ffffff03
}
.government-teaser h3 {
  font-size:1.5rem
}
.government-teaser p,.government-teaser li {
  font-size:.92rem;
  color:var(--color-muted-dark)
}
.government-teaser ul {
  padding-left:1.2rem
}
.archive-note {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:4rem;
  padding-block:var(--section-space)
}
.archive-note p {
  font-size:1.1rem;
  color:var(--color-muted)
}
.profile-page,.election-page,.government-page {
  width:min(100% - var(--gutter)*2,var(--container));
  margin:0 auto;
  padding-block:3rem var(--section-space);
  overflow-wrap:anywhere
}
.profile-hero,.election-header,.government-header {
  padding:2.5rem 0 3rem;
  border-bottom:var(--border-subtle);
  margin-bottom:2.5rem
}
.profile-hero {
  border-top:2px solid var(--color-gold-muted);
  padding-right:15%;
  background:linear-gradient(115deg,transparent 85%,#eee8db 85%)
}
.profile-hero h1 {
  max-width:20ch
}
.profile-hero .lead,.government-summary,.election-header>p {
  max-width:65ch;
  color:var(--color-muted);
  font-size:1.08rem
}
.current-role {
  font-weight:600;
  color:var(--color-gold-dark)
}
.profile-page>section,.election-page>section,.government-page>section {
  margin-top:3rem
}
.profile-page .bio-section {
  max-width:var(--reading)
}
.career-list {
  list-style:none;
  padding:0
}
.career-list li {
  padding:1.3rem 0;
  border-bottom:var(--border-subtle);
  font-size:1.05rem
}
.career-list span {
  display:block;
  font-size:.85rem;
  color:var(--color-muted);
  margin-top:.5rem
}
.election-header nav,.election-pagination {
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  margin-top:2rem;
  font-size:.9rem
}
.election-date {
  font-variant-numeric:tabular-nums;
  color:var(--color-gold-dark)
}
.election-card dl {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.75rem
}
.election-card dd {
  margin:0;
  font-variant-numeric:tabular-nums
}
.election-preview,.timeline-preview,.government-preview {
  width:min(100% - var(--gutter)*2,var(--container));
  margin:0 auto;
  padding-block:3rem 4rem
}
.government-preview {
  padding:2.5rem;
  background:var(--color-parchment);
  border-top:2px solid var(--color-gold-muted);
  margin-bottom:4rem
}
.government-preview h3 {
  font-size:1.7rem
}
.government-header {
  border-top:2px solid var(--color-gold-muted)
}
.government-header h1 {
  max-width:24ch
}
.government-header .government-facts {
  margin-bottom:0
}
.government-page.prime-ministership .government-header {
  background:var(--color-navy);
  padding:clamp(1.5rem,4vw,3rem);
  color:var(--color-ivory);
  border-top:2px solid var(--color-gold)
}
.prime-ministership .government-header h1,.prime-ministership .government-header h2 {
  color:var(--color-ivory)
}
.prime-ministership .government-summary {
  color:var(--color-muted-dark)
}
.prime-ministership .government-header .eyebrow {
  color:var(--color-gold-light)
}
.prime-ministership .government-facts {
  color:var(--color-text)
}
.government-page #cabinet>p {
  max-width:80ch;
  color:var(--color-muted);
  font-size:.94rem
}
.timeline-hero {
  padding:var(--section-space) max(var(--gutter),calc((100vw - var(--container))/2));
  background:var(--color-navy);
  color:var(--color-ivory);
  border-bottom:2px solid var(--color-gold-muted)
}
.timeline-hero h1 {
  color:var(--color-ivory);
  margin-bottom:1.5rem
}
.timeline-hero .eyebrow {
  color:var(--color-gold-light)
}
.timeline-hero>p:last-child {
  max-width:42rem;
  color:var(--color-muted-dark);
  font-size:1.1rem;
  margin-bottom:0
}
.timeline-shell {
  width:min(100% - var(--gutter)*2,var(--container));
  margin:auto;
  padding-block:2rem var(--section-space)
}
.timeline-jumps {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin:2rem 0 3rem
}
.timeline-jumps a {
  padding:.5rem .8rem;
  border-bottom:var(--border-subtle);
  font-size:.83rem;
  min-height:44px
}
.timeline-jumps span {
  padding:.5rem
}
.timeline-results {
  display:flex;
  align-items:center;
  gap:1.2rem;
  font-size:1.8rem
}
.timeline-results span {
  font:400 .8rem var(--font-body);
  color:var(--color-muted)
}
.chronology {
  list-style:none;
  margin:2rem 0;
  padding:0
}
.chronology-row {
  display:grid;
  grid-template-columns:105px minmax(0,1fr);
  gap:2rem
}
.chronology-year {
  font:400 1.9rem var(--font-display);
  color:var(--color-gold-dark);
  padding-top:1.8rem
}
.chronology-card {
  border-left:1px solid var(--color-gold-muted);
  position:relative;
  padding:1.8rem 0 2.8rem 2.5rem;
  min-width:0
}
.chronology-card::before {
  content:'';
  position:absolute;
  top:2.35rem;
  left:-5px;
  width:9px;
  height:9px;
  background:var(--color-gold-muted);
  outline:5px solid var(--surface-page);
  transform:rotate(45deg)
}
.home-chronology .chronology-card::before {
  outline-color:var(--color-parchment)
}
.chronology-meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem;
  font-size:.82rem;
  color:var(--color-muted)
}
.chronology-card h3 {
  margin:1rem 0;
  font-size:clamp(1.5rem,2.5vw,2.2rem)
}
.chronology-card h3 a {
  color:var(--color-midnight);
  text-decoration:none
}
.chronology-card h3 a:hover {
  color:var(--color-gold-dark)
}
.chronology-card p {
  color:var(--color-muted);
  max-width:65ch
}
.chronology-foot {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
  font-size:.78rem;
  border-bottom:var(--border-subtle);
  padding-bottom:1.5rem;
  color:var(--color-muted)
}
.timeline-pagination,.event-neighbors {
  display:flex;
  justify-content:space-between;
  gap:2rem
}
.timeline-detail,.content-article {
  width:min(100% - var(--gutter)*2,var(--reading));
  margin:auto;
  padding-block:3rem var(--section-space);
  overflow-wrap:anywhere
}
.timeline-detail header,.content-article header {
  padding:2.5rem 0;
  border-bottom:var(--border-subtle);
  margin-bottom:2rem
}
.timeline-detail h1,.content-article h1 {
  font-size:clamp(2.4rem,4.8vw,4rem)
}
.event-date {
  font-family:var(--font-display);
  font-size:1.5rem;
  color:var(--color-gold-dark);
  margin:1rem 0
}
:lang(bn) .event-date {
  font-family:var(--font-bengali-display)
}
.event-summary,.lede {
  font-size:1.15rem;
  color:var(--color-muted)
}
.event-body {
  padding-block:1rem 2rem
}
.event-context {
  border-top:var(--border-subtle);
  padding-top:1.5rem
}
.event-context h2 {
  font-size:1.5rem
}
.event-neighbors {
  border-top:var(--border-subtle);
  padding-top:1.5rem
}
.event-neighbors>a {
  max-width:48%;
  font-family:var(--font-display);
  font-size:1.25rem
}
.event-neighbors small {
  display:block;
  font:400 .75rem var(--font-body);
  color:var(--color-muted);
  margin-bottom:.5rem
}
.timeline-detail+p {
  width:min(100% - var(--gutter)*2,var(--reading));
  margin:0 auto 3rem
}
.content-article .meta {
  font-size:.78rem;
  color:var(--color-muted)
}
.error {
  width:min(100% - var(--gutter)*2,var(--reading));
  margin:var(--section-space) auto;
  padding:3rem 0;
  border-top:var(--border-gold)
}
.error h1 {
  font-size:clamp(5rem,14vw,9rem);
  color:var(--color-gold-dark)
}
.error pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.error h2 {
  font-size:2rem
}
@media(max-width:1023px) {
  .home-hero-inner {
    gap:2rem
  }
  .archive-art {
    min-height:350px;
    margin-left:0
  }
  .intro-layout {
    gap:3rem
  }
  .home-government-inner {
    gap:2rem
  }
  .home-facts .fact-grid>div {
    padding:1.25rem
  }
  .hero-edition {
    font-size:.61rem
  }
}
@media(max-width:767px) {
  .home-hero-inner {
    grid-template-columns:1fr;
    padding-block:3rem
  }
  .home-hero h1 {
    max-width:14ch
  }
  .archive-art {
    min-height:230px;
    margin:0
  }
  .archive-art-mark {
    font-size:6rem
  }
  .archive-art-label {
    bottom:1.8rem
  }
  .archive-art::after {
    width:45%;
    height:84%;
    top:8%
  }
  .hero-edition {
    flex-wrap:wrap;
    gap:.4rem
  }
  .intro-layout,.home-government-inner,.archive-note {
    grid-template-columns:1fr;
    gap:1.5rem
  }
  .intro-number {
    margin-bottom:.7rem
  }
  .intro-layout h2 {
    max-width:18ch
  }
  .archive-index {
    grid-template-columns:1fr
  }
  .archive-note {
    padding-block:3.5rem
  }
  .profile-hero {
    padding-right:0;
    background:none
  }
  .government-teaser {
    padding:1.5rem
  }
  .home-facts .fact-grid>div:first-child {
    padding-left:1.25rem
  }
  .home-facts .container {
    width:100%
  }
}
@media(max-width:640px) {
  .chronology-row {
    grid-template-columns:1fr;
    gap:0
  }
  .chronology-year {
    font-size:1.6rem;
    padding:.6rem 0 .6rem 1.5rem
  }
  .chronology-card {
    margin-left:.3rem;
    padding:1.25rem 0 2rem 1.5rem
  }
  .chronology-card::before {
    top:1.65rem
  }
  .timeline-filters,.election-filters {
    padding:1rem
  }
  .event-neighbors {
    flex-direction:column;
    gap:1.5rem
  }
  .event-neighbors>a {
    max-width:100%
  }
  .profile-page,.election-page,.government-page,.timeline-detail,.content-article {
    padding-top:2rem
  }
  .government-facts {
    grid-template-columns:1fr
  }
  .home-hero h1 {
    font-size:3.7rem
  }
  .home-hero:lang(bn) h1 {
    font-size:3rem
  }
  .intro-copy {
    font-size:1.08rem
  }
  .government-preview {
    padding:1.5rem
  }
  .profile-hero,.election-header,.government-header {
    padding-top:1.5rem
  }
  .footer-nav {
    max-width:none
  }
}
@media print {
  .site-header,.site-footer,.skip-link,.timeline-filters,.election-filters,.timeline-jumps,.mobile-menu,.button-row,.event-neighbors {
    display:none
  }
  body,.dark,.home-hero,.timeline-hero {
    background:white;
    color:black
  }
  .dark h1,.dark h2,.timeline-hero h1 {
    color:black
  }
  .chronology-card,.office-card {
    break-inside:avoid
  }
  .timeline-detail,.content-article {
    width:100%;
    padding:0
  }
  a {
    color:inherit
  }
}

/* Rights-aware archival media */
.archive-media{margin:2rem 0;max-width:100%;border-bottom:1px solid var(--line,#d8d1c3);padding-bottom:1rem}.archive-media img{display:block;width:100%;height:auto;max-height:780px;object-fit:contain;background:#eee8db}.archive-media figcaption{font-size:.92rem;line-height:1.65;margin-top:.8rem}.archive-media figcaption small{display:block;font-size:.75rem;margin-top:.5rem}.hero-photograph{max-width:430px;justify-self:end}.hero-photograph .archive-media{margin:0}.hero-photograph img{max-height:560px;object-fit:contain}.dark .archive-media a{color:#d5b76a}.dark .archive-media{border-color:#a8873e}.hero-photograph figcaption{color:#bec5cc}@media(max-width:700px){.hero-photograph{max-width:360px;justify-self:center}.hero-photograph img{max-height:440px}}

.hero-photograph{width:100%;max-width:362px}.vote-meter{display:block;width:100%;height:12px;accent-color:#a8873e}.vote-meter::-webkit-meter-optimum-value{background:#a8873e}

.archive-media img{width:100%;max-width:100%;margin-inline:auto}.archival-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.archival-gallery img{height:320px;width:100%;object-fit:contain}.profile-page>.archive-media{max-width:362px}@media(max-width:650px){.archival-gallery{grid-template-columns:1fr}}

/* Communications: archival rows, generous reading measure and sourced quotations. */
.communications-archive,.communication-detail{padding-block:clamp(2rem,5vw,5rem)}
.communication-list{border-top:1px solid var(--color-gold);margin-block:2.5rem;display:grid;grid-template-columns:1fr 1fr;column-gap:3rem}
.communication-list article{padding:2rem 0;border-bottom:1px solid var(--color-line)}
.communication-list article:first-child{grid-column:1/-1;max-width:56rem}
.communication-list h2{font-size:clamp(1.4rem,2.5vw,2.3rem);line-height:1.4;margin:.5rem 0 1rem}
.communication-list p{max-width:65ch}.communication-list a{text-underline-offset:.25em}
.communication-detail{max-width:900px;margin-inline:auto}.communication-detail header{padding-block:2rem}
.communication-detail h1{font-size:clamp(2rem,4.5vw,4rem);line-height:1.25;overflow-wrap:anywhere}
.communication-detail section{margin-block:2.5rem}.transcript-note{font-size:.9rem;color:var(--color-muted)}
.verified-quote{margin:3rem 0;padding:1.5rem 0 1.5rem 2rem;border-left:3px solid var(--color-gold)}
.verified-quote blockquote{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.55}
.verified-quote figcaption{margin-top:1rem;font-size:.9rem}.verified-quote small{display:block;overflow-wrap:anywhere}
@media(max-width:700px){.communication-list{grid-template-columns:1fr}.verified-quote{padding-left:1rem}.communication-detail h1{line-height:1.45}}
.communications-archive,.communication-detail,.communication-preview{width:min(100% - var(--gutter)*2,var(--container));margin-inline:auto}
.communication-detail{max-width:900px}
html[lang=bn] .verified-quote blockquote{font-family:var(--font-bengali-display)}

/* Consistent editorial rhythm for archive headers and person profiles. */
#main-content h1{max-width:24ch;text-wrap:balance;overflow-wrap:break-word}
.archive-heading,.profile-hero,.communication-detail>header{padding-block:clamp(2.5rem,6vw,5rem) clamp(1.5rem,3vw,2.5rem)}
.archive-heading h1,.profile-hero h1{font-size:clamp(2.15rem,4.6vw,4.4rem);line-height:1.18;margin:.65rem 0 1.1rem;letter-spacing:-.035em}
:lang(bn) .archive-heading h1,:lang(bn) .profile-hero h1{line-height:1.45;letter-spacing:0}
.archive-heading .lead,.profile-hero .lead,.communication-detail .lead{max-width:68ch;color:var(--color-muted);line-height:1.8}
.breadcrumbs{padding-top:2rem;font-size:.85rem;color:var(--color-muted);display:flex;gap:.65rem;flex-wrap:wrap}
.person-profile-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:clamp(2rem,6vw,6rem);align-items:center;border-bottom:1px solid #b69b6740;padding-block:1rem 3rem}
.person-portrait{max-width:370px;width:100%;justify-self:end}.person-portrait figure{margin:0}.person-portrait img{width:100%;height:auto;max-height:480px;object-fit:contain;object-position:bottom;background:#ebe6dc}
.person-facts{max-width:780px;padding-block:3rem}.person-facts>section+section{margin-top:2.5rem}.person-facts p{line-height:1.9}
.family-card{padding:0!important;overflow:hidden}.family-copy{padding:clamp(1.25rem,3vw,2rem)}.family-portrait{display:block;background:#e9e4da;overflow:hidden}.family-portrait img{width:100%;height:300px;object-fit:contain;object-position:bottom;display:block;transition:transform .4s ease}.family-portrait:hover img{transform:scale(1.025)}.family-card>.media-credit{display:block;padding:.65rem 1.25rem 0}.family-card h3 a{text-decoration:none}.family-copy .family-source{display:none}.family-copy .text-link{margin-top:1rem;display:inline-block}
.media-credit{font-size:.75rem;line-height:1.5;color:var(--color-muted)}.media-credit details{display:inline-block;margin-left:.5rem}.media-credit summary{cursor:pointer}.media-credit details[open]{display:block}.media-credit details span{display:inline}.media-metadata{margin-block:2rem;padding:1rem;border:1px solid #b69b6740}
.video-player{aspect-ratio:16/9;width:100%;background:#0d1b2a}.video-player iframe{display:block;border:0;width:100%;height:100%}.video-fallback{font-size:.85rem;color:var(--color-muted)}
@media(min-width:1100px){.person-profile .family-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.person-profile-hero{grid-template-columns:1fr;gap:1rem}.person-portrait{justify-self:center;max-width:320px}.person-profile-hero .archive-heading{padding-bottom:1rem}.family-portrait img{height:260px}#main-content h1{max-width:100%}}
@media(prefers-reduced-motion:reduce){.family-portrait img{transition:none}.family-portrait:hover img{transform:none}}
.family-names a:has(img){padding-left:84px;position:relative;min-height:100px}.family-names a img{position:absolute;left:0;top:16px;width:64px;height:80px;object-fit:cover;object-position:top}.home-news .communication-list{margin-block:2rem}.election-header h1,.government-header h1,.timeline-hero h1{font-size:clamp(2.15rem,4.6vw,4.4rem);line-height:1.25;text-wrap:balance}:lang(bn) .election-header h1,:lang(bn) .government-header h1,:lang(bn) .timeline-hero h1{line-height:1.45;letter-spacing:0}
