:where(.iv){--t-bg:#f4f0e8;--t-ink:#2b2723;--t-muted:#7d746a;--t-accent:#8a8178;--t-line:rgba(43,39,35,0.22);--t-line-soft:rgba(43,39,35,0.1);--t-paper:#fffdf8;--t-card-bg:linear-gradient(180deg,#fffefb 0%,var(--t-paper) 100%);--t-card-shadow:0 40px 90px rgba(43,39,35,0.12);--t-on-accent:#fff;--t-env-front:linear-gradient(180deg,#efe9de,#e4dccf);--t-env-flap:linear-gradient(180deg,#f3eee5,#e8e1d4);--t-env-lining:#f8f4ec;--t-env-shadow:0 34px 70px rgba(43,39,35,0.2);--t-fold:rgba(43,39,35,0.08);--t-fold-accent:var(--t-line);--t-radius:4px;--iv-fallback:Georgia,"Times New Roman",serif;--t-font-body:var(--iv-fallback);--t-font-hero:var(--iv-fallback);--t-caps-color:var(--t-accent);--t-say-color:var(--t-muted);--t-display-color:var(--t-ink);--t-hero-color:var(--t-ink);--t-hero-em:0.55;--t-hero-max:128px;--iv-ease:cubic-bezier(0.16,1,0.3,1);--iv-caps-tracking:0.38em}.iv{position:relative;min-height:100dvh;overflow-x:hidden;background:var(--t-bg);color:var(--t-ink);font-family:var(--t-font-body);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}.iv:lang(ja){--iv-fallback:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;--iv-caps-tracking:0.14em;--t-hero-em:1}.iv:lang(ko){--iv-fallback:"AppleMyungjo","Noto Serif KR","Nanum Myeongjo",serif;--iv-caps-tracking:0.14em;--t-hero-em:1}.iv:lang(zh-Hant){--iv-fallback:"Songti TC","PMingLiU","Noto Serif TC",serif;--iv-caps-tracking:0.14em;--t-hero-em:1}.iv:lang(th){--iv-fallback:"Thonburi","Noto Serif Thai","Leelawadee UI",serif;--iv-caps-tracking:0.08em}.iv:lang(ar){--iv-fallback:"Geeza Pro","Noto Naskh Arabic","Amiri","Segoe UI",serif;--iv-caps-tracking:0}.iv *,.iv :after,.iv :before{box-sizing:border-box}.iv-caps{font-family:var(--t-font-body);font-size:12px;font-weight:600;line-height:1.6;letter-spacing:var(--iv-caps-tracking);text-indent:var(--iv-caps-tracking);text-transform:uppercase;color:var(--t-caps-color)}.iv-say{font-size:clamp(18px,4.6vw,20px);font-style:italic;line-height:1.55;color:var(--t-say-color)}.iv-display,.iv-say{font-family:var(--t-font-body);font-weight:400;text-wrap:balance}.iv-display{font-size:clamp(30px,8vw,38px);line-height:1.2;color:var(--t-display-color)}.iv-hero{font-family:var(--t-font-hero);font-weight:400;line-height:1.2;color:var(--t-hero-color)}.iv:lang(ar) .iv-say,.iv:lang(ja) .iv-say,.iv:lang(ko) .iv-say,.iv:lang(th) .iv-say,.iv:lang(zh-Hant) .iv-say{font-style:normal}.iv-scene{position:fixed;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(28px,6vh,50px);padding:16px}.iv-scene.is-revealed{pointer-events:none;animation:iv-scene-out 1.1s cubic-bezier(.55,0,.75,.3) forwards}@keyframes iv-scene-out{to{opacity:0;transform:translateY(22vh) scale(.94);filter:blur(3px)}}.iv-hint,.iv-kicker{margin:0;text-align:center;animation:iv-fade-up 1.6s var(--iv-ease) both}.iv-kicker{display:flex;align-items:center;gap:18px;animation-delay:.3s}.iv-kicker:after,.iv-kicker:before{content:"";width:36px;height:1px;background:var(--t-line)}.iv-hint{animation:iv-fade-up 1.6s var(--iv-ease) 1.1s both,iv-breathe 3.2s ease-in-out 2.7s infinite}.is-broken .iv-hint,.is-broken .iv-kicker{opacity:0!important;transition:opacity .5s ease}@keyframes iv-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes iv-breathe{0%,to{opacity:1}50%{opacity:.45}}.iv-envelope-wrap{animation:iv-env-in 1.6s var(--iv-ease) .1s both}@keyframes iv-env-in{0%{opacity:0;transform:translateY(40px) scale(.96);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}.iv-envelope{position:relative;width:min(88vw,540px);aspect-ratio:25/16;perspective:1400px;animation:iv-float 7s ease-in-out 1.7s infinite}.is-broken .iv-envelope{animation-play-state:paused}@keyframes iv-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.iv-envelope:before{content:"";position:absolute;inset:2% 3%;box-shadow:var(--t-env-shadow)}.iv-env-back,.iv-flap-inner{background:var(--t-env-lining)}.iv-env-back{position:absolute;inset:0;z-index:0;border-radius:var(--t-radius)}.iv-peek{position:absolute;inset:5% 6%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6% 8% 0;overflow:hidden;text-align:center;background:var(--t-card-bg);border:1px solid var(--t-line);outline:1px solid var(--t-line-soft);outline-offset:-7px;transition:transform 1.05s cubic-bezier(.3,.7,.2,1)}.is-rising .iv-peek{transform:translateY(-58%)}.iv-peek{container-type:inline-size}.iv-peek-hero{max-width:100%;font-size:min(var(--peek-size,46px),calc(84cqi / (var(--hero-len, 6) * var(--t-hero-em) + .4)));line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-env-front{position:absolute;inset:0;z-index:3;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);background:var(--t-env-front);border-radius:var(--t-radius)}.iv-env-front svg,.iv-flap-outer svg{position:absolute;inset:0;width:100%;height:100%}.iv-fold,.iv-fold-accent{fill:none;vector-effect:non-scaling-stroke}.iv-fold{stroke:var(--t-fold);stroke-width:1}.iv-fold-accent{stroke:var(--t-fold-accent);stroke-width:1.5}.iv-env-front:after{content:"";position:absolute;inset:0;border:1px solid var(--t-line-soft);border-radius:var(--t-radius)}.iv-flap{position:absolute;inset:0 0 auto;height:56%;z-index:4;transform-origin:50% 0;transform-style:preserve-3d;transition:transform .95s cubic-bezier(.45,0,.2,1),z-index 0s linear .42s}.is-open .iv-flap{transform:rotateX(180deg);z-index:1}.iv-flap-face{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 100%);backface-visibility:hidden;-webkit-backface-visibility:hidden}.iv-flap-outer{background:var(--t-env-flap)}.iv-flap-inner{clip-path:polygon(50% 0,100% 100%,0 100%);transform:rotateX(180deg)}.iv-seal{position:absolute;left:50%;top:56%;z-index:6;padding:0;border:0;background:none;color:inherit;cursor:pointer;transform:translate(-50%,-50%);transition:transform .4s var(--iv-ease)}.iv-seal:disabled{cursor:default}.iv-seal:not(:disabled):hover{transform:translate(-50%,-50%) scale(1.05)}.iv-seal:focus-visible{outline:1px solid var(--t-accent);outline-offset:8px;border-radius:50%}.iv-burst{position:absolute;left:50%;top:50%;pointer-events:none}.iv-burst-glow{position:absolute;left:-64px;top:-64px;width:128px;height:128px;border-radius:50%;animation:iv-glow 1s ease-out forwards}@keyframes iv-glow{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(3)}}.iv-burst-bit{position:absolute;left:0;top:0;animation:iv-bit 1.2s cubic-bezier(.2,.7,.3,1) forwards}@keyframes iv-bit{0%{opacity:1;transform:translate(-50%,-50%) rotate(0deg) scale(1)}to{opacity:0;transform:translate(calc(var(--dx) - 50%),calc(var(--dy) - 50%)) rotate(var(--spin,0deg)) scale(.4)}}.iv-ambient{z-index:0;overflow:hidden}.iv-ambient,.iv-grain{position:fixed;inset:0;pointer-events:none}.iv-grain{z-index:3;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.iv-stage{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:56px 16px 32px}.iv-card{container-type:inline-size;position:relative;width:min(100%,580px);padding:clamp(56px,12vw,84px) clamp(26px,8vw,66px);text-align:center;background:var(--t-card-bg);border:1px solid var(--t-line);box-shadow:var(--t-card-shadow);animation:iv-card-in 1.5s var(--iv-ease) .25s both}.iv-card:before{content:"";position:absolute;inset:10px;border:1px solid var(--t-line-soft);pointer-events:none}@keyframes iv-card-in{0%{opacity:0;transform:translateY(60px) scale(.9);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}.iv-card h1,.iv-card p{margin:0;overflow-wrap:anywhere}.iv-line{animation:iv-line-in 1.1s var(--iv-ease) both;animation-delay:calc(.75s + var(--i) * .09s)}@keyframes iv-line-in{0%{opacity:0;transform:translateY(16px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}.iv-blank{opacity:.4;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:.06em;text-underline-offset:.18em}.iv-emblem{display:flex;justify-content:center;margin-bottom:18px}.iv-emblem svg{display:block}.iv-title-lead{margin-top:10px!important}.iv-title-hero{font-size:min(var(--t-hero-max),24vw,calc(100cqi / (var(--hero-len, 5) * var(--t-hero-em) + .4)));padding:0 .2em;text-wrap:balance}.iv-card .iv-title-hero{overflow-wrap:normal}.iv-title-kicker+.iv-title-hero{margin-top:4px!important}.iv-title-tail{margin-top:-4px!important}.iv-number{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:22px}.iv-figure{font-family:var(--t-font-hero);font-size:clamp(72px,20vw,108px);line-height:1;color:var(--t-hero-color)}.iv-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:clamp(30px,7vw,42px) auto}.iv-divider .iv-rule{width:min(90px,22vw);height:1px;background:linear-gradient(90deg,transparent,var(--t-line))}.iv-divider .iv-rule:last-child{background:linear-gradient(270deg,transparent,var(--t-line))}.iv-label{margin-bottom:10px!important}.iv-display+.iv-label,.iv-message+.iv-display,.iv-message+.iv-label{margin-top:28px!important}.iv-venue{display:inline-block;color:var(--t-display-color);text-decoration:none;transition:color .3s ease,opacity .3s ease}.iv-venue:hover{opacity:.75}.iv-link{display:inline-block;margin-top:16px;padding-bottom:3px;text-decoration:none;border-bottom:1px solid var(--t-line);transition:border-color .3s ease}.iv-link:hover{border-color:var(--t-accent)}.iv-moment+.iv-moment{margin-top:34px}.iv-prose{max-width:34ch;margin:0 auto!important}.iv-label+.iv-prose{margin-top:4px!important}.iv-countdown{margin-bottom:18px!important}.iv-calendar{margin:0 0 22px}.iv-rsvp-text{max-width:30ch;margin:0 auto!important}.iv-rsvp{display:inline-block;margin-top:22px;padding:15px clamp(18px,5vw,32px);white-space:nowrap;text-decoration:none;border:1px solid var(--t-accent);background:color-mix(in srgb,var(--t-accent) 7%,transparent);transition:background-color .35s ease,color .35s ease,box-shadow .35s ease}.iv .iv-rsvp:hover{background:var(--t-accent);color:var(--t-on-accent)}.iv-footer a:focus-visible,.iv-link:focus-visible,.iv-rsvp:focus-visible,.iv-venue:focus-visible{outline:1px solid var(--t-accent);outline-offset:6px}.iv-signature{align-items:center;gap:8px;margin-top:36px!important;font-family:var(--t-font-hero);font-size:44px;line-height:1.2;color:var(--t-hero-color)}.iv-footer,.iv-signature{display:flex;justify-content:center}.iv-footer{flex-wrap:wrap;gap:8px 28px;margin-top:28px}.iv-footer a{font-size:10px;text-decoration:none;opacity:.6;transition:opacity .3s ease}.iv-footer a:hover{opacity:1}.iv-toast{bottom:max(24px,env(safe-area-inset-bottom));z-index:20;width:min(92vw,420px);margin:0!important;padding:14px 20px;font-size:17px;text-align:center;color:var(--t-ink);background:var(--t-paper);border:1px solid var(--t-line);box-shadow:0 18px 40px rgba(0,0,0,.2);animation:iv-fade-up .5s var(--iv-ease) both}.iv-preview-bar,.iv-toast{position:fixed;left:50%;transform:translateX(-50%)}.iv-preview-bar{top:max(14px,env(safe-area-inset-top));z-index:30;display:flex;align-items:center;gap:10px;padding:9px 16px;font:600 13px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#fff;white-space:nowrap;background:rgba(20,18,16,.86);border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.iv-preview-dot{width:8px;height:8px;border-radius:50%;background:#ff4d4d;animation:iv-breathe 1.6s ease-in-out infinite}.iv-preview-over{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;text-align:center;background:color-mix(in srgb,var(--t-bg) 70%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}@media (prefers-reduced-motion:reduce){.iv *,.iv :after,.iv :before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.iv-ambient{display:none}}