.countdown[data-astro-cid-2p4quwok]{grid-template-columns:repeat(4,1fr);gap:clamp(.4rem,2vw,1.25rem);width:min(100%,760px);margin-inline:auto;display:grid}.countdown[data-astro-cid-2p4quwok] div[data-astro-cid-2p4quwok]{border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);background:color-mix(in srgb, var(--cream) 72%, transparent);text-align:center;backdrop-filter:blur(8px);border-radius:999px 999px 1rem 1rem;padding:clamp(1rem,3vw,1.75rem) .35rem}strong[data-astro-cid-2p4quwok]{color:var(--olive);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(2rem,7vw,4.5rem);font-weight:400;line-height:1;display:block}span[data-astro-cid-2p4quwok]{color:var(--ink-soft);letter-spacing:.15em;text-transform:uppercase;margin-top:.45rem;font-size:clamp(.58rem,1.5vw,.72rem);font-weight:700;display:block}.monogram[data-astro-cid-n22k7olv]{color:var(--olive);font-family:var(--font-display);justify-content:center;align-items:center;line-height:1;display:inline-flex}.monogram[data-astro-cid-n22k7olv] span[data-astro-cid-n22k7olv]{font-size:2.2rem}.monogram[data-astro-cid-n22k7olv] i[data-astro-cid-n22k7olv]{font-family:var(--font-script);margin:0 .18em;font-size:1.25rem;font-style:normal}.monogram--large[data-astro-cid-n22k7olv] span[data-astro-cid-n22k7olv]{font-size:clamp(3rem,8vw,5.5rem)}.monogram--large[data-astro-cid-n22k7olv] i[data-astro-cid-n22k7olv]{font-size:clamp(1.8rem,4vw,3rem)}.section-title[data-astro-cid-4fchh5f2]{text-align:center;margin-bottom:clamp(2rem,5vw,3.5rem)}p[data-astro-cid-4fchh5f2]{color:var(--sage-dark);letter-spacing:.28em;text-transform:uppercase;margin:0 0 .5rem;font-size:.72rem;font-weight:700}h2[data-astro-cid-4fchh5f2]{color:var(--ink);font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(2.8rem,8vw,5.2rem);font-weight:400;line-height:.95}span[data-astro-cid-4fchh5f2]{background:var(--gold);width:3rem;height:1px;margin:1.25rem auto 0;display:block}@font-face{font-family:Wedding Script;src:url(/fonts/le-jour-script.woff)format("woff");font-display:swap}@font-face{font-family:Pinyon Script;src:url(/fonts/pinyon-script.woff)format("woff");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Wedding Display;src:url(/fonts/bodoni.woff)format("woff");font-display:swap}@font-face{font-family:Wedding Sans;src:url(/fonts/raleway.woff)format("woff");font-display:swap}:root{--cream:#f4f0e7;--cream-deep:#e9e1d1;--sage:#809176;--sage-dark:#596b50;--olive:#4b5941;--forest:#26382c;--gold:#a49360;--ink:#30372c;--ink-soft:#657064;--white:#fffdf8;--font-script:"Wedding Script", "Snell Roundhand", cursive;--font-names:"Pinyon Script", "Snell Roundhand", cursive;--font-display:"Wedding Display", "Bodoni 72", Georgia, serif;--font-sans:"Wedding Sans", "Avenir Next", sans-serif;color:var(--ink);font-family:var(--font-sans);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}main>section,main>footer{min-height:100svh;scroll-margin-top:0;position:relative}html.invitation-locked{overflow:hidden}body{background:var(--cream);margin:0;overflow-x:hidden}button,input,textarea{font:inherit}a{color:inherit}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px}.section-shell{z-index:1;width:min(1120px,100% - 2rem);margin-inline:auto;position:relative}.paper-section{background-color:var(--cream);background-image:linear-gradient(#f4f0e7db,#f4f0e7db),url(/assets/paper.jpg);background-size:cover;position:relative;overflow:hidden}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(30px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.lead{color:var(--ink-soft);font-family:var(--font-display);font-size:clamp(1.25rem,2.5vw,1.75rem);line-height:1.65}.foliage{aspect-ratio:1.2;opacity:.35;pointer-events:none;background:url(/assets/foliage.png) 50%/contain no-repeat;width:min(42vw,520px);position:absolute}.foliage--top-right{top:-9rem;right:-9rem}.foliage--bottom-left{bottom:-10rem;left:-10rem;transform:rotate(180deg)}.opening{z-index:100;background-color:var(--cream);background-image:linear-gradient(#f4f0e7e0,#f4f0e7e0),url(/assets/paper.jpg);background-size:cover;place-items:center;transition:opacity .65s,visibility .65s;display:grid;position:fixed;inset:0;overflow:hidden}.opening.is-open{visibility:hidden;opacity:0}.opening__date{color:var(--olive);letter-spacing:.42em;margin:0;font-size:.7rem;font-weight:700;position:absolute;top:clamp(1.5rem,6vh,4rem)}.opening__botanical{aspect-ratio:1.2;opacity:.5;background:url(/assets/foliage.png) 50%/contain no-repeat;width:min(55vw,550px);position:absolute}.opening__botanical--left{bottom:-15%;left:-15%;transform:rotate(90deg)}.opening__botanical--right{top:-17%;right:-15%;transform:rotate(-90deg)}.opening__trigger{outline-offset:.75rem;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:clamp(2.5rem,8vh,5rem);padding:0;display:flex}.opening__trigger:disabled{cursor:default}.envelope{aspect-ratio:1.45;filter:drop-shadow(0 24px 34px #2b372a33);perspective:1200px;width:min(82vw,500px);transition:transform .7s cubic-bezier(.2,.75,.2,1);display:block;position:relative}.envelope__back,.envelope__front,.envelope__flap{border-radius:4px;position:absolute;inset:0}.envelope__back{background:#83947a;display:block}.envelope__letter{z-index:1;background:var(--white);color:var(--olive);text-align:center;opacity:0;flex-direction:column;justify-content:center;align-items:center;transition:opacity .18s .34s,transform .9s cubic-bezier(.18,.75,.2,1) .38s;display:flex;position:absolute;inset:8% 8% 7%;transform:translateY(34%);box-shadow:0 0 0 1px #4b594114}.envelope__letter small{letter-spacing:.25em;text-transform:uppercase;margin-bottom:.75rem;font-size:.64rem;font-weight:700}.envelope__front{z-index:2;background:linear-gradient(31deg,#71866c 49.5%,#0000 50%) 0/51% 100% no-repeat,linear-gradient(-31deg,#71866c 49.5%,#0000 50%) 100%/51% 100% no-repeat,linear-gradient(155deg,#0000 49.5%,#7c9075 50%) 50%/100% 100% no-repeat;display:block}.envelope__flap{z-index:3;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:hidden;background:#8b9c82;height:58%;transition:transform .68s cubic-bezier(.25,.75,.25,1),z-index 0s linear .36s;display:block}.envelope__seal{z-index:4;aspect-ratio:1;background:var(--gold);width:4.5rem;color:var(--white);font-family:var(--font-display);border:1px solid #ffffff73;border-radius:50%;place-items:center;font-size:1.35rem;transition:opacity .25s,transform .35s;display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.envelope__seal span{font-family:var(--font-script);margin:0 .14rem;font-size:.7em}.opening.is-opening .envelope{transform:translateY(5%)}.opening.is-opening .envelope__flap{z-index:0;transform:rotateX(180deg)}.opening.is-opening .envelope__seal{opacity:0;transform:translate(-50%,-50%)scale(.72)}.opening.is-opening .envelope__letter{opacity:1;transform:translateY(-72%)}.opening__label{color:var(--olive);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.72rem;font-weight:700;transition:opacity .3s;display:inline-flex}.opening__label svg{width:1.1rem}.opening.is-opening .opening__label{opacity:0}.hero{background:var(--forest);min-height:100svh;color:var(--white);place-items:center;display:grid;position:relative;overflow:hidden}.hero>img{object-fit:cover;object-position:center 55%;filter:saturate(.72)contrast(.92);width:100%;height:100%;animation:14s ease-out both hero-drift;position:absolute;inset:0;transform:scale(1.03)}.hero__veil{background:linear-gradient(#141f172e,#0000 38%,#141f17b3),linear-gradient(90deg,#141f1747,#0000 35% 65%,#141f1747);position:absolute;inset:0}.hero__content{z-index:1;text-align:center;text-shadow:0 3px 24px #00000059;width:min(980px,100% - 2rem);padding:8rem 0 4rem;position:relative}.hero__eyebrow,.hero__date{letter-spacing:.28em;text-transform:uppercase;margin:0;font-size:clamp(.65rem,1.5vw,.82rem);font-weight:700}.hero__date{margin-top:clamp(1.5rem,4vh,2.75rem)}.hero__scroll{z-index:1;bottom:max(1.6rem, calc(env(safe-area-inset-bottom) + .75rem));color:#ffffffd1;letter-spacing:.28em;text-shadow:0 2px 14px #00000073;text-transform:uppercase;flex-direction:column;align-items:center;gap:.55rem;font-size:.62rem;font-weight:700;text-decoration:none;display:none;position:absolute;left:50%;transform:translate(-50%)}.hero__scroll svg{width:1.45rem;animation:1.8s ease-in-out infinite bob}.name-lockup{font-family:var(--font-names);letter-spacing:0;justify-items:center;font-weight:400;line-height:1;display:grid}.name-lockup__name{white-space:nowrap;font-style:normal;display:block}.name-lockup__join{color:currentColor;display:block}.name-lockup__join i{font-family:var(--font-names);font-size:.55em;font-style:normal;font-weight:400;line-height:1}.name-lockup--envelope{gap:.22em;font-size:clamp(2rem,4.8vw,3.25rem);line-height:.95}.name-lockup--envelope .name-lockup__name:first-child{transform:translate(-.22em)}.name-lockup--envelope .name-lockup__name:last-child{transform:translate(.22em)}.name-lockup--hero{gap:clamp(.35rem,1vh,.75rem);margin:clamp(2rem,5vh,3.5rem) 0 0;font-size:clamp(5rem,11vw,8.5rem);line-height:.95}.name-lockup--hero .name-lockup__name:first-child{transform:translate(-.3em)}.name-lockup--hero .name-lockup__name:last-child{transform:translate(.3em)}.name-lockup--hero .name-lockup__join{color:#ffffffdb}.story{align-items:center;padding:clamp(6rem,12vw,10rem) 0;display:flex}.story__grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(3rem,8vw,7rem);display:grid}.parents{border-top:1px solid #4b594133;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem;padding-top:2rem;display:grid}.parents h3{color:var(--sage-dark);letter-spacing:.2em;text-transform:uppercase;margin:0 0 .8rem;font-size:.66rem}.parents p{font-family:var(--font-display);margin:.3rem 0;font-size:1.1rem;font-style:italic}.story__portrait{border-radius:50% 50% 1.5rem 1.5rem;min-height:620px;position:relative;overflow:hidden;box-shadow:0 26px 60px #2c37292e}.story__portrait img{object-fit:cover;object-position:center;width:100%;height:100%;min-height:620px}.story__portrait:after{content:"";background:linear-gradient(#0000 55%,#1d2d22bf);position:absolute;inset:0}.story__portrait span{z-index:1;color:var(--white);font-family:var(--font-display);text-align:center;font-size:1.7rem;font-style:italic;position:absolute;bottom:2.5rem;left:2rem;right:2rem}.countdown-section{background-color:#dfe6db;background-image:radial-gradient(circle at 15% 15%,#ffffffb3,#0000 30%),radial-gradient(circle at 90% 80%,#576b4e26,#0000 35%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;align-items:center;padding:clamp(6rem,12vw,10rem) 0;display:flex;position:relative}.script-kicker{color:var(--olive);font-family:var(--font-script);text-align:center;margin:0 0 1.2rem;font-size:clamp(2.3rem,7vw,4.8rem)}.countdown-section__date{color:var(--sage-dark);letter-spacing:.4em;text-align:center;margin:2.5rem 0 0;font-size:.72rem;font-weight:700}.details{padding:clamp(6rem,12vw,10rem) 0}.event-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.event-card{text-align:center;background:#fffdf8bf;border:1px solid #4b59412e;border-radius:50% 50% 1.5rem 1.5rem;flex-direction:column;justify-content:center;align-items:center;min-height:560px;padding:clamp(2rem,6vw,4rem);display:flex;box-shadow:0 20px 50px #2c372914}.event-card--dark{background:var(--forest);color:var(--white)}.event-card__icon{aspect-ratio:1;width:5.5rem;color:var(--gold);border:1px solid;border-radius:50%;place-items:center;margin-bottom:1.5rem;display:grid}.event-card__icon svg{width:3.2rem}.event-card__type,.gift-card__label{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;margin:0 0 .75rem;font-size:.68rem;font-weight:700}.event-card h3{font-family:var(--font-display);margin:0;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:400;line-height:1}.event-card time{letter-spacing:.08em;text-transform:uppercase;margin:1.5rem 0 .75rem;font-size:.82rem;font-weight:700}.event-card address{max-width:24rem;color:var(--ink-soft);font-family:var(--font-display);margin-bottom:2rem;font-size:1.15rem;font-style:normal;line-height:1.6}.event-card--dark address{color:#ffffffb3}.button{letter-spacing:.13em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:.8rem;min-height:3.2rem;padding:.8rem 1.3rem;font-size:.68rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button svg{width:1.1rem}.button--outline{border:1px solid var(--olive);color:var(--olive)}.button--outline:hover{background:var(--olive);color:var(--white)}.button--light{background:var(--white);color:var(--forest)}.button--solid{background:var(--olive);width:100%;color:var(--white);cursor:pointer;border:0}.notes-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:1.25rem;display:grid}.note-card{background:#fffdf89e;border:1px solid #4b59412e;min-height:240px;padding:2.5rem;position:relative;overflow:hidden}.note-card>span{color:#4b594114;font-family:var(--font-display);font-size:8rem;position:absolute;top:-1rem;right:1rem}.note-card h3{font-family:var(--font-display);margin:0 0 1rem;font-size:2rem;font-weight:400}.note-card p{max-width:28rem;color:var(--ink-soft);margin:0;line-height:1.7}.gift-section{background:var(--forest);color:var(--white);align-items:center;padding:clamp(6rem,12vw,10rem) 0;display:flex}.gift-section .section-title p{color:#b9c4b2}.gift-section .section-title h2{color:var(--white)}.gift-section>.section-shell>.lead{color:#ffffffb3;text-align:center;max-width:760px;margin:-1rem auto 3rem}.gift-grid{grid-template-columns:.8fr 1.2fr;gap:1.25rem;display:grid}.gift-card{background:#ffffff0d;border:1px solid #ffffff24;border-radius:1.5rem;padding:clamp(2rem,5vw,3.5rem)}.gift-card h3{font-family:var(--font-display);margin:0 0 1.75rem;font-size:clamp(2rem,4vw,3rem);font-weight:400}.gift-card img{border:.65rem solid var(--white);border-radius:.35rem;width:min(100%,250px);margin:2rem auto 0;display:block}.copy-row{width:100%;color:var(--white);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.copy-row span{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(1.1rem,3vw,1.45rem)}.copy-row small{color:#b9c4b2;letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:700}.copy-row.is-copied small{color:#e1c985}.gift-card__note{color:#ffffffa6;max-width:34rem;margin:2rem 0 0;line-height:1.7}.rsvp{align-items:center;padding:clamp(6rem,12vw,10rem) 0;display:flex}.rsvp__grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.rsvp__intro .section-title{text-align:left}.rsvp__intro .section-title span{margin-left:0}.rsvp__intro .monogram{margin-top:1.5rem}.rsvp-form{background:#fffdf8c7;border:1px solid #4b59412e;border-radius:1.5rem;padding:clamp(1.5rem,5vw,3.25rem);box-shadow:0 24px 60px #2c37291a}.rsvp-form>label,.rsvp-form fieldset{border:0;margin:0 0 1.5rem;padding:0;display:block}.rsvp-form>label>span,.rsvp-form legend{color:var(--olive);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.65rem;font-size:.68rem;font-weight:700;display:block}.rsvp-form small{text-transform:none;font-weight:400}.rsvp-form input[type=text],.rsvp-form textarea{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #4b59414d;border-radius:0;outline:0;padding:.9rem 0}.rsvp-form input[type=text]:focus,.rsvp-form textarea:focus{border-color:var(--olive)}.rsvp-form textarea{resize:vertical}.radio{cursor:pointer;align-items:center;gap:.5rem;margin:.35rem 1rem .35rem 0;display:inline-flex}.radio input{accent-color:var(--olive)}.form-note{min-height:1.2em;color:var(--sage-dark);text-align:center;margin:.75rem 0 0;font-size:.75rem}footer{background:var(--forest);min-height:85svh;color:var(--white);place-items:center;display:grid;position:relative;overflow:hidden}.footer__photo{filter:grayscale(.25)saturate(.7);opacity:.38;background:url(/assets/couple.png) 50% 62%/cover no-repeat;position:absolute;inset:0;transform:scale(1.04)}footer:after{content:"";background:linear-gradient(#19271d73,#19271dc7);position:absolute;inset:0}.footer__content{z-index:1;text-align:center;width:min(900px,100% - 2rem);padding:5rem 0;position:relative}.footer__content p{letter-spacing:.25em;text-transform:uppercase;margin:0 0 3rem;font-size:.72rem;font-weight:700}.footer__content h2{font-family:var(--font-display);margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-style:italic;font-weight:400}.name-lockup--footer{gap:clamp(.3rem,1vh,.65rem);font-size:clamp(4.5rem,10vw,7.75rem);font-weight:400;line-height:.95;display:grid}.name-lockup--footer .name-lockup__name:first-child{transform:translate(-.3em)}.name-lockup--footer .name-lockup__name:last-child{transform:translate(.3em)}.name-lockup--footer .name-lockup__join{color:#ffffffd1}.footer__content>span{letter-spacing:.38em;margin-top:3rem;font-size:.7rem;font-weight:700;display:block}.toast{z-index:50;background:var(--white);color:var(--forest);opacity:0;pointer-events:none;border-radius:999px;padding:.85rem 1.1rem;font-size:.72rem;font-weight:700;transition:opacity .25s,transform .25s;position:fixed;bottom:1.25rem;right:1.25rem;transform:translateY(1rem);box-shadow:0 12px 30px #0003}.toast.is-visible{opacity:1;transform:translateY(0)}.mute-toggle{z-index:46;top:max(1rem, env(safe-area-inset-top));right:max(1rem, calc(env(safe-area-inset-right) + .25rem));width:2.75rem;height:2.75rem;color:var(--olive);cursor:pointer;opacity:.6;background:0 0;border:0;place-items:center;padding:0;transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .3s,color .25s,visibility .3s;display:grid;position:fixed}.mute-toggle.is-on-dark{color:#ffffffe0}.mute-toggle:hover,.mute-toggle:focus-visible{opacity:1}.mute-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.mute-toggle.is-tucked{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-.85rem)}.mute-toggle svg{filter:drop-shadow(0 1px 2px #0003);width:1.2rem}.mute-toggle__icon--off,.mute-toggle.is-muted .mute-toggle__icon--on{display:none}.mute-toggle.is-muted .mute-toggle__icon--off{display:block}.scroll-guide{z-index:45;right:50%;bottom:max(1rem, env(safe-area-inset-bottom));width:5rem;height:3rem;color:var(--forest);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:opacity .25s,transform .25s,visibility .25s;display:flex;position:fixed;transform:translate(50%)}.scroll-guide svg{width:3.25rem;animation:1.8s ease-in-out infinite bob;overflow:visible}.scroll-guide__outline{stroke:var(--white);stroke-width:5px;opacity:0;transition:opacity .25s}.scroll-guide.is-on-dark .scroll-guide__outline{opacity:1}.scroll-guide__line{stroke:var(--forest);stroke-width:1.8px}.scroll-guide.is-hidden{visibility:hidden;opacity:0;pointer-events:none;transform:translate(50%,.75rem)}@keyframes hero-drift{0%{transform:scale(1.08)}to{transform:scale(1.03)}}@keyframes bob{50%{transform:translateY(.4rem)}}@media (width<=760px){body{font-size:17px}.story,.countdown-section,.details,.gift-section,.rsvp{min-height:0}.scroll-guide{display:none}.hero__scroll{display:flex}.story__grid,.rsvp__grid,.gift-grid,.event-grid{grid-template-columns:1fr}.story__portrait,.story__portrait img{min-height:480px}.parents,.notes-grid{grid-template-columns:1fr}.event-card{min-height:500px}.rsvp__intro .section-title{text-align:center}.rsvp__intro .section-title span{margin-left:auto}.rsvp__intro{text-align:center}.foliage{width:78vw}.section-title p,.event-card__type,.gift-card__label,.rsvp-form>label>span,.rsvp-form legend{letter-spacing:.14em;font-size:.75rem}.button{min-height:3.35rem;font-size:.75rem}.copy-row{min-height:3.6rem}.copy-row small{font-size:.68rem}.rsvp-form input[type=text],.rsvp-form textarea{font-size:1rem}.radio{min-height:2.75rem;margin-right:.65rem}}@media (width<=460px){.name-lockup--hero{gap:.5rem;width:100%;font-size:clamp(3.6rem,16vw,4.4rem);line-height:.95}.name-lockup--hero .name-lockup__name:first-child,.name-lockup--hero .name-lockup__name:last-child,.name-lockup--footer .name-lockup__name:first-child,.name-lockup--footer .name-lockup__name:last-child{transform:none}.hero__date{margin-top:1.75rem}.parents{text-align:center}.countdown div{border-radius:999px}.countdown strong{font-size:1.8rem}.gift-card,.note-card{padding:1.5rem}.story,.countdown-section,.details,.gift-section,.rsvp{padding-top:5rem;padding-bottom:6.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
