:root{--bg:#FBF8FD;--ink:#1E1230;--mute:#5B4E70;--plum:#2A1740;--gold:#F5A623;--rose:#C2185B;--tint:#EFE6F8;--on-plum:#FBF8FD;
--display:"Bricolage Grotesque","Trebuchet MS",sans-serif;--body:"Figtree","Segoe UI",sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#150C22;--ink:#F3ECFA;--mute:#B8A9CE;--tint:#241638;--rose:#FF6FA5}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--body)}
h1,h2,h3{font-family:var(--display);line-height:1.07;margin:0}
a{color:inherit}.wrap{max-width:68rem;margin:0 auto;padding:0 1.25rem}
header.top{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;justify-content:space-between;align-items:center;padding:1rem 1.25rem;max-width:68rem;margin:0 auto}
.logo{font:800 1.25rem var(--display);text-decoration:none}
nav a{margin-right:1.1rem;text-decoration:none;font-weight:600;color:var(--mute)}
nav a:hover,nav a[aria-current]{color:var(--rose)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.hero{background:var(--plum);color:var(--on-plum);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;width:44rem;height:44rem;right:-14rem;top:-12rem;border-radius:50%;background:radial-gradient(circle,rgba(245,166,35,.5),rgba(245,166,35,0) 65%)}
.hero .wrap{position:relative;padding-top:3.5rem;padding-bottom:4rem;display:grid;gap:2rem}
.hero h1{font-size:clamp(2.4rem,8vw,5.5rem);font-weight:800;max-width:15ch;letter-spacing:-.02em}
.lead{font-size:1.2rem;max-width:36rem;margin:0;color:#E4D8F2}
.btns{display:flex;flex-wrap:wrap;gap:.75rem}
.btn{display:inline-block;padding:.85rem 1.5rem;border-radius:999px;font-weight:600;text-decoration:none;background:var(--gold);color:#1E1230}
.btn.alt{background:transparent;color:inherit;border:2px solid currentColor}
section{padding:4rem 0}h2{font-size:clamp(1.9rem,5vw,3rem);font-weight:800;margin-bottom:1.1rem}
.sub{color:var(--mute);max-width:40rem;margin:0 0 1rem}
.two{display:grid;gap:2rem}.card{padding:2rem;border-radius:1.25rem;background:var(--tint)}
.card.dark{background:var(--plum);color:var(--on-plum);border-radius:.4rem 2.5rem .4rem 2.5rem}
.card h3{font-size:1.8rem;margin-bottom:.7rem}.note{font-size:.92rem;color:var(--mute)}.dark .note{color:#CDBBE6}
.media{margin:0;border-radius:1rem;overflow:hidden;background:var(--tint);aspect-ratio:4/5;display:flex}
.media.wide{aspect-ratio:16/9}.media img,.media video{width:100%;height:100%;object-fit:cover;display:block}
.themes{display:grid;gap:1.5rem;margin-top:1.5rem}.themes div{border-top:3px solid var(--rose);padding-top:.9rem}
.themes h3{font-size:1.4rem;margin-bottom:.3rem}.themes p{margin:0;color:var(--mute)}
.alt-bg{background:var(--tint)}
ol.path{list-style:none;margin:1.5rem 0 0;padding:0;border-left:3px solid var(--tint)}
.alt-bg ol.path{border-color:var(--bg)}
ol.path li{padding:0 0 1.3rem 1.4rem;position:relative}
ol.path li::before{content:"";position:absolute;left:-.55rem;top:.5rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--gold)}
.quote{padding:1.5rem;border:2px dashed var(--mute);border-radius:1rem;color:var(--mute)}
.grid3{display:grid;gap:1rem;margin-top:1.5rem}
.event{display:grid;gap:.25rem;padding:1.4rem;border-radius:1rem;background:var(--tint);margin-bottom:1rem}
.event b{font:800 1.3rem var(--display)}
.cta{background:var(--plum);color:var(--on-plum)}.cta .sub{color:#E4D8F2}
footer{padding:2rem 1.25rem;text-align:center;color:var(--mute);font-size:.95rem}
@media(min-width:48rem){.two{grid-template-columns:1fr 1fr;align-items:center}.themes,.grid3{grid-template-columns:repeat(3,1fr)}.grid3.g4{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
