@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}.page{background:#e8eff6;justify-content:center;align-items:center;min-height:100svh;padding:3rem 1.25rem;font-family:Jost,system-ui,sans-serif;display:flex;position:relative;overflow:hidden}.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:3rem 3.5rem 2.8rem;display:flex}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:#7a9bb5;margin:0 0 1.6rem;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:.6rem;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 1.8rem;font-family:Jost,sans-serif;font-size:.65rem;font-weight:300}.ornament{align-items:center;gap:.7rem;width:100%;margin:0 0 1.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:1.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:1.8rem}.countdown{justify-content:center;gap:.4rem;margin-top:.9rem;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-link-section{text-align:center;width:100%;margin-top:.5rem}.wishlist-link{color:#5a8ab0;letter-spacing:.02em;background:#f6fafc;border:1px solid #c5d9e8;border-radius:6px;padding:.4rem .8rem;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-style:italic;font-weight:400;text-decoration:none;transition:border-color .2s,background .2s,color .2s}.wishlist-link:hover{color:#3a6a8f;background:#eef6fc;border-color:#b8cfe0}.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:2.2rem 1.8rem 2rem}.name{font-size:3.4rem}.detail-key{width:5.5rem}.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}}
