@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Jost:wght@300;400;500&display=swap");.cm-page{min-height:100vh;padding:3rem 1.5rem 6rem}.cm-wrap{max-width:640px;margin:0 auto}.cm-back{font-family:Jost,sans-serif;font-size:12px;font-weight:400;color:#9c8c7a;text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-bottom:2.5rem;transition:color .15s}.cm-back:hover{color:#2c2416}.cm-header{text-align:center;margin-bottom:3rem}.cm-eyebrow{font-family:Jost,sans-serif;font-size:10px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:#9c8c7a;display:block;margin-bottom:10px}.page-layout-title{font-family:Cormorant Garamond,serif;font-size:30px;font-weight:300;color:#2c2416;margin:0 0 8px}.page-layout-subtitle{font-family:Jost,sans-serif;font-size:14px;font-weight:300;color:#9c8c7a;line-height:1.7}.cm-steps{display:flex;align-items:flex-start;margin-bottom:3rem;position:relative}.cm-steps:before{content:"";position:absolute;top:15px;left:calc(12.5%);right:calc(12.5%);height:.5px;background:#ddd5c8;z-index:0}.cm-step{flex:1 1;flex-direction:column;gap:8px;position:relative;z-index:1;cursor:pointer}.cm-step,.cm-step-dot{display:flex;align-items:center}.cm-step-dot{width:30px;height:30px;border-radius:50%;border:.5px solid #ddd5c8;background:#faf8f5;justify-content:center;font-family:Jost,sans-serif;font-size:11px;font-weight:500;color:#9c8c7a;transition:all .2s ease}.cm-step.active .cm-step-dot{background:#2c2416;border-color:#2c2416;color:#f5efe6}.cm-step.done .cm-step-dot{background:#ede8df;border-color:#c4a882;color:#7a6a55}.cm-step-label{font-family:Jost,sans-serif;font-size:11px;font-weight:400;color:#b8ada0;text-align:center;line-height:1.3;transition:color .2s}.cm-step.active .cm-step-label{color:#2c2416;font-weight:500}.cm-step.done .cm-step-label{color:#9c8c7a}.cm-ornament{display:flex;align-items:center;gap:14px;margin:2rem 0;opacity:.4}.cm-ornament-line{flex:1 1;height:.5px;background:#9c8c7a}.cm-ornament-glyph{font-family:Cormorant Garamond,serif;font-size:18px;color:#9c8c7a;line-height:1}.cm-section-label{font-family:Jost,sans-serif;font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#9c8c7a;display:block}.cm-field,.cm-section-label{margin-bottom:1.5rem}.cm-label{font-family:Jost,sans-serif;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:#9c8c7a;display:block;margin-bottom:8px}.cm-label span{color:#c07070;margin-left:2px}.cm-input,.cm-select,.cm-textarea{width:100%;border:.5px solid #ddd5c8;border-radius:6px;padding:11px 14px;font-family:Jost,sans-serif;font-size:14px;font-weight:300;color:#2c2416;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;-webkit-appearance:none}.cm-input:focus,.cm-select:focus,.cm-textarea:focus{border-color:#c4a882;box-shadow:0 0 0 3px hsla(35,36%,64%,.15)}.cm-input::placeholder,.cm-textarea::placeholder{color:#c5b9ac}.cm-textarea{resize:none;line-height:1.7}.cm-select{cursor:pointer}.cm-input.error,.cm-select.error{border-color:#c07070}.cm-field-error{color:#a04040}.cm-field-error,.cm-field-hint{font-family:Jost,sans-serif;font-size:11px;margin-top:5px;display:block}.cm-field-hint{font-weight:300;color:#b8ada0;font-style:italic}.cm-char-count{font-family:Jost,sans-serif;font-size:11px;color:#b8ada0;text-align:right;margin-top:4px}.cm-date-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.react-datepicker-wrapper{width:100%}.react-datepicker__input-container input{width:100%;border:.5px solid #ddd5c8;border-radius:6px;padding:11px 14px;font-family:Jost,sans-serif;font-size:14px;font-weight:300;color:#2c2416;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.react-datepicker__input-container input:focus{border-color:#c4a882;box-shadow:0 0 0 3px hsla(35,36%,64%,.15)}.react-datepicker__input-container input::placeholder{color:#c5b9ac}.react-datepicker{font-family:Jost,sans-serif!important;border:.5px solid #ddd5c8!important;border-radius:8px!important;box-shadow:0 8px 24px rgba(44,36,22,.1)!important}.react-datepicker__header{background:#faf8f5!important;border-bottom:.5px solid #ddd5c8!important}.react-datepicker__current-month{font-family:Cormorant Garamond,serif!important;font-weight:400!important;font-size:15px!important;color:#2c2416!important}.react-datepicker__day--selected{background:#2c2416!important;border-radius:4px!important}.react-datepicker__day:hover{background:#ede8df!important;border-radius:4px!important}.react-datepicker__day-name{color:#9c8c7a!important;font-size:11px!important}.cm-tag-input-row{display:flex;gap:8px}.cm-tag-input-row .cm-input{flex:1 1}.cm-add-btn{border:.5px solid #ddd5c8;background:#fff;color:#5a4a35;border-radius:6px;padding:0 16px;font-family:Jost,sans-serif;font-size:12px;font-weight:500;letter-spacing:.5px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;height:42px;flex-shrink:0}.cm-add-btn:hover{background:#f0eae0;border-color:#c4a882}.cm-tags{flex-wrap:wrap;margin-top:10px}.cm-tag,.cm-tags{display:flex;gap:6px}.cm-tag{background:#ede8df;color:#5a4a35;border-radius:3px;padding:4px 10px;font-family:Jost,sans-serif;font-size:12px;font-weight:400;align-items:center}.cm-tag-remove{border:none;background:none;color:#9c8c7a;cursor:pointer;font-size:14px;line-height:1;padding:0;display:flex;align-items:center;transition:color .12s}.cm-tag-remove:hover{color:#8b3333}.cm-quote-item{background:#fff;border:.5px solid #ede8df;border-radius:6px;padding:12px 14px;margin-bottom:8px;display:flex;align-items:flex-start;gap:10px}.cm-quote-text{font-family:Cormorant Garamond,serif;font-size:16px;font-style:italic;color:#5a4a35;flex:1 1;line-height:1.5}.cm-avatar-section{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.cm-avatar{position:relative;width:120px;height:120px;margin-bottom:.75rem}.cm-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid #c4a882;box-shadow:0 4px 12px rgba(0,0,0,.1)}.cm-avatar-placeholder{width:100%;height:100%;border-radius:50%;background:#ede8df;display:flex;align-items:center;justify-content:center;border:2px dashed #c4a882}.cm-avatar-placeholder i{font-size:32px;color:#9c8c7a}.cm-avatar-upload{position:absolute;bottom:4px;right:4px;width:32px;height:32px;background:#2c2416;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;border:2px solid #faf8f5}.cm-avatar-upload:hover{background:#4a3a2a}.cm-avatar-upload i{color:#f5efe6;font-size:14px}.cm-avatar-remove{position:absolute;bottom:4px;left:4px;width:32px;height:32px;background:#c46a6a;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;border:none}.cm-avatar-remove:hover{background:#a84a4a}.cm-avatar-remove i{color:#fff;font-size:14px}.cm-avatar-hint{font-family:Jost,sans-serif;font-size:11px;color:#9c8c7a;text-align:center;margin:0}.cm-photo-upload-section{margin-bottom:1.5rem}.cm-photo-upload-row{display:flex;gap:8px;margin-bottom:12px;align-items:center}.cm-file-input{flex:1 1;padding:10px;border:.5px solid #ddd5c8;border-radius:6px;font-family:Jost,sans-serif;font-size:13px}.cm-photo-preview{position:relative;display:inline-block;margin-top:10px}.cm-photo-preview img{width:120px;height:120px;object-fit:cover;border-radius:8px;border:.5px solid #ddd5c8}.cm-preview-remove{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:#c46a6a;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px}.cm-photo-note{margin-top:12px;padding:8px 12px;background:#fef9e6;border:.5px solid #e8dcc8;border-radius:6px;font-family:Jost,sans-serif;font-size:12px;color:#7a6a55;display:flex;align-items:center;gap:8px}.cm-photo-note i{font-size:14px}.cm-photo-row{display:flex;gap:8px;margin-bottom:8px}.cm-photo-row .cm-input{flex:1 1}.cm-photo-caption{width:180px;flex-shrink:0}.cm-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:12px}.cm-photo-card{border:.5px solid #ede8df;border-radius:8px;overflow:hidden;background:#fff}.cm-photo-card.primary{border-color:#c4a882}.cm-photo-img{width:100%;height:120px;object-fit:cover;display:block}.cm-photo-footer{padding:8px 10px;display:flex;align-items:center;justify-content:space-between}.cm-photo-caption-text{font-family:Jost,sans-serif;font-size:11px;color:#9c8c7a;flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-primary-badge{font-family:Jost,sans-serif;font-size:10px;color:#7a6a55;background:#ede8df;border-radius:3px;padding:2px 6px;letter-spacing:.5px}.cm-photo-actions{display:flex;gap:6px;margin-left:6px}.cm-photo-btn{border:none;background:none;font-family:Jost,sans-serif;font-size:11px;color:#9c8c7a;cursor:pointer;padding:0;transition:color .12s}.cm-photo-btn:hover{color:#2c2416}.cm-photo-btn.remove:hover{color:#8b3333}.cm-error{background:#fbf5f5;border:.5px solid #e8d0d0;border-radius:6px;padding:12px 16px;font-family:Jost,sans-serif;font-size:13px;color:#7a3a3a;margin-bottom:1.5rem;line-height:1.6}.cm-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2.5rem;padding-top:2rem;border-top:.5px solid #ddd5c8}.cm-btn-back{border:.5px solid #ddd5c8;background:transparent;color:#9c8c7a;border-radius:6px;padding:10px 22px;font-family:Jost,sans-serif;font-size:12px;font-weight:400;letter-spacing:.5px;cursor:pointer;transition:background .15s;text-decoration:none;display:inline-flex;align-items:center}.cm-btn-back:hover{background:#f5f0ea;color:#5a4a35}.cm-btn-next{background:#2c2416;color:#f5efe6;border:none;border-radius:6px;padding:10px 28px;font-family:Jost,sans-serif;font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;gap:8px}.cm-btn-next:hover:not(:disabled){background:#3d3020}.cm-btn-next:disabled{opacity:.4;cursor:not-allowed}.cm-btn-spinner{width:13px;height:13px;border:2px solid hsla(36,43%,93%,.3);border-top-color:#f5efe6;border-radius:50%;animation:cm-spin .8s linear infinite;flex-shrink:0}.cm-religion-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.cm-religion-option{border:.5px solid #ddd5c8;border-radius:6px;padding:10px 8px;text-align:center;font-family:Jost,sans-serif;font-size:12px;font-weight:400;color:#7a6a55;cursor:pointer;background:#fff;transition:all .15s ease}.cm-religion-option:hover{background:#f5f0ea;border-color:#c4a882}.cm-religion-option.selected{background:#ede8df;border-color:#c4a882;color:#2c2416;font-weight:500}.cm-message-wrap{position:relative}.cm-message-glyph{position:absolute;top:12px;left:14px;font-family:Cormorant Garamond,serif;font-size:28px;color:#ddd5c8;line-height:1;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cm-message-textarea{padding-left:36px;font-family:Cormorant Garamond,serif!important;font-size:17px!important;font-style:italic;color:#4a3d2e;line-height:1.7}.cm-hint{font-family:Jost,sans-serif;font-size:13px;font-weight:300;color:#9c8c7a;margin-bottom:14px;line-height:1.6}.cm-summary{background:#fff;border:.5px solid #ede8df;border-radius:8px;padding:1.5rem;margin-bottom:1rem;text-align:center}.cm-summary-label{font-family:Jost,sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#9c8c7a;margin-bottom:12px}.cm-summary-name{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:400;color:#2c2416;margin-bottom:4px}.cm-summary-dates{color:#9c8c7a;letter-spacing:1px;margin-bottom:12px}.cm-summary-dates,.cm-summary-religion{font-family:Jost,sans-serif;font-size:12px}.cm-summary-religion{color:#b8ada0}@keyframes cm-spin{to{transform:rotate(1turn)}}@keyframes cm-fadein{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cm-step-content{animation:cm-fadein .3s ease}.cm-obituary-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(44,36,22,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:cm-obituary-fade-in .2s ease}.cm-obituary-modal{position:relative;background:#fffdf9;border-radius:24px;max-width:480px;width:90%;padding:2rem;text-align:center;box-shadow:0 25px 50px -12px rgba(0,0,0,.3);animation:cm-obituary-slide-up .3s ease}.cm-obituary-close{position:absolute;top:16px;right:20px;background:none;border:none;font-size:20px;cursor:pointer;color:#9c8c7a;transition:color .2s;padding:4px 8px}.cm-obituary-close:hover{color:#2c2416}.cm-obituary-icon{font-size:48px;margin-bottom:1rem}.cm-obituary-title{font-family:Cormorant Garamond,serif;font-size:24px;font-weight:400;color:#2c2416;margin-bottom:.75rem}.cm-obituary-message{font-family:Jost,sans-serif;font-size:14px;color:#7a6a55;line-height:1.6;margin-bottom:1.75rem}.cm-obituary-message strong{color:#2c2416;font-weight:600}.cm-obituary-buttons{display:flex;gap:12px;justify-content:center}.cm-obituary-btn-primary{background:#2c2416;color:#f5efe6;border:none;border-radius:40px;padding:12px 28px;font-family:Jost,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1 1}.cm-obituary-btn-primary:hover:not(:disabled){background:#4a3a2a;transform:translateY(-1px)}.cm-obituary-btn-secondary{background:transparent;color:#7a6a55;border:1px solid #ddd5c8;border-radius:40px;padding:12px 28px;font-family:Jost,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1 1}.cm-obituary-btn-secondary:hover:not(:disabled){background:#f5f0ea;border-color:#c4a882}.cm-obituary-btn-primary:disabled,.cm-obituary-btn-secondary:disabled{opacity:.6;cursor:not-allowed}@keyframes cm-obituary-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cm-obituary-slide-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:640px){.cm-obituary-modal{padding:1.5rem}.cm-obituary-buttons{flex-direction:column}.cm-obituary-btn-primary,.cm-obituary-btn-secondary{padding:10px 20px}}@media (max-width:540px){.cm-date-grid{grid-template-columns:1fr}.cm-photo-grid,.cm-religion-grid{grid-template-columns:repeat(2,1fr)}.cm-photo-row{flex-direction:column}.cm-photo-caption{width:100%}}