.vr-dear-wrap { position: absolute; left: 0; right: 0; top: max(7svh, calc(env(safe-area-inset-top) + 3.3rem)); z-index: 3; width: 100%;
display: flex; flex-direction: column; align-items: center; padding: 0 1.5rem; text-align: center; pointer-events: none;
transition: opacity .9s ease-out; animation: vr-dear-in 1.6s cubic-bezier(.22,1,.36,1) .4s both; }
.vr-dear-wrap .dear { margin: 0; font-family: pinyonScript, "Pinyon Script", cursive; font-size: clamp(1.55rem, min(7.4vw, 4.4svh), 2.5rem); line-height: 1.2; color: #9C7A3C;
text-shadow: 0 1px 14px rgba(255,252,246,.9); max-width: min(22rem, 100%); overflow-wrap: anywhere; }
.vr-dear-wrap.long .dear { font-size: clamp(1.25rem, min(5.6vw, 3.5svh), 2rem); }
.vr-dear-wrap .sub { margin: .3rem 0 0; max-width: min(19rem, 100%); white-space: normal; font-family: "cormorant", "Cormorant Garamond", Georgia, serif;
font-size: clamp(.62rem, 2.9vw, .78rem); line-height: 1.55; letter-spacing: .2em; text-transform: uppercase; color: #a2865c; }
@keyframes vr-dear-in { from { opacity: 0; transform: translateY(10px); } }
.vr-portrait-tap { cursor: pointer; -webkit-tap-highlight-color: transparent; }
.vr-portrait-tap.glow img { animation: vr-glow 1.6s ease-out; }
@keyframes vr-glow { 30% { box-shadow: 0 0 0 6px rgba(255,248,232,.85), 0 0 46px 14px rgba(214,186,140,.65); filter: brightness(1.08); } }
.vr-bless { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1.5rem; padding: .5rem 1.1rem; border: 1px solid rgba(201,175,142,.6);
border-radius: 999px; background: rgba(253,250,244,.5); color: #8b7355; cursor: pointer; -webkit-tap-highlight-color: transparent;
font-family: "cormorant", "Cormorant Garamond", Georgia, serif; font-size: .98rem; letter-spacing: .04em; transition: background .4s, color .4s; }
.vr-bless::before { content: "✦"; color: #c9af8e; animation: vr-twinkle 2.2s ease-in-out infinite; }
.vr-bless.done { background: rgba(138,106,70,.08); color: #7c5d3b; border-color: #8a6a46; }
.vr-bless.done::before { animation: none; }
@keyframes vr-twinkle { 50% { opacity: .3; transform: scale(.8); } }
.vr-dua { position: relative; }
.vr-dua textarea { display: block; width: 100%; min-height: 4.6rem; resize: vertical; padding: .6rem 0; border: 0; border-bottom: 1px solid #c9af8e;
background: transparent; color: #8a6a46; font-family: "cormorant", "Cormorant Garamond", Georgia, serif; font-size: .98rem; line-height: 1.45; outline: none; border-radius: 0; }
.vr-dua textarea:focus { border-bottom-color: #8a6a46; }
.vr-dua textarea::placeholder { color: #a2865c; opacity: 1; }
.vr-closing-guest { margin-top: .2rem; font-family: pinyonScript, "Pinyon Script", cursive; font-size: 1.35rem; line-height: 1.4; color: #9C7A3C; }