:root{--pd-purple:#4b2e83;--pd-purple-dark:#3a2268;--pd-purple-deep:#0f0f1a;--pd-gold:#c9a227;--pd-gold-light:#d4b44a;--pd-red:#b11226;--pd-red-hover:#d01530;--pd-success:#0e6b5e;--pd-warning:#8a6b0a;--ink2:#3a3a4a;--muted:#5c5c68;--paper:#f0f0f1;--line:#dcdce2}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Outfit,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink2);background:var(--paper);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--pd-purple)}h1,h2,h3{font-family:Bebas Neue,sans-serif;font-weight:400;letter-spacing:.02em;line-height:1.05;color:var(--pd-purple-deep);margin:0 0 .4em}h1{font-size:clamp(40px,7vw,64px)}h2{font-size:clamp(30px,4vw,40px)}h3{font-size:24px}p{margin:0 0 1em}.topbar{background:var(--pd-purple-deep);color:#fff}.topbar .in{max-width:1080px;margin:0 auto;padding:14px 16px;display:flex;justify-content:space-between}.brand,.topbar .in{align-items:center;gap:12px}.brand{font-family:Bebas Neue,sans-serif;font-size:26px;letter-spacing:.06em;color:#fff;text-decoration:none;display:inline-flex}.brand img{width:56px;height:auto;display:block}.brand-text span{color:var(--pd-gold)}.topbar nav{display:flex;flex-wrap:wrap;gap:6px 16px;max-width:100%}.topbar nav a{color:hsla(0,0%,100%,.8);text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.04em}.topbar nav a:hover{color:#fff}.wrap{max-width:1080px;margin:0 auto;padding:32px 16px 64px}.narrow{max-width:640px}.eyebrow{display:block;font-weight:700;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--pd-purple);margin-bottom:10px}.lead{font-size:18px;color:var(--ink2)}.muted{color:var(--muted);font-size:14px}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;margin-bottom:20px}.card.dark{background:var(--pd-purple-deep);color:hsla(0,0%,100%,.85);border-color:var(--pd-purple-deep)}.card.dark h1,.card.dark h2,.card.dark h3{color:#fff}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.grid3,.grid4{display:grid;gap:16px}.grid4{grid-template-columns:repeat(4,1fr);grid-gap:16px}.btn{display:inline-block;font-family:Outfit,sans-serif;font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;padding:14px 22px;border-radius:4px;border:2px solid var(--pd-red);background:var(--pd-red);color:#fff;text-decoration:none;cursor:pointer;line-height:1.2;text-align:center}.btn:hover{background:var(--pd-red-hover);border-color:var(--pd-red-hover)}.btn.ghost{background:transparent;color:var(--pd-purple);border-color:var(--pd-purple)}.btn.ghost:hover{background:rgba(75,46,131,.06)}.btn.small{padding:8px 12px;font-size:12px}.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}form .field{margin-bottom:14px}label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--pd-purple-deep)}input:not([type]),input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],select,textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid #c9c9d2;border-radius:4px;background:#fff;color:var(--pd-purple-deep)}textarea{min-height:140px}input:focus,select:focus,textarea:focus{outline:2px solid var(--pd-purple);outline-offset:1px}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px}.check input{margin-top:4px}.hp{position:absolute;left:-9999px}.alert{padding:12px 14px;border-radius:4px;margin-bottom:16px;font-size:15px}.alert.error{background:#fdecee;color:#8e0e1e;border:1px solid #f3c3ca}.alert.ok{background:#e8f5ee;color:var(--pd-success);border:1px solid #bfe3cf}.qr{background:#fff;padding:12px;border-radius:8px;display:inline-block;border:1px solid var(--line)}.qr svg{display:block;width:220px;height:220px}.code{font-size:22px;letter-spacing:.12em;font-weight:700;color:var(--pd-purple-deep);padding:6px 12px;display:inline-block}.code,.linkbox{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--paper);border-radius:4px}.linkbox{font-size:14px;padding:10px 12px;word-break:break-all}.stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px}.stat b{display:block;font-family:Bebas Neue,sans-serif;font-size:36px;font-weight:400;color:var(--pd-purple-deep);line-height:1}.stat span{font-size:13px;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}td,th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:3px;background:var(--paper);color:var(--ink2)}.pill.applied,.pill.enrolled,.pill.redeemed{background:#e8f5ee;color:var(--pd-success)}.pill.attended,.pill.booked,.pill.owed{background:#fff4d6;color:var(--pd-warning)}.pill.declined,.pill.expired,.pill.void{background:#eee;color:#777}.inline-form{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center;margin:2px 0}.inline-form input{width:auto;padding:6px 8px;font-size:13px}.steps{counter-reset:s;list-style:none;padding:0;margin:0}.steps li{counter-increment:s;position:relative;padding:0 0 14px 44px}.steps li:before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-4px;font-family:Bebas Neue,sans-serif;font-size:28px;color:var(--pd-gold)}.footer{text-align:center;font-size:13px;color:var(--muted);padding:24px 16px 40px}@media (max-width:760px){.topbar .in{flex-direction:column;align-items:flex-start}.brand{white-space:nowrap}.brand img{width:44px}.grid2,.grid3{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr}.card{padding:18px}.btn{width:100%}.btns .btn{width:auto;flex:1 1 100%}}@media print{.footer,.noprint,.topbar{display:none!important}body{background:#fff}.card{border:0}}.codebar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:14px}.codebar .btn{width:auto;margin-left:auto}a.choice{display:block;text-decoration:none;color:inherit;transition:border-color .15s}a.choice:hover{border-color:var(--pd-purple)}a.choice .btn{margin-top:4px}.share-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px;margin-top:8px}.share-row .btn{width:100%;padding:8px 4px;letter-spacing:.04em}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--pd-purple);flex:none}.notice{background:#fff8e1;border:1px solid #f0d98c;color:var(--pd-purple-deep);border-radius:6px;padding:10px 12px;font-size:15px;margin-bottom:16px}