@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=DM+Serif+Display&display=swap";
:root{--paper:#f6f3e6;--cream:#fffef9;--ink:#30332d;--lime:#bfc16b;--mauve:#b49ab1;--leaf:#586345;--line:#d9d6c8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{background:var(--paper);color:var(--ink);margin:0;font:15px/1.7 DM Sans,Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,.brand{font-family:DM Serif Display,Georgia,serif;font-weight:400;line-height:1.1}h1{letter-spacing:-2px;margin:12px 0;font-size:clamp(58px,8vw,92px)}h2{letter-spacing:-1px;margin:12px 0 22px;font-size:clamp(35px,5vw,54px)}h3{margin:0 0 12px;font-size:27px}em{font-weight:400}p{margin:13px 0}.eyebrow{letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:600}.small{font-size:12px}.lead{max-width:690px}.site-header{justify-content:space-between;align-items:center;gap:22px;max-width:1240px;margin:auto;padding:19px 35px;display:flex}.brand{white-space:nowrap;font-size:27px;text-decoration:none}.brand span{font-style:italic}.site-header nav{flex-wrap:wrap;align-items:center;gap:24px;font-size:12px;display:flex}.site-header nav a{text-decoration:none}.nav-rsvp{border-bottom:1px solid;padding:8px 0}.button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:3px;justify-content:center;align-items:center;min-height:48px;padding:13px 26px;font-size:13px;text-decoration:none;display:inline-flex}.button:hover{background:var(--leaf);border-color:var(--leaf)}.hero-stripes{background:var(--paper);padding:74px 28px 82px;position:relative}.hero-stripes:before,.rsvp-stripes:before,.login-screen:before{content:"";background-color:#fff;background-image:linear-gradient(90deg,#484a4580 50%,#0000 50%),linear-gradient(#484a4580 50%,#0000 50%);background-size:16px 16px;height:12px;position:absolute;top:0;left:0;right:0}.invitation{background:var(--cream);border:1px solid var(--lime);text-align:center;max-width:720px;margin:auto;padding:62px 72px 66px}.invitation .eyebrow{color:#725e70}.invitation .date{letter-spacing:2px;margin:24px 0;font-size:13px}.hero-intro{max-width:440px;margin:0 auto 29px}.section{max-width:1160px;margin:auto;padding:76px 35px}.intro{grid-template-columns:1fr 1fr;align-items:center;gap:65px;display:grid}.intro>div{max-width:460px}.couple-photo{background:var(--cream);border:1px solid var(--line);margin:0;padding:8px}.couple-photo img{object-fit:cover;object-position:center 32%;width:100%;height:390px;display:block}.program{background:#ecebdd;max-width:none;padding-left:max(35px,50vw - 545px);padding-right:max(35px,50vw - 545px)}.timeline{grid-template-columns:repeat(3,1fr);gap:40px;margin-top:32px;display:grid}.timeline article{border-top:2px solid var(--lime);padding-top:17px}.timeline span{letter-spacing:1.5px;color:var(--ink);font-size:11px}.timeline p{font-size:13px}.places h2,.lodgings h2{margin-bottom:30px}.place-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.place{border:1px solid var(--line);background:var(--cream);min-width:0;padding:30px}.place>p:not(.eyebrow),.place-body>p:not(.eyebrow){font-size:13px}.place:first-child{flex-direction:column;display:flex}.place:first-child .text-link{margin-top:auto}.place:has(.venue-image){padding:0}.venue-image{height:260px;position:relative;overflow:hidden}.venue-image img{object-fit:cover;width:100%;height:100%}.venue-image span{background:#f6f3e6ec;padding:3px 8px;font-size:10px;position:absolute;bottom:0;right:0}.place-body{padding:24px 30px 28px}.text-link{font-size:12px;font-weight:600}.lodgings{padding-top:45px}.lodging-grid{grid-template-columns:repeat(3,1fr);gap:17px;margin-top:32px;display:grid}.lodging{border:1px solid var(--line);background:var(--cream);flex-direction:column;min-height:245px;padding:24px;display:flex}.lodging h3{font-size:24px}.lodging p{margin:7px 0;font-size:12px}.lodging .address{font-weight:600}.lodging .text-link{margin-top:auto;padding-top:12px}.other-lodgings{background:#e9ead9;margin-top:25px;padding:24px 35px}.other-lodgings>div{max-width:690px}.practical{border-top:1px solid var(--line);grid-template-columns:.8fr 1.2fr;gap:65px;display:grid}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;min-height:52px;padding:16px 0;font-size:14px;font-weight:600}.faq p{margin:0 0 18px;font-size:13px}.rsvp-stripes{background:var(--paper);padding:72px 28px;position:relative}.rsvp-paper{background:var(--cream);border:1px solid var(--lime);max-width:820px;margin:auto;padding:48px 52px}.rsvp-paper>h2,.rsvp-paper>.eyebrow,.rsvp-paper>p:not(.eyebrow){text-align:center}.rsvp-paper>.eyebrow{color:#725e70}.rsvp-paper>p:not(.eyebrow){max-width:480px;margin:12px auto 30px}.rsvp-form fieldset{border:0;min-width:0;margin:0;padding:0}.rsvp-form label{margin:0 0 16px;font-size:12px;font-weight:600;display:block}.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form textarea{border:1px solid var(--line);background:var(--cream);width:100%;color:var(--ink);border-radius:3px;margin-top:6px;padding:11px 12px;font-size:16px;display:block}.rsvp-form textarea{resize:vertical}.field-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.choice-group{margin:8px 0 16px!important}.choice-group legend{margin-bottom:8px;font-size:13px;font-weight:600}.choice-row{flex-wrap:wrap;gap:10px;display:flex}.choice-row label{border:1px solid var(--line);background:var(--cream);border-radius:3px;flex:1;min-width:165px;margin:0;padding:12px 15px}.choice-row label:has(input:checked){border-color:var(--leaf);background:#e9ead9}.choice-row input,.consent input{accent-color:var(--leaf);margin:0 7px 0 0}.consent{align-items:start;gap:10px;line-height:1.5;font-weight:400!important;display:flex!important}.consent input{margin-top:4px}.rsvp-form .button{width:100%}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.late-warning{background:#f1e8ef;border-left:3px solid #725e70;padding:12px;font-size:12px}.error{color:#9c3030;font-size:13px}.success{text-align:center;padding:30px}footer{text-align:center;border-top:1px solid var(--line);padding:38px 20px}.footer-names{margin:0;font:26px DM Serif Display,Georgia,serif}footer p,footer a{font-size:12px}.skip{background:var(--cream);z-index:10;padding:12px;position:absolute;top:-100px;left:12px}.skip:focus{top:12px}:focus-visible{outline-offset:3px;outline:3px solid #77627a}fieldset:disabled{opacity:.65}.login-screen{background:var(--paper);place-items:center;min-height:100vh;padding:30px;display:grid;position:relative}.login-card{text-align:center;background:var(--cream);border:1px solid var(--lime);width:100%;max-width:430px;padding:50px 38px}.login-card h1{font-size:63px}.login-card p{font-size:13px}.login-card label{text-align:left;margin:25px 0 0;font-size:12px;display:block}.login-card input{background:var(--cream);border:1px solid var(--line);width:100%;margin-top:7px;padding:11px;font-size:16px;display:block}.login-card .button{width:100%;margin-top:15px}@media (max-width:760px){.site-header{flex-wrap:wrap;padding:17px 20px}.brand{font-size:23px}.site-header nav{gap:16px}.site-header nav a{font-size:11px}.hero-stripes{padding:54px 19px 62px}.invitation{padding:48px 28px}.section{padding:50px 23px}.intro,.place-grid,.practical{grid-template-columns:1fr;gap:30px}.intro>div{max-width:none}.couple-photo{max-width:480px;margin:auto}.program{padding:50px 23px}.timeline{grid-template-columns:1fr;gap:19px}.lodging-grid{grid-template-columns:1fr 1fr}.other-lodgings{padding:24px}.rsvp-stripes{padding:58px 19px}.rsvp-paper{padding:35px 24px}}@media (max-width:540px){.site-header nav a:nth-child(2){display:none}.lodging-grid,.field-grid{grid-template-columns:1fr}.couple-photo img{height:275px}.venue-image{height:230px}.login-card{padding:40px 28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.hotel-stars{color:#725e70;letter-spacing:2px;line-height:1;margin-top:-4px!important;font-size:11px!important}.intro .eyebrow,.program .eyebrow{color:#725e70}.wedding-page{--butter:#e5c757;--rose:#bd789b;--blue:#385d9b}.wedding-page .intro{text-align:center;display:block}.wedding-page .intro>div{max-width:620px;margin:auto}.wedding-page .hero-stripes{isolation:isolate;background:var(--leaf);place-items:center;min-height:770px;display:grid;overflow:hidden}.hero-collage{z-index:0;background:var(--cream);grid-template-rows:1fr 1fr;grid-template-columns:1fr 1.1fr 1.1fr 1fr;gap:7px;padding:7px;display:grid;position:absolute;inset:0}.hero-collage:after{content:"";background:#40502b80;position:absolute;inset:0}.collage-photo{position:relative;overflow:hidden}.collage-photo img{object-fit:cover}.collage-formal{grid-row:1/span 2}.collage-formal img{object-position:center 34%}.collage-winter{grid-column:2/span 2}.collage-winter img{object-position:center 44%}.collage-ski{grid-area:1/4/span 2}.collage-ski img{object-position:47% center}.collage-ocean{grid-column:2/span 2}.collage-ocean img{object-position:center 52%}.collage-italy{z-index:1;border:7px solid var(--cream);width:185px;height:225px;position:absolute;bottom:7%;right:9%;transform:rotate(4deg)}.collage-italy img{object-position:center 55%}.collage-hike,.collage-cliffs{display:none}.wedding-page .invitation{z-index:1;position:relative}.wedding-page .hero-stripes:before{z-index:2}.wedding-page .hero-stripes:before,.wedding-page .rsvp-stripes:before{background:repeating-linear-gradient(90deg,#eef0dc 0 14px,#becb7e 14px 28px);height:16px}.wedding-page .invitation,.wedding-page .rsvp-paper{border:2px solid var(--leaf);box-shadow:inset 0 0 0 8px var(--cream), inset 0 0 0 10px #cbd58d;border-radius:34px 34px 14px 14px}.wedding-page .invitation:before,.wedding-page .rsvp-paper:before{color:var(--blue);letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:600}.wedding-page .program,.wedding-page .other-lodgings{background-color:#e4e8c7;background-image:linear-gradient(45deg,#ffffff70 25%,#0000 25%),linear-gradient(-45deg,#ffffff70 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff70 75%),linear-gradient(-45deg,#0000 75%,#ffffff70 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.wedding-page .timeline article{border-color:var(--blue)}.wedding-page .place,.wedding-page .lodging{border-color:#8fa05e;border-radius:14px}.wedding-page .place h3:after,.wedding-page .lodging h3:after{content:" *";color:var(--rose)}.variation-switcher{letter-spacing:.8px;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:8px;margin:24px auto 0;font-size:11px;display:flex}.variation-switcher a{border:1px solid;padding:5px 8px;text-decoration:none}.variation-switcher a[aria-current=page]{background:var(--ink);color:var(--cream)}.variation-gallery-wall .hero-collage{grid-template-rows:1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;padding:12px}.variation-gallery-wall .hero-collage:after{background:#40502b66}.variation-gallery-wall .collage-formal{grid-area:1/1/span 2}.variation-gallery-wall .collage-winter{grid-area:1/2/auto/span 2}.variation-gallery-wall .collage-ski{grid-area:1/4/span 2}.variation-gallery-wall .collage-ocean{grid-area:3/2/auto/span 2}.variation-gallery-wall .collage-italy,.variation-gallery-wall .collage-hike,.variation-gallery-wall .collage-cliffs{border:5px solid var(--cream);width:auto;height:auto;display:block;position:relative;inset:auto;transform:none}.variation-gallery-wall .collage-italy{grid-area:3/1}.variation-gallery-wall .collage-hike{grid-area:3/4}.variation-gallery-wall .collage-cliffs{grid-area:2/2/auto/span 2}.variation-film-strip .hero-collage{background:var(--ink);grid-template-rows:1fr 1fr;grid-template-columns:1fr 1.4fr 1fr;gap:18px;padding:30px 18px}.variation-film-strip .hero-collage:after{background:#22301755}.variation-film-strip .collage-formal{grid-area:1/1/span 2}.variation-film-strip .collage-winter{grid-area:1/2}.variation-film-strip .collage-ocean{grid-area:2/2}.variation-film-strip .collage-ski{grid-area:1/3/span 2}.variation-film-strip .collage-italy{border-color:var(--butter);width:125px;height:160px;bottom:9%;right:4%}.variation-botanical-windows .hero-collage{background-color:#dfe4c1;background-image:radial-gradient(circle at 14% 17%, var(--blue) 0 2px, transparent 2.5px), radial-gradient(circle at 86% 28%, var(--rose) 0 3px, transparent 3.5px), radial-gradient(circle at 22% 80%, #b04944 0 2px, transparent 2.5px), radial-gradient(circle at 78% 74%, var(--blue) 0 2px, transparent 2.5px);background-size:90px 90px,115px 115px,130px 130px,105px 105px;padding:0;display:block}.variation-botanical-windows .hero-collage:after{background:#40502b42}.variation-botanical-windows .collage-photo{z-index:1;border:8px solid var(--cream);outline:2px solid var(--leaf);border-radius:46% 54% 48% 52%/58% 44% 56% 42%;width:255px;height:250px;position:absolute}.variation-botanical-windows .collage-formal{top:8%;left:6%}.variation-botanical-windows .collage-winter{top:8%;right:6%}.variation-botanical-windows .collage-ski{bottom:8%;right:6%}.variation-botanical-windows .collage-ocean{bottom:8%;left:6%}.variation-botanical-windows .collage-italy,.variation-botanical-windows .collage-hike,.variation-botanical-windows .collage-cliffs{display:none}.variation-full-bleed .hero-collage{background:var(--ink);padding:0;display:block}.variation-full-bleed .hero-collage:after{background:#20301d38}.variation-full-bleed .collage-formal,.variation-full-bleed .collage-ski,.variation-full-bleed .collage-ocean{width:50%;height:100%;position:absolute;inset:0 auto 0 0}.variation-full-bleed .collage-ski{left:auto;right:0}.variation-full-bleed .collage-ocean{z-index:1;border-top:8px solid var(--cream);width:100%;height:17%;top:auto}.variation-full-bleed .collage-formal img{object-position:55% 35%}.variation-full-bleed .collage-ski img{object-position:45% 53%}.variation-full-bleed .collage-winter,.variation-full-bleed .collage-italy,.variation-full-bleed .collage-hike,.variation-full-bleed .collage-cliffs{display:none}.variation-full-bleed .invitation{box-shadow:14px 14px 0 #30332d80, inset 0 0 0 8px var(--cream), inset 0 0 0 10px #cbd58d}.variation-scrapbook .hero-collage{background:repeating-linear-gradient(90deg,#d8df9a 0 24px,#f8f4d9 24px 48px);padding:0;display:block}.variation-scrapbook .hero-collage:after{background:#40502b38}.variation-scrapbook .collage-photo{z-index:1;border:10px solid var(--cream);outline:1px solid var(--leaf);position:absolute;box-shadow:5px 7px #30332d55}.variation-scrapbook .collage-formal{width:220px;height:310px;top:11%;left:4%;transform:rotate(-5deg)}.variation-scrapbook .collage-winter{width:300px;height:185px;top:4%;left:21%;transform:rotate(3deg)}.variation-scrapbook .collage-ski{width:225px;height:310px;top:8%;right:5%;transform:rotate(5deg)}.variation-scrapbook .collage-ocean{width:300px;height:185px;bottom:4%;right:18%;transform:rotate(-3deg)}.variation-scrapbook .collage-italy{width:145px;height:185px;bottom:8%;right:4%;transform:rotate(7deg)}.variation-scrapbook .collage-hike{width:230px;height:175px;display:block;bottom:5%;left:8%;transform:rotate(4deg)}.variation-scrapbook .collage-cliffs{width:260px;height:160px;display:block;bottom:2%;left:33%;transform:rotate(-2deg)}@media (max-width:760px){.wedding-page .hero-stripes{min-height:660px}.hero-collage{grid-template-columns:1fr 1fr}.collage-winter,.collage-ocean,.collage-italy{display:none}.collage-formal,.collage-ski{grid-area:1/auto/span 2}.variation-gallery-wall .hero-collage,.variation-film-strip .hero-collage{grid-template-columns:1fr 1fr}.variation-gallery-wall .collage-winter,.variation-gallery-wall .collage-ocean,.variation-gallery-wall .collage-italy,.variation-gallery-wall .collage-hike,.variation-gallery-wall .collage-cliffs,.variation-film-strip .collage-winter,.variation-film-strip .collage-ocean,.variation-film-strip .collage-italy{display:none}.variation-botanical-windows .collage-photo{width:145px;height:155px}.variation-botanical-windows .collage-formal{top:7%;left:2%}.variation-botanical-windows .collage-winter{top:7%;right:2%}.variation-botanical-windows .collage-ski{bottom:7%;right:2%}.variation-botanical-windows .collage-ocean{bottom:7%;left:2%}.variation-full-bleed .collage-ocean{height:12%}.variation-scrapbook .collage-winter,.variation-scrapbook .collage-ocean,.variation-scrapbook .collage-italy,.variation-scrapbook .collage-hike,.variation-scrapbook .collage-cliffs{display:none}.variation-scrapbook .collage-formal{width:150px;height:230px;top:7%;left:3%}.variation-scrapbook .collage-ski{width:150px;height:230px;top:11%;right:3%}}
