:root{--wine:#542335;--cream:#f2dec0;--paper:#fffaf6;--sans:Manrope,Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;--script:'Great Vibes','Brush Script MT',cursive}*{box-sizing:border-box}body{margin:0;background:#28191f;color:var(--paper);font:400 1rem/1.5 var(--sans)}.cover{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#351c26,#5a2e3d);transition:opacity .45s ease,visibility .45s ease}.cover.is-open{opacity:0;visibility:hidden;pointer-events:none}.cover-card{width:min(100%,480px);padding:clamp(42px,10vw,75px) 28px;border:1px solid #d8b99b;text-align:center;background:#351c2642;box-shadow:0 25px 55px #160b1066}.eyebrow{margin:0 0 12px;font-size:.75rem;font-weight:600;letter-spacing:.2em}.cover .eyebrow{color:var(--cream)}.cover-xv{margin:0;font:italic 2.4rem/1.2 var(--serif)}.cover h2{margin:-3px 0 12px;font:400 clamp(5rem,15vw,7rem)/1 var(--script)}.cover-date{margin:0 0 31px;font-size:.75rem;letter-spacing:.2em}.open-button{padding:15px 31px;border:1px solid var(--cream);background:var(--cream);color:var(--wine);font:600 .9rem var(--sans);letter-spacing:.04em;cursor:pointer}.open-button:hover{background:transparent;color:var(--cream)}.open-button:focus-visible{outline:3px solid white;outline-offset:5px}.demo-banner{height:38px;display:flex;align-items:center;justify-content:center;gap:13px;background:var(--wine);color:#f2dec0;font-size:.72rem;letter-spacing:.15em}.demo-banner i{display:block;width:26px;height:1px;background:#c6a383}.invitation{position:relative;min-height:calc(100svh - 38px);display:grid;place-items:center;isolation:isolate;overflow:hidden;text-align:center}.photo,.shade{position:absolute;inset:0;z-index:-2}.photo img{height:100%;width:100%;object-fit:cover;object-position:65% center}.shade{z-index:-1;background:linear-gradient(90deg,rgba(32,17,23,.72),rgba(32,17,23,.35) 55%,rgba(32,17,23,.52)),linear-gradient(0deg,rgba(23,14,19,.58),transparent 65%)}.content{padding:60px 28px;max-width:560px;text-shadow:0 2px 16px #1b1015a8}.xv{margin:0;font:italic 2.3rem/1.2 var(--serif)}h1{margin:-5px 0 7px;font:400 clamp(6.4rem,14vw,10rem)/1 var(--script);letter-spacing:.01em}.invitation-text{margin:0;font:italic 1.55rem/1.35 var(--serif)}.date{display:flex;justify-content:center;align-items:center;gap:16px;margin:25px 0 20px}.day{font:400 4.1rem/1 var(--serif)}.date span:last-child{border-left:1px solid #fff8;padding-left:16px;text-align:left;font-size:.78rem;letter-spacing:.17em;line-height:1.55}.date b{font-weight:500}.rule{width:60px;height:1px;margin:0 auto 19px;background:var(--cream)}.details{margin:0;font-size:.76rem;font-weight:600;letter-spacing:.18em}.venue{margin:13px 0 0;font:2.2rem/1.1 var(--serif)}.city{margin:5px 0 0;font-size:.9rem}.dress{margin:27px 0 0;font-size:.84rem;line-height:1.7}.dress strong{font-size:.7rem;letter-spacing:.16em}footer{padding:34px 24px 40px;background:#351c26;text-align:center;color:#d9c5bb;font-size:.77rem;letter-spacing:.06em}footer p{margin:0}footer div{height:1px;width:50px;background:#a77b60;margin:21px auto}.brand{margin-top:22px!important;color:#fffaf6;font:2rem/1 var(--serif);letter-spacing:.08em}.brand span{font:600 .62rem var(--sans);letter-spacing:.2em}@media(max-width:600px){.photo img{object-position:82% center}.content{padding-top:45px}.xv{font-size:2rem}h1{font-size:6.9rem}.invitation-text{font-size:1.35rem}.venue{font-size:2rem}.demo-banner{font-size:.64rem;letter-spacing:.1em;gap:9px}.demo-banner i{width:16px}.cover-card{padding:55px 20px}.cover-xv{font-size:2.1rem}.cover h2{font-size:5.8rem}}
