body{margin:0;background:#0d0c16}
a{color:#ba94ff}a:hover{color:#deccff}
.pp{
  --void:#05050b;--canvas:#0d0c16;--graphite:#1d1b29;--ash:#c3c3c3;--smoke:#b3b3b3;--dim:#a3a3a3;
  --signal:#7047ba;--glow:#ba94ff;--lilac:#deccff;--green:#74ec5a;--peach:#ffb067;--gold:#ffc24a;
  --display:ui-rounded,"SF Pro Rounded","Nunito",system-ui,-apple-system,sans-serif;
  --body:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  min-height:100vh;background:var(--canvas);color:#fff;font-family:var(--body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:clip;
}
.pp *,.pp *::before,.pp *::after{box-sizing:border-box}
.pp a:focus-visible{outline:2px solid var(--glow);outline-offset:3px;border-radius:6px}
.ico{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ico-fill{fill:currentColor;stroke:none}

/* nav */
.nav{position:relative;z-index:5;max-width:1120px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;min-height:44px}
.brand img{height:46px;width:auto;display:block;transition:transform .5s var(--ease)}
.brand:hover img{transform:rotate(-4deg) scale(1.05)}
.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:40px;background:rgba(48,30,79,.5);border:1px solid rgba(186,148,255,.32);color:var(--lilac);text-decoration:none;font:600 15px/1 var(--body);transition:background .3s,color .3s,transform .4s var(--ease)}
.back:hover{background:#301e4f;color:#fff;transform:translateY(-2px)}
.back svg{width:18px;height:18px;transition:transform .4s var(--ease)}
.back:hover svg{transform:translateX(-3px)}

/* header band */
.band{position:relative;overflow:hidden;isolation:isolate;margin-top:-76px;padding:148px 24px 120px;text-align:center;background:
  radial-gradient(60% 90% at 26% 115%,rgba(255,170,80,.7) 0%,rgba(220,90,80,.4) 26%,rgba(48,30,79,0) 62%),
  linear-gradient(180deg,#05050b 0%,#0e0f33 50%,#2a1d5a 100%)}
.band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,rgba(13,12,22,0),var(--canvas));z-index:1}
.band-hills{position:absolute;left:-4%;right:-4%;bottom:0;height:110px;z-index:0;pointer-events:none}
.band-hills svg{display:block;width:100%;height:100%}
.band-hills path{vector-effect:non-scaling-stroke}
.bh-back{fill:#1c1a4f;stroke:rgba(255,170,100,.45);stroke-width:1.2}
.bh-front{fill:#0d0c22;stroke:rgba(108,176,255,.25);stroke-width:1.2}
.twinkle{position:absolute;color:var(--gold);opacity:0;animation:tw 4s ease-in-out infinite;pointer-events:none}
.twinkle svg{display:block;width:100%;height:100%}
.tw1{left:22%;top:30%;width:14px;height:14px}
.tw2{left:80%;top:36%;width:12px;height:12px;animation-delay:1.3s;color:var(--lilac)}
.tw3{left:36%;top:60%;width:9px;height:9px;animation-delay:2.4s}
@keyframes tw{0%,100%{opacity:0;transform:scale(.3) rotate(0)}30%{opacity:1;transform:scale(1) rotate(45deg)}60%{opacity:0;transform:scale(.4) rotate(90deg)}}
.band-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;animation:fadeUp .9s .1s var(--ease) both}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 13px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--peach)}
.eyebrow svg{width:14px;height:14px;color:var(--gold)}
.title{margin:18px 0 0;font:800 clamp(38px,5vw,60px)/1.05 var(--display);letter-spacing:-.02em;color:#fff}
.dates{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
.date{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 16px;border-radius:40px;background:rgba(5,5,11,.45);border:1px solid rgba(222,204,255,.18);font-size:14px;color:#d8d3ea}
.date strong{font-weight:600;color:#fff}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* layout */
.wrap{max-width:1120px;margin:0 auto;padding:24px 24px 0;display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.toc{flex:1 1 260px;max-width:320px;padding:24px;border-radius:18px;background:var(--graphite)}
.toc h2{margin:0 0 12px;font:700 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#8d89a3}
.toc ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px;counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:flex;gap:10px;padding:6px 10px;border-radius:10px;color:var(--ash);text-decoration:none;font-size:14px;line-height:1.4;transition:background .25s,color .25s}
.toc a::before{content:counter(t);min-width:18px;color:#7c7893;font-variant-numeric:tabular-nums}
.toc a:hover{background:rgba(255,255,255,.06);color:#fff}
.doc{flex:999 1 560px;min-width:0;max-width:760px}
.doc p{margin:0 0 16px;color:var(--ash);text-wrap:pretty}
.doc .lead{font-size:19px;color:#d6d3e2}
.doc section{padding-top:56px;scroll-margin-top:24px}
.doc h2{margin:0 0 18px;font:800 clamp(24px,2.4vw,30px)/1.2 var(--display);letter-spacing:-.01em;color:#fff;display:flex;gap:14px;align-items:baseline}
.doc h2 .n{font:800 15px/1 var(--body);color:var(--glow);min-width:28px}
.doc ul{margin:0 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.doc li{position:relative;padding-left:24px;color:var(--ash)}
.doc li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--glow);opacity:.75}
.doc ul.lettered li{padding-left:34px}
.doc ul.lettered li::before{display:none}
.doc ul.lettered .l{position:absolute;left:0;color:var(--glow);font-weight:600}
.address{margin:0 0 16px;padding:20px 24px;border-radius:18px;background:var(--graphite);font-style:normal;color:#d6d3e2;line-height:1.6}
.address strong{color:#fff;font-weight:600}
.callout{margin:0 0 18px;padding:18px 22px;border-radius:18px;background:rgba(112,71,186,.16);border:1px solid rgba(186,148,255,.26);color:#e4dcf7}
.doc p.caps{padding:18px 22px;border-radius:18px;background:var(--graphite);font-size:15px;letter-spacing:.01em;color:#d6d3e2}
.top-link{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:14px;color:var(--dim);text-decoration:none}
.top-link:hover{color:#fff}

/* footer */
.footer{max-width:1120px;margin:120px auto 0;padding:40px 24px 48px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.07);font-size:14px;color:#8d89a3}
.footer img{width:110px;height:auto;display:block}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 22px}
.foot-links a{display:inline-flex;align-items:center;min-height:36px;color:var(--ash);text-decoration:none}
.foot-links a:hover{color:#fff}

@media (max-width:760px){
  .toc{max-width:none}
  .band{padding-top:132px}
}
@media (prefers-reduced-motion: reduce){
  .pp *,.pp *::before,.pp *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}
