@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff) format("woff")}@font-face{font-family:Great Vibes;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/great-vibes-latin-400-normal-q5-78SH_.woff2) format("woff2"),url(/assets/great-vibes-latin-400-normal-BAZ173uY.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff")}:root{font-family:Cormorant Garamond,Georgia,serif;color:#3f4965;background:#465574;font-synthesis:none;--paper:#fffdf4;--ink:#3f4965;--blue:#526183;--gold:#9e8455;--line:#d8d3c6;--sans:"Manrope",Arial,sans-serif;--script:"Great Vibes",cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;font-size:18px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ab8d54;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.18}h2{font-size:clamp(30px,4vw,38px)}.script{font-family:var(--script);font-weight:400}.eyebrow{font-family:var(--sans);text-transform:uppercase;font-size:12px;letter-spacing:.2em;font-weight:500}.button{display:inline-flex;gap:12px;justify-content:center;align-items:center;background:var(--blue);border:1px solid var(--blue);border-radius:100px;padding:14px 29px;min-height:48px;color:#fffdf4;text-decoration:none;font-family:var(--sans);font-size:14px;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#394a70;transform:translateY(-2px)}.button-outline{color:var(--ink);background:transparent}.button-outline:hover{color:var(--paper)}.text-button{border:0;background:none;color:var(--ink);text-underline-offset:5px;text-decoration:underline;min-height:44px;font-size:18px}.small-rule{height:1px;width:46px;margin:21px auto;background:var(--gold)}.floral{background-image:url(/assets/floral-stationery.webp);background-size:100% 100%;background-repeat:no-repeat}.cover{position:fixed;inset:0;z-index:10;background:radial-gradient(ellipse at 50% 45%,#677799,#4c5a7b 65%,#3c4a67);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 20px;overflow:auto;transition:opacity .65s,transform .65s}.cover.leaving{opacity:0;transform:scale(1.065);pointer-events:none}.cover-top,.cover-bottom{color:#e4e6ef;text-align:center;font-family:var(--sans);font-size:12px;letter-spacing:.18em}.cover-top{margin-bottom:25px}.cover-bottom{margin-top:24px;font-size:13px;letter-spacing:.04em}.cover-card{flex-shrink:0;position:relative;text-align:center;width:min(100%,370px);padding:35px 34px 56px;background:var(--paper) url(/assets/floral-stationery.webp) center/100% 100%;box-shadow:0 28px 65px #17243955,0 2px 8px #10182d33;border-radius:5px;isolation:isolate;animation:arrive .9s ease both}.cover-card:before{content:"";position:absolute;inset:14px;border:1px solid #ad9c752e;z-index:-1}.seal{display:grid;place-items:center;background:var(--blue);color:var(--paper);font-size:33px;width:53px;height:53px;margin:0 auto 24px;border-radius:50%;box-shadow:0 4px 10px #52618355}.cover-card .eyebrow{font-size:11px;letter-spacing:.15em}.cover-card h1{font-size:58px;line-height:1.05;margin:26px 0 12px}.cover-card h1 span{display:block;font-family:Cormorant Garamond,serif;font-size:27px;line-height:1.25;color:var(--gold);font-style:italic}.cover-date{font-size:21px}.cordial{font-size:17px;margin:4px 0 24px}.cover-card .button{padding:12px 23px}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;max-width:760px;margin:auto;padding:0 30px;color:#f8f4e9;font-family:var(--sans);font-size:12px;letter-spacing:.14em}.topbar a{font-family:var(--script);font-size:27px;text-decoration:none;letter-spacing:0}.topbar a span{color:#d7c69e;font-size:20px;margin:0 3px}.topbar button{border:0;border-bottom:1px solid #bcc4d4;background:none;color:inherit;font-family:inherit;font-size:12px;letter-spacing:.14em;min-height:44px}.paper{max-width:760px;margin:0 auto 66px;background:var(--paper);box-shadow:0 15px 65px #18203933;overflow:hidden}.hero{position:relative;text-align:center;min-height:790px;padding:80px 80px 55px;display:flex;flex-direction:column;align-items:center}.hero .eyebrow{font-size:11px;letter-spacing:.2em;margin:12px 0 62px}.hero-caption{text-transform:uppercase;font-size:19px;letter-spacing:.12em;margin-bottom:27px}.hero h1{font-size:clamp(54px,8vw,86px);text-transform:uppercase;letter-spacing:.075em;line-height:1.03;font-weight:400}.hero h1:focus{outline:none}.hero .ampersand{display:block;font-size:.6em;color:var(--gold);text-transform:none;line-height:1.1;margin:13px 0;letter-spacing:0}.hero-date{font-family:var(--sans);font-size:17px;letter-spacing:.2em;margin-top:32px}.hero-date span{color:var(--gold);margin:0 6px}.hero-footnote{max-width:240px;font-size:18px;font-style:italic;margin-top:19px}.scroll-hint{font-family:var(--sans);font-size:11px;letter-spacing:.08em;text-decoration:none;margin-top:auto;padding-top:43px}.scroll-hint span{display:block;font-size:26px;line-height:1.2}.section{padding:70px 90px;text-align:center}.section .eyebrow{color:#7d6949;margin-bottom:18px}.intro{font-size:23px;line-height:1.6;max-width:450px;margin:0 auto 32px}.couple{padding-top:77px;padding-bottom:15px}.couple-names{margin-top:44px}.couple-names h2{font-size:clamp(37px,5.5vw,52px);line-height:1.45}.role{font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#88795f}.joining{font-size:38px;display:block;color:var(--gold);margin:16px 0 8px}.ornament{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:43px;color:var(--gold);font-size:30px}.ornament>span:not(:nth-child(2)){width:65px;height:1px;background:#d6cdbd}.event{padding-top:42px}.event-time{font-size:25px;margin:28px 0 8px}.date-line{display:flex;align-items:center;justify-content:center;gap:24px}.date-line span{text-transform:uppercase;font-size:15px;letter-spacing:.03em;min-width:96px}.date-line strong{font-family:var(--sans);font-size:43px;font-weight:400;line-height:1.4;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 23px}.year{font-size:24px;margin-top:3px}.countdown-wrap{margin:46px 0 31px}.countdown-wrap .eyebrow{font-size:10px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);max-width:365px;margin:auto;gap:14px}.countdown strong{display:block;font-size:37px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.2}.countdown span{font-family:var(--sans);text-transform:uppercase;font-size:9px;letter-spacing:.12em}.calendar-block{max-width:370px;margin:auto}.calendar{border:1px solid var(--line);padding:23px 20px 18px;border-radius:100px 100px 5px 5px}.calendar h3{font-family:var(--script);font-size:29px;margin-bottom:17px}.calendar h3 em{font-family:Cormorant Garamond;font-style:normal;font-size:25px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;justify-items:center;row-gap:4px}.calendar-grid>span{display:grid;place-items:center;height:37px;width:37px;font-size:18px}.calendar-grid .weekday{font-family:var(--sans);font-size:10px;color:#8b806d}.calendar-grid .selected-day{background:var(--blue);color:var(--paper);border-radius:50%;position:relative}.calendar-grid .selected-day:after{content:"♥";position:absolute;bottom:-9px;right:-1px;color:var(--gold);font-size:14px}.calendar-block .text-button{margin-top:13px}.rsvp-button{margin-top:24px;min-width:240px}.venue{border-top:1px solid #ddd6c5;border-bottom:1px solid #ddd6c5;background:#f6f3ea;padding-top:55px;padding-bottom:55px}.venue h3{font-size:28px;margin-top:24px;margin-bottom:8px}.venue>p:not(.eyebrow){font-family:var(--sans);font-size:14px;line-height:1.8;color:#706954}.map-panel{height:270px;border:1px solid #c9cfc5;border-radius:140px 140px 5px 5px;margin:28px 0 25px;overflow:hidden;background:linear-gradient(150deg,#e8e9dc,#e3e9e6);display:grid;place-items:center}.map-panel.loaded{border-radius:12px}.map-panel iframe{width:100%;height:100%;border:0}.map-panel p{font-size:23px}.map-panel small{display:block;font-family:var(--sans);font-size:10px;color:#6c735f}.location-icon{font-size:42px;line-height:1.2;color:#8a7952}.guestbook{padding-top:62px}.guestbook h2{font-size:39px;margin-bottom:18px}.guestbook .intro{font-size:20px}.invitation-form{text-align:left;max-width:460px;margin:0 auto}.invitation-form>label{display:block;font-family:var(--sans);font-size:13px;margin-bottom:20px}.invitation-form input:not([type=radio]),.invitation-form select,.invitation-form textarea{display:block;width:100%;margin-top:8px;background:#fffef9;border:1px solid #c7c8c9;border-radius:5px;padding:12px 14px;min-height:47px;font-family:var(--sans);font-size:14px;color:#37415b}.invitation-form textarea{resize:vertical;line-height:1.65}.invitation-form input::placeholder,.invitation-form textarea::placeholder{color:#7e7e7a;font-size:12px}.invitation-form .button{width:100%;margin-top:12px}.optional{font-size:11px;color:#777}.privacy-note{font-family:var(--sans);font-size:11px;line-height:1.6;color:#777264;margin:10px 0 13px}.verification{margin-top:12px;max-width:100%}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.invitation-form fieldset{border:0;padding:0;margin:0 0 20px;font-family:var(--sans);font-size:13px}.invitation-form legend{margin-bottom:10px}.radio-options{display:flex;flex-direction:column;gap:8px}.radio-options label{display:flex;align-items:center;gap:8px;min-height:30px}.radio-options input{accent-color:var(--blue);width:18px;height:18px}.error{color:#a33535;font-family:var(--sans);font-size:13px;margin:12px 0}.wishes{margin-top:35px}.muted{font-size:17px;color:#817c71}.wishes blockquote{margin:18px 0;padding:20px 23px;background:#f4f1e7;border-left:2px solid #a99267;text-align:left;overflow-wrap:anywhere;white-space:pre-wrap}.wishes blockquote p{font-size:21px}.wishes blockquote footer{font-family:var(--sans);font-size:12px;margin-top:9px}.closing{text-align:center;padding:90px 95px 100px;min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center}.closing>span{font-size:33px;color:var(--gold);margin-bottom:12px}.closing p{font-size:24px;max-width:315px}.closing .script{font-size:47px;margin:24px 0 15px}.closing small{font-family:var(--sans);font-size:10px;letter-spacing:.07em}.music-toggle{position:fixed;bottom:22px;right:max(20px,calc((100vw - 880px)/2));width:51px;height:51px;border:1px solid #8490aa;border-radius:50%;background:var(--blue);color:var(--paper);font-size:24px;box-shadow:0 3px 15px #26335044;z-index:5}.music-toggle.playing{box-shadow:0 0 0 5px #68779733}.music-error{position:fixed;bottom:82px;right:20px;background:var(--paper);padding:10px;font-size:14px;max-width:230px}.rsvp-dialog{border:1px solid var(--line);border-radius:12px;padding:40px 36px;width:min(92vw,520px);max-height:90dvh;overflow:auto;background:var(--paper);color:var(--ink)}.rsvp-dialog::backdrop{background:#1d294cb5;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.rsvp-dialog h2{text-align:center;font-size:36px;margin:13px 0}.rsvp-dialog>.eyebrow{text-align:center;font-size:10px;padding:0 20px}.modal-date{text-align:center;font-size:18px;margin-bottom:25px}.close-button{position:absolute;right:8px;top:5px;width:44px;height:44px;border:0;background:none;font-size:29px;color:var(--ink)}.success{text-align:center;padding:25px 0}.success>span{font-size:45px;color:var(--gold)}.success h3{font-size:28px;margin:15px 0}.success p{font-size:19px}.rsvp-dialog .success{padding:25px 8px}.success:focus{outline:none}@keyframes arrive{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1100px){body:before,body:after{content:"";position:fixed;top:40%;width:1px;height:170px;background:#b9c0cf38}body:before{left:calc(50% - 445px)}body:after{right:calc(50% - 445px)}}@media(max-width:600px){.topbar{height:58px;padding:0 22px}.paper{margin-bottom:0;box-shadow:none}.hero{min-height:700px;padding:62px 36px 55px}.hero .eyebrow{font-size:9px;margin-bottom:60px;letter-spacing:.14em}.hero-caption{font-size:16px}.hero h1{font-size:60px;letter-spacing:.05em}.hero-date{font-size:14px;margin-top:31px}.hero-footnote{font-size:17px;max-width:220px}.section{padding:54px 28px}.couple{padding-bottom:6px}.couple .intro{font-size:22px}.couple-names h2{font-size:39px}.event{padding-top:36px}.date-line{gap:12px}.date-line span{min-width:80px;font-size:13px}.date-line strong{font-size:38px;padding:0 17px}.calendar{padding:22px 15px 17px}.countdown{gap:7px}.calendar-grid>span{width:33px;height:34px}.closing{padding:80px 52px;min-height:410px}.closing p{font-size:22px}.closing .script{font-size:40px}.rsvp-dialog{padding:38px 22px 28px}.cover{padding-top:16px;padding-bottom:16px}.cover-card{max-width:330px;padding:27px 29px 47px}.cover-card h1{font-size:55px}.cover-top{margin-bottom:20px;font-size:10px}.cover-bottom{font-size:11px;margin-top:20px}.cover-card .seal{margin-bottom:20px}.map-panel{height:250px}.music-toggle{bottom:16px;right:15px;width:46px;height:46px}}@media(max-width:360px){.hero{padding-left:28px;padding-right:28px}.hero h1{font-size:50px}.section{padding-left:20px;padding-right:20px}.couple-names h2{font-size:34px}.date-line{gap:8px}.date-line span{min-width:74px}.cover-card{padding-top:22px;padding-bottom:39px}.cover-card h1{font-size:49px}.calendar-grid>span{width:30px}.eyebrow{font-size:10px}}@media(max-height:740px){.cover-top,.cover-bottom{display:none}.cover-card{padding-top:22px;padding-bottom:40px}.cover-card h1{font-size:49px;margin-top:18px}.cover-card .seal{margin-bottom:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
