.ma-page { background: #f5f4f1; }
.ma-main { padding: 2.2rem 1rem 4rem; }
.ma-wrap { width: min(100%, 44rem); margin: 0 auto; }
.ma-back { display: inline-flex; align-items: center; gap: .5rem; font-size: 1.06rem; color: rgba(26,26,26,.58); text-decoration: none; }
.ma-back:hover { color: #1fa3a6; }
.ma-header { margin-top: 1.1rem; text-align: center; }
.ma-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 2.1rem; border-radius: 999px; padding: 0 1.1rem; background: rgba(124,58,237,.1); color: #6d28d9; font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ma-header h1 { margin: .75rem 0 .28rem; color: #0b1f2a; font-size: clamp(2.05rem, 3.2vw, 2.95rem); }
.ma-header p { margin: 0; color: rgba(26,26,26,.6); font-size: 1.02rem; }
.ma-stepper { margin: 1.35rem auto 0; padding: 0; list-style: none; display: flex; flex-wrap: nowrap; gap: .25rem; overflow-x: auto; }
.ma-stepper li { display: inline-flex; align-items: center; gap: .45rem; color: rgba(26,26,26,.36); min-width: max-content; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.ma-stepper li::after { content: ""; width: .88rem; height: 2px; background: #d8d4d1; margin-left: .25rem; }
.ma-stepper li:last-child::after { display: none; }
.ma-step-number { width: 1.8rem; height: 1.8rem; border-radius: 999px; border: 2px solid #ddd8d5; display: grid; place-items: center; background: #fff; color: rgba(26,26,26,.48); }
.ma-step-number svg { width: .95rem; height: .95rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ma-stepper li.is-complete .ma-step-number { background: #1fa3a6; border-color: #1fa3a6; color: #fff; }
.ma-stepper li.is-active { color: #0b1f2a; }
.ma-stepper li.is-active .ma-step-number { background: #0b1f2a; border-color: #0b1f2a; color: #fff; }
.ma-form { margin-top: 1.05rem; border: 1px solid #ddd7d3; border-radius: 1.7rem; background: #fff; box-shadow: 0 16px 32px rgba(11,31,42,.09); padding: 1.5rem; }
.ma-panel { display: none; }
.ma-panel.is-active { display: block; }
.ma-kicker { margin: 0; color: #7c3aed; font-size: .82rem; font-weight: 800; letter-spacing: .08em; }
.ma-panel h2 { margin: .42rem 0 1rem; color: #0b1f2a; font-size: clamp(1.85rem, 2.6vw, 2.25rem); }
.ma-help { margin: 0 0 .8rem; color: rgba(26,26,26,.58); font-size: .94rem; }
.ma-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.ma-field { display: grid; gap: .42rem; }
.ma-field-wide { grid-column: 1 / -1; }
.ma-field label { color: #0b1f2a; font-size: .92rem; font-weight: 700; }
.ma-field label span { color: #de7a2f; }
.ma-field input, .ma-field textarea, .ma-field select { width: 100%; min-height: 3rem; border: 2px solid #ddd8d5; border-radius: .9rem; background: #fff; color: #0b1f2a; font: inherit; font-size: .95rem; padding: .72rem .9rem; }
.ma-field textarea { min-height: 8rem; resize: vertical; }
.ma-field input:focus, .ma-field textarea:focus, .ma-field select:focus { outline: none; border-color: #1fa3a6; box-shadow: 0 0 0 3px rgba(31,163,166,.14); }
.ma-inline-choices { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .6rem; }
.ma-chip, .ma-check-row { border: 2px solid #ddd8d5; border-radius: .95rem; background: #fff; color: rgba(26,26,26,.72); font-size: .9rem; font-weight: 700; }
.ma-chip { min-height: 2.9rem; }
.ma-chip:hover, .ma-check-row:hover { border-color: #b4e0e1; }
.ma-chip.is-selected, .ma-check-row.is-selected { border-color: #1fa3a6; background: #eef8f8; color: #0b1f2a; }
.ma-check-grid { display: grid; gap: .55rem; }
.ma-check-row { min-height: 3.2rem; padding: .72rem 1rem; text-align: left; }
.ma-note { border: 1px solid rgba(11,31,42,.12); border-radius: .95rem; background: rgba(11,31,42,.04); padding: .85rem .95rem; color: rgba(26,26,26,.74); font-size: .9rem; }
.ma-note-warn { background: #fff8e8; border-color: #f4d69b; color: #9a6700; }
.ma-photo-row { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; }
.ma-photo-preview, .ma-photo-fallback { width: 4rem; height: 4rem; border-radius: 999px; border: 2px solid #ddd8d5; object-fit: cover; display: grid; place-items: center; font-size: 1.5rem; }
.ma-photo-preview.is-hidden { display: none; }
.ma-photo-fallback.is-hidden { display: none; }
.ma-photo-row input[type="file"] { width: auto; min-height: auto; border: 2px solid #1fa3a6; border-radius: .75rem; padding: .5rem .7rem; font-size: .87rem; }
.ma-summary { border: 1px solid #e4dfdb; border-radius: .95rem; background: #f8f6f4; padding: .85rem .9rem; }
.ma-summary p { margin: .3rem 0; color: rgba(26,26,26,.64); font-size: .84rem; }
.ma-summary p strong { color: #0b1f2a; }
.ma-terms-row { display: flex; align-items: flex-start; gap: .65rem; margin-top: .9rem; border: 2px solid #ddd8d5; border-radius: .95rem; padding: .8rem .95rem; color: rgba(26,26,26,.76); font-size: .93rem; }
.ma-terms-row input { margin-top: .2rem; width: 1rem; height: 1rem; }
.ma-terms-row a { color: #7c3aed; }
.ma-terms-row a:hover { color: #5b21b6; }
.ma-footnote { margin: .28rem 0 0; color: rgba(26,26,26,.48); font-size: .82rem; text-align: right; }
.ma-actions { margin-top: 1.2rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.ma-panel.is-hidden, .is-hidden { display: none !important; }
@media (max-width: 760px) {
  .ma-wrap { width: min(100%, 39rem); }
  .ma-grid { grid-template-columns: 1fr; }
  .ma-inline-choices { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ma-form { border-radius: 1.3rem; padding: 1.1rem; }
}
