@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-ui:"Inter", "Segoe UI", Arial, sans-serif;--font-h1:var(--font-display);--font-h2:var(--font-display);--font-h3:var(--font-display);--font-modal-title:var(--font-display);--font-body-lg:var(--font-ui);--font-body:var(--font-ui);--font-small:var(--font-ui);--font-caption:var(--font-ui);--font-button:var(--font-ui);--font-status:var(--font-ui);--text-h1:48px;--text-h2:36px;--text-h3:28px;--text-modal-title:32px;--text-body-lg:18px;--text-body:16px;--text-small:14px;--text-caption:13px;--text-button:16px;--text-status:14px;--line-height-heading:1.2;--line-height-body:1.5}html,body{background:#111827;width:100%;height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--line-height-body);justify-content:center;align-items:center;display:flex}h1,h2,h3,h4,h5,h6,#grave-panel h2{font-family:var(--font-display);line-height:var(--line-height-heading);letter-spacing:-.04em;color:#111}h1{font-size:var(--text-h1);font-weight:600}h2{font-size:var(--text-h2);font-weight:600}h3{font-size:var(--text-h3);font-weight:600}button,input,select,textarea,label,p,span,small,strong,body{font-family:var(--font-ui)}button,input,select,textarea{font-size:var(--text-body);line-height:var(--line-height-body)}canvas{display:block}#plot-inventory-status{z-index:1;color:#181818;font-size:var(--text-small);background:#fff;border:1px solid #d8d8d5;border-radius:8px;margin:0;padding:8px 14px;position:fixed;top:18px;left:50%;transform:translate(-50%)}#account-menu-button{z-index:20;color:#181818;font-size:var(--text-small);cursor:pointer;background:#fff;border:1px solid #181818;border-radius:999px;align-items:center;gap:9px;padding:9px 13px;font-weight:600;display:inline-flex;position:fixed;top:16px;right:18px}#account-menu-button span:first-child{font-size:18px;line-height:1}#account-menu{z-index:30;box-sizing:border-box;color:#181818;pointer-events:none;overscroll-behavior:contain;background:#fff;border-left:1px solid #181818;flex-direction:column;width:min(380px,100vw);height:100dvh;transition:transform .22s;display:flex;position:fixed;inset:0 0 0 auto;transform:translate(100%);box-shadow:-12px 0 32px #0000001f}#account-menu.is-open{pointer-events:auto;touch-action:pan-y;transform:translate(0)}#account-menu-content[hidden],#account-menu-account-view[hidden],#account-menu-graves-view[hidden],#account-menu-signed-out[hidden],#account-menu-signed-in[hidden],#account-menu-signed-in-links[hidden],#account-menu-signed-in-divider[hidden],#account-menu-guest-divider[hidden],#account-menu-sign-out[hidden],#account-menu-guest-links[hidden],#account-menu-auth[hidden],#account-menu-email-form[hidden],#account-menu-code-form[hidden],#account-menu-auth-back[hidden],#account-menu-graves-status[hidden],#account-menu-graves-error[hidden],#account-menu-graves-retry[hidden],#account-menu-graves-empty[hidden]{display:none}.account-menu-header{min-height:62px;font-size:var(--text-small);letter-spacing:.12em;border-bottom:1px solid #d8d8d5;justify-content:space-between;align-items:center;padding:0 20px;font-weight:700;display:flex}#account-menu-close{color:inherit;cursor:pointer;background:0 0;border:0;font-size:30px;line-height:1}#account-menu-content{padding:22px 20px;overflow-y:auto}.account-menu-section{padding-bottom:18px}.account-menu-section h2{font-family:var(--font-display);margin:0 0 14px;font-size:27px;font-weight:600}.account-menu-muted,.account-menu-email{overflow-wrap:anywhere;margin:0 0 15px}.account-menu-muted{color:#555}.account-menu-sign-in{color:#181818;cursor:pointer;background:#fff;border:1px solid #181818;border-radius:5px;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;font-weight:600;display:flex}.account-menu-auth form{grid-template-columns:minmax(0,1fr);gap:10px;width:100%;margin:0;display:grid}.account-menu-auth>h2{margin-bottom:8px}.account-menu-auth-copy{color:#555;font-size:var(--text-small);line-height:var(--line-height-body);margin:0 0 20px}.account-menu-auth label{font-size:var(--text-small);font-weight:600}.account-menu-auth input{color:#181818;width:100%;min-width:0;min-height:48px;font:inherit;box-sizing:border-box;background:#fff;border:1px solid #777;border-radius:5px;padding:11px 12px;display:block}.account-menu-auth input:focus-visible{outline-offset:2px;outline:2px solid #181818}.account-menu-auth-primary,.account-menu-auth-secondary{font:inherit;cursor:pointer}.account-menu-auth-secondary{color:#555;text-align:left;background:0 0;border:0;justify-self:stretch;min-height:44px;padding:9px 0;text-decoration:underline}.account-menu-auth-primary{width:100%;min-height:48px}.account-menu-auth-secondary:hover:not(:disabled){color:#181818}.account-menu-auth-primary:disabled,.account-menu-auth-secondary:disabled{cursor:default;opacity:.72}.account-menu-link,#account-menu-guest-links p{width:100%;color:inherit;text-align:left;font-size:var(--text-body);background:0 0;border:0;padding:14px 0;text-decoration:none;display:block}.account-menu-link{cursor:pointer}#account-menu-guest-links p{margin:0}#account-menu hr{border:0;border-top:1px solid #d8d8d5;margin:5px 0}.account-menu-graves h2{font-family:var(--font-display);margin:0 0 14px;font-size:27px;font-weight:600}.account-menu-grave{border-bottom:1px solid #d8d8d5;padding:14px 0}.account-menu-grave h3{font-family:var(--font-display);margin:0 0 4px;font-size:22px;font-weight:600}.account-menu-grave p{overflow-wrap:anywhere;font-size:var(--text-small);margin:0 0 8px}.account-menu-grave-status{font-weight:600}.account-menu-grave-actions{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:12px;display:grid}.account-menu-grave-action{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#181818;border:1px solid #181818;border-radius:5px;padding:10px 12px;font-weight:600}.account-menu-grave-action-secondary{color:#181818;background:#fff}.account-menu-grave-action:focus-visible,#account-menu-explore:focus-visible{outline-offset:2px;outline:2px solid #181818}.account-menu-confirmation{box-sizing:border-box;color:#181818;background:#fbfbfa;border:1px solid #d8d8d5;border-radius:12px;width:min(420px,100vw - 32px);max-width:100%;padding:22px}.account-menu-confirmation::backdrop{background:#00000073}.account-menu-confirmation h2{font-family:var(--font-display);margin:0 0 10px;font-size:22px}.account-menu-confirmation p{overflow-wrap:anywhere;margin:0;line-height:1.5}.account-menu-confirmation-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.account-menu-confirmation-actions button{color:#181818;min-width:0;min-height:48px;font:inherit;cursor:pointer;overflow-wrap:anywhere;background:#fff;border:1px solid #181818;border-radius:6px;padding:10px 12px}.account-menu-confirmation-actions button.is-destructive{color:#fff;background:#181818}.account-menu-sign-out{color:#742222}.account-menu-error{color:#a32020;font-size:var(--text-small);margin:12px 0 0}#account-toast{z-index:40;color:#181818;max-width:min(420px,100vw - 40px);font-size:var(--text-small);opacity:0;background:#fff;border:1px solid #181818;border-radius:6px;padding:12px 16px;transition:opacity .14s,transform .14s;position:fixed;bottom:20px;right:20px;transform:translateY(8px);box-shadow:0 4px 18px #00000024}#account-toast[hidden]{display:none}#account-toast.is-visible{opacity:1;transform:translateY(0)}#grave-panel{color:#181818;background:#fff;border:2px solid #111;border-radius:12px;width:min(440px,100vw - 32px);padding:18px 18px 12px;display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #1111111a}@media (prefers-reduced-motion:reduce){#account-menu,#account-toast{transition:none}}@media (width<=480px){#account-menu-button{top:10px;right:10px}#account-menu{width:min(380px,92vw)}#account-menu-content{padding:20px 16px}.account-menu-header{padding-left:16px;padding-right:16px}#account-toast{max-width:calc(100vw - 24px);bottom:12px;right:12px}}#grave-panel.is-visible{display:block}#grave-panel-close{cursor:pointer;color:#111827;background:0 0;border:none;font-size:28px;line-height:1;position:absolute;top:10px;right:16px}.grave-id{letter-spacing:-.04em;font-size:clamp(2rem,2vw,2.4rem);font-weight:600;line-height:1.1;font-family:var(--font-display);margin:0 32px 10px 0}.grave-status-row{align-items:center;gap:8px;min-height:28px;margin-top:8px;margin-bottom:8px;display:flex}.grave-status-marker{box-sizing:border-box;background:#dfe7d8;border:2px solid #111;border-radius:50%;width:12px;height:12px;display:inline-block}.grave-status-text{font-size:var(--text-small);font-weight:500}.grave-owner-details{font-size:var(--text-small);background:#f7f7f5;border-left:2px solid #181818;margin:8px 0 12px;padding:10px 12px}.grave-owner-details[hidden],#ceremony-placeholder[hidden],#schedule-ceremony[hidden],#open-ceremony[hidden]{display:none}.grave-owner-details p{margin:0}.grave-owner-details p+p{color:#555;margin-top:4px}.grave-helper{color:#1b1b1b;font-size:var(--text-body);line-height:var(--line-height-body);margin:10px 0 12px}.grave-auth-flow{background:#f7f7f5;border:1px solid #d8d8d5;border-radius:10px;margin:14px 0;padding:14px}.grave-auth-flow[hidden],#grave-email-form[hidden],#grave-code-form[hidden],#grave-terms-step[hidden]{display:none}.grave-auth-flow form{gap:8px;display:grid}.grave-auth-flow label{font-size:var(--text-small);font-weight:600}.grave-auth-flow input{box-sizing:border-box;border:1px solid #777;border-radius:7px;width:100%;padding:10px 12px}#grave-send-code,#grave-verify-code,#view-my-reservation,#grave-confirm-reservation,.account-menu-auth-primary{color:#f5f2ea;cursor:pointer;background:#111;border:2px solid #111;border-radius:999px;padding:10px 16px;font-weight:600}#grave-send-code:disabled,#grave-verify-code:disabled,#view-my-reservation:disabled,#grave-confirm-reservation:disabled{cursor:default;opacity:.6}#view-my-reservation{width:100%;margin-top:10px}#view-my-reservation[hidden]{display:none}.grave-auth-secondary{cursor:pointer;background:0 0;border:none;padding:8px;text-decoration:underline}.grave-flow-message,.grave-flow-error{font-size:var(--text-small);margin:8px 0 0}.grave-flow-error{color:#a32020}.grave-illustration{justify-content:center;align-items:center;width:100%;height:min(360px,45vh);margin-top:8px;margin-bottom:12px;display:flex;position:relative;overflow:hidden}#grave-illustration[hidden]{display:none}.grave-illustration-image{object-fit:contain;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;width:auto;max-width:100%;height:100%;display:block}.grave-illustration-artwork{aspect-ratio:4/5;touch-action:none;-webkit-user-select:none;user-select:none;flex:0 auto;width:auto;max-width:100%;height:100%;transition:transform .12s ease-out;position:relative;transform:scale(1);container-type:inline-size}.grave-inscription{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.grave-inscription[hidden]{display:none}.grave-inscription-line{left:var(--inscription-center-x,50%);width:var(--inscription-width);color:#353535;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);letter-spacing:.01em;line-height:1.1;display:block;position:absolute;overflow:hidden;transform:translate(-50%)}.grave-inscription-line1{top:var(--line1-y);font-size:clamp(10px, var(--line1-size,4cqw), 16px);font-weight:600}.grave-inscription-line2{top:var(--line2-y);font-size:clamp(9px, var(--line2-size,3cqw), 13px);font-weight:500}#reserve-plot,#grave-panel-close-secondary{border:2px solid #111;border-radius:500px}#reserve-plot{color:#f5f2ea;width:100%;font-family:var(--font-ui);font-size:var(--text-button);letter-spacing:-.02em;cursor:pointer;text-align:center;background:#111;border:2px solid #111;border-radius:500px;justify-content:center;align-items:center;gap:10px;padding:14px 18px;font-weight:600;display:inline-flex}#schedule-ceremony,#open-ceremony{color:#f5f2ea;width:100%;font-family:var(--font-ui);font-size:var(--text-button);cursor:pointer;background:#111;border:2px solid #111;border-radius:500px;justify-content:center;align-items:center;gap:10px;margin-top:10px;padding:14px 18px;font-weight:600;display:inline-flex}#schedule-ceremony span,#open-ceremony span[aria-hidden]{font-size:1.5rem;line-height:1}#reserve-plot[hidden]{display:none}#reserve-plot span{font-size:1.5rem;line-height:1;display:inline-block}.grave-close-link{color:#111;width:100%;font-family:var(--font-ui);font-size:var(--text-body);cursor:pointer;background:0 0;border:1px solid #111;border-radius:999px;margin-top:12px;padding:10px 0;font-weight:600;display:block}#entry-screen{z-index:60;color:#181818;text-align:center;background:#fbfbfa;justify-content:center;align-items:center;transition:opacity .28s;display:flex;position:fixed;inset:0}#entry-screen[hidden]{display:none}#entry-screen.is-leaving{opacity:0;pointer-events:none}.entry-content{box-sizing:border-box;max-width:100%;padding:24px}.entry-logo{width:min(130px,29vw);height:auto;margin:0 auto;display:block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}#entry-title{letter-spacing:.08em;margin:4px 0 6px;font-size:32px;font-weight:500}.entry-content p{color:#6b6b68;margin:0 0 28px}#enter-gravecloud{color:#181818;cursor:pointer;background:#fff;border:1px solid #181818;border-radius:999px;min-height:44px;padding:10px 26px}#enter-gravecloud:hover,#enter-gravecloud:focus-visible{color:#fff;background:#181818}#scene-fade{z-index:50;opacity:0;pointer-events:none;background:#fbfbfa;transition:opacity .2s;position:fixed;inset:0}#scene-fade.is-covering{opacity:1;pointer-events:auto}#return-to-world{z-index:20;color:#181818;min-height:44px;font-size:var(--text-small);cursor:pointer;background:#fff;border:1px solid #181818;border-radius:999px;padding:9px 14px;font-weight:600;position:fixed;top:16px;left:18px}#return-to-world[hidden],#world-nav[hidden]{display:none}.world-nav-button{z-index:20;color:#181818;cursor:pointer;opacity:0;pointer-events:none;background:#fff;border:1px solid #181818;border-radius:999px;min-height:44px;padding:9px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.world-nav-button:focus-visible{opacity:1;pointer-events:auto}body[data-shell-mode=entry] #account-menu-button,body[data-shell-mode=entry] #account-menu,body[data-shell-mode=world] #grave-panel,body[data-shell-mode=world] #plot-inventory-status{visibility:hidden;pointer-events:none}#lifecycle-screen{z-index:70;box-sizing:border-box;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));color:#181818;text-align:center;background:#fbfbfa;justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow-y:auto}html[data-route=lifecycle] #lifecycle-screen{display:flex}#lifecycle-screen[hidden],html[data-route=lifecycle] #lifecycle-screen[hidden]{display:none}.lifecycle-content{box-sizing:border-box;width:100%;max-width:420px}.lifecycle-content h1{margin:0 0 12px;font-size:24px;font-weight:500;line-height:1.3}.lifecycle-content p{color:#6b6b68;overflow-wrap:anywhere;margin:0 0 24px}.lifecycle-action{box-sizing:border-box;color:#181818;width:100%;max-width:280px;min-height:48px;font:inherit;cursor:pointer;background:#fff;border:1px solid #181818;border-radius:999px;margin:12px auto 0;padding:10px 22px;display:block}.lifecycle-action:hover,.lifecycle-action:focus-visible{color:#fff;background:#181818}.lifecycle-content .lifecycle-countdown{color:#181818;font-variant-numeric:tabular-nums;margin:0 0 24px;font-size:clamp(32px,11vw,48px);font-weight:500;line-height:1.1}.lifecycle-inscription{border-top:1px solid #d8d8d4;border-bottom:1px solid #d8d8d4;margin:0 0 24px;padding:16px 12px}.lifecycle-inscription p{color:#181818;margin:0;font-size:18px}.lifecycle-inscription p+p{margin-top:4px}html[data-route=lifecycle] #entry-screen{display:none}#ceremony-wizard{z-index:80;box-sizing:border-box;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));overscroll-behavior:contain;color:#181818;background:#fbfbfa;justify-content:center;display:flex;position:fixed;inset:0;overflow-y:auto}.wizard-content{box-sizing:border-box;width:100%;max-width:440px;margin:auto 0}.wizard-progress{color:#6b6b68;margin:0 0 8px;font-size:14px}.wizard-content h1{outline:none;margin:0 0 20px;font-size:24px;font-weight:500;line-height:1.3}.wizard-body{gap:16px;display:grid}.wizard-field,.wizard-fieldset{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.wizard-field[hidden]{display:none}.wizard-field input[type=text],.wizard-field input[type=datetime-local],.wizard-field textarea{box-sizing:border-box;color:#181818;width:100%;min-height:48px;font:inherit;background:#fff;border:1px solid #181818;border-radius:8px;padding:10px 12px;font-size:16px}.wizard-field input[type=file]{max-width:100%;font:inherit}.wizard-field small,.wizard-hint{color:#6b6b68;overflow-wrap:anywhere;margin:0;font-size:14px}.wizard-choice{align-items:center;gap:10px;min-height:44px;display:flex}.wizard-choice input{width:20px;height:20px;margin:0}.wizard-review{gap:12px;margin:0;display:grid}.wizard-review-row{border-bottom:1px solid #d8d8d4;padding-bottom:10px}.wizard-review dt{color:#6b6b68;font-size:14px}.wizard-review dd{overflow-wrap:anywhere;margin:2px 0 0}.wizard-error{color:#9b1c1c;overflow-wrap:anywhere;margin:16px 0 0}.wizard-actions{gap:12px;margin-top:24px;display:flex}.wizard-actions button{color:#181818;min-width:0;min-height:48px;font:inherit;cursor:pointer;background:#fff;border:1px solid #181818;border-radius:999px;flex:1;padding:10px 12px}.wizard-actions .wizard-primary{color:#fff;background:#181818}.wizard-actions button:disabled{opacity:.5;cursor:default}.lifecycle-live{letter-spacing:.04em;margin:12px 0;font-size:1.125rem}.live-ceremony{background:#fafaf8;position:fixed;inset:0;overflow:hidden}.live-canvas{width:100%;height:100%;display:block}.live-title{top:max(16px, env(safe-area-inset-top));text-align:center;letter-spacing:.06em;color:#6b6b6b;pointer-events:none;margin:0;font-size:.8125rem;position:absolute;left:16px;right:16px}.live-asset-error{text-align:center;color:#141414;margin:0;position:absolute;top:50%;left:16px;right:16px;transform:translateY(-50%)}.live-back{left:12px;bottom:max(16px, env(safe-area-inset-bottom));color:#141414;min-height:44px;font:inherit;cursor:pointer;background:#fafaf8;border:1px solid #141414;border-radius:999px;padding:10px 16px;font-size:.875rem;position:absolute}.legal-links{flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:20px;font-size:13px;display:flex}.legal-links a,.legal-footer a,.legal-back{color:inherit;opacity:.7;text-decoration:underline}.legal-links a:hover,.legal-footer a:hover,.legal-back:hover{opacity:1}#legal-page{z-index:100;-webkit-overflow-scrolling:touch;color:#181818;background:#fbfbfa;font-family:Arial,sans-serif;position:fixed;inset:0;overflow:hidden auto}.legal-document{box-sizing:border-box;overflow-wrap:anywhere;width:100%;max-width:720px;margin:0 auto;padding:20px 18px 56px;font-size:16px;line-height:1.6}.legal-document h1{margin:20px 0 8px;font-size:26px;line-height:1.25}.legal-document h2{margin:32px 0 8px;font-size:19px;line-height:1.3}.legal-document p{margin:0 0 12px}.legal-document ul{margin:0 0 12px;padding-left:22px}.legal-document li{margin-bottom:4px}.legal-back{padding:8px 0;font-size:14px;display:inline-block}.legal-footer{border-top:1px solid #d8d8d5;flex-wrap:wrap;gap:8px 20px;margin-top:40px;padding-top:16px;font-size:14px;display:flex}#account-menu-legal-links{justify-content:flex-start;margin:24px 0 0}.grave-terms-step{gap:10px;display:grid}.grave-auth-flow .grave-terms-label{align-items:flex-start;gap:10px;min-height:44px;line-height:1.4;display:flex}.grave-auth-flow .grave-terms-label input{flex:none;width:22px;height:22px;margin:0;padding:0}.grave-terms-step a{color:inherit;padding:4px 0;text-decoration:underline}.grave-terms-privacy{font-size:var(--text-small);overflow-wrap:anywhere;margin:0}#grave-confirm-reservation{width:100%}#grave-confirm-reservation:disabled{background:#8a8a86;border-color:#8a8a86}
