#music-control[data-astro-cid-3pzpqipd]{z-index:5;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));border:1px solid var(--color-wedding);background:var(--color-white);width:44px;height:44px;color:var(--color-wedding);cursor:pointer;border-radius:50%;font-size:16px;position:fixed;box-shadow:0 3px 14px #29211a1f}#music-control[data-astro-cid-3pzpqipd][hidden],#music-control[data-astro-cid-3pzpqipd] span[data-astro-cid-3pzpqipd][hidden]{display:none}html.intro-pending,.intro-pending body{overscroll-behavior:none;overflow:hidden}#invitation{background:var(--color-bg);width:100%;max-width:none;height:100%;max-height:none;color:var(--color-text);border:0;margin:0;padding:24px;position:fixed;inset:0;overflow:auto}#invitation::backdrop{background:var(--color-bg)}#invitation[open]{place-items:center;display:grid}.invitation-inner{text-align:center;width:100%}#invitation-names{z-index:5;color:var(--color-white);text-shadow:0 1px 2px #0003;font-size:clamp(34px,6vw,47px);line-height:1.15;position:absolute;inset:67% 4% auto}#invitation-prompt{letter-spacing:.1em;max-width:290px;margin:36px auto 0;font-size:11px}#open-invitation{cursor:pointer;perspective:1000px;background:0 0;border:0;width:min(100%,380px);margin:auto;padding:0;display:block}.envelope{aspect-ratio:1.5;background:var(--color-wedding);border:1px solid #fffdf91f;border-radius:3px;display:block;position:relative;box-shadow:0 2px 3px #29211a33,0 18px 32px -10px #29211a4d,inset 0 0 0 2px #0000001a}.envelope-letter{background:var(--color-white);border-radius:3px;transition:transform .45s .25s;position:absolute;inset:9% 7%}.envelope-pocket{background:linear-gradient(145deg,#fffdf91f,transparent 49%,#00000026 50%,transparent 51%),var(--color-wedding);clip-path:polygon(0 0,50% 48%,100% 0,100% 100%,0 100%);z-index:2;border-radius:3px;position:absolute;inset:0}.envelope-pocket:after{content:"";background:linear-gradient(155deg,#fffdf92e,transparent 49%,#0000001f),var(--color-wedding);clip-path:polygon(0 100%,50% 43%,100% 100%);position:absolute;inset:0}.envelope-flap{background:linear-gradient(#fffdf92e,#fffdf90a 94%,#0000004d),var(--color-wedding);clip-path:polygon(0 0,100% 0,51% 99%,49% 99%);transform-origin:top;backface-visibility:visible;z-index:3;transition:transform .5s;position:absolute;inset:0 0 44%}.envelope-seal{background:var(--color-accent-soft);width:45px;height:45px;color:var(--color-white);font:26px var(--serif);z-index:4;border:3px double #d59a63;border-radius:50%;place-items:center;transition:opacity .15s;display:grid;position:absolute;top:44%;left:50%;transform:translate(-50%,-25%);box-shadow:0 2px 5px #29211a26}#invitation.is-opening{opacity:0;pointer-events:none;transition:opacity .3s .6s}.is-opening .envelope-flap{transform:rotateX(180deg)}.is-opening .envelope-letter{transform:translateY(-18%)}.is-opening .envelope-seal{opacity:0}@media (prefers-reduced-motion:reduce){#invitation,#invitation *{transition:none!important}}@font-face{font-family:Allura;src:url(/_astro/allura.4sUZKTf1.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cormorant;src:url(/_astro/cormorant-garamond.B-1hWBU7.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--color-wedding:#203f35;--color-bg:#f7f2ec;--color-surface:#ede1d8;--color-text:#29211a;--color-accent:#8a1f2d;--color-accent-soft:#b97861;--color-gold:#d59a63;--color-white:#fffdf9;--paper:var(--color-bg);--white:var(--color-white);--blush:var(--color-surface);--ink:var(--color-text);--muted:#78665a;--line:#d8c6b8;--serif:Cormorant,Georgia,serif;--script:Allura,"Brush Script MT",cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.8}h1,h2,p{margin:0}h1,h2{font-weight:400}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}img{object-fit:cover;width:100%;height:100%;display:block}svg{width:100%;height:100%;display:block}::selection{background:var(--color-surface);color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent-soft);outline-offset:5px}.skip-link{z-index:10;background:var(--white);padding:12px;position:absolute;top:0;left:16px;transform:translateY(-110%)}.skip-link:focus{transform:none}.script{font-family:var(--script);font-weight:400;line-height:1.16}.serif{font-family:var(--serif);font-weight:400;line-height:1.15}.centered{text-align:center}.section-pad{padding:82px 24px}.wrap{width:min(1160px,100% - 48px);margin-inline:auto}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:10px;line-height:1.7}.prose{max-width:530px;color:var(--muted);margin:22px auto 0;line-height:1.9}.note{color:var(--muted);margin-top:18px;font-size:12px;line-height:1.7}.ornament{width:46px;height:46px;color:var(--color-accent-soft);margin:0 auto 25px}h2.script{margin-top:12px;font-size:clamp(49px,6.3vw,78px)}h2.serif{margin-top:18px;font-size:clamp(35px,4.2vw,54px)}.site-header{background:var(--paper);justify-content:space-between;align-items:center;gap:20px;height:76px;padding:0 24px;display:flex}.monogram{font-family:var(--serif);letter-spacing:.03em;white-space:nowrap;font-size:26px}.site-header nav{gap:18px;font-size:10px;display:flex}.site-header nav a{border-bottom:1px solid #0000;padding:10px 0;transition:border-color .2s}.site-header nav a:hover{border-color:var(--ink)}.hero{background:var(--color-accent);color:var(--paper);display:grid}.hero-invitation{text-align:center;padding:38px 24px 31px;position:relative}.hero-invitation:before{content:"";pointer-events:none;border:1px solid #ffffff26;position:absolute;inset:15px}.hero-invitation>.eyebrow{color:var(--color-white);font-size:9px}.hero-kicker{text-transform:uppercase;letter-spacing:.27em;margin:24px 0 17px;font:11px Arial,sans-serif;display:block}.names{flex-direction:column;align-items:center;font-size:83px;line-height:.95;display:flex}.names .ampersand{font-family:var(--serif);color:var(--color-gold);margin:-1px 0 2px;font-size:36px;font-style:italic;line-height:1.1}.hero-rule{background:var(--color-gold);width:32px;height:1px;margin:27px auto 20px}.hero-caption{font-family:var(--serif);max-width:250px;color:var(--color-white);margin:auto;font-size:20px;line-height:1.35}.scroll-link{letter-spacing:.09em;color:var(--color-white);justify-content:center;align-items:center;gap:16px;min-height:32px;margin-top:27px;font-size:9px;display:flex}.scroll-link span{font-size:22px}.hero-image{height:330px}.intro h2{max-width:700px;margin-inline:auto}.wedding-date{border-block:1px solid var(--line);max-width:380px;margin:36px auto 29px;padding:23px 15px}.wedding-date p{font:31px var(--serif);letter-spacing:.12em;white-space:nowrap}.wedding-date span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:10px;font-size:10px;display:block}.invitation-signoff{max-width:390px;margin:auto;font-size:23px}.events{gap:55px;padding-bottom:80px;display:grid}.event{background:var(--white);border:1px solid var(--line);border-radius:4px;display:grid;overflow:hidden}.event-image{height:290px}.event-image img{object-position:center 58%}.event-content{text-align:center;padding:39px 26px 33px}.event-number{font-family:var(--serif);color:var(--color-accent-soft);margin-bottom:13px;font-size:24px;display:block}.event .eyebrow{font-size:9px}.event-description{color:var(--muted);max-width:330px;margin:15px auto 23px;font-size:14px}.event-details{border-top:1px solid var(--line);padding:22px 0;font-size:12px}.venue{font-family:var(--serif);margin-bottom:8px;font-size:23px;line-height:1.2}.event-details .time{text-transform:uppercase;letter-spacing:.12em;margin-top:12px;font-size:10px}.button{border:1px solid var(--color-accent-soft);text-align:center;cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:11px 23px;font-size:12px;line-height:1.5;transition:background .2s,color .2s;display:inline-flex}.button svg{flex-shrink:0;width:21px;height:21px}.button:not(:disabled):hover{background:var(--color-accent);color:var(--paper)}.button:disabled{cursor:not-allowed;color:var(--muted);border-color:var(--line)}.dress{background:var(--blush)}.dress-visual{color:var(--color-accent-soft);justify-content:center;align-items:center;gap:27px;margin:22px auto 10px;display:flex}.dress-visual svg{width:90px;height:90px}.dress-visual span{background:var(--line);width:45px;height:1px}.dress-code{font-size:34px}.dress .prose{max-width:415px;margin-top:17px}.gifts .prose{max-width:540px}.actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:29px;display:flex}.bank-details{max-width:100%}.bank-details summary{list-style:none}.bank-details summary::-webkit-details-marker{display:none}.bank-content{overflow-wrap:anywhere;padding:20px;font-size:13px}.photos{background:var(--color-surface);display:grid}.photos-image{height:310px}.photos-image img{filter:saturate(.6);object-position:50% 55%}.photos-content{text-align:center;padding:55px 27px}.photos-content .ornament{margin-bottom:20px}.photos-content .button{margin-top:29px}.photos-content .prose{font-size:14px}.photos-content h2{max-width:420px;margin-inline:auto}.rsvp .prose{max-width:430px}.rsvp form{border:1px solid var(--line);background:var(--white);border-radius:5px;max-width:600px;margin:34px auto 0;padding:25px 20px}fieldset{border:0;min-width:0;margin:0 0 24px;padding:0}legend{margin-bottom:12px;padding:0;font-size:13px}.attendance-options{gap:10px;display:grid}.attendance-options label{border:1px solid var(--line);cursor:pointer;border-radius:3px;align-items:center;gap:10px;min-height:48px;padding:12px;font-size:12px;display:flex}.attendance-options label:has(input:checked){border-color:var(--color-accent);background:var(--color-bg)}.attendance-options input{accent-color:var(--color-accent);flex-shrink:0;width:16px;height:16px;margin:0}.field{margin-top:21px;font-size:12px;display:block}.field>span{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:3px 10px;margin-bottom:8px;display:flex}.field small{color:var(--muted);font-size:10px}.field input,.field textarea{background:var(--white);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:3px;padding:13px 12px;font-size:16px;line-height:1.6;display:block}.field textarea{resize:vertical;min-height:88px}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1;font-size:13px}.button-primary,.button-primary:disabled{background:var(--color-accent);border-color:var(--color-accent);color:var(--paper)}.rsvp .button-primary{width:100%;margin-top:26px}.rsvp .note{text-align:center;max-width:445px;margin:16px auto 0;font-size:11px}.gallery{padding-top:0}.gallery .note{margin-top:12px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px;width:min(1160px,100%);margin-top:33px;display:grid}.gallery-grid img{filter:saturate(.65);border-radius:3px;height:210px}.gallery-grid img:nth-child(2),.gallery-grid img:nth-child(4){transform:translateY(22px)}.gallery-grid img:first-child{object-position:65% center}.gallery-grid img:nth-child(3){object-position:61% center}.footer{background:var(--color-accent);color:var(--paper);padding:70px 24px 40px}.footer .ornament{color:var(--color-accent-soft);width:32px;height:32px}.footer h2{margin:17px 0 8px;font-size:76px}.footer>p:not(.eyebrow):not(.footer-names){color:var(--muted);font-size:13px}.footer .footer-names{margin-top:31px;font-size:32px}.footer .eyebrow{color:var(--muted)}.back-top{border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:30px auto 0;font-size:20px;display:flex}@media (width>=640px){.site-header{padding-inline:48px}.site-header nav{gap:34px;font-size:11px}.attendance-options{grid-template-columns:1fr 1fr}.rsvp form{padding:38px}.gallery-grid{gap:18px}.gallery-grid img{height:330px}.hero-image{height:470px}.hero-invitation{padding-block:60px}.names{font-size:108px}.hero-caption{max-width:320px}}@media (width>=900px){.site-header{height:88px;padding-inline:6%}.monogram{font-size:31px}.site-header nav{gap:42px;font-size:12px}.hero{grid-template-columns:46% 54%;min-height:690px}.hero-invitation{flex-direction:column;justify-content:center;align-items:center;padding:54px 42px 42px;display:flex}.hero-invitation:before{inset:23px}.hero-image{height:auto;min-height:690px}.hero-image img{object-position:58% center}.hero-kicker{margin:31px 0 25px}.names{font-size:116px}.names .ampersand{font-size:44px}.hero-rule{margin-top:32px}.hero-caption{max-width:275px;font-size:23px}.scroll-link{margin-top:34px}.section-pad{padding:115px 40px}.intro .prose{max-width:570px;font-size:16px}.intro{padding-bottom:100px}.wedding-date{margin-top:42px}.wedding-date p{font-size:36px}.events{gap:45px;padding-bottom:110px}.event{grid-template-columns:1fr 1fr;min-height:580px}.event-image{height:auto;min-height:580px;position:relative}.event-image img{position:absolute;inset:0}.event-content{padding:44px 40px}.event.reverse .event-image{order:2}.event.reverse .event-content{order:1}.event-description{max-width:350px}.event h2.script{font-size:72px}.dress{padding-block:95px}.photos{grid-template-columns:1fr 1fr;min-height:565px}.photos-image{height:auto}.photos-content{align-self:center;padding:70px 55px}.photos-content .prose{max-width:390px}.rsvp form{margin-top:42px}.gallery{padding-top:0;padding-bottom:130px}.gallery-grid{grid-template-columns:1.1fr .85fr 1.1fr .85fr;gap:20px;margin-top:46px}.gallery-grid img{height:340px}.gallery-grid img:nth-child(2),.gallery-grid img:nth-child(4){transform:translateY(30px)}.footer{padding:84px 40px 40px}.footer h2{font-size:98px}.footer .footer-names{font-size:37px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.hero-image{aspect-ratio:1;height:auto}.wedding-date p{letter-spacing:.015em;white-space:normal;font-size:clamp(24px,4vw,34px)}.event{min-height:0;display:block}.event-content{height:100%}.photos{display:block}.photos-content{max-width:650px;margin-inline:auto;padding:0}.gallery-grid{grid-template-columns:1fr;max-width:1000px}.gallery-grid img{aspect-ratio:1;object-position:center;filter:none;height:auto}.gallery-grid img:nth-child(n){object-position:center;transform:none}.rsvp-contact{max-width:600px;margin:24px auto 0;font-size:13px}.rsvp-contact a{text-underline-offset:4px;white-space:nowrap;text-decoration:underline}.field input[readonly]{background:var(--paper)}@media (width>=640px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid img{aspect-ratio:3/4}}@media (width>=900px){.hero-image{aspect-ratio:auto;height:690px}.events{grid-template-columns:1fr 1fr;gap:30px}.event-content{padding:44px 30px}}.site-header{z-index:2;color:var(--color-white);background:0 0;position:absolute;inset:0 0 auto}.hero{background:var(--color-text);height:100svh;min-height:620px;color:var(--color-white);display:block;position:relative;overflow:hidden}.hero-image{aspect-ratio:auto;height:100%;min-height:0;position:absolute;inset:0}.hero-image img{object-position:53% 35%}.hero-image:after{content:"";background:linear-gradient(#29211a61,#0000 25% 43%,#29211ab8 100%);position:absolute;inset:0}.hero-invitation{z-index:1;text-shadow:0 2px 16px #29211a8c;padding:0;display:block;position:absolute;inset:auto 20px 6%}.hero-invitation:before{display:none}.hero-invitation>.eyebrow{margin-bottom:15px}.names{white-space:nowrap;font-size:clamp(53px,8vw,112px);line-height:1.1;display:block}.hero-kicker{letter-spacing:.3em;margin:18px 0 0;font-size:12px}.hero-rule{margin:22px auto 18px}.hero-caption{max-width:310px;font-size:21px}.scroll-link{margin-top:15px}.footer{background:var(--color-surface);color:var(--color-text)}.back-top{border-color:var(--line)}@media (width>=900px){.hero-invitation{bottom:6%}.hero-image img{object-position:center 35%}}@media (height<=650px){.hero{min-height:100svh}.hero-caption,.hero-rule,.hero-invitation>.eyebrow{display:none}.hero-invitation{bottom:5%}}.ornament,.event-number{color:var(--color-wedding)}.wedding-date{border-color:var(--color-wedding)}.countdown{color:var(--color-wedding);justify-content:center;align-items:center;gap:10px;margin:28px auto 0;display:flex}.countdown span{gap:2px;min-width:58px;display:grid}.countdown strong{font:26px var(--serif);line-height:1}.countdown small{color:var(--muted);letter-spacing:.12em;font-size:8px}.countdown i{font:20px var(--serif);color:var(--color-accent-soft);font-style:normal}.program{padding-top:0}.program-list{text-align:left;max-width:620px;margin:38px auto 0;padding:0;list-style:none}.program-list li{border-bottom:1px solid var(--line);grid-template-columns:84px 1fr;align-items:baseline;gap:20px;padding:22px 0;display:grid}.program-time{color:var(--color-wedding);letter-spacing:.04em;font-size:12px}.program-list .serif{font-size:25px}
