@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/font-0.ttf)format("truetype")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-1.ttf)format("truetype")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-2.ttf)format("truetype")}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-3.ttf)format("truetype")}:root{--ink:#444238;--gold:#a18762;--taupe:#dedbd4;--body-font:"Cormorant Garamond",Georgia,"Times New Roman",serif;--script-font:"Great Vibes","Cormorant Garamond",cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{color:var(--ink);font-family:var(--body-font);-webkit-font-smoothing:antialiased;background:#eeece6;margin:0;font-size:24px;font-weight:400;line-height:1.2}a{color:inherit}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline-offset:5px;outline:2px solid #7b6547}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:400}h2{text-transform:uppercase;letter-spacing:.012em;font-size:32px;line-height:1.08}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:15px;padding:0}address{font-style:italic}.script{font-family:var(--script-font);font-weight:400}.italic{font-style:italic}.invitation{background:var(--taupe);max-width:640px;margin:0 auto;overflow:clip;box-shadow:0 0 100px #5b534512}.section{text-align:center;padding:72px 62px;position:relative}.satin{background-color:#e9e2d5;background-image:linear-gradient(#ffffff1c,#ffffff1c),url(/images/satin.webp);background-position:50%;background-size:cover}.hero{height:780px;padding-top:30px;position:relative}.hero-heading{letter-spacing:.15em;text-transform:uppercase;color:#776b58;justify-content:space-between;margin:0 36px;font-size:13px;display:flex}.hero-heading span:last-child{letter-spacing:.1em}.envelope-scene{isolation:isolate;filter:drop-shadow(0 15px 22px #3b342b13);width:420px;height:490px;margin:125px auto 0;position:relative}.envelope-back{z-index:0;background:#e6e1d7;width:100%;height:290px;position:absolute;top:185px;left:0}.envelope-flap{clip-path:polygon(0 0,50% 100%,100% 0);transform-origin:50% 0;z-index:4;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(165deg,#f1eee7,#e0dbd1);width:100%;height:215px;transition:transform 1s;position:absolute;top:184px;left:0;transform:rotateX(0)}.is-open .envelope-flap{z-index:0;transform:rotateX(180deg)}.letter{z-index:1;text-align:center;background:linear-gradient(115deg,#fffefb,#f8f7f2);width:84%;height:350px;padding:42px 20px 20px;transition:transform 1.3s cubic-bezier(.2,.7,.2,1) .65s;position:absolute;top:185px;left:8%;transform:translateY(0);box-shadow:0 2px 4px #4442380c}.is-open .letter{transform:translateY(-198px)}.letter h1{text-transform:uppercase;letter-spacing:.012em;font-size:28px}.letter-rule{background:#c6baa4;width:33px;height:1px;margin:19px auto}.letter p{font-size:25px;font-style:italic;line-height:1.05}.letter .letter-names{color:#8c7758;margin-top:20px;font-size:34px;font-style:normal}.envelope-front{z-index:3;pointer-events:none;position:absolute;inset:185px 0 15px}.envelope-left,.envelope-right,.envelope-bottom{position:absolute;inset:0}.envelope-left{clip-path:polygon(0 0,55% 55%,0 100%);background:linear-gradient(60deg,#eae7df,#f5f2ec)}.envelope-right{clip-path:polygon(100% 0,45% 55%,100% 100%);background:#ece9e2}.envelope-bottom{clip-path:polygon(0 100%,0 98%,50% 45%,100% 98%,100% 100%);background:linear-gradient(#f2efe8,#ece9e2);border-bottom:1px solid #d6d0c5}.hero-rose{z-index:5;filter:drop-shadow(8px 10px 7px #443a292c);width:230px;position:absolute;bottom:-27px;right:-57px;transform:rotate(-20deg)}.scroll-cue{color:#6d6557;justify-content:center;align-items:center;gap:12px;width:100%;font-size:18px;font-style:italic;text-decoration:none;display:flex;position:absolute;bottom:46px}.scroll-cue span{font-size:26px;animation:2.8s infinite nudge}.welcome{padding-top:83px;padding-bottom:12px}.welcome-greeting{margin-bottom:28px;font-size:37px;line-height:1.3}.welcome h2,.welcome h2 em{font-size:34px}.welcome h2 em{text-transform:none;margin-top:3px;font-weight:400;display:inline-block}.wedding-date{color:var(--gold);font-variant-numeric:lining-nums;letter-spacing:-.035em;margin:42px 0 27px;font-size:55px}.welcome-copy{max-width:450px;margin:auto;font-size:27px;line-height:1.14}.ornament{color:#9c8e73;margin:35px auto 0;font-size:37px;display:block}.venue{padding-top:55px;padding-bottom:82px}.venue h2{font-size:29px}.venue-name{letter-spacing:.13em;margin:26px 0 15px;font-size:55px;font-weight:400}.venue address{font-size:26px;line-height:1.25}.outline-button{color:#8a7351;background:0 0;border:1.5px solid #a28c69;justify-content:center;align-items:center;gap:15px;min-height:50px;padding:10px 24px;font-size:24px;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.outline-button:hover{color:#605039;background:#a28c6917}.map-button{margin-top:31px;font-style:italic}.map-button span{font-size:20px}.schedule{isolation:isolate;padding-top:66px;padding-bottom:70px}.schedule:before,.countdown:before{content:"";z-index:-1;background:#faf6ed38;position:absolute;inset:0}.section-script{text-transform:none;letter-spacing:0;font-size:56px;line-height:1.15}.timeline{grid-template-columns:1fr 35px 1fr;align-items:center;margin-top:43px;display:grid}.event svg{stroke:#6d6453;stroke-width:1.2px;width:67px;height:66px;margin:0 auto 19px;display:block}.event time{font-variant-numeric:lining-nums;font-size:41px;display:block}.event p{min-height:55px;margin-top:9px;font-size:25px;font-style:italic;line-height:1.1}.timeline-line{background:#a59a845c;height:1px;margin-bottom:25px}.dresscode{background:#fffefa;padding-top:73px;padding-bottom:74px}.dresscode h2{color:var(--gold);font-size:31px}.dress-intro{max-width:365px;margin:35px auto 31px;font-size:26px;line-height:1.17}.dress-intro .script{font-size:43px;font-style:normal;line-height:1.3}.dress-note{max-width:385px;margin:auto;font-size:25px;font-style:italic;line-height:1.2}.little-divider{background:#c9b99c;width:30px;height:1px;margin:22px auto;display:block}.rsvp{padding-top:70px;padding-bottom:65px}.rsvp h2{font-size:31px}.intro-copy{margin-top:28px;font-size:25px;line-height:1.17}.guest-form{text-align:left;max-width:425px;margin:43px auto 0;font-size:23px}.field{margin-bottom:29px;line-height:1.2;display:block}.field span,legend>span{color:#897859;font-size:18px}.field input{width:100%;height:56px;color:var(--ink);box-shadow:none;background:#ffffff0d;border:1px solid #a29b8b;border-radius:2px;margin-top:12px;padding:10px 14px;display:block}.field input::placeholder{color:#8a8477;font-size:20px;font-style:italic}.field input:focus{border-color:#847257;outline:1px solid #847257}.guest-form fieldset{margin-bottom:32px}.choice{cursor:pointer;align-items:center;gap:13px;min-height:41px;display:flex}.choice input{-webkit-appearance:none;appearance:none;cursor:pointer;background:#fffdf7;border:1px solid #aaa69a;border-radius:50%;place-items:center;width:20px;min-width:20px;height:20px;margin:0;display:grid}.choice input:checked:after{content:"";background:#8d7d63;border-radius:50%;width:10px;height:10px}.choice input[type=checkbox]:checked:after{background:0 0;border-bottom:2px solid #fff;border-right:2px solid #fff;border-radius:0;width:7px;height:11px;margin-top:-3px;transform:rotate(45deg)}.choice input[type=checkbox]:checked{background:#8d7d63;border-color:#8d7d63}.field-hint{color:#736b5e;margin:-6px 0 13px;font-size:20px;font-style:italic}.submit-button{color:#534e3e;border-color:#6b614b;min-width:167px;margin:12px auto 0;font-size:25px;display:flex}.bot-field{opacity:0;height:0;position:absolute;left:-10000px;overflow:hidden}.form-error{color:#943d32;margin:0 0 22px;font-size:20px;line-height:1.2}.rsvp-success{max-width:385px;margin:auto;padding:40px 0 10px}.success-heart{color:#a28c69;font-size:65px;line-height:1}.rsvp-success h3{margin:15px 0 22px;font-size:44px}.rsvp-success p{font-size:24px;font-style:italic}.rsvp-success .small-signature{margin-top:26px;font-size:27px}.countdown{isolation:isolate;padding:60px 37px 65px}.countdown .section-script{font-size:48px}.clock{grid-template-columns:repeat(4,1fr);max-width:450px;margin:30px auto 0;display:grid}.clock-unit{position:relative}.clock-unit:not(:last-child):after{content:":";color:#93836b;font-size:34px;position:absolute;top:9px;right:-4px}.clock-unit span{font-variant-numeric:lining-nums tabular-nums;font-size:46px;font-weight:400;line-height:1.15}.clock-unit small{margin-top:5px;font-size:17px;font-style:italic;display:block}.countdown-day{margin-top:25px;font-size:24px;font-style:italic}.love-section{background:var(--taupe);padding:80px 25px 46px;position:relative}.photo-collage{max-width:520px;height:620px;margin:auto;position:relative}.photo{background:#fffdf8;width:202px;padding:9px 9px 29px;position:absolute;box-shadow:1px 6px 16px #564a3521}.photo img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}.photo-one{z-index:1;top:0;left:27px;transform:rotate(5deg)}.photo-two{z-index:3;top:327px;left:6px;transform:rotate(-8deg)}.photo-three{z-index:2;top:275px;right:6px;transform:rotate(10deg)}.collage-rose{z-index:3;filter:drop-shadow(4px 6px 5px #55462b1c);width:235px;position:absolute;top:100px;right:-2px;transform:rotate(17deg)}.love-note{z-index:4;text-align:center;clip-path:polygon(0 0,100% 0,100% 98%,88% 99%,78% 98%,65% 100%,51% 99%,32% 100%,16% 98%,0 99%);background:linear-gradient(120deg,#fff,#f5f4ed);width:270px;min-height:218px;padding:38px 18px 25px;position:absolute;top:208px;left:123px;transform:rotate(3deg)scale(.85);box-shadow:0 4px 8px #54452c15}.love-note>p:first-of-type{text-transform:uppercase;margin-bottom:11px;font-size:21px;font-style:italic}.love-note .script{font-size:43px;line-height:1.05}.white-heart{vertical-align:middle;font-size:27px;display:inline-block}.tape{background:#eae7c6b0;border-left:1px dashed #cbc5a755;border-right:1px dashed #cbc5a755;width:145px;height:28px;position:absolute;top:0;left:62px;transform:rotate(-6deg)}.paperclip{z-index:2;border:1px solid #b7afa0;border-radius:8px;width:13px;height:39px;position:absolute;top:-8px;left:20px;transform:rotate(-9deg);box-shadow:1px 1px 1px #fff}.paperclip:after{content:"";border:1px solid #b7afa0;border-radius:5px;width:5px;height:28px;position:absolute;top:3px;left:3px}.closing-date{text-align:center;letter-spacing:.17em;color:#95866d;margin-top:15px;font-size:19px}.back-top{z-index:10;color:#7b6d56;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f6f3e9d9;border:1px solid #b9ab9470;place-items:center;width:32px;height:32px;font-size:22px;text-decoration:none;display:grid;position:fixed;bottom:19px;right:max(50vw - 303px,17px)}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (min-width:900px){body{padding:30px 0}.invitation{box-shadow:0 10px 85px #55493515}.hero{height:760px}.back-top{bottom:30px}}@media (max-width:520px){body{font-size:22px}.section{padding-left:30px;padding-right:30px}.hero{height:650px;padding-top:23px}.hero-heading{letter-spacing:.11em;margin:0 23px;font-size:10px}.envelope-scene{width:300px;height:380px;margin-top:114px}.envelope-back{height:225px;top:143px}.envelope-flap{height:160px;top:143px}.letter{height:270px;padding:30px 12px 15px;top:143px}.letter h1{font-size:22px}.letter-rule{margin:14px auto}.letter p{font-size:20px}.letter .letter-names{margin-top:15px;font-size:28px}.is-open .letter{transform:translateY(-147px)}.envelope-front{inset:143px 0 12px}.hero-rose{width:176px;bottom:-15px;right:-29px}.scroll-cue{font-size:16px;bottom:45px}.welcome{padding-top:62px}.welcome-greeting{margin-bottom:25px;font-size:30px}.welcome h2,.welcome h2 em{font-size:29px}.wedding-date{margin:33px 0 24px;font-size:45px}.welcome-copy{font-size:24px}.venue{padding-top:46px;padding-bottom:62px}.venue h2{font-size:27px}.venue-name{margin-top:24px;font-size:46px}.venue address{font-size:24px}.outline-button{min-height:46px;padding:9px 22px;font-size:22px}.schedule{padding-top:52px;padding-bottom:49px}.section-script{font-size:46px}.timeline{grid-template-columns:1fr 23px 1fr;margin-top:36px}.event time{font-size:37px}.event p{font-size:22px}.event svg{width:59px;height:60px;margin-bottom:13px}.dresscode{padding-top:58px;padding-bottom:60px}.dresscode h2{font-size:28px}.dress-intro{margin:30px 0;font-size:23px}.dress-intro .script{font-size:37px}.dress-note{font-size:23px}.rsvp{padding-top:58px;padding-bottom:53px}.rsvp h2{font-size:28px}.intro-copy{margin-top:25px;font-size:23px}.guest-form{margin-top:33px;font-size:21px}.field input{height:53px}.choice{min-height:42px}.field-hint{font-size:19px}.countdown{padding:50px 23px 54px}.countdown .section-script{font-size:41px}.clock-unit span{font-size:38px}.clock-unit small{font-size:16px}.clock-unit:not(:last-child):after{font-size:27px;top:7px}.love-section{padding:62px 14px 39px}.photo-collage{max-width:362px;height:475px}.photo{width:145px;padding:7px 7px 22px}.photo-one{left:20px}.photo-two{top:265px;left:7px}.photo-three{top:226px;right:2px}.collage-rose{width:178px;top:75px;right:-2px}.love-note{width:192px;min-height:173px;padding:31px 11px 20px;top:167px;left:87px}.love-note>p:first-of-type{margin-bottom:10px;font-size:17px}.love-note .script{font-size:34px}.white-heart{font-size:22px}.tape{width:111px;height:22px;left:39px}.closing-date{margin-top:8px;font-size:16px}}@media (max-width:360px){.section{padding-left:23px;padding-right:23px}.envelope-scene{width:270px}.hero-rose{width:160px;right:-22px}.hero{height:620px}.letter h1{font-size:20px}.letter p{font-size:19px}.welcome h2,.welcome h2 em{font-size:26px}.photo-collage{transform-origin:top;height:433px;transform:scale(.9)}.love-note{left:74px}.photo-three{right:-5px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.letter{transform:translateY(-198px)}.envelope-flap{z-index:0;transform:rotateX(180deg)}}@media (prefers-reduced-motion:reduce) and (max-width:520px){.letter{transform:translateY(-147px)}}
