
*{box-sizing:border-box}html,body{margin:0;min-width:280px}body{font-family:Arial,sans-serif;background:#e9e6df}
.invitation{position:relative;isolation:isolate;overflow:hidden;width:100%;min-height:900px}
.wrap{position:relative;z-index:2;width:min(100%,700px);min-height:900px;margin:auto;display:flex;flex-direction:column;padding:40px clamp(18px,5vw,54px)}
.eyebrow{font:700 11px/1.4 Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase}
h1{font:normal clamp(43px,9vw,76px)/.98 Georgia,serif;letter-spacing:-.045em;overflow-wrap:anywhere;margin:0}
.message{font:normal clamp(17px,2.6vw,21px)/1.42 Georgia,serif;overflow-wrap:anywhere}
.details{margin-top:auto;position:relative;z-index:2}.facts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.facts>div{min-width:0}.facts span{display:block;font:700 10px Arial,sans-serif;letter-spacing:.18em;margin-bottom:8px}.facts strong{display:block;font:normal 19px/1.25 Georgia,serif;overflow-wrap:anywhere}.facts small{display:block;font:14px/1.4 Arial,sans-serif;margin-top:5px;overflow-wrap:anywhere}.dress{font:15px/1.4 Georgia,serif;overflow-wrap:anywhere}.rsvp{font:700 11px Arial,sans-serif;letter-spacing:.18em;text-align:center;padding-top:15px;border-top:1px solid currentColor}
@media(max-width:420px){.wrap{padding:28px 18px}.facts strong{font-size:17px}.facts small{font-size:13px}h1{font-size:clamp(40px,12vw,54px)}}
@media(max-width:330px){.facts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.invitation{background:radial-gradient(circle at 50% 30%,#273441,#081420 63%);color:#f5ecdc;border:9px solid #101922}.wrap{padding-top:28px;text-align:center}.eyebrow{color:#e09172;margin:0 0 20px}.disc{position:relative;align-self:center;width:min(75vw,470px);height:min(75vw,470px);margin:0 auto 26px;border-radius:50%;background:repeating-radial-gradient(circle,#0c1119 0 5px,#1b2229 6px 7px,#0d1119 8px 12px);box-shadow:inset 8px 8px 27px #000,0 20px 40px #0009;animation:spin 12s linear infinite}.disc::before{content:'';position:absolute;inset:33%;border-radius:50%;background:radial-gradient(circle at center,#c99669 0 4%,#712f39 5% 100%);border:3px solid #9c5253}.disc::after{content:'';position:absolute;inset:4%;border-radius:50%;border:1px solid #ffffff20}.shine{position:absolute;left:0;top:0;width:100%;height:55%;background:linear-gradient(110deg,transparent 25%,#f5c09e18 50%,transparent 70%);pointer-events:none;animation:glow 4s ease-in-out infinite alternate}.intro h1{font-size:clamp(45px,10vw,76px);text-transform:uppercase;color:#f7e6cd}.message{color:#e9c6b8;margin:12px auto}.details{width:100%;border-top:1px solid #e8b9a466;padding-top:20px}.facts{text-align:left}.facts span{color:#e89e83}.dress{margin:15px 0}.rsvp{color:#f2c3ac;margin:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes glow{to{opacity:.15;transform:translateX(15%)}}@media(max-width:420px){.disc{width:min(72vw,300px);height:min(72vw,300px);margin-bottom:18px}.intro h1{font-size:clamp(42px,12vw,56px)}}
