:root{--p:#5b21b6;--p2:#7c3aed;--pl:#ede9fe;--pxl:#f8f5ff;--ink:#1e1537;--mut:#5f5878;--w:#fff;--r:14px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:Georgia,"Times New Roman",serif;color:var(--ink);background:var(--w);line-height:1.7;font-size:17px}
h1,h2,h3,nav a,.btn,summary{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif}
h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.15;color:var(--p)}
h2{font-size:1.8rem;color:var(--p);margin-bottom:.6rem}
h3{font-size:1.1rem;color:var(--ink);margin-bottom:.3rem}
p{margin-bottom:1rem;max-width:68ch}
a{color:var(--p2)}
:focus-visible{outline:3px solid var(--p2);outline-offset:3px}
header{position:sticky;top:0;z-index:10;background:var(--w);border-bottom:1px solid var(--pl);box-shadow:0 2px 12px rgba(91,33,182,.07)}
.bar{max-width:1100px;margin:auto;padding:.7rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.logo{font:700 1.4rem "Trebuchet MS",sans-serif;color:var(--p);text-decoration:none}
nav{display:flex;gap:.2rem;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--mut);padding:.45rem .8rem;border-radius:99px;font-size:.92rem}
nav a:hover,nav a.on{background:var(--pl);color:var(--p)}
.btn{display:inline-block;background:var(--p2);color:var(--w);text-decoration:none;font-weight:700;padding:.85rem 1.7rem;border-radius:99px;border:2px solid var(--p2);transition:background .2s}
.btn:hover{background:var(--p);border-color:var(--p)}
.btn.alt{background:var(--w);color:var(--p)}
.btn.alt:hover{background:var(--pl)}
.btn.sm{padding:.5rem 1.1rem;font-size:.9rem}
.wrap{max-width:1100px;margin:auto;padding:0 1.2rem}
.page{padding:3.5rem 0}
.hero{background:linear-gradient(180deg,var(--pxl),var(--w))}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center}
.lead{font-size:1.2rem;color:var(--mut)}
.row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.2rem}
.art{width:100%;height:auto;border-radius:var(--r)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem;margin:1.5rem 0}
.card{background:var(--pxl);border-left:4px solid var(--p2);padding:1.2rem 1.3rem;border-radius:0 var(--r) var(--r) 0}
.card p{margin:0;font-size:.97rem}
.band{background:var(--p);color:var(--w);padding:2.5rem 0;text-align:center}
.band h2{color:var(--w)}
.band p{margin-inline:auto}
.band .btn{background:var(--w);color:var(--p);border-color:var(--w)}
.band .btn:hover{background:var(--pl)}
.time{display:grid;gap:1rem;margin:1.5rem 0}
.time div{display:grid;grid-template-columns:130px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--pl)}
.time b{font-family:"Trebuchet MS",sans-serif;color:var(--p)}
details{border:1px solid var(--pl);border-radius:var(--r);padding:.9rem 1.2rem;margin-bottom:.7rem}
details[open]{background:var(--pxl)}
summary{cursor:pointer;font-weight:700;color:var(--p)}
details p{margin:.6rem 0 0}
ol,ul{padding-left:1.3rem;margin-bottom:1rem}
li{margin-bottom:.4rem}
.note{font-size:.85rem;color:var(--mut);border-top:1px solid var(--pl);padding-top:1rem;margin-top:2rem}
footer{background:var(--ink);color:#d9d2ee;padding:2rem 0;font-size:.85rem}
footer p{max-width:none}
.js .page{display:none}
.js .page.show{display:block}
@media(max-width:760px){.split{grid-template-columns:1fr}.time div{grid-template-columns:1fr;gap:.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
img.art{object-fit:cover;box-shadow:0 8px 28px rgba(91,33,182,.18);background:#f8f5ff}
.hero h1{font-size:clamp(1.6rem,3.6vw,2.3rem)}
h2{margin-top:2rem}
