*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#082c60;background:#062b63}body{background:linear-gradient(145deg,#031d42,#074589 48%,#06285c)}.page{max-width:760px;margin:auto;min-height:100vh;background:linear-gradient(#fff 0 44%,#f8fbff 100%);overflow:hidden;box-shadow:0 0 60px #00162d}.hero{position:relative;text-align:center;padding:72px 24px 58px;background:radial-gradient(ellipse at center,#fff 0 64%,transparent 65%),linear-gradient(145deg,#062b63,#0b4a92);min-height:620px}.hero:before,.hero:after{content:"❀  ❧  ❀";position:absolute;color:#aab3bd;font-size:42px;opacity:.75;transform:rotate(-30deg)}.hero:before{left:14px;top:210px}.hero:after{right:8px;top:190px;transform:rotate(30deg)}.rings{font-size:42px;letter-spacing:-15px;margin-bottom:18px}.hero h1{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:82px;margin:0 0 16px}.hero h2{font:500 42px Georgia,serif;margin:0}.divider{margin:28px auto 22px;color:#a6aeb9}.date{font:500 31px Georgia,serif;letter-spacing:1px}.hero p{font-size:21px;line-height:1.5;margin:34px 0 0;color:#172f52}.heart{margin-top:22px}.card{margin:-34px 34px 24px;position:relative;background:#fff;border-radius:28px;padding:42px 28px;text-align:center;box-shadow:0 12px 35px #0b2b5520}.table-icon{width:82px;height:82px;border-radius:50%;background:#edf5ff;margin:auto;display:grid;place-items:center;font-size:42px}.card h3{font:600 40px Georgia,serif;margin:24px 0 14px;color:#082c60}.card p{font-size:21px;color:#718096;line-height:1.45}.primary{border:0;border-radius:17px;width:min(100%,540px);padding:22px;background:linear-gradient(90deg,#07306e,#0b4d9a);color:#fff;font-size:20px;font-weight:750;cursor:pointer;box-shadow:0 8px 18px #07306e35}.primary:hover{filter:brightness(1.07)}.meta{margin-top:26px;color:#8c99aa;font-size:17px}.meta b{margin:0 16px}.alver{margin:26px 34px 0;padding:22px 24px;border-radius:22px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:#f8fbff;border:1px solid #dbe7f6;box-shadow:0 9px 26px #092c5c12;text-decoration:none;color:#142d53}.brand{display:flex;align-items:center;gap:10px;padding-right:20px;border-right:1px solid #ccd6e2}.logo{width:56px;height:56px;display:grid;place-items:center;background:linear-gradient(145deg,#02a8ff,#053a8d);clip-path:polygon(50% 0,100% 22%,89% 78%,50% 100%,11% 78%,0 22%);color:white;font-size:31px;font-weight:900}.brand strong{display:block;font-size:22px}.brand span{display:block;color:#1687ef;font-weight:800}.gift{display:flex;flex-direction:column;gap:3px}.gift b{font-family:Georgia,serif;font-size:19px}.gift span{font-size:17px}.gift span strong{color:#1687ef}.gift small{color:#7c8999}.arrow{font-size:40px;color:#60758e}footer{text-align:center;padding:40px 20px 48px;color:#7d8998;font-size:18px;line-height:1.6}footer b{color:#0a4b98}.modal{position:fixed;inset:0;z-index:10;background:#f7f7f7;display:none;flex-direction:column}.modal.open{display:flex}.modal-top{height:74px;padding:12px 18px;background:white;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 10px #0001}.modal-top div{display:flex;flex-direction:column;color:#243c59}.modal-top span{font-size:12px;color:#8895a4;margin-top:3px}.modal-top button{width:46px;height:46px;border:0;border-radius:50%;background:#edf1f5;font-size:32px;color:#233b57}.image-wrap{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start;-webkit-overflow-scrolling:touch}.image-wrap img{width:auto;height:auto;min-width:1100px;max-width:none;display:block}body.modal-open{overflow:hidden}@media(max-width:600px){.hero{min-height:550px;padding-top:58px}.hero h1{font-size:66px}.hero h2{font-size:33px}.hero p{font-size:18px}.card{margin:-26px 18px 20px;padding:32px 18px}.card h3{font-size:32px}.card p{font-size:18px}.primary{font-size:16px;padding:20px 12px}.meta{font-size:14px}.alver{margin:22px 18px 0;padding:16px 14px;gap:12px}.brand{padding-right:12px}.logo{width:45px;height:45px}.brand strong{font-size:18px}.brand span{font-size:13px}.gift b{font-size:16px}.gift span{font-size:14px}.gift small{font-size:11px}.arrow{font-size:30px}.image-wrap img{min-width:950px}}

/* Exact wedding icons */
.rings{width:150px;height:62px;margin:0 auto 18px;color:#082c60;font-size:0;letter-spacing:0}
.rings svg{display:block;width:100%;height:100%}
.table-icon{color:#082c60;font-size:0}
.table-icon svg{width:58px;height:58px;display:block}

/* Floral decoration matching the wedding mockup */
.hero:before,.hero:after{content:none!important}
.floral{position:absolute;top:118px;width:180px;height:400px;z-index:0;pointer-events:none;opacity:.95}
.floral svg{width:100%;height:100%;display:block}
.floral-left{left:-24px}
.floral-right{right:-24px;transform:scaleX(-1)}
.hero>.rings,.hero>h1,.hero>h2,.hero>.divider,.hero>.date,.hero>p,.hero>.heart{position:relative;z-index:1}
.seating-card{padding-top:42px}
.seating-card h3{margin-top:0}
@media(max-width:600px){.floral{top:145px;width:125px;height:320px}.floral-left{left:-36px}.floral-right{right:-36px}.seating-card{padding-top:34px}}

/* Exact simple interlocked rings */
.rings{width:150px;height:90px;margin:0 auto 18px;color:#082c60;font-size:0;letter-spacing:0}
.rings svg{display:block;width:100%;height:100%;overflow:visible}
