:root{--bg:#020c18;--deep:#061525;--gold:#d6a75a;--light:#f5d8a2;--ivory:#fff6e8;--muted:#bba986;--border:rgba(214,167,90,.28);--serif:'Cormorant Garamond','Noto Serif Devanagari',serif;--body:'Cormorant Garamond','Noto Serif Devanagari',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{margin:0;background:var(--bg);color:var(--ivory);font-family:var(--body);font-size:19px;overflow-x:hidden}body[lang=hi],body[lang=mr]{font-family:'Noto Serif Devanagari',serif;font-size:16px}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:2px solid var(--light);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h2{font-size:clamp(2.4rem,5.7vw,4.5rem);line-height:1.18;color:var(--light);margin-bottom:22px}body[lang=hi] h2,body[lang=mr] h2{font-size:clamp(1.9rem,4.3vw,3.3rem);line-height:1.5}h3{font-size:clamp(1.45rem,2.7vw,2.1rem);color:var(--light)}p{line-height:1.8}#particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.55}.scroll-progress{position:fixed;z-index:100;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,#77501c,#ffe6b2)}.section{position:relative;min-height:76vh;display:flex;align-items:center;justify-content:center;padding:110px 24px;overflow:hidden;isolation:isolate}.section-inner{width:min(1100px,100%);margin:auto;text-align:center;position:relative;z-index:2}.section-inner.narrow{max-width:800px}.section:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(131,91,36,.08),transparent 70%);pointer-events:none}.section:nth-child(even){background:linear-gradient(180deg,#020c18,#071729 55%,#020c18)}.smallcaps,.overline,.caps-sub{font-family:'Cinzel','Noto Serif Devanagari',serif;font-size:12px;letter-spacing:.25em;color:var(--gold);text-transform:uppercase}.overline{margin:0 0 26px}.section-lead{color:#dbcbb1;max-width:650px;margin:0 auto 34px;font-size:clamp(1.1rem,2vw,1.4rem)}.muted{color:var(--muted);font-size:.92em}.section-ornament{font-size:28px;color:var(--gold);margin-bottom:26px}.primary,.outline-btn{display:inline-flex;justify-content:center;align-items:center;text-align:center;gap:10px;padding:14px 27px;min-height:48px;border:1px solid var(--gold);border-radius:2px;transition:.3s;letter-spacing:.07em;font-size:.9em}.primary{background:linear-gradient(125deg,#ae7d3d,#f3d69e 55%,#bd8f4b);color:#12202c;font-weight:700;box-shadow:0 6px 35px #d6a75a30}.primary:hover{transform:translateY(-3px);box-shadow:0 6px 40px #d6a75a55}.outline-btn{background:rgba(6,21,37,.4);color:var(--light)}.outline-btn:hover{background:rgba(214,167,90,.15)}.text-btn,.ghost{border:0;background:none;color:var(--light);text-decoration:underline;text-underline-offset:8px;padding:12px}.button-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.button-row.center{justify-content:center}.site-header{height:72px;position:fixed;z-index:50;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 clamp(15px,4vw,65px);background:#020c18d8;border-bottom:1px solid #d6a75a23;backdrop-filter:blur(15px);transition:transform .3s}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{font-family:'Cinzel';color:var(--light);border:1px solid var(--gold);padding:7px;font-size:16px}.brand-label{font-family:'Cinzel',serif;letter-spacing:.08em;font-size:12px}.brand-label i{color:var(--gold)}.nav{display:flex;align-items:center;gap:20px}.nav a{font-family:'Cinzel','Noto Serif Devanagari',serif;font-size:11px;color:#e0c9a3;transition:color .2s}.nav a:hover{color:#fff}#languageSelect{border:1px solid var(--border);background:#071628;color:var(--light);padding:8px;max-width:90px;font-size:13px}.hero{min-height:100svh;padding:110px 25px 100px;background:radial-gradient(ellipse at 50% 47%,#15263a,#020c18 65%)}.hero-glow{position:absolute;width:440px;height:440px;border-radius:50%;background:#b8873e1c;filter:blur(90px);top:25%}.hero-art{position:absolute;inset:0;display:grid;place-items:center;opacity:.65}.hero-art svg{width:min(1400px,100%);height:100%;max-height:700px}.hero-content{position:relative;text-align:center;z-index:2;max-width:820px}.hero-monogram{font-family:'Cinzel';font-size:clamp(3rem,8vw,5rem);letter-spacing:.15em;background:linear-gradient(110deg,#87602d,#ffe0a0,#bf8c45);background-clip:text;color:transparent;text-shadow:0 0 35px #e8b66c33;margin:15px 0}.hero h1{font-size:clamp(3.6rem,9vw,7.7rem);line-height:1.08;margin:8px 0 18px;background:linear-gradient(100deg,#9c7038,#fff3d8 42%,#e3b66b 70%,#9b6931);background-clip:text;color:transparent}.amp{font-family:'Great Vibes',cursive;font-weight:400}.hero-divider{display:flex;align-items:center;justify-content:center;gap:15px;color:var(--light)}.hero-divider span{height:1px;background:linear-gradient(90deg,transparent,var(--gold));width:80px}.hero-divider span:last-child{transform:rotate(180deg)}.hero-strap{font-family:'Great Vibes','Noto Serif Devanagari',cursive;font-size:clamp(2rem,4.3vw,3rem);color:var(--light);margin:15px 0}body[lang=hi] .hero-strap,body[lang=mr] .hero-strap{font-family:'Noto Serif Devanagari';font-size:1.6rem}.hero-date{font-family:'Cinzel','Noto Serif Devanagari';font-size:15px;color:#e7c991;letter-spacing:.08em}.personal-greeting{font-size:clamp(1.05rem,2vw,1.4rem);max-width:600px;margin:20px auto;color:#fff5df}.scroll-indicator{position:absolute;bottom:22px;display:grid;justify-items:center;gap:9px;color:var(--muted);font-size:12px;z-index:3}.scroll-line{width:1px;height:27px;background:var(--gold)}.poetry-card{position:relative;padding:34px 40px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:35px auto 14px;max-width:660px}.poetry-card p{font-size:clamp(1.5rem,3.4vw,2.35rem);font-style:italic;color:var(--ivory);margin:0;line-height:1.7}.quote-mark{position:absolute;top:-22px;left:10px;font-size:65px;color:#cfa25766}.closing-quote{left:auto;top:auto;right:10px;bottom:-47px}.worlds-grid{display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;gap:16px;margin:55px auto 30px}.world-card{min-height:230px;display:grid;align-content:center;justify-items:center;padding:30px;border:1px solid var(--border);background:linear-gradient(145deg,#10243c88,#0a172733)}.world-symbol{font-size:72px;color:var(--light);line-height:1.4;text-shadow:0 0 25px #b98d4b}.tech-mini{font-family:'Cinzel';font-size:12px;letter-spacing:.25em;color:var(--muted)}.world-connector{color:var(--gold);display:grid;justify-items:center;gap:20px;font-size:45px}.world-connector svg{width:100%;overflow:visible}.worlds-end{font-family:'Great Vibes','Noto Serif Devanagari';font-size:clamp(1.6rem,4vw,3rem)}.date-statement{font-size:clamp(1.5rem,3vw,2.5rem);color:var(--light)}.count-header{margin:46px 0 18px;font-size:1.6rem}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:32px auto}.count-grid>div{padding:20px 8px;border:1px solid var(--border);background:linear-gradient(155deg,#21334c88,#030b17);display:grid;gap:12px}.count-grid strong{font-size:clamp(2rem,5vw,4rem);font-weight:400;font-variant-numeric:tabular-nums;color:var(--light);line-height:1}.count-grid span{font-size:14px;color:var(--muted)}.scratch-frame{max-width:520px;height:265px;margin:40px auto 15px;border:9px solid #8e6935;box-shadow:0 15px 55px #0009;position:relative;overflow:hidden;background:#071626}.scratch-content{position:absolute;inset:0;display:grid;place-content:center;padding:32px;text-align:center;font-size:23px;color:#fff1d6}.scratch-symbol{font-size:42px;color:var(--gold)}#scratchCanvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}#scratchHint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#102033;font-size:24px;font-weight:700;pointer-events:none;text-shadow:0 1px #fae1ac}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}.game-card{border:1px solid var(--border);background:#0b1b2cb0;min-height:400px;padding:28px}.game-card .decor{color:var(--gold);font-size:36px}.game-card p{color:#d6c5a5}.heart-field{position:relative;width:100%;height:185px;margin-top:15px;border:1px dashed var(--border);overflow:hidden}.heart-target{position:absolute;border:0;background:none;font-size:36px;color:var(--light);text-shadow:0 0 20px #f6d8a2;animation:bob 2.5s ease-in-out infinite}.heart-target:disabled{opacity:0}.quiz-card button{margin:6px}.quiz-options{display:grid;gap:8px}.quiz-options button{border:1px solid var(--border);padding:10px;color:var(--ivory);background:#0c2339}.quiz-options button:hover,.quiz-options button.selected{border-color:var(--gold);background:#5a422b}.letter-card{margin:40px auto 18px;background:linear-gradient(130deg,#152235,#07131f);border:1px solid #b18b5366;outline:1px solid #b18b532d;outline-offset:-12px;padding:60px clamp(25px,6vw,65px);text-align:left;box-shadow:0 14px 65px #0007}.letter-card p{font-size:1.2rem}.signature{font-family:'Great Vibes',cursive;font-size:2.8rem!important;color:var(--light)}.gallery-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.gallery-grid img{max-width:280px;max-height:300px;object-fit:cover;border:6px solid #b88d55;cursor:zoom-in}.pin-icon{font-size:50px;color:var(--gold)}.venue-card{padding:42px 24px;margin-top:35px;background:linear-gradient(145deg,#0c1d31,#07101b);border:1px solid var(--border)}.venue-card h3{font-size:2.6rem}.venue-card .button-row{justify-content:center;margin-top:28px}.rsvp-form{display:grid;gap:14px;text-align:left;max-width:540px;margin:35px auto}.rsvp-form fieldset{display:flex;flex-wrap:wrap;gap:14px;border:0;padding:0}.choice{display:flex;align-items:center;gap:10px;border:1px solid var(--border);padding:14px;flex:1;min-width:180px}.choice:has(input:checked){border-color:var(--light);background:#53422b55}.choice input{accent-color:var(--gold)}.input-label{color:var(--light)}.rsvp-form input[type=number],.rsvp-form textarea{width:100%;border:1px solid var(--border);background:#101f30;color:var(--ivory);padding:12px}.rsvp-form button{justify-self:start}.blessing-text{border:1px solid var(--border);padding:45px 25px;margin:40px auto;font-size:clamp(1.4rem,3vw,2rem);font-style:italic;color:var(--light)}.closing-section{min-height:90vh}.easter-heart{font-size:30px;background:none;border:0;color:#b28d55}.final-names{font-family:'Great Vibes',cursive;font-size:clamp(2.8rem,7vw,5rem);color:var(--light);margin:30px 0}.closing-greeting{font-size:28px}.closing-section .button-row{margin-top:35px}footer{text-align:center;padding:35px;color:var(--gold);border-top:1px solid var(--border);font-family:'Cinzel','Noto Serif Devanagari';font-size:11px;letter-spacing:.1em}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:var(--light);color:var(--deep);padding:12px 22px;border-radius:4px;z-index:300;opacity:0;pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}.back-top,.music-toggle{position:fixed;right:16px;bottom:20px;width:44px;height:44px;background:#1b2739;border:1px solid var(--gold);color:var(--light);z-index:40;border-radius:50%;font-size:25px}.music-toggle{right:68px;font-size:21px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.intro,.welcome-layer{position:fixed;inset:0;z-index:200;background:radial-gradient(ellipse,#172941,#020c18 70%);display:grid;place-items:center}.intro{z-index:250;pointer-events:none;opacity:0;visibility:hidden}.intro.active{opacity:1;visibility:visible;pointer-events:auto}.intro-stage{text-align:center;animation:introFloat 2s ease-in-out}.intro-orbit{font-size:80px;color:var(--gold)}.intro-ms{font-size:5rem}.intro-skip{position:absolute;bottom:25px;right:25px}.welcome-layer{padding:20px;overflow-y:auto}.welcome-layer.closed{display:none}.welcome-card{position:relative;width:min(550px,100%);padding:65px clamp(18px,5vw,50px) 45px;text-align:center;border:1px solid var(--gold);outline:1px solid #d6a75a66;outline-offset:-13px;background:linear-gradient(140deg,#102439,#040e1b);box-shadow:0 18px 90px #000c,0 0 45px #d4a14d1b;animation:cardEnter .9s ease-out}.welcome-card:before,.welcome-card:after{content:'❧';position:absolute;color:var(--gold);font-size:40px;top:4px;left:18px}.welcome-card:after{left:auto;right:18px;transform:scaleX(-1)}.welcome-stars{color:var(--gold);letter-spacing:20px;margin-bottom:8px}.seal{font-family:'Cinzel';font-size:24px;display:grid;place-items:center;margin:0 auto 22px;width:70px;height:70px;border:2px solid #fae1a9;border-radius:50%;background:radial-gradient(#e9c17c,#946229);color:#132035;box-shadow:0 0 30px #e1a95d66}.welcome-card h2{font-size:clamp(1.7rem,5vw,2.8rem);margin:15px 0}.guest-call{font-size:clamp(1.35rem,4vw,2rem);color:var(--light)}.welcome-card p{line-height:1.8}.welcome-card .primary{margin-top:20px}.tiny-star{position:absolute;bottom:16px;color:var(--gold)}

/* Interactive golden-envelope fortune — replaces RSVP */
.fortune-grid{display:flex;gap:clamp(10px,4vw,28px);justify-content:center;margin:35px auto 24px;max-width:580px}.fortune-envelope{flex:1;max-width:170px;min-height:155px;border:1px solid #e9bc75;border-radius:8px;background:linear-gradient(145deg,#674821,#e2b970 52%,#9a6b34);box-shadow:0 15px 35px #0007,inset 0 0 20px #fff3;display:grid;place-content:center;gap:8px;color:#102035;transition:transform .3s,filter .3s;cursor:pointer}.fortune-envelope span{font-size:clamp(44px,8vw,68px);line-height:1}.fortune-envelope small{font-family:var(--serif);font-size:21px;font-weight:bold}.fortune-envelope:hover:not(:disabled),.fortune-envelope:focus-visible{transform:translateY(-8px) rotate(-2deg);filter:brightness(1.12)}.fortune-envelope.chosen{transform:translateY(-8px);box-shadow:0 0 35px #f4c57588}.fortune-envelope:disabled:not(.chosen){opacity:.45}.fortune-result{margin:25px auto;padding:28px 20px;border:1px solid var(--gold);background:linear-gradient(135deg,#182e47,#081524);color:var(--light);font-size:clamp(1.35rem,3.2vw,2rem);line-height:1.6;animation:cardEnter .7s ease-out}.fortune-result[hidden],#fortuneAgain[hidden]{display:none}#fortuneAgain{margin:12px auto}.fun-section .muted{margin-top:23px}@media(max-width:450px){.fortune-envelope{min-height:115px}.fortune-grid{gap:10px}}
