/* System font stack only: no web fonts, so no font licensing questions */
:root{--ink:#2a1b4a;--bg:#fff9ef;--gold:#f2b632;--plum:#5b2a86;--teal:#0f6b6b;--card:#fff}
*{box-sizing:border-box}body{margin:0;font:1.0625rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg) radial-gradient(circle at 20% 0,#fde7b8,transparent 50%)}
a{color:var(--plum)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
header.site{background:var(--plum);color:#fff;padding:.75rem 1rem}
.brand{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-weight:800;font-size:1.25rem}
.key{width:1.6rem;height:2.4rem;fill:var(--gold)}
nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem 1rem;padding:0;margin:.5rem 0 0}nav a{color:#fff;text-decoration:none}nav a[aria-current]{text-decoration:underline 3px var(--gold)}
main{max-width:64rem;margin:auto;padding:1.5rem 1rem}
h1{font-size:clamp(1.8rem,6vw,2.8rem);line-height:1.15;color:var(--plum)}
.hero{text-align:center;padding:1rem 0 2rem}.keyhole-big .key{width:5rem;height:7.5rem;fill:var(--plum);filter:drop-shadow(0 0 18px var(--gold))}
.lead{font-size:1.2rem}.btn{display:inline-block;background:var(--plum);color:#fff;padding:.7rem 1.2rem;border-radius:999px;text-decoration:none;font-weight:700;border:0;font-size:1rem;cursor:pointer;margin:.25rem}
.btn.alt{background:var(--teal)}
.tiles,.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
article{background:var(--card);border-radius:1rem;padding:1.25rem;box-shadow:0 4px 14px #5b2a8622}
.cover{aspect-ratio:3/4;background:linear-gradient(160deg,#3b1d63,#0f6b6b);border-radius:.75rem;display:grid;place-items:center}.cover .key{width:3rem;height:4.5rem}
.ph{background:#ffe08a;color:#000;padding:0 .3em;border-radius:.25em;font-size:.8em;font-weight:700}
.note{background:#eef7f7;border-left:4px solid var(--teal);padding:.6rem .9rem}
.signup{display:grid;gap:.4rem;max-width:28rem}input[type=email],input:not([type]){padding:.6rem;border:2px solid #6b5a8a;border-radius:.5rem;font-size:1rem}
.check{display:flex;gap:.5rem;align-items:center;margin:.5rem 0}.check input{width:1.2rem;height:1.2rem}
footer{text-align:center;padding:2rem 1rem;font-size:.95rem}.draft{color:#7a3b00;font-weight:700}
.coverimg{width:100%;height:auto;border-radius:.75rem;background:#eee}
