:root{--primary:#1f273a;--primary-container:#353d51;--on-primary:#fff;--on-primary-container:#a0a8c0;--secondary:#005cab;--secondary-container:#0075d6;--on-secondary:#fff;--surface:#f8f9fc;--surface-bright:#f8f9fc;--surface-dim:#d9dadd;--surface-container-lowest:#fff;--surface-container-low:#f2f3f6;--surface-container:#edeef1;--surface-container-high:#e7e8eb;--surface-container-highest:#e1e2e5;--on-surface:#191c1e;--on-surface-variant:#45464c;--outline:#76777d;--outline-variant:#c6c6cd;--error:#ba1a1a;--error-container:#ffdad6;--tertiary:#272727;--transition:.3s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--surface);color:var(--on-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Manrope,Inter,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}h1,h2,h3,h4{color:var(--primary);font-family:Noto Serif,Georgia,serif;font-weight:700;line-height:1.25}h1{font-size:clamp(1.75rem,4vw,3rem)}h2{font-size:clamp(1.25rem,2.5vw,1.75rem)}h3{font-size:1.1rem}p{font-family:Manrope,sans-serif}label{color:var(--on-surface-variant);letter-spacing:.03em;margin-bottom:.4rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;display:block}.site-nav{z-index:50;-webkit-backdrop-filter:blur(24px);background:#ffffffd1;border-bottom:1px solid #c6c6cd40;position:sticky;top:0;box-shadow:0 1px 3px #1f273a0f}.site-nav-inner{justify-content:space-between;align-items:center;gap:2rem;max-width:1400px;height:72px;margin:0 auto;padding:0 2rem;display:flex}.site-logo{color:var(--primary);letter-spacing:-.01em;flex-shrink:0;font-family:Noto Serif,serif;font-size:1.4rem;font-style:italic;font-weight:700}.site-nav-links{align-items:center;gap:2rem;list-style:none;display:flex}.site-nav-links a{color:var(--outline);transition:color var(--transition);font-family:Manrope,sans-serif;font-size:.9rem}.site-nav-links a:hover{color:var(--primary)}.site-nav-actions{flex-shrink:0;align-items:center;gap:1rem;display:flex}.site-footer{background:var(--surface-container-low);margin-top:6rem;padding:3rem 2rem}.site-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;max-width:1400px;margin:0 auto;display:flex}.site-footer a{color:var(--outline);transition:color var(--transition);text-underline-offset:3px;font-family:Manrope,sans-serif;font-size:.85rem;text-decoration:underline}.site-footer a:hover{color:var(--primary)}.site-footer-links{flex-wrap:wrap;gap:1.5rem;list-style:none;display:flex}.site-footer-copy{color:var(--outline);font-family:Manrope,sans-serif;font-size:.8rem}.shell{flex-direction:column;min-height:100vh;display:flex}.shell-content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:2.5rem 1.5rem 5rem}.button,button{cursor:pointer;transition:all var(--transition);letter-spacing:.01em;white-space:nowrap;border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.4rem;padding:.8rem 1.5rem;font-family:Manrope,sans-serif;font-size:.9rem;font-weight:600;display:inline-flex}.button,button:not([class]){background:var(--primary);color:var(--on-primary);box-shadow:0 4px 16px #1f273a26}.button:hover,button:not([class]):hover{background:var(--primary-container);box-shadow:0 6px 20px #1f273a33}.button.secondary{background:var(--surface-container-high);color:var(--primary);box-shadow:none}.button.secondary:hover{background:var(--surface-container-highest)}.button.outline{color:var(--primary);border:1.5px solid var(--primary-container);background:0 0}.button.outline:hover{background:var(--primary);color:var(--on-primary)}.button.ghost{color:var(--secondary);box-shadow:none;background:0 0;padding-left:.5rem;padding-right:.5rem}.button.ghost:hover{color:var(--primary)}.button:disabled,button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}input,textarea,select{background:var(--surface-container-low);width:100%;color:var(--on-surface);transition:all var(--transition);border:none;border-radius:.75rem;outline:none;padding:.9rem 1.1rem;font-family:Manrope,sans-serif;font-size:1rem}input:focus,textarea:focus,select:focus{background:var(--surface-container-lowest);box-shadow:0 0 0 2px #1f273a26}input::placeholder,textarea::placeholder{color:var(--outline-variant)}textarea{resize:vertical;min-height:5rem;line-height:1.6}.card,.panel{background:var(--surface-container-lowest);border-radius:1.5rem;padding:1.75rem;box-shadow:0 2px 12px #1f273a0d}.panel.wide{grid-column:1/-1}.formGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;display:grid}.formGrid .wide{grid-column:1/-1}.grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;display:grid}.mediaGrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.mediaCard{gap:.6rem;display:grid}.mediaCard img{object-fit:cover;background:var(--surface-container-low);border-radius:1rem;width:100%}.mediaCard figcaption{color:var(--outline);font-family:Inter,sans-serif;font-size:.8rem}.heroPhoto{aspect-ratio:1;object-fit:cover;border-radius:1.5rem;width:100%}.heroPlaceholder{aspect-ratio:1;border:2px dashed var(--outline-variant);background:var(--surface-container-low);color:var(--outline);border-radius:1.5rem;justify-content:center;align-items:center;font-family:Manrope,sans-serif;font-size:.9rem;display:flex}.detailList{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.memorialHeroV2{grid-template-columns:minmax(240px,380px) 1fr;align-items:start;gap:2.5rem;margin-bottom:2rem;display:grid}.memorialAnchors{scrollbar-width:none;gap:.5rem;margin-bottom:2rem;padding:0 0 1rem;display:flex;overflow-x:auto}.memorialAnchors::-webkit-scrollbar{display:none}.anchorPill{white-space:nowrap;background:var(--surface-container-low);color:var(--on-surface-variant);transition:all var(--transition);border:1px solid #0000;border-radius:999px;padding:.5rem 1.1rem;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;text-decoration:none}.anchorPill:hover{background:var(--surface-container-high);color:var(--primary)}.anchorPill.active{background:var(--primary);color:var(--on-primary);box-shadow:0 4px 12px #1f273a33}.epitaphBlock{color:var(--primary);border-left:3px solid var(--primary-container);background:var(--surface-container-low);border-radius:0 1rem 1rem 0;margin:1.25rem 0;padding:1.25rem 1.5rem;font-family:Noto Serif,serif;font-size:1.1rem;font-style:italic;line-height:1.7}.scrollSection{scroll-margin-top:100px}.uploadBox{border:2px dashed var(--outline-variant);background:var(--surface-container-low);transition:all var(--transition);border-radius:1.25rem;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.uploadBox.isDrag{border-color:var(--primary);background:#1f273a0a}.uploadHeader{text-align:center;color:var(--outline);flex-direction:column;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.uploadActions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.uploadStack{flex-direction:column;gap:.75rem;display:flex}.uploadPreview img{border-radius:1rem;max-width:280px}.uploadPreview--aspect{border-radius:1rem;margin:0 auto;overflow:hidden}.uploadPreview--aspect img{max-width:none}.lightboxTrigger{cursor:pointer;transition:transform var(--transition);background:0 0;border:none;border-radius:1rem;padding:0;overflow:hidden}.lightboxTrigger:hover{transform:scale(1.02)}.lightboxTrigger img{object-fit:cover;width:100%;height:200px}.lightboxBackdrop{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#131b2ed9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.lightboxCard{background:var(--primary);border-radius:1.5rem;flex-direction:column;gap:1rem;width:min(960px,100%);padding:1.5rem;display:flex}.lightboxCard img{object-fit:contain;border-radius:1rem;width:100%;max-height:80vh}table{border-collapse:collapse;width:100%;font-family:Inter,sans-serif;font-size:.875rem}th{text-align:left;color:var(--on-surface-variant);background:var(--surface-container-low);padding:.75rem 1rem;font-weight:600}td{text-align:left;border-bottom:1px solid var(--surface-container-high);padding:.9rem 1rem}tr:hover td{background:var(--surface-container-low)}.statRow{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.progressBar{background:var(--surface-container-high);border-radius:999px;height:4px;overflow:hidden}.progressBar-fill{background:var(--secondary);height:100%;transition:width .7s var(--transition);border-radius:999px}.stepIndicator{justify-content:center;align-items:center;gap:.75rem;margin-bottom:2.5rem;display:flex}.stepDot{flex-direction:column;align-items:center;gap:.4rem;display:flex}.stepDot-circle{background:var(--surface-container-high);width:2.25rem;height:2.25rem;color:var(--outline);transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;font-family:Inter,sans-serif;font-size:.8rem;font-weight:700;display:flex}.stepDot.active .stepDot-circle{background:var(--primary);color:var(--on-primary);box-shadow:0 4px 12px #1f273a40}.stepDot.done .stepDot-circle{background:var(--secondary);color:#fff}.stepDot-label{text-transform:uppercase;letter-spacing:.08em;color:var(--outline);font-family:Inter,sans-serif;font-size:.65rem;font-weight:700}.stepDot.active .stepDot-label{color:var(--primary)}.stepConnector{background:var(--outline-variant);flex-shrink:0;width:3rem;height:1.5px;margin-bottom:1.6rem}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--outline);font-family:Inter,sans-serif;font-size:.7rem;font-weight:700}.subtitle{color:var(--on-surface-variant);font-family:Manrope,sans-serif;font-size:1rem}.muted{color:var(--outline);font-size:.9rem}.authSplit{justify-content:center;align-items:center;min-height:calc(100vh - 72px);padding:3rem 1.5rem;display:flex}.authSplit-card{background:var(--surface-container-lowest);border-radius:2rem;grid-template-columns:1fr 1fr;width:100%;max-width:960px;display:grid;overflow:hidden;box-shadow:0 8px 40px #1f273a1a}.authSplit-visual{background:var(--primary);min-height:520px;position:relative;overflow:hidden}.authSplit-visual img{object-fit:cover;opacity:.45;mix-blend-mode:overlay;width:100%;height:100%;position:absolute;inset:0}.authSplit-visual-overlay{z-index:1;background:linear-gradient(#0000 40%,#1f273ad9 100%);position:absolute;inset:0}.authSplit-visual-text{z-index:2;color:#fff;position:absolute;bottom:2.5rem;left:2.5rem;right:2.5rem}.authSplit-visual-text h2{color:#fff;margin-bottom:.75rem;font-family:Noto Serif,serif;font-size:1.6rem;font-style:italic;line-height:1.4}.authSplit-visual-text p{color:#ffffffbf;font-size:.9rem;line-height:1.6}.authSplit-form{flex-direction:column;justify-content:center;padding:3rem 3.5rem;display:flex}.tariffGrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem;width:100%;max-width:1100px;margin:0 auto;display:grid}.tariffCard{background:var(--surface-container-lowest);transition:all var(--transition);border:1.5px solid #0000;border-radius:2rem;flex-direction:column;padding:2.25rem;display:flex;position:relative;box-shadow:0 2px 16px #1f273a0d}.tariffCard:hover{border-color:#c6c6cd80;transform:translateY(-4px);box-shadow:0 16px 48px #1f273a1a}.tariffCard.featured{background:var(--primary);color:var(--on-primary);box-shadow:0 16px 48px #1f273a40}.tariffCard.featured h3,.tariffCard.featured p{color:#ffffffd9}.tariffCard.featured h2{color:#fff}.tariffBadge{background:var(--secondary);color:#fff;text-transform:uppercase;letter-spacing:.2em;white-space:nowrap;border-radius:999px;padding:.35rem 1rem;font-family:Inter,sans-serif;font-size:.65rem;font-weight:800;position:absolute;top:-.75rem;left:50%;transform:translate(-50%)}.tariffIcon{background:var(--surface-container-low);border-radius:1rem;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;margin-bottom:1.5rem;font-size:1.5rem;display:flex}.tariffCard.featured .tariffIcon{color:#fff;background:#ffffff1f}.tariffFeatures{flex-direction:column;flex:1;gap:.75rem;margin:1.25rem 0 1.75rem;list-style:none;display:flex}.tariffFeatures li{color:var(--on-surface-variant);align-items:center;gap:.6rem;font-family:Manrope,sans-serif;font-size:.875rem;display:flex}.tariffCard.featured .tariffFeatures li{color:#fffc}.tariffFeatures li.disabled{opacity:.35}.sectionHeader{text-align:center;max-width:680px;margin:0 auto 3rem}.sectionHeader h1{margin-bottom:1rem;font-size:clamp(2rem,5vw,3.5rem)}.sectionHeader p{color:var(--on-surface-variant);font-size:1.05rem;line-height:1.65}.trustBlock{background:var(--surface-container-low);border-radius:2rem;flex-wrap:wrap;align-items:center;gap:2rem;margin-top:4rem;padding:3rem;display:flex}.trustBlock-avatar{object-fit:cover;border:4px solid #fff;border-radius:50%;flex-shrink:0;width:10rem;height:10rem;box-shadow:0 8px 24px #1f273a1f}.formCard{background:var(--surface-container-lowest);border-radius:2rem;max-width:880px;margin:0 auto;padding:3rem;box-shadow:0 4px 32px #1f273a12}.photoUploadSquare{aspect-ratio:1;border:2px dashed var(--outline-variant);background:var(--surface-container-lowest);cursor:pointer;width:100%;max-width:260px;transition:all var(--transition);text-align:center;border-radius:1.5rem;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:relative;overflow:hidden}.photoUploadSquare:hover{border-color:var(--primary);background:var(--surface-container-low)}.photoUploadSquare input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.divider{background:var(--surface-container-high);height:1px;margin:1.5rem 0}.divider-label{color:var(--outline);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:1rem;font-family:Inter,sans-serif;font-size:.7rem;display:flex}.divider-label:before,.divider-label:after{content:"";background:var(--surface-container-high);flex:1;height:1px}.notice{border-radius:1rem;padding:1.1rem 1.5rem;font-family:Manrope,sans-serif;font-size:.875rem;line-height:1.5}.notice.info{background:var(--surface-container-low);border-left:3px solid var(--primary-container);color:var(--on-surface-variant);font-style:italic}.notice.success{color:#15803d;background:#f0fdf4;border-left:3px solid #16a34a}.notice.error{background:var(--error-container);border-left:3px solid var(--error);color:var(--error)}.cabinetLayout{grid-template-columns:280px 1fr;align-items:start;gap:2rem;display:grid}.cabinetSidebar{background:var(--surface-container-lowest);border-radius:1.5rem;padding:1.75rem;position:sticky;top:5rem;box-shadow:0 2px 12px #1f273a0d}.memorialListCard{background:var(--surface-container-lowest);transition:all var(--transition);border-radius:1.25rem;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 2px 8px #1f273a0a}.memorialListCard:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1f273a1a}.memorialListCard-photo{object-fit:cover;background:var(--surface-container-low);border-radius:50%;flex-shrink:0;width:3.5rem;height:3.5rem}.badge{text-transform:uppercase;letter-spacing:.07em;border-radius:999px;align-items:center;padding:.25rem .75rem;font-family:Inter,sans-serif;font-size:.7rem;font-weight:600;display:inline-flex}.badge.published{color:#15803d;background:#dcfce7}.badge.draft{background:var(--surface-container-high);color:var(--outline)}.badge.paid{color:#1d4ed8;background:#dbeafe}.badge.pending{color:#a16207;background:#fef9c3}.publicPageHero{background:var(--surface-container-lowest);border-radius:2rem;grid-template-columns:minmax(240px,380px) 1fr;align-items:start;gap:3rem;margin-bottom:3rem;padding:2.5rem;display:grid;box-shadow:0 4px 24px #1f273a0f}@media (max-width:768px){.site-nav-links{display:none}.authSplit-card{grid-template-columns:1fr}.authSplit-visual{display:none}.authSplit-form{padding:2rem 1.75rem}.memorialHeroV2,.publicPageHero,.cabinetLayout{grid-template-columns:1fr}.cabinetSidebar{position:static}.tariffGrid{grid-template-columns:1fr}.formCard{padding:1.75rem 1.25rem}.trustBlock{text-align:center;flex-direction:column}}@media (max-width:480px){.shell-content{padding:1.5rem 1rem 4rem}.card,.panel{border-radius:1rem;padding:1.25rem}}
