@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;

    --joey:#ba6228;
    --cub:#ffc62e;
    --scout:#0cae4b;
    --venturer:#a22237;
    --rover:#de2a26;

    --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;}

  .masthead{
    background:var(--navy);
    color:var(--on-navy);
    padding:1.5rem 1.25rem 1.3rem;
    text-align:center;
    border-bottom:6px solid var(--gold);
  }
  .masthead h1{
    margin:.2rem 0 .35rem;
    font-family:var(--font-display);
    font-size:clamp(1.7rem,6vw,2.6rem);
    letter-spacing:.05em;
    font-weight:900;
    text-transform:uppercase;
    text-wrap:balance;
    color:#fff;
  }
  .masthead .tag{
    color:var(--on-navy);
    font-family:var(--font-body);
    font-style:italic;
    font-size:1.05rem;
    font-weight:400;
    margin:0 0 .7rem;
  }
  .masthead .meta{
    font-family:var(--font-mono);
    font-size:.78rem;
    color:var(--on-navy);
    letter-spacing:.04em;
  }

  .quicklinks{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:.5rem 1.1rem;
    background:var(--rust);
    padding:.6rem 1rem;
    text-align:center;
  }
  .quicklinks .ql-label{
    font-family:var(--font-mono);
    font-size:.68rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--on-navy);
  }
  .quicklinks a{
    color:#ffffff;
    text-decoration:none;
    font-family:var(--font-display);
    font-weight:700;
    font-size:.82rem;
    letter-spacing:.01em;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .quicklinks a:hover{color:var(--ground-2);}
  .quicklinks a .ql-arrow{margin-left:.3rem;}

  nav.toc{
    background:var(--ground-2);
    border-bottom:1px solid var(--line);
    position:sticky;
    top:0;
    z-index:10;
    overflow-x:auto;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  nav.toc::-webkit-scrollbar{height:5px;}
  nav.toc::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px;}
  nav.toc .inner{
    display:inline-flex;
    gap:.4rem;
    padding:.55rem .75rem;
  }
  nav.toc a{
    display:inline-block;
    text-decoration:none;
    color:var(--ink);
    font-family:var(--font-display);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    padding:.4rem .75rem;
    border-radius:3px;
    border:1px solid var(--line);
    background:var(--card);
    white-space:nowrap;
  }
  nav.toc a:hover{border-color:var(--gold);}

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

  section{
    padding:2.1rem 0;
    border-bottom:1px solid var(--line);
    scroll-margin-top:3.2rem;
  }
  section: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 1rem;
    font-family:var(--font-display);
    font-size:clamp(1.4rem,4.6vw,1.9rem);
    font-weight:900;
    color:var(--navy);
    letter-spacing:.005em;
    text-wrap:balance;
  }
  h3{
    font-family:var(--font-display);
    font-size:1.02rem;
    font-weight:700;
    color:var(--navy);
    letter-spacing:.01em;
    margin:1.2rem 0 .4rem;
  }
  p{margin:.6rem 0;}
  .byline{
    font-size:.85rem;
    color:var(--muted);
    font-style:italic;
    margin:-.2rem 0 .9rem;
  }
  ul{margin:.6rem 0;padding-left:1.3rem;}
  li{margin:.3rem 0;}

  .lead{
    font-size:1.05rem;
    color:var(--muted);
  }

  .accent-bar{
    height:5px;
    width:56px;
    border-radius:3px;
    margin-bottom:.9rem;
  }
  .joey .accent-bar{background:var(--joey);}
  .cub .accent-bar{background:var(--cub);}
  .scout .accent-bar{background:var(--scout);}
  .venturer .accent-bar{background:var(--venturer);}
  .rover .accent-bar{background:var(--rover);}
  .gold .accent-bar{background:var(--gold);}

  figure{margin:1rem 0;}
  figure img{
    border-radius:10px;
    border:1px solid var(--line);
  }
  figcaption{
    font-family:var(--font-mono);
    font-size:.76rem;
    color:var(--muted);
    margin-top:.5rem;
  }

  .callout{
    background:var(--card);
    border:1px solid var(--gold);
    border-radius:10px;
    padding:1rem 1.1rem;
    margin:1rem 0;
  }
  .callout p{margin:.4rem 0;}
  .callout strong{color:var(--gold-soft);}

  .leadership-box{
    background:var(--card);
    border:1px solid var(--line);
    border-left:3px solid var(--gold);
    border-radius:2px;
    padding:1rem 1.15rem;
    margin-top:1.2rem;
    box-shadow:0 2px 6px rgba(0,0,0,.06);
  }
  .leadership-box .lb-title{
    font-family:var(--font-mono);
    font-size:.7rem;
    font-weight:600;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--gold-soft);
    margin-bottom:.4rem;
  }
  .leadership-box p{margin:.35rem 0;font-size:.92rem;}

  .contrib-box{
    border:1.5px dashed var(--line);
    border-radius:4px;
    padding:1rem 1.1rem;
    margin-top:.8rem;
    color:var(--muted);
    font-size:.92rem;
  }
  .contrib-box .cb-tag{
    display:inline-block;
    font-family:var(--font-mono);
    font-size:.66rem;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--gold-soft);
    margin-bottom:.4rem;
  }

  .cta-btn{
    display:inline-block;
    background:var(--rust);
    color:#ffffff !important;
    font-family:var(--font-display);
    font-weight:700;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.03em;
    padding:.7rem 1.3rem;
    border-radius:3px;
    margin-top:.6rem;
    font-size:.85rem;
  }
  .cta-btn:hover{background:var(--cta-hover);}
  .cta-btn:focus-visible, a:focus-visible, nav.toc a:focus-visible{
    outline:2px solid var(--gold);
    outline-offset:2px;
  }

  .contrib-list{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:10px;
    padding:1rem 1.2rem;
    margin-top:.9rem;
  }

  .names-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:.3rem .8rem;
    margin:.8rem 0;
    padding:0;
    list-style:none;
  }
  .names-grid li{
    font-size:.92rem;
    padding:.25rem 0;
    border-bottom:1px dashed var(--line);
  }

  footer{
    background:var(--navy);
    color:var(--on-navy);
    text-align:center;
    padding:1.4rem 1.25rem 2rem;
  }
  footer h4{
    margin:.2rem 0 .3rem;
    font-family:var(--font-display);
    letter-spacing:.05em;
    text-transform:uppercase;
    font-size:1rem;
  }
  footer p{color:var(--on-navy);font-size:.88rem;margin:.3rem 0;}
  footer a{color:var(--on-navy);font-weight:700;text-decoration:none;}
  .next-issue{
    margin-top:1.1rem;
    padding-top:1.1rem;
    border-top:1px solid #413f78;
    font-family:var(--font-mono);
    font-size:.78rem;
    color:var(--on-navy);
  }

  @media (min-width:600px){
    section{padding:2.6rem 0;}
  }
  @media (min-width:600px){
    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;}
