.invitation-home-entry{margin-top:10px!important;background:linear-gradient(135deg,#b9914c,#f2dfae)!important;color:#18332f!important;border:1px solid #f7e7bc!important;font-weight:800!important}
.invitation-section{color:#f8f2e6}.invitation-hero{position:relative;overflow:hidden;text-align:center;padding:34px 18px 26px;border-radius:22px;background:radial-gradient(circle at 50% 0%,#496b5a 0,#18332f 48%,#101e1c 100%);border:1px solid #c5a76a;box-shadow:0 18px 45px #0b211d24}.invitation-hero span{color:#e7ca8d;font-size:13px}.invitation-hero h2{font-size:clamp(27px,6vw,42px);color:#fff2d6;margin:10px 0}.invitation-hero p{color:#e4ddcf;max-width:650px;margin:0 auto;line-height:1.9}
.invitation-showcase{max-width:760px;margin:25px auto}.invitation-door-scene{height:580px;max-width:650px;margin:auto;position:relative;overflow:hidden;border:12px solid #b28a48;border-radius:20px;background:radial-gradient(ellipse at center,#fff6dc 0,#c8a96b 48%,#193a32 100%);box-shadow:0 18px 50px #172d2930;perspective:1200px}.invitation-preview{position:absolute;inset:18px;z-index:1;overflow:auto;text-align:center;padding:28px 18px;border-radius:10px;background:radial-gradient(ellipse at 50% 10%,#fffdf6 0,#f7f0df 58%,#e8dcc1 100%);color:#2d473b;opacity:.08;transform:scale(.92);transition:opacity 1.2s ease,transform 1.2s ease}.invitation-door{position:absolute;z-index:3;top:0;bottom:0;width:50%;background:linear-gradient(90deg,#102c27,#285143 35%,#15362e 80%,#b58d4d);border:5px ridge #b99150;transition:transform 1.7s cubic-bezier(.2,.75,.2,1);box-shadow:inset 0 0 30px #0008}.invitation-door:before{content:"";position:absolute;inset:8% 10%;border:3px double #d6b76f;border-radius:8px;box-shadow:inset 0 0 0 8px #d6b76f22,inset 0 0 0 13px #d6b76f55}.invitation-door:after{content:"✦";position:absolute;top:48%;color:#e7ca8d;font-size:28px}.invitation-door-left{left:0;transform-origin:left center}.invitation-door-right{right:0;transform-origin:right center}.invitation-door-left:after{right:15px}.invitation-door-right:after{left:15px}.invitation-door-scene.is-open .invitation-door-left{transform:rotateY(-112deg)}.invitation-door-scene.is-open .invitation-door-right{transform:rotateY(112deg)}.invitation-door-scene.is-open .invitation-preview{opacity:1;transform:scale(1);transition-delay:.65s}.invitation-open{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 22px;border:1px solid #f5dda2;border-radius:30px;background:#d7b56d;color:#17352e;font-weight:900;box-shadow:0 6px 25px #0005;cursor:pointer;white-space:nowrap}.invitation-door-scene.is-open .invitation-open{top:auto;bottom:12px;left:50%;transform:translateX(-50%);opacity:.95}.invitation-ornament{font-size:48px;color:#a47c3e}.invitation-bismillah{font-family:serif;color:#8a6b37;font-size:19px;margin:8px}.invitation-preview h3{font-family:Georgia,serif;font-size:clamp(32px,7vw,48px);font-weight:500;color:#25483c;margin:16px 0}.invitation-preview h3 i{font-size:22px;color:#b18a4b}.invitation-preview p{line-height:1.85;margin:14px auto;max-width:500px}.invitation-rule{height:1px;max-width:420px;margin:12px auto;background:linear-gradient(90deg,transparent,#b18a4b,transparent)}.invitation-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:490px;margin:18px auto}.invitation-details div{padding:10px 6px;border:1px solid #d8c59b;border-radius:9px;background:#fff9edaa;font-size:13px}.invitation-details b{display:block;color:#98743d;margin-bottom:5px}.invitation-last{font-weight:800;color:#365747}.invitation-preview small{display:block;margin-top:14px;color:#776a52;font-size:11px}.invitation-hint{text-align:center;color:#d6c7a4;font-size:13px;margin:10px}.invitation-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0}.invitation-actions a,.invitation-bottom-cta a{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:12px;text-decoration:none;font-weight:800}.invitation-whatsapp,.invitation-bottom-cta a{background:#167a55;color:white}.invitation-map{color:#24483d;background:#eee3c9;border:1px solid #c5ad78}.invitation-price{background:#18332f;color:#f8f0dd;border-radius:16px;padding:20px;text-align:center;margin:22px 0}.invitation-price strong{display:block;color:#edcf8f;font-size:29px;margin:5px}.invitation-price small{display:block;color:#e6dcc6}.invitation-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:24px 0}.invitation-services article{padding:18px;border:1px solid #dfd3b7;border-radius:15px;background:#fffdf8;color:#253d35}.invitation-services b{display:block;color:#23483d;margin-bottom:7px}.invitation-services p{margin:0;color:#6c706a;line-height:1.7;font-size:14px}.invitation-bottom-cta{background:#f7f1e4;color:#23483d;text-align:center;padding:24px;border-radius:16px}.invitation-bottom-cta h3{margin:0 0 8px}.invitation-bottom-cta p{margin:0 0 15px}.invitation-disclaimer{text-align:center;color:#cbbd9f;font-size:12px;line-height:1.8;margin:15px auto;max-width:680px}
@media(max-width:540px){.invitation-door-scene{height:620px;border-width:8px}.invitation-preview{inset:10px;padding:25px 10px}.invitation-details{grid-template-columns:1fr 1fr}.invitation-preview p{font-size:13px}.invitation-actions a{width:100%}}

.invitation-music-panel{max-width:650px;margin:22px auto;padding:20px;border:1px solid #c9ae76;border-radius:16px;background:linear-gradient(145deg,#fffaf0,#eee3cc);color:#23483d;text-align:center;box-shadow:0 10px 28px #0002}.invitation-music-panel h3{margin:0 0 7px;color:#25483c}.invitation-music-panel p{margin:0 0 14px;color:#6c6658;font-size:14px}.invitation-music-panel label{display:block;margin:10px 0 6px;font-weight:800}.invitation-music-panel select{width:min(100%,360px);padding:12px;border:1px solid #b99a5d;border-radius:10px;background:white;color:#263d34;font:inherit}.invitation-audio-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:13px}.invitation-audio-controls button{padding:11px 16px;border:0;border-radius:10px;background:#1d5746;color:#fff;font-weight:800;cursor:pointer}.invitation-audio-controls button:last-child{background:#6d6251}.invitation-music-panel small{display:block;max-width:560px;margin:8px auto 0;color:#766b58;line-height:1.7;font-size:11px}

.invitation-door-scene{height:590px;background:radial-gradient(ellipse at 50% 44%,#fff5df 0,#d8bd83 52%,#183b32 100%);border:10px solid #b38b4c;overflow:hidden;isolation:isolate}
.invitation-flower-arch{position:absolute;z-index:5;top:-5px;left:50%;transform:translateX(-50%);width:94%;height:178px;pointer-events:none;filter:drop-shadow(0 8px 9px #1a211b88)}.invitation-flower-arch:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10271c20,#10271c55);border:5px solid #d6b46d;border-bottom:0;border-radius:50% 50% 0 0 / 100% 100% 0 0;z-index:1}.invitation-flower-arch img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 44%;border:5px solid #d6b46d;border-bottom:0;border-radius:50% 50% 0 0 / 100% 100% 0 0;box-shadow:inset 0 0 18px #0008}
.invitation-door{width:50%;background:linear-gradient(90deg,#112c26,#315b48 45%,#183a30 88%,#b48b4c);border:5px ridge #d1ad68;box-shadow:inset 0 0 34px #0009}
.invitation-door:before{inset:9% 9%;border:4px double #e8ca83;box-shadow:inset 0 0 0 9px #e8ca8325,inset 0 0 0 14px #e8ca8366}
.invitation-door:after{content:"❀";font-size:35px;color:#f1d89e;text-shadow:0 2px 5px #0008}
.invitation-door-left:after{right:15px}.invitation-door-right:after{left:15px}
.invitation-door{top:110px}.invitation-door:before{inset:12% 10% 8%}
.invitation-reveal{position:absolute;z-index:1;inset:15% 5% 8%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:#28483b;opacity:0;transform:scale(.86);transition:opacity 1s ease,transform 1.2s ease;background:radial-gradient(ellipse,#fffaf0dd,#f2e2c4aa 70%,transparent);border-radius:18px}
.invitation-reveal .invitation-ornament{font-size:44px;color:#ad8546}.invitation-reveal-kicker{color:#9a7541;font-size:18px;margin:6px}
.invitation-reveal h3{display:flex;align-items:center;justify-content:center;gap:18px;font-family:Georgia,serif;font-size:clamp(38px,8vw,64px);font-weight:500;color:#254b3c;margin:10px 0}
.invitation-reveal h3 i{font-size:25px;color:#bd8e55;font-style:normal}
.invitation-reveal p:last-child{max-width:400px;line-height:1.9;color:#526557}
.invitation-door-scene.is-open .invitation-door-left{transform:rotateY(-112deg)}.invitation-door-scene.is-open .invitation-door-right{transform:rotateY(112deg)}
.invitation-door-scene.show-names .invitation-reveal{opacity:1;transform:scale(1);transition-delay:.1s}
.invitation-door-scene.is-opening .invitation-open,.invitation-door-scene.is-open .invitation-open{top:auto;bottom:12px;left:50%;transform:translateX(-50%);opacity:.96}
.invitation-door-scene.is-open .invitation-flower-arch{opacity:.25;transition:opacity 1s}
.invitation-dove-flight{position:absolute;z-index:7;top:31%;left:-18%;width:136%;height:210px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;overflow:visible}
.invitation-dove-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;border-radius:48%;filter:drop-shadow(0 5px 8px #142e3a55);-webkit-mask-image:radial-gradient(ellipse at center,black 38%,rgba(0,0,0,.82) 58%,transparent 82%);mask-image:radial-gradient(ellipse at center,black 38%,rgba(0,0,0,.82) 58%,transparent 82%)}
.invitation-door-scene.show-doves .invitation-dove-flight{opacity:1;animation:doves-across 3.6s cubic-bezier(.2,.55,.3,1) forwards}
@keyframes doves-across{0%{transform:translateX(-12%) translateY(35px) scale(.72);opacity:0}12%{opacity:1}45%{transform:translateX(12%) translateY(-42px) scale(1)}100%{transform:translateX(62%) translateY(-105px) scale(.76);opacity:0}}
.invitation-falling-petals{position:absolute;z-index:8;inset:0;pointer-events:none;overflow:hidden;opacity:0}
.invitation-falling-petals i{position:absolute;top:-12%;display:block;width:30px;height:42px;background-image:url("https://www.publicdomainpictures.net/pictures/230000/velka/falling-petals.jpg");background-size:600% 600%;background-repeat:no-repeat;mix-blend-mode:multiply;filter:drop-shadow(0 2px 2px #6e315033);border-radius:45% 55% 48% 52%;animation:petal-fall 4.8s linear infinite}
.invitation-falling-petals i:nth-child(1){left:5%;background-position:0 35%;animation-delay:.1s}
.invitation-falling-petals i:nth-child(2){left:14%;background-position:25% 20%;animation-delay:.7s}
.invitation-falling-petals i:nth-child(3){left:24%;background-position:50% 5%;animation-delay:1.2s}
.invitation-falling-petals i:nth-child(4){left:34%;background-position:12% 65%;animation-delay:.4s}
.invitation-falling-petals i:nth-child(5){left:45%;background-position:38% 78%;animation-delay:1.5s}
.invitation-falling-petals i:nth-child(6){left:56%;background-position:62% 52%;animation-delay:.3s}
.invitation-falling-petals i:nth-child(7){left:66%;background-position:5% 88%;animation-delay:1s}
.invitation-falling-petals i:nth-child(8){left:77%;background-position:48% 92%;animation-delay:1.8s}
.invitation-falling-petals i:nth-child(9){left:88%;background-position:90% 55%;animation-delay:.6s}
.invitation-falling-petals i:nth-child(10){left:96%;background-position:72% 88%;animation-delay:1.4s}
.invitation-falling-petals i:nth-child(11){left:40%;background-position:20% 42%;animation-delay:2s}
.invitation-falling-petals i:nth-child(12){left:72%;background-position:55% 30%;animation-delay:2.4s}
.invitation-door-scene.show-petals .invitation-falling-petals{opacity:1}
@keyframes petal-fall{0%{transform:translate3d(0,-30px,0) rotate(0) scale(.72);opacity:0}12%{opacity:.95}100%{transform:translate3d(48px,690px,0) rotate(440deg) scale(1.05);opacity:0}}
.invitation-scroll-content{max-width:760px;margin:28px auto;color:#29483b}
.invitation-quran,.invitation-welcome,.invitation-details-card,.invitation-flowers{margin:20px 0;padding:28px 20px;border:1px solid #cdb783;border-radius:18px;text-align:center;background:linear-gradient(145deg,#fffaf0,#f1e6d1);box-shadow:0 10px 30px #00000012}
.invitation-quran .invitation-ornament{font-size:34px;color:#b38a4b}.invitation-bismillah{font-family:serif;font-size:20px;color:#9b7741;margin:8px}
.invitation-quran blockquote{margin:12px auto;max-width:650px;font-family:serif;font-size:clamp(19px,3.6vw,25px);line-height:2.1;color:#315443}
.invitation-quran small{color:#8d744d}
.invitation-greeting{margin:0 0 8px;color:#a17c42;font-weight:800;letter-spacing:.4px}
.invitation-welcome h3,.invitation-details-card h3,.invitation-flowers h3{margin:8px 0 14px;font-size:clamp(22px,4vw,30px);color:#25483b}
.invitation-welcome>p:not(.invitation-greeting){max-width:620px;margin:10px auto;line-height:2;font-size:16px}
.invitation-welcome-sign,.invitation-last{font-weight:800;color:#997440}
.invitation-families{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:20px 0;padding:22px 12px;background:#1b3b32;border:1px solid #c7a86b;border-radius:17px;color:#fff4df;text-align:center}
.invitation-families article span{color:#e2c486;font-size:13px}.invitation-families article h3{font-size:clamp(16px,3vw,22px);margin:7px 0}.invitation-family-flower{color:#e3c17e;font-size:28px}
.invitation-details-card .invitation-details{margin:20px auto}
.invitation-details-card .invitation-map{display:inline-flex;padding:11px 18px;border-radius:10px;text-decoration:none}
.invitation-flowers{background:radial-gradient(circle at top,#fff9eb,#e8d8b8);border-color:#b9975b}
.invitation-flower-icon{font-size:52px;margin-bottom:5px}
.invitation-flowers p{max-width:570px;margin:0 auto 16px;line-height:1.9;color:#5c665d}
.invitation-flowers a{display:inline-flex;padding:14px 22px;border-radius:12px;background:#1e654c;color:white;text-decoration:none;font-weight:900;box-shadow:0 6px 18px #1e654c33}
.invitation-flowers small{display:block;margin:12px auto 0;color:#7b705c;font-size:12px}
@media(max-width:540px){.invitation-door-scene{height:570px;border-width:7px}.invitation-flower-arch{top:0;width:96%;height:132px}.invitation-door{top:92px}.invitation-reveal{inset:18% 3% 8%;padding:12px}.invitation-reveal h3{gap:10px;font-size:39px}.invitation-reveal p:last-child{font-size:13px}.invitation-families{grid-template-columns:1fr;gap:3px}.invitation-family-flower{font-size:20px}.invitation-quran,.invitation-welcome,.invitation-details-card,.invitation-flowers{padding:22px 14px}}
@media(prefers-reduced-motion:reduce){.invitation-door,.invitation-reveal,.invitation-dove-flight,.invitation-falling-petals i{animation:none!important;transition:none!important}}


/* Real-time animated flock: several doves lift off together when the doors open */
.invitation-dove-flight{position:absolute;z-index:9;top:29%;left:0;width:100%;height:230px;display:block;opacity:0;pointer-events:none;overflow:visible}
.invitation-bird{position:absolute;width:clamp(66px,13vw,112px);height:auto;fill:#fffdf5;filter:drop-shadow(0 4px 5px #162a2477);opacity:0;transform-origin:center}
.invitation-bird .bird-wing{transform-box:fill-box;transform-origin:50% 85%;animation:dove-wing-flap .34s ease-in-out infinite alternate}
.invitation-door-scene.show-doves .invitation-dove-flight{opacity:1}
.invitation-door-scene.show-doves .invitation-bird{animation:dove-lift-off 3.3s cubic-bezier(.18,.62,.28,1) forwards}
.invitation-bird.bird-one{left:34%;top:40px;animation-delay:0s!important}
.invitation-bird.bird-two{left:44%;top:8px;animation-delay:.18s!important;width:clamp(76px,15vw,126px)}
.invitation-bird.bird-three{left:54%;top:52px;animation-delay:.34s!important;width:clamp(60px,11vw,96px)}
.invitation-bird.bird-four{left:25%;top:75px;animation-delay:.48s!important;width:clamp(56px,10vw,88px)}
.invitation-bird.bird-five{left:64%;top:82px;animation-delay:.62s!important;width:clamp(58px,10vw,90px)}
@keyframes dove-wing-flap{from{transform:rotate(-22deg) scaleY(.72)}to{transform:rotate(18deg) scaleY(1.12)}}
@keyframes dove-lift-off{0%{opacity:0;transform:translate(0,55px) scale(.55)}12%{opacity:1}45%{opacity:1;transform:translate(28px,-60px) scale(1)}100%{opacity:0;transform:translate(120px,-230px) scale(.72)}}
@media(max-width:540px){.invitation-dove-flight{top:27%;height:190px}.invitation-bird.bird-one{left:26%}.invitation-bird.bird-two{left:41%}.invitation-bird.bird-three{left:57%}.invitation-bird.bird-four{left:13%}.invitation-bird.bird-five{left:70%}}
@media(prefers-reduced-motion:reduce){.invitation-door-scene.show-doves .invitation-bird{animation:none!important;opacity:1;transform:none}}
