.invitation-theme{--primary:var(--invitation-primary,var(--color-primary));--primary-active:var(--invitation-primary-active,var(--color-primary-active));--primary-soft:var(--invitation-primary-soft,var(--color-primary-soft));--invitation-card:#fff;background:var(--color-surface-soft);color:var(--color-ink);width:100%;max-width:470px;min-height:100vh;transition:background var(--duration-normal) ease;margin:0 auto;position:relative}.invitation-theme--dark{--color-ink:#f2f2f2;--color-body:#dcdcdc;--color-muted:#a3a3a3;--color-muted-soft:#7d7d7d;--color-hairline:#333;--color-hairline-soft:#262626;--color-surface-soft:#0d0d0d;--color-surface-strong:#1a1a1a;--invitation-card:#171717}
.invitation-accordion-body{max-height:0;transition:max-height var(--duration-normal) var(--ease-out-expo);overflow:hidden}.invitation-accordion.open .invitation-accordion-body{max-height:480px}.invitation-accordion-arrow{transition:transform var(--duration-fast) ease}.invitation-accordion.open .invitation-accordion-arrow{transform:rotate(180deg)}.invitation-fade-in{animation:invitation-fade-in-keyframes var(--duration-normal) var(--ease-out-expo)}.invitation-lightbox-snap{transition:transform .25s}@keyframes invitation-fade-in-keyframes{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.invitation-bigheart{color:#fff;filter:drop-shadow(0 2px 12px #00000059);pointer-events:none;font-size:90px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.invitation-bigheart.pop{animation:.8s forwards invitation-heart-pop}@keyframes invitation-heart-pop{15%{transform:translate(-50%,-50%)scale(1.15)}30%{transform:translate(-50%,-50%)scale(.95)}45%{transform:translate(-50%,-50%)scale(1)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.3)}}@media (prefers-reduced-motion:reduce){.invitation-fade-in,.invitation-bigheart.pop{animation:none}}.invitation-reveal{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(50px)}.invitation-reveal.is-revealed{opacity:1;transform:none}.invitation-word{vertical-align:bottom;clip-path:inset(0 -100vmax);display:inline-block}.invitation-word-inner{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);display:inline-block;transform:translateY(100%)}.is-revealed .invitation-word-inner{opacity:1;transform:none}.invitation-cover-zoom{animation:18s ease-out forwards invitation-slow-zoom}@keyframes invitation-slow-zoom{0%{transform:scale(1)}to{transform:scale(1.08)}}.invitation-cover-rise{animation:.9s cubic-bezier(.16,1,.3,1) both invitation-rise}@keyframes invitation-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.invitation-reveal,.invitation-reveal.is-revealed,.invitation-word-inner{opacity:1;transition:none;transform:none}.invitation-cover-zoom,.invitation-cover-rise{animation:none}}.invitation-stagger-item{opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 45ms);transform:translateY(16px)}.is-revealed .invitation-stagger-item{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.invitation-stagger-item{opacity:1;transition:none;transform:none}}
.ig-profile{font-family:var(--font-invitation)}.ig-music-icon.on{animation:2s ease-in-out infinite ig-note-pulse}@keyframes ig-note-pulse{0%,to{opacity:1}50%{opacity:.55}}.ig-story-bar-fill{width:0%;animation-name:ig-story-fill;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes ig-story-fill{0%{width:0%}to{width:100%}}@media (prefers-reduced-motion:reduce){.invitation-fade-in,.ig-music-icon.on,.invitation-bigheart.pop{animation:none}.ig-story-bar-fill{width:100%;animation:none}}
.editorial{font-family:var(--font-serif)}
.classic{font-family:var(--font-serif)}
.film{font-family:var(--font-invitation)}
.baby-happy{font-family:var(--font-invitation);background:#fdf9ef}.baby-happy-lettering{animation:.9s cubic-bezier(.34,1.56,.64,1) .2s both baby-happy-drop}@keyframes baby-happy-drop{0%{opacity:0;transform:translateY(-18px)scale(.92)}to{opacity:1;transform:none}}.baby-happy-bunting{animation:.8s cubic-bezier(.22,1,.36,1) both baby-happy-hang}@keyframes baby-happy-hang{0%{opacity:0;transform:translateY(-40%)}to{opacity:1;transform:none}}.baby-happy-deco{animation:baby-happy-pop .6s cubic-bezier(.34, 1.56, .64, 1) var(--pop-delay,.6s) both, baby-happy-bounce var(--bounce-duration,3s) ease-in-out var(--bounce-delay,1.2s) infinite}@keyframes baby-happy-pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes baby-happy-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(var(--bounce-distance,-7px))}}.baby-happy-frame{animation:.8s ease-out .35s both baby-happy-fade}@keyframes baby-happy-fade{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.baby-happy-lettering,.baby-happy-deco,.baby-happy-bunting,.baby-happy-frame{opacity:1;animation:none;transform:none}}
.baby-timeline-line{transition:transform var(--line-duration,1.4s) cubic-bezier(.65, 0, .35, 1);transform:scaleY(0)}.baby-timeline.is-revealed .baby-timeline-line{transform:scaleY(1)}.baby-timeline-dot{opacity:0;transition:opacity .35s ease-out,transform .35s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(.2s + (var(--i) / var(--count)) * var(--line-duration,1.4s));transform:scale(0)}.baby-timeline-body{opacity:0;transition:opacity .4s ease-out,transform .4s cubic-bezier(.16,1,.3,1);transition-delay:calc(.3s + (var(--i) / var(--count)) * var(--line-duration,1.4s));transform:translateY(20px)}.baby-timeline.is-revealed .baby-timeline-dot,.baby-timeline.is-revealed .baby-timeline-body{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.baby-timeline-line,.baby-timeline-dot,.baby-timeline-body{opacity:1;transition:none;transform:none}}
.baby-hanbok{--hanbok-paper:#f4ecdb;--hanbok-paper-deep:#ece0c9;--hanbok-ink:#2b2723;--hanbok-ink-line:#2b272329;--hanbok-red:#b5372f;--hanbok-wood:#9a7a54;--invitation-card:#fdfaf1;--color-surface-soft:#ece1cc;--color-hairline:#2b272329;--color-hairline-soft:#2b27231a;font-family:var(--font-serif);color:var(--hanbok-ink);background-color:var(--hanbok-paper);background-image:repeating-linear-gradient(90deg,#78603c06 0 1px,#0000 1px 7px),repeating-linear-gradient(0deg,#78603c05 0 1px,#0000 1px 9px),radial-gradient(circle at 18% 12%,#fffdf6e6,#0000 42%),radial-gradient(circle at 88% 34%,#ece0c9d9,#0000 38%),radial-gradient(circle at 30% 82%,#ece0c999,#0000 40%)}.baby-hanbok h2,.baby-hanbok h3,.baby-hanbok b,.baby-hanbok strong{letter-spacing:.02em}.baby-hanbok>section{border-top:1px solid var(--hanbok-ink-line);position:relative}.baby-hanbok>section:before{content:"";background:linear-gradient(90deg,#c1453c 0 20%,#dd9a24 20% 40%,#3c8a5f 40% 60%,#2f6ca6 60% 80%,#7a4f97 80% 100%);border-radius:2px;width:34px;height:3px;position:absolute;top:-2px;left:1.75rem}.hanbok-saekdong-stripe{transform-origin:top;animation:.55s cubic-bezier(.22,1,.36,1) both hanbok-stripe-down;animation-delay:calc(var(--i,0) * 70ms);transform:scaleY(0)}.hanbok-saekdong[data-direction=right] .hanbok-saekdong-stripe{transform-origin:0;animation-name:hanbok-stripe-right;transform:scaleX(0)}@keyframes hanbok-stripe-down{to{transform:scaleY(1)}}@keyframes hanbok-stripe-right{to{transform:scaleX(1)}}.baby-hanbok-brush{animation:1.1s cubic-bezier(.22,1,.36,1) .2s both baby-hanbok-ink}@keyframes baby-hanbok-ink{0%{opacity:0;filter:blur(6px);transform:scale(.94)}to{opacity:1;filter:none;transform:none}}.baby-hanbok-cover{animation:1s cubic-bezier(.22,1,.36,1) .5s both baby-hanbok-unroll}@keyframes baby-hanbok-unroll{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.baby-hanbok-brush,.baby-hanbok-cover,.hanbok-saekdong-stripe{opacity:1;clip-path:none;filter:none;animation:none;transform:none}}
.baby-profile{font-family:var(--font-invitation);background:#fdfaf4}.baby-profile-ring:before{content:"";background:conic-gradient(from 0deg, var(--primary) 0turn, #f6c9d8 .3turn, #9bd3b5 .55turn, #8fb8e8 .8turn, var(--primary) 1turn);-webkit-mask-composite:xor;border-radius:50%;padding:3px;animation:1.1s cubic-bezier(.22,1,.36,1) both baby-profile-ring-draw;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)}@keyframes baby-profile-ring-draw{0%{opacity:0;transform:rotate(-150deg)scale(.86)}to{opacity:1;transform:none}}.baby-profile-stat{animation:.5s cubic-bezier(.22,1,.36,1) both baby-profile-rise;animation-delay:calc(.35s + var(--i,0) * 90ms)}@keyframes baby-profile-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.baby-profile-highlight{animation:.5s cubic-bezier(.34,1.56,.64,1) both baby-profile-pop;animation-delay:calc(.6s + var(--i,0) * 80ms)}@keyframes baby-profile-pop{0%{opacity:0;transform:scale(.6)translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.baby-profile-ring:before,.baby-profile-stat,.baby-profile-highlight{opacity:1;animation:none;transform:none}}
.baby-classic{font-family:var(--font-serif);background:#fefbf6}.baby-classic-rule-line{animation:.7s cubic-bezier(.22,1,.36,1) both baby-classic-draw;animation-delay:calc(var(--rule-delay,0s) + .15s);transform:scaleX(0)}.baby-classic-rule-mark{opacity:0;animation:.5s cubic-bezier(.34,1.56,.64,1) both baby-classic-mark;animation-delay:var(--rule-delay,0s)}@keyframes baby-classic-draw{to{transform:scaleX(1)}}@keyframes baby-classic-mark{0%{opacity:0;transform:rotate(-45deg)scale(.2)}to{opacity:1;transform:rotate(45deg)scale(1)}}.baby-classic-frame{animation:.9s cubic-bezier(.22,1,.36,1) .55s both baby-classic-open}@keyframes baby-classic-open{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.baby-classic-rule-line,.baby-classic-frame{opacity:1;animation:none;transform:none}.baby-classic-rule-mark{opacity:1;animation:none;transform:rotate(45deg)}}
