:root{--navy:#3b1f8c;--gold:#c9a227;--ink:#111;--muted:#666;--line:#e6e6e6;--bg:#fff}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:var(--navy)}
nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--line)}
nav .brand{display:flex;align-items:center;text-decoration:none}
nav .brand img{display:block;height:34px;width:auto}
nav .links a{margin-left:18px;text-decoration:none;font-size:15px;color:var(--ink)}
nav .links a.active{border-bottom:2px solid var(--gold)}
main{max-width:760px;margin:0 auto;padding:40px 24px 80px}
h1{font-size:34px;margin:0 0 8px;color:var(--navy)}
h2{font-size:20px;margin:32px 0 10px;color:var(--navy)}
p.lead{font-size:18px;color:var(--muted);margin:0 0 28px}
.hero{padding:60px 0 30px}
.hero .letters{font-size:64px;font-weight:800;color:var(--navy);letter-spacing:.04em;line-height:1;margin-bottom:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:24px}
.card{border:1px solid var(--line);border-radius:10px;padding:18px;text-decoration:none;color:var(--ink);display:block}
.card:hover{border-color:var(--navy)}
.card b{display:block;color:var(--navy);margin-bottom:4px}
.card small{color:var(--muted)}
form{display:grid;gap:14px;max-width:460px}
label{display:grid;gap:6px;font-size:14px;font-weight:600}
input,select,textarea{font:inherit;padding:10px 12px;border:1px solid #ccc;border-radius:8px;width:100%}
textarea{min-height:70px}
button,.btn{font:inherit;font-weight:600;padding:12px 18px;border-radius:8px;border:0;background:var(--navy);color:#fff;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
button.gold,.btn.gold{background:var(--gold);color:var(--navy)}
button.ghost,.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--navy)}
button.sm{padding:6px 10px;font-size:13px}
.msg{padding:12px 14px;border-radius:8px;background:#f4f6fa;margin-top:16px;display:none}
.msg.ok{display:block;background:#eaf6ee;color:#1d5c34}
.msg.err{display:block;background:#fbeaea;color:#8a1f1f}
label.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.merch{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.merch .item{border:1px solid var(--line);border-radius:10px;padding:16px}
.merch .swatch{height:120px;border-radius:8px;background:var(--navy);display:flex;align-items:center;justify-content:center;color:var(--gold);font-weight:800;font-size:28px;letter-spacing:.1em;margin-bottom:12px}
.merch .item b{display:block}
.merch .item .price{color:var(--muted);margin-bottom:8px}
.merch .item .row select,.merch .item .row input{width:auto;flex:1}
.cart{border-top:2px solid var(--navy);margin-top:28px;padding-top:16px}
.total{font-size:22px;font-weight:700;color:var(--navy)}
.payinfo{border:1px solid var(--gold);background:#fffaf0;border-radius:10px;padding:16px;margin-top:20px}
.payinfo code{background:#fff;padding:2px 6px;border-radius:4px}
.code{font-size:56px;font-weight:800;letter-spacing:.2em;color:var(--navy);text-align:center;padding:20px 0}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.tag{display:inline-block;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:600}
.tag.pending{background:#fff3d6;color:#7a5200}.tag.confirmed{background:#e3f4e8;color:#1d5c34}
.tag.open{background:#e3f4e8;color:#1d5c34}.tag.closed{background:#eee;color:#666}
.tag.ordered{background:#fff3d6;color:#7a5200}.tag.delivered{background:#e3f4e8;color:#1d5c34}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}
.tabs button{background:#fff;color:var(--navy);border:1px solid var(--line)}
.tabs button.active{background:var(--navy);color:#fff}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0}
.stat{border:1px solid var(--line);border-radius:10px;padding:14px}
.stat b{font-size:26px;color:var(--navy);display:block}
.stat small{color:var(--muted)}
.wide{max-width:1100px}
.scroll{overflow-x:auto}
footer{text-align:center;color:var(--muted);font-size:13px;padding:30px;border-top:1px solid var(--line)}
@media(max-width:600px){nav{flex-direction:column;gap:10px}nav .links a{margin:0 8px}.hero .letters{font-size:44px}}
/* homepage */
.hero.chapter{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;padding:40px 0 20px}
.hero.chapter img{width:100%;border-radius:14px;aspect-ratio:4/5;object-fit:cover}
.placements{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:20px;margin-top:10px}
.placements img{width:100%;border-radius:10px}
.logos{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.logos span{border:1px solid var(--line);border-radius:99px;padding:4px 10px;font-size:13px;color:var(--muted)}
.sched{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.sched li{display:grid;grid-template-columns:170px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.sched li b{color:var(--navy)}
.sched li small{color:var(--muted);display:block}
.ig{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.ig img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}
.big{max-width:960px}
@media(max-width:700px){.hero.chapter,.placements{grid-template-columns:1fr}.ig{grid-template-columns:repeat(3,1fr)}.sched li{grid-template-columns:1fr}}

/* payment method pills */
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills button{background:#fff;color:var(--navy);border:1px solid #ccc;padding:10px 16px;border-radius:99px;font-weight:600}
.pills button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pills button small{display:block;font-weight:400;font-size:11px;opacity:.75}
.hero .kicker{color:var(--gold);font-weight:700;letter-spacing:.12em;font-size:13px;text-transform:uppercase;margin-bottom:10px}

[hidden]{display:none!important}
