:root{--cream:#faf8f1;--lime-accent:#c5d875;--paper:#f5e9ef;--pink:#d2a4b8;--raspberry:#881d53;--berry:#881d53;--lime:#dce5b2;--soft-olive:#dce0bd;--deep-olive:#62672f;--green:#62672f;--olive:#919547;--ink:#482537;--line:#881d5344;--script:'Caveat',cursive;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans)}body.modal-open{overflow:hidden}button,input,textarea,select{font:inherit}a{color:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}button,a,input,select,textarea{touch-action:manipulation}p,h1,h2,h3,figure{margin:0}p+p{margin-top:18px}button{color:inherit}header{height:80px;background:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.monogram{font:600 35px var(--script);color:var(--berry);text-decoration:none}.monogram i{font-style:normal;font-size:.75em}nav{display:flex;align-items:center;gap:30px}nav>a{font-size:13px;text-decoration:none;font-weight:600}nav>a:hover{text-decoration:underline;text-underline-offset:7px}.pill{display:inline-flex;justify-content:center;align-items:center;gap:25px;border:1px solid var(--berry);border-radius:50px;background:var(--berry);color:var(--cream);padding:13px 25px;font-size:14px;font-weight:600;transition:transform .25s,box-shadow .25s}.pill:hover{transform:translateY(-3px);box-shadow:3px 5px 0 #881d5325}.pill span{font-size:20px;line-height:1}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.15em}.hero{padding:38px 4.2% 48px;background:repeating-linear-gradient(90deg,#c5d875 0,#c5d875 52px,#faf8f1 52px,#faf8f1 104px);color:var(--berry);overflow:hidden}.party-invite{max-width:1320px;margin:auto;position:relative;background:var(--paper);padding:35px 6% 22px;border:3px solid var(--berry);border-radius:48px 42px 54px 45px;box-shadow:0 0 0 10px var(--paper),0 0 0 12px var(--berry);animation:arrive .8s both}.party-invite:before{content:'';position:absolute;inset:12px;border:1px solid #881d533b;border-radius:34px;pointer-events:none}.hero-kicker{text-align:center;font-size:11px}.hero h1{text-align:center;font:500 clamp(68px,7.7vw,115px)/1.2 var(--script);letter-spacing:-.045em;margin:4px 0 10px}.hero h1 span{font-size:.7em}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:1.5%;align-items:center;max-width:980px;margin:auto}.outline-title{font:800 clamp(56px,6.7vw,98px)/1.05 var(--sans);letter-spacing:-.055em;color:var(--paper);-webkit-text-stroke:1.7px var(--berry);paint-order:stroke fill;margin:0}.outline-title span{color:var(--berry);-webkit-text-stroke:0}.hero-location{font:500 38px/1.3 var(--script);margin-top:20px}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:25px}.hero-actions>a{font-size:13px;text-underline-offset:5px}.hero-photo-area{position:relative;padding:12px 15px 46px}.polaroid{background:#fffdf8;padding:15px 15px 18px;box-shadow:0 12px 28px #3b222420;transform:rotate(7deg);max-width:330px;margin:auto;transition:transform .7s}.polaroid:hover{transform:rotate(2deg) translateY(-6px)}.photo-window{overflow:hidden;background:#cad9dc;aspect-ratio:214/219}.photo-window svg{display:block;width:100%;height:100%;filter:grayscale(1)}.polaroid figcaption{font:500 29px/1 var(--script);text-align:center;padding-top:17px}.polaroid figcaption i{font-style:normal;font-size:25px}.date-stamp{position:absolute;right:-20px;bottom:2px;background:var(--soft-olive);border:1px solid #919547;border-radius:50%;width:175px;height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);box-shadow:5px 5px 0 #881d5314}.date-stamp span{font-size:10px;font-weight:700;letter-spacing:.1em}.date-stamp strong{font:800 31px/1.5 var(--sans);letter-spacing:-.07em}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:33px;padding-top:14px;font-size:10px;letter-spacing:.13em;font-weight:700}.hero-bottom a{text-decoration:none;font-size:23px;line-height:1}.party-ribbon{overflow:hidden;background:var(--berry);color:var(--cream);padding:18px 0;white-space:nowrap;font-size:13px;font-weight:600;letter-spacing:.13em}.party-ribbon>div{width:max-content;animation:marquee 50s linear infinite}.section{padding:105px 7%}h2{font:700 clamp(40px,4.6vw,68px)/1.08 var(--sans);letter-spacing:-.055em;color:var(--berry);margin-top:20px}h2 i{font:500 1.24em/1 var(--script);letter-spacing:-.04em}h3{font:700 29px/1.15 var(--sans);letter-spacing:-.045em;color:var(--berry)}.welcome{display:grid;grid-template-columns:1.15fr 1fr;gap:12%;align-items:center;max-width:1400px;margin:auto}.welcome-copy>p:not(.eyebrow):not(.signature){max-width:530px;line-height:1.8}.welcome-copy>h2{margin-bottom:30px}.signature{font:500 32px/1.2 var(--script);color:var(--berry);margin-top:28px!important}.poolside-card{position:relative;background:var(--cream);padding:13px 13px 20px;transform:rotate(2deg);max-width:405px;justify-self:center;box-shadow:10px 10px 0 var(--olive);border:1px solid var(--line)}.poolside-card img{width:100%;height:auto;display:block;filter:grayscale(1)}.poolside-card figcaption{font:500 28px/1.1 var(--script);text-align:center;padding-top:17px}.rsvp-feature{background:var(--pink);display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;position:relative}.rsvp-feature:before,.dress-code:before{content:'';position:absolute;left:0;right:0;height:16px;top:-15px;background:radial-gradient(circle at 50% 100%,var(--pink) 15px,transparent 16px) 0 0/32px 16px repeat-x}.rsvp-copy h2{font-size:clamp(58px,6.4vw,92px);margin-bottom:28px}.reply-card{background:repeating-linear-gradient(90deg,#c5d875 0,#c5d875 23px,#faf8f1 23px,#faf8f1 46px);border:2px solid var(--berry);box-shadow:9px 9px 0 var(--berry);border-radius:8px;padding:38px 30px;display:flex;align-items:center;flex-direction:column;gap:17px;transform:rotate(-5deg);color:var(--berry);transition:transform .5s,box-shadow .5s;width:100%;max-width:440px;justify-self:center}.reply-card:hover{transform:rotate(0deg) translateY(-7px);box-shadow:12px 15px 0 var(--berry)}.reply-to,.reply-signature{font:500 30px/1 var(--script)}.reply-big{font:800 clamp(45px,5vw,70px)/1.1 var(--sans);letter-spacing:-.05em;-webkit-text-stroke:1.5px var(--berry);color:var(--cream)}.reply-line{font-size:15px}.reply-action{padding:12px 22px;border-radius:30px;background:var(--berry);color:var(--cream);font-size:14px}.reply-action b{margin-left:15px}.reply-signature{margin-top:6px;font-size:26px}.section-top{text-align:center}.section-top h2{margin-top:18px}.weekend{background:var(--cream)}.itinerary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:60px}.event{padding:30px 26px 34px;background:#e3e8c8;border:1px solid #62672f2b;border-radius:120px 120px 8px 8px;position:relative;text-align:center}.event:nth-child(2){background:#e6cbd8}.event:nth-child(3){background:var(--soft-olive)}.event-number{display:flex;flex-direction:column;gap:16px;margin:0 0 25px;font:500 65px/1 var(--script);color:var(--berry)}.event-number span{font:700 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.07em}.event h3{min-height:66px;display:flex;justify-content:center;align-items:center}.event>p:not(.event-number){font-size:15px}.event-time{font-size:13px!important;font-weight:700;margin-top:15px}.event-time+p{margin-top:15px}.location{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;color:var(--green);font-size:13px!important}.text-button{background:transparent;border:0;border-bottom:1px solid var(--berry);color:var(--berry);padding:5px 0;font-size:14px;margin-top:17px}.text-button span{margin-left:12px}.dress-code{background:var(--lime);position:relative}.dress-code:before{background:radial-gradient(circle at 50% 100%,var(--lime) 15px,transparent 16px) 0 0/32px 16px repeat-x}.dress-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}.dress-intro>p:first-child{font-weight:600;font-size:20px;line-height:1.5}.palette{display:flex;gap:10px;margin-top:25px}.palette span{width:35px;height:35px;border-radius:50%;background:#df995a;border:1px solid #0001}.palette span:nth-child(2){background:#c5ddec}.palette span:nth-child(3){background:#f3df9c}.palette span:nth-child(4){background:#e99887}.palette span:nth-child(5){background:#c9bce0}.dress-notes{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin:50px 0 40px}.dress-notes article{border-top:1px solid #62672f55;padding-top:24px}.dress-notes h3{margin:12px 0 17px}.dress-notes p{max-width:450px}.outfit-board{background:var(--cream);padding:15px 15px 20px;box-shadow:8px 8px 0 #62672f38}.outfit-board img{display:block;width:100%;height:auto}.outfit-board figcaption{text-align:center;font:500 30px/1.2 var(--script);color:var(--berry);padding:18px 10px 0}.more-inspiration{max-width:650px;margin:35px auto 0;border-bottom:1px solid #62672f66}.more-inspiration img{display:block;width:100%;height:auto;padding-bottom:20px}.more-inspiration summary{font:600 16px var(--sans)}.details{background:var(--paper);display:grid;grid-template-columns:1fr 1.3fr;gap:12%}.details-intro>p:not(.eyebrow){margin-top:25px;max-width:300px}.colour-swatches{display:none}.faq-list details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font:600 22px/1.3 var(--sans);letter-spacing:-.035em;color:var(--berry)}summary::-webkit-details-marker{display:none}.plus{font:400 28px var(--sans);transition:transform .3s}details[open] .plus{transform:rotate(45deg)}.faq-answer{padding:0 15px 25px 0;font-size:15px}.faq-answer a{text-underline-offset:4px}.stay{background:var(--lime-accent);color:var(--berry);position:relative}.stay h2,.stay h3{color:var(--berry)}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;max-width:1080px;margin:65px auto 0}.stay-label{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--berry)}.stay h3{margin:17px 0 25px;font-size:32px}.check-times{border-top:1px solid #fff5;border-bottom:1px solid #fff5;padding:18px 0;margin-bottom:25px;display:flex;gap:25px}.check-times p{font-size:14px;margin:0}.check-times small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;color:var(--berry)}.stay-note{border-top:1px solid #fff5;padding-top:20px;font-size:14px}.closing{background:var(--pink);text-align:center;padding:90px 25px 100px;position:relative}.closing:after{content:'';position:absolute;bottom:0;left:0;right:0;height:20px;background:repeating-linear-gradient(90deg,var(--cream) 0,var(--cream) 28px,var(--lime-accent) 28px,var(--lime-accent) 56px)}.closing h2{font-size:clamp(50px,6vw,90px);margin-bottom:35px}.closing .pill{padding:15px 32px}footer{display:flex;justify-content:space-between;align-items:center;padding:27px 5%;gap:20px;font-size:12px}footer>a:last-child{text-decoration:none}.reveal{transition:opacity .8s ease,translate .8s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal:not(.visible){opacity:0;translate:0 24px}dialog{border:1px solid var(--berry);padding:0;background:var(--paper);color:var(--ink);width:min(620px,calc(100% - 28px));max-height:90svh;border-radius:15px;box-shadow:10px 10px 0 #881d5370;overflow-y:auto}dialog::backdrop{background:#382124ba;backdrop-filter:blur(8px)}dialog[open]{animation:arrive .3s ease both}.modal-stripe{height:24px;background:repeating-linear-gradient(90deg,var(--lime-accent) 0,var(--lime-accent) 24px,var(--cream) 24px,var(--cream) 48px);border-bottom:1px solid var(--berry)}.modal-content{padding:37px 42px 28px}.modal-content h2{font-size:57px;margin:15px 0 18px}.modal-intro{font-size:15px}.close-dialog{position:absolute;right:12px;top:30px;background:transparent;border:0;font-size:30px;width:44px;height:44px;color:var(--berry)}.attendance{border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0 20px}.attendance legend{font-size:14px;margin-bottom:8px}.attendance label{position:relative}.attendance input{position:absolute;left:12px;top:15px;accent-color:var(--berry)}.attendance span{display:block;border:1px solid var(--line);padding:12px 8px 12px 35px;font-size:14px;border-radius:5px}.attendance input:checked+span{background:var(--berry);color:var(--cream);border-color:var(--berry)}.attendance input:focus-visible+span{outline:2px solid var(--berry);outline-offset:3px}.field{display:block;font-size:14px;margin-bottom:17px}.field input,.field textarea,.field select{display:block;width:100%;background:#fcf8fa;border:1px solid #881d5355;border-radius:4px;padding:10px 12px;margin-top:6px;color:var(--ink);font-size:16px}.field textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1.2fr 1fr;gap:15px}.optional{opacity:.7}.submit-rsvp{width:100%;margin-top:6px}.email-hint,.recipient{font-size:12px;text-align:center;line-height:1.5;margin:14px 0}.direct-email{display:block;text-align:center;font-size:13px;margin-top:25px}.recipient{margin:4px 0 0;color:var(--green)}#rsvp-status{font-size:14px;background:var(--lime);padding:12px;border-radius:4px;margin-top:15px}[hidden]{display:none!important}@keyframes arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{to{transform:translateX(-35%)}}@media(min-width:1500px){.hero{padding-top:50px;padding-bottom:60px}.party-invite{padding-top:45px;padding-bottom:30px}.hero-grid{margin-top:20px}}@media(max-width:1050px){nav{gap:20px}.hero{padding-left:5%;padding-right:5%}.party-invite{padding-left:5%;padding-right:5%}.hero-photo-area{padding-right:20px}.polaroid{max-width:280px}.date-stamp{width:140px;height:140px;right:-10px}.date-stamp strong{font-size:26px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-location{font-size:32px}.section{padding:80px 6%}.welcome{gap:8%}.poolside-card img{height:auto}.event{padding:28px 20px}.event h3{font-size:25px}.check-times{flex-direction:column;gap:12px}.dress-heading{gap:7%}}@media(max-width:740px){header{height:70px;padding:0 22px}nav{gap:13px}nav>a{display:none}.monogram{font-size:32px}.pill{padding:11px 20px}.hero{padding:30px 23px 35px;background-size:auto}.party-invite{padding:28px 25px 20px;border-radius:30px;box-shadow:0 0 0 7px var(--paper),0 0 0 9px var(--berry)}.party-invite:before{inset:9px;border-radius:21px}.hero-kicker{font-size:9px;letter-spacing:.11em;max-width:250px;margin:auto}.hero h1{font-size:clamp(51px,10vw,77px);line-height:1.08;margin:15px -10px 28px}.hero-grid{grid-template-columns:1fr;gap:25px}.hero-message{text-align:center}.outline-title{font-size:clamp(47px,10.8vw,76px);line-height:1.02;letter-spacing:-.05em}.outline-title br:nth-child(2){display:none}.outline-title span{display:block}.hero-location{font-size:32px;margin-top:18px}.hero-actions{justify-content:center;margin-top:20px;gap:18px}.hero-actions>a{font-size:12px}.hero-photo-area{width:100%;max-width:340px;margin:10px auto 0;padding:8px 35px 40px}.polaroid{max-width:255px;padding:11px 11px 17px;transform:rotate(5deg)}.polaroid figcaption{font-size:24px}.polaroid figcaption i{font-size:21px}.date-stamp{right:-8px;bottom:0;width:130px;height:130px}.date-stamp strong{font-size:25px}.date-stamp span{font-size:8px}.hero-bottom{font-size:8px;letter-spacing:.08em;margin-top:22px;gap:15px}.party-ribbon{font-size:11px;padding:15px 0}.section{padding:68px 25px}.welcome{grid-template-columns:1fr;gap:45px}.welcome-copy{max-width:550px}.welcome h2{font-size:45px}.poolside-card{max-width:330px;margin:0 15px}.poolside-card img{height:auto}.rsvp-feature{grid-template-columns:1fr;gap:42px;text-align:center;padding-bottom:85px}.rsvp-copy h2{font-size:68px}.reply-card{max-width:340px;padding:32px 22px}.reply-big{font-size:63px}.reply-to{font-size:28px}.section-top h2{font-size:43px}.itinerary{grid-template-columns:1fr;gap:25px;margin-top:40px}.event{padding:26px 27px 35px;border-radius:90px 90px 8px 8px;max-width:440px;width:100%;margin:auto}.event h3{min-height:0;font-size:29px}.event-number{font-size:55px;gap:12px;margin-bottom:20px}.event-time{margin-top:20px}.event-number span{font-size:12px}.dress-heading{grid-template-columns:1fr;gap:35px}.dress-heading h2{font-size:48px}.dress-notes{grid-template-columns:1fr;gap:28px;margin-top:35px}.dress-notes h3{font-size:27px}.outfit-board{padding:8px 8px 17px;box-shadow:5px 5px 0 #62672f38}.outfit-board figcaption{font-size:23px}.more-inspiration{margin-top:25px}.details{grid-template-columns:1fr;gap:25px}.details-intro>p:not(.eyebrow){max-width:none}.details h2{font-size:46px}.faq-list summary{font-size:21px}.stay-grid{grid-template-columns:1fr;gap:35px;margin-top:40px}.stay-grid article+article{border-top:1px solid #fff5;padding-top:30px}.check-times{flex-direction:row;gap:25px}.stay h3{font-size:29px}.closing{padding-bottom:80px}.closing h2{font-size:47px}footer{padding:22px 25px;flex-wrap:wrap;font-size:11px}footer>a:last-child{width:100%;text-align:center}.modal-content{padding:38px 23px 25px}.modal-content>.eyebrow{font-size:10px}.modal-content h2{font-size:45px}.form-row{grid-template-columns:1fr;gap:0}.attendance span{font-size:12px;padding-left:30px}.attendance input{left:8px}}@media(max-width:370px){.party-invite{padding-left:18px;padding-right:18px}.hero h1{font-size:47px}.outline-title{font-size:45px}.hero-photo-area{padding-left:15px;padding-right:30px}.date-stamp{right:-10px}.check-times{flex-direction:column}.reply-big{font-size:52px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.visible){opacity:1;translate:none}}

.party-invite{border:0;box-shadow:none;border-radius:20px;padding-top:40px;padding-bottom:28px}.party-invite:before{display:none}.stationery-outline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.stationery-outline path{fill:none;stroke:var(--berry);stroke-width:3;vector-effect:non-scaling-stroke}@media(max-width:740px){.party-invite{border-radius:10px;padding-top:30px;padding-bottom:25px}.stationery-outline path{stroke-width:2.5}}

.bridesmaid-note{max-width:720px;margin:40px auto 0;text-align:center;padding:28px;background:var(--cream);border:1px solid var(--line);border-radius:8px}.bridesmaid-note h3{font:600 37px/1.15 var(--script);margin-bottom:15px}.bridesmaid-note p{font-size:15px;line-height:1.7}.bridesmaid-note+.more-inspiration{margin-top:12px}@media(max-width:740px){.bridesmaid-note{padding:23px 18px}.bridesmaid-note h3{font-size:33px}}

.phone-menu{display:none}img{max-width:100%}input,textarea,select{max-width:100%}@media(max-width:740px){.phone-menu{display:block;position:relative}.phone-menu summary{padding:10px 12px;min-height:44px;font:600 14px var(--sans);letter-spacing:0;border:1px solid var(--line);border-radius:24px}.phone-menu>div{position:absolute;top:calc(100% + 12px);right:0;min-width:190px;display:grid;background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 10px 25px #48253722}.phone-menu a{padding:12px;min-height:44px;text-decoration:none;font-size:15px}.phone-menu a:hover{background:var(--paper)}header{padding-left:16px;padding-right:16px}.hero-grid>*{min-width:0}.outline-title{font-size:clamp(39px,10.8vw,76px)}.hero h1{font-size:clamp(43px,10vw,77px)}.attendance{grid-template-columns:1fr}.attendance span{font-size:14px}.attendance input{top:16px}.modal-content{padding-bottom:max(25px,env(safe-area-inset-bottom))}.direct-email,.recipient{overflow-wrap:anywhere}.stay-grid,.dress-heading,.dress-notes,.welcome,.itinerary{min-width:0}dialog{max-height:calc(100dvh - 28px)}}

.arrow-icon{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

.ribbon-symbol{display:inline-block;width:18px;height:18px;vertical-align:-3px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}

@media(max-width:740px){.hero-photo-area{padding-bottom:125px}.date-stamp{bottom:0}}
