.mma-form{max-width:760px;border:1px solid #dbe4ec;padding:24px;border-radius:8px;background:#fff}.mma-field{margin-bottom:16px}.mma-field label{display:block;font-weight:600}.mma-field input:not([type=checkbox]),.mma-field textarea,.mma-field select{box-sizing:border-box;width:100%;padding:10px;border:1px solid #c8d5e0;border-radius:4px}.mma-field textarea{min-height:120px}.mma-form button{padding:12px 22px;background:#0677bc;border:0;border-radius:4px;color:white;cursor:pointer}.mma-honey{position:absolute;left:-9999px;height:1px;overflow:hidden}.mma-check{display:flex!important;gap:10px}.mma-notice{padding:15px;background:#e6f4ec;margin-bottom:20px}.mma-error{background:#fff0f0}.mma-team,.mma-gallery,.mma-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.team-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #dce5ec;border-radius:8px;background:white}.team-card img,.team-placeholder{width:100%;aspect-ratio:1;object-fit:cover;object-position:center}.team-placeholder{display:grid;place-items:center;background:#e3edf6;color:#092d55;font-size:3rem}.team-card .card-body{flex:1;display:flex;flex-direction:column;padding:20px}.team-card .team-socials{margin-top:auto;padding-top:15px}.card{display:flex;flex-direction:column;height:100%}.card .card-body{flex:1;display:flex;flex-direction:column}.card .calendar-links{margin-top:auto;padding-top:20px}.mma-gallery img{width:100%;aspect-ratio:1.3;object-fit:cover}.mma-gallery figure{margin:0}.team-socials{display:flex;gap:12px}@media(max-width:700px){.mma-team,.mma-gallery,.mma-events{grid-template-columns:1fr}}

.mma-form{background:var(--mma-background,#fff)!important;border-radius:var(--mma-radius,8px)!important}.mma-form button{background:var(--mma-accent,#0677bc)!important;border-color:var(--mma-accent,#0677bc)!important}.mma-columns-2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.mma-columns-2>button,.mma-columns-2>.mma-field:has([name=consent]){grid-column:1/-1}.mma-columns-2>button{justify-self:start}.mma-columns-2>.mma-field:has(textarea){grid-column:1/-1}@media(max-width:600px){.mma-columns-2{grid-template-columns:1fr}}

.mma-form{box-shadow:0 10px 30px #092d5509}.mma-field label{margin-bottom:7px;color:#203d56;font-size:14px}.mma-field input:not([type=checkbox]),.mma-field select,.mma-field textarea{background:#f7fafc;transition:border-color .15s,box-shadow .15s}.mma-field input:focus,.mma-field select:focus,.mma-field textarea:focus{outline:2px solid var(--mma-accent,#0677bc);outline-offset:2px}.mma-form button{min-height:46px;font-weight:700;box-shadow:0 4px 12px #092d5515}.mma-form .mma-check{font-size:13px;font-weight:400;line-height:1.6}.mma-form .mma-check input{margin-top:4px;accent-color:var(--mma-accent,#0677bc)}

.mma-portal{max-width:1000px;margin:0 auto}.mma-portal-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start;border-bottom:1px solid #dbe3ec;padding-bottom:1.5rem}.mma-dues-card,.mma-member-notice{background:#f5f8fb;border:1px solid #dbe3ec;border-radius:12px;padding:1.25rem;margin:1rem 0}.mma-dues-card form{display:flex;flex-wrap:wrap;align-items:end;gap:1rem}.mma-dues-card select{display:block;max-width:100%;padding:.65rem}.mma-portal button{background:#0677bc;color:#fff;border:0;padding:.75rem 1rem;border-radius:8px;cursor:pointer}.mma-portal button:disabled{opacity:.5;cursor:default}@media(max-width:600px){.mma-portal-heading{display:block}.mma-dues-card form{display:block}.mma-dues-card button{margin-top:1rem}}

/* Reference team design: identical portraits and flexible equal-height cards. */
.mma-team-reference{grid-template-columns:repeat(var(--mm-team-columns,4),minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.mma-team-reference .team-card{display:flex;flex-direction:column;background:transparent;border:0;border-radius:0;overflow:visible;text-align:center;min-width:0}
.mma-team-portrait{position:relative;aspect-ratio:1;background:#eff0f5;border-radius:32px;overflow:hidden;flex-shrink:0}
.mma-team-reference .mma-team-portrait img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;object-position:center top}
.mma-team-reference .team-placeholder{height:100%;display:grid;place-items:center;font-size:5rem;color:var(--navy,#202039)}
.mma-role-badge{position:absolute;bottom:8%;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:10px 18px;border-radius:999px;background:#fff;color:#202039;font-weight:700;font-size:.88rem;line-height:1.3;box-shadow:0 4px 18px #20203912}
.mma-team-reference .card-body{display:flex;flex-direction:column;flex:1;padding:24px 0 0}
.mma-team-reference h3{font-size:clamp(1.25rem,2vw,1.9rem);color:#202039;margin:0 0 12px;letter-spacing:-.02em}
.mma-team-reference .card-body p{font-size:1rem;line-height:1.8;text-align:center;margin:0 0 12px;color:#717084}
.mma-team-reference .card-body .mma-member-title,.mma-team-reference .card-body .mma-member-role{font-weight:700;color:var(--blue,#0677bc)}
.mma-team-reference .team-socials{justify-content:center;margin-top:auto;padding-top:12px;gap:14px}
.mma-team-cta{text-align:center;border-top:1px solid #e4e5ed;margin-top:40px;padding-top:32px}
.mma-team-cta p{text-align:center}
@media(max-width:900px){.mma-team-reference{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.mma-team-reference{grid-template-columns:1fr}.mma-team-reference .mma-team-portrait{max-width:380px;width:100%;margin-inline:auto}}

/* Membership reference profile, scoped to this form only. */
.mma-form.mma-membership-profile{display:block;width:100%;max-width:100%;padding:clamp(18px,4vw,36px);overflow-wrap:anywhere}
.mma-membership-profile .mma-profile-heading{border-bottom:2px solid var(--mma-accent,#0677bc);margin-bottom:28px;padding-bottom:18px}
.mma-membership-profile .mma-profile-heading h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.35;margin:0 0 12px}
.mma-membership-profile .mma-profile-heading p{font-size:.95rem;line-height:1.7;text-align:start}
.mma-membership-profile .mma-profile-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;min-width:0;border:1px solid #dbe4ec;border-radius:12px;padding:24px;margin:0 0 28px}
.mma-membership-profile legend{font-size:1.05rem;font-weight:700;padding:0 10px;color:var(--navy,#092d55);max-width:100%}
.mma-membership-profile .mma-field{margin:0;min-width:0}
.mma-membership-profile .mma-field:has(textarea),.mma-membership-profile .mma-field:has([type=checkbox]){grid-column:1/-1}
.mma-membership-profile .mma-field input:not([type=checkbox]),.mma-membership-profile select{min-height:48px;max-width:100%}
.mma-membership-profile>.mma-field{margin-bottom:24px}
.mma-membership-profile button[type=submit]{min-height:48px}
@media(max-width:600px){.mma-membership-profile .mma-profile-section{grid-template-columns:minmax(0,1fr);padding:18px 14px;gap:18px}.mma-membership-profile button[type=submit]{width:100%}}

/* Keep native mobile controls inside their grid track, including Safari dates. */
.mma-form,.mma-form .mma-field,.mma-form fieldset{box-sizing:border-box;min-inline-size:0}
.mma-form .mma-field input:not([type=checkbox]):not([type=radio]),.mma-form .mma-field select,.mma-form .mma-field textarea{box-sizing:border-box;display:block;inline-size:100%;width:100%;min-inline-size:0;min-width:0;max-inline-size:100%;max-width:100%;margin-inline:0}
.mma-form .mma-field input[type=date]{-webkit-appearance:none;appearance:none;min-width:0;width:100%;max-width:100%;text-align:start}
.mma-form input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:start}
.mma-form input[type=date]::-webkit-datetime-edit{display:block;min-width:0;padding:0}
.mma-membership-profile .mma-profile-section{inline-size:100%;max-inline-size:100%}
.mma-membership-profile legend{box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
