*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f7f2ee;--ivory:#faf6f2;--blush:#e8c4c4;--rose:#c9899a;--dusty-rose:#b07080;--deep-mauve:#6b4555;--warm-grey:#6b635c;--charcoal:#3a3530;--sage:#8a9a7a}html{scroll-behavior:smooth}body{background-color:var(--cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 25% 20%,#e8c4c414 0%,#0000 50%),radial-gradient(at 75% 80%,#c8d8b00f 0%,#0000 50%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' opacity='0.025'%3E%3Cpath d='M30,8 C33,16 38,20 38,26 C38,32 33,35 30,42 C27,35 22,32 22,26 C22,20 27,16 30,8Z' fill='%238c8078'/%3E%3Cpath d='M30,18 C31,22 34,24 34,27 C34,30 31,32 30,36 C29,32 26,30 26,27 C26,24 29,22 30,18Z' fill='%238c8078'/%3E%3C/svg%3E");justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;font-family:EB Garamond,Georgia,serif;display:flex}.skip-link{background:var(--deep-mauve);color:var(--ivory);z-index:1000;border-radius:0 0 6px 6px;padding:8px 16px;font-size:14px;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:50%;transform:translate(-50%)}.skip-link:focus{top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--dusty-rose);outline-offset:2px;border-radius:2px}.petal{pointer-events:none;opacity:0;z-index:100;animation:linear infinite petalFall;position:fixed}.petal svg{display:block}@keyframes petalFall{0%{opacity:0;transform:translateY(-60px)translate(0)rotate(0)scale(.8)}8%{opacity:.7}30%{opacity:.65;transform:translateY(30vh)translate(15px)rotate(90deg)scale(1)}60%{opacity:.5;transform:translateY(65vh)translate(-10px)rotate(200deg)scale(.9)}90%{opacity:.3}to{opacity:0;transform:translateY(110vh)translate(8px)rotate(360deg)scale(.7)}}.card{contain:layout style;background:var(--ivory);opacity:0;border-radius:16px;width:100%;max-width:560px;animation:1.4s cubic-bezier(.22,1,.36,1) .3s forwards cardReveal;position:relative;overflow:hidden;transform:translateY(24px);box-shadow:0 12px 60px #5a323c1f,0 2px 8px #5a323c0f}@keyframes cardReveal{to{opacity:1;transform:translateY(0)}}.card:before{content:"";pointer-events:none;z-index:10;border:1px solid #c8beb440;border-radius:12px;position:absolute;inset:7px}.floral-top{background:linear-gradient(160deg,#d4a0ae 0%,#e8c4c4 40%,#c9d4b8 100%);justify-content:center;align-items:center;width:100%;height:120px;display:flex;position:relative;overflow:hidden}.floral-top:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='120'%3E%3Cellipse cx='30' cy='60' rx='28' ry='18' fill='%23e8d0d8' opacity='.4' transform='rotate(-20 30 60)'/%3E%3Cellipse cx='80' cy='35' rx='22' ry='14' fill='%23f0dce2' opacity='.5' transform='rotate(15 80 35)'/%3E%3Cellipse cx='140' cy='70' rx='30' ry='16' fill='%23dde8d0' opacity='.4' transform='rotate(-10 140 70)'/%3E%3Cellipse cx='180' cy='30' rx='18' ry='12' fill='%23e8d0d8' opacity='.3' transform='rotate(25 180 30)'/%3E%3C/svg%3E") 50% repeat-x;position:absolute;inset:0}.card-body{text-align:center;padding:36px 48px 40px;position:relative}.card-body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#0000 60%,#e8c4c40a 100%);position:absolute;inset:0}.corner{z-index:11;pointer-events:none;opacity:.2;width:28px;height:28px;position:absolute}.corner svg{width:100%;height:100%}.corner-tl{top:0;left:0}.corner-tr{top:0;right:0;transform:scaleX(-1)}.corner-bl{bottom:0;left:0;transform:scaleY(-1)}.corner-br{bottom:0;right:0;transform:scale(-1)}.celebrating{letter-spacing:.2em;text-transform:uppercase;color:#7d4f5b;margin-bottom:20px;font-family:Cormorant Garamond,Georgia,serif;font-size:15.5px;font-style:italic;font-weight:400}.portrait-wrapper{justify-content:center;margin-bottom:24px;display:flex}.portrait-frame{border:3px solid var(--blush);border-radius:50%/45%;width:180px;height:220px;position:relative;overflow:hidden;box-shadow:0 0 0 6px #e8c4c433,0 8px 32px #5a323c26}.portrait-img{object-fit:cover;object-position:center 15%;width:100%;height:100%;display:block}.spatial-container{width:180px;height:220px;margin:0 auto;position:relative}.spatial-container .portrait-frame{position:absolute;inset:0}.spatial-bg,.spatial-shine{will-change:transform;position:absolute;inset:0}.spatial-bg{filter:blur(1.5px);background-position:50% 30%;background-size:cover;inset:-14px;transform:scale(1.12)}.spatial-fg{z-index:2;will-change:transform;pointer-events:none;clip-path:inset(0 28px 3px round 0 0 87px 87px/0 0 96px 96px);background-position:bottom;background-repeat:no-repeat;background-size:contain;position:absolute;inset:-40px -25px 0}.spatial-shine{z-index:3;pointer-events:none;background:radial-gradient(at 35% 25%,#ffffff1f 0%,#0000 60%)}.spatial-container:before{content:"";border:3px solid var(--blush);z-index:5;pointer-events:none;clip-path:inset(45% 0 0);border-radius:50%/45%;position:absolute;inset:0;box-shadow:0 0 0 6px #e8c4c433}@keyframes spatial-drift-bg{0%,to{transform:translate(0)scale(1.12)}20%{transform:translate(5px,-3px)scale(1.12)}40%{transform:translate(-3px,5px)scale(1.13)}60%{transform:translate(-5px,-2px)scale(1.12)}80%{transform:translate(3px,4px)scale(1.12)}}@keyframes spatial-drift-fg{0%,to{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(1px,-2px)}60%{transform:translate(2px,1px)}80%{transform:translate(-1px,-1.5px)}}@keyframes spatial-drift-shine{0%,to{background:radial-gradient(at 35% 25%,#ffffff1f 0%,#0000 60%)}50%{background:radial-gradient(at 55% 40%,#ffffff14 0%,#0000 60%)}}.spatial-bg.spatial-animate{animation:10s ease-in-out .8s infinite spatial-drift-bg}.spatial-fg.spatial-animate{animation:10s ease-in-out 1.2s infinite spatial-drift-fg}.spatial-shine.spatial-animate{animation:10s ease-in-out .8s infinite spatial-drift-shine}.name{letter-spacing:.08em;color:#2e2a26;margin-bottom:6px;font-family:Cinzel,Georgia,serif;font-size:32px;font-weight:400;line-height:1.3}.years{color:#5a534d;letter-spacing:.08em;margin-bottom:28px;font-family:Cormorant Garamond,Georgia,serif;font-size:16px;font-style:italic}.years-cross{color:var(--blush);vertical-align:middle;opacity:.7;margin:0 6px;font-size:9px;display:inline-block}.flourish-wrapper{justify-content:center;margin:16px 0;display:flex}.flourish{opacity:.85}.invitation-text{color:#4a4540;margin-bottom:28px;font-size:17px;font-style:normal;line-height:1.85}.service-details{text-align:center;background:#e8c4c412;border-top:1px solid #e8c4c44d;border-bottom:1px solid #e8c4c44d;margin:12px -8px 20px;padding:24px;position:relative}.service-details:before,.service-details:after{content:"";border-style:solid;border-color:#c8beb44d;width:14px;height:14px;position:absolute}.service-details:before{border-width:1px 0 0 1px;top:-1px;left:8px}.service-details:after{border-width:0 1px 1px 0;bottom:-1px;right:8px}.detail-row{justify-content:center;align-items:baseline;gap:8px;margin:6px 0;display:flex}.detail-label{text-transform:uppercase;letter-spacing:.15em;color:var(--deep-mauve);text-align:right;min-width:72px;font-family:Cormorant Garamond,Georgia,serif;font-size:11px;font-weight:500}.detail-value{color:#2e2a26;font-family:EB Garamond,Georgia,serif;font-size:17.5px;font-weight:400}.detail-value a{color:var(--dusty-rose);border-bottom:1px solid #c8aaaa66;text-decoration:none;transition:border-color .3s,color .3s}.detail-value a:hover{color:var(--deep-mauve);border-bottom-color:var(--deep-mauve);text-shadow:0 0 20px #b0708026;background:#e8c4c414}.detail-value a:focus-visible{outline:2px solid var(--dusty-rose);outline-offset:2px;border-bottom-color:#0000;border-radius:2px}.service-details .detail-address{color:#5a534d;margin-top:8px;font-size:14.5px;font-style:italic;line-height:1.5}.calendar-link{text-align:center;margin:16px 0 8px}.calendar-trigger{color:var(--dusty-rose);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-bottom:1px solid #c8aaaa4d;padding:4px 0;font-family:Cormorant Garamond,Georgia,serif;font-size:14.5px;font-style:italic;transition:color .3s,border-color .3s}.calendar-trigger:hover{color:var(--deep-mauve);border-bottom-color:var(--deep-mauve)}.calendar-trigger:focus-visible{outline:2px solid var(--dusty-rose);outline-offset:4px;border-radius:2px}.calendar-options{justify-content:center;align-items:center;gap:10px;animation:.3s forwards fadeUp;display:flex}.calendar-option{color:var(--warm-grey);cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000;padding:2px 0;font-family:Cormorant Garamond,Georgia,serif;font-size:13px;text-decoration:none;transition:color .2s,border-color .2s}.calendar-option:hover{color:var(--dusty-rose);border-bottom-color:var(--dusty-rose)}.calendar-option:focus-visible{outline:2px solid var(--dusty-rose);outline-offset:2px;border-radius:2px}.calendar-option--success,.calendar-option--success:hover{color:var(--sage);cursor:default;border-bottom-color:#0000;font-style:italic}.calendar-divider{color:var(--blush);font-size:16px;line-height:1}.closing-letter{text-align:center;margin-top:20px}.closing-letter p{color:#4a4540;max-width:400px;margin:12px auto;font-family:Cormorant Garamond,Georgia,serif;font-size:15.5px;font-style:italic;line-height:1.85}.closing-letter em{color:var(--dusty-rose);font-style:normal;font-weight:500}.quote{color:#6e5258;letter-spacing:.1em;z-index:1;max-width:380px;margin:0 auto;font-family:Cormorant Garamond,serif;font-size:16px;font-style:italic;position:relative}.floral-footer{opacity:.7;transform:scaleY(-1)}.floral-footer .floral-top{height:100px}.fade-up{opacity:0;animation:.9s cubic-bezier(.16,1,.3,1) forwards fadeUp;transform:translateY(12px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.scroll-fade{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(18px)}.scroll-fade.scroll-visible{opacity:1;transform:translateY(0)}@keyframes nameReveal{0%{opacity:0;letter-spacing:.3em;transform:scale(.95)}to{opacity:1;letter-spacing:.08em;transform:scale(1)}}.name-reveal{opacity:0;animation:1.4s cubic-bezier(.22,1,.36,1) forwards nameReveal}@keyframes portraitBreathe{0%,to{box-shadow:0 0 0 6px #e8c4c433,0 8px 32px #5a323c26}50%{box-shadow:0 0 0 9px #e8c4c41f,0 12px 44px #5a323c33}}.spatial-container .portrait-frame{animation:6s ease-in-out infinite portraitBreathe}@keyframes flourishDraw{to{stroke-dashoffset:0}}.flourish-draw .flourish path{stroke-dasharray:200;stroke-dashoffset:200px}.flourish-animate .flourish path{animation:2s forwards flourishDraw}@keyframes flicker{0%,to{opacity:.85;transform:scaleY(1)scaleX(1)}25%{opacity:.95;transform:scaleY(1.08)scaleX(.95)}50%{opacity:.8;transform:scaleY(.95)scaleX(1.02)}75%{opacity:.92;transform:scaleY(1.04)scaleX(.98)}}.candle-flame{transform-origin:bottom;animation:3s ease-in-out infinite flicker}@keyframes glowPulse{0%,to{opacity:.15}50%{opacity:.25}}.candle-glow{animation:3s ease-in-out infinite glowPulse}@media (width<=359px){.card-body{padding:20px 16px 24px}.name{letter-spacing:.04em;font-size:19px}.invitation-text{font-size:14px;line-height:1.75}.invitation-text br{display:none}.portrait-frame,.spatial-container{width:140px;height:170px}.spatial-fg{clip-path:inset(0 28px 3px round 0 0 67px 67px/0 0 73.5px 73.5px)}.floral-top{height:90px}.corner{width:20px;height:20px}.bible-verse{font-size:13.5px}.detail-row{flex-direction:column;align-items:center;gap:2px}.detail-label{text-align:center;min-width:auto}.livestream{padding:12px 16px}.candle-icon{transform:scale(.85)}.candle-divider{width:85%}}@media (width<=480px){.card-body{padding:28px 24px 32px}.name{font-size:24px}.portrait-frame,.spatial-container{width:160px;height:195px}.spatial-fg{clip-path:inset(0 28px 3px round 0 0 77px 77px/0 0 84.75px 84.75px)}.invitation-text br{display:none}.floral-top{height:100px}.detail-row{flex-direction:column;align-items:center;gap:2px}.detail-label{text-align:center;min-width:auto}.name-reveal,.name{font-size:26px}}@media (width>=481px) and (width<=768px){.card{max-width:520px}body{padding:32px 24px}}@media (width>=769px){.card{zoom:2.24;max-width:580px}body{padding:48px 20px}}.share-memory-link{text-align:center;margin:8px auto}.share-memory-link a{color:var(--rose);letter-spacing:.03em;border-bottom:1px solid #c8aaaa4d;font-family:Cormorant Garamond,Georgia,serif;font-size:14.5px;font-style:italic;text-decoration:none;transition:color .3s,border-color .3s}.share-memory-link a:hover{color:var(--dusty-rose);border-bottom-color:var(--dusty-rose)}.share-memory-link a:focus-visible{outline:2px solid var(--dusty-rose);outline-offset:4px;border-radius:2px}.cross-symbol{color:var(--dusty-rose);opacity:.4;letter-spacing:.3em;text-align:center;margin-bottom:12px;font-size:20px}.bible-verse{color:var(--warm-grey);text-align:center;max-width:380px;margin:0 auto;padding:0 12px;font-family:Cormorant Garamond,Georgia,serif;font-size:14.5px;font-style:italic;line-height:1.85}.bible-ref{letter-spacing:.1em;color:var(--dusty-rose);opacity:.7;margin-top:8px;font-size:12px;font-style:normal;font-weight:500;display:block}.faith-line{color:#5a534d;text-align:center;max-width:380px;margin:10px auto 0;font-family:Cormorant Garamond,Georgia,serif;font-size:14px;font-style:italic}.livestream{text-align:center;background:#e8c4c40d;border:1px dashed #e8c4c44d;border-radius:6px;max-width:340px;margin:16px auto;padding:16px 20px}.livestream-icon{margin-bottom:8px}.livestream-label{color:#4a4540;margin-bottom:4px;font-family:Cormorant Garamond,Georgia,serif;font-size:14.5px;font-style:italic;font-weight:400}.livestream-text{color:var(--warm-grey);margin-bottom:10px;font-family:Cormorant Garamond,Georgia,serif;font-size:13.5px;font-style:italic}.livestream-link{color:var(--dusty-rose);letter-spacing:.03em;border-bottom:1px solid #c8aaaa66;padding-bottom:1px;font-family:Cormorant Garamond,Georgia,serif;font-size:14.5px;font-weight:400;text-decoration:none;transition:color .3s,border-color .3s}.livestream-link:hover{color:var(--deep-mauve);border-bottom-color:var(--deep-mauve);text-shadow:0 0 20px #b0708026;background:#e8c4c414}.livestream-link:focus-visible{outline:2px solid var(--dusty-rose);outline-offset:2px;border-bottom-color:#0000;border-radius:2px}.share-memory-link a:hover{text-shadow:0 0 20px #b0708026;background:#e8c4c414}.candle-divider{justify-content:center;align-items:center;gap:16px;width:70%;margin:24px auto;display:flex}.candle-divider:before,.candle-divider:after{content:"";background:linear-gradient(90deg,#0000,#e8c4c466,#0000);flex:1;height:1px}.candle-icon{opacity:.55;flex-shrink:0}.signoff{text-align:center;margin-top:28px}.signoff-line{background:linear-gradient(90deg, transparent, var(--blush), transparent);width:40px;height:1px;margin:0 auto 12px}.signoff-text{color:var(--warm-grey);letter-spacing:.08em;font-family:Cormorant Garamond,Georgia,serif;font-size:14px;font-style:italic;font-weight:400}.quote-section{margin-top:24px;padding:0 28px;position:relative}.quote-mark{color:var(--blush);opacity:.3;font-family:Cormorant Garamond,Georgia,serif;font-size:52px;line-height:1;position:absolute}.quote-mark-open{top:-16px;left:8px}.quote-mark-close{bottom:-28px;right:8px;transform:rotate(180deg)}.memories-intro{color:var(--warm-grey);text-align:center;max-width:400px;margin:0 auto 24px;font-family:Cormorant Garamond,Georgia,serif;font-size:15px;font-style:italic;line-height:1.85}.memories-form{max-width:420px;margin:0 auto}.form-field{text-align:left;margin-bottom:20px}.form-label{color:var(--charcoal);letter-spacing:.04em;margin-bottom:6px;font-family:Cormorant Garamond,Georgia,serif;font-size:14px;font-weight:600;display:block}.form-hint{color:var(--warm-grey);font-size:12.5px;font-style:italic;font-weight:400}.form-input,.form-textarea{width:100%;color:var(--charcoal);background:var(--cream);border:1px solid var(--blush);box-sizing:border-box;border-radius:4px;padding:10px 14px;font-family:EB Garamond,Georgia,serif;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus{border-color:var(--dusty-rose);outline:none;box-shadow:0 0 0 3px #b0708026}.form-input::placeholder,.form-textarea::placeholder{color:var(--warm-grey);opacity:.6;font-style:italic}.form-input:disabled,.form-textarea:disabled{opacity:.6;cursor:not-allowed}.form-textarea{resize:vertical;min-height:100px}.image-uploader{width:100%}.dropzone{border:2px dashed var(--blush);text-align:center;cursor:pointer;background:#e8c4c40f;border-radius:8px;padding:28px 16px;transition:border-color .2s,background .2s}.dropzone:hover{border-color:var(--dusty-rose);background:#e8c4c41f}.dropzone:focus-visible{outline:2px solid var(--dusty-rose);outline-offset:2px;border-radius:8px}.dropzone--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.dropzone-text{color:var(--dusty-rose);margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:15px;line-height:1.6}.dropzone-hint{color:var(--warm-grey);font-size:12.5px;font-style:italic}.image-preview-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-bottom:12px;display:grid}.image-preview-item{aspect-ratio:1;border-radius:6px;position:relative;overflow:hidden}.image-thumbnail{object-fit:cover;width:100%;height:100%;display:block}.image-remove-btn{color:#fff;cursor:pointer;background:#3a3530b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:14px;line-height:1;transition:background .2s;display:flex;position:absolute;top:4px;right:4px}.image-remove-btn:hover{background:#6b4555e6}.image-remove-btn:disabled{display:none}.memories-guidance{color:var(--rose);text-align:center;letter-spacing:.02em;margin:12px 0 20px;font-family:Cormorant Garamond,Georgia,serif;font-size:13px;font-style:italic}.form-error{color:#b44;text-align:center;background:#b444440f;border:1px solid #b4444433;border-radius:4px;margin-bottom:16px;padding:8px 12px;font-family:EB Garamond,Georgia,serif;font-size:14px}.upload-progress{background:var(--blush);border-radius:2px;height:4px;margin-bottom:16px;overflow:hidden}.upload-progress-bar{background:var(--dusty-rose);border-radius:2px;height:100%;transition:width .3s}.submit-btn{letter-spacing:.06em;color:#fff;background:var(--dusty-rose);cursor:pointer;border:none;border-radius:4px;width:100%;padding:14px 24px;font-family:Cormorant Garamond,Georgia,serif;font-size:16px;font-weight:600;transition:background .2s,opacity .2s;display:block}.submit-btn:hover:not(:disabled){background:var(--deep-mauve)}.submit-btn:focus-visible{outline:2px solid var(--deep-mauve);outline-offset:2px}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.success-message{text-align:center;max-width:400px;margin:0 auto}.success-title{color:var(--charcoal);letter-spacing:.08em;margin:16px 0 12px;font-family:Cinzel,Georgia,serif;font-size:24px;font-weight:300}.success-text{color:var(--warm-grey);font-family:Cormorant Garamond,Georgia,serif;font-size:15px;font-style:italic;line-height:1.85}.back-link{text-align:center;margin:16px auto}.back-link a{color:var(--rose);border-bottom:1px solid #c8aaaa4d;font-family:Cormorant Garamond,Georgia,serif;font-size:14px;font-style:italic;text-decoration:none;transition:color .3s,border-color .3s}.back-link a:hover{color:var(--dusty-rose);border-bottom-color:var(--dusty-rose)}.back-link a:focus-visible{outline:2px solid var(--dusty-rose);outline-offset:4px;border-radius:2px}.gallery-status{color:var(--warm-grey);text-align:center;margin:24px 0;font-family:Cormorant Garamond,Georgia,serif;font-size:15px;font-style:italic;line-height:1.85}.gallery-status a{color:var(--rose);border-bottom:1px solid #c8aaaa4d;text-decoration:none}.gallery-status a:hover{color:var(--dusty-rose);border-bottom-color:var(--dusty-rose)}.gallery-error{color:#b44}.gallery-count{color:var(--warm-grey);text-align:center;letter-spacing:.04em;margin-bottom:24px;font-family:Cormorant Garamond,Georgia,serif;font-size:13px;font-style:italic}.gallery-submission{margin-bottom:28px}.gallery-meta{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.gallery-name{color:var(--charcoal);letter-spacing:.02em;font-family:Cormorant Garamond,Georgia,serif;font-size:15px;font-weight:600}.gallery-date{color:var(--warm-grey);font-family:EB Garamond,Georgia,serif;font-size:12px}.gallery-message{color:var(--warm-grey);margin:0 0 8px;font-family:Cormorant Garamond,Georgia,serif;font-size:13.5px;font-style:italic;line-height:1.6}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;display:grid}.gallery-thumb-btn{cursor:pointer;aspect-ratio:1;background:0 0;border:none;border-radius:4px;padding:0;transition:opacity .2s;overflow:hidden}.gallery-thumb-btn:hover{opacity:.85}.gallery-thumb-btn:focus-visible{outline:2px solid var(--dusty-rose);outline-offset:2px}.gallery-thumb{object-fit:cover;width:100%;height:100%;display:block}.gallery-nav{flex-direction:column;align-items:center;gap:10px;margin:8px auto;display:flex}.gallery-nav a{color:var(--rose);border-bottom:1px solid #c8aaaa4d;font-family:Cormorant Garamond,Georgia,serif;font-size:14px;font-style:italic;text-decoration:none;transition:color .3s,border-color .3s}.gallery-nav a:hover{color:var(--dusty-rose);border-bottom-color:var(--dusty-rose)}.gallery-nav a:focus-visible{outline:2px solid var(--dusty-rose);outline-offset:4px;border-radius:2px}.lightbox-overlay{z-index:1000;cursor:pointer;background:#141210eb;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox-close{color:#fffc;cursor:pointer;z-index:1001;background:0 0;border:none;padding:4px 8px;font-size:32px;line-height:1;transition:color .2s;position:absolute;top:16px;right:20px}.lightbox-close:hover{color:#fff}.lightbox-img{object-fit:contain;cursor:default;border-radius:4px;max-width:100%;max-height:90vh}@media print{body{background:#fff;padding:0}.petal,#petals,.skip-link,.calendar-link,.memories-form,.share-memory-link,.livestream,.candle-divider{display:none!important}.card{box-shadow:none;opacity:1;zoom:1;border-radius:0;max-width:100%;animation:none;transform:none}.card:before{display:none}.fade-up{opacity:1;animation:none;transform:none}.scroll-fade{opacity:1;transition:none;transform:none}.name-reveal{opacity:1;animation:none}.floral-footer{display:none}.detail-value a{color:var(--charcoal)}.detail-value a:after{content:" (" attr(href) ")";color:var(--warm-grey);font-size:11px}}@media (prefers-reduced-motion:reduce){.petal{display:none}.fade-up,.card{opacity:1;animation:none;transform:none}.spatial-bg,.spatial-fg,.spatial-shine{animation:none}.calendar-trigger,.calendar-option,.form-input,.form-textarea,.dropzone,.submit-btn,.upload-progress-bar{transition:none}.calendar-options{animation:none}html{scroll-behavior:auto}.name-reveal{opacity:1;letter-spacing:.08em;animation:none;transform:none}.portrait-frame,.candle-flame,.candle-glow{animation:none}.flourish-draw .flourish path{stroke-dashoffset:0}.flourish-animate .flourish path{animation:none}.scroll-fade{opacity:1;transition:none;transform:none}.detail-value a,.share-memory-link a,.livestream-link,.calendar-trigger{transition:none}}
