
/* Memorial setup + contribution: dedicated full-height mobile sheets */
.mem-flow{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;font-family:Inter,system-ui,sans-serif;color:#1a1e23}
.mf-scrim{position:absolute;inset:0;background:rgba(14,27,21,.58);backdrop-filter:blur(7px)}
.mf-sheet{position:relative;display:flex;flex-direction:column;width:min(100% - 24px,550px);max-height:min(94dvh,800px);height:auto;min-height:475px;background:#fff;border-radius:22px;box-shadow:0 25px 90px rgba(8,31,19,.24);overflow:hidden}
.mf-head{display:flex;align-items:center;justify-content:space-between;padding:21px 25px 15px;border-bottom:1px solid #eff0f1}
.mf-brand{font-size:13px;font-weight:750;letter-spacing:-.03em}
.mf-close{border:0;background:#f0f1f3;border-radius:11px;width:32px;height:32px;font-size:22px;display:grid;place-items:center;color:#51565e}
.mf-stepnav{display:flex;justify-content:space-between;align-items:flex-start;gap:5px;padding:20px 25px 19px;background:#fbfbfc}
.mf-stepnav>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;min-width:0}
.mf-stepnav>div:before{content:'';position:absolute;top:14px;left:calc(-50% + 14px);width:calc(100% - 28px);height:1px;background:#dee0e3}
.mf-stepnav>div:first-child:before{display:none}
.mf-stepnav span{position:relative;z-index:1;display:grid;place-items:center;width:29px;height:29px;border:1px solid #e3e5e7;background:#fff;border-radius:50%;color:#828994;font-size:11px;font-weight:750}
.mf-stepnav small{font-size:10px;font-weight:650;color:#8f969f;text-align:center}
.mf-stepnav .active span,.mf-stepnav .completed span{background:#34445c;color:#fff;border-color:#34445c}
.mf-stepnav .active small,.mf-stepnav .completed small{color:#37475e}
.mf-sheet form{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.mf-body{overflow:auto;overscroll-behavior:contain;flex:1;padding:23px 30px 29px;scrollbar-gutter:stable}
.mf-eyebrow{font-size:10px;font-weight:750;letter-spacing:.1em;color:#5e6d82;text-transform:uppercase}
.mf-body h2{font-family:Inter,system-ui,sans-serif!important;font-size:25px!important;letter-spacing:-.055em!important;font-weight:740!important;margin:7px 0 27px!important;color:#1b1e23}
.mf-field{display:flex;flex-direction:column;gap:8px;margin:0 0 19px}
.mf-field>span,.mf-label{font-size:11px;font-weight:750;color:#626972;margin:0 0 8px}
.mf-field input,.mf-field select,.mf-field textarea{border:1px solid #e4e6e8;border-radius:11px;background:#f8f9fa;width:100%;min-height:46px;padding:13px 14px;font-size:14px;color:#272c33;box-shadow:none}
.mf-field input:focus,.mf-field textarea:focus,.mf-field select:focus{outline:none;border-color:#697688;background:#fff;box-shadow:0 0 0 3px #ebeef1}
.mf-field textarea{min-height:90px;resize:vertical}
.mf-inline{display:grid;grid-template-columns:1fr .8fr;gap:12px}
.mf-option,.mf-amount-grid button,.mf-category{border:1px solid #e5e6e8;background:#fff;border-radius:11px;color:#4a4e55;font-weight:650;font-size:12px;padding:12px 14px}
.mf-option.is-selected,.mf-amount-grid .is-selected,.mf-category.is-selected{border-color:#3a4d67;background:#eef0f2;color:#33435a}
.mf-select{display:flex;gap:9px;margin:3px 0 22px}
.mf-select .mf-option{flex:1}
.mf-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:22px}
.mf-category{min-height:93px;padding:12px;display:grid;align-content:space-between;justify-items:start;gap:8px;position:relative}
.mf-category-icon{font-size:23px;font-weight:400;color:#747c87}
.mf-category strong{font-size:11px}
.mf-check{position:absolute;top:10px;right:10px;font-size:12px}
.mf-amount .mf-field input{font-size:25px;font-weight:700;letter-spacing:-.05em;min-height:60px}
.mf-amount-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:28px}
.mf-amount-grid button{padding:13px 2px;text-align:center;font-size:11px}
.mf-transfer{background:#f6f7f8;border:1px solid #e7e9eb;border-radius:14px;padding:19px;margin:8px 0 18px}
.mf-mini{font-size:10px;color:#818892;font-weight:650;margin-bottom:5px}
.mf-transfer strong{font-size:17px;font-weight:750}
.mf-separator{height:1px;background:#e4e5e7;margin:18px 0}
.mf-instructions{white-space:pre-wrap;word-break:break-word;font-size:13px;font-weight:550;line-height:1.6}
.mf-copy{background:#e9ecef;border:0;color:#334257;border-radius:9px;padding:9px 12px;font-weight:700;font-size:11px;margin-top:18px}
.mf-inline-summary{display:flex;align-items:center;justify-content:space-between;padding:13px 0;font-size:12px;border-bottom:1px solid #e8eaec}
.mf-inline-summary strong{font-size:19px}
.mf-caption{color:#999fa7;font-size:10.5px;margin-top:15px}
.mf-consent{display:flex;align-items:flex-start;gap:11px;font-size:12px;color:#4d5259;cursor:pointer;margin:9px 0 14px}
.mf-consent>input{width:18px;height:18px;accent-color:#384962;flex:0 0 18px}
.mf-consent button{background:none;border:0;color:#35465f;text-decoration:underline;font-weight:700;padding:0}
.mf-review{margin:0 0 20px}
.mf-review>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;border-bottom:1px solid #edeef0;padding:13px 0}
.mf-review span{font-size:11px;color:#828993}
.mf-review strong{font-size:12px;color:#2d323a;overflow-wrap:anywhere}
.mf-review-status{background:#eceef1;color:#39495f;border-radius:11px;padding:14px;text-align:center;font-size:12px;font-weight:700}
.mf-foot{flex-shrink:0;display:flex;align-items:center;gap:13px;padding:18px 25px;border-top:1px solid #eeeff0;background:#fff}
.mf-back{height:47px;padding:0 18px;background:#f3f3f4;color:#555b63;border:0;border-radius:11px;font-size:12px;font-weight:700}
.mf-back:disabled{visibility:hidden}
.mf-next{margin-left:auto;min-width:170px;height:47px;border:0;border-radius:11px;background:#324259;color:#fff;font-size:12px;font-weight:750;padding:0 21px}
.mf-next span{font-size:18px;margin-left:10px;vertical-align:-1px}
.mf-next:disabled{opacity:.5}
.mf-success{text-align:center;padding:15px 0}
.mf-success h3{font-size:20px;margin:12px 0 24px}
.mf-success-check{height:55px;width:55px;display:grid;place-items:center;margin:0 auto;border-radius:50%;background:#ebedf0;color:#384a64;font-size:25px}
@media(max-width:600px){
 .mf-sheet{height:100dvh;width:100vw;max-height:100dvh;max-width:100vw;border-radius:0;min-height:0}
 .mf-scrim{display:none}
 .mf-head{padding:17px 18px 13px}
 .mf-stepnav{padding:15px 14px 16px}
 .mf-body{padding:19px 18px 28px}
 .mf-body h2{font-size:23px!important;margin-bottom:23px!important}
 .mf-foot{padding:13px 18px calc(15px + env(safe-area-inset-bottom))}
 .mf-next{min-width:155px}
 .mf-amount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mf-category-grid{gap:7px}
 .mf-category{padding:9px;min-height:89px}
 .mf-category strong{font-size:10px}
 .mf-inline{grid-template-columns:1fr 120px}
}
.mf-file{border:1.5px dashed #ced2d7;background:#f9f9fa;border-radius:13px;min-height:75px;display:flex;align-items:center;gap:14px;padding:13px 16px;cursor:pointer;margin:8px 0 20px;position:relative}
.mf-file-icon{font-size:26px;color:#5f6b7b;line-height:1}
.mf-file>span:nth-child(2){display:grid;gap:4px;min-width:0}
.mf-file strong{font-size:12px;font-weight:700;overflow-wrap:anywhere}
.mf-file small{font-size:10px;color:#8b929b}
.mf-file input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.mf-file:focus-within{border-color:#364862;box-shadow:0 0 0 3px #eaecef}
