.story{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:64px;margin-top:48px;display:grid}.story-stage{overflow-clip-margin:60px;grid-area:1/2;height:600px;display:grid;overflow:clip}.story-scene,.story-caption article{grid-area:1/1}.story-scene{place-items:center;display:grid}.story-scene[hidden],.story-caption article[hidden]{display:none}.story-caption{grid-area:1/1;gap:40px;display:grid}.story-caption article{align-content:start;gap:14px;max-width:30rem;min-height:14rem;display:grid}.story-caption h3{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;line-height:1.1}.story-caption p:not(.eyebrow){color:var(--muted-foreground);font-size:17px;line-height:1.7}.story-controls{align-items:center;gap:6px;max-width:30rem;display:flex}.story-controls button{cursor:pointer;place-items:center;height:28px;display:grid}.story-controls button:not(.story-pause){flex:1}.story-controls button[data-guest=true]:not([data-guest=true]~*){margin-left:14px}.story-controls span{border-radius:var(--radius-xs);background:var(--border);width:100%;height:3px;overflow:hidden}.story-controls span:after{content:"";background:var(--primary);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.story-controls [data-done=true] span:after,.story-controls [aria-current] span:after{transform:none}.story-pause{border:1px solid var(--border);width:28px;color:var(--muted-foreground);border-radius:50%;margin-left:8px}.story-pause:hover{color:var(--foreground)}.story[data-playing=false] *,.story[data-playing=false] :before,.story[data-playing=false] :after{animation-play-state:paused!important}.dev-phone{background:#2e2230;border-radius:46px;width:300px;padding:12px;position:relative;box-shadow:0 50px 80px -40px #48334599,inset 0 0 0 2px #ffffff14}.dev-phone:after{content:"";z-index:30;border-radius:var(--radius-control);background:#2e2230;width:84px;height:22px;margin-left:-42px;position:absolute;top:24px;left:50%}.dev-screen{background:#fff;font-size:12px;position:relative;overflow:hidden}.dev-screen>div{position:absolute;inset:0}.dev-phone .dev-screen{border-radius:var(--radius-dialog);height:560px}.dev-browser{border:1px solid var(--border);border-radius:var(--radius-control);background:#fff;width:520px;overflow:hidden;box-shadow:0 50px 80px -44px #48334599}.dev-bar{border-bottom:1px solid var(--border);background:#f6f2f5;align-items:center;gap:6px;height:36px;padding:0 12px;display:flex}.dev-bar>i{background:#d9cdd6;border-radius:50%;width:9px;height:9px}.dev-bar span{border-radius:var(--radius-sm);color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;background:#fff;flex:1;margin-left:8px;padding:4px 10px;font-size:10.5px;overflow:hidden}.dev-browser .dev-screen{height:400px}.demo-tap{z-index:5;opacity:0;pointer-events:none;background:#48334540;border:2px solid #fff;border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;position:absolute;top:50%;left:50%;box-shadow:0 2px 10px #0004}.demo-btn{background:var(--primary);height:40px;color:var(--primary-foreground);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:12px;font-weight:600;display:flex;position:relative}.demo-btn-outline{color:inherit;background:0 0;border:1px solid}.sc-toast{z-index:6;color:#fff;white-space:nowrap;opacity:0;background:#2e2230;border-radius:999px;align-items:center;gap:6px;padding:10px 16px;display:flex;position:absolute;bottom:20px;left:50%;translate:-50%}.dev-browser .sc-toast{opacity:1;top:14px;bottom:auto}.inv{color:#2e2230;background:#fffdf8}.inv-part{flex-direction:column;justify-content:flex-end;display:flex}.inv-hero{color:#f7e9d7;background:radial-gradient(120% 80% at 50% 25%,#6d4766,#3a2838 55%,#241a23);place-items:center;height:440px;display:grid;position:relative;overflow:hidden}.dev-browser .inv-hero{height:400px}.inv-arch{fill:none;stroke:#d9b88f;stroke-width:1.2px;height:calc(100% - 60px);position:absolute;bottom:0;left:50%;translate:-50%}.inv-draw-inner{opacity:.45}.inv-leaf{fill:#d9b88f;stroke:none;opacity:.85;transform-box:fill-box;transform-origin:50%}.inv-sparkle{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:.7;background:#f3dfcc;width:10px;height:10px;position:absolute}.inv-hero-text{text-align:center;justify-items:center;gap:7px;padding-top:56px;display:grid;position:relative}.inv-hero-text small{color:#d9b88f;font-size:12px}.inv-hero-text small:last-child{color:#f7e9d7;opacity:.8;font-size:11px}.inv-hero-text p{letter-spacing:.3em;text-transform:uppercase;opacity:.8;font-size:9px;font-weight:600}.inv-hero-text h3{font-family:var(--font-display);font-size:46px;font-weight:400;line-height:.95}.inv-hero-text h3 em{font-family:var(--font-display-italic);color:#d9b88f;margin:4px 0;font-size:28px;display:block}.dev-browser .inv-hero-text h3{font-size:52px}.inv-rule{background:linear-gradient(90deg,#0000,#d9b88f,#0000);width:96px;height:1px;margin:6px 0;position:relative}.inv-rule:after{content:"";background:#d9b88f;width:7px;height:7px;margin-left:-3.5px;position:absolute;top:-3px;left:50%;rotate:45deg}.inv-hero-text b{font-family:var(--font-display);letter-spacing:.12em;color:#f3dfcc;font-size:20px;font-weight:400}.inv-tibeb{background:#2e2230 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12'%3E%3Cpath d='M9 1l5 5-5 5-5-5z' fill='none' stroke='%23d9b88f' stroke-width='1.2'/%3E%3Ccircle cx='9' cy='6' r='1.3' fill='%23d9b88f'/%3E%3Cpath d='M0 6h3M15 6h3' stroke='%23d9b88f'/%3E%3C/svg%3E") 50%/18px 12px repeat-x;border-block:2px solid #d9b88f;height:18px}.inv section:not(.inv-hero) small{color:var(--muted-foreground);letter-spacing:.25em;text-transform:uppercase;font-size:9px;font-weight:600}.inv-welcome{text-align:center;font-family:var(--font-display-italic);padding:34px 30px 18px;font-size:17px;font-style:italic;line-height:1.5}.inv-schedule{justify-items:center;padding:8px 28px 28px;display:grid}.inv-schedule ol{width:min(100%,240px);margin-top:14px}.inv-schedule li{border-left:1px solid #d9b88f;grid-template-columns:70px 1fr;padding:8px 0 8px 18px;display:grid;position:relative}.inv-schedule li:before{content:"";background:#d9b88f;border-radius:50%;width:7px;height:7px;margin-top:-3.5px;position:absolute;top:50%;left:-4px}.inv-schedule b{font-family:var(--font-display);color:var(--primary);font-weight:500}.inv-venue{text-align:center;border-top:1px solid #eadfe6;gap:6px;padding:26px 24px;display:grid}.inv-venue strong,.inv-rsvp strong{font-family:var(--font-display);font-size:22px;font-weight:500}.inv-venue>span:not(.demo-btn),.inv-rsvp>span:not(.demo-btn,.inv-seal){color:var(--muted-foreground)}.inv-map{border-radius:var(--radius-item);background:#efe9dc;width:100%;height:72px;margin:6px 0}.inv-venue .demo-btn{height:36px}.inv-rsvp{text-align:center;background:#f3e6ee;justify-items:center;gap:6px;padding:28px 24px 32px;display:grid}.inv-rsvp .demo-btn{min-width:180px;margin-top:8px}.inv-seal{color:#f3dfcc;width:54px;height:54px;font-family:var(--font-display);background:radial-gradient(circle at 35% 30%,#9b6789,#5b3a55);border-radius:50%;place-items:center;margin-bottom:6px;font-size:15px;display:grid;box-shadow:inset 0 0 0 3px #fff2,0 6px 14px -6px #48334599}.dev-browser .inv>section:not(.inv-hero,.inv-rsvp){max-width:400px;margin-inline:auto}.dev-screen>.sc-scroll{bottom:auto}.sc-start{text-align:center;align-content:center;gap:18px;padding:24px;display:grid}.sc-start strong{font-family:var(--font-display);font-size:24px;font-weight:500}.chat-input{border:1px solid var(--border);border-radius:var(--radius-surface);text-align:left;align-items:flex-end;gap:10px;min-height:96px;padding:12px 12px 12px 16px;font-size:13px;line-height:1.5;display:flex;box-shadow:0 10px 30px -18px #48334566}.chat-input>span{flex:1;align-self:flex-start}.chat-input b{background:var(--primary);width:32px;height:32px;color:var(--primary-foreground);border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative}.sc-chat{flex-direction:column;justify-content:flex-end;padding:6px 14px 14px;display:flex}.chat-row{overflow-clip-margin:16px;display:flex;overflow:clip}.chat-row>p{border-radius:var(--radius-control) var(--radius-control) var(--radius-control) var(--radius-xs);background:#f3edf1;max-width:80%;margin-top:8px;padding:8px 12px;line-height:1.45}.chat-me{justify-content:flex-end}.chat-me>p{border-radius:var(--radius-control) var(--radius-control) var(--radius-xs) var(--radius-control);background:var(--primary);color:var(--primary-foreground)}.chat-typing{opacity:0;max-height:0}.chat-typing p{gap:4px;padding:11px 12px;display:flex}.chat-typing i{background:var(--muted-foreground);border-radius:50%;width:6px;height:6px;animation:1s infinite pulse-soft}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}.chat-chips{flex-wrap:wrap;gap:6px;padding-top:8px}.chat-chips span{border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-weight:600;display:flex;position:relative}.chat-chips i{border-radius:50%;width:10px;height:10px;box-shadow:inset 0 0 0 1px #0002}.chat-chips .chat-pick{border-color:var(--primary);background:#f3e6ee}.chat-progress{border-radius:var(--radius-xs);background:#e4d9e1;height:4px;margin-top:8px;display:block;overflow:hidden}.chat-progress:after{content:"";background:var(--primary);transform-origin:0;height:100%;display:block}.sc-messages{flex-direction:column;gap:8px;padding:0 12px;display:flex}.sc-messages header{background:#f8f8f8;border-bottom:1px solid #eee;justify-items:center;gap:4px;margin:0 -12px 8px;padding:50px 12px 10px;display:grid;position:relative}.sc-messages header svg{color:#3b82f6;position:absolute;top:64px;left:12px}.sc-messages header span{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:600;display:grid}.sms{border-radius:var(--radius-surface) var(--radius-surface) var(--radius-surface) var(--radius-sm);background:#ecebef;max-width:82%;line-height:1.45;position:relative}p.sms{padding:9px 12px}.sms-art{border-radius:var(--radius-surface) var(--radius-surface) 0 0;color:#f3dfcc;height:96px;font-family:var(--font-display);background:radial-gradient(120% 90% at 50% 20%,#6d4766,#2e2230);grid-auto-flow:column;place-content:center;gap:4px;font-size:30px;display:grid}.sms-art em{font-family:var(--font-display-italic);color:#d9b88f;align-self:center;font-size:22px}.sms-text{padding:8px 12px 10px;display:grid}.sms-text small{color:#777;font-size:10.5px}.sc-slide{background:#fffdf8;box-shadow:-12px 0 30px #0002}.sc-map{background:#efe9dc}.sc-map>svg{position:absolute;inset:0}.map-pin{transform-box:fill-box}.sc-map header,.sc-map footer{border-radius:var(--radius-control);background:#fff;position:absolute;left:12px;right:12px;box-shadow:0 6px 20px #0002}.sc-map header{align-items:center;gap:6px;padding:10px;font-size:13px;display:flex;top:50px}.sc-map header svg{color:#3b82f6}.sc-map footer{color:var(--muted-foreground);gap:2px;padding:14px 16px;display:grid;bottom:14px}.sc-map footer strong{font-family:var(--font-display);color:var(--foreground);font-size:20px;font-weight:500}.sc-calendar{background:#fff;align-content:start;gap:14px;padding:58px 14px 0;display:grid}.sc-calendar>strong{font-family:var(--font-display);font-size:22px;font-weight:500}.cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);row-gap:4px;display:grid}.cal-grid small{color:var(--muted-foreground);padding-bottom:6px;font-size:10px;font-weight:600}.cal-grid span{border-radius:50%;place-items:center;width:30px;height:30px;margin:auto;display:grid}.cal-grid .cal-event{background:var(--primary);color:var(--primary-foreground);font-weight:700}.cal-chip{border-left:3px solid var(--primary);border-radius:var(--radius-item);color:var(--muted-foreground);background:#f3e6ee;gap:2px;padding:10px 12px;display:grid}.cal-chip strong{color:var(--foreground)}.sc-sheet{background:#2e223070}.sc-sheet>div{border-radius:var(--radius-dialog) var(--radius-dialog) 0 0;background:#fffdf8;gap:10px;padding:26px 18px 24px;display:grid;position:absolute;inset:auto 0 0}.sc-sheet>div:before{content:"";border-radius:var(--radius-xs);background:var(--border);width:36px;height:4px;margin-left:-18px;position:absolute;top:9px;left:50%}.sc-sheet strong{text-align:center;font-family:var(--font-display);margin-bottom:4px;font-size:20px;font-weight:500}.rsvp-option{border:1px solid var(--border);border-radius:var(--radius-control);align-items:center;gap:8px;height:44px;padding:0 14px;display:flex;position:relative}.rsvp-option svg{color:var(--primary)}.rsvp-option:not(.rsvp-yes):before{content:"";width:16px}.rsvp-yes{border-color:var(--primary);background:#f3e6ee}.sc-ticket{background:radial-gradient(circle at 50% 20%,#6d4766,#2e2230 70%);place-items:center;padding:50px 18px 18px;display:grid}.sc-ticket>div{border-radius:var(--radius-surface);text-align:center;background:#fffdf8;justify-items:center;gap:3px;width:100%;padding:18px;display:grid;position:relative}.sc-ticket small:first-child{color:var(--muted-foreground);letter-spacing:.25em;text-transform:uppercase;font-size:9px;font-weight:600}.sc-ticket strong{font-family:var(--font-display);font-size:24px;font-weight:500}.sc-ticket>div>span{color:var(--muted-foreground)}.sc-ticket hr{border:0;border-top:1.5px dashed var(--border);width:calc(100% + 36px);margin:12px 0;position:relative;overflow:visible}.sc-ticket hr:before,.sc-ticket hr:after{content:"";background:#3a2a38;border-radius:50%;width:16px;height:16px;position:absolute;top:-9px}.sc-ticket hr:before{left:-8px}.sc-ticket hr:after{right:-8px}.sc-ticket b{font-size:15px}.sc-ticket svg{width:132px;margin:10px 0 6px}.sc-ticket small:last-child{color:var(--muted-foreground);font-size:10.5px}@media (prefers-reduced-motion:no-preference){.story-scene{animation:.6s cubic-bezier(.2,.7,.2,1) both demo-enter}.story-caption article{animation:.5s cubic-bezier(.2,.7,.2,1) both demo-enter}.story-controls [aria-current] span:after{animation:demo-progress var(--duration) linear both}.demo-tap{animation:demo-tap .9s var(--at) both}.sc-toast{animation:demo-toast 2.6s var(--at) both}.dev-browser .sc-toast{animation:demo-pop .4s var(--at) both}.sc-word{animation:demo-fade .15s var(--at) both}.chat-row{animation:demo-row .45s var(--at) both}.chat-typing{animation:demo-typing 1s var(--at) both}.chat-pick,.rsvp-yes{animation:demo-pick .25s var(--at) both}.rsvp-yes svg{animation:demo-fade .2s var(--at) both}.chat-progress:after{animation:demo-fill 2s var(--at) linear both}.sc-scroll{animation:5s ease-in-out 3s both demo-page-scroll}.sc-slide{animation:demo-slide .5s var(--at) cubic-bezier(.3,.7,.3,1) both}.sc-up{animation:demo-up .5s var(--at) cubic-bezier(.3,.7,.3,1) both}.sc-fade{animation:demo-fade .3s var(--at) both}.sc-pop{animation:demo-pop .35s var(--at) both}.map-route{stroke-dasharray:1;animation:demo-draw 1.1s var(--at) ease-in-out both}.map-pin{animation:demo-pin .4s var(--at) both}.cal-grid .cal-event{animation:demo-cal-hit .45s var(--at) both}.inv-draw{stroke-dasharray:1;animation:demo-draw 1.8s calc(var(--inv-delay,0s) + .2s) ease-in-out both}.inv-draw-inner{animation-delay:calc(var(--inv-delay,0s) + .5s)}.inv-leaf{animation:demo-leaf .5s calc(var(--inv-delay,0s) + 1.3s) both}.inv-leaf:nth-child(2n){animation-delay:calc(var(--inv-delay,0s) + 1.5s)}.inv-sparkle{animation:2.4s ease-in-out infinite demo-twinkle}.inv-hero-text>*{animation:demo-rise .7s calc(var(--inv-delay,0s) + .6s) both}.inv-hero-text>:nth-child(2){animation-delay:calc(var(--inv-delay,0s) + .72s)}.inv-hero-text>:nth-child(3){animation-delay:calc(var(--inv-delay,0s) + .84s)}.inv-hero-text>:nth-child(4){animation-delay:calc(var(--inv-delay,0s) + .96s)}.inv-hero-text>:nth-child(n+5){animation-delay:calc(var(--inv-delay,0s) + 1.08s)}}@keyframes demo-tap{0%{opacity:0;transform:scale(1.6)}30%{opacity:1;transform:none}55%{transform:scale(.7)}75%{opacity:.9;transform:none}to{opacity:0}}@keyframes demo-enter{0%{opacity:0;translate:80px}}@keyframes demo-progress{0%{transform:scaleX(0)}}@keyframes demo-toast{0%{opacity:0;transform:translateY(8px)}12%,85%{opacity:1;transform:none}to{opacity:0}}@keyframes demo-fade{0%{opacity:0}}@keyframes demo-pop{0%{opacity:0;transform:translateY(8px)}}@keyframes demo-row{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}@keyframes demo-typing{0%{opacity:0;max-height:0}15%,80%{opacity:1;max-height:60px}to{opacity:0;max-height:0}}@keyframes demo-pick{0%{border-color:var(--border);background:#fff}}@keyframes demo-fill{0%{transform:scaleX(0)}}@keyframes demo-page-scroll{0%{translate:0}40%,55%{translate:0 calc(200px - 50%)}to{translate:0 calc(400px - 100%)}}@keyframes demo-slide{0%{transform:translate(105%)}}@keyframes demo-up{0%{transform:translateY(100%)}}@keyframes demo-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes demo-pin{0%{opacity:0;transform:translateY(-16px)}}@keyframes demo-cal-hit{0%{color:inherit;background:0 0}50%{transform:scale(1.3)}}@keyframes demo-leaf{0%{opacity:0;scale:.2}}@keyframes demo-twinkle{0%,to{opacity:.15;scale:.6}50%{opacity:.9;scale:1}}@keyframes demo-rise{0%{opacity:0;transform:translateY(12px)}}@media (max-width:767px){.story{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:32px}.story-stage{grid-area:1/1;height:396px}.story-scene{place-items:start center}.story-scene>*{zoom:.64}.story-caption{grid-area:2/1;gap:24px}.story-caption article{min-height:11rem}}
