*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{color:#2e231a;background:#f5ede6;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:1.125rem;line-height:1.6}body{justify-content:center;align-items:flex-start;min-height:100dvh;display:flex}.landing{text-align:center;margin-top:auto;margin-bottom:auto;padding:2rem}.landing h1{letter-spacing:-.02em;margin-bottom:2rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:600}.btn{color:#fff;background-color:#3d7a93;border:2px solid #3d7a93;border-radius:6px;padding:.75rem 1.75rem;font-size:1.2rem;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.btn:hover{color:#fff;background:#2d6175;border:2px solid #2d6175}.party{text-align:center;width:100%;max-width:520px;margin:0 auto;padding:3.5rem 1.5rem 3rem}.party h1{letter-spacing:-.02em;margin-bottom:.3rem;font-size:clamp(2.2rem,6vw,3.2rem);font-weight:600;line-height:1.15}.party .subtitle{color:#4a3728;margin-bottom:2.5rem;font-size:1.35rem;font-style:italic}.party img{border-radius:12px;width:100%;max-width:500px;margin-bottom:2rem}.party .details{text-align:center;margin-bottom:2rem}.party .details dt{margin-top:1.5rem;font-size:1.15rem;font-weight:600}.party .details dt:first-child{margin-top:0}.party .details dd{margin-top:.2rem;margin-left:0;font-size:1.1rem}.party .links{flex-direction:column;align-items:center;gap:.75rem;display:flex}.party .links a{color:#fff;background:#3d7a93;border:2px solid #3d7a93;border-radius:6px;padding:.6rem 1.5rem;font-size:1.1rem;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.party .links a:hover{color:#fff;background:#2d6175;border-color:#2d6175}.invite{text-align:center;width:100%;max-width:40rem;margin:0 auto;padding:4rem 1.5rem 3rem}.invite header{margin-bottom:3rem}.invite h1{letter-spacing:-.03em;margin-bottom:.25rem;font-size:clamp(1.75rem,7vw,3.5rem);font-weight:600;line-height:1.1}.invite .tagline{color:#4a3728;font-size:1.35rem;font-style:italic}.invite-when-where{margin-bottom:3rem}.invite-when-where dt{text-transform:uppercase;letter-spacing:.12em;color:#3d7a93;margin-top:2rem;font-size:.8rem;font-weight:600}.invite-when-where dt:first-child{margin-top:0}.invite-when-where dd{margin:.15rem 0 0;font-size:1.5rem}.invite-when-where .aside{color:#4a3728;font-size:1.05rem;font-style:italic}.invite-location{margin-bottom:3rem}.invite-location img{border-radius:12px;width:100%;margin-bottom:.75rem;box-shadow:0 2px 16px #2e231a14}.invite-location figcaption{color:#4a3728;margin-bottom:1.5rem;font-size:1rem;line-height:1.5}.invite-details{text-align:left;border-top:1px solid #d4c4b5;border-bottom:1px solid #d4c4b5;margin-bottom:3rem;padding:2.5rem 0}.invite-details dt{text-transform:uppercase;letter-spacing:.12em;color:#3d7a93;margin-top:2rem;font-size:.8rem;font-weight:600}.invite-details dt:first-child{margin-top:0}.invite-details dd{margin:.3rem 0 0;font-size:1.1rem}.invite-rsvp{background:#ebe0d4;border-radius:16px;margin-bottom:3rem;padding:2.5rem 2rem}.invite-rsvp p{margin-bottom:1rem;font-size:1.2rem;font-weight:600}.invite-gifts p{color:#4a3728;margin-bottom:1rem}.invite-gifts div{justify-content:center;gap:.75rem;display:flex}.invite-gifts a{color:#fff;background:#3d7a93;border:2px solid #3d7a93;border-radius:6px;padding:.6rem 1.5rem;font-size:1.05rem;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.invite-gifts a:hover{background:#2d6175;border-color:#2d6175}@media (width<=480px){.invite-gifts div{flex-direction:column;align-items:center}}
