  :root{
    --navy:#122a63;
    --navy-deep:#0c1d47;
    --cream:#fdf6d3;
    --peach:#fbe2d1;
    --gray-bg:#d7d7d5;
    --blue-bg:#dbe6f0;
    --white:#faf9f5;
    --ink:#1c1c1a;
    --ink-soft:#3a3a37;
    --rule:#b7a97a;
    --page-w: 900px;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;background:#5c5c58;font-family: Georgia, 'Times New Roman', serif;color:var(--ink);}
  .toc-bar{
    position:sticky; top:0; z-index:50;
    background:var(--navy-deep); color:#f1e9cf;
    font-family:'Playfair Display',Georgia,serif;
    display:flex; align-items:center; gap:18px;
    padding:10px 22px; overflow-x:auto; white-space:nowrap;
    box-shadow:0 2px 10px rgba(0,0,0,.35);
    font-size:13px; letter-spacing:.03em;
  }
  .toc-bar b{color:#e7c77e; font-weight:700; margin-right:6px;}
  .toc-bar a{color:#f1e9cf; text-decoration:none; border-bottom:1px solid transparent; padding-bottom:2px;}
  .toc-bar a:hover{border-bottom-color:#e7c77e; color:#e7c77e;}

  .page{
    width:var(--page-w);
    max-width:94vw;
    margin:2px auto;
    background:#cdffcd;
    position:relative;
    box-shadow:0 10px 30px rgba(0,0,0,.35);
    padding:56px 62px 70px 62px;
    min-height:600px;
  }
  .page.bg-cream{background:var(--cream);}
  .page.bg-peach{background:var(--peach);}
  .page.bg-gray{background:var(--gray-bg);}
  .page.bg-blue{background:var(--blue-bg);}
  .page.bg-white{background:var(--white);}

  .pagenum{
    position:absolute; left:0; right:0; bottom:24px;
    text-align:center; font-family:'Vollkorn',serif; font-size:15px;
    color:var(--ink-soft); letter-spacing:.08em;
  }
  .pagenum .cap{display:block; font-size:15.5px; font-style:italic; color:#000000; margin-top:2px; max-width:80%; margin-left:auto; margin-right:auto;}

  h1.article-title{
    font-family:'Playfair Display',serif; font-weight:800;
    font-size:32px; text-align:center; margin:0 0 6px 0; color:var(--navy-deep);
  }
  h2.article-sub{
    font-family:'Playfair Display',serif; font-weight:600; font-style:italic;
    font-size:15px; text-align:center; margin:0 0 22px 0; color:#000000;
  }
  h2.section-h{
    font-family:'Playfair Display',serif;
    font-weight:700; font-size:19px;
    color:var(--navy-deep);
    margin:26px 0 12px 0;
  }
  h3.sub-h{
    font-family:'Playfair Display',serif; font-weight:700; font-size:22px; color:var(--navy-deep);
    margin:20px 0 8px 0;
  }
  p{font-size:18.5px; line-height:1.62; margin:0 0 12px 0; text-align:justify;}
  .byline{font-style:italic; font-size:18.5px; color:var(--ink-soft); margin-bottom:14px;}
  .qa-q{font-weight:700; font-style:italic; color:var(--navy-deep);}

  .figure{
    margin:18px auto;
  }

  .figure-left
  {
    float: left;
    width: 140px;
    margin-bottom: 10px;
  }


  .placeholder-img{
    background:repeating-linear-gradient(45deg,#c9c4b0,#c9c4b0 10px,#bdb89f 10px,#bdb89f 20px);
    border:1px solid #948a63;
    display:flex; align-items:center; justify-content:center;
    color:#4a4632; font-family:'Vollkorn',serif; font-style:italic; font-size:13px;
    padding:10px; text-align:center;
    margin:0 auto;
  }
  .cap{
    font-size:15px; font-style:italic; color:var(--ink-soft); margin-top:6px; line-height:1.4;
  }
.cap-1{
font-size: 15px;
font-style: italic;
color: var(--ink-soft);
margin-top: 6px;
line-height: 1.4;
text-align:center;
}

  .cols2{columns:2; column-gap:34px;}
  .cols2 p{margin-bottom:10px;}

  .masthead-page{
    background:var(--white); 
    border:0px solid var(--navy-deep); 
    
    padding:34px 40px 60px 40px;
  }
  .masthead-title{
    font-family:'Playfair Display',serif; font-weight:900; font-size:74px;
    text-align:center; color:var(--navy-deep); letter-spacing:1px; margin:6px 0 4px 0;
  }
  .masthead-rule{border:none; border-top:3px solid var(--navy-deep); margin:6px 0 10px 0;}
  .masthead-info{
    display:flex; justify-content:space-between; font-weight:700; letter-spacing:.06em; font-size:13px; color:var(--navy-deep);
    border-bottom:2px solid var(--navy-deep); padding-bottom:8px; margin-bottom:14px;
  }
  .seal-row{
    display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:16px;
  }
  .seal-circle{
    width:56px;height:56px;border-radius:50%;border:2px solid var(--navy-deep);
    display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--navy-deep);
    text-align:center; font-family:'Vollkorn',serif;
  }
  .seal-title{font-family:'Playfair Display',serif; font-style:italic; font-weight:700; font-size:24px; color:var(--navy-deep); text-align:center;}
  .collage{
    height:360px; border:2px solid var(--navy-deep); margin:10px 0 18px 0;
    background:
      repeating-linear-gradient(135deg,#e8dcb0 0 40px,#e3d2a0 40px 80px),
      repeating-linear-gradient(45deg,rgba(20,60,110,.08) 0 30px, transparent 30px 60px);
    display:flex; align-items:center; justify-content:center; color:#5c4b1f; font-style:italic; text-align:center; padding:20px;
    font-family:'Vollkorn',serif;
  }
  .masthead-sub{
    text-align:center; font-family:'Playfair Display',serif; font-weight:700; font-size:22px; color:var(--navy-deep); margin:8px 0 14px 0;
  }
  .anniv-banner{
    background:var(--navy-deep); color:#f4ecc9; text-align:center; padding:14px 0;
    font-family:'Playfair Display',serif; font-weight:900; font-size:30px; letter-spacing:.12em;
  }

  .letter-scan{
    border:1px solid #999; background:#f4f1e6; padding:26px; max-width:520px; margin:14px auto;
    font-family:'Vollkorn',serif; font-size:12.5px; line-height:1.7;
  }

  .contents-table{width:100%; border-collapse:collapse; margin:10px 0 22px 0; border:1.5px solid var(--navy-deep);}
  .contents-table th{
    background:var(--navy-deep); color:#f4ecc9; text-align:left; padding:8px 12px; font-family:'Playfair Display',serif; font-size:15px;
  }
  .contents-table td{padding:9px 12px; border-top:1px solid #c9c2a0; font-size:15.5px; vertical-align:top;}
  .contents-table td.pg{text-align:right; font-weight:700; width:60px; color:var(--navy-deep);}
  .contents-table .desc{color:var(--ink-soft); font-style:italic; font-size:12.5px; display:block;}

  .credit-block{font-size:12.5px; line-height:1.7; color:var(--ink-soft);  padding-top:12px; margin-top:16px;}
  .credit-block b{color:var(--ink);}

  .quote-box{
    border-left:4px solid var(--rule); background:rgba(0,0,0,.03); padding:12px 18px; margin:16px 0; font-style:italic;
  }

  .cup-table{width:100%; border-collapse:collapse; margin:14px 0;}
  .cup-table th{background:var(--navy-deep); color:#f4ecc9; padding:7px 10px; font-family:'Playfair Display',serif; font-size:13px; text-align:left;}
  .cup-table td{padding:6px 10px; border-bottom:1px solid rgba(0,0,0,.15); font-size:13px;}

  .medal-grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px; margin:14px 0;}
  .medal-col h4{font-family:'Playfair Display',serif; font-size:14px; color:var(--navy-deep); border-bottom:1px solid var(--rule); margin:0 0 6px 0; padding-bottom:3px;}
  .medal-col ul{margin:0; padding-left:16px; font-size:12.5px; line-height:1.55;}

  .org-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:14px 0;}
  .org-item h4{font-family:'Playfair Display',serif; font-size:18px; color:var(--navy-deep); margin:0 0 6px 0;}
  .org-item p{font-size:17px;}

  .thanks-table{width:100%; border-collapse:collapse; font-size:11.5px; margin:12px 0;}
  .thanks-table td{border:1px solid #b9a96b; padding:5px 8px;}
  .thanks-table td.yr{width:60px; text-align:center; font-weight:700; background:rgba(0,0,0,.05);}

  .figrow{gap:16px; margin:16px 0;}
  .figrow .figure{flex:1; margin:0;}

  .drop-cap:first-letter{
    float:left; font-family:'Playfair Display',serif; font-weight:900; font-size:56px; line-height:0.8;
    padding:6px 8px 0 0; color:var(--navy-deep);
  }

  @media print{
    body{background:#fff;}
    .toc-bar{display:none;}
    .page{box-shadow:none; margin:0; page-break-after:always;}
  }
  @media (max-width:700px){
    .page{padding:30px 22px 56px 22px;}
    .masthead-title{font-size:44px;}
    .medal-grid,.org-grid{grid-template-columns:1fr;}
    .figrow{flex-direction:column;}
  }