body{margin:0;font-family:Georgia,serif;background:#f4f1ea;color:#1b2a3a;font-size:20px;line-height:1.5}
header{background:#1b2a3a;color:#fff;padding:28px 24px;text-align:center}
header h1{margin:0;font-size:clamp(2em,10vw,3.84em);font-weight:800;line-height:1.1;letter-spacing:1px;overflow-wrap:anywhere}header p{margin:6px 0 0;font-size:1.1em;color:#f2c14e}
.mock{background:#f2c14e;color:#1b2a3a;text-align:center;font-weight:bold;padding:6px}
.account{background:#26394d;color:#fff;padding:10px 24px;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;align-items:center}
.account button{background:#f2c14e;color:#1b2a3a;font-weight:bold}
main{max-width:1100px;margin:0 auto;padding:24px}
.intro{font-size:1.15em;text-align:center;margin:0 0 24px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:22px}
.tile{border-radius:14px;padding:24px;border:4px solid #1b2a3a;background:#fff;text-decoration:none;color:inherit;display:block;overflow-wrap:anywhere}
a.tile:focus,a.tile:hover{outline:4px solid #f2c14e}
.tile .icon{font-size:2.6em}.tile h2{margin:8px 0;font-size:1.5em}
.badge{display:inline-block;padding:6px 14px;border-radius:999px;font-weight:bold;font-family:Arial,sans-serif;font-size:.9em}
.open .badge{background:#1f7a3a;color:#fff}
.soon{background:#e4e4e4;border:4px dashed #555}.soon .badge{background:#555;color:#fff}
.locked{background:#e4e4e4;border:4px dashed #8a1c1c}.locked .badge{background:#8a1c1c;color:#fff}
.unlocked{border:4px solid #1f7a3a}.unlocked .badge{background:#1f7a3a;color:#fff}
.soon h2,.locked h2,.soon p,.locked p{color:#333}
input{font-size:1em;padding:10px;max-width:100%;box-sizing:border-box;border:2px solid #1b2a3a;border-radius:8px}
button{font-size:1em;padding:10px 16px;background:#1b2a3a;color:#fff;border:0;border-radius:8px;cursor:pointer}
dialog{border:4px solid #1b2a3a;border-radius:14px;max-width:min(480px,95vw);font-size:1em}
dialog label{display:block;margin-top:12px;font-weight:bold}dialog input{width:100%}
.err{color:#8a1c1c;font-weight:bold}.doc{max-width:800px}
footer{text-align:center;padding:24px;color:#555}

/* —— Accessibility (Simpl Man) —— top sticky, not bottom-right —— */
.sm-a11y-topbar{
  position:sticky;top:0;z-index:2147483001;
  display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;
  background:#0b1a3a;padding:10px 14px;
  border-bottom:4px solid #f2c14e;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.sm-a11y-btn,.sm-a11y-home{
  font-size:clamp(1.15rem,3.5vw,1.65rem)!important;font-weight:800!important;font-family:Arial,sans-serif!important;
  padding:16px 22px!important;min-height:64px!important;min-width:min(260px,90vw);
  background:#f2c14e!important;color:#0b1a3a!important;
  border:4px solid #fff!important;border-radius:14px!important;
  box-shadow:0 4px 10px rgba(0,0,0,.35);cursor:pointer;line-height:1.15;
}
.sm-a11y-btn:focus-visible,.sm-a11y-home:focus-visible,
.sm-a11y-btn:hover,.sm-a11y-home:hover{outline:4px solid #1a5fd0;outline-offset:3px}
.sm-a11y-btn.is-on,.sm-a11y-home.is-on{background:#1f7a3a!important;color:#fff!important;border-color:#fff!important}
.sm-a11y-panel{
  position:fixed;z-index:2147483000;right:12px;top:84px;left:auto;
  width:min(380px,calc(100vw - 24px));max-height:min(70vh,560px);overflow:auto;
  background:#fff;color:#0b1a3a;border:4px solid #0b1a3a;border-radius:16px;
  padding:16px 18px;box-shadow:0 8px 24px rgba(0,0,0,.35);font-family:Arial,sans-serif;font-size:1.1rem;
}
.sm-a11y-panel .sm-a11y-opt{display:flex;align-items:center;gap:12px;margin:10px 0;font-weight:700;font-size:1.15rem}
.sm-a11y-panel input[type=checkbox]{width:1.4rem;height:1.4rem}
.sm-a11y-panel select{font-size:1.1rem;padding:10px;width:100%;border:2px solid #0b1a3a;border-radius:8px;margin:4px 0 12px}
.sm-a11y-stop-all{width:100%;font-size:1.15rem;font-weight:700;padding:12px;background:#8a1c1c;color:#fff;border:0;border-radius:10px;cursor:pointer}
.sm-a11y-hint{font-size:.95rem;margin:12px 0 0;line-height:1.4;color:#333}
.sm-a11y-warn{background:#8a1c1c;color:#fff;font-weight:700;padding:10px;border-radius:8px}
.sm-a11y-toolbar{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  margin:0 0 14px;padding:12px;background:#26394d;border-radius:12px;border:3px solid #0b1a3a;
}
.sm-a11y-toolbar button{
  font-size:1.05rem;font-weight:700;padding:12px 16px;min-height:48px;
  background:#f2c14e;color:#0b1a3a;border:2px solid #0b1a3a;border-radius:10px;cursor:pointer;
}
.sm-a11y-toolbar button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.sm-a11y-toolbar .sm-a11y-stop{background:#8a1c1c;color:#fff}
.sm-a11y-home-row{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:center;margin:24px 0}
html.sm-a11y-large body{font-size:28px}
html.sm-a11y-large .sm-a11y-btn,html.sm-a11y-large .sm-a11y-home{font-size:1.75rem!important;padding:22px 26px!important}
html.sm-a11y-contrast body{background:#000;color:#fff}
html.sm-a11y-contrast header{background:#000;color:#fff;border-bottom:4px solid #f2c14e}
html.sm-a11y-contrast .tile,html.sm-a11y-contrast .mission,html.sm-a11y-contrast main.doc{background:#111;color:#fff;border-color:#f2c14e}
html.sm-a11y-contrast a{color:#f2c14e}
html.sm-a11y-contrast .sm-a11y-panel{background:#000;color:#fff;border-color:#f2c14e}
html.sm-a11y-contrast .account{background:#000}
html.sm-a11y-contrast .sm-a11y-topbar{background:#000;border-bottom-color:#f2c14e}
.sm-a11y-panel[hidden]{display:none!important}
.sm-a11y-close{
  width:100%;font-size:1.25rem;font-weight:800;padding:14px 16px;min-height:56px;margin:0 0 14px;
  background:#0b1a3a;color:#fff;border:3px solid #0b1a3a;border-radius:10px;cursor:pointer;
}
.sm-a11y-turn-off{
  width:100%;font-size:1.15rem;font-weight:700;padding:12px;margin:10px 0 0;
  background:#0b1a3a;color:#fff;border:0;border-radius:10px;cursor:pointer;
}
html.sm-a11y-contrast .sm-a11y-close,
html.sm-a11y-contrast .sm-a11y-turn-off{
  background:#111;color:#fff;border:3px solid #f2c14e;
}

/* —— Newsletter masthead logo (The Simpl Times) —— */
.newsletter-tile{padding-top:18px}
.newsletter-logo-wrap{margin:0 0 12px;text-align:center}
.newsletter-logo{display:block;width:100%;max-width:100%;height:auto;border-radius:12px}
.newsletter-title{margin-top:4px}
html.sm-a11y-contrast .newsletter-logo{outline:3px solid #f2c14e}
