:root{
    --navy:#1B2A4A; --gold:#B08D3E; --stone:#F4F2ED;
    --slate:#5A6478; --grey:#8A91A0; --ink:#2A3245;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--stone);
    color:var(--ink);
    font-family:Arial,Helvetica,sans-serif;
    line-height:1.6;
  }
  header.site{
    background:var(--navy); color:#fff;
    padding:1.4rem 1rem 0;
  }
  .head-inner{max-width:880px;margin:0 auto}
  .brand{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .9rem}
  .brand .name{
    font-family:Georgia,'Times New Roman',serif;
    font-size:1.7rem;font-weight:500;color:#fff;
  }
  .brand .role{color:var(--gold);font-size:.85rem}
  nav.main{margin-top:1rem;display:flex;gap:.25rem;flex-wrap:wrap}
  nav.main a{
    color:#fff;text-decoration:none;font-size:.95rem;
    padding:.55rem 1rem;border-bottom:3px solid transparent;
  }
  nav.main a:hover{border-bottom-color:var(--gold)}
  nav.main a[aria-current="page"]{border-bottom-color:var(--gold);color:#fff}
  nav.main a:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
  nav.main{align-items:center}
  nav.main a.pink{background:#fff;color:#E0218A;font-weight:normal;border-radius:4px;
    padding:.28rem .55rem;font-size:.88rem;border-bottom:none}
  nav.main a.pink:hover, nav.main a.pink[aria-current="page"]{outline:2px solid #E0218A}
  main{max-width:880px;margin:0 auto;padding:0 1rem}
  .hero{
    background:#fff;border-left:12px solid var(--navy);
    border:1px solid #d8d5cc;border-left:12px solid var(--navy);
    padding:2.6rem 2.4rem;margin-bottom:2rem;
  }
  h1{
    font-family:Georgia,'Times New Roman',serif;font-weight:500;
    color:var(--navy);font-size:2.2rem;line-height:1.25;
  }
  .sub{color:var(--slate);margin-top:.9rem;max-width:60ch}
  h2{
    font-family:Georgia,'Times New Roman',serif;font-weight:500;
    color:var(--navy);font-size:1.5rem;margin:2.2rem 0 .3rem;
  }
  h2:first-child{margin-top:0}
  .rule{width:64px;height:2px;background:var(--gold);margin:.5rem 0 1rem}
  h3{color:var(--navy);font-size:1.08rem;margin:1.5rem 0 .35rem}
  p{margin:.6rem 0;max-width:68ch}
  .lede{font-size:1.05rem}
  .quiet{color:var(--slate)}
  blockquote.sig{
    font-family:Georgia,'Times New Roman',serif;font-style:italic;
    color:var(--gold);margin:1.2rem 0 .2rem;
  }
  blockquote.sig footer{
    font-family:Arial,Helvetica,sans-serif;font-style:normal;
    color:var(--grey);font-size:.78rem;margin-top:.2rem;
  }
  .strip{
    background:#fff;border:1px solid #d8d5cc;
    padding:1.4rem 1.8rem;margin:2rem 0;
    display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:.9rem 1.6rem;
  }
  .strip div{font-size:.92rem;color:var(--navy)}
  .strip div::before{
    content:"";display:block;width:26px;height:2px;
    background:var(--gold);margin-bottom:.45rem;
  }
  .cta{
    background:var(--navy);color:#fff;padding:2rem 2.2rem;margin:2.4rem 0 0;
  }
  .cta h2{color:#fff;margin-top:0}
  .cta p{color:#e7eaf1}
  .btn{
    display:inline-block;margin-top:1rem;text-decoration:none;
    background:#fff;color:var(--navy);padding:.7rem 1.3rem;
    font-size:.95rem;border:1.5px solid #fff;
  }
  .btn:hover{background:var(--stone)}
  .btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
  .service{background:#fff;border:1px solid #d8d5cc;padding:1.8rem 2rem;margin:1.4rem 0}
  .service h3{margin-top:0;font-size:1.2rem}
  .service .tag{color:var(--gold);font-size:.8rem}
  .orgcard{display:flex;gap:1.1rem;align-items:flex-start;background:#fff;
    border:1px solid #d8d5cc;padding:1.2rem 1.4rem;margin:1rem 0}
  .orgcard .logo{flex:0 0 64px;height:64px;display:flex;align-items:center;
    justify-content:center;font-family:Georgia,serif;font-size:1.3rem;
    color:#fff;background:#C13584;border-radius:6px}
  .orgcard .logo-img{flex:0 0 140px;height:auto;background:none;border-radius:0;
    align-items:flex-start}
  .orgcard .logo-img img{width:140px;height:auto;display:block}
  @media (max-width:560px){
    .orgcard{flex-wrap:wrap}
    .orgcard .logo-img{flex-basis:110px}
    .orgcard .logo-img img{width:110px}
  }
  .orgcard h3{margin:0 0 .3rem}
  .orgcard p{margin:.2rem 0}
  .orgcard a.site{font-size:.9rem}
  figure.illus{margin:1.6rem 0}
  figure.illus img{width:100%;height:auto;display:block;border:1px solid #d8d5cc}
  .vmucall{background:#fff;border:2px solid #C13584;border-left-width:10px;
    padding:1.4rem 1.6rem;margin:1.6rem 0}
  .vmucall-lead{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;
    color:#C13584;margin:0 0 .4rem}
  .vmucall p{max-width:60ch}
  .vmucall-btn{display:inline-block;margin-top:.6rem;background:#C13584;color:#fff;
    text-decoration:none;padding:.65rem 1.2rem;font-size:.98rem}
  .vmucall-btn:hover{background:#A82C6F}
  .vmucall-btn:focus-visible{outline:3px solid #1B2A4A;outline-offset:2px}
  figure.illus.portrait{max-width:340px}
  figure.illus figcaption{color:var(--grey);font-size:.78rem;margin-top:.4rem}
  footer.site{
    background:var(--navy);color:#c9cfdd;margin-top:3rem;
    padding:1.6rem 1rem;font-size:.82rem;
  }
  .foot-inner{max-width:880px;margin:0 auto}
  footer.site a{color:#fff}
  @media (max-width:560px){
    .hero{padding:1.8rem 1.3rem;border-left-width:9px}
    h1{font-size:1.7rem}
    .service{padding:1.4rem 1.2rem}
  }

  main{padding:2.5rem 0 3rem}

  main a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}
  main a:hover{color:var(--gold)}
  main a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
