:root{--paper:#f5f1e8;--ink:#515a43;--olive:#697153;--muted:#858575;--line:#b7b7a17a;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:65px}body{margin:0;color:var(--ink);background:#eae8df;font-family:var(--serif);font-weight:400;-webkit-font-smoothing:antialiased}body.sealed{overflow:hidden}button,input,textarea{font:inherit}a{color:inherit}button,a,input,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--olive);outline-offset:6px}button:disabled{cursor:default}main{max-width:780px;margin:auto;background:var(--paper);box-shadow:0 0 90px #4b50340b;opacity:0;visibility:hidden;transition:opacity 1.2s ease}main.open{opacity:1;visibility:visible}main:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.12;z-index:15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23918b78' opacity='.22' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")} .envelope-screen{position:fixed;inset:0;z-index:50;background:#eeeae3;display:flex;align-items:center;justify-content:center;perspective:1400px;transition:opacity .65s ease,visibility .65s;overflow:hidden}.envelope{border:0;padding:0;position:relative;width:min(100%,510px);height:min(100svh,780px);background:transparent;box-shadow:0 12px 85px #48412a1a;isolation:isolate;color:#787563;perspective:1400px}.envelope-base,.envelope-flap{position:absolute;inset:0;background-image:url('assets/wedding-art.png');background-size:200% 100%;background-position:left center;transition:transform 1.2s cubic-bezier(.43,.06,.25,1),opacity .8s}.envelope-flap{clip-path:polygon(0 0,100% 0,100% 21%,50% 59%,0 21%);transform-origin:top center;z-index:2;backface-visibility:hidden}.envelope-dedication{position:absolute;top:14%;left:10%;right:10%;font-size:27px;letter-spacing:.03em;z-index:3;font-style:italic;text-shadow:0 1px #fff9;transition:opacity .3s}.envelope-hint{position:absolute;bottom:8%;left:0;width:100%;font:9px var(--sans);text-transform:uppercase;letter-spacing:.25em;z-index:4;transition:opacity .3s}.tiny-heart{display:block;font:22px var(--serif);margin-top:17px;animation:breathe 3s ease-in-out infinite}.envelope:hover .tiny-heart{color:#424c34}.envelope-screen.opening .envelope-flap{transform:rotateX(160deg);opacity:0}.envelope-screen.opening .envelope-base{transform:translateY(55vh);opacity:0;transition-delay:.35s}.envelope-screen.opening .envelope-hint,.envelope-screen.opening .envelope-dedication{opacity:0}.envelope-screen.gone{opacity:0;visibility:hidden;pointer-events:none}@keyframes breathe{50%{opacity:.35;transform:translateY(3px)}}.hero{height:100svh;min-height:760px;max-height:1060px;position:relative;overflow:hidden;text-align:center}.hero-art{position:absolute;bottom:0;left:0;right:0;height:76%;background:url('assets/wedding-art.png') right center/200% 100% no-repeat;mask-image:linear-gradient(to bottom,transparent 0%,#000 20%,#000 78%,transparent 100%);opacity:.92}.hero-copy{position:relative;padding:64px 24px 0;z-index:2}.eyebrow{font:9px/1.8 var(--sans);letter-spacing:.24em;text-transform:uppercase;margin:0 0 25px}.hero h1{font-size:74px;font-weight:400;font-style:italic;line-height:1.02;margin:0;letter-spacing:-.025em;text-shadow:0 1px 14px var(--paper)}.hero h1:focus{outline:none}.amp{display:block;font-size:38px;font-style:italic;line-height:1.25;color:#8d927a;letter-spacing:0}.invitation-line{font-size:20px;font-style:italic;margin-top:22px}.hero-date{position:absolute;bottom:20px;width:100%;z-index:2;text-shadow:0 0 14px var(--paper);padding:28px 15px 0;background:linear-gradient(transparent,var(--paper) 63%)}.hero-date .eyebrow{font-size:8px;margin-bottom:7px}.date{font-size:32px;margin:0 0 19px;letter-spacing:.015em}.scroll-link{font:8px var(--sans);text-transform:uppercase;letter-spacing:.2em;text-decoration:none;display:inline-flex;flex-direction:column;gap:9px}.scroll-link span{font:22px var(--serif)}.section-nav{display:flex;justify-content:center;align-items:center;gap:25px;padding:21px 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:9px var(--sans);letter-spacing:.12em;text-transform:uppercase;background:var(--paper)}.section-nav a{text-decoration:none}.section-nav a:hover{color:#899378}.section-nav span{color:#b0b19e}.section{text-align:center;padding:95px 48px}.section h2{font-size:48px;line-height:1.1;font-weight:400;letter-spacing:-.025em;margin:0 0 27px}.section .eyebrow{margin-bottom:17px}.ornament{font-size:39px;color:#8a9276;margin:0 0 22px}.prose{font-size:21px;line-height:1.65;margin:0 auto;max-width:550px}.date-lockup{display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:center;max-width:390px;margin:44px auto 12px}.side-date{font:9px var(--sans);text-transform:uppercase;letter-spacing:.14em;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.day-number{font-size:74px;line-height:1;display:flex;flex-direction:column}.day-number span{font:8px var(--sans);text-transform:uppercase;letter-spacing:.15em;margin-top:9px}.small-note{font:9px/1.9 var(--sans);color:#81836e}.text-link{display:inline-block;text-underline-offset:6px;font:9px/1.8 var(--sans);text-transform:uppercase;letter-spacing:.11em;padding:8px 0;background:none;border:0;text-decoration:underline}.celebration .text-link{margin-top:18px}.hairline{height:1px;background:linear-gradient(to right,transparent,var(--line),transparent);width:160px;margin:0 auto 55px}.venue{padding-top:0}.venue h2{font-size:75px;margin-bottom:0}.venue-subtitle{font-size:20px;font-style:italic;margin:3px 0 35px}.venue-picture{width:min(100%,380px);aspect-ratio:1/1;margin:0 auto 32px;background:url('assets/wedding-art.png') right center/200% 100%;border-radius:48% 48% 3px 3px;box-shadow:0 0 0 7px var(--paper),0 0 0 8px #a9ae944a}.venue-description{font-size:20px}.venue address{font-style:normal;font:10px/2 var(--sans);margin:24px 0;color:#777b68;letter-spacing:.025em}.venue-links{display:flex;align-items:center;justify-content:center;gap:25px;flex-wrap:wrap}.button{font:9px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.15em;padding:17px 27px;display:inline-flex;gap:20px;justify-content:center;align-items:center;text-decoration:none;border:1px solid var(--olive);border-radius:0;transition:background .2s,color .2s,transform .2s}.outline{background:transparent}.outline:hover{background:#e9e9dc}.button:hover{transform:translateY(-2px)}.travel-note{max-width:340px;margin:30px auto 0}.countdown-section{background:#e7e9dd;position:relative;padding:75px 26px}.countdown-section h2{font-size:43px}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:20px;margin:35px auto 29px;max-width:500px}.countdown>div{flex:1;min-width:0}.countdown span{display:block;font-size:58px;font-variant-numeric:tabular-nums;line-height:1}.countdown small{display:block;font:8px var(--sans);text-transform:uppercase;letter-spacing:.14em;margin-top:14px}.countdown b{font-size:25px;line-height:1.8;font-weight:400;opacity:.45}.countdown-note{font:8px/1.8 var(--sans);letter-spacing:.06em;color:#7c826d}.rsvp{padding-bottom:80px}form{text-align:left;max-width:430px;margin:42px auto 0}form>label,#attending-details>label,legend{display:block;font:9px/1.6 var(--sans);letter-spacing:.065em;margin-bottom:9px}input:not([type=radio]),textarea{border:0;border-bottom:1px solid #a3a88d;background:#fff2;width:100%;border-radius:0;color:var(--ink);padding:13px 9px;font-size:18px;line-height:1.4;margin-bottom:25px;resize:vertical}input::placeholder,textarea::placeholder{color:#949582;font-size:16px;font-style:italic}fieldset{border:0;padding:0;margin:3px 0 26px}.attendance{display:flex;gap:12px}.attendance label{flex:1;position:relative;cursor:pointer}.attendance input{position:absolute;opacity:0}.attendance span{display:block;border:1px solid var(--line);padding:14px 7px;text-align:center;font-size:17px;transition:background .2s,border-color .2s}.attendance input:checked+span{border-color:var(--olive);background:#e5e7d8}.attendance input:focus-visible+span{outline:2px solid var(--olive);outline-offset:3px}.optional{color:#969883}.primary{width:100%;background:var(--olive);color:var(--paper);margin-top:3px}.primary:hover{background:#525c41}.form-note{font:8px/1.8 var(--sans);text-align:center;color:#878875;margin:14px 0 0}.email-status{margin-top:23px;padding:20px;border:1px solid var(--line);font-size:18px;line-height:1.5}.email-status .text-link{font-size:8px;display:block}.email-status p:first-child{margin-top:0}.email-status p:last-child:empty{display:none}footer{text-align:center;padding:0 24px 38px}.footer-names{font-size:41px;margin:0 0 15px}footer .eyebrow{font-size:8px;margin-bottom:32px}.questions{font-size:18px;margin-bottom:8px}.email-link{font:10px/1.8 var(--sans);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:5px}.footer-love{font-size:21px;font-style:italic;margin:37px 0}.replay{font:7px var(--sans);text-transform:uppercase;letter-spacing:.14em;color:#898b78;background:transparent;border:0;padding:12px}.replay:hover{text-decoration:underline}[hidden]{display:none!important}@media(min-width:900px){.hero{min-height:950px}.hero-copy{padding-top:75px}.hero h1{font-size:88px}.hero-art{height:79%}.envelope{border-radius:2px;overflow:hidden}.section{padding-left:70px;padding-right:70px}}@media(max-width:500px){body{background:var(--paper)}.hero{min-height:740px;max-height:930px}.hero-copy{padding-top:47px}.hero-copy .eyebrow{font-size:8px;margin-bottom:22px}.hero h1{font-size:clamp(48px,15.4vw,62px)}.amp{font-size:34px;line-height:1.15}.invitation-line{font-size:18px;margin-top:17px}.hero-art{height:70%}.hero-date{bottom:16px}.date{font-size:29px}.section{padding:73px 27px}.section h2{font-size:40px}.section-nav{gap:18px;font-size:8px}.prose{font-size:20px}.venue{padding-top:0}.venue h2{font-size:65px}.countdown-section{padding:66px 17px}.countdown-section h2{font-size:37px}.countdown{gap:8px}.countdown span{font-size:46px}.countdown b{font-size:22px}.countdown small{font-size:7px}.venue-links{gap:17px}.button{padding:16px 21px;font-size:8px}.attendance span{font-size:16px}.envelope{height:100svh;box-shadow:none}.envelope-dedication{font-size:25px;top:17%}.envelope-hint{bottom:8%}.venue-picture{max-width:320px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}} 


.date-weekday{display:block;font:9px/1.8 var(--sans);letter-spacing:.23em;text-transform:uppercase;margin-bottom:4px}
