:root{--blush-rose: #A8C4E0;--dusty-mauve: #7A8FAA;--sage-green: #8B6B78;--ivory-cream: #F5F8FC;--soft-linen: #ECF0F6;--charcoal: #2D2D3D;--warm-gray: #6B7080;--champagne-gold: #C9A96E;--white: #FFFFFF;--font-names: "Satisfy", cursive;--font-handwriting: "Dancing Script", cursive;--font-display: "Cormorant Garamond", serif;--font-heading: "Playfair Display", serif;--font-body: "Lato", sans-serif;--max-width: 1200px;--section-padding: 80px 24px;--card-radius: 16px;--btn-radius: 30px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--charcoal);background:var(--ivory-cream);overflow-x:hidden;line-height:1.6}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.section-title{font-family:var(--font-heading);font-weight:600;font-size:36px;text-align:center;margin-bottom:12px;color:var(--charcoal)}.heart-divider{text-align:center;margin:16px 0 32px;color:var(--blush-rose);font-size:28px;letter-spacing:12px;opacity:.7}.btn{display:inline-block;padding:14px 36px;border-radius:var(--btn-radius);font-family:var(--font-body);font-weight:600;font-size:16px;text-decoration:none;cursor:pointer;transition:all .3s ease;border:none}.btn:focus-visible,a:focus-visible{outline:2px solid var(--champagne-gold);outline-offset:3px}.btn-primary{background:var(--dusty-mauve);color:var(--white)}.btn-primary:hover{background:#6a7d96;transform:translateY(-2px);box-shadow:0 4px 16px #7a8faa4d}.btn-outline{background:transparent;color:var(--dusty-mauve);border:2px solid var(--dusty-mauve)}.btn-outline:hover{background:var(--dusty-mauve);color:var(--white);transform:translateY(-2px)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.fade-in-up{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.fade-in-up.visible,.fade-in-up.visible .fade-child{opacity:1;transform:translateY(0)}.fade-child{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}.fade-child:nth-child(1){transition-delay:.1s}.fade-child:nth-child(2){transition-delay:.2s}.fade-child:nth-child(3){transition-delay:.3s}.fade-child:nth-child(4){transition-delay:.4s}@media(prefers-reduced-motion:reduce){.fade-in-up,.fade-child{opacity:1;transform:none;transition:none}}.content-sections{position:relative}.content-sections:before{content:"";position:absolute;top:-200px;left:0;right:0;bottom:0;z-index:1;background:linear-gradient(to bottom,transparent 0%,rgba(236,240,246,.35) 3%,rgba(236,240,246,.58) 8%,rgba(240,244,249,.72) 18%,rgba(245,248,252,.8) 32%,rgba(242,246,250,.83) 50%,rgba(238,242,248,.85) 65%,rgba(180,190,210,.87) 80%,rgba(100,105,125,.9) 90%,rgba(45,45,61,.93) 100%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 6%);mask-image:linear-gradient(to bottom,transparent 0%,black 6%);pointer-events:none}@media(max-width:768px){.section-title{font-size:28px}:root{--section-padding: 48px 16px}}@media(max-width:480px){.section-title{font-size:24px}:root{--section-padding: 36px 12px}.heart-divider{font-size:22px;letter-spacing:8px;margin:12px 0 24px}.btn{padding:12px 28px;font-size:14px}}[dir=rtl]{font-family:Lato,Noto Sans Arabic,sans-serif}[dir=rtl] .section-title,[dir=rtl] .hero-ornament,[dir=rtl] .story-body,[dir=rtl] .event-card p,[dir=rtl] .venue-info,[dir=rtl] .footer-credit{direction:rtl;text-align:center}[dir=rtl] .lang-switch{right:auto;left:1rem}.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;z-index:1}.hero-content{position:relative;z-index:1}.hero-ornament{font-family:var(--font-handwriting);font-size:18px;margin-bottom:16px;opacity:.85;letter-spacing:1px;color:var(--white);text-shadow:0 1px 10px rgba(0,0,0,.2)}.hero-highlight{color:var(--champagne-gold);font-style:italic}.hero-names{font-family:var(--font-names);font-size:64px;font-weight:400;letter-spacing:3px;color:var(--white);margin-bottom:12px;text-shadow:0 2px 30px rgba(0,0,0,.3)}.hero-names .initial{font-size:1.4em;line-height:1;color:var(--champagne-gold)}.hero-names .amp{font-size:.6em;opacity:.7;margin:0 8px;vertical-align:middle}.hero-date{font-family:var(--font-display);font-size:20px;font-weight:300;color:#ffffffd9;letter-spacing:3px;text-transform:uppercase;margin-bottom:28px;text-shadow:0 1px 10px rgba(0,0,0,.2)}.countdown{display:flex;justify-content:center;gap:24px}.countdown-item{display:flex;flex-direction:column;align-items:center}.countdown-value{font-family:var(--font-display);font-weight:300;font-size:48px;color:var(--white);line-height:1;text-shadow:0 2px 20px rgba(0,0,0,.3);min-width:64px;text-align:center}.countdown-label{font-family:var(--font-handwriting);font-size:15px;color:#ffffffb3;margin-top:6px;letter-spacing:1px}.countdown-highlight{background:#ffffff26;border:1px solid rgba(201,169,110,.4);border-radius:12px;padding:12px 18px}.countdown-highlight .countdown-value{color:var(--champagne-gold);font-size:56px;font-weight:400;text-shadow:0 2px 24px rgba(201,169,110,.4)}.countdown-highlight .countdown-label{color:var(--champagne-gold);opacity:.9}.countdown-sep{font-size:36px;color:#ffffff4d;align-self:flex-start;margin-top:4px;font-weight:300}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translate(-50%);animation:bounce 2s ease-in-out infinite;color:var(--white);font-size:28px;opacity:.8;cursor:pointer;z-index:2;text-decoration:none}@media(max-width:768px){.hero-names{font-size:40px}.hero-tagline{font-size:20px}.countdown{gap:12px}.countdown-value{font-size:36px;min-width:48px}.countdown-label{font-size:13px}.countdown-sep{font-size:28px}.countdown-highlight{padding:10px 14px}.countdown-highlight .countdown-value{font-size:42px}}@media(max-width:480px){.hero{min-height:100dvh}.hero-ornament{font-size:32px}.hero-names{font-size:32px;letter-spacing:1px}.hero-names .initial{font-size:1.3em}.hero-names .amp{margin:0 4px}.hero-tagline{font-size:17px;margin-bottom:20px}.countdown{gap:8px;flex-wrap:wrap;justify-content:center}.countdown-value{font-size:28px;min-width:40px}.countdown-label{font-size:11px}.countdown-sep{font-size:22px}.countdown-highlight{padding:8px 10px;border-radius:10px}.countdown-highlight .countdown-value{font-size:34px}.scroll-indicator{bottom:20px;font-size:24px}}.story{padding:var(--section-padding);position:relative;z-index:2}.story-photo{width:160px;height:160px;border-radius:50%;background:#fff;margin:0 auto 32px;display:flex;align-items:center;justify-content:center;border:3px solid var(--champagne-gold);box-shadow:0 8px 32px #7a8faa26;overflow:hidden;padding:16px}.story-photo img{width:100%;height:100%;object-fit:contain;opacity:.7}.story-body{max-width:680px;margin:0 auto;text-align:center;font-family:var(--font-handwriting);font-size:20px;line-height:1.9;color:var(--charcoal)}@media(max-width:480px){.story-photo{width:120px;height:120px;padding:12px;margin-bottom:24px}.story-body{font-size:17px;line-height:1.8}}.event-details{padding:var(--section-padding);position:relative;z-index:2}.event-layout{display:flex;gap:32px;max-width:1000px;margin:0 auto;align-items:stretch}.event-layout>.calendar{flex:0 0 auto;margin:0;display:flex;flex-direction:column}.event-cards{flex:1;display:flex;flex-direction:column;gap:16px}.event-card{background:#ffffffbf;border-radius:var(--card-radius);padding:24px;text-align:center;border:1px solid rgba(122,143,170,.25);box-shadow:0 4px 24px #0000000a;transition:transform .3s ease,box-shadow .3s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);flex:1;display:flex;flex-direction:column;justify-content:center}.event-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #00000014}.event-card .icon{font-size:32px;margin-bottom:8px}.event-card h3{font-family:var(--font-heading);font-weight:600;font-size:20px;margin-bottom:8px;color:var(--charcoal)}.event-card p{color:var(--warm-gray);font-family:var(--font-handwriting);font-size:17px;line-height:1.7}.event-card .time{font-family:var(--font-heading);font-weight:500;font-size:16px;color:var(--champagne-gold);margin-top:8px}.highlight-text{font-family:var(--font-names);font-size:1.2em;color:var(--champagne-gold);font-style:italic}@media(max-width:768px){.event-layout{flex-direction:column;align-items:center}.event-layout>.calendar{width:100%;max-width:420px}.event-cards{width:100%}}@media(max-width:480px){.event-layout{gap:20px}.event-card{padding:18px 16px}.event-card .icon{font-size:28px}.event-card h3{font-size:18px}.event-card p{font-size:15px}}.calendar-section{padding:var(--section-padding);position:relative;z-index:2}.calendar{max-width:420px;margin:0 auto;background:#ffffffbf;border-radius:var(--card-radius);padding:24px;box-shadow:0 4px 24px #0000000a;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);flex:1}.calendar-header{text-align:center;font-family:var(--font-heading);font-weight:600;font-size:24px;margin-bottom:24px;color:var(--charcoal)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-grid .day-name{font-weight:600;font-size:13px;color:var(--warm-gray);text-transform:uppercase;letter-spacing:1px;padding:8px 0}.calendar-grid .day{padding:6px 0;font-size:14px;color:var(--charcoal);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;margin:0 auto}.calendar-grid .day.empty{visibility:hidden}.calendar-grid .day.highlight{background:var(--blush-rose);color:var(--white);font-weight:700;font-size:17px;position:relative;animation:pulse 2s ease-in-out infinite;box-shadow:0 0 0 4px #a8c4e04d}.calendar-grid .day.highlight:after{content:"♥";position:absolute;top:-8px;right:-4px;font-size:14px;color:var(--dusty-mauve)}.add-cal-wrapper{position:relative;margin-top:28px;text-align:center}.add-cal-btn{display:block;width:100%;font-size:14px;padding:10px 20px}.cal-dropdown{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background:#fffffff2;border-radius:12px;box-shadow:0 8px 32px #0000001f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden;min-width:200px;z-index:10}.cal-dropdown a,.cal-dropdown button{display:block;width:100%;padding:12px 20px;border:none;background:none;font-family:var(--font-body);font-size:14px;color:var(--charcoal);text-decoration:none;text-align:left;cursor:pointer;transition:background .2s}.cal-dropdown a:hover,.cal-dropdown button:hover{background:#a8c4e033}.cal-dropdown a+a,.cal-dropdown a+button,.cal-dropdown button+a{border-top:1px solid rgba(122,143,170,.15)}@media(max-width:480px){.calendar{padding:16px}.calendar-header{font-size:20px;margin-bottom:16px}.calendar-grid .day{width:32px;height:32px;font-size:13px}.calendar-grid .day-name{font-size:11px;padding:6px 0}.calendar-grid .day.highlight{font-size:15px}.add-cal-btn{font-size:13px;padding:8px 16px}}.venue-section{padding:var(--section-padding);position:relative;z-index:2}.venue-info{text-align:center;margin-bottom:40px}.venue-name{font-family:var(--font-heading);font-weight:700;font-size:28px;color:var(--charcoal);margin-bottom:8px}.venue-address{color:var(--warm-gray);font-size:16px;margin-bottom:24px}.venue-map{max-width:800px;margin:0 auto;border-radius:var(--card-radius);overflow:hidden;box-shadow:0 4px 24px #0000000f;border:2px solid rgba(122,143,170,.2)}.venue-map iframe{width:100%;height:400px;border:0;display:block}@media(max-width:768px){.venue-map iframe{height:280px}}@media(max-width:480px){.venue-name{font-size:22px}.venue-address{font-size:14px;margin-bottom:18px}.venue-map iframe{height:220px}}.footer{padding:40px 24px;text-align:center;color:#ffffffb3;position:relative;z-index:2}.footer-names{font-family:var(--font-names);font-size:36px;color:var(--blush-rose);margin-bottom:8px}.footer-names .initial{font-size:1.35em;line-height:1}.footer-date{font-family:var(--font-heading);font-size:14px;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px;color:#ffffff80}.footer-heart{font-size:20px;color:var(--blush-rose);animation:pulse 2s ease-in-out infinite;display:inline-block;margin-bottom:12px}.footer-credit{font-family:var(--font-handwriting);font-size:15px;color:#ffffff59}@media(max-width:480px){.footer{padding:32px 16px}.footer-names{font-size:28px}.footer-date{font-size:12px;letter-spacing:2px}}.fixed-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-size:cover;background-position:center;background-repeat:no-repeat;filter:brightness(.65) saturate(.85);will-change:transform}.fixed-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000040,#0000001a 40%,#00000059);z-index:-1}.lang-switch{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;align-items:center;gap:.35rem;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:2rem;padding:.4rem .9rem;cursor:pointer;font-family:inherit;font-size:.8rem;letter-spacing:.08em;transition:background .3s,box-shadow .3s;box-shadow:0 2px 12px #00000014}.lang-switch:hover{background:#ffffff40;box-shadow:0 4px 18px #0000001f}.lang-option{color:#ffffff8c;font-weight:500;transition:color .3s,font-weight .3s}.lang-option.active{color:#fff;font-weight:700}.lang-divider{color:#ffffff4d;font-weight:300}
