.page-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;padding:5rem 1rem 2rem;background:#0a0c12bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-y:auto;font-family:Montserrat,sans-serif;color:var(--ivory-bright)}.page-panel{width:min(720px,100%);background:#0a0c12d9;border:1px solid rgba(217,191,143,.5);border-radius:6px;padding:2.5rem;box-shadow:0 10px 50px #0009;position:relative;display:flex;flex-direction:column;gap:1.5rem}.page-close{position:absolute;top:1.5rem;right:1.5rem;background:transparent;border:1px solid rgba(217,191,143,.4);color:var(--ivory-bright);font-family:Montserrat,sans-serif;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;padding:.5rem 1rem;border-radius:999px;cursor:pointer;transition:all .3s ease}.page-close:hover{background:#d9bf8f40;border-color:var(--champagne-bright)}.page-header{text-align:center;margin-bottom:1rem}.page-header h2{font-family:Cormorant Garamond,serif;color:var(--champagne-bright);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:1.8rem}.page-header p{font-size:.75rem;letter-spacing:.08em;color:#f7f1e6b3;margin-top:.5rem;line-height:1.5}.search-input-wrapper{display:flex;flex-direction:column;gap:.5rem}.search-input{width:100%;background:#ffffff0a;border:1px solid rgba(217,191,143,.3);border-radius:4px;color:var(--ivory-bright);font-family:Montserrat,sans-serif;font-size:1rem;padding:1rem;outline:none}.search-input:focus{border-color:var(--champagne-bright)}.results-list{display:flex;flex-direction:column;gap:1rem}.result-card{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.5rem;background:#ffffff05;border:1px solid rgba(217,191,143,.2);border-radius:4px;text-decoration:none;color:var(--ivory-bright);transition:all .3s ease}.result-card:hover{background:#d9bf8f14;border-color:var(--champagne-bright)}.result-title{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:500;letter-spacing:.05em;color:var(--champagne-bright)}.result-meta{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#f7f1e699}.timeline-list{display:flex;flex-direction:column;gap:1.5rem;position:relative;margin-top:1rem}.timeline-list:before{content:"";position:absolute;top:0;bottom:0;left:1rem;width:1px;background:linear-gradient(to bottom,#d9bf8f1a,#d9bf8f66,#d9bf8f1a)}.timeline-item{position:relative;padding-left:3rem}.timeline-item:before{content:"";position:absolute;top:.5rem;left:.75rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--champagne-bright);box-shadow:0 0 10px var(--champagne-bright)}.timeline-card{background:#ffffff08;border:1px solid rgba(217,191,143,.2);padding:1.25rem;border-radius:4px;display:flex;flex-direction:column;gap:.5rem;transition:all .3s}.timeline-card:hover{border-color:#d9bf8f66;background:#ffffff0d}.timeline-card p{font-family:Cormorant Garamond,serif;font-size:1.2rem;font-style:italic;line-height:1.5}.timeline-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--champagne)}.timeline-card-meta a{color:var(--ivory-bright);text-decoration:none;border-bottom:1px solid transparent;transition:border .3s}.timeline-card-meta a:hover{border-color:var(--ivory-bright)}.loading-state,.error-state,.empty-state{text-align:center;padding:3rem 1rem;color:#f7f1e699;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.error-state{color:#ffd6d6}@media(max-width:768px){.page-panel{padding:1.5rem}.page-close{top:1rem;right:1rem;padding:.4rem .8rem;font-size:.5rem}.page-header h2{font-size:1.4rem}.timeline-item{padding-left:2rem}.timeline-list:before{left:.5rem}.timeline-item:before{left:.25rem}}.ceremony-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background:#0a0c12f2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);overflow-y:auto;font-family:Montserrat,sans-serif;color:var(--ivory-bright)}.ceremony-panel{width:min(640px,100%);display:flex;flex-direction:column;gap:2rem;position:relative;padding:2rem 1.5rem;margin:auto}.ceremony-close{position:absolute;top:-2rem;right:1rem;background:transparent;border:none;color:#f7f1e666;font-family:Montserrat,sans-serif;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:color .3s ease;padding:.5rem}@media(min-width:768px){.ceremony-close{top:0;right:0}}.ceremony-close:hover,.ceremony-close:focus-visible{color:var(--champagne-bright);outline:none}.ceremony-close:focus-visible{text-decoration:underline}.ceremony-header{text-align:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.ceremony-header h2{font-family:Cormorant Garamond,serif;color:var(--champagne-bright);font-weight:300;font-size:2.4rem;letter-spacing:.05em;margin:0}.ceremony-header p{font-size:.8rem;letter-spacing:.05em;color:#f7f1e680;margin:0;text-transform:uppercase}.ceremony-form{display:flex;flex-direction:column;gap:3rem}.ceremony-field{display:flex;flex-direction:column;gap:1rem}.ceremony-label{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#d9bf8fb3;display:flex;justify-content:space-between}.ceremony-optional{color:#f7f1e64d}.ceremony-textarea,.ceremony-input{background:transparent;border:none;border-bottom:1px solid rgba(217,191,143,.2);color:var(--ivory-bright);outline:none;padding:.5rem 0;border-radius:0;transition:border-color .4s ease}.ceremony-textarea{font-family:Cormorant Garamond,serif;font-size:1.4rem;min-height:140px;resize:vertical;line-height:1.5}.ceremony-input{font-family:Montserrat,sans-serif;font-size:1rem}.ceremony-textarea:focus,.ceremony-input:focus{border-bottom-color:var(--champagne-bright)}.ceremony-textarea:focus-visible,.ceremony-input:focus-visible{outline:2px solid rgba(217,191,143,.75);outline-offset:5px}.ceremony-textarea::placeholder,.ceremony-input::placeholder{color:#f7f1e626;font-style:italic}.ceremony-actions{display:flex;justify-content:center;align-items:center;margin-top:1rem;min-height:160px}.ceremony-error{color:#ffb3b3;font-size:.8rem;text-align:center;padding:1rem;border:1px solid rgba(255,179,179,.2);background:#ffb3b30d;border-radius:4px}.hold-button-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem}.hold-button{background:#0a0c12cc;border:1px solid rgba(217,191,143,.3);color:var(--champagne-bright);width:130px;height:130px;border-radius:50%;font-family:Montserrat,sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;outline:none;transition:border-color .4s ease,transform .4s cubic-bezier(.2,.8,.2,1);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;display:flex;align-items:center;justify-content:center}.hold-button:focus-visible{border-color:var(--champagne-bright);box-shadow:0 0 0 2px #0a0c12,0 0 0 4px #d9bf8f66}.hold-button:disabled{opacity:.4;cursor:not-allowed;border-color:#d9bf8f1a}.hold-button-fill{position:absolute;bottom:0;left:0;right:0;background:#d9bf8f33;transform-origin:bottom;z-index:0}.hold-button-text{position:relative;z-index:1;transition:opacity .3s;text-align:center;line-height:1.4}@media(prefers-reduced-motion:reduce){.hold-button,.hold-button-fill{transition:none}}.lifecycle-container{display:flex;flex-direction:column;align-items:center;gap:4rem;width:100%}.lifecycle-visual{position:relative;width:220px;height:220px;display:flex;align-items:center;justify-content:center}.lifecycle-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px dashed rgba(217,191,143,.2)}.lifecycle-ring-active{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;border:1px solid transparent;border-top-color:var(--champagne-bright);opacity:0;transform:rotate(-90deg);transition:opacity 1s ease}@media(prefers-reduced-motion:no-preference){.lifecycle-ring-active.is-spinning{animation:gentle-spin 6s linear infinite;opacity:.5}}@keyframes gentle-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}.lifecycle-core{border-radius:50%;background:var(--champagne-bright);box-shadow:0 0 15px #d9bf8f4d;transition:all 2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.lifecycle-core.stage-written{width:6px;height:6px;opacity:.3}.lifecycle-core.stage-planted{width:12px;height:12px;opacity:.5}.lifecycle-core.stage-sprouting{width:18px;height:24px;border-radius:50% 50% 4px 4px;opacity:.7}.lifecycle-core.stage-growing{width:24px;height:40px;border-radius:50% 50% 2px 2px;opacity:.85}.lifecycle-core.stage-blooming{width:40px;height:40px;background:radial-gradient(circle at center,var(--ivory-bright) 0%,var(--champagne-bright) 100%);opacity:1}.lifecycle-core.stage-complete{width:140px;height:140px;background:radial-gradient(circle at center,#ffffff 0%,rgba(217,191,143,.2) 60%,transparent 100%);box-shadow:0 0 50px #d9bf8f66;border:1px solid rgba(217,191,143,.1)}.lifecycle-text-area{display:flex;flex-direction:column;gap:1rem;align-items:center;min-height:80px}.lifecycle-message{font-family:Cormorant Garamond,serif;font-size:2rem;color:var(--champagne-bright);font-weight:300;text-align:center;transition:opacity .5s ease;letter-spacing:.02em}.lifecycle-subtext{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#f7f1e666;text-align:center;max-width:80%;line-height:1.5}.ceremony-return{background:transparent;border:1px solid rgba(217,191,143,.3);color:var(--champagne-bright);font-family:Montserrat,sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding:1rem 2.5rem;cursor:pointer;transition:all .4s ease;border-radius:2px}.ceremony-return:hover,.ceremony-return:focus-visible{background:#d9bf8f14;border-color:var(--champagne-bright)}.ceremony-return:focus-visible{outline:2px solid var(--champagne-bright);outline-offset:4px}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-in-up 1.5s cubic-bezier(.2,.8,.2,1) forwards}.loading-quiet{font-family:Montserrat,sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#d9bf8f80;animation:pulse-opacity 2s infinite alternate}@keyframes pulse-opacity{0%{opacity:.3}to{opacity:.8}}.seed-ascension-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 72%,rgba(192,144,76,.16),transparent 34%),linear-gradient(180deg,#080a0feb,#0c0b0dfa);color:var(--ivory-bright);isolation:isolate}.seed-ceremony-film{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;background:#e8e0d4}.seed-ceremony-video,.seed-ceremony-poster{width:100%;height:100%;object-fit:cover;object-position:center}.seed-ceremony-poster{display:none}.seed-ascension-light{position:absolute;left:50%;bottom:9%;width:min(34rem,92vw);aspect-ratio:1;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle,rgba(243,215,155,.2),rgba(200,154,86,.05) 42%,transparent 70%);filter:blur(8px);animation:seedLightBreathe 2.4s ease-in-out infinite alternate}.seed-ascension-path{position:relative;width:min(17rem,70vw);height:min(29rem,58vh)}.seed-ascension-path:before{content:"";position:absolute;left:50%;top:5%;bottom:7%;width:1px;transform:translate(-50%);background:linear-gradient(to top,rgba(217,191,143,.08),rgba(247,236,205,.56),transparent)}.seed-ascension-seed{position:absolute;left:50%;bottom:7%;width:2.5rem;height:3.3rem;transform:translate(-50%) rotate(16deg);border:1px solid rgba(247,226,181,.72);border-radius:54% 46% 58% 42%/62% 48% 52% 38%;background:linear-gradient(145deg,#e9d2a2,#987041 68%,#4d3522);box-shadow:0 0 1.5rem #e7c58252;animation:seedReceive 1.15s ease-in-out infinite alternate}.is-ascending .seed-ascension-seed{animation:seedAscend 7.2s cubic-bezier(.35,.05,.18,1) forwards}.seed-ascension-core{position:absolute;top:27%;right:27%;bottom:27%;left:27%;border-radius:50%;background:#fff8e8;box-shadow:0 0 1rem #f0cd84,0 0 2.7rem #e5b765b8}.seed-ascension-particle{position:absolute;left:50%;bottom:10%;width:.25rem;height:.25rem;border-radius:50%;background:#f7e4ba;box-shadow:0 0 .7rem #e8bd74;opacity:0;animation:seedParticle 3.2s ease-in infinite}.seed-ascension-particle.particle-one{margin-left:-3rem;animation-delay:.2s}.seed-ascension-particle.particle-two{margin-left:2.5rem;animation-delay:.85s}.seed-ascension-particle.particle-three{margin-left:-1.25rem;animation-delay:1.5s}.seed-ascension-particle.particle-four{margin-left:4rem;animation-delay:2.1s}.seed-ascension-copy{position:absolute;left:1.5rem;right:1.5rem;bottom:max(3rem,env(safe-area-inset-bottom));display:grid;gap:.65rem;text-align:center}.seed-ascension-copy span{color:#d9bf8fad;font:500 .58rem Montserrat,sans-serif;letter-spacing:.23em;text-transform:uppercase}.seed-ascension-copy strong{color:var(--ivory-bright);font:400 clamp(1.5rem,6vw,2.4rem) "Cormorant Garamond",serif;letter-spacing:.04em}@keyframes seedReceive{0%{transform:translate(-50%) rotate(12deg) scale(.94);filter:brightness(.86)}to{transform:translate(-50%) rotate(18deg) scale(1.04);filter:brightness(1.16)}}@keyframes seedAscend{0%{bottom:7%;transform:translate(-50%) rotate(16deg) scale(.76);opacity:.78}18%{opacity:1}74%{transform:translate(-50%) rotate(-8deg) scale(1.08)}to{bottom:88%;transform:translate(-50%) rotate(4deg) scale(.42);opacity:0}}@keyframes seedParticle{0%{transform:translateZ(0) scale(.4);opacity:0}18%{opacity:.85}to{transform:translate3d(1rem,-18rem,0) scale(.1);opacity:0}}@keyframes seedLightBreathe{0%{opacity:.58;transform:translate(-50%) scale(.88)}to{opacity:1;transform:translate(-50%) scale(1.08)}}@media(prefers-reduced-motion:reduce){.seed-ceremony-video{display:none}.seed-ceremony-poster{display:block}.seed-ascension-light,.seed-ascension-seed,.seed-ascension-particle{animation:none}.is-ascending .seed-ascension-seed{bottom:52%;opacity:1}}.realistic-rose-container{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .3s ease}.realistic-rose-container.size-sm{width:4rem;height:4.8rem}.realistic-rose-container.size-md{width:8rem;height:9.6rem}.realistic-rose-container.size-lg{width:14rem;height:16.8rem}.realistic-rose-container.size-xl{width:100%;max-width:20rem;aspect-ratio:10 / 12}.rose-niche-svg{width:100%;height:100%;display:block}.realistic-rose-container.state-unavailable{opacity:.5;filter:grayscale(80%);cursor:not-allowed}.realistic-rose-container.state-default:hover,.realistic-rose-container.state-focused{transform:scale(1.05);z-index:2}.realistic-rose-container.state-selected{transform:scale(1.08);filter:drop-shadow(0 0 16px rgba(232,210,168,.4));z-index:3}.realistic-rose-container:focus-visible{outline:2px solid var(--champagne-bright);outline-offset:4px;border-radius:4px}@media(prefers-reduced-motion:reduce){.realistic-rose-container{transition:opacity .3s ease}.realistic-rose-container.state-default:hover,.realistic-rose-container.state-focused,.realistic-rose-container.state-selected{transform:none}}.memorial-wall-panel{position:absolute;top:7rem;bottom:6.5rem;left:clamp(1rem,4vw,4rem);width:min(400px,calc(100vw - 8rem));background:linear-gradient(135deg,#fffcf4f7,#e2d3b5f5),var(--marble);border:1px solid rgba(255,251,238,.95);border-radius:2px;padding:1.35rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 24px 70px #060c1c6b,inset 0 0 0 5px #c9a86a61,inset 0 0 0 6px #5b472738;z-index:100;overflow-y:auto}.memorial-wall-panel:before{content:"";position:absolute;top:.65rem;right:.65rem;bottom:.65rem;left:.65rem;border:1px solid rgba(136,101,46,.25);pointer-events:none}.panel-header{display:flex;justify-content:space-between;align-items:center}.panel-header h3{color:var(--night-navy);font-size:1.4rem;letter-spacing:.1em;margin:0}.panel-kicker{display:block;margin-bottom:.2rem;color:#795d2f;font-size:.52rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.panel-close-btn{background:transparent;border:1px solid rgba(217,191,143,.4);color:var(--night-navy);font-family:Montserrat,sans-serif;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;padding:.4rem .8rem;border-radius:999px;cursor:pointer;transition:all .3s ease}.panel-close-btn:hover{background:#c9a86a33;border-color:#795d2f}.wayfinding-controls{display:flex;flex-direction:column;gap:.5rem}.wayfinding-controls label{color:var(--night-navy);font:600 .62rem Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase}.wayfinding-controls p{color:#0f1a33b3;font:400 .65rem/1.45 Montserrat,sans-serif}.find-rose-select{width:100%;background:#fffcf4b8;border:1px solid rgba(121,93,47,.42);border-radius:4px;color:var(--night-navy);font-family:Montserrat,sans-serif;font-size:.85rem;padding:.8rem;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.find-rose-select:focus{border-color:#795d2f;box-shadow:0 0 0 2px #c9a86a47}.find-rose-select option{background:#110d0a;color:var(--ivory-bright)}.rose-walls{display:flex;flex-direction:column;gap:1rem}.rose-wall{border:1px solid rgba(121,93,47,.35);padding:.65rem}.rose-wall>h4,.rose-panel-label{color:var(--night-navy);font:600 .58rem Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase}.rose-wall.is-selected{border-color:#9b7437;box-shadow:0 0 0 2px #c9a86a47}.rose-wall-section{margin-top:.7rem;padding:.5rem;border:1px solid transparent}.rose-wall-section.is-selected{border-color:#c9a86acc;background:#c9a86a1f}.rose-panel-label{display:block;margin-bottom:.4rem}.rose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;padding:1rem;background:linear-gradient(#090e1cf0,#0f1a33fa),var(--night-navy);border-radius:2px;border:1px solid rgba(121,93,47,.62);box-shadow:inset 0 8px 24px #00000061}.wall-panel-state{padding:1rem;border:1px solid rgba(121,93,47,.35);background:#fffcf48a;color:var(--night-navy);font:400 .72rem/1.6 Montserrat,sans-serif}.wall-panel-state strong{display:block;margin-bottom:.25rem}.wall-panel-state.is-error{color:#752f2f}.wall-panel-link{display:inline-block;margin-top:.8rem;color:#67491f;font:600 .58rem Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase}.selected-rose-details{animation:fade-in .4s ease}.selected-rose-details .memory-card{border-color:#795d2f4d;background:#fffcf48a;color:var(--night-navy)}.selected-rose-details .memory-card strong{display:block;margin-bottom:.35rem;color:#795d2f;font:600 .58rem Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase}.selected-rose-details .memory-card.empty p{opacity:.7;font-style:italic}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.centered-rose-lg{display:flex;justify-content:center;margin-bottom:2rem}.rose-link-inline{text-decoration:none;border-bottom:none;display:flex;align-items:center;gap:.5rem}.rose-link-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--champagne-bright)}.ceremony-container{margin:2rem 0;display:flex;flex-direction:column;align-items:center;gap:1rem}.ceremony-message{margin-top:1.5rem}.ceremony-complete-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}button.realistic-rose-container{background:transparent;border:none;padding:0;cursor:pointer}button.realistic-rose-container:focus-visible{outline:2px solid var(--champagne-bright);outline-offset:4px;border-radius:4px}@media(max-width:768px){.memorial-wall-panel{top:9.5rem;bottom:5.2rem;left:50%;transform:translate(-50%);width:calc(100vw - 2rem);padding:1.25rem 1rem}.rose-grid{gap:.45rem;padding:.75rem}.realistic-rose-container.size-sm{width:3.4rem;height:4.08rem}}:root{--ivory: #f6efe3;--ivory-bright: #fbf7ef;--marble: #efe7d8;--champagne: #d9bf8f;--champagne-bright: #e8d2a8;--gold-line: #c9a86a;--night-navy: #0f1a33;--rose-red: #9c1c2e;--text-light: #f7f1e6}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;height:100%;overflow:hidden;background:#000;font-family:Montserrat,system-ui,sans-serif}.walkthrough-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:#000}.slide{position:absolute;top:-5%;right:-5%;bottom:-5%;left:-5%;background-size:cover;background-position:center;transition:opacity 2s ease-in-out,transform 12s linear;opacity:0;transform:scale(1);pointer-events:none}.slide.active{opacity:1;transform:scale(1.05)}.slide.inactive{opacity:0;transform:scale(1)}.panorama-360{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#17120e}.panorama-360 canvas{display:block;width:100%;height:100%;touch-action:none}.panorama-fallback{width:100%;height:100%;object-fit:cover}.panorama-status,.panorama-hint{position:absolute;left:1rem;z-index:2;color:#f7f1e6d1;text-shadow:0 1px 5px rgba(0,0,0,.9);pointer-events:none;font-family:Montserrat,sans-serif;text-transform:uppercase}.panorama-status{bottom:1rem;font-size:.55rem;letter-spacing:.17em}.panorama-hint{bottom:2.65rem;font-size:.5rem;letter-spacing:.12em}.panorama-hotspot{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .72rem;border:1px solid rgba(232,210,168,.7);border-radius:999px;background:#0a0c12a8;color:var(--ivory-bright);box-shadow:0 5px 24px #00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:500 .56rem Montserrat,sans-serif;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;cursor:pointer}.panorama-hotspot:hover,.panorama-hotspot:focus-visible{background:#d9bf8f42;border-color:var(--ivory-bright)}.panorama-hotspot-dot{width:.42rem;height:.42rem;border-radius:50%;background:var(--champagne-bright);box-shadow:0 0 12px var(--champagne-bright)}@media(prefers-reduced-motion:reduce){.slide{transition:opacity 2s ease-in-out;transform:none!important}.slide.active{transform:none!important}}.ui-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.ui-layer>*{pointer-events:auto}.serif{font-family:Cormorant Garamond,Georgia,serif}.top-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;padding:1.1rem 1.4rem;background:linear-gradient(to bottom,rgba(0,0,0,.72),transparent)}.top-actions{display:flex;gap:1rem;align-items:center}.kimberlyhall-link{text-decoration:none}.brand{font-family:Cormorant Garamond,serif;letter-spacing:.22em;text-transform:uppercase;font-size:.95rem;color:var(--ivory-bright);text-shadow:0 2px 10px rgba(0,0,0,.8)}.location-panel{display:flex;flex-direction:column;gap:.18rem;margin-top:.75rem;width:min(20rem,55vw);color:#f7f1e6d1;text-shadow:0 1px 6px rgba(0,0,0,.9)}.location-panel strong{font-family:Cormorant Garamond,serif;font-weight:500;font-size:1.35rem;letter-spacing:.08em;color:var(--ivory-bright)}.location-panel>span:last-child{font-size:.64rem;line-height:1.45;letter-spacing:.05em}.location-kicker{color:var(--champagne-bright);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase}.mode-toggle{display:flex;align-items:center;gap:.5rem;background:#0a0c1299;border:1px solid rgba(217,191,143,.4);padding:.35rem .4rem;border-radius:999px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mode-btn{border:none;background:transparent;color:var(--ivory-bright);font-family:Montserrat,sans-serif;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:.4rem .9rem;border-radius:999px;cursor:pointer;transition:all .4s ease;opacity:.55}.mode-btn.active{opacity:1;background:linear-gradient(135deg,var(--champagne),var(--gold-line));color:#1a1512;box-shadow:0 0 18px #d9bf8f66}.action-rail{position:absolute;top:50%;left:1.2rem;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;width:12rem}.control-btn{padding:.7rem 1.3rem;background:#0a0c12b3;border:1px solid rgba(217,191,143,.4);color:var(--ivory-bright);font-family:Montserrat,sans-serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:3px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .35s ease;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.5)}.control-btn:hover{background:#d9bf8f40;border-color:var(--champagne-bright);box-shadow:0 0 22px #d9bf8f4d}.action-rail .control-btn{position:relative;width:auto;min-width:11rem;min-height:2.25rem;padding:.48rem .75rem .48rem 1.35rem;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:.56rem;letter-spacing:.14em;text-align:left;opacity:.62}.action-rail .control-btn:before{content:"";position:absolute;left:0;top:50%;width:10px;height:10px;transform:translateY(-50%);border:1px solid var(--champagne);border-radius:50%;background:transparent;box-shadow:0 1px 4px #00000080;transition:all .3s ease}.action-rail .control-btn:hover,.action-rail .control-btn:focus-visible{opacity:1;background:transparent;border-color:transparent;box-shadow:none}.action-rail .control-btn:hover:before,.action-rail .control-btn:focus-visible:before{background:var(--champagne-bright);border-color:var(--ivory-bright);box-shadow:0 0 12px var(--champagne-bright)}.mobile-label{display:none}.nav-btn{position:absolute;top:50%;transform:translateY(-50%);padding:2rem 1rem;background:#0a0c124d;border:1px solid rgba(217,191,143,.2);color:var(--champagne-bright);font-size:2rem;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease;z-index:2}.nav-btn:hover{background:#0a0c1299;border-color:var(--champagne-bright);color:var(--ivory-bright)}.nav-btn.prev{left:0;border-left:none;border-radius:0 6px 6px 0}.nav-btn.next{right:0;border-right:none;border-radius:6px 0 0 6px}.door-hotspot{position:absolute;z-index:4;top:23%;left:36%;width:28%;height:53%;border:1px solid transparent;border-radius:50% 50% 18% 18%;background:transparent;cursor:pointer;touch-action:manipulation}.door-hotspot:hover,.door-hotspot:focus-visible{border-color:#fff8eca6;background:#fff8ec14;box-shadow:0 0 36px #e8d2a859}.floor-rail{position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.5rem}.floor-dot{display:flex;align-items:center;gap:.6rem;cursor:pointer;color:var(--ivory-bright);font-family:Montserrat,sans-serif;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;opacity:.55;transition:opacity .3s ease;justify-content:flex-end;text-shadow:0 1px 4px rgba(0,0,0,.8);background:transparent;border:0;padding:0}.floor-dot:hover,.floor-dot.active{opacity:1}.floor-dot .dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--champagne);background:transparent;transition:all .3s ease;box-shadow:0 1px 4px #00000080}.floor-dot.active .dot{background:var(--champagne-bright);box-shadow:0 0 12px var(--champagne-bright);border-color:var(--ivory-bright)}.viewpoint-strip{position:absolute;left:50%;top:1.25rem;transform:translate(-50%);display:flex;gap:.35rem;padding:.3rem;border:1px solid rgba(217,191,143,.3);border-radius:999px;background:#0a0c1275;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.viewpoint-strip button{border:0;border-radius:999px;padding:.42rem .75rem;color:#f7f1e6b8;background:transparent;cursor:pointer;font-family:Montserrat,sans-serif;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.viewpoint-strip button:hover,.viewpoint-strip button.active{color:#1a1512;background:var(--champagne-bright)}.altar-hotspot{position:absolute;z-index:3;top:61%;left:42%;width:16%;height:24%;border:1px solid transparent;border-radius:50%;background:transparent;cursor:pointer}.altar-hotspot:hover,.altar-hotspot:focus-visible{border-color:#fff8eca6;background:#fff8ec12;box-shadow:0 0 32px #e8d2a847}.write-panel{position:absolute;bottom:5.5rem;left:50%;transform:translate(-50%);width:min(520px,92vw);background:#0a0c12cc;border:1px solid rgba(217,191,143,.5);border-radius:6px;padding:1.4rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 10px 50px #0009}.write-panel h3{font-family:Cormorant Garamond,serif;color:var(--champagne-bright);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:1.1rem;margin-bottom:.9rem;text-align:center}.write-panel textarea{width:100%;min-height:100px;background:#ffffff0a;border:1px solid rgba(217,191,143,.3);border-radius:4px;color:var(--ivory-bright);font-family:Cormorant Garamond,serif;font-size:1.1rem;padding:.8rem;resize:none;outline:none}.write-panel textarea::placeholder{color:#f7f1e666;font-style:italic}.write-actions{display:flex;gap:.6rem;margin-top:.9rem;justify-content:flex-end}.write-error,.memory-status{color:var(--ivory-bright);font:500 .68rem/1.45 Montserrat,sans-serif;letter-spacing:.04em;text-align:center}.write-error,.memory-status.error{color:#ffd6d6}.write-error{margin-top:.7rem}.control-btn:disabled{cursor:wait;opacity:.48}.memories-overlay{position:absolute;top:15%;bottom:20%;left:2rem;width:min(340px,80vw);overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-right:1rem;mask-image:linear-gradient(to bottom,transparent,black 5%,black 90%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 5%,black 90%,transparent)}.memory-card{background:#0a0c1299;border:1px solid rgba(217,191,143,.3);padding:1.4rem;border-radius:4px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ivory-bright)}.memory-card p{font-family:Cormorant Garamond,serif;font-size:1.2rem;font-style:italic;margin-bottom:.6rem;line-height:1.4}.memory-card span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--champagne-bright)}.memories-close{display:none}.memories-overlay::-webkit-scrollbar{width:4px}.memories-overlay::-webkit-scrollbar-thumb{background:#d9bf8f4d;border-radius:4px}.shared-rose-memory{width:min(13rem,62vw);padding:.72rem .85rem;border:1px solid rgba(217,191,143,.58);border-radius:.3rem;background:#0a0c12e0;color:var(--ivory-bright);box-shadow:0 8px 30px #0000006b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;pointer-events:none}.shared-rose-memory p{font:italic 1rem/1.35 Cormorant Garamond,serif}.shared-rose-memory span{display:block;margin-top:.35rem;color:var(--champagne-bright);font:500 .48rem Montserrat,sans-serif;letter-spacing:.13em;text-transform:uppercase}button:focus-visible,textarea:focus-visible{outline:2px solid var(--champagne-bright);outline-offset:3px}@media(max-width:768px){.floor-rail{display:none}.nav-btn{padding:1.5rem .5rem;font-size:1.5rem}.memories-overlay{display:none;left:50%;transform:translate(-50%);top:10.5rem;bottom:5.2rem;align-items:center;width:calc(100vw - 3.4rem);padding:2.7rem .35rem .7rem}.memories-overlay.mobile-open{display:flex}.memory-card{width:100%;text-align:center}.memories-close{display:block;position:sticky;top:0;align-self:flex-end;margin:-2rem .35rem .35rem 0;padding:.45rem .7rem;border:1px solid rgba(217,191,143,.48);border-radius:999px;background:#0a0c12db;color:var(--ivory-bright);font:500 .52rem Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.control-btn{padding:.6rem .9rem;font-size:.6rem}.full-label{display:none}.mobile-label{display:inline}.brand{font-size:.8rem}.top-bar{padding:.9rem .8rem}.top-actions{gap:.35rem}.kimberlyhall-link{position:fixed;left:.65rem;bottom:calc(4.4rem + env(safe-area-inset-bottom));z-index:36;padding:.62rem .78rem;border-color:#f7e5bf9e;background:#0a0c12d1;box-shadow:0 0 22px #d9bf8f29}.location-panel{width:min(16rem,70vw)}.location-panel strong{font-size:1.08rem}.location-panel>span:last-child{display:none}.mode-toggle{gap:.15rem;margin-top:.1rem;padding:.22rem}.mode-btn{padding:.36rem .52rem;font-size:.54rem;letter-spacing:.1em}.viewpoint-strip{top:6.85rem;max-width:92vw;overflow-x:auto}.action-rail{top:auto;left:auto;right:.55rem;bottom:4.4rem;transform:none;width:7.2rem;gap:.15rem;align-items:flex-start}.action-rail .control-btn{min-width:0;width:100%;min-height:2.25rem;padding:.42rem .2rem .42rem 1.1rem;font-size:.48rem;letter-spacing:.13em}.action-rail .control-btn:before{width:8px;height:8px}.door-hotspot{top:22%;left:28%;width:44%;height:56%}.altar-hotspot{top:59%;left:34%;width:32%;height:24%}.panorama-status{display:none}.panorama-hint{bottom:.75rem;left:.7rem;max-width:9rem;font-size:.45rem;line-height:1.35}.panorama-hotspot{gap:.32rem;padding:.42rem .58rem;font-size:.48rem;letter-spacing:.1em}.shared-rose-memory{width:min(11.5rem,58vw)}}
