@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&family=Italianno&display=swap');
:root{--paper:#f5f2e8;--olive:#45533a;--sage:#d8decd;--red:#8c382c;--line:#bcc2ae;--yellow:#eee4b8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--olive);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}a{color:inherit}a:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}.skip{position:absolute;left:12px;top:-90px;background:white;padding:8px;z-index:9}.skip:focus{top:12px}header{display:flex;align-items:center;justify-content:space-between;padding:20px 5.5%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}.monogram{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;text-decoration:none;line-height:1}.monogram span{font-style:italic;font-size:23px;padding:0 4px}nav{display:flex;gap:35px;align-items:center}nav a{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;text-decoration:none}.nav-rsvp{border:1px solid var(--olive);padding:6px 18px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.05;margin:0}h1{font-size:clamp(68px,9vw,126px);letter-spacing:-4px}h1 em{font-weight:400;font-size:.77em}h2{font-size:clamp(44px,5.2vw,72px);letter-spacing:-1.8px}h3{font-size:31px}p{margin:18px 0}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:500;margin:0 0 22px}.hero{text-align:center;padding:42px 24px 50px;background:repeating-linear-gradient(90deg,#edf0e5 0px,#edf0e5 22px,#f5f2e8 22px,#f5f2e8 44px)}.hero-inner{max-width:960px;margin:auto;background:var(--paper);padding:30px 42px 25px;border:1px solid var(--line);outline:1px solid var(--line);outline-offset:7px}.hero-line{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:23px;line-height:1.2;margin:20px 0 28px}.hero-photo{position:relative;max-width:720px;margin:auto}.hero-photo img{width:100%;height:295px;object-fit:cover;object-position:center 48%;display:block;border-radius:170px 170px 0 0}.photo-label{position:absolute;bottom:17px;left:0;right:0;color:white;font-size:9px;letter-spacing:2px;text-shadow:0 1px 3px black}.stamp{position:absolute;right:-26px;top:26px;border:1px solid var(--red);outline:1px solid var(--red);outline-offset:-7px;background:var(--yellow);color:var(--red);width:120px;height:120px;border-radius:50%;transform:rotate(12deg);display:flex;flex-direction:column;justify-content:center;line-height:1.7;font-size:9px;letter-spacing:1px}.stamp b{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:23px;font-weight:400;letter-spacing:0}.hero-meta{display:flex;align-items:center;justify-content:center;gap:25px;font-size:10px;letter-spacing:1.7px;margin:26px 0 13px}.dot{color:var(--red)}.text-link{font-size:11px;letter-spacing:.6px;text-underline-offset:5px;display:inline-block}.intro{text-align:center;max-width:710px;margin:auto;padding:95px 25px 105px}.intro>p:not(.eyebrow){max-width:530px;margin:24px auto}.signature{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:27px;margin-top:35px}.weekend{background:var(--sage);padding:75px 8% 55px}.section-heading{display:flex;justify-content:space-between;align-items:end;max-width:1120px;margin:0 auto 45px}.section-heading>p{text-align:right;font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;font-style:italic;line-height:1.3;margin:0}.days{display:grid;grid-template-columns:repeat(3,1fr);max-width:1120px;margin:auto;border-top:1px solid #9da78e;border-bottom:1px solid #9da78e}.days article{padding:30px 25px 25px;border-right:1px solid #9da78e}.days article:first-child{padding-left:0}.days article:last-child{border:0}.day{font-size:10px;letter-spacing:2px}.date{font-family:'Cormorant Garamond',Georgia,serif;font-size:80px;line-height:1.2;margin:8px 0 24px}.date span{font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:1.5px;margin-left:16px}.days p{font-size:13px}.days .pending{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;margin-top:24px}.schedule-note{font-size:11px;text-align:center;margin:25px auto 0;max-width:640px}.ticker{background:var(--red);color:var(--paper);white-space:nowrap;overflow:hidden;padding:17px 0;text-align:center;font-size:11px;letter-spacing:3px}.place{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;padding:100px 8%;max-width:1450px;margin:auto;align-items:center}figure{margin:0}.place img{width:100%;height:550px;object-fit:cover;display:block}.place figcaption{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:18px;margin-top:12px}.place-copy h3{margin-top:30px}.place-copy p{max-width:430px;font-size:14px}.place-copy .address{font-size:12px}.links{display:flex;gap:25px;flex-wrap:wrap;margin-top:26px}.details{border-top:1px solid var(--line);padding:70px 24px 90px;text-align:center}.faq{text-align:left;max-width:760px;margin:40px auto 0}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{padding:22px 0;display:flex;justify-content:space-between;cursor:pointer;list-style:none;font-family:'Cormorant Garamond',Georgia,serif;font-size:26px}summary::-webkit-details-marker{display:none}summary span{font-family:serif;font-size:22px}details[open] summary span{transform:rotate(45deg)}details p{margin:0 0 24px;max-width:660px;font-size:14px}.rsvp{padding:55px 12%;text-align:center;background:var(--yellow)}.rsvp-border{border:1px solid #a29d7d;outline:1px solid #a29d7d;outline-offset:7px;padding:52px 20px}.rsvp p:not(.eyebrow){font-size:14px;margin:27px 0}.button{display:inline-block;background:var(--olive);color:var(--paper);padding:13px 25px;text-decoration:none;font-size:11px;letter-spacing:1px}.button:hover{background:var(--red)}.small-note{font-size:10px;letter-spacing:.7px;margin-top:16px}footer{display:flex;justify-content:space-between;align-items:center;padding:32px 6%}footer p{font-size:10px;letter-spacing:2px;text-align:center;line-height:2}footer p span{font-size:9px}.footer-note{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:20px}@media(max-width:700px){header{padding:16px 5%}nav{gap:14px}nav a{font-size:8px;letter-spacing:.7px}.nav-rsvp{padding:5px 8px}.monogram{font-size:27px}.hero{padding:28px 19px 36px}.hero-inner{padding:24px 17px}h1{letter-spacing:-2px;font-size:67px}.hero-photo img{height:245px}.stamp{width:86px;height:86px;right:-7px;top:15px;font-size:7px}.stamp b{font-size:18px}.hero-meta{flex-direction:column;gap:5px;font-size:9px}.hero-meta .dot{display:none}.intro{padding:65px 25px}.section-heading{display:block}.section-heading>p{text-align:left;margin-top:20px}.weekend{padding:55px 7%}.days{grid-template-columns:1fr}.days article,.days article:first-child{border-right:0;border-bottom:1px solid #9da78e;padding:22px 0}.days article:last-child{border-bottom:0}.date{font-size:64px;margin:0 0 10px}.place{grid-template-columns:1fr;gap:35px;padding:60px 7%}.place img{height:390px}.details{padding:50px 7% 60px}summary{font-size:24px}.rsvp{padding:35px 7%}.rsvp-border{padding:38px 15px}footer{flex-wrap:wrap;gap:12px}.footer-note{font-size:16px}.intro>p:not(.eyebrow){font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Revised editorial direction */
:root{--paper:#f3efe4;--olive:#3d4631;--sage:#dadcc8;--red:#873d2c;--yellow:#e9dfc6}header{padding:21px 5%;background:#f7f4ec}.monogram{font-size:30px}nav{gap:30px}.hero{position:relative;background:#59634a;isolation:isolate;padding:0;min-height:680px;color:#fff9e9;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,29,14,.17),rgba(15,29,14,.28));z-index:-1}.hero-landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-inner{background:transparent;border:0;outline:0;padding:100px 20px 120px;max-width:none;width:100%}.hero .eyebrow{font-size:10px;letter-spacing:2.5px;margin-bottom:43px;text-shadow:0 1px 5px #26331d}.hero h1{line-height:.72;letter-spacing:0;font-weight:400}.hero h1 span{font-family:'Italianno',cursive;display:block;font-size:clamp(88px,10vw,145px);font-weight:400;text-transform:none;position:relative;z-index:1}.hero h1 strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(95px,13.8vw,190px);letter-spacing:-6px}.hero-meta{margin:55px 0 25px;gap:34px;font-size:10px;letter-spacing:2.4px}.hero .text-link{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:22px;text-decoration:none;letter-spacing:.4px}.hero-margin{position:absolute;bottom:25px;left:0;right:0;font-size:8px;letter-spacing:3px;text-align:center}.intro{max-width:1250px;display:grid;grid-template-columns:1fr 1.1fr;gap:12%;text-align:left;padding:110px 7%;align-items:center}.intro h2{font-size:65px;line-height:1.02}.story-title .signature{display:block;font-family:'Italianno',cursive;font-size:46px;margin-top:32px}.intro .story-copy>p{max-width:none;margin:0 0 22px;font-size:14px;line-height:1.9}.story-route{border-top:1px solid var(--line);padding-top:23px;font-size:8px;letter-spacing:1px;line-height:2.3}.story-route span{padding:0 5px;color:var(--red)}.weekend{background:var(--paper);padding:80px 6% 70px;border-top:1px solid var(--line)}.section-heading{max-width:1120px;margin-bottom:55px;align-items:center}.section-heading h2{font-size:80px;line-height:.9}.section-heading>p{text-align:left;font-size:24px;line-height:1.5;max-width:310px}.events{max-width:1120px;margin:auto}.event{display:grid;grid-template-columns:1fr 1.2fr;margin-bottom:28px;min-height:290px}.event-art{background:#eadbd0;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.event-art img{width:75%;max-height:230px}.event-art span{position:absolute;bottom:17px;right:35px;font-family:'Italianno',cursive;font-size:37px;color:var(--red);transform:rotate(-7deg)}.market .event-art{background:repeating-linear-gradient(90deg,#eadbd0,#eadbd0 36px,#e4d2c5 36px,#e4d2c5 72px)}.event-content{padding:35px 42px;background:#ebe5d7;display:flex;flex-direction:column;justify-content:center}.event-top,.event-bottom{display:flex;justify-content:space-between;gap:16px;font-size:9px;letter-spacing:1.3px}.event-top{margin-bottom:25px}.event h3{font-size:53px}.event-content p{font-size:14px;max-width:370px;margin:17px 0 27px;line-height:1.8}.event-bottom{border-top:1px solid #c6bead;padding-top:15px;font-size:8px;line-height:1.6}.wedding .event-art{background:#3d4631}.wedding .event-art span{color:#f1eddd}.wedding .event-content{background:#dadcc8}.pool .event-art{background:#d9e5e0}.pool .event-content{background:#e7ece3}.schedule-note{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:19px;margin-top:37px}.ticker{background:var(--olive);color:var(--paper);padding:23px 0;font-size:10px;letter-spacing:4px}.place{position:relative;background:#e5e0d2;max-width:none;padding:100px 10%;gap:10%;grid-template-columns:1fr 1fr}.place figure{position:relative;transform:rotate(-2deg);background:#f8f6ee;padding:13px 13px 16px;box-shadow:0 10px 25px #363b2f15}.place figure:before{content:'';width:115px;height:30px;background:#ded2b5aa;position:absolute;top:-12px;left:35%;transform:rotate(6deg);z-index:1}.place img{height:470px}.place figcaption{text-align:center;font-family:'Italianno',cursive;font-size:27px}.place h2{font-size:72px}.place h3{font-size:32px}.place-copy p{line-height:1.9}.details{padding-top:90px;background:var(--paper)}.rsvp{background:var(--olive);color:var(--paper);padding:65px 12%}.rsvp-border{border-color:#8e967e;outline:0;padding:45px 20px}.rsvp h2{font-size:76px}.rsvp h2 em{font-family:'Italianno',cursive;font-size:1.4em}.rsvp .button{background:var(--paper);color:var(--olive)}.rsvp .button:hover{background:var(--yellow)}.small-note{color:#dddccf}footer{background:var(--paper)}
@media(max-width:700px){header{padding:16px 5%}nav{gap:13px}.hero{min-height:600px}.hero-inner{padding:70px 15px 100px}.hero .eyebrow{font-size:8px;letter-spacing:1.7px;max-width:260px;margin:0 auto 50px}.hero h1 span{font-size:89px}.hero h1 strong{font-size:85px;letter-spacing:-3px}.hero-meta{flex-direction:column;gap:6px;margin-top:45px}.hero .text-link{font-size:21px}.hero-margin{font-size:7px;letter-spacing:1.6px}.intro{display:block;padding:65px 8%}.intro h2{font-size:55px}.story-title .signature{margin:22px 0 35px}.intro .story-copy>p{font-size:13px}.weekend{padding:58px 7%}.section-heading h2{font-size:65px}.section-heading>p{font-size:22px;margin-top:24px}.event{grid-template-columns:1fr;margin-bottom:28px}.event-art{height:245px}.event-art img{max-height:195px}.event-art span{bottom:5px;right:25px}.event-content{padding:27px 23px 30px}.event h3{font-size:44px}.event-top{margin-bottom:20px;font-size:8px}.event-content p{font-size:13px}.event-bottom{font-size:7px;letter-spacing:.9px}.place{padding:65px 8%;grid-template-columns:1fr;gap:45px}.place img{height:360px}.place h2{font-size:58px}.rsvp h2{font-size:51px}.rsvp{padding:40px 7%}}

.hero{background:#f7f3e8;color:var(--olive);min-height:690px}.hero:after{display:none}.hero-inner{padding:55px 20px 65px}.hero .eyebrow{text-shadow:none;margin-bottom:40px}.hero h1 strong{font-size:clamp(85px,12vw,165px)}.hero-illustration{display:block;width:370px;max-width:80%;height:145px;object-fit:contain;margin:25px auto 0}.hero-meta{margin:24px 0 16px}.hero-margin{color:#667052}.pool .event-art{background:repeating-linear-gradient(90deg,#f0e2a8 0,#f0e2a8 35px,#fffdf4 35px,#fffdf4 70px)}.pool .event-content{background:#fffdf4}.pool .event-art span{color:#6f652e}@media(max-width:700px){.hero{min-height:610px}.hero-inner{padding:45px 15px 65px}.hero .eyebrow{margin-bottom:40px}.hero h1 strong{font-size:85px}.hero-illustration{width:290px;height:125px;margin-top:24px}.hero-meta{margin-top:20px}}

.hero-illustration{width:610px;max-width:88%;height:auto;max-height:340px;margin:24px auto 0}.hero{min-height:820px}.hero-inner{padding-bottom:75px}@media(max-width:700px){.hero{min-height:650px}.hero-illustration{width:350px;max-width:95%;height:auto;margin:28px auto 0}.hero-inner{padding-bottom:70px}}

.hero{min-height:900px;background:#f7f3e8;align-items:flex-start}.hero-inner{position:relative;padding:65px 20px 520px;z-index:1}.hero-illustration{position:absolute;z-index:-1;left:0;bottom:15px;width:100%;max-width:none;height:620px;max-height:none;object-fit:contain;margin:0;opacity:.88;mask-image:linear-gradient(to bottom,transparent 0%,#000 25%,#000 85%,transparent 100%)}.hero-meta{margin-top:25px}.hero-margin{bottom:23px}.hero .text-link{font-size:20px}.travel-preview{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#e5e0d2;padding:65px 10%;align-items:center}.travel-preview h2{font-size:60px}.travel-preview p{font-size:14px;line-height:1.8}.travel-preview .venue-small{font-size:10px;margin:22px 0 0;line-height:2}.venue-small a{text-underline-offset:4px}.travel-title{text-align:center;padding:65px 20px 55px;background:#e5e0d2}.travel-title h1{font-size:95px;letter-spacing:-3px}.travel-title>p:not(.eyebrow){font-family:'Italianno',cursive;font-size:38px;margin:20px 0}.travel-title nav{justify-content:center;margin-top:30px;flex-wrap:wrap}.hotel-section{padding:75px 8%;max-width:1400px;margin:auto}.hotel-intro{max-width:680px;font-size:14px}.hotel-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.hotel-list article{border-top:1px solid var(--line);padding:30px 0;display:flex;flex-direction:column;align-items:start}.hotel-list h3{font-size:36px;margin-top:20px}.hotel-list p{font-size:13px;line-height:1.9;margin-bottom:30px;flex:1}.arrival-section{padding:70px 8%;background:#dadcc8;display:grid;grid-template-columns:1fr 1fr;gap:12%}.arrival-section p{max-width:470px;font-size:14px;line-height:1.9}.arrival-section h2{font-size:60px}.shuttle-section{text-align:center;padding:70px 24px 85px}.shuttle-section p:not(.eyebrow){max-width:650px;margin:25px auto;font-size:14px}.shuttle-section .shuttle-note{font-style:italic}.shuttle-section h2{font-size:60px}@media(max-width:700px){.hero{min-height:740px}.hero-inner{padding:45px 15px 370px}.hero-illustration{height:370px;bottom:20px;width:130%;left:-15%;mask-image:linear-gradient(to bottom,transparent 0%,#000 25%,#000 85%,transparent 100%)}.hero-meta{margin-top:25px}.travel-preview{grid-template-columns:1fr;gap:20px;padding:45px 8%}.travel-preview h2{font-size:49px}.travel-title{padding:50px 20px}.travel-title h1{font-size:65px}.travel-title nav{gap:22px}.hotel-section{padding:55px 8%}.hotel-list{grid-template-columns:1fr;gap:0}.hotel-list article{padding:28px 0}.hotel-list h3{font-size:34px}.arrival-section{grid-template-columns:1fr;gap:35px;padding:50px 8%}.arrival-section h2,.shuttle-section h2{font-size:50px}}

.hero{min-height:980px;background:#f7f3e8 url('assets/painted-invitation-soft.png') center bottom/100% 100% no-repeat;display:block}.hero-inner{padding:80px 20px 560px;z-index:1}.hero .eyebrow{margin-bottom:35px;font-size:9px}.hero h1 span{font-size:110px}.hero h1 strong{font-size:125px;letter-spacing:-4px}.invitation-names{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;letter-spacing:4px;margin:35px 0 8px}.invitation-date{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;letter-spacing:1px;margin:10px 0}.hero-meta{margin:18px 0 15px;font-size:9px;letter-spacing:1.8px}.hero .text-link{font-size:17px}@media(min-width:1100px){.hero{background-size:100% 140%;background-position:center bottom}.hero-inner{padding-bottom:590px}}@media(max-width:700px){.hero{min-height:790px;background-size:100% 100%}.hero-inner{padding:55px 15px 405px}.hero h1 span{font-size:76px}.hero h1 strong{font-size:76px;letter-spacing:-2px}.hero .eyebrow{font-size:8px;margin-bottom:30px}.invitation-names{font-size:20px;letter-spacing:3px;margin:28px 0 8px}.invitation-date{font-size:18px}.hero-meta{font-size:7px;margin:15px 0}.hero .text-link{font-size:16px}}

@media(min-width:1100px){.hero{background-size:100% 100%;background-position:center bottom}.hero-inner{padding-bottom:590px}}

/* More compact opening, retaining the continuous painted composition. */
.hero{min-height:800px;background-size:100% 100%}.hero-inner{padding:55px 20px 405px}.hero h1 span{font-size:96px}.hero h1 strong{font-size:108px}.invitation-names{margin-top:25px;font-size:22px}.invitation-date{font-size:20px}.hero .eyebrow{margin-bottom:28px}@media(min-width:1100px){.hero{min-height:800px;background-size:100% 100%}.hero-inner{padding-bottom:405px}}@media(max-width:700px){.hero{min-height:680px}.hero-inner{padding:38px 15px 320px}.hero h1 span{font-size:70px}.hero h1 strong{font-size:70px}.invitation-names{font-size:18px;margin-top:23px}.invitation-date{font-size:17px}.hero .eyebrow{margin-bottom:24px}}

.intro{grid-template-columns:.55fr 1.45fr;gap:10%;padding-top:75px;padding-bottom:75px}.story-title .signature{margin:0;font-size:54px}@media(max-width:700px){.intro{padding-top:45px;padding-bottom:45px}.story-title .signature{margin:0 0 25px;font-size:44px}}

.ticker{height:14px;padding:0;}

/* Clear schedule dates and dress codes. */
.event-top{align-items:baseline;flex-wrap:wrap;gap:4px 18px;margin-bottom:17px;letter-spacing:0}
.event-day{font-size:12px;font-weight:600;letter-spacing:1.6px;line-height:1.4}
.event-date{font-family:'Cormorant Garamond',Georgia,serif;font-size:29px;font-weight:600;line-height:1.1;white-space:nowrap}
.event-bottom{align-items:baseline;flex-wrap:wrap;gap:12px 20px;padding-top:17px;letter-spacing:0}
.event-location{font-size:11px;font-weight:600;letter-spacing:1.5px}
.event-attire{text-align:right;font-size:16px;font-weight:600;line-height:1.35}
.event-attire-label{display:block;font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:2px}
@media(max-width:700px){.event-top{margin-bottom:16px}.event-day{font-size:11px}.event-date{font-size:26px}.event-bottom{font-size:inherit;letter-spacing:0}.event-location{font-size:10px}.event-attire{font-size:15px}.event-attire-label{font-size:9px}}

/* Small, scannable hotel logistics. */
.hotel-list article>p{margin-bottom:20px}
.hotel-facts{display:grid;gap:10px;margin:0 0 23px;width:100%}
.hotel-fact{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.45}
.hotel-fact img{width:19px;height:19px;flex:none}
.hotel-fact strong{font-weight:600}

/* Early RSVP, styled as part of the invitation. */
.rsvp .eyebrow{margin-bottom:20px}.rsvp-intro{max-width:550px;margin:20px auto 34px!important;line-height:1.8}.rsvp-form{max-width:540px;margin:0 auto;text-align:left}.rsvp-field label,.rsvp-options legend{display:block;font-size:11px;letter-spacing:1.1px;text-transform:uppercase;font-weight:600;margin-bottom:10px}.rsvp-field input{width:100%;border:1px solid #a9b19e;background:#f7f4ec;color:var(--olive);padding:15px 17px;border-radius:0;font:inherit;font-size:15px}.rsvp-field input:focus-visible,.rsvp-choices input:focus-visible+span,.rsvp-form button:focus-visible{outline:2px solid #f0ce8a;outline-offset:3px}.rsvp-options{border:0;padding:0;margin:26px 0 0;min-width:0}.rsvp-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rsvp-choices label{cursor:pointer;position:relative}.rsvp-choices input{position:absolute;opacity:0;width:1px;height:1px}.rsvp-choices span{display:block;text-align:center;border:1px solid #a9b19e;padding:12px 8px;background:transparent;font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;line-height:1.2;transition:background .15s,color .15s}.rsvp-choices input:checked+span{background:#f7f4ec;color:var(--olive);border-color:#f7f4ec}.rsvp-per-person{font-size:12px!important;text-align:left;margin:18px 0 22px!important;color:#e9e5d8}.rsvp-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.rsvp-form .button{border:0;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;width:100%;min-height:48px}.rsvp-form .button:disabled{opacity:.55;cursor:not-allowed}.rsvp-feedback{min-height:1.5em;margin:12px 0 0!important;text-align:center;font-size:12px!important}.rsvp-calendar{display:inline-block;margin-top:21px;font-size:11px;text-underline-offset:5px;color:#e9e5d8}.rsvp-calendar:hover{color:#fff}.rsvp iframe[hidden]{display:none}@media(max-width:700px){.rsvp-choices{gap:7px}.rsvp-choices span{font-size:21px}.rsvp-intro{font-size:13px!important}.rsvp-field input{font-size:16px}}

[hidden]{display:none!important}.rsvp-success{text-align:center;margin:2rem auto}.rsvp-success p{font-family:var(--serif,Georgia,serif);font-size:1.4rem;margin-bottom:1.2rem}

.rsvp-note{margin-top:1.3rem}.rsvp-note label span{font-weight:400;font-size:.82em;opacity:.7}.rsvp-note textarea{width:100%;min-height:6rem;resize:vertical;font:inherit;padding:.9rem 1rem;border:1px solid rgba(75,74,52,.36);border-radius:2px;background:#fffdf8;color:var(--olive)}.rsvp-note textarea::placeholder{color:#6e7564;opacity:1}.rsvp-note textarea:focus{outline:2px solid #776e44;outline-offset:2px}

.intro{grid-template-columns:minmax(235px,.75fr) minmax(0,1.25fr);gap:5%}.story-title .signature{white-space:nowrap;font-size:clamp(42px,4.5vw,54px);line-height:1.1}@media(max-width:700px){.story-title .signature{font-size:44px}}

/* Keep event titles dominant; make the logistics one consistent system. */
.event-top{justify-content:flex-start;align-items:center;gap:8px;margin-bottom:23px}.event-day::after{content:"·";margin-left:13px;opacity:.65}
.event-day,.event-date{font-family:'DM Sans',sans-serif;font-size:13px;line-height:1.5;font-weight:600;letter-spacing:1.15px;text-transform:uppercase;white-space:normal}
.event-date{font-weight:500}
.event-bottom{align-items:flex-start}
.event-location,.event-attire{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;line-height:1.5}
.event-location-label,.event-attire-label{display:block;font-size:9px;font-weight:500;letter-spacing:1.7px;margin-bottom:5px;opacity:.72}
.event-attire{max-width:58%}
@media(max-width:700px){.event-top{margin-bottom:20px}.event-day,.event-date{font-size:12px;letter-spacing:1px}.event-location,.event-attire{font-size:12px}}

/* Panoramic watercolor for wide windows; portrait art keeps its proportions on phones. */
.hero{background-color:#f7f3e8;background-image:linear-gradient(180deg,#f7f3e8 0%,rgba(247,243,232,.94) 19%,rgba(247,243,232,.56) 43%,rgba(247,243,232,0) 68%),url("assets/painted-invitation-wide.png");background-size:100% 100%,cover;background-position:center center,center center;background-repeat:no-repeat}
@media(max-width:900px){.hero{background-image:linear-gradient(180deg,#f7f3e8 0%,rgba(247,243,232,.9) 28%,rgba(247,243,232,0) 62%),url("assets/painted-invitation-soft.png");background-size:100% 100%,100% auto;background-position:center top,center bottom}}

/* Keep external-link arrows as crisp text-colored icons on mobile browsers. */
.link-arrow{display:inline-block;width:.82em;height:.82em;vertical-align:-.06em;overflow:visible}

/* A soft watercolor wash and stronger type keep the invitation details legible. */
.hero-inner{background:radial-gradient(ellipse 460px 230px at 50% 290px,rgba(247,243,232,.96) 0%,rgba(247,243,232,.84) 42%,rgba(247,243,232,0) 100%)}
.invitation-date{font-size:26px;line-height:1.2;font-weight:500}
.hero-meta{font-size:11px;line-height:1.5;letter-spacing:1.65px;font-weight:600;margin:17px 0 13px}
.hero .text-link{font-size:20px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media(max-width:700px){.hero-inner{background:radial-gradient(ellipse 285px 185px at 50% 215px,rgba(247,243,232,.97) 0%,rgba(247,243,232,.86) 43%,rgba(247,243,232,0) 100%)}.invitation-date{font-size:22px}.hero-meta{font-size:10px;line-height:1.55;letter-spacing:1.15px;margin:16px 0 12px}.hero .text-link{font-size:19px}}

/* Give the couple’s names equal visual presence with the date. */
.invitation-names{font-size:25px;letter-spacing:2.5px;font-weight:500}
@media(max-width:700px){.invitation-names{font-size:21px;letter-spacing:1.8px}}
