@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Montserrat:wght@300;400;500;600&display=swap";:root{--background: #fffaf8;--background-soft: #f8ebe9;--pink: #d9a5a5;--pink-dark: #a56f72;--brown: #644d4d;--text: #493d3d;--white: #ffffff;--border: rgba(165, 111, 114, .25);--shadow: 0 20px 60px rgba(100, 77, 77, .15)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--background);color:var(--text);font-family:Montserrat,sans-serif}body:not(.invitation-is-open){overflow:hidden}button{font:inherit}.invitation-cover{position:fixed;z-index:100;inset:0;display:grid;place-items:center;min-height:100svh;overflow:hidden;padding:24px;background:radial-gradient(circle at top left,rgba(217,165,165,.35),transparent 42%),radial-gradient(circle at bottom right,rgba(217,165,165,.3),transparent 40%),var(--background)}.cover-content{position:relative;z-index:2;width:min(100%,540px);padding:54px 28px;text-align:center;border:1px solid var(--border);border-radius:220px 220px 28px 28px;background:#ffffffad;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:coverEntrance 1.2s ease both}.cover-decoration{position:absolute;width:320px;height:320px;border:1px solid rgba(165,111,114,.16);border-radius:50%}.cover-decoration-left{top:-140px;left:-130px;animation:floatingDecoration 6s ease-in-out infinite}.cover-decoration-right{right:-130px;bottom:-140px;animation:floatingDecoration 7s ease-in-out infinite reverse}.small-heading,.section-label{margin:0 0 18px;color:var(--pink-dark);font-size:.72rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase}.guest-introduction{margin:12px 0;font-family:Cormorant Garamond,serif;font-size:1.2rem}.guest-name{margin:6px 0 18px;color:var(--brown);font-family:Cormorant Garamond,serif;font-size:clamp(2rem,8vw,3.4rem);font-weight:500}.couple-name,.hero-couple-name{margin:25px 0;font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,13vw,6.5rem);font-weight:500;line-height:.8}.couple-name span,.hero-couple-name span{display:block;margin:16px 0;color:var(--pink-dark);font-size:.55em;font-style:italic}.cover-date{margin:24px 0;font-size:.85rem;letter-spacing:.15em}.primary-button,.secondary-button{border:0;border-radius:999px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary-button{margin-top:16px;padding:15px 30px;background:var(--pink-dark);color:var(--white);box-shadow:0 10px 25px #a56f7247}.primary-button:hover,.secondary-button:hover{transform:translateY(-3px)}.primary-button:active,.secondary-button:active{transform:translateY(0)}.cover-fade-leave-active{transition:opacity .8s ease,transform .8s ease}.cover-fade-leave-to{opacity:0;transform:scale(1.04)}.invitation-page{opacity:0;transition:opacity 1s ease}.invitation-page.visible{opacity:1}.hero-section{position:relative;display:grid;place-items:center;min-height:100svh;overflow:hidden;padding:30px;background:linear-gradient(#35242438,#3524246b),url(/images/wedding-cover.jpg) center/cover no-repeat;color:var(--white);text-align:center}.hero-overlay{position:absolute;inset:18px;border:1px solid rgba(255,255,255,.58);border-radius:180px 180px 20px 20px}.hero-content{position:relative;z-index:2;animation:heroEntrance 1.3s .3s ease both}.hero-content .small-heading{color:var(--white)}.hero-date{letter-spacing:.16em;text-transform:uppercase}.scroll-indicator{display:flex;justify-content:center;margin-top:55px}.scroll-indicator span{display:block;width:1px;height:58px;background:#ffffffbf;animation:scrollLine 2s ease-in-out infinite;transform-origin:top}.music-button{position:fixed;z-index:20;right:18px;bottom:18px;display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:var(--pink-dark);color:var(--white);cursor:pointer;box-shadow:var(--shadow)}.content-section{padding:90px 24px}.content-section:nth-child(2n){background:var(--background-soft)}.section-container{width:min(100%,760px);margin:0 auto;text-align:center}.section-container h2{margin:0 0 25px;color:var(--brown);font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,8vw,4.5rem);font-weight:500}.arabic-text{margin-bottom:28px;font-size:1.5rem;line-height:2}.body-copy{max-width:620px;margin:auto;font-family:Cormorant Garamond,serif;font-size:1.35rem;line-height:1.8}.couple-card,.event-card{padding:42px 24px;border:1px solid var(--border);border-radius:22px;background:#ffffffa6;box-shadow:var(--shadow)}.couple-card{display:grid;gap:35px}.person-name{margin:0;color:var(--brown);font-family:Cormorant Garamond,serif;font-size:clamp(2.3rem,8vw,4rem)}.parent-description{margin:18px 0 5px;color:var(--pink-dark);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.ampersand{color:var(--pink-dark);font-family:Cormorant Garamond,serif;font-size:3rem;font-style:italic}.countdown{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:35px}.countdown-item{padding:24px 10px;border:1px solid var(--border);border-radius:14px;background:#ffffffad}.countdown-item strong{display:block;color:var(--brown);font-family:Cormorant Garamond,serif;font-size:2.8rem;font-weight:500}.countdown-item span{color:var(--pink-dark);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.event-icon{margin-bottom:15px;color:var(--pink-dark);font-size:2.6rem}.event-card h3{margin:0 0 20px;font-family:Cormorant Garamond,serif;font-size:2.3rem}.event-card p{margin:10px 0}.event-divider{width:80px;height:1px;margin:28px auto;background:var(--border)}.venue-name{color:var(--brown);font-family:Cormorant Garamond,serif;font-size:1.8rem}.secondary-button{margin-top:25px;padding:13px 25px;border:1px solid var(--pink-dark);background:transparent;color:var(--pink-dark)}.secondary-button:hover{background:var(--pink-dark);color:var(--white)}.schedule-list{max-width:580px;margin:40px auto 0}.schedule-item{display:grid;grid-template-columns:135px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--border);text-align:left}.schedule-item time{color:var(--pink-dark);font-size:.82rem;font-weight:600}.schedule-item p{margin:0}.closing-quotation{max-width:600px;margin:0 auto 35px;font-family:Cormorant Garamond,serif;font-size:1.55rem;font-style:italic;line-height:1.7}.closing-names{color:var(--pink-dark);font-family:Cormorant Garamond,serif;font-size:2.2rem}footer{padding:25px;background:var(--brown);color:#ffffffc2;font-size:.72rem;letter-spacing:.12em;text-align:center;text-transform:uppercase}.reveal{opacity:0;transform:translateY(45px);transition:opacity .9s ease,transform .9s ease}.reveal.revealed{opacity:1;transform:translateY(0)}@keyframes coverEntrance{0%{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes heroEntrance{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes floatingDecoration{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(18px) rotate(8deg)}}@keyframes scrollLine{0%{opacity:0;transform:scaleY(0)}45%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@media(min-width:700px){.content-section{padding:120px 40px}.couple-card{grid-template-columns:1fr auto 1fr;align-items:center;padding:60px}.countdown{grid-template-columns:repeat(4,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
