*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;overflow-x:hidden}body{color:#3a4e36;background:#f7f1e6;font-family:Cormorant Garamond,serif}@keyframes riseIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin360{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fabPulse{0%{opacity:.7;transform:scale(1)}70%{opacity:0;transform:scale(1.9)}to{opacity:0;transform:scale(1.9)}}@keyframes fabEntrance{0%{opacity:0;transform:translateY(24px)scale(.8)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fabLabelFade{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}#audioFab{z-index:280;flex-direction:column;align-items:center;gap:6px;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards fabEntrance;display:flex;position:fixed;bottom:24px;right:22px}.audio-fab-ring{pointer-events:none;background:#2d5a4059;border-radius:50%;width:52px;height:52px;animation:2s ease-out infinite fabPulse;position:absolute}.audio-fab-btn{cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#2d5a40 0%,#3d7a55 60%,#4a8e62 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex;position:relative;box-shadow:0 8px 24px #2d5a4080,0 2px 8px #0000002e,inset 0 1px #ffffff26}.audio-fab-btn:hover{transform:scale(1.12);box-shadow:0 12px 32px #2d5a40a6,0 4px 12px #0003}.audio-fab-btn:active{transform:scale(.94)}.audio-fab-btn svg{filter:drop-shadow(0 0 4px #f0dca080);transition:transform .25s,opacity .2s}.audio-fab-btn:hover svg{transform:scale(1.15)}.audio-fab-label{letter-spacing:.08em;text-transform:uppercase;color:#2d5a40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;pointer-events:none;background:#f7f1e6e0;border-radius:20px;padding:2px 8px;font-family:Cormorant Garamond,serif;font-size:10px;font-weight:600;animation:.4s forwards fabLabelFade;box-shadow:0 2px 8px #0000001a}#audioFab.muted .audio-fab-ring{opacity:0;animation:none}#audioFab.muted .audio-fab-btn{background:linear-gradient(135deg,#7a6060 0%,#9a7070 100%);box-shadow:0 6px 18px #643c3c59}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(40px)}.reveal.in{opacity:1;transform:translateY(0)}.reveal-l{opacity:0;transition:opacity .9s,transform .9s;transform:translate(-50px)}.reveal-l.in{opacity:1;transform:translate(0)}.reveal-r{opacity:0;transition:opacity .9s,transform .9s;transform:translate(50px)}.reveal-r.in{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transition:opacity .9s,transform .9s;transform:scale(.85)}.reveal-scale.in{opacity:1;transform:scale(1)}#env-screen{z-index:300;background:linear-gradient(150deg,#f4dde0 0%,#f7f1e6 45%,#dcebd0 100%);flex-direction:column;justify-content:center;align-items:center;transition:opacity .9s,transform .9s;display:flex;position:fixed;inset:0}#env-screen.hide{opacity:0;pointer-events:none;transform:scale(1.07)}.env-scene{cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;gap:26px;animation:3.5s ease-in-out infinite floatY;display:flex}.envelope{width:min(320px,86vw);position:relative}.env-body{text-align:center;background:linear-gradient(160deg,#2d5a40 0%,#234a32 100%);border-radius:6px 6px 16px 16px;padding:76px 28px 52px;transition:transform .3s,box-shadow .3s;position:relative;overflow:visible;box-shadow:0 24px 64px #2d5a4073,0 6px 18px #00000024}.env-scene:hover .env-body{transform:scale(1.03);box-shadow:0 32px 76px #2d5a408c}.env-flap{clip-path:polygon(0 0,100% 0,50% 100%);z-index:1;background:#1c3f29;border-radius:6px 6px 0 0;height:62px;position:absolute;top:0;left:0;right:0}.fc{pointer-events:none;z-index:4;width:90px;height:90px;position:absolute}.fc.tl{top:-6px;left:-6px}.fc.tr{top:-6px;right:-6px;transform:scaleX(-1)}.fc.bl{bottom:-6px;left:-6px;transform:scaleY(-1)}.fc.br{bottom:-6px;right:-6px;transform:scale(-1)}.env-mono{color:#f0dca0;z-index:2;margin-bottom:6px;font-family:Great Vibes,cursive;font-size:54px;line-height:1;position:relative}.env-tag{letter-spacing:4px;text-transform:uppercase;color:#e7c9cf;z-index:2;margin-bottom:14px;font-size:11px;font-weight:600;position:relative}.env-rule{z-index:2;background:#e7c9cf80;width:58px;height:1px;margin:0 auto 12px;position:relative}.env-date{color:#f0dca0;letter-spacing:1px;z-index:2;font-size:13px;font-style:italic;font-weight:600;position:relative}.wax{z-index:10;width:56px;height:56px;position:absolute;bottom:-26px;left:50%;transform:translate(-50%)}.env-foot{flex-direction:column;align-items:center;gap:9px;margin-top:10px;display:flex}.you-invited{color:#7faa6c;font-family:Playfair Display,serif;font-size:20px;font-style:italic;font-weight:600}.tap-open{letter-spacing:3.5px;text-transform:uppercase;color:#b97b8c;font-size:11px;font-weight:700}.tap-arr{animation:1.6s ease-in-out infinite bounce}#petals{pointer-events:none;z-index:250;position:fixed;inset:0;overflow:hidden}.petal{border-radius:50% 0;animation:linear forwards fall;position:absolute;top:-20px}@keyframes fall{0%{opacity:.9;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}#main-site{opacity:0;pointer-events:none;transition:opacity .6s}#main-site.visible{opacity:1;pointer-events:all}nav.topnav{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f1e6eb;border-bottom:1px solid #7faa6c40;justify-content:space-between;align-items:center;padding:13px 26px;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{color:#2d5a40;white-space:nowrap;text-overflow:ellipsis;max-width:70vw;font-family:Great Vibes,cursive;font-size:19px;overflow:hidden}@media (width<=480px){.nav-logo{font-size:13px}}.nav-links{flex-shrink:0;gap:22px;list-style:none;display:flex}.nav-links a{letter-spacing:2px;text-transform:uppercase;color:#7faa6c;font-size:11px;font-weight:700;text-decoration:none}.page-names{text-align:center;background:linear-gradient(165deg,#f4dde0 0%,#f7f1e6 45%,#dcebd0 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:90px 28px 64px;display:flex;position:relative;overflow:hidden}.bg-deco{pointer-events:none;position:absolute;inset:0;overflow:hidden}.together-line{letter-spacing:5px;text-transform:uppercase;color:#b97b8c;margin-bottom:20px;font-size:11px;font-weight:700}.groom-block{padding-top:14px}.groom-name{background:linear-gradient(90deg,#2d5a40 30%,#7faa6c 50%,#2d5a40 70%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding:0 6px;font-family:Great Vibes,cursive;font-size:clamp(58px,13vw,104px);line-height:1.35;animation:5s linear infinite shimmer;display:inline-block}.groom-parents{color:#9c5f6e;letter-spacing:.4px;margin-top:10px;font-size:clamp(13px,3vw,15px);font-style:italic;font-weight:600;line-height:1.85}.amp-row{align-items:center;gap:16px;margin:22px auto;display:flex}.amp-line{background:linear-gradient(90deg,#0000,#c79a4b,#0000);width:clamp(44px,9vw,86px);height:2px}.amp-char{color:#c79a4b;font-family:Great Vibes,cursive;font-size:clamp(48px,11vw,84px);line-height:1.3;display:inline-block}.bride-block{padding-top:6px}.bride-name{background:linear-gradient(90deg,#2d5a40 30%,#b97b8c 50%,#2d5a40 70%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding:0 6px;font-family:Great Vibes,cursive;font-size:clamp(58px,13vw,104px);line-height:1.35;animation:5s linear infinite shimmer;display:inline-block}.bride-parents{color:#9c5f6e;letter-spacing:.4px;margin-top:10px;font-size:clamp(13px,3vw,15px);font-style:italic;font-weight:600;line-height:1.85}.bottom-deco{align-items:center;gap:14px;margin-top:36px;display:flex}.deco-line{background:#7faa6c;width:clamp(52px,11vw,100px);height:1px}.scroll-cue{flex-direction:column;align-items:center;gap:5px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.scroll-txt{letter-spacing:3px;text-transform:uppercase;color:#7faa6c;font-size:10px;font-weight:700}.reveal-section{text-align:center;background:linear-gradient(160deg,#2d5a40 0%,#234a32 100%);padding:80px 24px 64px;position:relative;overflow:hidden}.rev-eyebrow{letter-spacing:4px;text-transform:uppercase;color:#f0dca0;margin-bottom:10px;font-size:11px;font-weight:700}.rev-title{color:#fff;margin-bottom:6px;font-family:Playfair Display,serif;font-size:28px;font-weight:700}.rev-sub{color:#cfe0c3;margin-bottom:30px;font-size:14px;font-style:italic;font-weight:600}.scratch-wrap{cursor:crosshair;touch-action:none;border-radius:14px;width:min(300px,86vw);height:92px;margin:0 auto 8px;position:relative;overflow:hidden;box-shadow:0 8px 30px #0000004d,0 0 0 2px #f0dca0}.scratch-back{background:linear-gradient(135deg,#8a5a1e,#c79a4b,#f0dca0,#c79a4b,#8a5a1e);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scratch-back-text{color:#2d3a1a;letter-spacing:2px;opacity:0;text-shadow:0 1px #fff6;font-family:Playfair Display,serif;font-size:23px;font-weight:700;transition:opacity .7s}.scratch-back-text.on{opacity:1}#sc{border-radius:14px;position:absolute;inset:0}.scratch-hint{color:#f0dca0;letter-spacing:2px;margin-top:8px;font-size:12px;font-style:italic;font-weight:600}#after-scratch{opacity:0;transition:opacity .9s;display:none}#after-scratch.show{opacity:1;display:block}.cd-top-label{letter-spacing:3px;text-transform:uppercase;color:#f0dca0;margin:38px 0 18px;font-size:11px;font-weight:700}.countdown{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.cd-unit{text-align:center}.cd-num{color:#2d5a40;background:linear-gradient(160deg,#f0dca0,#fff);border-radius:12px;justify-content:center;align-items:center;width:70px;height:70px;font-family:Playfair Display,serif;font-size:36px;font-weight:700;display:flex;box-shadow:0 6px 18px #0003}.cd-lbl{letter-spacing:3px;text-transform:uppercase;color:#cfe0c3;margin-top:7px;font-size:10px;font-weight:700}#sched-section{opacity:0;transition:opacity .8s;display:none}#sched-section.show{opacity:1;display:block}.schedule-outer{background:#f7f1e6;padding:72px 24px}.sched-eyebrow{letter-spacing:4px;text-transform:uppercase;color:#b97b8c;text-align:center;margin-bottom:10px;font-size:11px;font-weight:700}.sched-title{color:#2d5a40;text-align:center;margin-bottom:8px;font-family:Playfair Display,serif;font-size:30px;font-weight:700}.sched-title-rule{background:linear-gradient(90deg,#c79a4b,#b97b8c);border-radius:2px;width:70px;height:3px;margin:0 auto 36px}.sched-cards{flex-direction:column;gap:30px;max-width:600px;margin:0 auto;display:flex}.sched-card{background:#fff;border-radius:18px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 12px 36px #2d5a4024}.sched-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px #2d5a4033}.sched-card-img-full{width:100%;display:block}.awaiting-section{text-align:center;background:linear-gradient(160deg,#dcebd0 0%,#f4dde0 100%);padding:76px 24px 70px;position:relative;overflow:hidden}.await-bg-mono{color:#2d5a40;opacity:.06;pointer-events:none;white-space:nowrap;font-family:Noto Sans Telugu,Cormorant Garamond,serif;font-size:240px;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.await-eyebrow{letter-spacing:4px;text-transform:uppercase;color:#b97b8c;margin-bottom:10px;font-size:11px;font-weight:700}.await-title{color:#2d5a40;margin-bottom:6px;font-family:Playfair Display,serif;font-size:30px;font-weight:700}.await-title-rule{background:linear-gradient(90deg,#c79a4b,#b97b8c);border-radius:2px;width:70px;height:3px;margin:10px auto 6px}.await-heart{color:#b97b8c;margin:16px 0;font-size:30px}.await-pres{letter-spacing:3px;text-transform:uppercase;color:#7faa6c;margin-bottom:20px;font-size:13px;font-weight:700}.await-rule{background:#7faa6c;width:50px;height:1px;margin:16px auto}.fam-line{color:#3a4e36;font-size:16px;font-style:italic;font-weight:600;line-height:2.1}.fam-line strong{color:#2d5a40;font-style:normal;font-weight:700}.fam-ornament{color:#c79a4b;margin:10px 0;font-size:24px;display:block}.couple-illustration{max-width:340px;margin:40px auto 0}.venue-section{text-align:center;background:#f7f1e6;padding:72px 24px}.venue-eyebrow{letter-spacing:4px;text-transform:uppercase;color:#b97b8c;margin-bottom:10px;font-size:11px;font-weight:700}.venue-title{color:#2d5a40;margin-bottom:8px;font-family:Playfair Display,serif;font-size:30px;font-weight:700}.venue-title-rule{background:linear-gradient(90deg,#c79a4b,#b97b8c);border-radius:2px;width:70px;height:3px;margin:0 auto 30px}.venue-card{background:#fff;border-radius:18px;max-width:580px;margin:0 auto;overflow:hidden;box-shadow:0 12px 36px #2d5a4024}.venue-info{padding:28px 26px 0}.venue-name{color:#2d5a40;margin-bottom:6px;font-family:Playfair Display,serif;font-size:21px;font-weight:700}.venue-addr{color:#5a7a52;letter-spacing:.3px;font-family:Playfair Display,serif;font-size:14px;font-style:italic;font-weight:500;line-height:1.9}.venue-phone{color:#b97b8c;margin-top:12px;font-family:Playfair Display,serif;font-size:14.5px;font-weight:700}.venue-map iframe{border:none;width:100%;height:210px;margin-top:18px;display:block}.venue-btn{text-align:center;color:#f0dca0;letter-spacing:2px;text-transform:uppercase;background:linear-gradient(90deg,#2d5a40,#3d6e50);padding:15px;font-size:12px;font-weight:700;text-decoration:none;display:block}.venue-btn:hover{background:#234a32}.footer{text-align:center;background:linear-gradient(160deg,#2d5a40 0%,#1c3f29 100%);padding:60px 24px 28px}.footer-mono{color:#f0dca0;font-family:Great Vibes,cursive;font-size:50px}.footer-date{letter-spacing:3px;text-transform:uppercase;color:#cfe0c3;margin-top:10px;font-size:12px;font-weight:700}.footer-love{color:#e7c9cf;margin-top:10px;font-size:15px;font-style:italic;font-weight:600}.footer-credit{color:#cfe0c38c;letter-spacing:1px;border-top:1px solid #cfe0c326;margin-top:40px;padding-top:18px;font-size:12px;font-weight:600}.footer-credit span{color:#f0dca0;font-weight:700}
