.gate{text-align:center;background:linear-gradient(135deg,#fff 0%,#fbfaf7 55%,#f3eadb 100%);place-items:center;min-height:100svh;padding:24px;transition:opacity .45s;display:grid}.gate[data-phase=expanding],.gate[data-phase=leaving]{z-index:50;pointer-events:none;position:fixed;inset:0;overflow:hidden}.gate[data-phase=leaving]{opacity:0;transition:opacity .85s cubic-bezier(.4,0,.2,1)}.gate[data-phase=expanding] .env-card,.gate[data-phase=leaving] .env-card{z-index:20;box-shadow:none;animation:.85s cubic-bezier(.65,0,.25,1) forwards card-expand}.gate[data-phase=expanding] .env-card>span,.gate[data-phase=leaving] .env-card>span,.gate[data-phase=expanding] .env-shadow,.gate[data-phase=leaving] .env-shadow{opacity:0;transition:opacity .3s}.gate-frame{border:1px solid var(--line);outline-offset:5px;outline:1px solid #c8a96147;flex-direction:column;justify-content:center;align-items:center;width:min(100%,680px);min-height:calc(100svh - 48px);padding:32px 22px 40px;display:flex}.gate-copy{transition:opacity .35s}.gate[data-open] .gate-copy,.gate[data-open] .gate-hint{opacity:0;animation:none}.gate-copy .eyebrow{margin:30px 0 14px}.gate-names{font-size:clamp(46px,11vw,76px)}.gate-copy .date-line{margin-top:34px}.gate-tap{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex}.gate-tap:focus-visible{outline:2px solid var(--gold-light);outline-offset:10px}.gate-hint{letter-spacing:.22em;text-transform:uppercase;color:#a98742;margin-top:26px;font-size:10px;transition:opacity .3s;animation:2.8s ease-in-out infinite gate-hint}.env{--w:min(78vw,320px);width:var(--w);height:calc(var(--w)*.7);margin-top:calc(var(--w)*.62);perspective:1000px;animation:5s ease-in-out infinite env-float;display:block;position:relative}.env>span{display:block;position:absolute}.gate[data-open] .env{animation:none}.env-back{background:linear-gradient(160deg,#eadfc6,#dccaa4);border:1px solid #c9b88f;border-radius:3px;inset:0;box-shadow:0 20px 40px #67563b2e,0 2px 6px #67563b1f}.env-card{z-index:3;border:1px solid var(--line);background:#fff;flex-direction:column;align-items:center;height:84%;padding-top:9%;top:8%;left:7%;right:7%;box-shadow:0 1px 5px #00000014;display:flex!important}.env-card:before{content:"";border:1px solid #c8a9614d;position:absolute;inset:4px}.env-card>span{display:block;position:relative}.env-card-mono{font-family:Cormorant Garamond,serif;font-size:calc(var(--w)*.085);letter-spacing:.1em;color:var(--gold)}.env-card-mono i{color:#b9aa8a}.env-card-orn{margin:calc(var(--w)*.03) 0;font-size:calc(var(--w)*.035);color:var(--gold-light)}.env-card-tag{font-family:Cormorant Garamond,serif;font-size:calc(var(--w)*.055);color:#6b6256;line-height:1.3}.env-pocket{z-index:4;filter:drop-shadow(0 -1px #a0825066);inset:0}.env-pocket i{position:absolute;inset:0}.env-pocket i:first-child{clip-path:polygon(0 0,50% 56%,0 100%);background:linear-gradient(90deg,#efe4cd,#e9dcc0)}.env-pocket i:nth-child(2){clip-path:polygon(100% 0,50% 56%,100% 100%);background:linear-gradient(270deg,#efe4cd,#e9dcc0)}.env-pocket i:nth-child(3){clip-path:polygon(0 100%,50% 56%,100% 100%);background:linear-gradient(#eadfc6,#e4d4b6)}.env-to{z-index:5;color:#7a6a4c;flex-direction:column;align-items:center;gap:1px;max-height:22%;font-family:Cormorant Garamond,serif;line-height:1.15;top:75%;left:20%;right:20%;overflow:hidden;display:flex!important}.env-to small{font-size:calc(var(--w)*.032);letter-spacing:.2em;text-transform:uppercase;color:#a2915f;font-family:DM Sans,sans-serif}.env-to strong{font-size:calc(var(--w)*.05);font-weight:500}.env-flap{z-index:6;transform-origin:50% 0;filter:drop-shadow(0 3px 3px #67563b2e);height:58%;top:0;left:0;right:0}.env-flap-face{clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(#f5ecdc,#eadcc0);position:absolute;inset:0}.env-seal{z-index:7;aspect-ratio:1;color:#fff7e0;width:19%;font:500 calc(var(--w)*.04) "Cormorant Garamond",serif;letter-spacing:.04em;text-shadow:0 1px 1px #00000040;background:radial-gradient(circle at 35% 30%,#dcc283,#b8964b 55%,#9a7b38);border-radius:50%;place-items:center;top:58%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 8px #503c1459,inset 0 0 0 3px #ffffff2e,inset 0 0 0 5px #00000014;display:grid!important}.env-seal:after{content:"";border:1px solid var(--gold-light);border-radius:50%;animation:2.8s ease-out infinite seal-ring;position:absolute;inset:0}.gate[data-open] .env-seal{animation:.5s ease-out forwards seal-break}.gate[data-open] .env-seal:after{opacity:0;animation:none}.gate[data-open] .env-flap{animation:.85s cubic-bezier(.5,0,.2,1) .25s forwards flap-open}.gate[data-open] .env-flap-face{animation:.85s linear .25s forwards flap-back}.gate[data-open] .env-card{animation:1s cubic-bezier(.3,.7,.2,1) 1s forwards card-rise}.gate-frame>*{animation:1s cubic-bezier(.2,.7,.2,1) both gate-in}.gate-copy{animation-delay:.35s}.gate-tap{animation-delay:.1s}.gate-copy>*{animation:.9s cubic-bezier(.2,.7,.2,1) both gate-in}.gate-copy>:first-child{animation-delay:.45s}.gate-copy>:nth-child(2){animation-delay:.6s}.gate-copy>:nth-child(3){animation-delay:.8s}.env-shadow{filter:blur(3px);background:radial-gradient(closest-side,#67563b47,#0000);border-radius:50%;height:18px;animation:5s ease-in-out infinite env-shadow;bottom:-18px;left:6%;right:6%}.gate[data-open] .env-shadow{opacity:.6;animation:none}.gate-tap:hover .env{transform:translateY(-4px)}.env{transition:transform .4s}@keyframes gate-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes env-shadow{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}@keyframes env-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes gate-hint{0%,to{opacity:.55}50%{opacity:1}}@keyframes seal-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@keyframes seal-break{0%{transform:translate(-50%,-50%)scale(1)}30%{transform:translate(-50%,-50%)scale(.86)}to{opacity:0;transform:translate(-50%,-50%)scale(1.3)}}@keyframes flap-open{0%{z-index:6;transform:rotateX(0)}49%{z-index:6}50%{z-index:2}to{z-index:2;transform:rotateX(180deg)}}@keyframes flap-back{0%,49%{background:linear-gradient(#f5ecdc,#eadcc0)}50%,to{background:linear-gradient(#e2d2b0,#d6c39b)}}@keyframes card-rise{to{transform:translateY(-72%)}}@keyframes card-expand{0%{transform:translateY(-72%)}to{transform:translate(var(--dx),var(--dy)) scale(var(--s))}}.hero{animation:.5s both hero-in}.rise{animation:.9s cubic-bezier(.2,.7,.2,1) both rise;animation-delay:var(--d,0s)}@keyframes hero-in{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (max-height:720px){.env{--w:min(66vw,260px)}.gate-copy .eyebrow{margin-top:20px}.gate-copy .date-line{margin-top:22px}}@media (prefers-reduced-motion:reduce){.gate,.env,.gate-hint,.gate-frame>*,.gate-copy>*,.env-shadow,.env-seal:after,.hero,.rise{transition:none!important;animation:none!important}}.reveal{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--rd,0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--rd,0s);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}.button{transition:background .25s,color .25s,transform .25s,box-shadow .25s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #92734238}.button:active{transform:none}.button span{transition:transform .25s}.button:hover span{transform:translate(2px,2px)}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}.count-box{transition:transform .3s,box-shadow .3s}.count-box:hover{transform:translateY(-3px);box-shadow:0 10px 22px #67563b1a}.scratch-card{position:relative;overflow:hidden}.scratch-card:after{content:"";background:linear-gradient(100deg,#0000 35%,#ffffff8c 50%,#0000 65%);animation:3.6s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{60%,to{transform:translate(100%)}}.section .eyebrow:after{content:"";background:var(--gold-light);width:28px;height:1px;margin:14px auto 0;display:block}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.scratch-card:after{animation:none}}.rsvp-form .choice{background:#fffdfa;border:1px solid #d8cbb3;margin:10px 0;padding:14px 16px;transition:border-color .2s,background .2s}.rsvp-form .choice:hover{border-color:var(--gold-light)}.rsvp-form .choice:has(input:checked){border-color:var(--gold);background:#faf3e2}.rsvp-thanks{outline-offset:5px;background:#fffdfa;border:1px solid #d8cbb3;outline:1px solid #c8a96147;max-width:480px;margin:38px auto 0;padding:44px 28px;animation:.9s cubic-bezier(.2,.7,.2,1) both rise}.rsvp-thanks-mark{color:var(--gold);margin-bottom:14px;font-size:18px;display:block}.rsvp-thanks h3{color:#514638;margin:0 0 10px;font-family:Cormorant Garamond,serif;font-size:32px;font-weight:400}.rsvp-thanks p{color:#706a60;margin:0 0 20px;font-size:13px;line-height:1.8}.rsvp-edit{font:inherit;letter-spacing:.16em;text-transform:uppercase;color:#a98742;cursor:pointer;border:0;border-bottom:1px solid var(--gold-light);background:0 0;padding:4px;font-size:10px}.hero-frame{justify-content:center;position:relative}.hero-frame:before,.hero-frame:after{content:"✦";color:var(--gold);background:#fdfcfa;padding:0 12px;font-size:11px;line-height:1;position:absolute;left:50%;transform:translate(-50%)}.hero-frame:before{top:-6px}.hero-frame:after{background:#f6efe2;bottom:-6px}.hero .monogram{white-space:nowrap;border:1px solid var(--gold-light);border-radius:50%;justify-content:center;align-items:center;gap:.35em;width:68px;height:68px;font-size:20px;display:flex;box-shadow:0 0 0 5px #c8a96114}.hero .eyebrow{margin:40px 0 18px}.hero h1{position:relative}.hero h1:before{content:"";z-index:-1;background:radial-gradient(closest-side,#e8d5a329,#0000 90%);position:absolute;inset:-35% -30%}.hero .hero-invitee{flex-direction:column;align-items:center;gap:4px;margin:30px 0 0;display:flex}.hero .hero-invitee strong{font-size:26px}.hero .ornament{margin:34px 0 28px}.hero .tagline{margin-bottom:34px}.hero .date-line{margin-top:44px}.hero .button-outline span{animation:2s ease-in-out infinite nudge}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.hero .button-outline:hover span{animation:none}@media (prefers-reduced-motion:reduce){.hero .button-outline span{animation:none}}.section{position:relative}.section:before{content:"";background:linear-gradient(var(--gold-light),transparent);width:1px;height:46px;position:absolute;top:0;left:50%}.welcome h2,.rsvp h2,.gifts h2{margin-bottom:28px}.body-copy{color:#6a645a;max-width:520px;font-size:15px;line-height:1.95}.welcome .signature{color:#8d8577;margin-top:42px;font-family:Cormorant Garamond,serif;font-size:17px;font-style:italic}.welcome .signature span{margin-top:6px;font-size:30px;font-style:normal;display:block}.welcome .signature:before{content:"✦";color:var(--gold-light);margin-bottom:22px;font-size:12px;font-style:normal;display:block}.section{padding-top:110px;padding-bottom:100px}.count-box{padding:20px 8px 15px;position:relative}.count-box:before{content:"";background:var(--gold-light);width:22px;height:2px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.count-box strong{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum","tnum";font-size:38px;line-height:1.1;animation:.45s cubic-bezier(.2,.7,.2,1) tick}.count-box span{margin-top:4px;display:block}@keyframes tick{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.count-box strong{animation:none}}.countdown{color:#f6efe0;background:radial-gradient(120% 90% at 50% 0,#7a6c52 0%,#5f543f 70%);overflow:hidden}.countdown:before{background:linear-gradient(#e8d5a3,#0000);height:56px}.countdown:after{content:"I & D";white-space:nowrap;letter-spacing:.04em;color:#ffffff0b;pointer-events:none;font:400 clamp(150px,52vw,300px)/1 Cormorant Garamond,serif;position:absolute;bottom:-.28em;left:50%;transform:translate(-50%)}.countdown>*{z-index:1;position:relative}.countdown .eyebrow{color:#e8d5a3}.countdown .eyebrow:after{background:#e8d5a399}.countdown h2{color:#fbf6ea}.count-grid{grid-template-columns:repeat(4,1fr);gap:0;width:100%;max-width:520px;margin:44px auto 26px}.count-box{background:0 0;border:0;padding:6px 4px 4px;box-shadow:none!important;transform:none!important}.count-box:before{display:none}.count-box+.count-box{border-left:1px solid #e8d5a347}.count-box strong{color:#f3e3b6;text-shadow:0 2px 18px #0000002e;font-size:clamp(38px,11vw,58px);font-weight:400}.count-box span{letter-spacing:.22em;color:#f6efe09e;margin-top:8px;font-size:9px}.countdown .small-note{color:#f6efe099;letter-spacing:.14em;text-transform:uppercase;font-size:10px}.countdown .small-note:before{content:"✦";color:#e8d5a3;margin-bottom:12px;font-size:11px;display:block}.countdown:after{content:"I & D";letter-spacing:.06em;color:#0000;-webkit-text-stroke:1px #e8d5a338;font:italic 300 clamp(130px,42vw,250px)/1 Cormorant Garamond,serif;top:54%;bottom:auto;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(closest-side,#000 40%,#0000 100%);mask-image:radial-gradient(closest-side,#000 40%,#0000 100%)}.countdown{padding-bottom:190px}.countdown:after{-webkit-text-stroke:1px #e8d5a357;font-size:clamp(88px,26vw,124px);top:auto;bottom:34px;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.date-card{aspect-ratio:4/5;width:min(100%,300px);font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .35s ease,opacity .9s cubic-bezier(.2,.7,.2,1) var(--rd,0s);background:0 0;border:0;margin:34px auto 22px;padding:0;display:block;position:relative}.date-card:not(:disabled):hover{transform:translateY(-4px)rotate(-.6deg)}.date-card:disabled{cursor:default}.date-card-face,.date-card-cover{border:1px solid #d4c19a;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;box-shadow:0 18px 40px #67563b29,0 2px 6px #67563b1a}.date-card-face{color:#514638;background:#fffdfa;font-family:Cormorant Garamond,serif}.date-card-face:before{content:"";border:1px solid #c8a96166;position:absolute;inset:9px}.date-card-face small{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font:500 10px DM Sans,sans-serif}.date-card-face strong{color:#b8964b;font-variant-numeric:lining-nums;margin:8px 0 2px;font-size:clamp(96px,30vw,128px);font-weight:400;line-height:1}.date-card-face em{letter-spacing:.04em;font-size:30px}.date-card-year{border-top:1px solid var(--gold-light);letter-spacing:.4em;text-indent:.4em;color:#8d8577;margin-top:12px;padding-top:12px;font:400 15px DM Sans,sans-serif}.date-card-cover{z-index:2;clip-path:inset(0);background:linear-gradient(135deg,#d8c394 0%,#f1e6c8 45%,#d3bb86 100%);gap:18px;overflow:hidden}.date-card-cover:before{content:"";border:1px solid #ffffff8c;position:absolute;inset:9px}.date-card-cover:after{content:"";background:linear-gradient(105deg,#0000 35%,#fff9 50%,#0000 65%);animation:3.6s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.date-card-seal{color:#fff7e0;background:radial-gradient(circle at 35% 30%,#dcc283,#b8964b 55%,#9a7b38);border-radius:50%;place-items:center;width:64px;height:64px;font-size:20px;display:grid;box-shadow:0 3px 10px #503c1459,inset 0 0 0 3px #ffffff2e}.date-card-cta{letter-spacing:.24em;text-transform:uppercase;color:#7d6633;font-size:10px}.date-card[data-revealed] .date-card-cover{pointer-events:none;animation:1.1s cubic-bezier(.65,0,.25,1) forwards cover-lift}.date-card[data-revealed] .date-card-face>*{animation:.9s cubic-bezier(.2,.7,.2,1) both rise}.date-card[data-revealed] .date-card-face>:first-child{animation-delay:.5s}.date-card[data-revealed] .date-card-face>:nth-child(2){animation-delay:.65s}.date-card[data-revealed] .date-card-face>:nth-child(3){animation-delay:.8s}.date-card[data-revealed] .date-card-face>:nth-child(4){animation-delay:.95s}.date-card-sparks{pointer-events:none;position:absolute;top:50%;left:50%}.date-card-sparks i{color:var(--gold);opacity:0;font-size:14px;font-style:normal;position:absolute}.date-card[data-revealed] .date-card-sparks i{animation:1.2s ease-out .35s forwards spark}.date-card-note{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px}@keyframes cover-lift{0%{clip-path:inset(0);opacity:1}to{clip-path:inset(0 0 100%);opacity:0}}@keyframes spark{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(.4)}25%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(-150px) scale(1)}}@media (prefers-reduced-motion:reduce){.date-card-cover:after,.date-card-sparks i{animation:none!important}.date-card[data-revealed] .date-card-cover{animation:none;display:none}.date-card[data-revealed] .date-card-face>*{animation:none}}.date-card-cal{margin-top:26px;animation:.9s cubic-bezier(.2,.7,.2,1) 1.5s both rise}.date-card-cover{background-image:repeating-linear-gradient(115deg,#ffffff12 0 2px,#0000 2px 5px),linear-gradient(135deg,#d8c394 0%,#f1e6c8 45%,#d3bb86 100%)}@media (prefers-reduced-motion:reduce){.date-card-cal{animation:none}}.timeline{max-width:440px;margin-top:48px;padding-left:0;position:relative}.timeline:before{content:"";background:linear-gradient(transparent,var(--gold-light) 8%,var(--gold-light) 92%,transparent);width:1px;position:absolute;top:30px;bottom:30px;left:21px}.timeline-item{border-bottom:0;grid-template-columns:44px 1fr;gap:20px;min-height:76px;position:relative}.timeline-star{display:none}.timeline-number{z-index:1;border:1px solid var(--gold-light);font-variant-numeric:lining-nums;color:#a98742;background:#fff;border-radius:50%;place-items:center;width:44px;height:44px;font-size:17px;transition:background .3s,color .3s,border-color .3s;display:grid;position:relative}.timeline-item:hover .timeline-number,.timeline-item:first-child .timeline-number,.timeline-item:last-child .timeline-number{background:var(--gold);border-color:var(--gold);color:#fff}.timeline-item h3{margin:0;font-size:22px;line-height:1.2}.timeline-item p{border:1px solid var(--gold-light);letter-spacing:.14em;color:#a98742;border-radius:20px;margin-top:6px;padding:3px 10px;font-size:10px;display:inline-block}.timeline-item{align-items:center;height:88px;min-height:0}.timeline:before{transform-origin:top;transition:transform 3.1s linear .3s;top:44px;bottom:44px;transform:scaleY(0)}.timeline.in:before{transform:scaleY(1)}.timeline-item{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1);transform:translate(-12px)}.timeline.in .timeline-item{opacity:1;transition-delay:calc(.3s + var(--i) * .5s);transform:none}@media (prefers-reduced-motion:reduce){.timeline:before{transition:none;transform:none}.timeline-item{opacity:1;transition:none;transform:none}}.map-frame{background:#fffdfa;border:1px solid #d8cbb3;width:min(100%,520px);height:300px;margin:36px auto 0;padding:8px;position:relative;box-shadow:0 18px 40px #67563b1f}.map-frame iframe{filter:sepia(.45)saturate(.7)contrast(.95)brightness(1.03);border:0;width:100%;height:100%;display:block}.map-frame:after{content:"";pointer-events:none;position:absolute;inset:8px;box-shadow:inset 0 0 0 1px #c8a96159,inset 0 0 40px #f3eadb59}.venue-card{z-index:1;outline-offset:5px;background:#fffdfa;border:1px solid #d8cbb3;outline:1px solid #c8a96147;width:min(88%,420px);margin:-44px auto 0;padding:34px 24px 30px;position:relative;box-shadow:0 14px 32px #67563b1f}.venue-card-mark{color:var(--gold);margin-bottom:10px;font-size:12px;display:block}.venue-card-name{color:#514638;margin:0 0 12px;font:400 28px/1.1 Cormorant Garamond,serif}.venue-card .address{margin-bottom:24px}.venue-card-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.venue-card-actions .button{flex:150px;justify-content:center}.location{padding-bottom:120px}@media (max-width:420px){.map-frame{height:260px}}.map-frame{border-radius:26px}.map-frame iframe,.map-frame:after{border-radius:19px}.venue-card{outline-offset:6px;border-radius:22px}.venue-card-actions .button{border-radius:999px;flex:0 auto;min-width:200px;padding:14px 22px}.venue-card-actions{flex-direction:column;align-items:center;gap:16px}.venue-copy{border:0;border-bottom:1px solid var(--gold-light);font:inherit;letter-spacing:.18em;text-transform:uppercase;color:#a98742;cursor:pointer;background:0 0;padding:3px 2px;font-size:10px;transition:color .2s,border-color .2s}.venue-copy:hover{color:#7d6633;border-color:var(--gold)}.map-frame{transition:box-shadow .4s}.map-frame:hover{box-shadow:0 24px 50px #67563b2e}.venue-card:before{content:"";background:var(--gold-light);width:56px;height:2px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.avoid-colors{grid-template-columns:repeat(3,1fr);gap:12px;max-width:420px;margin:40px auto 0;display:grid}.color-item{letter-spacing:.16em;text-transform:uppercase;color:#7d7566;text-align:center;opacity:0;background:#faf6ee;border:1px solid #e6dcc7;border-radius:20px;flex-direction:column;justify-content:center;gap:14px;padding:26px 8px 20px;font-size:10px;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .3s;transform:translateY(12px)}.color-item:hover{box-shadow:0 10px 24px #67563b1a}.color-swatch{border-color:#0000001f;width:56px;height:56px;box-shadow:0 6px 14px #3c2d1924,inset 0 0 0 1px #0000000f}.color-swatch:after{background:var(--gold);border-radius:2px;width:calc(100% + 12px);height:2px;transition:transform .6s cubic-bezier(.5,0,.2,1);top:50%;left:50%;right:auto;transform:translate(-50%,-50%)rotate(-42deg)scaleX(0);box-shadow:0 0 0 1px #ffffff8c}.avoid-colors.in .color-item{opacity:1;transition-delay:calc(.15s + var(--i) * .12s);transform:none}.avoid-colors.in .color-swatch:after{transition-delay:calc(.7s + var(--i) * .12s);transform:translate(-50%,-50%)rotate(-42deg)scaleX(1)}@media (prefers-reduced-motion:reduce){.color-item{opacity:1;transition:none;transform:none}.color-swatch:after{transition:none;transform:translate(-50%,-50%)rotate(-42deg)}}.balance{text-wrap:balance}.polaroids{width:min(100%,300px);height:290px;margin:44px auto 0;position:relative}.polaroid{transform-origin:50% 90%;background:#fff;border:1px solid #ece3d0;border-radius:6px;width:176px;height:218px;padding:12px 12px 0;transition:transform .6s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;left:50%;box-shadow:0 14px 30px #67563b29,0 2px 5px #67563b14}.polaroid i{background:linear-gradient(145deg,#eadfc6,#dccaa4);border-radius:3px;place-items:center;height:158px;display:grid}.polaroid b{color:#fff7e0;text-shadow:0 1px 6px #785f2859;font-size:26px;font-weight:400}.polaroid em{color:#8d7a4f;text-align:center;margin-top:14px;font:italic 400 19px Cormorant Garamond,serif;display:block}.p1{transform:translate(-50%)translate(-58px,14px)rotate(-9deg)}.p3{transform:translate(-50%)translate(58px,14px)rotate(9deg)}.p2{z-index:2;top:22px;transform:translate(-50%)rotate(-1.5deg)}.p1 i{background:linear-gradient(145deg,#efe6d2,#e3d3b2)}.p3 i{background:linear-gradient(145deg,#e6d9bd,#d7c398)}.reveal.in .p1{animation:1.2s cubic-bezier(.2,.7,.2,1) .3s both fan-l}.reveal.in .p3{animation:1.2s cubic-bezier(.2,.7,.2,1) .3s both fan-r}@keyframes fan-l{0%{transform:translate(-50%)translateY(22px)rotate(0)}}@keyframes fan-r{0%{transform:translate(-50%)translateY(22px)rotate(0)}}.polaroids:hover .p1{transform:translate(-50%)translate(-74px,10px)rotate(-12deg)}.polaroids:hover .p3{transform:translate(-50%)translate(74px,10px)rotate(12deg)}.photos-note{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px}@media (prefers-reduced-motion:reduce){.reveal.in .p1,.reveal.in .p3{animation:none}}.gift-envelope{width:150px;height:104px;margin:44px auto 40px;animation:5s ease-in-out infinite env-float;position:relative}.gift-envelope>span{display:block;position:absolute}.ge-back{background:linear-gradient(160deg,#eadfc6,#dccaa4);border:1px solid #c9b88f;border-radius:8px;inset:0;box-shadow:0 18px 30px #67563b2e}.ge-card{border:1px solid var(--line);z-index:1;background:#fff;border-radius:4px;height:72%;transition:transform .7s cubic-bezier(.2,.7,.2,1);top:10%;left:9%;right:9%}.ge-front{z-index:2;clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);background:linear-gradient(90deg,#efe4cd,#e9dcc0) 0 0/50% 100% no-repeat,linear-gradient(270deg,#efe4cd,#e9dcc0) 100% 0/50% 100% no-repeat;border-radius:8px;inset:0}.ge-flap{z-index:3;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;filter:drop-shadow(0 3px 3px #67563b2e);background:linear-gradient(#f5ecdc,#eadcc0);border-radius:8px 8px 0 0;height:58%;transition:transform .7s cubic-bezier(.5,0,.2,1);top:0;left:0;right:0}.ge-seal{z-index:4;color:#fff7e0;background:radial-gradient(circle at 35% 30%,#dcc283,#b8964b 55%,#9a7b38);border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;transition:opacity .4s;top:58%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #503c1459,inset 0 0 0 2px #ffffff2e;display:grid!important}.gift-envelope.in .ge-flap{z-index:0;transition-delay:1.1s;transform:rotateX(180deg)}.gift-envelope.in .ge-seal{opacity:0;transition-delay:1s}.gift-envelope.in .ge-card{transition-delay:1.7s;transform:translateY(-28px)}.gift-envelope:before{content:"";opacity:0;background:radial-gradient(closest-side,#e8d5a380,#0000);width:260px;height:200px;transition:opacity 1.4s 1.5s,transform 1.4s 1.5s;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)scale(.6)}.gift-envelope.in:before{opacity:1;transform:translate(-50%,-50%)scale(1)}.ge-card{letter-spacing:.16em;color:var(--gold);justify-content:center;padding-top:9px;font:400 11px Cormorant Garamond,serif;display:flex}.gift-pref{color:#8f743d;white-space:nowrap;font:italic 500 1.12em Cormorant Garamond,serif}.gift-thanks{letter-spacing:.04em;color:#8d8577;margin:34px 0 0;font:400 13px DM Sans,sans-serif}.gift-thanks:before{content:"✦";color:var(--gold-light);margin-bottom:18px;font-size:11px;display:block}@media (prefers-reduced-motion:reduce){.gift-envelope{animation:none}.gift-envelope .ge-flap,.gift-envelope .ge-seal,.gift-envelope .ge-card,.gift-envelope:before{transition:none!important}}.gift-envelope{margin:96px auto 44px}.ge-card{height:80%;top:6%}.gift-envelope.in .ge-card{transform:translateY(-34px)}@keyframes gift-flap{0%{z-index:3;transform:rotateX(0)}49%{z-index:3}50%{z-index:0}to{z-index:0;transform:rotateX(180deg)}}@keyframes gift-flap-bg{0%,49%{background:linear-gradient(#f5ecdc,#eadcc0)}50%,to{background:linear-gradient(#e2d2b0,#d3bf94)}}@media (prefers-reduced-motion:reduce){.gift-envelope.in .ge-flap{z-index:0;background:linear-gradient(#e2d2b0,#d3bf94);animation:none;transform:rotateX(180deg)}}.ge-front{clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%)}.ge-card{height:84%;transition:none;top:10%;transform:translateY(-46px)}.ge-flap{z-index:0;background:linear-gradient(#e2d2b0,#d3bf94);transition:none;transform:rotateX(180deg)}.ge-seal{opacity:0;transition:none;transform:translate(-50%,-50%)scale(1.7)}.gift-envelope.in .ge-card{animation:1.1s cubic-bezier(.55,0,.3,1) .4s forwards gift-card-in;transform:translateY(-46px)}.gift-envelope.in .ge-flap{transition:none;animation:.9s cubic-bezier(.5,0,.2,1) 1.7s forwards gift-flap-close,.9s linear 1.7s forwards gift-flap-bg-close;transform:rotateX(180deg)}.gift-envelope.in .ge-seal{opacity:0;transition:none;animation:.55s cubic-bezier(.3,1.4,.5,1) 2.55s forwards gift-seal}@keyframes gift-card-in{to{transform:translateY(0)}}@keyframes gift-flap-close{0%{z-index:0;transform:rotateX(180deg)}49%{z-index:0}50%{z-index:3}to{z-index:3;transform:rotateX(0)}}@keyframes gift-flap-bg-close{0%,49%{background:linear-gradient(#e2d2b0,#d3bf94)}50%,to{background:linear-gradient(#f5ecdc,#eadcc0)}}@keyframes gift-seal{0%{opacity:0;transform:translate(-50%,-50%)scale(1.7)}60%{opacity:1}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.gift-envelope.in .ge-card,.gift-envelope.in .ge-flap,.gift-envelope.in .ge-seal{animation:none}.ge-card{transform:none}.ge-flap{z-index:3;background:linear-gradient(#f5ecdc,#eadcc0);transform:none}.ge-seal{opacity:1;transform:translate(-50%,-50%)}}.ge-card{opacity:0;transition:none;transform:translateY(-110px)rotate(-5deg)}.ge-flap{z-index:3;background:linear-gradient(#f5ecdc,#eadcc0);transform:none}.ge-seal{opacity:1;transform:translate(-50%,-50%)}.gift-envelope .ge-back{transition:box-shadow .8s}.gift-envelope.in .ge-seal{opacity:1;animation:.45s ease-in .25s forwards gift-seal-break,.6s cubic-bezier(.3,1.4,.5,1) 4.05s forwards gift-seal;transform:translate(-50%,-50%)}.gift-envelope.in .ge-flap{z-index:3;animation:.95s cubic-bezier(.5,0,.2,1) .55s forwards gift-flap-open,.95s linear .55s forwards gift-flap-bg-open,.95s cubic-bezier(.5,0,.2,1) 3.2s forwards gift-flap-close,.95s linear 3.2s forwards gift-flap-bg-close;transform:none}.gift-envelope.in .ge-card{opacity:0;animation:1.75s 1.5s forwards gift-card-descend;transform:translateY(-110px)rotate(-5deg)}.gift-envelope:before{transition:opacity 1.3s 4s,transform 1.3s 4s}@keyframes gift-seal-break{to{opacity:0;transform:translate(-50%,-50%)scale(1.35)}}@keyframes gift-flap-open{0%{z-index:3;transform:rotateX(0)}49%{z-index:3}50%{z-index:0}to{z-index:0;transform:rotateX(180deg)}}@keyframes gift-flap-bg-open{0%,49%{background:linear-gradient(#f5ecdc,#eadcc0)}50%,to{background:linear-gradient(#e2d2b0,#d3bf94)}}@keyframes gift-card-descend{0%{opacity:0;animation-timing-function:cubic-bezier(.2,.7,.2,1);transform:translateY(-110px)rotate(-5deg)}34%{opacity:1;animation-timing-function:ease-in-out;transform:translateY(-52px)rotate(1.2deg)}48%{opacity:1;animation-timing-function:cubic-bezier(.55,0,.3,1);transform:translateY(-52px)rotate(0)}to{opacity:1;transform:translateY(0)rotate(0)}}@media (prefers-reduced-motion:reduce){.gift-envelope.in .ge-card,.gift-envelope.in .ge-flap,.gift-envelope.in .ge-seal{animation:none}.ge-card{opacity:1;transform:none}.ge-flap{z-index:3;transform:none}.ge-seal{opacity:1;transform:translate(-50%,-50%)}}.gifts h2{margin-bottom:0}.gift-envelope{margin-top:84px}.rsvp-form{background:#fffdfa;border:1px solid #e6dcc7;border-radius:28px;max-width:460px;margin-top:40px;padding:30px 24px 28px;box-shadow:0 22px 50px #67563b1a}.rsvp-form .rsvp-for{text-align:center;letter-spacing:.2em;text-transform:uppercase;color:#9a917f;background:0 0;border:0;border-bottom:1px solid #eee5d3;border-radius:0;margin:0 0 24px;padding:0 0 22px;font-size:10px}.rsvp-form .rsvp-for strong{letter-spacing:.01em;text-transform:none;margin-top:6px;font-size:26px}.field-label{letter-spacing:.16em;text-transform:uppercase;color:#7d7566;margin:0 0 9px;font-size:10px;display:block}.field-label span{letter-spacing:.06em;text-transform:none;color:#a79e8b}.rsvp-form input:not([type=radio]),.rsvp-form textarea{background:#fff;border-color:#e0d4bb;border-radius:14px;transition:border-color .2s,box-shadow .2s}.rsvp-form input:not([type=radio]):focus,.rsvp-form textarea:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 4px #c8a96129}.rsvp-form fieldset{margin:24px 0}.rsvp-form .choice{color:#5e584e;border-radius:16px;gap:14px;padding:15px 16px;font-size:14px}.rsvp-form .choice input{appearance:none;background:#fff;border:1.5px solid #c9b88f;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;margin:0;transition:border-color .2s,background .2s;display:grid}.rsvp-form .choice input:after{content:"";background:var(--gold);border-radius:50%;width:10px;height:10px;transition:transform .25s cubic-bezier(.3,1.6,.5,1);transform:scale(0)}.rsvp-form .choice input:checked{border-color:var(--gold)}.rsvp-form .choice input:checked:after{transform:scale(1)}.rsvp-form .choice:has(input:focus-visible){box-shadow:0 0 0 3px #c8a96140}.rsvp-form textarea{margin-bottom:4px}.rsvp-form .field-label+textarea,.rsvp-form textarea+.field-label{margin-top:22px}.rsvp-submit{border-radius:999px;padding:16px 22px;box-shadow:0 10px 22px #a8874247}.rsvp-submit:not(:disabled):hover{box-shadow:0 14px 28px #a8874257}.rsvp-thanks{outline-offset:6px;border-radius:28px}@media (max-width:420px){.rsvp-form{padding:26px 18px 24px}}.rsvp-form .rsvp-for strong{text-wrap:balance;line-height:1.2}.field-label span{white-space:nowrap}.field-label+textarea{margin-top:0}.site-footer{color:#f6efe0;text-align:center;font-size:inherit;letter-spacing:normal;background:radial-gradient(120% 120% at 50% 0,#7a6c52 0%,#5f543f 75%);padding:0;position:relative;overflow:hidden}.site-footer p{margin:0}.footer-mark{letter-spacing:.08em;color:#e8d5a3;white-space:nowrap;border:1px solid #e8d5a38c;border-radius:50%;place-items:center;width:54px;height:54px;padding:0;font:400 16px Cormorant Garamond,serif;display:inline-grid}.footer-mark i{color:#e8d5a3b3;padding:0 .2em;font-style:italic}.footer-with{color:#f6efe0b3;font:italic 400 17px Cormorant Garamond,serif;margin-top:26px!important}.footer-names{color:#f3e3b6;font:400 clamp(32px,9vw,42px)/1.1 Cormorant Garamond,serif;margin-top:6px!important}.footer-names i{color:#e8d5a3;font-size:.7em}.footer-meta{letter-spacing:.24em;text-transform:uppercase;color:#f6efe099;font-size:10px;margin-top:22px!important}.footer-meta b{color:#e8d5a3;padding:0 10px;font-weight:400}.footer-mark{justify-content:center;align-items:center;gap:.3em;display:inline-flex}.footer-mark i{padding:0}.gate-landing .env{margin-top:0;animation:5s ease-in-out infinite env-float}.gate-landing .gate-copy{margin-top:8px}.gate-landing .gate-copy .eyebrow{margin:46px 0 14px}.gate-landing .ornament{justify-content:center;margin:30px 0 26px}.landing-lead{color:#5b5142;text-wrap:balance;max-width:360px;margin:0 auto 12px;font:400 clamp(21px,5.6vw,25px)/1.35 Cormorant Garamond,serif}.landing-help{color:#8d8577;text-wrap:balance;max-width:340px;margin:0 auto;font-size:13px;line-height:1.8}.gate-landing .date-line{margin-top:40px}.music-toggle{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#8d7440;cursor:pointer;background:#fffdf8d9;border:1px solid #c8a96199;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:fixed;top:14px;right:14px}.music-toggle[data-on]{color:#fff;background:var(--gold)}.footer-hero{aspect-ratio:3/4.1;width:min(100%,520px);margin:0 auto;position:relative}.footer-photo{object-fit:cover;object-position:50% 12%;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 52%,#0000 98%);mask-image:linear-gradient(#000 0 52%,#0000 98%)}.footer-text{padding:0 24px 52px;position:absolute;bottom:0;left:0;right:0}.footer-text .footer-mark{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#5f543f73}.footer-names{text-shadow:0 2px 18px #00000073}.site-footer{background:linear-gradient(#fbf8f2 0,#6b5f48 70%,#5f543f 100%)}.footer-hero:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#fbf8f2 0,#fbf8f2d9 22%,#fbf8f200 100%);height:34%;position:absolute;inset:0 0 auto}.footer-text{z-index:2}
