.mscm-crew {
    --crew-orange: #f47c20;
    --crew-dark: #181818;
    --crew-border: #d9dde3;
    max-width: 880px;
    margin: 24px auto;
    color: var(--crew-dark);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.mscm-crew * { box-sizing: border-box; }
.mscm-crew-head { background: var(--crew-dark); color: #fff; padding: 28px; border-left: 7px solid var(--crew-orange); }
.mscm-crew-kicker { display: block; color: #ff9a4d; font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.mscm-crew-head h2 { color: #fff; font-size: clamp(28px, 5vw, 42px); line-height: 1.08; margin: 8px 0 14px; }
.mscm-crew-head p { margin: 0; max-width: 720px; line-height: 1.55; }
.mscm-crew-time { margin-top: 18px; color: #ffd0aa; font-weight: 700; }
.mscm-crew-form { background: #f6f7f8; padding: 22px; }
.mscm-crew-person { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; background: #fff; border: 1px solid var(--crew-border); padding: 18px; margin-bottom: 18px; }
.mscm-crew label { font-weight: 700; }
.mscm-crew label small { font-weight: 400; color: #68707b; }
.mscm-crew input[type="text"], .mscm-crew input[type="tel"] { width: 100%; min-height: 48px; margin-top: 7px; border: 1px solid #aeb4bc; border-radius: 5px; padding: 10px 12px; font-size: 16px; background: #fff; }
.mscm-crew-step { border: 0; background: #fff; margin: 0 0 18px; padding: 20px; }
.mscm-crew-step legend { width: 100%; padding: 0; font-size: 22px; font-weight: 800; line-height: 1.25; }
.mscm-crew-step legend span { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-right: 8px; border-radius: 50%; color: #fff; background: var(--crew-orange); }
.mscm-crew-help { color: #626a73; margin: 8px 0 14px; }
.mscm-crew-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.mscm-crew-option { display: flex; gap: 10px; align-items: flex-start; min-height: 52px; padding: 12px; border: 1px solid var(--crew-border); border-radius: 6px; background: #fff; cursor: pointer; }
.mscm-crew-option:hover { border-color: var(--crew-orange); background: #fff8f2; }
.mscm-crew-option input { width: 20px; height: 20px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--crew-orange); }
.mscm-crew-option span { line-height: 1.3; }
.mscm-crew-option small { display: block; margin-top: 3px; color: #646b73; font-weight: 400; }
.mscm-crew-other { display: block; margin-top: 15px; }
.mscm-crew-submit { width: 100%; min-height: 54px; border: 0; border-radius: 5px; background: var(--crew-orange); color: #fff; font-size: 19px; font-weight: 800; cursor: pointer; }
.mscm-crew-submit:hover { background: #d96510; }
.mscm-crew-submit:disabled { opacity: .65; cursor: wait; }
.mscm-crew-error { min-height: 26px; margin-bottom: 8px; color: #b3261e; font-weight: 700; }
.mscm-crew-privacy { color: #60666d; font-size: 13px; line-height: 1.45; margin: 12px 4px 0; }
.mscm-crew-success { padding: 36px 28px; background: #eff8f1; border-left: 7px solid #228044; }
.mscm-crew-success h3 { margin: 0 0 8px; color: #176633; font-size: 30px; }
.mscm-crew-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mscm-member-survey { margin: 22px 0; background: #edf0f3; padding: 22px; border-top: 6px solid var(--crew-orange); }
.mscm-survey-intro { padding: 22px; margin-bottom: 18px; background: var(--crew-dark); color: #fff; }
.mscm-survey-intro h3 { margin: 7px 0 10px; color: #fff; font-size: 30px; line-height: 1.15; }
.mscm-survey-intro p { margin: 0; line-height: 1.5; }
.mscm-event-survey { display: grid; gap: 12px; }
.mscm-event-row { border: 1px solid var(--crew-border); border-radius: 6px; padding: 14px; }
.mscm-event-row > strong { display: block; margin-bottom: 9px; font-size: 17px; }
.mscm-event-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 14px; }
.mscm-event-choices label { font-weight: 500; cursor: pointer; }
.mscm-event-choices input { accent-color: var(--crew-orange); }
.mscm-training-topics { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--crew-border); }
.mscm-crew-textarea { display: block; }
.mscm-crew-textarea textarea { width: 100%; min-height: 112px; border: 1px solid #aeb4bc; border-radius: 5px; padding: 12px; font: inherit; resize: vertical; background: #fff; }
.mscm-crew-textarea textarea:focus { border-color: var(--crew-orange); outline: 2px solid rgba(244, 124, 32, .2); }

@media (max-width: 680px) {
    .mscm-crew { margin: 8px auto; }
    .mscm-crew-head { padding: 22px 18px; }
    .mscm-crew-form { padding: 12px; }
    .mscm-crew-person, .mscm-crew-options { grid-template-columns: 1fr; }
    .mscm-crew-step { padding: 17px 14px; }
    .mscm-crew-step legend { font-size: 19px; }
    .mscm-crew-option { min-height: 50px; }
    .mscm-member-survey { padding: 12px; }
    .mscm-event-choices { grid-template-columns: 1fr; }
}
