.invitation{min-height:100svh;padding:var(--space-8) var(--space-5);isolation:isolate;place-items:center;display:grid;position:relative}.invitation-wash{z-index:-1;pointer-events:none;background:linear-gradient(to bottom, var(--olive-tint) 0%, var(--aqua-tint) 72%, var(--aqua-tint) 100%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 86%,#0000 100%);mask-image:linear-gradient(#000 0% 86%,#0000 100%)}.stage{place-items:center;width:min(560px,90vw);display:grid;position:relative}.card{z-index:1;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);width:min(520px,88vw);box-shadow:var(--shadow-lg);text-align:center;opacity:0;will-change:opacity;flex-direction:column;transition:opacity .9s 1.1s;display:flex;position:relative;overflow:hidden}.invitation.is-open .card{opacity:1}.card-body{padding:clamp(var(--space-6), 5.2vw, var(--space-8)) clamp(var(--space-6), 6vw, var(--space-8));position:relative}.card-corner{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:-1;width:clamp(130px,38%,188px);height:auto;position:absolute;top:0;left:0}.card-names{font-family:var(--font-calligraphy);color:var(--fg1);margin:var(--space-10) 0 var(--space-7);font-size:clamp(38px,8.6vw,60px);font-weight:500;line-height:1.04}.card-amp{font-family:var(--font-script);color:var(--primary);vertical-align:.04em;margin:0 .5em 0 .3em;font-size:.8em;font-weight:600}.card-invite{font-family:var(--font-mtavruli);letter-spacing:.05em;color:var(--fg2);margin:0 auto var(--space-6);text-wrap:balance;max-width:384px;font-size:16px;line-height:1.5}.card-invite .invite-name{color:var(--fg1);font-weight:400}.card-dateblock{margin:0 auto var(--space-6);max-width:380px}.dbk-grid{grid-template-columns:auto auto auto;justify-content:center;align-items:center;gap:clamp(12px,3vw,22px);display:grid}.dbk-center{flex-direction:column;align-items:center;line-height:1;display:flex}.dbk-month{font-family:var(--font-mtavruli);letter-spacing:.12em;color:var(--sage-deep);font-size:15px}.dbk-day{font-family:var(--font-display);color:var(--fg1);margin:6px 0 4px;font-size:clamp(46px,11vw,64px);font-weight:600;line-height:1.05}.dbk-year{font-family:var(--font-display);letter-spacing:.06em;color:var(--sage-deep);font-size:16px}.dbk-side{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.dbk-side:before,.dbk-side:after{content:"";background:var(--sage);opacity:.8;width:66px;height:1.5px}.dbk-side span{font-family:var(--font-mtavruli);letter-spacing:.06em;color:var(--ink-soft);white-space:nowrap;font-size:14px}.card-where{flex-flow:wrap;justify-content:center;align-items:center;gap:4px 8px;display:flex}.where-pin{width:17px;height:17px;color:var(--sage);flex:none;transform:translateY(-2.2px)}.where-sep{background:var(--sage);opacity:.55;flex:none;width:1.5px;height:.75em;font-size:15px;transform:translateY(-.098em)}.card-venue,.card-place{font-family:var(--font-mtavruli);letter-spacing:.05em;font-size:12px;font-weight:400}.card-venue{color:var(--fg1)}.card-venue:hover{color:var(--sage-deep)}.card-place{color:var(--fg2)}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card-note{font-family:var(--font-body);color:var(--fg2);text-wrap:pretty;max-width:36ch;margin:0 auto;font-size:16px;font-style:italic;line-height:1.75}.envelope{z-index:5;aspect-ratio:1.52;perspective:900px;perspective-origin:50% 0;width:min(560px,90vw);transform-style:preserve-3d;filter:drop-shadow(0 22px 36px #3a4a3829);cursor:pointer;will-change:opacity;transition:opacity .8s .9s,filter .8s .9s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.invitation.is-open .envelope{opacity:0;filter:drop-shadow(0 6px 14px #3a4a380d);pointer-events:none}.envelope-body,.env-flap-left,.env-flap-right,.env-flap-bottom,.envelope-top{position:absolute;inset:0}.envelope-body{border-radius:var(--radius-md);background:#cfe0c6;border:1px solid #a6c39c;box-shadow:inset 0 0 60px #6e9a630d}.env-flap-left,.env-flap-right,.env-flap-bottom{border-radius:var(--radius-md)}.env-flap-left{clip-path:polygon(0 0,0 100%,50% 50%);background:linear-gradient(110deg,#bdd4b2,#a7c59b)}.env-flap-right{clip-path:polygon(100% 0,100% 100%,50% 50%);background:linear-gradient(250deg,#bdd4b2,#a7c59b)}.env-flap-bottom{clip-path:polygon(0 100%,100% 100%,50% 50%);background:linear-gradient(#c4d9ba,#b3cda8);box-shadow:0 -1px #3a4a380d}.env-flap-bottom:after{content:"";clip-path:polygon(0 100%,100% 100%,50% 50%);background:linear-gradient(to top right,#0000 calc(50% - .5px),#6e9a632e 50%,#0000 calc(50% + .5px)),linear-gradient(to top left,#0000 calc(50% - .5px),#6e9a632e 50%,#0000 calc(50% + .5px));position:absolute;inset:0}.envelope-top{clip-path:polygon(0 0,100% 0,50% 50%);border-radius:var(--radius-md);transform-origin:50% 0;filter:drop-shadow(0 2px 4px #3a4a3814);z-index:3;backface-visibility:visible;background:linear-gradient(185deg,#c6dbbc,#abc8a0);transition:transform .98s cubic-bezier(.55,.06,.42,1) .2s;transform:rotateX(0)}.invitation.is-open .envelope-top{z-index:1;transform:rotateX(-165deg)}.seal{aspect-ratio:1;z-index:6;background:radial-gradient(circle at 36% 30%,#9cc290,#84b179 46%,#6e9a63 82%,#5a7f50 100%);border-radius:50%;place-items:center;width:clamp(74px,17%,104px);transition:opacity .28s ease-out 80ms,transform .36s cubic-bezier(.4,0,.2,1) 80ms;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px #3a4a3847,inset 0 2px 3px #ffffff59,inset 0 -4px 8px #3a4a384d}.invitation.is-open .seal{opacity:0;transform:translate(-50%,-50%)scale(.7)}.seal:before{content:"";border:1.5px solid #f6f4e88c;border-radius:50%;position:absolute;inset:7%}.seal-mark{filter:drop-shadow(0 1px 1px #3a4a384d);z-index:1;width:64%;height:auto;position:relative}.card-scene{aspect-ratio:3168/1344;z-index:0;width:100%;position:relative}.scene-bg{background:url(/assets/invitation-landscape.png) bottom/100% 100% no-repeat,linear-gradient(90deg,#f4d6d2 0%,#f3e1d4 25%,#f4ead8 50%,#e3e9dc 75%,#d9e5e5 100%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 34%);mask-image:linear-gradient(#0000 0%,#000 34%)}.couple{z-index:2;pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}.couple-fig{filter:drop-shadow(0 10px 16px #3a4a3829);opacity:0;width:auto;display:block}.couple-fig-groom{height:clamp(104px,30vw,172px);transform:translate(40px)}.couple-fig-bride{height:clamp(96px,27.5vw,158px);margin-right:-2%;transform:translate(-40px)}@keyframes couple-glide-from-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes couple-glide-from-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.invitation.is-open .couple-fig-groom{animation:1.1s cubic-bezier(.22,.61,.36,1) 2.35s both couple-glide-from-right}.invitation.is-open .couple-fig-bride{animation:1.1s cubic-bezier(.22,.61,.36,1) 2.35s both couple-glide-from-left}.scroll-cue{bottom:var(--space-7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-soft);border-radius:var(--radius-pill);font-family:var(--font-body);letter-spacing:.03em;color:var(--fg2);box-shadow:var(--shadow-sm);z-index:6;opacity:0;background:#f6f4e8c7;align-items:center;gap:10px;padding:11px 20px;font-size:13px;transition:opacity .8s 2.7s,background .2s,color .2s,box-shadow .2s;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.invitation.is-open .scroll-cue{opacity:1}.scroll-cue:hover{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-md)}.scroll-cue svg{width:16px;height:16px;color:var(--secondary);animation:2.6s ease-in-out infinite cue-bob}@keyframes cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.invite-rsvp{padding:clamp(var(--space-8), 12vw, var(--space-10)) var(--space-5) clamp(var(--space-9), 14vw, var(--space-10));justify-content:center;display:flex}.invite-rsvp.is-locked{display:none}.rsvp-inner{text-align:center;width:min(560px,92vw)}.rsvp-divider{width:min(240px,60%);height:auto;margin:0 auto var(--space-5);opacity:.9;display:block}.rsvp-eyebrow{font-family:var(--font-body);letter-spacing:.12em;color:var(--primary);margin:0 0 var(--space-3);font-size:13px;font-weight:600}.rsvp-title{font-family:var(--font-display);color:var(--fg1);margin:0 0 var(--space-3);text-wrap:balance;font-size:clamp(28px,6.6vw,40px);font-weight:500;line-height:1.2}.rsvp-sub{font-family:var(--font-body);color:var(--fg2);margin:0 0 var(--space-2);font-size:18px}.rsvp-fallback{font-family:var(--font-body);color:var(--fg2);background:var(--surface-aqua);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:var(--space-4) auto 0;max-width:44ch;font-size:16px}.rsvp-card{margin-top:var(--space-7);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:clamp(var(--space-6), 6vw, var(--space-8));text-align:left}.field{margin-bottom:var(--space-5)}.field:last-of-type{margin-bottom:var(--space-6)}.field>label{font-family:var(--font-body);letter-spacing:.04em;color:var(--fg1);margin-bottom:var(--space-3);font-size:16px;font-weight:600;display:block}.field .opt{letter-spacing:0;opacity:.6;font-weight:400}.field textarea{resize:vertical;width:100%;min-height:96px;font-family:var(--font-body);color:var(--fg1);background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:16px}.field textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--sage)}.seg{gap:var(--space-2);background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-md);padding:5px;display:flex}.seg button{font-family:var(--font-body);color:var(--fg2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;flex:1;padding:12px 10px;font-size:16px;transition:background .2s,color .2s,box-shadow .2s}.seg button.on{background:var(--surface);color:var(--sage-deep);box-shadow:var(--shadow-sm);font-weight:600}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{font-family:var(--font-body);color:var(--fg2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);text-align:center;cursor:pointer;min-width:44px;padding:9px 16px;font-size:16px;transition:background .2s,color .2s,border-color .2s}.chip:hover{border-color:var(--sage)}.chip.on{background:var(--sage-tint);color:var(--sage-deep);border-color:var(--sage);font-weight:600}.rsvp-submit{width:100%;font-family:var(--font-body);color:var(--fg-on-accent);background:var(--primary);border-radius:var(--radius-md);cursor:pointer;border:0;padding:16px;font-size:18px;font-weight:600;transition:background .2s,transform .1s,box-shadow .2s}.rsvp-submit:hover{background:var(--primary-hover)}.rsvp-submit:active{background:var(--primary-press);transform:translateY(1px)}.rsvp-edit{font-family:var(--font-body);color:var(--sage-deep);border:1px solid var(--sage);border-radius:var(--radius-md);margin-top:var(--space-5);cursor:pointer;background:0 0;padding:12px 22px;font-size:16px;transition:background .2s}.rsvp-edit:hover{background:var(--sage-tint)}.rsvp-thanks{text-align:center;padding:var(--space-4) 0}.rsvp-thanks .wreath{width:132px;height:auto;margin:0 auto var(--space-4);opacity:.92;display:block}.rsvp-thanks h3{font-family:var(--font-display);color:var(--fg1);margin:0 0 var(--space-3);font-size:clamp(24px,5.4vw,30px);font-weight:500}.rsvp-thanks p{font-family:var(--font-body);color:var(--fg2);max-width:40ch;margin:0 auto;font-size:18px;line-height:1.75}.invite-more{margin-top:clamp(var(--space-2), 5vw, var(--space-5));padding-top:clamp(var(--space-6), 8vw, var(--space-7));border-top:1px solid var(--border-soft);text-align:center}.invite-more-leaf{opacity:.55;width:52px;height:auto;margin:0 auto var(--space-3);display:block;transform:rotate(184deg)}.invite-more-text{font-family:var(--font-body);color:var(--fg2);max-width:38ch;margin:0 auto var(--space-5);text-wrap:pretty;font-size:18px;line-height:1.75}.invite-more-btn{align-items:center;gap:var(--space-2);font-family:var(--font-body);color:var(--sage-deep);background:var(--surface);border:1px solid var(--sage);border-radius:var(--radius-pill);padding:14px 28px;font-size:18px;font-weight:600;transition:background .2s,color .2s,box-shadow .2s,transform .1s;display:inline-flex}.invite-more-btn svg{width:18px;height:18px;transition:transform .2s}.invite-more-btn:hover{background:var(--sage);color:var(--fg-on-accent);box-shadow:var(--shadow-sm)}.invite-more-btn:hover svg{transform:translate(3px)}@media (prefers-reduced-motion:reduce){.card{opacity:0;transition:opacity .6s}.envelope{transition:opacity .6s}.envelope-top,.invitation.is-open .envelope-top{transition:none;transform:none}.seal{transition:opacity .6s}.invitation.is-open .seal{transform:translate(-50%,-50%)}.couple-fig{opacity:1;transition:none;animation:none;transform:none}.scroll-cue{transition:opacity .6s}.scroll-cue svg{animation:none}}@media (max-width:540px){.invitation{padding:var(--space-6) var(--space-4)}.card-body{padding:clamp(28px,7vw,44px) clamp(22px,6vw,36px)}.dbk-day{font-size:clamp(42px,13vw,56px)}.dbk-side:before,.dbk-side:after{width:60px}.card-invite{letter-spacing:.02em;font-size:13px}.card-venue,.card-place,.where-sep{font-size:11px}.where-pin{width:15px;height:15px;transform:translateY(-1.8px)}.card-corner{width:clamp(110px,40%,150px)}.seg{flex-direction:column}.seal{width:clamp(64px,17%,90px)}.scroll-cue{bottom:var(--space-6);gap:8px;padding:9px 16px;font-size:11px}.scroll-cue svg{width:14px;height:14px}.invite-rsvp{padding:var(--space-7) var(--space-4) var(--space-8)}.rsvp-card{padding:var(--space-5)}.invite-more-btn{padding:12px 22px;font-size:14px}}.rsvp-error{color:#a3271f;font-family:var(--font-body);text-align:center;margin:8px 0 0;font-size:15px}
