.feature-dock{position:fixed;left:16px;bottom:16px;z-index:24;display:flex;gap:7px}.feature-dock button{border:1px solid #e8b6cb;background:#fff8f5f0;color:#63213f;border-radius:25px;padding:12px 16px;font-size:12px;box-shadow:0 4px 18px #63213f12;backdrop-filter:blur(10px)}
.invitation-gate{border:0;background:radial-gradient(ellipse,#fff8f5,#f8d7e5);color:#63213f;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;text-align:center;overflow:auto}.invitation-gate::backdrop{background:#63213f99}.gate-inner{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.gate-inner h2{font:500 clamp(45px,7vw,82px) 'Cormorant Garamond',serif;margin:20px 0}.envelope{position:relative;width:min(440px,85vw);height:260px;background:#f2bdd3;border-radius:8px;box-shadow:0 24px 65px #97325526;display:grid;place-items:center;margin:25px 0 35px;perspective:900px}.envelope:before{content:'';position:absolute;inset:0;background:#f8d7e5;clip-path:polygon(0 0,50% 65%,100% 0);transform-origin:top;transition:transform .9s}.envelope:after{content:'';position:absolute;inset:0;background:#edacc8;clip-path:polygon(0 100%,0 15%,50% 67%,100% 15%,100% 100%)}.seal{z-index:2;border:1px solid #e8bf87;border-radius:50%;width:86px;height:86px;display:grid;place-items:center;background:#b94476;color:#fff0d2;font:30px 'Cormorant Garamond',serif;box-shadow:0 5px 20px #63213f29;transition:opacity .4s}.opening .envelope:before{transform:rotateX(180deg)}.opening .seal{opacity:0}.opening .envelope{animation:envelope-away .8s .5s forwards}.primary-button{border:0;border-radius:30px;background:#c84c7e;color:white;padding:16px 27px;font-size:12px;letter-spacing:.04em}.quiet-button{border:0;background:none;color:#893554;padding:12px;text-decoration:underline;cursor:pointer}.gate-inner>p{color:#805a69}.gallery-section{background:#fff8f5;text-align:center}.gallery-grid{max-width:1200px;margin:45px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-tile{border:0;padding:0;overflow:hidden;border-radius:20px;background:#f8d7e5;color:#63213f;text-align:left;transition:transform .3s}.gallery-tile:hover{transform:translateY(-5px)}.gallery-tile img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.gallery-tile span{display:block;padding:14px 17px;font-size:12px}.gallery-tile:first-child{grid-column:span 2}.gallery-tile:first-child img{aspect-ratio:8/5;object-position:center 40%}.photo-dialog{padding:16px;background:#fff8f5;border:0;border-radius:20px;width:min(1000px,94vw);max-height:94dvh;color:#63213f}.photo-dialog::backdrop{background:#32101ed9}.photo-dialog img{display:block;max-width:100%;max-height:72dvh;object-fit:contain;margin:auto;border-radius:10px}.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px}.photo-controls button{background:#f8d7e5;border:0;border-radius:20px;padding:10px 16px;color:#63213f}.photo-controls p{font-size:12px;text-align:center}.guest-guide{background:#f8d7e5;text-align:center}.guide-grid{max-width:1160px;margin:40px auto 0;display:grid;grid-template-columns:1.2fr 1fr;gap:24px;text-align:left}.guide-panel{border-radius:24px;padding:32px;background:#fff8f5}.guide-panel h3{font:36px 'Cormorant Garamond',serif;margin:0 0 22px}.guide-row{padding:18px 0;border-bottom:1px solid #efdae0;font-size:14px;line-height:1.6}.guide-row:last-child{border:0}.guide-row strong{display:block;color:#63213f}.guide-row small{color:#805a69}.contact-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.contact-links a{border:1px solid #e7bbcd;border-radius:25px;padding:9px 15px;font-size:12px}.rsvp-section{background:#fff8f5}.rsvp-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1100px;margin:auto}.rsvp-copy p{color:#805a69;line-height:1.7;max-width:430px}.rsvp-form{background:white;border:1px solid #f1dbe5;border-radius:26px;padding:32px;box-shadow:0 15px 50px #63213f08}.rsvp-form label{display:block;font-size:13px;color:#63213f;margin-bottom:20px}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;display:block;margin-top:8px;background:#fff8f5;color:#63213f;border:1px solid #e8c5d4;border-radius:10px;padding:13px;font:15px 'DM Sans',sans-serif}.rsvp-form textarea{resize:vertical;min-height:90px}.rsvp-form button{width:100%}.rsvp-form button:disabled{opacity:.5;cursor:wait}.form-status{font-size:13px;line-height:1.5;color:#63213f}.form-status.error{color:#ad214c}.form-note{font-size:11px;line-height:1.7;color:#805a69}.download-section{text-align:center;background:#f8d7e5}.download-preview{width:220px;border-radius:105px 105px 12px 12px;box-shadow:0 12px 35px #63213f26;margin:25px auto;display:block}.download-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.download-actions button{border-radius:30px;border:1px solid #c84c7e;padding:15px 24px;background:#fff8f5;color:#63213f}.download-actions button:first-child{background:#c84c7e;color:white}.owner-tools{display:none;margin-top:20px}.owner-tools a{text-decoration:underline;font-size:12px}.feature-subtitle{color:#805a69;line-height:1.7}.lang-hi{font-family:'Noto Sans Devanagari','DM Sans',sans-serif}.lang-hi h1,.lang-hi h2,.lang-hi h3{line-height:1.5}.lang-hi .hero h1{font-size:clamp(60px,7vw,95px)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c84c7e;outline-offset:4px}@keyframes envelope-away{to{transform:translateY(-30px);opacity:0}}@media(max-width:750px){.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-tile:first-child{grid-column:span 2}.gallery-tile span{font-size:10px;padding:12px}.guide-grid,.rsvp-layout{grid-template-columns:1fr;gap:24px}.guide-panel,.rsvp-form{padding:25px}.feature-dock{left:10px;bottom:10px;gap:5px}.feature-dock button{font-size:10px;padding:11px 12px}.animation-control{font-size:9px;padding:11px}.envelope{height:220px}.photo-controls{flex-wrap:wrap;justify-content:center}.photo-controls p{order:2;width:100%}footer{padding-bottom:85px}}@media(prefers-reduced-motion:reduce){.opening .envelope{animation:none}.envelope:before{transition:none}}
