
  /* ---- CONFIGURE ONE THING ----------------------------------------
     Paste your Substack embed URL between the quotes in the script at
     the bottom of this file (search for SUBSTACK_EMBED). Until then the
     signup form falls back to email.
     ----------------------------------------------------------------- */

  :root{
    --navy:#0C3064;
    --deep:#071E42;
    --gold:#C8A24A;
    --crimson:#9B2743;
    --pale:#C6D4E6;
    --parchment:#F4F7FB;
    --rule:rgba(200,162,74,.35);
    --display:Georgia,"Iowan Old Style","Times New Roman",serif;
    --body:"Segoe UI",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *{animation:none!important;transition:none!important}
  }
  body{
    margin:0;background:var(--deep);color:#10233f;
    font-family:var(--body);font-size:17px;line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block}
  .wrap{max-width:1060px;margin:0 auto;padding:0 24px}

  /* ---------- eyebrow ---------- */
  .eyebrow{
    font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
    color:var(--gold);margin:0 0 14px;
  }
  .eyebrow.dark{color:var(--crimson)}

  /* ---------- hero ---------- */
  .hero{
    position:relative;color:#fff;text-align:center;
    padding:96px 0 84px;
    background:var(--navy) url("bg-hero.jpg") center/cover no-repeat;
  }
  .hero .logo{
    width:190px;height:190px;margin:0 auto 30px;border-radius:14px;
    box-shadow:0 18px 46px rgba(0,0,0,.45);
  }
  .hero h1{
    font-family:var(--display);font-weight:700;
    font-size:clamp(2.3rem,6vw,4rem);line-height:1.05;
    margin:0 0 18px;text-shadow:0 3px 16px rgba(0,0,0,.5);
  }
  .hero .lede{
    max-width:640px;margin:0 auto;font-size:clamp(1.02rem,2.2vw,1.2rem);
    color:#E4ECF6;text-shadow:0 2px 10px rgba(0,0,0,.45);
  }
  .hero .rule{
    width:120px;height:2px;background:var(--gold);margin:34px auto 0;opacity:.8;
  }

  /* ---------- signup ---------- */
  .signup{
    background:var(--navy) url("bg-sheet.jpg") center/cover no-repeat;
    color:#fff;padding:70px 0;
  }
  .signup .card{
    max-width:680px;margin:0 auto;text-align:center;
    background:rgba(7,30,66,.72);border:1px solid rgba(200,162,74,.3);
    border-radius:6px;padding:38px 32px;
    backdrop-filter:blur(2px);
  }
  .signup h2{font-family:var(--display);font-size:clamp(1.7rem,4vw,2.3rem);margin:0 0 12px}
  .signup p{color:#DCE6F2;margin:0 auto 26px;max-width:460px}
  form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
  input[type=email]{
    flex:1 1 280px;min-width:0;padding:14px 16px;font:inherit;font-size:16px;
    border:1px solid rgba(255,255,255,.35);border-radius:4px;
    background:rgba(255,255,255,.96);color:#10233f;
  }
  input[type=email]:focus-visible,button:focus-visible{
    outline:3px solid var(--gold);outline-offset:2px;
  }
  button{
    padding:14px 26px;font:inherit;font-weight:700;font-size:16px;cursor:pointer;
    background:var(--gold);color:#221703;border:none;border-radius:4px;
  }
  button:hover{background:#DDB55C}
  .formnote{margin:18px 0 0;font-size:13.5px;color:var(--pale)}
  .formmsg{margin:16px 0 0;font-size:15px;color:var(--gold);min-height:1.2em}

  /* ---------- body sections ---------- */
  .sheet{background:var(--parchment);padding:74px 0}
  .sheet.alt{background:#fff}
  .sheet h2{
    font-family:var(--display);color:var(--navy);
    font-size:clamp(1.7rem,4vw,2.4rem);margin:0 0 10px;line-height:1.15;
  }
  .sheet .sub{max-width:660px;color:#3d4d63;margin:0 0 44px}

  /* ---------- the four rings: the signature ---------- */
  .ring{display:grid;grid-template-columns:104px 1fr;gap:30px;align-items:start;
        padding:30px 0;border-top:1px solid #dfe6ef}
  .ring:first-of-type{border-top:none}
  .ringmark{position:relative;width:104px;height:104px}
  .ringmark svg{width:104px;height:104px;display:block}
  .ringmark span{
    position:absolute;inset:0;display:grid;place-items:center;
    font-family:var(--display);font-size:17px;font-weight:700;color:var(--navy);
  }
  .ring h3{font-family:var(--display);color:var(--navy);font-size:1.5rem;margin:2px 0 4px}
  .ring .who{
    font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
    color:var(--crimson);margin:0 0 10px;
  }
  .ring p{margin:0 0 14px;color:#2c3a4e}

  /* ---------- app grid ---------- */
  .grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(258px,1fr))}
  .app{
    background:#fff;border:1px solid #dde5ef;border-radius:6px;padding:22px 20px 20px;
    display:flex;flex-direction:column;
  }
  .sheet.alt .app{background:var(--parchment)}
  .app .top{display:flex;align-items:center;gap:11px;margin-bottom:9px}
  .app .top svg{width:22px;height:22px;flex:none;stroke:var(--navy)}
  .app h4{font-family:var(--display);color:var(--navy);font-size:1.16rem;margin:0}
  .app p{margin:0 0 18px;font-size:15.2px;color:#42506a;flex:1}

  /* ---------- the not-yet-open marker ---------- */
  .status{
    display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
    padding:8px 14px;border-radius:999px;
    background:#eef2f8;border:1px solid #ccd8e8;
    font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    color:#5c6b82;cursor:default;user-select:none;
  }
  .status svg{width:14px;height:14px;stroke:#7a879c;flex:none}
  .status.built{background:#f2f7f1;border-color:#cfe0cd;color:#3f6b48}
  .status.built svg{stroke:#4d7d57}
  .ring .status{margin-top:2px}

  /* ---------- closing ---------- */
  .closing{
    background:var(--navy) url("bg-hero.jpg") center/cover no-repeat;
    color:#fff;text-align:center;padding:78px 0 70px;
  }
  .closing img{width:132px;height:132px;margin:0 auto 26px;border-radius:12px;
               box-shadow:0 14px 36px rgba(0,0,0,.45)}
  .closing h2{font-family:var(--display);font-size:clamp(1.6rem,4vw,2.2rem);margin:0 0 14px;
              text-shadow:0 3px 14px rgba(0,0,0,.5)}
  .closing p{color:#DCE6F2;margin:0 0 8px}
  .closing a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(200,162,74,.45)}
  .closing a:hover{border-bottom-color:var(--gold)}
  .closing .fine{margin-top:26px;font-size:13px;color:var(--pale)}

  @media (max-width:640px){
    .hero{padding:66px 0 56px}
    .hero .logo{width:142px;height:142px}
    .ring{grid-template-columns:1fr;gap:14px}
    .ringmark{width:78px;height:78px}
    .ringmark svg{width:78px;height:78px}
    .sheet{padding:54px 0}
  }


/* ================= additions: letters, pilot, join, codes ================= */

.eyebrow.dark{color:var(--crimson)}
.anchorlink{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(12,48,100,.3)}
.anchorlink:hover{border-bottom-color:var(--navy)}

/* ---------- resets against the original global form rules ---------- */
#joinForm{display:block}
.join .field input,.join .field select,.join .field textarea{flex:0 0 auto;min-height:0}
.signup .card p.named{margin:0 auto 22px;max-width:520px}
.signup .card a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(200,162,74,.5)}
.signup .card a:hover{border-bottom-color:var(--gold)}
.signup .card strong{color:#fff}
.closing a.jump{color:var(--gold)}

/* ---------- shared button ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 26px;border-radius:4px;border:1px solid var(--navy);
  background:var(--navy);color:#fff;font-family:var(--body);font-size:15.4px;
  font-weight:700;letter-spacing:.02em;text-decoration:none;cursor:pointer;
  transition:background .15s ease,color .15s ease;
}
button.btn{font:inherit;font-size:15.4px;font-weight:700}
.btn:hover{background:var(--deep)}
.btn.ghost{background:transparent;color:var(--navy)}
.btn.ghost:hover{background:rgba(12,48,100,.07)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#20180a}
.btn.gold:hover{background:#b8933f;border-color:#b8933f}

/* ---------- letters ---------- */
.letters{background:var(--parchment);padding:74px 0}
.letters h2{font-family:var(--display);color:var(--navy);
            font-size:clamp(1.7rem,4vw,2.4rem);margin:0 0 10px;line-height:1.15}
.letters .sub{max-width:680px;color:#3d4d63;margin:0 0 20px}
.letters .discipline{
  max-width:680px;margin:0 0 40px;padding:18px 22px;background:#fff;
  border-left:3px solid var(--gold);border-radius:0 4px 4px 0;
}
.letters .discipline p{margin:0 0 8px;font-size:15px;color:#42506a}
.letters .discipline p:last-child{margin:0}
.letters .discipline strong{color:var(--navy)}
.letterlist{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.letter{
  background:#fff;border:1px solid #dde5ef;border-radius:6px;padding:24px 22px 22px;
  display:flex;flex-direction:column;
}
.letter .no{
  font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:#8A6B1F;margin:0 0 10px;
}
.letter .ringtag{
  font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--crimson);margin:0 0 10px;
}
.letter h3{font-family:var(--display);color:var(--navy);font-size:1.28rem;margin:0 0 10px;line-height:1.25}
.letter p.dek{margin:0 0 16px;font-size:15.2px;color:#42506a;flex:1}
.letter .read{
  align-self:flex-start;font-size:14px;font-weight:700;letter-spacing:.03em;
  color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(12,48,100,.35);
}
.letter .read:hover{border-bottom-color:var(--navy)}
.letters .after{margin:38px 0 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.letters .after .note{margin:0;font-size:14.4px;color:#5c6b82}

/* ---------- pilot ---------- */
.pilot{background:#fff;padding:74px 0}
.pilot h2{font-family:var(--display);color:var(--navy);
          font-size:clamp(1.7rem,4vw,2.4rem);margin:0 0 10px;line-height:1.15}
.pilot .sub{max-width:700px;color:#3d4d63;margin:0 0 12px}
.pilot h3.step{
  font-family:var(--body);font-size:11.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--crimson);margin:46px 0 16px;
  padding-bottom:10px;border-bottom:1px solid #e3e9f1;
}
.twocol{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.pane{border-radius:6px;padding:22px 22px 18px;border:1px solid #dde5ef;background:var(--parchment)}
.pane.is{border-color:#ccd8e8}
.pane.isnot{background:#fdf8ef;border-color:#ecdcbe}
.pane h4{font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px}
.pane.is h4{color:var(--navy)}
.pane.isnot h4{color:#8a6a1f}
.pane ul{margin:0;padding-left:20px}
.pane li{margin:0 0 9px;font-size:15.2px;color:#3d4d63}
.pane li:last-child{margin:0}

.lanes{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.lane{background:var(--parchment);border:1px solid #dde5ef;border-radius:6px;padding:20px}
.lane h4{font-family:var(--display);color:var(--navy);font-size:1.12rem;margin:0 0 7px}
.lane p{margin:0;font-size:14.8px;color:#42506a}

.numlist{list-style:none;margin:0;padding:0;max-width:760px;counter-reset:nl}
.numlist li{
  counter-increment:nl;position:relative;padding:0 0 16px 46px;font-size:16px;color:#2c3a4e;
}
.numlist li:before{
  content:counter(nl,decimal-leading-zero);position:absolute;left:0;top:1px;
  font-family:var(--body);font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--gold);
}
.numlist li strong{color:var(--navy)}

.phases{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.phase{border-top:3px solid var(--gold);padding:16px 0 0}
.phase .when{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson);margin:0 0 6px}
.phase h4{font-family:var(--display);color:var(--navy);font-size:1.1rem;margin:0 0 7px}
.phase p{margin:0;font-size:14.8px;color:#42506a}

.callout{
  margin:30px 0 0;max-width:760px;padding:20px 24px;background:var(--parchment);
  border-left:3px solid var(--crimson);border-radius:0 4px 4px 0;
}
.callout p{margin:0;font-size:15.4px;color:#3d4d63}
.callout strong{color:var(--navy)}

.rules{list-style:none;margin:0;padding:0;max-width:820px}
.rules li{position:relative;padding:0 0 13px 26px;font-size:15.6px;color:#2c3a4e}
.rules li:before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;
                 border-radius:50%;background:var(--crimson)}
.rules li strong{color:var(--navy)}

.pilot .cta{margin:44px 0 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.pilot .cta .note{margin:0;font-size:14.4px;color:#5c6b82}

/* ---------- join ---------- */
.join{color:#fff;padding:78px 0;background:var(--deep)}
.join .wrap{max-width:820px}
.join .eyebrow{color:var(--gold)}
.join h2{font-family:var(--display);font-size:clamp(1.7rem,4vw,2.35rem);margin:0 0 12px;line-height:1.15}
.join .sub{color:#DCE6F2;margin:0 0 32px;max-width:660px}
.purpose{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0 0 28px}
.purpose label{
  display:block;padding:18px 18px 16px;border:1px solid rgba(255,255,255,.28);
  border-radius:5px;cursor:pointer;background:rgba(255,255,255,.05);
  transition:border-color .15s ease,background .15s ease;
}
.purpose label:hover{border-color:rgba(200,162,74,.75)}
.purpose input{position:absolute;opacity:0;width:0;height:0}
.purpose .t{display:block;font-family:var(--display);font-size:1.1rem;margin:0 0 5px;color:#fff}
.purpose .d{display:block;font-size:13.8px;color:#C6D4E6;line-height:1.5}
.purpose label:has(input:checked){border-color:var(--gold);background:rgba(200,162,74,.16)}
.purpose label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}

.fields{display:grid;gap:16px;grid-template-columns:1fr 1fr}
.field{display:flex;flex-direction:column;gap:7px}
.field.wide{grid-column:1/-1}
.field label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pale)}
.field input,.field select,.field textarea{
  font-family:var(--body);font-size:16px;color:#10233f;background:#fff;
  border:1px solid rgba(255,255,255,.35);border-radius:4px;padding:12px 13px;width:100%;
}
.field textarea{min-height:104px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold);
}
.field .hint{font-size:13px;color:#C6D4E6}
.join .actions{margin:26px 0 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.join .formMsg{margin:0;font-size:14.6px;color:var(--gold);min-height:22px}
.join .fine{margin:26px 0 0;font-size:13.4px;color:var(--pale);max-width:660px}
.join .fine a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(200,162,74,.45)}
@media (max-width:640px){ .fields{grid-template-columns:1fr} .join{padding:56px 0} }

/* ---------- scan codes ---------- */
.codes{background:var(--parchment);padding:74px 0;text-align:center;border-top:3px solid var(--rule)}
.codes h2{font-family:var(--display);color:var(--navy);
          font-size:clamp(1.7rem,4vw,2.4rem);margin:0 0 10px;line-height:1.15}
.codes .sub{max-width:640px;margin:0 auto 40px;color:#3d4d63}
.codegrid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));
          max-width:1010px;margin:0 auto;align-items:stretch}
.codecard{background:#fff;border:1px solid #dde5ef;border-radius:6px;padding:22px 18px 20px;
          display:flex;flex-direction:column}
.codecard .who{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
               color:var(--crimson);margin:0 0 14px}
.codecard .qr{width:100%;max-width:196px;height:auto;margin:0 auto 18px;
              border:1px solid #e5ebf3;border-radius:4px}
.codecard h3{font-family:var(--display);color:var(--navy);font-size:1.14rem;margin:0 0 4px}
.codecard .role{margin:0 0 14px;font-size:14.2px;color:#5c6b82;flex:1}
.codecard .goes{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
                color:#7a879c;margin:0 0 5px}
.codecard .url{margin:0;font-size:13.6px;word-break:normal;overflow-wrap:break-word;line-height:1.4}
.codecard .url a{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(12,48,100,.3)}
.codecard .url a:hover{border-bottom-color:var(--navy)}
.codecard .note{margin:12px 0 0;font-size:12.2px;line-height:1.5;color:#42506a;word-break:normal;overflow-wrap:break-word}
.codecard .note a{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(12,48,100,.3)}
.codes .marks{display:flex;justify-content:center;align-items:center;gap:34px;margin:44px 0 0;flex-wrap:wrap}
.codes .marks img{height:74px;width:auto;opacity:.95}
.codes .marks img.sq{border-radius:8px}
.codes .contact{margin:26px auto 0;max-width:660px;font-size:15.6px;color:#3d4d63}
.codes .contact a{color:var(--navy);font-weight:700;text-decoration:none;
                  border-bottom:1px solid rgba(12,48,100,.35)}
@media (max-width:640px){ .codes{padding:54px 0} .letters,.pilot{padding:54px 0} }

/* ---------- letter reading pages ---------- */
.letterhead{background:var(--deep);color:#fff;padding:64px 0 54px}
.letterhead .wrap{max-width:780px}
.letterhead .kicker{font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
                    color:var(--gold);margin:0 0 16px}
.letterhead h1{font-family:var(--display);font-size:clamp(1.9rem,5vw,2.7rem);margin:0 0 14px;line-height:1.14}
.letterhead .dek{color:#DCE6F2;font-size:18px;margin:0 0 20px}
.letterhead .meta{font-size:13.4px;color:var(--pale);margin:0}
.letterhead .back{display:inline-block;margin:0 0 24px;font-size:13.6px;color:var(--gold);
                  text-decoration:none;border-bottom:1px solid rgba(200,162,74,.45)}
.letterbody{background:#fff;padding:60px 0 70px}
.letterbody .wrap{max-width:720px}
.letterbody h2{font-family:var(--display);color:var(--navy);font-size:1.5rem;margin:40px 0 12px;line-height:1.2}
.letterbody h2:first-child{margin-top:0}
.letterbody p{font-size:17.4px;line-height:1.72;color:#22314a;margin:0 0 18px}
.letterbody ul{margin:0 0 20px;padding-left:22px}
.letterbody li{font-size:17px;line-height:1.65;color:#2c3a4e;margin:0 0 10px}
.letterbody strong{color:var(--navy)}
.letterbody blockquote{
  margin:26px 0;padding:18px 24px;background:var(--parchment);
  border-left:3px solid var(--gold);border-radius:0 4px 4px 0;
}
.letterbody blockquote p{margin:0;font-size:17px;color:#3d4d63}
.letterbody .action{
  margin:34px 0 0;padding:24px 26px;border:1px solid #dde5ef;border-radius:6px;background:var(--parchment);
}
.letterbody .action h3{font-family:var(--display);color:var(--navy);font-size:1.22rem;margin:0 0 12px}
.letterbody .action ul{margin:0 0 18px}
.letterbody .action .btn{margin-top:2px}
.letterfoot{background:var(--deep);color:#fff;text-align:center;padding:56px 0}
.letterfoot p{color:#DCE6F2;margin:0 0 8px}
.letterfoot a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(200,162,74,.45)}
.letterfoot .fine{margin-top:20px;font-size:13px;color:var(--pale)}
.letternav{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:0 0 22px}

/* ================= partners ================= */
.partners{
  background:var(--deep) url("bg-sheet.jpg") center/cover no-repeat;
  padding:78px 0;color:#fff;
  border-top:3px solid var(--rule);border-bottom:3px solid var(--rule);
}
.partners h2{
  font-family:var(--display);color:#fff;
  font-size:clamp(1.7rem,4vw,2.4rem);margin:0 0 12px;line-height:1.15;
}
.partners .sub{max-width:700px;color:#C6D4E6;margin:0 0 40px}

.partner{
  display:grid;grid-template-columns:290px 1fr;gap:0;
  background:rgba(7,30,66,.62);
  border:1px solid rgba(200,162,74,.34);border-radius:7px;overflow:hidden;
  box-shadow:0 22px 60px rgba(0,0,0,.42);
}
.partner .plate{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:20px;padding:38px 26px;text-align:center;
  background:linear-gradient(160deg,#0C3064 0%,#061a3a 100%);
  border-right:1px solid rgba(200,162,74,.28);
}
.partner .plate img{width:100%;max-width:236px;height:auto}
.partner .plate .creed{
  margin:0;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--gold);line-height:2.05;
}
.partner .plate .creed .dot{color:rgba(200,162,74,.55);letter-spacing:0}
.partner .body{padding:36px 34px 32px}
.partner .kind{
  font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin:0 0 10px;
}
.partner h3{
  font-family:var(--display);color:#fff;font-weight:700;
  font-size:clamp(1.34rem,2.7vw,1.72rem);line-height:1.2;margin:0 0 14px;
}
.partner .stand{
  font-family:var(--display);font-size:1.06rem;line-height:1.55;color:#EAF1F9;
  margin:0 0 16px;padding-left:16px;border-left:2px solid rgba(200,162,74,.6);
}
.partner .body > p{margin:0 0 16px;color:#C6D4E6;font-size:15.6px}
.partner .doing{margin:0 0 26px;padding:0;list-style:none}
.partner .doing li{
  position:relative;padding-left:20px;margin:0 0 9px;
  font-size:15.2px;line-height:1.55;color:#C6D4E6;
}
.partner .doing li:before{
  content:"";position:absolute;left:0;top:.62em;
  width:7px;height:7px;border:1.5px solid var(--gold);border-radius:50%;
}
.partner .doing strong{color:#fff}
.partner .doing em{color:#EAF1F9;font-style:italic}

.partner .doors{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 20px}
.partner .doors .btn{
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  padding:13px 22px;border-radius:4px;text-decoration:none;
  border:1px solid transparent;transition:background .18s,border-color .18s;
}
.partner .doors .btn .lab{
  font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}
.partner .doors .btn .dom{font-size:15px;font-weight:700;letter-spacing:.01em}
.partner .doors .btn.gold{background:var(--gold);border-color:var(--gold);color:#20180a}
.partner .doors .btn.gold .lab{color:#3a2b05}
.partner .doors .btn.gold:hover{background:#DDB55C;border-color:#DDB55C}
.partner .doors .btn.ghostgold{
  background:transparent;border-color:rgba(200,162,74,.6);color:var(--gold);
}
.partner .doors .btn.ghostgold .lab{color:rgba(200,162,74,.8)}
.partner .doors .btn.ghostgold:hover{background:rgba(200,162,74,.13);border-color:var(--gold)}
.partner .doors .btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.partner .built{
  margin:0;padding-top:18px;border-top:1px solid rgba(200,162,74,.22);
  font-size:13.6px;line-height:1.6;color:#9FB4CE;
}
.partners .morecoming{
  margin:30px 0 0;font-size:14.4px;color:#8FA6C4;
}

@media (max-width:760px){
  .partner{grid-template-columns:1fr}
  .partner .plate{
    border-right:none;border-bottom:1px solid rgba(200,162,74,.28);
    padding:32px 26px;
  }
  .partner .body{padding:28px 22px 26px}
  .partner .doors .btn{width:100%}
  .partners{padding:56px 0}
}

/* ================= letters held privately ================= */
.letters .heldnote{
  max-width:680px;margin:0 0 40px;padding:20px 22px;
  background:#fff;border:1px solid #e2d7bd;border-left:3px solid var(--crimson);
  border-radius:0 4px 4px 0;
}
.letters .heldnote .tag{
  margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--crimson);
}
.letters .heldnote p{margin:0;font-size:15px;line-height:1.6;color:#42506a}
.letter .sent{
  align-self:flex-start;display:inline-flex;align-items:center;gap:7px;
  font-size:12.4px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#6d7c93;background:#f1f4f9;border:1px solid #dde5ef;
  border-radius:3px;padding:6px 11px;
}
.letter .sent svg{width:14px;height:14px;stroke:#8b98ad;fill:none}

/* ================= partner plates for real partner logos ================= */
/* Partner logos come from each organisation's own site, so they arrive on
   their own background (white line art, black flag wordmark, colour crayon).
   The tile frames the real mark instead of recolouring it. */
.partner + .partner{margin-top:28px}
.partner .plate .tile{
  width:100%;max-width:238px;background:#fff;border-radius:5px;
  padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.5);
  display:flex;align-items:center;justify-content:center;
}
.partner .plate .tile.dark{background:#000;border-color:rgba(200,162,74,.4)}
.partner .plate .tile.tight{padding:14px}
/* ARC's emblem is drawn for a black ground; this is their own full-size art, unaltered */
.partner .plate .tile.emblem{padding:0;background:#03040a;border:1px solid rgba(200,162,74,.52);
  max-width:238px;box-shadow:0 12px 34px rgba(0,0,0,.44)}
.partner .plate .tile img{width:100%;height:auto;display:block;max-width:none}
.partner .plate .named{
  margin:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);line-height:1.9;
}
.partner .plate .named .nm{display:block;color:#EAF1F9;letter-spacing:.09em}
.partner .plate .named .rl{display:block;color:rgba(200,162,74,.82);font-size:10px;letter-spacing:.13em}
.partner .plate .named .sep{display:block;color:rgba(200,162,74,.45);margin:7px 0}

/* the codebreaker note that sits under Cathy's card */
.partner .discipline{
  margin:0 0 20px;padding:16px 18px;border-radius:5px;
  background:rgba(200,162,74,.09);border:1px solid rgba(200,162,74,.3);
  font-size:14px;line-height:1.65;color:#D8E3F1;
}
.partner .discipline strong{color:var(--gold);display:block;margin-bottom:5px;
  font-size:11px;letter-spacing:.15em;text-transform:uppercase}
/* ARC's mark ships on its own dark textured ground — no white frame, let the
   artwork be the tile so nothing is recoloured or matted. */
.partner .plate .tile.raw{padding:0;background:transparent;border-color:rgba(200,162,74,.42);overflow:hidden}
/* ARC publish their mark at 200px only — shown smaller so it stays crisp. */
.partner .plate .tile.raw{max-width:186px}
