:root{--carbon:#14130f;--carbon-2:#1c1b15;--agave:#4a5a3a;--agave-deep:#313d26;--agave-soft:#7c8f64;--ivory:#ece3cf;--ivory-soft:#c9bd9f;--gold:#b08c4f;--copper:#a9683f;--sage:var(--agave);--sage-deep:var(--agave-deep);--sage-soft:var(--agave-soft);--cream:var(--carbon);--cream-2:var(--carbon-2);--ink:var(--ivory);--ink-soft:var(--ivory-soft);--white:var(--ivory);--line:#ece3cf29;--sh-sm:0 4px 14px -8px #0000008c;--sh-md:0 18px 38px -22px #0009;--sh-lg:0 34px 70px -34px #000000b3;--paper-texture: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.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");--paper-texture-envelope:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='ne'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.6' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23ne)' opacity='0.8'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--cream);padding-bottom:env(safe-area-inset-bottom);min-height:100vh;color:var(--ink);letter-spacing:.01em;-webkit-font-smoothing:antialiased;font-family:Cormorant Garamond,serif;line-height:1.6;overflow-x:hidden}#root{width:100%;min-height:100vh}.pf{font-family:Playfair Display,serif}.gv{font-family:Great Vibes,cursive}.envelope-scene{z-index:2;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:8vh 1.25rem;display:flex;position:relative}.cover-bg-dark{background:radial-gradient(ellipse at 50% 45%, var(--carbon-2) 0%, var(--carbon) 60%, #0c0b08 100%);position:absolute;inset:0}.env-box{aspect-ratio:420/280;z-index:10;position:relative}.env-box--static{width:min(88vw,480px)}.env-inside{background:linear-gradient(155deg,#1c2418 0%,#12160e 100%);border-radius:6px;position:absolute;inset:0;box-shadow:inset 0 0 40px #00000080}.env-fold{z-index:5;perspective:1100px;position:absolute}.env-fold-face{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;filter:drop-shadow(0 6px 14px #00000059);transition:transform 1s cubic-bezier(.65,0,.35,1)}.env-fold--bottom{transform-origin:bottom;z-index:4;height:40%;bottom:0;left:0;right:0}.env-fold--bottom .env-fold-face{transform-origin:bottom}.env-fold--left{transform-origin:0;z-index:6;width:50%;top:0;bottom:0;left:0}.env-fold--left .env-fold-face{transform-origin:0}.env-fold--right{transform-origin:100%;z-index:6;width:50%;top:0;bottom:0;right:0}.env-fold--right .env-fold-face{transform-origin:100%}.env-fold--top{transform-origin:top;z-index:8;pointer-events:none;height:60%;top:0;left:0;right:0}.env-fold--top .env-fold-face{transform-origin:top;position:relative}.env-seal-btn{z-index:9;cursor:pointer;background:0 0;border:none;width:clamp(104px,30vw,160px);margin:0;padding:0;transition:opacity .5s,transform .5s cubic-bezier(.34,1.56,.64,1);position:absolute;top:60%;left:50%;transform:translate(-50%,-50%)}.env-seal-btn:disabled{cursor:default;pointer-events:none}.env-seal-btn img{filter:drop-shadow(0 6px 14px #00000073);width:100%;height:auto;display:block}.env-seal-btn__text{letter-spacing:.02em;color:#e8cf9c;font-family:Alex Brush,cursive;font-size:clamp(.3rem,4vw,1.8rem);font-weight:400;position:absolute;top:47.4%;left:49%;transform:translate(-50%,-50%)}.env-hint--tap{color:var(--ink-soft);letter-spacing:.22em;text-transform:uppercase;pointer-events:none;white-space:nowrap;z-index:5;flex-direction:column;align-items:center;gap:5px;margin-top:1.4rem;font-family:Cormorant Garamond,serif;font-size:12px;animation:2s ease-in-out infinite tap-pulse;display:flex}@keyframes tap-pulse{0%,to{opacity:.55}50%{opacity:1}}.invite-content{z-index:20;opacity:0;pointer-events:none;background-image:linear-gradient(#040403e6 0%,#040403f2 55%,#040403fc 100%),url(/savethedate/img/agave_desk.jpeg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-color:var(--carbon);border-radius:18px;transition:opacity .6s .35s,transform .6s cubic-bezier(.22,1,.36,1) .35s;position:fixed;inset:8px;overflow:hidden;transform:scale(.96);box-shadow:0 20px 60px #0000008c}@media (width<=640px){.invite-content{background-image:linear-gradient(#040403fc 0%,#040403de 50% 60%,#040403fc 100%),url(/savethedate/img/agave_mobile.jpeg);background-position:50%}}.invite-content--open{opacity:1;pointer-events:auto;transform:scale(1)}section{z-index:2;position:relative}.back-to-env{z-index:100;border:1px solid var(--line);letter-spacing:.08em;color:var(--ink-soft);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--sh-sm);opacity:.7;background:#ffffffd9;border-radius:40px;align-items:center;gap:6px;padding:8px 16px;font-family:Cormorant Garamond,serif;font-size:13px;transition:opacity .2s;display:flex;position:fixed;top:16px;left:16px}.back-to-env:hover{opacity:1}.invite-card{justify-content:center;align-items:center;height:100%;padding:clamp(.9rem,3.4vw,1.5rem);display:flex}.invite-card__frame{text-align:center;width:100%;max-width:100%;height:100%;color:var(--ivory);background:#06060533;border:1px solid #b89b5ebf;flex-direction:column;align-items:center;padding:clamp(1.4rem,5vw,2.2rem) clamp(1.5rem,4.5vw,1.9rem);display:flex;position:relative;overflow:hidden}.invite-card__frame>*{max-width:100%}.invite-card__top-spacer{flex-grow:1;flex-shrink:1;transition:flex-grow .6s cubic-bezier(.45,0,.2,1)}.invite-card__top-spacer--faq{flex-grow:0}.invite-card__bottom-spacer{flex-grow:1;flex-shrink:1}.invite-card__inner{flex-direction:column;align-items:center;width:100%;max-width:600px;min-height:0;display:flex}.invite-card__spacer{grid-template-columns:100%;width:100%;min-height:0;display:grid;overflow:hidden auto}.invite-card__spacer>*{grid-area:1/1;min-height:0}.invite-card__panel{flex-direction:column;align-items:center;width:100%;min-height:0;display:flex}.invite-card__panel-title{letter-spacing:.28em;text-transform:uppercase;color:var(--ivory-soft);text-align:center;opacity:0;flex:none;margin-top:clamp(.9rem,3.5vw,1.3rem);margin-bottom:clamp(.9rem,3.5vw,1.3rem);font-family:Cormorant Garamond,serif;font-size:clamp(.68rem,2.6vw,.8rem);font-weight:600;animation:.5s cubic-bezier(.22,1,.36,1) .35s forwards faq-fade-in}.invite-card__faq-wrap{flex-direction:column;align-items:center;width:100%;min-height:0;margin-right:-.6rem;padding-right:.6rem;display:flex;overflow:hidden auto}.invite-card__border-line{pointer-events:none;border:1px solid #b89b5e8c;position:absolute;inset:9px}.invite-card__corner{opacity:1;pointer-events:none;z-index:0;width:clamp(30px,8.5vw,46px);max-width:none;height:auto;position:absolute}.invite-card__corner--br{bottom:0;right:0}.invite-card__corner--bl{bottom:0;left:0;transform:scaleX(-1)}.invite-card__corner--tr{top:0;right:0;transform:scaleY(-1)}.invite-card__corner--tl{top:0;left:0;transform:scale(-1)}.invite-card__header{flex-direction:column;align-items:center;display:flex}.invite-card__date-short{letter-spacing:.3em;color:#b89b5ebf;margin-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(.62rem,10vw,.78rem);font-weight:400;transition:font-size .6s cubic-bezier(.45,0,.2,1)}.invite-card__save-the-date{letter-spacing:.4em;text-transform:uppercase;color:var(--ivory-soft);font-family:Cormorant Garamond,serif;font-size:clamp(.6rem,3.2vw,1rem);font-weight:600;transition:font-size .6s cubic-bezier(.45,0,.2,1)}.invite-card__names{color:var(--ivory);flex-direction:column;align-items:center;margin-top:1rem;font-family:Alex Brush,cursive;font-weight:400;line-height:.95;transition:margin-top .6s cubic-bezier(.45,0,.2,1);display:flex}.invite-card__name{font-size:clamp(3.4rem,16vw,5.2rem);transition:font-size .6s cubic-bezier(.45,0,.2,1)}.invite-card__amp{color:var(--gold);margin:.1em 0;font-size:clamp(1.6rem,7vw,2.4rem);line-height:1;transition:font-size .6s cubic-bezier(.45,0,.2,1)}.invite-card__header--compact .invite-card__date-short{font-size:clamp(.5rem,8vw,.6rem)}.invite-card__header--compact .invite-card__save-the-date{font-size:clamp(.48rem,2.4vw,.75rem)}.invite-card__header--compact .invite-card__names{margin-top:.6rem}.invite-card__header--compact .invite-card__name{font-size:clamp(2.2rem,10vw,3.2rem)}.invite-card__header--compact .invite-card__amp{font-size:clamp(1.1rem,4.5vw,1.5rem)}.invite-card__invite{letter-spacing:.1em;text-transform:uppercase;color:var(--ivory-soft);margin-top:.9rem;font-family:Cormorant Garamond,serif;font-size:clamp(.72rem,2.6vw,.85rem)}.invite-card__hacienda{opacity:.94;filter:drop-shadow(0 4px 14px #00000073);width:min(88%,340px);margin:clamp(.7rem,3vw,1rem) auto}.invite-card__date{letter-spacing:.03em;color:var(--gold);margin-bottom:.8rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.05rem,4.2vw,1.3rem);font-weight:600;line-height:1.3}.invite-card__venue-name{letter-spacing:.04em;color:var(--ivory);font-family:Cormorant Garamond,serif;font-size:clamp(1rem,4vw,1.15rem);font-weight:600}.invite-card__countdown{justify-content:center;align-items:center;gap:clamp(.5rem,2.4vw,.9rem);margin:.2rem 0 1rem;display:flex}.invite-card__countdown-unit{align-items:center;gap:clamp(.5rem,2.4vw,.9rem);display:flex}.invite-card__countdown-block{flex-direction:column;align-items:center;display:flex}.invite-card__countdown-value{color:var(--gold);font-variant-numeric:tabular-nums;font-family:Cormorant Garamond,serif;font-size:clamp(1.1rem,4.6vw,1.5rem);font-weight:600;line-height:1.1}.invite-card__countdown-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ivory-soft);margin-top:.15em;font-family:Cormorant Garamond,serif;font-size:clamp(.55rem,2vw,.62rem)}.invite-card__countdown-sep{color:#b89b5e8c;font-size:clamp(1rem,4vw,1.3rem);line-height:1.1;transform:translateY(-.6em)}.invite-card__venue-addr{color:var(--ivory-soft);margin-bottom:clamp(.7rem,3vw,1rem);font-family:Cormorant Garamond,serif;font-size:clamp(.82rem,3.2vw,.92rem)}.invite-card__links{flex-direction:column;align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.invite-card__links--row{flex-direction:row;justify-content:center;gap:clamp(.6rem,3vw,1rem)}.invite-card__link{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);align-items:center;gap:.35rem;font-family:Cormorant Garamond,serif;font-size:.78rem;text-decoration:none;transition:opacity .2s;display:inline-flex}.invite-card__link:hover{opacity:.75}.invite-card__link-text{border-bottom:1px solid #b89b5e80;padding-bottom:2px}.invite-card__link--btn{box-sizing:border-box;border:1px solid #b89b5ebf;border-radius:2px;justify-content:center;width:8rem;max-width:40%;padding:.5em 1.1em;line-height:1.2}.invite-card__link--btn .invite-card__link-text{border-bottom:none;padding-bottom:0}button.invite-card__link{appearance:none;font-family:inherit;font-size:.78rem;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;box-sizing:border-box;cursor:pointer;background:0 0;margin:0}.invite-card__body{opacity:1;flex-direction:column;align-items:center;transition:opacity .35s;display:flex}.invite-card__body--hidden{opacity:0;pointer-events:none;transition:opacity .35s}.invite-faq{opacity:0;width:100%;margin-top:clamp(1rem,4vw,1.5rem);animation:.5s cubic-bezier(.22,1,.36,1) .35s forwards faq-fade-in}@keyframes faq-fade-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.invite-faq__list{flex-direction:column;display:flex}.invite-faq__item{border-bottom:1px solid #b89b5e4d}.invite-faq__item:first-child{margin-top:0}.invite-faq__question{letter-spacing:.02em;text-align:left;width:100%;color:var(--ivory);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:1.1rem .1rem;font-family:Cormorant Garamond,serif;font-size:clamp(1rem,4vw,1.15rem);display:flex}.invite-faq__icon{color:var(--gold);flex:none;justify-content:center;align-items:center;transition:transform .35s;display:flex}.invite-faq__item--open .invite-faq__icon{transform:rotate(180deg)}.invite-faq__answer-wrap{grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.65,0,.35,1);display:grid}.invite-faq__item--open .invite-faq__answer-wrap{grid-template-rows:1fr}.invite-faq__answer{min-height:0;color:var(--ivory-soft);text-align:left;padding-bottom:0;font-family:Cormorant Garamond,serif;font-size:clamp(.9rem,3.4vw,1rem);line-height:1.55;transition:padding-bottom .4s cubic-bezier(.65,0,.35,1);overflow:hidden}.invite-faq__item--open .invite-faq__answer{padding-bottom:.9rem}.invite-card__back{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);cursor:pointer;opacity:0;background:0 0;border:none;border-bottom:1px solid #b89b5e80;margin-top:clamp(1.2rem,4vw,1.6rem);padding-bottom:2px;font-family:Cormorant Garamond,serif;font-size:.78rem;animation:.5s cubic-bezier(.22,1,.36,1) .5s forwards faq-fade-in}.invite-rsvp{opacity:0;width:100%;animation:.5s cubic-bezier(.22,1,.36,1) .35s forwards faq-fade-in}.invite-rsvp__intro{color:var(--ivory-soft);text-align:left;flex-direction:column;gap:.7rem;font-family:Cormorant Garamond,serif;font-size:clamp(.82rem,3.2vw,.92rem);line-height:1.5;display:flex}.invite-rsvp__intro-lead{color:var(--ivory);font-size:clamp(.95rem,3.6vw,1.05rem);font-weight:600}.invite-rsvp__question{color:var(--gold);text-align:left;margin-top:1.1rem;margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:clamp(.92rem,3.6vw,1.02rem);font-weight:600;line-height:1.4}.invite-rsvp__answer-all{color:var(--ivory-soft);text-align:left;margin-top:-.6rem;margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:clamp(.8rem,3.1vw,.9rem);font-style:italic;line-height:1.5}.invite-rsvp__close-friend{color:var(--ivory-soft);text-align:left;margin-top:1rem;margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:clamp(.82rem,3.2vw,.92rem);line-height:1.5}.invite-rsvp__choices{gap:.6rem;display:flex}.invite-rsvp__choices--stack{flex-direction:column;align-items:stretch}.invite-rsvp__choice{box-sizing:border-box;letter-spacing:.06em;text-transform:uppercase;color:var(--ivory-soft);cursor:pointer;background:0 0;border:1px solid #b89b5ebf;border-radius:2px;padding:.6em .9em;font-family:Cormorant Garamond,serif;font-size:.78rem;transition:background-color .2s,color .2s,border-color .2s}.invite-rsvp__choice--wide{text-align:left;text-transform:none;letter-spacing:.02em;width:100%;font-size:clamp(.82rem,3.2vw,.92rem)}.invite-rsvp__choice--active{background:var(--gold);border-color:var(--gold);color:#14130f}.invite-rsvp__family{text-align:left;width:100%}.invite-rsvp__family-name{letter-spacing:.06em;text-transform:uppercase;color:var(--ivory);margin-bottom:.9rem;font-family:Cormorant Garamond,serif;font-size:clamp(.85rem,3.4vw,.95rem);font-weight:600}.invite-rsvp__members{flex-direction:column;gap:.9rem;display:flex}.invite-rsvp__member{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.invite-rsvp__member-name{color:var(--ivory-soft);font-family:Cormorant Garamond,serif;font-size:clamp(.82rem,3.2vw,.92rem)}.invite-rsvp__member-choices{flex:none;gap:.5rem;display:flex}.invite-rsvp__member-choices .invite-rsvp__choice{text-align:center;min-width:3.4em;padding:.45em .85em}.invite-rsvp__submit{box-sizing:border-box;background:var(--gold);border:1px solid var(--gold);letter-spacing:.12em;text-transform:uppercase;color:#14130f;cursor:pointer;border-radius:2px;width:100%;margin-top:1.4rem;padding:.75em 1em;font-family:Cormorant Garamond,serif;font-size:.85rem;transition:opacity .2s,background-color .2s}.invite-rsvp__submit:disabled{color:#e8cf9c66;cursor:default;background:0 0;border-color:#b89b5e59}.invite-rsvp__submit:not(:disabled):hover{opacity:.85}.invite-rsvp__thanks{color:var(--ivory-soft);text-align:center;margin-top:.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(.9rem,3.4vw,1rem);line-height:1.6}.invite-rsvp__error{color:#d98c6b;text-align:center;margin-top:.8rem;font-family:Cormorant Garamond,serif;font-size:clamp(.78rem,3vw,.88rem)}.invite-rsvp__deadline{color:var(--ivory-soft);text-align:start;margin-top:3rem;font-family:Cormorant Garamond,serif;font-size:clamp(.76rem,2.8vw,.85rem);font-style:italic;line-height:1.5}.rv{opacity:0;transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{animation:none!important}.rv{opacity:1;transition:none;transform:none}}
