.join-hero{padding:35px var(--pad) 60px;position:relative;overflow:clip}
.join-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}
.join-heading h1{font-family:var(--display);font-size:clamp(40px,8.6vw,135px);font-weight:800;letter-spacing:-.075em;line-height:1;margin:15px 0 30px;white-space:nowrap}
.join-heading>.magic-star{width:12vw;height:12vw;max-width:155px;max-height:155px;flex-shrink:0}
.join-lead{font-size:clamp(25px,3vw,42px);letter-spacing:-.04em;margin:10px 0}
.join-description{font-size:17px;line-height:1.5;max-width:600px}
.join-interests{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}
.join-interests>span{padding:12px 16px;border:1px solid var(--ink);font-size:13px;background:var(--paper);box-shadow:3px 3px 0 var(--ink)}
.join-interests>span:nth-child(2){background:var(--acid);transform:rotate(-2deg)}
.join-interests>span:nth-child(3){background:var(--pink);transform:rotate(2deg)}
.join-cta,.join-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);font-weight:600;font-size:15px;padding:17px 24px;box-shadow:4px 4px 0 var(--acid);cursor:pointer;min-height:50px}
.join-cta>span,.join-submit>span{font-size:24px}
.join-form-section{background:var(--paper);padding:44px var(--pad) 70px}
.join-form-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:8%;align-items:start}
.join-explainer h2{font-family:var(--display);font-size:clamp(34px,4vw,64px);font-weight:700;letter-spacing:-.055em;line-height:1.1;margin:0 0 30px}
.join-explainer p{font-size:15px;line-height:1.65;max-width:370px}
.join-explainer>.magic-star{width:140px;height:105px;margin-top:35px}
#membership-form{min-width:0}
#membership-form fieldset{border:0;border-top:1px solid #14131255;padding:22px 0 30px;margin:0;min-width:0}
#membership-form legend{font-size:17px;font-weight:700;padding-right:15px;letter-spacing:-.025em}
.join-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;padding-top:8px}
.join-fields label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;min-width:0}
.join-fields input,.join-fields textarea{display:block;width:100%;min-width:0;border:1.5px solid var(--ink);border-radius:0;background:#fffdf8;color:var(--ink);padding:13px 12px;min-height:48px;font:400 16px/1.3 var(--body)}
.join-fields input:focus-visible,.join-fields textarea:focus-visible,.check-label input:focus-visible{outline:3px solid #7358ba;outline-offset:3px}
.join-fields label:has(#address),.join-fields label:has(#email),.join-fields label:has(#heard-about){grid-column:1/-1}
#membership-form fieldset>p,.check-label{font-size:14px;line-height:1.65}
.field-help{font-size:12px!important;line-height:1.6!important;color:#534d46}
.check-label{display:flex;align-items:flex-start;gap:13px;cursor:pointer}
.check-label input{accent-color:var(--ink);flex:0 0 22px;width:22px;height:22px;margin:4px 0 0}
.join-notice{border-left:3px solid var(--ink);padding:4px 0 4px 14px;font-size:13px;line-height:1.65;margin:8px 0 16px}
#form-status{font-size:13px;line-height:1.5}
.request-preview{padding:40px var(--pad) 65px;background:var(--acid)}
.request-preview[hidden]{display:none!important}
.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.preview-toolbar h2{font-size:25px;letter-spacing:-.04em;margin:0}
.preview-toolbar>div{display:flex;flex-wrap:wrap;gap:10px}
.preview-toolbar button{font-size:13px;font-weight:600;background:var(--paper);border:1.5px solid var(--ink);padding:14px 17px;min-height:46px;cursor:pointer}
.preview-toolbar button:last-child{background:var(--ink);color:var(--paper)}
.print-request{max-width:820px;margin:0 auto;background:white;color:#111;padding:45px;box-shadow:7px 7px 0 var(--ink);font:13px/1.55 var(--body);overflow-wrap:anywhere}
.print-request>header>img{width:120px;height:44px;object-fit:cover;filter:brightness(0);object-position:center;display:none}
.print-request header p{font-size:11px;letter-spacing:.03em;font-weight:600}
.print-request h2{font-size:24px;letter-spacing:-.03em;margin:10px 0 25px}
.print-request h3{font-size:14px;margin:22px 0 10px}
.print-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 25px;margin:25px 0}
.print-fields div{border-bottom:1px solid #ccc;padding-bottom:5px;min-width:0}
.print-fields dt{font-size:10px;font-weight:600}
.print-fields dd{margin:4px 0 0;min-height:20px;white-space:pre-wrap}
.print-choice{font-weight:600}
.signature-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;margin-top:35px;break-inside:avoid}
.signature-grid span{font-size:11px}
.signature-grid>div>div{height:55px;border-bottom:1px solid #111}
.membership-signatures{max-width:960px;margin:0 auto 32px;padding:24px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:12px}
.membership-signatures h3{font-size:22px;margin:0 0 14px}
.membership-signatures p{font-size:13px;line-height:1.7}
.signature-input-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px}
.signature-pad-card{min-width:0}
.signature-pad-card h4{font-size:12px;line-height:1.7;margin:0 0 10px}
.signature-pad-card canvas{display:block;width:100%;height:auto;aspect-ratio:10/3;background:#fff;border:1.5px solid #3b2859;border-radius:6px;touch-action:none;cursor:crosshair}
.signature-pad-card canvas:focus-visible,.signature-pad-card button:focus-visible{outline:3px solid #7358ba;outline-offset:3px}
.signature-pad-card button{font:inherit;font-size:12px;min-height:44px;margin-top:10px;padding:8px 14px;cursor:pointer;border:1px solid var(--ink);border-radius:6px;background:transparent;color:inherit}
.signature-pad-card button:disabled{opacity:.45;cursor:default}
.signature-pad-card [data-signature-status]{min-height:22px;margin:8px 0 0;font-size:11px}
.signature-grid .print-signature-line{height:80px}
.print-signature-line img{display:block;width:100%;height:100%;object-fit:contain;object-position:left bottom}
.print-signature-line img[hidden]{display:none!important}
@media(max-width:600px){.membership-signatures{padding:18px}.signature-input-grid{grid-template-columns:1fr;gap:18px}.membership-signatures h3{font-size:19px}}
.date-line{display:flex;gap:15px;margin-top:20px}.date-line>span{flex:1;border-bottom:1px solid #111}
.print-admission,.print-pending{font-size:10px;line-height:1.5}
.board-area{padding:0 15px 8px;border:1px solid #999;margin:25px 0;break-inside:avoid}.board-area p{display:flex;justify-content:space-between;gap:15px;font-size:12px}
@media(max-width:760px){.join-hero{padding-top:23px}.join-form-layout{grid-template-columns:1fr;gap:25px}.join-explainer h2{font-size:42px}.join-explainer p{max-width:none}.join-explainer>.magic-star{display:none}.preview-toolbar{flex-direction:column;align-items:flex-start}.print-request{padding:25px}.join-heading>.magic-star{position:absolute;right:var(--pad);top:15px;width:28px;height:28px}.join-heading{gap:10px}.join-heading h1{font-size:10vw}.join-interests{gap:13px}.join-interests>span{font-size:12px}.join-lead{font-size:27px}.join-description{font-size:15px}}
@media(max-width:480px){.join-fields{grid-template-columns:1fr}.join-heading h1{font-size:10vw}.join-hero{padding-bottom:40px}.join-form-section{padding-top:35px}.join-explainer h2{font-size:36px}.join-interests>span{padding:10px 12px}.join-submit{width:100%}.print-fields{grid-template-columns:1fr}.signature-grid{gap:20px}.print-request{padding:20px}.board-area{padding-left:10px;padding-right:10px}.board-area p{flex-wrap:wrap}.preview-toolbar>div{width:100%}.preview-toolbar button{flex:1}.print-request h2{font-size:21px}}
@media print{
 @page{size:A4;margin:16mm}
 html,body{background:white!important;color:black!important;overflow:visible!important}
 body>*:not(main),main>*:not(#request-preview),.preview-toolbar,.membership-signatures{display:none!important}
 .request-preview{display:block!important;padding:0!important;background:white!important}
 .print-request{box-shadow:none;max-width:none;padding:0;font:10pt/1.35 Arial,sans-serif}
 .print-fields{grid-template-columns:1fr 1fr;gap:9px 20px;margin:18px 0}
 .print-request h2{font-size:18pt;margin:12px 0 20px}.print-request h3{margin-top:18px}
 .print-request header p{font-size:9pt}.print-request p{margin:9px 0}
 .signature-grid{margin-top:25px}.signature-grid .print-signature-line{height:48px}
 .print-admission,.print-pending{font-size:8pt}.board-area{margin:17px 0}
}

.join-fields textarea{resize:vertical;min-height:112px}.print-discovery{white-space:pre-wrap;overflow-wrap:anywhere}

.membership-color-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 8px;
}
.membership-color-options label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 6px 10px;
  border: 1px solid var(--ink);
  background: #fffdf8;
  color: var(--ink);
  font-size: 13px;
  cursor: pointer;
}
.membership-color-options label:has(input:checked) {
  box-shadow: inset 0 0 0 1px var(--ink);
  font-weight: 600;
}
.membership-color-options input {
  margin: 0;
  accent-color: #51417b;
}
.membership-color-options input:focus-visible {
  outline: 3px solid #7358ba;
  outline-offset: 3px;
}
.membership-card-swatch {
  width: 26px;
  height: 17px;
  border: 1px solid var(--ink);
  border-radius: 3px;
  background: repeating-linear-gradient(135deg, #fffdf8 0 4px, #ddd7e3 4px 8px);
}
.membership-color-options input[value="black"] + .membership-card-swatch { background: #201b29; }
.membership-color-options input[value="violet"] + .membership-card-swatch { background: #9877cd; }
.membership-color-options input[value="green"] + .membership-card-swatch { background: #a6c484; }

.membership-field-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.membership-signatures{margin-top:32px}
.membership-submission{max-width:960px;margin:0 auto;padding:24px;border:1px solid var(--ink);background:var(--paper);color:var(--ink)}
.membership-submission h3{font-size:22px;margin:0 0 20px}
.membership-submission p{font-size:13px;line-height:1.7}
.membership-submission a,.join-notice a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.submission-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}
.submission-actions>button:not(.join-submit){font:inherit;font-size:13px;min-height:46px;padding:12px 16px;border:1px solid var(--ink);background:transparent;color:inherit;cursor:pointer}
.submission-actions>button[hidden]{display:none}
.join-submit:disabled,.submission-actions>button:disabled{cursor:default;opacity:.55;box-shadow:none}
#submission-status{min-height:24px;margin:20px 0 0}
#submission-status:focus-visible{outline:3px solid #7358ba;outline-offset:4px}
#request-reference{overflow-wrap:anywhere;font-weight:600}
.signature-pad-card canvas[aria-disabled="true"]{cursor:default;opacity:.75}
@media(max-width:600px){.membership-submission{padding:18px}.submission-actions{align-items:stretch}.submission-actions>button{width:100%}}
