:root{
  --paper:#fff;
  --paper-2:#f7f5ff;
  --paper-3:#ece8ff;
  --ink:#5546aa;
  --ink-dark:#3e347e;
  --peri:#8d7cf6;
  --peri-soft:#c9c1ff;
  --line:#8d7cf6;
  --muted:#756ca6;
  --shadow:#d9d4ff;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  background:var(--paper-3);
  color:var(--ink-dark);
  font-family:Verdana,Tahoma,Arial,sans-serif;
  font-size:14px;
}

body{
  margin:0;
  min-height:100vh;
  background:
    linear-gradient(90deg,rgba(141,124,246,.08) 1px,transparent 1px),
    linear-gradient(rgba(141,124,246,.08) 1px,transparent 1px),
    var(--paper-3);
  background-size:16px 16px;
}

::selection{background:var(--peri);color:#fff}

a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:#6e5ce0;background:var(--paper-3)}

button,input,select{font:inherit}

.skip{
  position:fixed;
  left:8px;
  top:-48px;
  z-index:100;
  padding:7px 9px;
  border:1px solid var(--ink);
  background:#fff;
}
.skip:focus{top:8px}

.site-shell{
  width:min(980px,calc(100% - 28px));
  margin:20px auto 48px;
  background:var(--paper);
  border:1px solid var(--ink);
  box-shadow:6px 6px 0 var(--shadow);
}

.topbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:17px 18px 14px;
  border-bottom:1px solid var(--line);
  background:#fff;
}

.brand-lockup{display:flex;align-items:baseline;gap:8px}

.brand{
  color:var(--ink-dark);
  text-decoration:none;
  font:700 22px/1 "Trebuchet MS",Verdana,sans-serif;
  letter-spacing:-1.3px;
}
.brand:hover{background:transparent;color:var(--peri)}

.version{
  font:10px/1 "Lucida Console","Courier New",monospace;
  color:var(--muted);
}

.nav{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.nav a{
  display:inline-block;
  padding:5px 7px;
  border:1px solid transparent;
  font:11px/1.1 "Lucida Console","Courier New",monospace;
  text-decoration:none;
  text-transform:lowercase;
}
.nav a:hover{
  border-color:var(--line);
  background:var(--paper-3);
}

.status-line{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
  padding:6px 18px;
  border-bottom:1px solid var(--line);
  background:var(--paper-2);
  color:var(--muted);
  font:10px/1.3 "Lucida Console","Courier New",monospace;
  text-transform:uppercase;
}
.status-line span:nth-child(2){text-align:center}
.status-line span:nth-child(3){text-align:right}

.status-dot{
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:5px;
  border:1px solid var(--ink);
  background:var(--peri);
  vertical-align:1px;
}

main{padding:18px}

.panel{
  border:1px solid var(--line);
  background:#fff;
  box-shadow:3px 3px 0 var(--shadow);
}

.window-bar{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:5px 7px;
  border-bottom:1px solid var(--line);
  background:var(--paper-3);
  color:var(--ink-dark);
  font:10px/1.2 "Lucida Console","Courier New",monospace;
}

.intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(220px,.8fr);
  gap:28px;
  padding:38px 34px 32px;
}

.eyebrow{
  margin:0 0 12px;
  color:var(--muted);
  font:10px/1.3 "Lucida Console","Courier New",monospace;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.intro h1{
  margin:0;
  color:var(--ink-dark);
  font:700 clamp(2.4rem,7vw,5.6rem)/.86 "Trebuchet MS",Verdana,sans-serif;
  letter-spacing:-.075em;
  text-transform:lowercase;
}

.lede{
  max-width:610px;
  margin:24px 0 0;
  font:15px/1.55 Georgia,"Times New Roman",serif;
  color:#544c78;
}

.intro-links{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:24px;
  font-size:11px;
}

.button-link,.submit-button{
  display:inline-block;
  border:1px solid var(--ink);
  background:var(--paper-3);
  color:var(--ink-dark);
  box-shadow:2px 2px 0 var(--peri-soft);
  padding:8px 10px;
  text-decoration:none;
  font:700 11px/1 "Lucida Console","Courier New",monospace;
  cursor:pointer;
}
.button-link:hover,.submit-button:hover{
  transform:translate(1px,1px);
  box-shadow:1px 1px 0 var(--peri-soft);
  background:#fff;
}

.ascii-box{
  align-self:start;
  padding:12px;
  border:1px dotted var(--line);
  background:var(--paper-2);
}
.ascii-box pre{
  overflow:auto;
  margin:0;
  color:var(--ink);
  font:10px/1.45 "Lucida Console","Courier New",monospace;
}
.ascii-box p{
  margin:10px 0 0;
  color:var(--muted);
  font:10px/1.4 "Lucida Console","Courier New",monospace;
}

.section-label{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:28px 0 7px;
  color:var(--muted);
  font:10px/1.2 "Lucida Console","Courier New",monospace;
  text-transform:uppercase;
}

.event-layout{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);
  gap:12px;
}

.event-card{min-width:0}

.event-title-wrap{padding:28px 26px 18px}

.event-badge{
  display:inline-block;
  margin-bottom:12px;
  padding:3px 5px;
  border:1px solid var(--ink);
  color:#fff;
  background:var(--peri);
  font:700 9px/1 "Lucida Console","Courier New",monospace;
  letter-spacing:.08em;
}

.event-card h2{
  margin:0;
  color:var(--ink-dark);
  font:700 clamp(2.7rem,7vw,5rem)/.84 "Trebuchet MS",Verdana,sans-serif;
  letter-spacing:-.065em;
}

.event-table{
  width:calc(100% - 52px);
  margin:0 26px 22px;
  border-collapse:collapse;
  font:11px/1.35 "Lucida Console","Courier New",monospace;
}
.event-table th,.event-table td{
  border:1px solid var(--line);
  padding:7px 8px;
  text-align:left;
}
.event-table th{
  width:34%;
  background:var(--paper-3);
  color:var(--muted);
  font-weight:400;
}
.text-online{color:var(--ink);font-weight:700}

.micro-copy,.tiny{
  color:var(--muted);
  font:10px/1.45 "Lucida Console","Courier New",monospace;
}
.micro-copy{margin:0 26px 25px}

.checkout{
  padding-bottom:18px;
  align-self:start;
}
.checkout h3{
  margin:24px 20px 8px;
  font:700 34px/1 "Trebuchet MS",Verdana,sans-serif;
  letter-spacing:-.06em;
  color:var(--ink-dark);
}
.checkout>p:not(.tiny){
  margin:0 20px 18px;
  font:12px/1.5 Georgia,"Times New Roman",serif;
  color:#5c557a;
}
.stripe-wrap{
  margin:0 20px;
  padding:12px;
  border:1px dashed var(--line);
  background:var(--paper-2);
  overflow:hidden;
}
.tiny{margin:12px 20px 0}

.note-strip{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  margin:30px -18px 0;
  padding:10px 18px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--paper-3);
  color:var(--ink-dark);
  font:700 11px/1.3 "Lucida Console","Courier New",monospace;
  letter-spacing:.04em;
  text-align:center;
}
.note-strip p{margin:0}

.black-card-layout{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(0,1fr);
  gap:34px;
  align-items:center;
  padding:28px 4px 4px;
}

.member-card{
  width:min(100%,420px);
  aspect-ratio:1.62;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:16px;
  border:1px solid var(--ink);
  background:var(--ink-dark);
  color:#fff;
  box-shadow:5px 5px 0 var(--peri-soft);
  font-family:"Lucida Console","Courier New",monospace;
}
.member-card-top,.member-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:9px;
}
.member-number{
  font:700 clamp(3.2rem,8vw,6rem)/1 "Trebuchet MS",Verdana,sans-serif;
  letter-spacing:-.08em;
  color:var(--paper-3);
}

.black-card-copy h2{
  margin:0 0 12px;
  font:700 clamp(2rem,5vw,3.8rem)/.95 "Trebuchet MS",Verdana,sans-serif;
  letter-spacing:-.06em;
  color:var(--ink-dark);
  text-transform:lowercase;
}
.black-card-copy p{
  max-width:470px;
  margin:0 0 16px;
  font:14px/1.55 Georgia,"Times New Roman",serif;
  color:#574f77;
}
.black-card-copy ul{
  margin:0 0 18px;
  padding-left:18px;
  color:var(--ink-dark);
  font:11px/1.7 "Lucida Console","Courier New",monospace;
}

.join-section{margin-top:30px}

.join-grid{
  display:grid;
  grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);
  gap:38px;
  padding:30px;
}

.join-copy h2{
  margin:0 0 16px;
  font:700 clamp(2.8rem,7vw,5.2rem)/.82 "Trebuchet MS",Verdana,sans-serif;
  color:var(--ink-dark);
  letter-spacing:-.07em;
  text-transform:lowercase;
}
.join-copy>p:last-child{
  margin:0;
  max-width:320px;
  color:#5c557a;
  font:13px/1.55 Georgia,"Times New Roman",serif;
}

form{
  min-width:0;
  padding:16px;
  border:1px dotted var(--line);
  background:var(--paper-2);
}

.honeypot{display:none!important}

.form-row{
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:10px;
  align-items:center;
  margin-bottom:9px;
}
.form-row label{
  color:var(--ink-dark);
  font:10px/1.2 "Lucida Console","Courier New",monospace;
  text-transform:uppercase;
}
.form-row label span{color:var(--muted);text-transform:none}
.form-row label b{color:var(--peri)}

input,select{
  width:100%;
  min-width:0;
  border:1px solid var(--line);
  border-radius:0;
  padding:7px 8px;
  background:#fff;
  color:var(--ink-dark);
  outline:none;
  box-shadow:none;
}
input:focus,select:focus{
  border-color:var(--ink-dark);
  box-shadow:2px 2px 0 var(--peri-soft);
}

.form-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.form-pair .form-row{
  grid-template-columns:1fr;
  gap:5px;
}

.check-row{
  display:grid;
  grid-template-columns:16px 1fr;
  gap:8px;
  align-items:start;
  margin:13px 0 0;
  color:#5b5474;
  font:10px/1.45 "Lucida Console","Courier New",monospace;
}
.check-row input{
  appearance:none;
  width:13px;
  height:13px;
  margin:1px 0 0;
  padding:0;
  cursor:pointer;
}
.check-row input:checked{
  background:var(--peri);
  box-shadow:inset 0 0 0 2px #fff;
}

.consent{
  margin:14px 0;
  color:#746d94;
  font:9px/1.5 "Lucida Console","Courier New",monospace;
}

.submit-button{
  border-radius:0;
  appearance:none;
}
.submit-button:disabled{opacity:.55;cursor:wait}

.form-status{
  min-height:14px;
  margin:9px 0 0;
  color:var(--ink);
  font:10px/1.4 "Lucida Console","Courier New",monospace;
}

.footer{
  margin-top:24px;
  padding:16px 18px 14px;
  border-top:1px solid var(--line);
  background:var(--paper-2);
  color:var(--muted);
  font:10px/1.5 "Lucida Console","Courier New",monospace;
}
.footer>div:first-child{
  display:flex;
  justify-content:space-between;
  gap:16px;
}
.footer strong{color:var(--ink-dark)}
.footer-links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:10px;
}
.footer p{margin:12px 0 0}

.success-page{
  display:grid;
  place-items:center;
  min-height:100vh;
  padding:20px;
}
.success-box{
  width:min(540px,100%);
  border:1px solid var(--ink);
  background:#fff;
  box-shadow:6px 6px 0 var(--shadow);
}
.success-box .window-bar{margin:0}
.success-inner{padding:32px}
.success-inner h1{
  margin:0 0 14px;
  font:700 clamp(2.7rem,10vw,5rem)/.86 "Trebuchet MS",Verdana,sans-serif;
  letter-spacing:-.07em;
  color:var(--ink-dark);
  text-transform:lowercase;
}
.success-inner p{
  color:#5c557a;
  font:13px/1.55 Georgia,"Times New Roman",serif;
}

@media(max-width:760px){
  .site-shell{width:calc(100% - 16px);margin:8px auto 24px;box-shadow:3px 3px 0 var(--shadow)}
  .topbar{align-items:flex-start;flex-direction:column;gap:10px;padding:14px}
  .nav{justify-content:flex-start}
  .status-line{grid-template-columns:1fr auto;padding:6px 14px}
  .status-line span:nth-child(2){display:none}
  .status-line span:nth-child(3){text-align:right}
  main{padding:10px}
  .intro-grid,.event-layout,.black-card-layout,.join-grid{grid-template-columns:1fr}
  .intro-grid{padding:24px 18px 20px}
  .intro h1{font-size:clamp(2.6rem,15vw,4.6rem)}
  .ascii-box{max-width:360px}
  .section-label{margin-top:22px}
  .event-title-wrap{padding:22px 16px 14px}
  .event-table{width:calc(100% - 32px);margin:0 16px 16px}
  .micro-copy{margin:0 16px 18px}
  .checkout{margin-top:0}
  .note-strip{margin:24px -10px 0;padding:9px 10px}
  .black-card-layout{gap:24px;padding-top:18px}
  .join-grid{padding:20px 16px;gap:20px}
  form{padding:12px}
  .form-row{grid-template-columns:1fr;gap:5px}
  .form-pair{grid-template-columns:1fr}
  .footer>div:first-child{flex-direction:column;gap:3px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
