.join-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:5%;align-items:center}
.join-copy{min-width:0}
.join-table-illustration{position:relative;width:100%;aspect-ratio:3/2;isolation:isolate}
.join-table-illustration>img{display:block;width:100%;height:100%;object-fit:contain}
.join-seat{position:absolute;left:var(--seat-x);top:var(--seat-y);transform:translate(-50%,-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;border:1px solid #d3dec6;color:var(--ink);background:var(--paper);box-shadow:0 3px 12px rgba(16,30,20,.22);transition:background .2s,box-shadow .2s}
.join-seat>svg{height:21px;width:21px;pointer-events:none}
.join-seat[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);box-shadow:0 0 0 4px rgba(214,231,156,.22),0 3px 12px rgba(16,30,20,.25)}
.join-seat:hover{background:#e4edc8}
.join-seat-label{position:absolute;left:50%;top:calc(100% + 7px);transform:translateX(-50%);display:none;width:max-content;max-width:150px;padding:5px 8px;border-radius:5px;background:var(--paper);color:var(--ink);font-size:10px;line-height:1.35;white-space:nowrap;box-shadow:0 2px 8px rgba(16,30,20,.15);pointer-events:none}
.join-seat[aria-pressed="true"] .join-seat-label,.join-seat:hover .join-seat-label,.join-seat:focus-visible .join-seat-label{display:block}
.join-seat:focus-visible{outline-color:var(--lime)}
.join-section .contribute{margin-top:36px}
.contributor-options button{min-height:44px}
@media(max-width:850px){.join-grid{grid-template-columns:1fr;gap:23px}.join-copy{max-width:620px}.join-table-illustration{width:100%;max-width:640px;margin-inline:auto}.join-section .contribute{margin-top:30px}}
@media(max-width:640px){.join-grid{gap:21px}.join-table-illustration .join-seat{background:transparent;border:0;box-shadow:none}.join-seat::before{content:'';position:absolute;inset:6px;border-radius:50%;border:1px solid #d3dec6;background:var(--paper);box-shadow:0 2px 7px rgba(16,30,20,.22)}.join-seat[aria-pressed="true"]::before{background:var(--lime);border-color:var(--lime)}.join-seat>svg{position:relative;z-index:1;height:18px;width:18px}.join-seat-label{font-size:9px;padding:4px 6px}.join-section .contribute{margin-top:25px}.contributor-options{gap:8px}.contributor-options button{padding:9px 12px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.join-seat{transition:none}}
