
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#f4f2ea;color:#111;font-family:'Montserrat',Arial,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:#111}
.wd-bg{position:fixed;inset:0;z-index:0;background:#f4f2ea url(img/bg.webp) center/cover no-repeat}
.wd-bg::after{content:"";position:absolute;inset:0;background:rgba(246,244,238,.28)}
.wd-wrap{position:relative;z-index:1;max-width:1140px;margin:0 auto;padding:90px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:stretch}
.wd-card{min-width:0;overflow:hidden;background:#fff;border-radius:44px;box-shadow:0 30px 60px -30px rgba(40,50,35,.45);padding:56px 52px 52px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center}
.brush{font-family:'Oranienbaum','Cormorant Garamond',Georgia,serif;text-transform:uppercase;letter-spacing:.05em;font-weight:400;color:#111;margin:0}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.script{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;line-height:1.2;margin:0}
.caps{font-family:'Montserrat',Arial,sans-serif;text-transform:uppercase;letter-spacing:.22em;line-height:1.8;margin:0}
.wd-photo{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.wd-date{font-size:40px;letter-spacing:.12em;margin-top:40px}
.wd-names{font-size:38px;letter-spacing:.08em;margin-top:10px;white-space:nowrap}
.wd-cal{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:30px}
.wd-cal .m{font-size:24px;letter-spacing:.12em}
.wd-cal .g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px 10px;width:280px}
.wd-cal .h{font-size:10px;letter-spacing:.12em;line-height:1;text-align:center;font-weight:400}
.wd-cal .d{position:relative;height:30px;display:flex;align-items:center;justify-content:center;font-size:17px;font-variant-numeric:lining-nums}
.wd-cal .d.x{font-weight:600}
.wd-cal .d svg{position:absolute;left:50%;top:50%;width:40px;height:40px;transform:translate(-50%,-52%)}
.wd-cal .d span{position:relative}
.wd-div{width:60px;height:1px;background:#111;margin:40px auto 36px}
.wd-greet{display:flex;flex-direction:column;align-items:center;gap:10px}
.wd-greet .brush{font-size:34px}
.wd-greet .serif{font-size:21px;line-height:1.5;margin:0;max-width:100%}
.wd-h2{font-size:28px;margin:0 0 18px}
.wd-tl{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px 0;margin-top:-8px}
.wd-tl::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#111;opacity:.6}
.wd-tl .i{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;padding:10px 16px}
.wd-tl .t{font-size:30px;line-height:1;letter-spacing:.04em}
.wd-tl .l{font-size:13px}
.wd-places{display:grid;grid-template-columns:1fr;gap:18px;width:100%}
.wd-place{background:#fff;border:1px solid #111;border-radius:8px;padding:26px 22px 24px;display:flex;flex-direction:column;align-items:center;gap:10px}
.wd-place .lb{font-size:12px;letter-spacing:.28em;line-height:1.3}
.wd-place .nm{font-size:32px;font-weight:600;line-height:1.15}
.wd-place .ad{display:flex;gap:8px;align-items:center;font-size:15px}
.wd-place .ad svg{width:16px;height:16px;flex:none}
.wd-btn{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-weight:500;font-size:12px;color:#111;background:#c6e2f5;border-radius:999px;padding:13px 24px;margin-top:6px;transition:background .2s}
.wd-btn:hover{background:#b3d7f0}
.wd-dress .script{font-size:30px;margin-top:10px;white-space:nowrap}
.wd-dress .serif,.wd-wish .serif{font-size:20px;line-height:1.5;margin:12px 0 0;max-width:100%}
.wd-wish .script{font-size:27px}
.wd-wish .script+.serif{margin-top:8px;font-size:19px}
.wd-wish .script:not(:first-of-type){margin-top:24px}
.wd-rsvp{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 20px 30px;width:100%}
.wd-rsvp .script{font-size:34px;white-space:nowrap}
.wd-rsvp .caps{font-size:12px}
.wd-rsvp .caps.b{font-weight:600}
.wd-rsvp .btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
.wd-rsvp .btns .wd-btn{font-size:11px;margin:0}
.wd-close{font-size:20px;line-height:1.5;margin:30px 0 0;max-width:100%}
.wd-love{font-size:30px;margin-top:28px}
.wd-sign{font-size:26px;margin-top:6px}
@media (max-width:900px){
  .wd-wrap{grid-template-columns:1fr;gap:28px;padding:32px 14px 44px}
  .wd-card{border-radius:32px;padding:40px 24px 36px}
  .wd-date{font-size:30px;margin-top:30px}
  .wd-names{font-size:26px;white-space:normal}
  .wd-cal .m{font-size:20px}.wd-cal .g{width:250px;gap:4px 8px}.wd-cal .d{font-size:15px;height:26px}.wd-cal .d svg{width:34px;height:34px}
  .wd-div{margin:30px auto 26px}
  .wd-greet .brush{font-size:26px}.wd-greet .serif{font-size:17px}
  .wd-h2{font-size:22px}
  .wd-tl .t{font-size:26px}.wd-tl .l{font-size:12px}
  .wd-place .nm{font-size:26px}.wd-place .ad{font-size:13px}
  .wd-dress .script{font-size:24px;white-space:normal}.wd-dress .serif,.wd-wish .serif{font-size:17px}
  .wd-wish .script{font-size:22px}
  .wd-rsvp{padding:24px 0 20px}.wd-rsvp .script{font-size:28px;white-space:normal}.wd-rsvp .caps{letter-spacing:.14em}
  .wd-close{font-size:17px}.wd-love{font-size:26px}.wd-sign{font-size:22px}
}
