.mfr{--ink:#181614;--gold:#b98c55;--line:#e5ddd0;--paper:#faf7f1;color:var(--ink);background:var(--paper);font-family:Arial,sans-serif;line-height:1.5}.mfr *{box-sizing:border-box}.mfr button,.mfr input{font:inherit}.mfr button{cursor:pointer}.mfr-intro{background:#171412;color:#fff;padding:70px max(30px,calc((100vw - 1120px)/2));}.mfr-intro span{font-size:12px;color:#d0a16b;letter-spacing:.22em}.mfr-intro h1,.mfr h2,.mfr h3,.mfr-card strong{font-family:Georgia,serif;font-weight:400}.mfr-intro h1{font-size:clamp(38px,5vw,68px);max-width:700px;line-height:1.08;margin:16px 0}.mfr em{font-style:normal;color:var(--gold)}.mfr-intro p{max-width:520px;color:#ddd1c4}.mfr-body{max-width:1160px;margin:auto;padding:38px 20px 75px}.mfr-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 42px}.mfr-progress span{border-top:2px solid var(--line);padding:12px 0;color:#867b70;font-size:12px}.mfr-progress .is-current{border-color:var(--gold);color:var(--ink);font-weight:bold}.mfr-panel{display:none}.mfr-panel.is-current{display:block}.mfr-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 25px}.mfr-heading h2{font-size:clamp(34px,4vw,51px);line-height:1.1;margin:0}.mfr-heading p{max-width:420px;color:#6d6258;margin:0}.mfr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mfr-card{position:relative;min-width:0;text-align:left;background:#fff;border:1px solid var(--line);padding:0;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.mfr-card:hover{transform:translateY(-3px)}.mfr-card.is-selected{border:2px solid var(--gold)}.mfr-card-image{height:245px;display:block;overflow:hidden;background:#e9e1d5}.mfr-card-image img{display:block;width:100%;height:100%;object-fit:cover}.mfr-card-image.mfr-empty{display:grid;place-items:center;font-size:75px;color:var(--gold);background:#eee5d8}.mfr-designs .mfr-card-image img{object-fit:contain;background:#f8f6f1}.mfr-card-copy{display:block;padding:18px 20px 22px}.mfr-card strong{display:block;font-size:22px}.mfr-card small{display:block;color:#74695e;font-size:13px;margin-top:5px}.mfr-check{display:none;position:absolute;right:12px;top:12px;background:var(--gold);color:#fff;border-radius:50%;width:28px;height:28px;text-align:center;line-height:28px}.mfr-card.is-selected .mfr-check{display:block}.mfr-preview,.mfr-upload,.mfr-options{background:#fff;border:1px solid var(--line);padding:22px;margin-top:22px}.mfr-preview[hidden],.mfr-upload[hidden],.mfr-panel[hidden]{display:none!important}.mfr-preview h3{font-size:27px;margin:0 0 17px}.mfr-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mfr-preview figure{margin:0;text-align:center}.mfr-preview img{width:100%;height:190px;object-fit:contain;background:#f5f2ec}.mfr-preview figcaption{font-size:12px;margin-top:8px}.mfr-upload input{display:block;margin:12px 0}.mfr-upload small{color:#756b62}.mfr-options{display:flex;gap:8px;flex-wrap:wrap}.mfr-options legend{font-weight:bold;padding:0 8px}.mfr-options button{padding:10px 15px;border:1px solid var(--line);background:white}.mfr-options button.is-selected{border-color:var(--gold);background:#f5eada}.mfr-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;background:#fff;padding:24px;border:1px solid var(--line)}.mfr-summary div{border-bottom:1px solid var(--line);padding-bottom:15px}.mfr-summary small{display:block;color:#817467;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.mfr-summary strong{display:block;margin-top:6px}.mfr-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:22px 0}.mfr-fields label{font-size:13px}.mfr-fields input{display:block;width:100%;padding:13px;background:#fff;border:1px solid var(--line);margin-top:7px}.mfr-privacy{display:block;font-size:13px}.mfr-actions{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;display:flex;align-items:center;gap:16px;justify-content:space-between}.mfr-actions button{padding:13px 22px;border:1px solid var(--ink);background:var(--ink);color:#fff}.mfr-actions .mfr-back{background:transparent;color:var(--ink)}.mfr-actions button:disabled{opacity:.35;cursor:not-allowed}.mfr-hint{font-size:12px;color:#817467}.mfr-message{padding:15px;margin-top:15px;background:#e8f4e7}.mfr-message.is-error{background:#fce7e4}.mfr-honey{position:absolute;left:-9999px;height:1px;overflow:hidden}@media(max-width:760px){.mfr-grid{grid-template-columns:repeat(2,1fr)}.mfr-heading{display:block}.mfr-heading p{margin-top:10px}.mfr-preview-grid{grid-template-columns:repeat(2,1fr)}.mfr-card-image{height:185px}}@media(max-width:520px){.mfr-intro{padding:48px 22px}.mfr-progress{gap:3px}.mfr-progress span{font-size:10px}.mfr-grid{gap:9px}.mfr-card-image{height:145px}.mfr-card-copy{padding:10px}.mfr-card strong{font-size:17px}.mfr-card small{font-size:11px}.mfr-fields,.mfr-summary{grid-template-columns:1fr}.mfr-hint{display:none}}

/* Technical model cards follow the supplied four-model illustration. */
.mfr-panel[data-step="0"] .mfr-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mfr-panel[data-step="0"] .mfr-card{background:#071018;border-color:#23313a;color:#fff;text-align:center}
.mfr-panel[data-step="0"] .mfr-card.is-selected{border-color:var(--gold)}
.mfr-panel[data-step="0"] .mfr-card-image{height:235px;background:#071018}
.mfr-panel[data-step="0"] .mfr-card-image img{object-fit:contain}
.mfr-panel[data-step="0"] .mfr-card-copy{padding:4px 13px 24px;flex:1}
.mfr-panel[data-step="0"] .mfr-card strong{font-size:20px;line-height:1.25;min-height:50px}
.mfr-panel[data-step="0"] .mfr-card strong:after{content:"";display:block;width:38px;height:2px;background:var(--gold);margin:11px auto}
.mfr-panel[data-step="0"] .mfr-card small{color:#c7cbd0;margin:0}
@media(max-width:900px){.mfr-panel[data-step="0"] .mfr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.mfr-panel[data-step="0"] .mfr-card-image{height:135px}.mfr-panel[data-step="0"] .mfr-card strong{font-size:16px;min-height:40px}.mfr-panel[data-step="0"] .mfr-card small{font-size:11px}.mfr-panel[data-step="0"] .mfr-card-copy{padding:4px 8px 14px}}
.mfr-preview-link{display:block;cursor:zoom-in}.mfr-preview-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.mfr-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(10,8,7,.88);display:grid;place-items:center;padding:44px 24px}.mfr-lightbox[hidden]{display:none}.mfr-lightbox-content{max-width:min(92vw,1100px);max-height:90vh;text-align:center}.mfr-lightbox-content img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;margin:auto;background:#fff;box-shadow:0 12px 50px rgba(0,0,0,.4)}.mfr-lightbox-content p{color:#fff;margin:12px 0 0;font-size:14px}.mfr-lightbox-close{position:absolute;top:15px;right:22px;border:0;background:transparent;color:#fff;font-size:38px;line-height:1;cursor:pointer}
.mfr-book-preview,.mfr-photocall-preview{margin:1.5rem 0;text-align:center}.mfr-book-preview img,.mfr-photocall-preview img{display:block;max-width:min(100%,560px);max-height:520px;width:auto;height:auto;margin:0 auto;border-radius:12px;box-shadow:0 14px 34px rgba(24,22,20,.16)}

/* v0.7.2: extra personalization and celebration details */
.mfr-extra-field,.mfr-client-status{background:#fff;border:1px solid var(--line);padding:22px;margin-top:22px}
.mfr-extra-field label,.mfr-client-status legend{font-weight:700;font-size:14px}
.mfr-extra-field input,.mfr-fields select{display:block;width:100%;padding:13px;background:#fff;border:1px solid var(--line);margin-top:7px;color:var(--ink);font:inherit}
.mfr-extra-field small,.mfr-client-status small{display:block;margin-top:8px;color:#756b62;font-size:12px}
.mfr-client-status{margin:22px 0 0}
.mfr-client-status-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.mfr-client-status-options label{display:flex;align-items:center;gap:8px;padding:11px 16px;border:1px solid var(--line);background:#fff;cursor:pointer}
.mfr-client-status-options label:has(input:checked){border-color:var(--gold);background:#f5eada}
.mfr-client-status-options input{margin:0}
@media(max-width:520px){.mfr-client-status-options label{flex:1;justify-content:center}.mfr-extra-field,.mfr-client-status{padding:16px}}

/* v0.7.3: dual photobooth + 360 selection */
.mfr-multi-note{margin:12px 0 0;color:#756b62;font-size:13px}
.mfr-panel[data-step="0"] .mfr-card.is-selected{box-shadow:0 0 0 1px var(--gold) inset}
