@font-face{
    font-family:'Nunito Sans';
    font-style:normal;
    font-weight:300 900;
    font-display:swap;
    src:url(nunito-sans.woff2) format('woff2');
  }
  
  :root{
    --ground:#ffffff;
    --ground-2:#f2f3f6;
    --card:#f7f8fa;
    --ink:#575756;
    --gold:#3d5c93;
    --gold-soft:#28265c;
    --rust:#28265c;--cta-hover:#3d5c93;
    --line:#e3e3e3;
    --muted:#7a7a79;--navy:#28265c;--on-navy:#c9c7de;

    --font-display:'Nunito Sans',Arial,sans-serif;
    --font-body:'Nunito Sans',Arial,sans-serif;
    --font-mono:'Nunito Sans',Arial,sans-serif;

    --maxw:720px;
  }
  @media (prefers-color-scheme: dark){
    :root{
      --ground:#17162e; --ground-2:#201f45; --card:#201f45; --ink:#e7e5f2;
      --gold:#93b1e6; --gold-soft:#b9c6e8; --rust:#3d5c93;--cta-hover:#5878ad; --line:#34335f; --muted:#b3b0d0;
    }
  }
  :root[data-theme="dark"]{
    --ground:#17162e; --ground-2:#201f45; --card:#201f45; --ink:#e7e5f2;
    --gold:#93b1e6; --gold-soft:#b9c6e8; --rust:#3d5c93;--cta-hover:#5878ad; --line:#34335f; --muted:#b3b0d0;
  }
  :root[data-theme="light"]{
    --ground:#ffffff; --ground-2:#f2f3f6; --card:#f7f8fa; --ink:#575756;
    --gold:#3d5c93; --gold-soft:#28265c; --rust:#28265c;--cta-hover:#3d5c93; --line:#e3e3e3; --muted:#7a7a79;--navy:#28265c;--on-navy:#c9c7de;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
  body{
    margin:0;
    background:var(--ground);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:17px;
    line-height:1.65;
    -webkit-text-size-adjust:100%;
    overflow-x:hidden;
  }
  a{color:var(--gold-soft);}
  :root[data-theme="dark"] a{color:var(--gold);}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) a{color:var(--gold);} }
  img{max-width:100%;display:block;}

  .back-link{
    display:block;
    max-width:var(--maxw);
    margin:0 auto;
    padding:.9rem 1.1rem 0;
    font-family:var(--font-mono);
    font-size:.78rem;
    letter-spacing:.03em;
  }
  .back-link a{text-decoration:none;color:var(--muted);}
  .back-link a:hover{color:var(--gold-soft);}

  .masthead{
    background:var(--navy);
    color:var(--on-navy);
    padding:1.3rem 1.25rem 1.2rem;
    text-align:center;
    border-bottom:6px solid var(--gold);
    margin-top:1.1rem;
  }
  .masthead .kicker{
    font-family:var(--font-mono);
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold);
    margin:0 0 .6rem;
  }
  .masthead h1{
    margin:.2rem 0 .35rem;
    font-family:var(--font-display);
    font-size:clamp(1.5rem,5.5vw,2.15rem);
    letter-spacing:.02em;
    font-weight:900;
    text-wrap:balance;
    color:#fff;
  }
  .masthead .tag{
    color:var(--on-navy);
    font-family:var(--font-body);
    font-style:italic;
    font-size:1.02rem;
    font-weight:400;
    margin:0;
  }

  main{
    max-width:var(--maxw);
    margin:0 auto;
    padding:0 1.1rem;
  }

  .intro{
    padding:1.8rem 0 .3rem;
    color:var(--muted);
    font-size:1.02rem;
  }

  .jump{
    padding:0 0 1.6rem;
    font-family:var(--font-mono);
    font-size:.78rem;
    letter-spacing:.02em;
    color:var(--muted);
  }
  .jump a{text-decoration:none;font-weight:600;}

  .legend{
    display:flex;
    flex-wrap:wrap;
    gap:1.1rem;
    padding:0 0 1.6rem;
    font-family:var(--font-mono);
    font-size:.74rem;
    color:var(--muted);
    letter-spacing:.02em;
  }
  .legend span{display:inline-flex;align-items:center;gap:.4rem;}
  .legend .dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
  .legend .dot.next{background:var(--rust);}
  .legend .dot.future{background:none;border:2px solid var(--gold);}
  .legend .dot.past{background:var(--muted);}

  section.year-group{
    padding:1.6rem 0 2.2rem;
    border-bottom:1px solid var(--line);
    scroll-margin-top:1.2rem;
  }
  section.year-group:last-of-type{border-bottom:none;}

  .eyebrow{
    display:inline-block;
    font-family:var(--font-mono);
    font-size:.7rem;
    font-weight:600;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--gold-soft);
    background:var(--ground-2);
    border:1px solid var(--line);
    border-radius:2px;
    padding:.28rem .6rem;
    margin-bottom:.8rem;
  }
  h2.section-title{
    margin:.1rem 0 1.3rem;
    font-family:var(--font-display);
    font-size:clamp(1.25rem,4.2vw,1.55rem);
    font-weight:900;
    color:var(--navy);
    letter-spacing:.005em;
    text-wrap:balance;
  }

  ul.event-list{list-style:none;margin:0;padding:0;}
  li.event-row{
    display:flex;
    align-items:flex-start;
    gap:.9rem;
    padding:.8rem 0;
    border-bottom:1px solid var(--line);
    position:relative;
  }
  li.event-row:last-child{border-bottom:none;}

  .ev-stamp{
    flex:0 0 auto;
    width:52px;
    text-align:center;
    font-family:var(--font-mono);
    border:1.5px solid var(--line);
    border-radius:4px;
    padding:.3rem .15rem .28rem;
    background:var(--card);
    line-height:1.1;
  }
  .ev-stamp .ev-day{
    display:block;
    font-size:1.05rem;
    font-weight:700;
    color:var(--ink);
  }
  .ev-stamp .ev-mon{
    display:block;
    font-size:.6rem;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--muted);
    margin-top:.1rem;
  }
  .ev-stamp.ev-stamp-tbc .ev-day{font-size:.68rem;letter-spacing:.03em;}

  .ev-status-dot{
    flex:0 0 auto;
    width:9px;height:9px;
    border-radius:50%;
    margin-top:.6rem;
    border:2px solid var(--gold);
    background:none;
  }

  .ev-body{flex:1;min-width:0;}
  .ev-title{
    font-family:var(--font-display);
    font-weight:700;
    font-size:1rem;
    letter-spacing:.005em;
    margin:0 0 .15rem;
  }
  .ev-meta{
    font-family:var(--font-mono);
    font-size:.78rem;
    color:var(--muted);
    letter-spacing:.01em;
  }
  .ev-tbc-tag{
    display:inline-block;
    font-family:var(--font-mono);
    font-size:.64rem;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--rust);
    border:1px solid var(--rust);
    border-radius:2px;
    padding:.05rem .35rem;
    margin-left:.5rem;
    vertical-align:middle;
  }

  .ev-next-badge{
    display:inline-block;
    font-family:var(--font-mono);
    font-size:.64rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#ffffff;
    background:var(--rust);
    border-radius:2px;
    padding:.1rem .45rem;
    margin-left:.5rem;
    vertical-align:middle;
  }

  
  li.event-row.is-past{opacity:.5;}
  li.event-row.is-past .ev-stamp{border-color:var(--line);}
  li.event-row.is-past .ev-status-dot{border-color:var(--muted);}
  li.event-row.is-next .ev-stamp{background:var(--rust);border-color:var(--rust);}
  li.event-row.is-next .ev-stamp .ev-day,
  li.event-row.is-next .ev-stamp .ev-mon{color:#ffffff;}
  li.event-row.is-next .ev-status-dot{background:var(--rust);border-color:var(--rust);}

  footer{
    background:var(--navy);
    color:var(--on-navy);
    text-align:center;
    padding:1.4rem 1.25rem 1.8rem;
    margin-top:1.5rem;
  }
  footer p{color:var(--on-navy);font-size:.86rem;margin:.3rem 0;}
  footer a{color:var(--on-navy);font-weight:700;text-decoration:none;}

  @media (min-width:600px){
    section.year-group{padding:2rem 0 2.6rem;}
    body{font-size:17.5px;}
  }

/* Replacements for former inline style="" attributes (blocked by the site's Content-Security-Policy) */
.u-mt-09{margin-top:.9rem !important;}
.u-mt-07{margin-top:.7rem !important;}
.u-mt-1{margin-top:1rem !important;}
.u-ml-0{margin-left:0 !important;}
.hit-pixel{position:absolute !important;visibility:hidden !important;}
