.membership-flow{background:var(--cream);padding:70px 7vw 100px}.membership-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);align-items:start;gap:7vw;max-width:1250px;margin:auto;display:grid}.membership-form h2,.membership-aside h2,.membership-confirmation h2,.membership-notice h2{letter-spacing:-.03em;margin:0 0 28px;font-size:clamp(30px,3vw,45px);line-height:1.1}.membership-form fieldset{border-top:1px solid #0003;min-width:0;margin:0 0 28px;padding:24px 0 0}.membership-form legend{padding-right:12px;font-size:16px;font-weight:700}.membership-form label{margin-bottom:20px;font-size:14px;font-weight:600;display:block}.membership-form input:not([type=checkbox]):not([type=radio]){width:100%;color:var(--ink);background:#fff;border:1px solid #536c6e;border-radius:0;margin-top:8px;padding:13px 14px;font-size:16px;font-weight:400;display:block}.membership-form input:focus-visible,.membership-form button:focus-visible,.membership-form summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.membership-form input[type=checkbox],.membership-form input[type=radio]{appearance:auto;width:20px;height:20px;accent-color:var(--teal);flex-shrink:0;margin-top:2px}.membership-form .membership-checkbox,.membership-plan label{align-items:start;gap:12px;font-weight:400;line-height:1.6;display:flex}.membership-checkbox a{text-underline-offset:3px;text-decoration:underline}.membership-child-fields{grid-template-columns:minmax(0,1fr) 125px;gap:20px;display:grid}.membership-form .membership-plan{margin-top:38px}.membership-plan label{background:#fff;border:1px solid #0003;padding:18px}.membership-plan label:has(input:checked){border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.membership-plan .membership-merchandise{justify-content:space-between;align-items:center}.membership-plan .membership-merchandise select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23171715' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px 8px;flex-shrink:0;margin-top:0;padding-right:40px}.membership-plan strong,.membership-plan small{display:block}.membership-plan small{margin-top:6px;font-size:13px}.membership-form button{cursor:pointer}.membership-form button:disabled{opacity:.55;cursor:not-allowed;transform:none}.membership-back,.membership-add{color:#275e63;border-bottom:1px solid;padding:5px 0;font-size:13px;font-weight:700}.membership-aside{background:var(--teal);color:#fff;padding:35px}.membership-aside h2 small{letter-spacing:normal;margin-top:10px;font-size:14px;font-weight:400;display:block}.membership-aside ul{margin:24px 0}.membership-aside li{border-bottom:1px solid #fff5;padding:13px 0;font-size:14px}.membership-aside p{font-size:14px;line-height:1.7}.membership-aside a{overflow-wrap:anywhere;margin-top:18px;font-size:13px;text-decoration:underline;display:block}.membership-summary{margin:24px 0}.membership-summary>div{border-bottom:1px solid #0003;justify-content:space-between;gap:20px;padding:15px 0;font-size:14px;display:flex}.membership-summary dd{text-align:right;overflow-wrap:anywhere;font-weight:700}.membership-summary dt{flex-shrink:0}.membership-form>p,.membership-confirmation p{font-size:15px;line-height:1.75}.membership-dates{border:1px solid #0003;margin:25px 0;padding:20px}.membership-dates summary{cursor:pointer;font-size:14px;font-weight:700}.membership-dates ol{margin-top:16px}.membership-dates li{border-top:1px solid #0002;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:12px 0;font-size:13px;display:flex}.membership-actions{flex-wrap:wrap;align-items:center;gap:25px;margin:28px 0;display:flex}.membership-form .membership-fine-print{margin:16px 0;font-size:13px;line-height:1.65}.membership-error{color:#792128;background:#f9e5e3;border-left:4px solid #792128;padding:16px}.membership-notice{background:var(--oat);border-left:4px solid var(--teal);max-width:1250px;margin:0 auto 45px;padding:30px}.membership-notice p{line-height:1.7}.membership-confirmation{max-width:850px;margin:0 auto;padding:70px 25px 110px}@media (max-width:850px){.membership-layout{grid-template-columns:1fr}.membership-aside{margin-top:25px}}@media (max-width:580px){.membership-flow{padding:45px 20px 70px}.membership-child-fields{grid-template-columns:minmax(0,1fr) 90px;gap:12px}.membership-aside{padding:25px}.membership-summary>div{flex-direction:column;gap:4px}.membership-summary dd{text-align:left}}.membership-form select{min-width:100px;color:var(--ink);background:#fff;border:1px solid #536c6e;margin-top:8px;padding:12px;font-size:16px;display:block}.membership-form p{margin-bottom:20px;line-height:1.7}.membership-form select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
