:root{--bg:#110d17;--surface:#2e173f;--gold:#edc679;--cream:#fcf4e7;--muted:#d6c4e3;--line:#694583}
body{background:radial-gradient(ellipse at 85% 12%,#51256c 0,transparent 45%),radial-gradient(ellipse at 0 65%,#311744,transparent 50%),#110d17}
.preview{background:#321542;color:var(--gold)}
header{border-bottom:1px solid #b98b454d}
.page-intro{position:relative;padding-top:85px;padding-bottom:70px;border-bottom:1px solid #b98b4566}
.page-intro h1{color:var(--cream);font-size:clamp(52px,7vw,96px)}
.page-intro h1 em{color:var(--gold)}
.page-intro p:last-child{font-size:18px}
.directory{padding-top:55px;padding-bottom:30px}
.directory h2{color:var(--gold);font-size:38px}
.linkgrid{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.linkgrid a{background:#341a49;border:1px solid #815599;border-left:3px solid #dcb468;padding:22px 23px;color:#fff4e6;min-height:76px;align-items:center;transition:background .2s,transform .2s;overflow-wrap:anywhere}
.linkgrid a:hover{background:#52296d;color:#ffe0a3;transform:translateY(-3px)}
.linkgrid a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.editor-note{background:#1b1323;border-left:2px solid #ad8b4f;color:#d1bfdc}
footer{margin-top:45px;background:#100c15}
@media(max-width:800px){.linkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-intro{padding-top:55px}}
@media(max-width:450px){.linkgrid{grid-template-columns:1fr}.directory h2{font-size:32px}.linkgrid a{min-height:64px}.page-intro p:last-child{font-size:16px}}
@media(prefers-reduced-motion:reduce){.linkgrid a{transition:none}.linkgrid a:hover{transform:none}}
