:root{--maroon-deep: #2b0810;--maroon: #400d16;--wine: #5a121e;--red: #a3283a;--gold: #cda355;--gold-light: #e9cd8f;--cream: #f6ead2;--ink: #f3e4d0;--card-bg: rgba(90, 18, 30, .35);--card-border: rgba(205, 163, 85, .28);--max-w: 560px}@media (min-width: 1024px){:root{--max-w: 680px}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--maroon-deep);overflow-x:hidden;color:var(--ink);font-family:Poppins,sans-serif;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-shell{max-width:var(--max-w);margin:0 auto;position:relative;overflow:hidden;min-height:100vh;background:radial-gradient(ellipse 900px 500px at 15% 0%,rgba(163,40,58,.35),transparent 60%),radial-gradient(ellipse 900px 600px at 90% 30%,rgba(205,163,85,.12),transparent 55%),radial-gradient(ellipse 700px 500px at 10% 80%,rgba(163,40,58,.25),transparent 55%),linear-gradient(180deg,var(--maroon-deep),var(--maroon) 45%,var(--maroon-deep));box-shadow:0 0 80px #00000080}.eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-weight:500}.section-title{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:600;color:var(--cream);font-size:clamp(30px,7vw,40px);margin:0 0 22px;line-height:1.15}.section{position:relative;padding:clamp(52px,11vw,84px) clamp(18px,6vw,34px);text-align:center}.divider{display:flex;align-items:center;justify-content:center;padding:6px 24px 8px}.reveal{opacity:0;transform:translateY(30px) scale(.985);filter:blur(6px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1);will-change:opacity,transform,filter}.reveal.in{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.app-enter{animation:appEnter .9s ease both}@keyframes appEnter{0%{opacity:0}to{opacity:1}}.cover{position:relative;min-height:100vh;min-height:100dvh;max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;text-align:center;background:radial-gradient(ellipse 700px 500px at 50% 0%,rgba(163,40,58,.4),transparent 60%),radial-gradient(ellipse 600px 500px at 50% 100%,rgba(205,163,85,.16),transparent 55%),linear-gradient(180deg,var(--maroon-deep),var(--maroon) 45%,var(--maroon-deep));box-shadow:0 0 80px #00000080;transition:opacity .5s ease}.cover-opening{pointer-events:none}.cover-opening .cover-inner{animation:coverContentOut .5s ease forwards}.cover-opening .cover-door-l{transform:translate(-101%)}.cover-opening .cover-door-r{transform:translate(101%)}.cover-door{position:absolute;top:0;bottom:0;width:51%;z-index:1;background:linear-gradient(180deg,var(--wine),var(--maroon-deep));transition:transform 1s cubic-bezier(.7,0,.3,1)}.cover-door-l{left:0;border-right:1px solid var(--gold)}.cover-door-r{right:0;border-left:1px solid var(--gold)}.cover-inner{position:relative;z-index:2;padding:40px 26px;display:flex;flex-direction:column;align-items:center;animation:coverContentIn 1.1s cubic-bezier(.22,1,.36,1) both}@keyframes coverContentIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes coverContentOut{to{opacity:0;transform:scale(.94)}}.cover-hashtag{font-size:11px;letter-spacing:3px;color:var(--gold);margin-bottom:10px}.cover-invoke{font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(14px,4vw,17px);color:var(--cream);margin-bottom:clamp(18px,5vw,30px)}.cover-ganesh{margin-bottom:clamp(20px,6vw,34px)}.cover-names{display:flex;align-items:baseline;justify-content:center;gap:clamp(12px,4vw,22px);font-family:Cormorant Garamond,serif;font-size:clamp(28px,9vw,44px);color:var(--cream)}.cover-amp{font-style:italic;color:var(--gold);font-size:.7em}.cover-sub{margin-top:12px;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}.cover-btn{margin-top:clamp(24px,6vw,34px);animation:bob 2.4s ease-in-out infinite}.cover-hint{margin-top:16px;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--ink);opacity:.5}.blob{position:absolute;border-radius:40% 60% 55% 45%/45% 40% 60% 55%;filter:blur(22px);opacity:.35;pointer-events:none}.petal-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:40;overflow:hidden;max-width:var(--max-w);margin:0 auto}.petal{position:absolute;top:-6%;will-change:transform,opacity;animation-name:fall;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes fall{0%{transform:translateY(0) translate(0) rotate(0);opacity:.9}to{transform:translateY(115vh) translate(var(--drift, 20px)) rotate(320deg);opacity:.1}}@keyframes pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes namePop{to{opacity:1;transform:scale(1)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes fadeIn{to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 12px 30px #00000040}.pill-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(180deg,var(--gold-light),var(--gold));color:var(--maroon-deep);padding:12px 26px;border-radius:30px;border:none;font-size:13px;font-weight:600;letter-spacing:.6px;box-shadow:0 8px 18px #00000059}.pill-btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--gold-light);padding:11px 24px;border-radius:30px;border:1px solid var(--gold);font-size:13px;font-weight:500;letter-spacing:.6px}.timeline{position:relative;max-width:440px;margin:0 auto}.timeline:before{content:"";position:absolute;left:50%;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--gold),transparent);transform:translate(-50%)}.tl-item{position:relative;width:100%;padding:0 0 26px;text-align:left}.tl-dot{position:absolute;left:50%;top:4px;transform:translate(-50%);width:12px;height:12px;border-radius:50%;background:var(--maroon-deep);border:2px solid var(--gold);z-index:2}.tl-card{margin-left:30px}@media (min-width: 620px){.tl-item{width:48%}.tl-item:nth-child(odd){margin-right:52%}.tl-item:nth-child(2n){margin-left:52%}.tl-item:nth-child(2n) .tl-card{margin-left:30px}.tl-item:nth-child(odd) .tl-card{margin-left:30px}}.fam-grid{display:grid;gap:20px;max-width:460px;margin:0 auto}@media (min-width: 620px){.fam-grid{grid-template-columns:1fr 1fr;max-width:720px}}.fam-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--card-border);font-size:14px}.fam-row:last-child{border-bottom:none}.fam-row .fam-relation{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--gold)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0306b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal-panel{animation:modalIn .25s ease forwards;max-width:360px;width:100%}
