@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Libre+Caslon+Display&display=swap');
:root{--green:#174e40;--ink:#304c40;--paper:#fff;--muted:#66766c;--line:#e1e6df}
body{background:white}header{min-height:88px;padding:15px 6%;background:#fff;border-bottom:1px solid #ecede8}.brand{font-family:'Libre Caslon Display',Georgia,serif;font-size:32px}.brand i{font-style:normal;font-size:12px;vertical-align:middle;margin:0 5px}.brand small{font-size:7px;letter-spacing:2px}nav{gap:28px;font-size:11px}nav a[aria-current=page]{color:#174e40;text-decoration:underline}.nav-cta{border-radius:2px;padding:10px 20px;border-color:#ced9d0}.hero.invitation{background:#fff url('/assets/floral-reference.png') center/100% 100% no-repeat;min-height:790px;padding:55px 25px 130px;display:grid;place-items:center}.hero:before,.hero:after{display:none}.hero-content{width:min(100%,750px)}.hero .eyebrow{font-size:9px;letter-spacing:4px;color:#63776b}.wedding-seal{display:flex;justify-content:center;align-items:center;gap:22px;margin:25px 0 8px;font:126px/.9 'Libre Caslon Display',Georgia,serif;color:#264e3e}.wedding-seal i{display:flex;align-items:center;flex-direction:column;font:12px/1 Georgia,serif;gap:10px}.wedding-seal i:before,.wedding-seal i:after{content:'';height:37px;width:1px;background:#537365}.hero h1{font:clamp(55px,6vw,88px)/1.3 'Great Vibes',cursive;margin:20px 0 8px;color:#234d3d}.invitation-line{font:17px/1.8 'Cormorant Garamond',Georgia,serif;color:#5e6b60;margin:0 0 28px}.hero .date{font:40px/1.2 'Libre Caslon Display',Georgia,serif;letter-spacing:1px;margin:15px 0 8px}.date span{font:10px Manrope,Arial,sans-serif;letter-spacing:2px;display:inline-block;max-width:85px;margin:0 14px;line-height:1.8;vertical-align:middle}.ceremony-time{font-size:9px;letter-spacing:3px;margin:14px 0 20px}.hero-venue{font:19px/1.7 'Cormorant Garamond',Georgia,serif;margin:0}.hero-venue small{font:10px Manrope,Arial,sans-serif;letter-spacing:1px;color:#6c776d}.hero .button{padding:13px 32px;margin:24px 0 0;border-radius:2px;font-size:11px;letter-spacing:1px;box-shadow:0 4px 12px #153b2915}.hero .button span{font-size:19px;margin-left:12px;vertical-align:middle}.silk-ribbon{position:absolute;bottom:45px;left:0;right:0;height:48px;background:linear-gradient(180deg,#1d5a46,#113e30 65%,#174d3a);box-shadow:0 3px 5px #183e3026;display:flex;justify-content:center;align-items:center;color:#fff}.silk-ribbon:before,.silk-ribbon:after{content:'';width:70px;height:28px;border:1px solid #ffffff35;position:absolute;top:9px;border-radius:45% 8% 8% 45%;left:calc(50% - 80px);background:#1c503c;transform:rotate(-5deg)}.silk-ribbon:after{left:calc(50% + 10px);transform:scaleX(-1) rotate(-5deg)}.silk-ribbon span{background:#164431;padding:2px 20px;z-index:1;font:20px 'Great Vibes',cursive;letter-spacing:.5px}.intro{padding:70px 24px 85px;max-width:750px}.intro h2{font-size:45px}.countdown{background:transparent;gap:48px;padding:15px 0 25px}.countdown strong{font:45px 'Libre Caslon Display',Georgia,serif}.countdown span{font-size:8px;color:#78857a}.intro p{font:19px 'Cormorant Garamond',Georgia,serif}.intro a{font-size:11px}.page{position:relative;max-width:none;min-height:75vh;padding:65px max(24px,calc((100% - 1040px)/2)) 95px;background:#fff url('/assets/floral-reference.png') center/100% 100% no-repeat}.page-title{padding:5px 15px;margin-bottom:30px}.page-title h2{font-family:'Great Vibes',cursive;font-size:62px;margin:14px 0 10px}.page-title>p{font:18px 'Cormorant Garamond',Georgia,serif;color:#657364}.page-title .eyebrow{font-size:8px;letter-spacing:3px}.card{background:#ffffffed;border:1px solid #e3e9e1;box-shadow:0 12px 45px #274f3210;border-radius:4px;padding:35px 40px}.narrow.card{max-width:500px}label{font-size:11px;margin:18px 0 7px;font-weight:500}input,select{background:#fcfdfb;border:1px solid #d6e0d5;border-radius:3px;min-height:48px;padding:12px 14px;font-size:14px}input:focus,select:focus{outline:2px solid #86a592;outline-offset:1px}#whatsapp-rsvp>label:first-child{margin-top:0}#party-counts{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;margin-top:22px}#party-counts label{margin:0;align-self:end;font-size:10px}#party-counts label[for=adults]{grid-column:1;grid-row:1}#party-counts label[for=children]{grid-column:2;grid-row:1}#party-counts input{grid-row:2;text-align:center;font-size:22px;font-family:'Libre Caslon Display',Georgia,serif}#party-counts[hidden]{display:none}#whatsapp-rsvp button{width:100%;font-size:11px;border-radius:3px;padding:15px 10px;margin-top:27px;letter-spacing:.3px}.help{font-size:10px;line-height:1.8;text-align:center;margin-top:15px;color:#798376}.placeholder{background:#ffffffde;min-height:280px;border-color:#e5e9e2}.placeholder .ornament{font-size:46px}.placeholder h3{margin:8px 0 15px}.placeholder small{max-width:390px}footer{background:#f8faf6;border-color:#e7ece4;padding:36px 20px}.monogram{font:40px 'Libre Caslon Display',Georgia,serif}footer>p:first-of-type{font:24px 'Great Vibes',cursive;color:#345540}footer p:last-child{font-size:9px;margin-top:15px}
@media(max-width:800px){header{min-height:75px;padding:12px 6%}.brand{font-size:27px}nav{top:75px;background:#fff}.hero.invitation{min-height:760px;padding:95px 20px 130px;background-size:auto 100%;background-position:center}.hero-content{max-width:330px}.hero .eyebrow{font-size:8px;letter-spacing:2.3px}.wedding-seal{font-size:100px;gap:18px;margin:30px 0 16px}.hero h1{font-size:55px;white-space:nowrap;margin:15px -10px 12px}.invitation-line{font-size:16px;margin:0 auto 25px;max-width:230px}.hero .date{font-size:34px}.date span{font-size:9px;max-width:78px;margin:0 9px}.hero-venue{font-size:17px}.hero-venue small{font-size:9px}.silk-ribbon{bottom:30px;height:42px}.page{padding:105px 18px 120px;background-size:auto 100%;background-position:center}.page-title h2{font-size:51px}.page-title>p{font-size:17px;max-width:260px;margin:10px auto 25px}.narrow.card{padding:25px 22px}.intro{padding:55px 20px}.intro h2{font-size:38px}.countdown{gap:35px}.countdown strong{font-size:38px}.card{padding:25px}.wedding-seal i:before,.wedding-seal i:after{height:29px}}
@media(min-width:1500px){.hero.invitation{min-height:850px}}
.countdown strong{font-variant-numeric:tabular-nums;min-width:2ch}.countdown>div{min-width:60px}@media(max-width:480px){.countdown{gap:16px}.countdown>div{min-width:52px}.countdown strong{font-size:34px}.countdown span{font-size:7px;letter-spacing:1.5px}}
.silk-ribbon{position:relative;bottom:auto;left:auto;right:auto;width:100%;margin:0}
.silk-ribbon{height:64px}.silk-ribbon span{font-size:32px;padding:3px 24px}.silk-ribbon:before,.silk-ribbon:after{top:17px}@media(max-width:800px){.silk-ribbon{height:58px}.silk-ribbon span{font-size:27px;padding:3px 16px}.silk-ribbon:before,.silk-ribbon:after{top:14px}}
.invitation-line,.hero .date,.hero .date span,.ceremony-time,.hero-venue,.hero-venue small,.hero .button{font-weight:700}
.brand,.brand i,.brand small,header nav a{font-weight:700}
@media(max-width:800px){.hero.invitation,.page{background-image:url('/assets/floral-reference.png'),url('/assets/floral-reference.png');background-size:100% auto;background-position:left top,right bottom;background-repeat:no-repeat}}
header nav a{font-size:12px}header nav{gap:clamp(14px,2vw,28px)}
.hero-content,.grid>*{min-width:0}.page-title h2{overflow-wrap:break-word}
@media(max-width:800px){.hero.invitation{min-height:720px;background-size:100% 100%;padding:95px 24px 110px}.hero h1{font-size:clamp(40px,12.5vw,62px);margin:15px 0 12px}.hero-content{max-width:380px}.page{background-size:100% 100%}.hero .eyebrow{letter-spacing:2px}.hero-venue{font-size:18px}.hero-venue small,.ceremony-time{font-size:10px}header nav a{font-size:14px}header nav.open{gap:20px}input,select{font-size:16px}.help{font-size:12px}label{font-size:12px}#party-counts label{font-size:11px}.intro h2{font-size:clamp(30px,7.5vw,38px)}}
@media(min-width:801px) and (max-width:1100px){header{padding:16px 4%;gap:20px}header nav{gap:15px}header nav a{font-size:11px}.hero.invitation{min-height:760px}.hero-content{max-width:600px}}
@media(min-width:2200px){header{padding:24px 8%;min-height:120px}.brand{font-size:46px}.brand small{font-size:11px}header nav a{font-size:18px}header nav{gap:40px}.hero.invitation{min-height:1100px;padding:90px 25px 150px}.hero-content{width:100%;max-width:1050px}.wedding-seal{font-size:180px}.hero h1{font-size:120px}.hero .eyebrow{font-size:15px}.invitation-line{font-size:28px}.hero .date{font-size:62px}.hero .date span{font-size:15px;max-width:130px}.ceremony-time,.hero-venue small{font-size:16px}.hero-venue{font-size:30px}.hero .button{font-size:18px;padding:20px 45px}.silk-ribbon{height:88px}.silk-ribbon span{font-size:44px}.intro{max-width:1100px}.intro h2{font-size:65px}.intro p{font-size:28px}.eyebrow{font-size:14px}.countdown strong{font-size:65px}.countdown span{font-size:13px}.page{padding:85px max(60px,calc((100% - 1500px)/2)) 120px}.page-title h2{font-size:85px}.page-title>p{font-size:27px}.narrow.card{max-width:720px}body{font-size:20px}label{font-size:17px}input,select{font-size:20px;min-height:62px}#party-counts label{font-size:16px}#whatsapp-rsvp button{font-size:17px}.help{font-size:15px}}
@media(max-width:800px){.hero.invitation,.page{background-image:url("/assets/floral-reference.png"),url("/assets/floral-reference.png");background-size:100% auto;background-position:left top,right bottom;background-repeat:no-repeat}}
