@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Jost:wght@200;300;400&display=swap";body{margin:0;padding:0}#root{width:100%;min-height:100svh}*,:before,:after{box-sizing:border-box}.intro-envelope{z-index:100;cursor:pointer;background:#eef2f6;justify-content:center;align-items:center;transition:transform 1.2s cubic-bezier(.76,0,.24,1),opacity 1.2s cubic-bezier(.76,0,.24,1);display:flex;position:fixed;inset:0;overflow:hidden}.intro-envelope--exiting{opacity:0;pointer-events:none;transform:translateY(-100%)}.intro-envelope-blob{filter:blur(100px);pointer-events:none;border-radius:50%;position:absolute}.intro-envelope-blob--top{background:#f2c8d440;width:40%;height:40%;top:-10%;right:-10%}.intro-envelope-blob--bottom{background:#b8d4e840;width:40%;height:40%;bottom:-10%;left:-10%}.intro-envelope-inner{z-index:1;flex-direction:column;align-items:center;animation:1.5s cubic-bezier(.22,1,.36,1) both intro-envelope-inner-in;display:flex;position:relative}@keyframes intro-envelope-inner-in{0%{opacity:0;transform:scale(.8)translateY(50px)}to{opacity:1;transform:scale(1)translateY(0)}}.intro-envelope-card{background:#fffefc;border:1px solid #b4cde159;border-radius:4px;justify-content:center;align-items:center;width:288px;height:192px;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #325a821f}@media (width>=768px){.intro-envelope-card{width:384px;height:256px}}.intro-envelope-card-border{border-radius:inherit;pointer-events:none;border:1px solid #b4cde133;position:absolute;inset:0}.intro-envelope-card-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.intro-envelope-btn{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8f6fc99;border:1px solid #b8d4e880;border-radius:50%;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;transition:background .3s,border-color .3s;animation:2s ease-in-out infinite intro-envelope-btn-pulse;display:flex;position:relative}.intro-envelope:hover .intro-envelope-btn{background:#e8f3fccc;border-color:#b8d4e8b3}@keyframes intro-envelope-btn-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.intro-envelope-btn-icon{color:#8aafc8;width:1.75rem;height:1.75rem}.intro-envelope-hint{letter-spacing:.2em;text-transform:uppercase;text-align:center;color:#7a9bb599;width:100%;max-width:280px;margin:0;padding:0;font-family:Jost,sans-serif;font-size:.625rem;font-weight:300;animation:.6s ease-out 2s both intro-envelope-hint-in;position:absolute;bottom:-3rem;left:50%;transform:translate(-50%)}@keyframes intro-envelope-hint-in{0%{opacity:0}to{opacity:1}}.content-enter{opacity:0;transition:opacity 1.5s cubic-bezier(.22,1,.36,1)}.content-enter--visible{opacity:1}.page{background:#e8eff6;justify-content:center;align-items:center;min-height:100svh;padding:4rem 1.25rem 6rem;font-family:Jost,system-ui,sans-serif;display:flex;position:relative;overflow:hidden auto}.bg-orbs{pointer-events:none;z-index:0;position:fixed;inset:0}.orb{filter:blur(2px);background:radial-gradient(circle,#ffffff8c 0%,#bed7ee2e 55%,#0000 75%);border-radius:50%;animation:ease-in-out infinite alternate orb-drift;position:absolute}@keyframes orb-drift{0%{transform:translate(0)scale(1)}to{transform:translate(18px,-22px)scale(1.06)}}.card{z-index:1;background:#fff;border:1px solid #b4cde18c;border-radius:4px;width:100%;max-width:520px;animation:.7s cubic-bezier(.22,1,.36,1) both card-in;position:relative;box-shadow:0 2px 4px #325a820f,0 16px 48px #325a8217}@keyframes card-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-inner{flex-direction:column;align-items:center;padding:4rem 3.5rem 4.5rem;display:flex}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:#7a9bb5;margin:0 0 2.5rem;font-family:Jost,sans-serif;font-size:.62rem;font-weight:300}.hero{justify-content:center;align-items:center;gap:1.2rem;width:100%;margin-bottom:1.2rem;display:flex}.hero-line{background:linear-gradient(90deg,#0000,#b8cfe0);flex:1;max-width:80px;height:1px}.hero:has(.hero-line:last-child) .hero-line:last-child{background:linear-gradient(90deg,#b8cfe0,#0000)}.hero-line+.name+.hero-line{background:linear-gradient(90deg,#b8cfe0,#0000)}.name{color:#1a3250;letter-spacing:.02em;white-space:nowrap;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(3.8rem,13vw,5.6rem);font-style:italic;font-weight:300;line-height:1}.age{letter-spacing:.28em;text-transform:uppercase;color:#7a9bb5;margin:0 0 2.2rem;font-family:Jost,sans-serif;font-size:.65rem;font-weight:300}.invitation-text{color:#4a6e8a;text-align:center;letter-spacing:.02em;max-width:360px;margin:0 0 2.8rem;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic;font-weight:400;line-height:1.5}.info-blocks{grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%;margin-bottom:2.8rem;display:grid}.info-block{text-align:center;background:#f6fafc;border:1px solid #e2ebf2;border-radius:4px;padding:1.5rem .5rem}.info-block-label{letter-spacing:.24em;text-transform:uppercase;color:#7a9bb5;margin:0 0 .4rem;font-family:Jost,sans-serif;font-size:.58rem;font-weight:300}.info-block-value{color:#1a3250;margin:0;font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:400;line-height:1.2}.info-block-sub{letter-spacing:.08em;color:#8aafc8;margin:.35rem 0 0;font-family:Jost,sans-serif;font-size:.6rem;font-weight:300}.ornament{align-items:center;gap:.7rem;width:100%;margin:0 0 2.8rem;display:flex}.ornament span:not(.ornament-diamond){background:#d0dfe9;flex:1;height:1px}.ornament-diamond{background:#a8c4d8;width:5px;height:5px;transform:rotate(45deg);flex:none!important}.details{flex-direction:column;gap:.7rem;width:100%;margin-bottom:1.8rem;display:flex}.detail-row{align-items:baseline;gap:0;display:flex}.detail-key{letter-spacing:.22em;text-transform:uppercase;color:#8aafc8;flex-shrink:0;width:6.5rem;font-family:Jost,sans-serif;font-size:.6rem;font-weight:300}.detail-dot{border-bottom:1px dotted #ccdae6;flex:1;margin:0 .7rem 3px}.detail-val{color:#1a3250;letter-spacing:.01em;white-space:nowrap;font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:400}.dresscode{text-align:center;width:100%;margin-bottom:2.8rem}.section-label{letter-spacing:.28em;text-transform:uppercase;color:#7a9bb5;margin:0 0 .5rem;font-family:Jost,sans-serif;font-size:.6rem;font-weight:300}.dresscode-hint{color:#4a6e8a;letter-spacing:.04em;margin:0 0 1.2rem;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic}.palette{justify-content:center;gap:1.4rem;display:flex}.swatch-wrap{flex-direction:column;align-items:center;gap:.5rem;display:flex}.swatch{border-radius:50%;width:2.6rem;height:2.6rem;transition:transform .25s;box-shadow:0 2px 8px #325a821f}.swatch:hover{transform:scale(1.1)}.swatch-name{letter-spacing:.12em;text-transform:uppercase;color:#8aafc8;font-family:Jost,sans-serif;font-size:.56rem;font-weight:300}.countdown-section{text-align:center;width:100%;margin-bottom:2.8rem}.countdown{justify-content:center;gap:.4rem;margin-top:1.4rem;display:flex}.countdown-unit{background:#f6fafc;border:1px solid #d0dfe9;border-radius:2px;flex-direction:column;align-items:center;gap:.3rem;min-width:4rem;padding:.7rem .8rem;display:flex}.countdown-value{color:#1a3250;font-family:Cormorant Garamond,serif;font-size:1.9rem;font-weight:300;line-height:1}.countdown-label{letter-spacing:.18em;text-transform:uppercase;color:#8aafc8;font-family:Jost,sans-serif;font-size:.52rem;font-weight:300}.wishlist-page-card{max-width:900px}.wishlist-page-card .card-inner{padding-top:2.5rem;position:relative}.wishlist-back{color:#7a9bb5;letter-spacing:.05em;font-size:.75rem;text-decoration:none;transition:color .2s;position:absolute;top:1.25rem;left:1.5rem}.wishlist-back:hover{color:#5a8ab0}.wishlist-page-title{margin-bottom:1rem}.wishlist-section{text-align:center;width:100%;margin-bottom:0}.wishlist-section .section-label{margin-bottom:.9rem}.wishlist-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));justify-content:center;gap:.75rem;display:grid}.wishlist-card{color:inherit;background:#f6fafc;border:1px solid #d0dfe9;border-radius:6px;flex-direction:column;align-items:center;text-decoration:none;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s;display:flex;overflow:hidden}.wishlist-card:hover{background:#eef6fc;border-color:#b8cfe0;transform:translateY(-2px);box-shadow:0 4px 12px #325a821f}.wishlist-card-img-wrap{aspect-ratio:1;background:#e8eff6;justify-content:center;align-items:center;width:100%;display:flex}.wishlist-card-img{object-fit:cover;width:100%;height:100%;display:block}.wishlist-card-label{color:#1a3250;letter-spacing:.02em;text-align:center;padding:.5rem .4rem .6rem;font-family:Cormorant Garamond,serif;font-size:.8rem;font-style:italic;font-weight:400;line-height:1.25}@media (width<=480px){.card-inner{padding:3rem 1.8rem 3.5rem}.page{padding:3rem 1rem 4rem}.name{font-size:3.4rem}.invitation-text{padding:0 .5rem;font-size:.95rem}.info-blocks{grid-template-columns:1fr;gap:.5rem}.info-block{padding:.85rem .5rem}.info-block-value{font-size:1.05rem}.countdown-unit{min-width:3.4rem;padding:.6rem .5rem}.countdown-value{font-size:1.5rem}.wishlist-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.wishlist-card-label{padding:.35rem .3rem .45rem;font-size:.72rem}.wishlist-card-img-wrap{min-height:0}}
