@font-face{font-family:diamond beach;src:url("/fonts/diamond-beach/Diamond Beach.woff")format("woff"),url("/fonts/diamond-beach/Diamond Beach.ttf")format("truetype"),url("/fonts/diamond-beach/Diamond Beach.otf")format("opentype");font-weight:400;font-style:normal;font-display:swap}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-y:scroll;height:100%}body{font-family:lato,sans-serif;background-color:#fafaf8;color:#3a3a3a;overflow-x:hidden}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem}.hero__botanical{position:absolute;width:clamp(260px,35vw,420px);height:clamp(260px,35vw,420px);pointer-events:none}.hero__botanical--tl{top:0;left:0}.hero__botanical--tr{top:0;right:0}.hero__botanical--bl{bottom:0;left:0}.hero__botanical--br{bottom:0;right:0}.hero__content{position:relative;z-index:1}.hero__label{font-family:great vibes,cursive;font-size:clamp(2rem,5vw,3.2rem);color:#888}.hero__divider{width:50px;height:1px;background:#888;margin:1.5rem auto}.hero__names{font-family:diamond beach,cursive;font-size:clamp(3.5rem,9vw,6.5rem);font-weight:400;color:#3a3a3a;line-height:1.25}.hero__ampersand{font-family:cormorant garamond,serif;font-size:.6em;color:#888}.hero__date{font-family:cormorant garamond,serif;font-size:clamp(1rem,2vw,1.3rem);font-weight:300;letter-spacing:.25em;color:#888}.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;background:0 0;border:none;padding:0;cursor:pointer}.hero__scroll span{font-family:cormorant garamond,serif;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:#888}.hero__scroll-arrow{width:16px;height:16px;border-right:1px solid #888;border-bottom:1px solid #888;transform:rotate(45deg);animation:bounce 2.2s ease-in-out infinite}@keyframes bounce{0%,100%{transform:rotate(45deg)translate(0,0);opacity:1}50%{transform:rotate(45deg)translate(3px,3px);opacity:.6}}.wreath-initial{font-family:cormorant garamond,serif;font-weight:300}.wreath-ampersand{font-family:cormorant garamond,serif;font-weight:300}.content-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}.card-section{padding:1rem 1rem 3rem;display:flex;flex-direction:column;align-items:center}.card-wrapper{perspective:1400px;width:92vw;max-width:960px}.card{display:flex;width:100%;aspect-ratio:297/210}.card-half{flex:1;display:flex;align-items:center;justify-content:center;padding:2.5rem;transition:transform 1.4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 40px rgba(0,0,0,7%)}.card-half--left{background:linear-gradient(135deg,#F5F2EC 0%,#d5dfd9 100%);border:1px solid rgba(192,192,192,.25);border-right:none;transform-origin:right center;transform:rotateY(-90deg)}.card.is-open .card-half--left{transform:rotateY(0)}.card-half--right{background:#f5f2ec;border:1px solid rgba(192,192,192,.25);border-left:1px solid rgba(107,148,144,.15);transform-origin:left center;transform:rotateY(90deg);transition-delay:.1s}.card.is-open .card-half--right{transform:rotateY(0)}.card-decoration{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.card-decoration svg{width:85%;height:85%;overflow:visible}.card-content{text-align:center}.card-content__label{font-family:cormorant garamond,serif;font-size:clamp(.65rem,1.2vw,.8rem);letter-spacing:.5em;text-transform:uppercase;color:#888;margin-bottom:1.5rem}.card-content__names{font-family:diamond beach,cursive;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:400;color:#3a3a3a;line-height:1.3}.card-content__names span{font-family:cormorant garamond,serif;color:#888;letter-spacing:.3em;font-size:.6em}.card-content__divider{width:36px;height:1px;background:#888;margin:1.2rem auto}.card-content__date{font-family:cormorant garamond,serif;font-size:clamp(1rem,2vw,1.4rem);font-weight:400;color:#6b9490;margin-bottom:.4rem}.card-content__location{font-family:cormorant garamond,serif;font-size:clamp(.8rem,1.5vw,1rem);font-style:italic;color:#6b9490}.card-content__invitation{font-family:cormorant garamond,serif;font-size:clamp(.65rem,1.2vw,.8rem);letter-spacing:.2em;text-transform:uppercase;color:#888;margin-top:1.5rem}.countdown-section{flex:1;display:flex;flex-direction:column;justify-content:center;padding:1rem;text-align:center;background:linear-gradient(to bottom,transparent,rgba(160,184,170,8%))}.countdown-section__label{font-family:cormorant garamond,serif;font-size:clamp(.7rem,1.5vw,.85rem);letter-spacing:.4em;text-transform:uppercase;color:#888;margin-bottom:1.2rem}.countdown{display:flex;align-items:flex-start;justify-content:center;gap:1.5rem;flex-wrap:wrap}.countdown__item{display:flex;flex-direction:column;align-items:center;min-width:70px}.countdown__number{font-family:cormorant garamond,serif;font-size:clamp(2.8rem,7vw,4.5rem);font-weight:300;color:#3a3a3a;line-height:1;min-width:2ch;display:inline-block}.countdown__unit{font-family:lato,sans-serif;font-size:.65rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:#888;margin-top:.6rem}.countdown__separator{font-family:cormorant garamond,serif;font-size:3.5rem;color:rgba(136,136,136,.5);line-height:1;padding-top:.15rem;align-self:flex-start}footer{padding:2rem;text-align:center;font-family:cormorant garamond,serif;font-size:.8rem;letter-spacing:.2em;color:#888;border-top:1px solid rgba(192,192,192,.2)}@media(max-width:560px){.card{flex-direction:column;aspect-ratio:unset;height:auto}.card-half{padding:2rem 1.5rem}.card-half--left{transform-origin:bottom center;transform:rotateX(90deg);border-right:1px solid rgba(192,192,192,.25);border-bottom:none}.card.is-open .card-half--left{transform:rotateX(0)}.card-half--right{transform-origin:top center;transform:rotateX(-90deg);border-left:1px solid rgba(192,192,192,.25);border-top:1px solid rgba(107,148,144,.15)}.card.is-open .card-half--right{transform:rotateX(0)}.card-decoration{height:160px}.countdown{gap:.4rem;flex-wrap:nowrap}.countdown__item{min-width:0}.countdown__number{font-size:clamp(1.6rem,6vw,2.8rem);min-width:0}.countdown__separator{font-size:1.8rem}}