@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500&family=Gwendolyn:wght@400;700&family=Playfair+Display:ital,wght@0,400;1,400&display=swap');
:root{--red:#781f2d;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9e6e3;color:#35282b;font:400 15px/1.8 'Be Vietnam Pro',sans-serif}main{max-width:520px;margin:30px auto;background:#fffdf9;box-shadow:0 10px 70px #3e20201a;overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #cc8691;outline-offset:4px}.draft{background:var(--red);color:white;text-align:center;padding:9px;font-size:11px}.cover{height:720px;position:relative;padding:0}.cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#fffdf9);pointer-events:none}.top{position:relative;z-index:1;display:flex;justify-content:space-between;padding:25px;font-size:11px;letter-spacing:.13em;color:var(--red)}.names{position:absolute;bottom:35px;left:10px;right:10px;z-index:2;text-align:center}.names>p{font-size:28px}.script{font-family:'Gwendolyn',cursive;font-weight:400}.names h1{font:700 78px/1.18 'Gwendolyn',cursive;color:var(--red);transform:rotate(-5deg);margin:10px 0 30px}.names em{display:block;font:italic 40px var(--serif);margin:5px 0}.names a{font-size:11px;letter-spacing:.15em;padding:12px}section{padding:48px 32px}.heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:25px}.heading h2{font-size:36px;margin:0}.heading>span{font-size:11px}.week,#days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:7px}.week{font-size:11px;color:#8c7377;margin-bottom:10px}#days>span{height:40px;display:grid;place-items:center;font-family:var(--serif)}#days .selected{color:white;background:var(--red);border-radius:50%;box-shadow:0 0 0 4px #781f2d12}.line{display:block;margin:26px auto 0;background:none;border:0;border-bottom:1px solid var(--red);color:var(--red);padding:7px 12px;font-size:13px}.small{font-size:11px;color:#806970}.eyebrow{font-size:11px;letter-spacing:.13em;text-align:center}.couple,.story{background:#f7f2ed}.couple>.eyebrow{margin:0 0 30px}.name-card{padding:35px 24px;width:85%;border:1px solid #dfc9ca;border-radius:60px 6px;background:#fffdfa}.name-card .script{font-size:35px;color:var(--red)}.name-card h2{font:32px var(--serif);margin:8px 0}.name-card p{font-size:12px;margin:15px 0 0}.groom{margin:28px 0 0 auto;background:var(--red);color:white;border:0;border-radius:6px 60px}.groom .script{color:#f5cdd0}.paper{padding:32px 25px;background:#eee6d9;outline:1px solid #d3bfa8;outline-offset:-9px;transform:rotate(-3deg);text-align:center}.paper h2{font-size:55px;margin:5px 0 15px}.paper p{font-size:13px}.paper>span{display:block;font-size:28px;margin-top:22px}.formal{text-align:center;color:var(--red)}.monogram{font:30px var(--serif);margin-bottom:30px}.formal h2{font-size:50px;margin:0}.formal>p{font-size:13px}.formal h3{font:26px/1.7 var(--serif);margin:18px 0}.formal h3 i{display:block;font-size:24px}.families{display:flex;justify-content:space-between;gap:20px;font-size:11px;padding:26px 0}.families p{font-size:12px}.big-date{font:70px/1.2 var(--serif);margin:10px 0}.year{font-size:21px;letter-spacing:.5em;margin:10px 0 32px}.schedule{background:var(--red);color:white;text-align:center}.schedule h2{font-size:52px;margin:0}.schedule .small{color:#ebcfd3}.timeline{text-align:left;margin:30px 0 0;border-left:1px solid #d995a1;padding-left:24px}.timeline p{display:flex;gap:25px;align-items:center;font-size:13px}.timeline time{font:23px var(--serif)}#rsvp{text-align:center}#rsvp h2{font-size:55px;color:var(--red);margin:0}#rsvp>p{font-size:13px}form{text-align:left;margin-top:30px}form>label,legend{display:block;font-size:13px;margin:15px 0 7px}input:not([type=radio]),select{width:100%;min-height:46px;border:1px solid #ddc9cb;border-radius:3px;background:white;padding:10px 12px;font-size:16px}fieldset{border:0;padding:0;margin:0}fieldset label{display:block;font-size:13px;margin:8px 0}input[type=radio]{accent-color:var(--red)}form button{background:var(--red);color:white;width:100%;border:0;border-radius:3px;padding:14px;margin-top:25px}#rsvp-status{font-size:13px;color:var(--red)}.countdown{text-align:center;background:#f4eaea}.countdown h2{font-size:49px;margin:0;color:var(--red)}#countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:28px 0}#countdown strong{display:block;font:36px var(--serif);color:var(--red)}#countdown span{font-size:11px}.thanks{text-align:center;padding-top:65px}.thanks h2{font-size:70px;color:var(--red);margin:0}.thanks p{font-size:12px;margin:22px 0}.thanks strong{font-size:12px;letter-spacing:.1em}footer{text-align:center;padding:22px 15px 35px;border-top:1px solid #eadbdd;font-size:10px;letter-spacing:.1em;color:var(--red)}.floating{position:fixed;bottom:20px;right:24px;background:var(--red);color:white;padding:12px 20px;border-radius:30px;font-size:12px;box-shadow:0 4px 20px #45151b33}#calendar-status:empty,#rsvp-status:empty{display:none}@media(max-width:560px){main{margin:0;max-width:100%}.cover{height:650px}.top{font-size:10px;padding:20px}.names h1{font-size:70px}section{padding:42px 25px}.heading h2{font-size:32px}.heading>span{font-size:10px}.floating{right:12px;bottom:12px;padding:10px 17px}footer{padding-bottom:70px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
