:root{--ivory:#f2edce;--paper:#f8f5e6;--navy:#0e2856;--blue:#60718b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--navy);font-family:"Manrope",sans-serif}button,a{font:inherit}button{color:inherit}.siteHeader{position:absolute;z-index:20;inset:0 0 auto;height:100px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #0e285624}.brand{color:inherit;text-decoration:none}.siteHeader nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,42px)}.siteHeader nav a{color:var(--navy);text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.13em;transition:opacity .2s}.siteHeader nav a:hover{opacity:.55}.siteHeader .navCta{border:1px solid var(--navy);padding:13px 18px}.menuButton{display:none;border:0;background:transparent;padding:8px}.menuButton span{display:block;width:24px;height:1px;background:var(--navy);margin:6px}
.monogram{width:108px;height:130px;border:1.5px solid var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Parisienne",cursive;font-size:72px;line-height:1;letter-spacing:-30px;padding-right:22px}.monogram b{font-weight:400}.monogram i{font-style:normal;transform:translateY(12px)}.monogram.small{width:45px;height:55px;font-size:31px;letter-spacing:-13px;padding-right:10px;border-width:1px}
.hero{min-height:100svh;background:var(--ivory);display:grid;place-items:center;text-align:center;padding:140px 24px 60px;position:relative;overflow:hidden}.heroContent{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.26em;font-size:11px;font-weight:600}.hero .eyebrow{margin:32px 0 12px;color:var(--blue)}.hero h1{display:flex;align-items:baseline;justify-content:center;gap:26px;margin:0;font-weight:400}.hero h1 em{font:400 clamp(76px,11vw,155px)/.9 "Parisienne",cursive}.hero h1 span{font:300 28px "Manrope",sans-serif;color:var(--blue)}.heroRule{width:58px;height:1px;background:var(--navy);margin:26px auto}.hero .date{margin:0 0 7px;text-transform:uppercase;letter-spacing:.18em;font-size:13px}.hero .place{margin:0;color:var(--blue);font-size:13px;letter-spacing:.08em}.scrollHint{margin-top:48px;color:var(--navy);text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:9px;display:flex;flex-direction:column;gap:11px}.scrollHint span{font-size:18px;animation:bob 2s infinite}@keyframes bob{50%{transform:translateY(5px)}}.heroOrnament{position:absolute;width:36vw;height:36vw;border:1px solid #0e285621;border-radius:48% 52% 45% 55%}.heroOrnament.left{left:-22vw;bottom:-9vw;transform:rotate(25deg)}.heroOrnament.right{right:-24vw;top:5vw;transform:rotate(-18deg)}
.section{padding:120px max(7vw,28px);text-align:center}.kicker{color:var(--blue);margin:0 0 20px}.kicker.light{color:#f8f5e6a6}.section h2,.dateBand h2,.floripa h2,.rsvp h2{font:400 clamp(45px,6vw,82px)/1.08 "Italiana",serif;margin:0;letter-spacing:-.02em}.lead{max-width:650px;margin:35px auto 0;font:300 17px/1.9 "Manrope",sans-serif;color:#4a5870}.intro{background:var(--paper)}.signature{margin:30px 0 0;font:42px "Parisienne",cursive}
.dateBand{padding:90px max(8vw,32px);background:var(--navy);color:var(--paper);display:grid;grid-template-columns:.6fr 1.4fr;align-items:center;gap:8vw}.dateMedallion{aspect-ratio:1;border:1px solid #f8f5e666;border-radius:50%;max-width:330px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:auto}.dateMedallion strong{font:400 100px/1 "Italiana",serif}.dateMedallion span{text-transform:uppercase;letter-spacing:.3em;font-size:10px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:45px;background:#f8f5e633}.countdown>div{background:var(--navy);padding:20px 10px;display:flex;flex-direction:column;align-items:center}.countdown strong{font:400 clamp(30px,4vw,54px) "Italiana",serif}.countdown span{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#f8f5e699}
.event{background:var(--ivory)}.eventGrid{max-width:1020px;margin:70px auto 55px;display:grid;grid-template-columns:1fr 120px 1fr;align-items:stretch}.eventGrid article{padding:22px 60px 40px}.number{font-size:12px;letter-spacing:.2em;color:var(--blue)}.eventGrid h3{font:400 42px "Italiana",serif;margin:17px 0}.time{text-transform:uppercase;letter-spacing:.2em;font-size:11px}.eventGrid article>p:last-child{color:#546077;font-size:13px;line-height:1.8}.divider{display:flex;align-items:center;justify-content:center;position:relative}.divider:before{content:"";position:absolute;inset:0 auto;width:1px;background:#0e28563b}.divider span{z-index:1;background:var(--ivory);padding:14px;font:28px "Parisienne",cursive}.outline,.primary{padding:16px 25px;border:1px solid var(--navy);background:transparent;text-transform:uppercase;letter-spacing:.17em;font-size:9px}button:disabled{opacity:.65;cursor:default}
.floripa{min-height:660px;background:var(--navy);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.floripaCopy{padding:110px 8vw;display:flex;flex-direction:column;justify-content:center}.floripaCopy>p:not(.kicker){max-width:560px;line-height:1.9;color:#f8f5e6b3;font-size:14px}.tips{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #f8f5e633;padding-top:30px;gap:18px}.tips div{display:flex;flex-direction:column;gap:7px}.tips span{font-size:22px}.tips strong{font:400 17px "Italiana",serif}.tips small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#f8f5e673}.islandArt{background:#738298;position:relative;overflow:hidden;min-height:520px}.islandArt:before,.islandArt:after{content:"";position:absolute;width:75%;height:35%;background:var(--navy);border-radius:50%;bottom:-16%}.islandArt:before{left:-20%;transform:rotate(10deg)}.islandArt:after{right:-20%;transform:rotate(-10deg)}.sun{position:absolute;width:160px;height:160px;border:1px solid #f2edcebf;border-radius:50%;top:18%;left:50%;transform:translateX(-50%)}.horizon{position:absolute;inset:55% 0 auto;height:1px;background:#f2edce73}.islandArt>span{position:absolute;bottom:7%;right:8%;z-index:2;font-size:9px;letter-spacing:.18em;line-height:1.8;color:#f8f5e699}
.giftIcon{font-size:44px;margin-bottom:24px}.gifts .primary{background:var(--navy);color:var(--paper);margin-top:35px}.rsvp{background:var(--navy);color:var(--paper);padding:100px max(8vw,30px);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:9vw}.rsvp>div:first-child>p:not(.kicker){color:#f8f5e6ad;max-width:580px;line-height:1.9}.rsvpDate{font:400 18px "Italiana",serif;letter-spacing:.25em;margin-top:32px}.rsvpCard{background:var(--ivory);color:var(--navy);padding:55px;min-height:380px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.rsvpCard h3{font:400 42px "Italiana",serif;letter-spacing:.16em;margin:25px 0 8px}.rsvpCard p{color:#5c6880;font-size:13px}.rsvpCard button{margin-top:25px;background:var(--navy);color:var(--paper);border:0;padding:16px 24px;text-transform:uppercase;letter-spacing:.15em;font-size:9px}
.faqList{max-width:820px;margin:55px auto 0;text-align:left;border-top:1px solid #0e28562e}.faqItem{border-bottom:1px solid #0e28562e}.faqItem button{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;padding:26px 5px;text-align:left;font:400 17px "Italiana",serif}.faqItem button span{font:300 24px "Manrope",sans-serif}.answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s}.answer p{overflow:hidden;margin:0;color:#5c6880;font-size:13px;line-height:1.8}.faqItem.active .answer{grid-template-rows:1fr}.faqItem.active .answer p{padding:0 5px 25px}
footer{background:#091f43;color:var(--paper);padding:55px max(7vw,25px);display:flex;align-items:center;gap:28px;position:relative}footer .monogram{border-color:var(--paper)}footer p{font:28px "Parisienne",cursive;margin:0}footer>span:nth-last-child(2){margin-left:auto;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#f8f5e68c}footer>a{color:var(--paper);text-decoration:none;border:1px solid #f8f5e640;width:40px;height:40px;display:grid;place-items:center}
@media(max-width:780px){.siteHeader{height:78px;padding:0 20px}.menuButton{display:block;z-index:2}.siteHeader nav{position:fixed;inset:0;background:var(--ivory);flex-direction:column;justify-content:center;gap:28px;transform:translateY(-100%);transition:transform .35s}.siteHeader nav.open{transform:translateY(0)}.siteHeader nav a{font-size:12px}.hero{padding-top:110px}.hero h1{gap:10px}.hero h1 em{font-size:clamp(57px,20vw,86px)}.hero h1 span{font-size:18px}.hero .date{font-size:10px;line-height:1.7}.section{padding:85px 24px}.dateBand{grid-template-columns:1fr;text-align:center;padding:75px 22px}.dateMedallion{max-width:220px}.dateMedallion strong{font-size:72px}.countdown>div{padding:16px 4px}.eventGrid{grid-template-columns:1fr;margin-top:35px}.eventGrid article{padding:25px 15px}.divider{height:70px}.floripa{grid-template-columns:1fr}.floripaCopy{padding:85px 25px}.tips{grid-template-columns:1fr;gap:25px}.islandArt{min-height:430px}.rsvp{grid-template-columns:1fr;padding:80px 24px;text-align:center}.rsvpCard{padding:40px 20px}footer{flex-direction:column;text-align:center}footer>span:nth-last-child(2){margin-left:0}footer>a{position:absolute;right:22px;top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
