.mahlaha-frame{--mh-ivory:#fbf6f1;--mh-red:#8b1a2b;--mh-red-deep:#6a1220;--mh-gold:#c9a35c;--mh-gold-hi:#f1dfb4;--mh-ink:#4a2a2a;--ruqaa:var(--font-display), "Aref Ruqaa", serif;--body:var(--font-body), "Tajawal", system-ui, sans-serif;background:var(--mh-ivory);width:100%;min-width:320px;min-height:100dvh;color:var(--mh-ink);font-family:var(--body);text-rendering:optimizelegibility;overflow-x:clip}.mahlaha-frame:not(.mahlaha-frame--arrived){height:100svh;min-height:0;overflow:hidden}.mahlaha-frame,.mahlaha-frame *{box-sizing:border-box}.mahlaha-frame button{font:inherit}.mahlaha-frame :focus-visible{outline-offset:3px;outline:3px solid #c9a35cb3}.mahlaha-stage{isolation:isolate;background:var(--mh-red-deep) url(/templates/mahlaha/assets/gate-poster.jpg) center / cover no-repeat;height:100svh;position:relative;overflow:hidden}.mahlaha-stage__video{z-index:0;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.mahlaha-stage__scene{z-index:1;opacity:0;transition:opacity .45s}.mahlaha-stage.is-arrived .mahlaha-stage__scene{opacity:1}.mahlaha-stage__trigger{z-index:6;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:flex-end;width:100%;padding:0 16px max(17vh,110px);display:flex;position:absolute;inset:0}.mahlaha-hint{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#3c0a126b;border:1px solid #f1dfb499;border-radius:999px;align-items:center;gap:10px;padding:13px 26px;font-size:1rem;font-weight:700;animation:2.4s ease-in-out infinite mahlaha-hint-breathe;display:inline-flex;box-shadow:0 10px 28px #28060c59}.mahlaha-hint svg{width:20px;height:20px;color:var(--mh-gold-hi);animation:1.2s ease-in-out infinite mahlaha-hint-tap}.mahlaha-poem{z-index:4;text-align:center;pointer-events:none;padding:0 16px;position:absolute;top:max(13vh,90px);left:0;right:0}.mahlaha-poem p{color:var(--mh-red);font-family:var(--ruqaa);text-shadow:0 0 14px #fffffff2,0 0 4px #ffffffe6;opacity:0;filter:blur(6px);margin:0;font-size:clamp(1.9rem,8.6vw,2.7rem);font-weight:700;line-height:1.75;transform:translateY(14px)}.mahlaha-stage.is-opening .mahlaha-poem p,.mahlaha-stage.is-arrived .mahlaha-scroll-cue{animation:mahlaha-reveal .9s ease var(--mh-delay) forwards}.mahlaha-scroll-cue{z-index:4;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;width:max-content;margin-inline:auto;padding:0;display:flex;position:absolute;bottom:max(14vh,112px);left:0;right:0}.mahlaha-stage.is-arrived .mahlaha-scroll-cue{pointer-events:auto}.mahlaha-scroll-cue__label{color:var(--mh-gold-hi);font-family:var(--ruqaa);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#8b1a2bd1,#5a0e1ae0);border:1px solid #f1dfb4bf;border-radius:999px;padding:9px 24px 10px;font-size:1.15rem;font-weight:700;line-height:1.2;box-shadow:0 10px 24px #3c081059,inset 0 1px #ffffff2e}.mahlaha-scroll-cue__arrow{width:30px;height:30px;color:var(--mh-gold-hi);background:#5a0e1ab3;border:1px solid #f1dfb4bf;border-radius:50%;place-items:center;animation:1.6s ease-in-out infinite mahlaha-bob;display:grid;box-shadow:0 6px 16px #3c08104d}.mahlaha-scroll-cue__arrow svg{width:18px;height:18px}@keyframes mahlaha-reveal{to{opacity:1;filter:none;transform:none}}@keyframes mahlaha-hint-breathe{50%{box-shadow:0 10px 28px #28060c59,0 0 0 8px #f1dfb41f}}@keyframes mahlaha-hint-tap{50%{transform:translateY(-3px)scale(.92)}}@keyframes mahlaha-bob{50%{transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.mahlaha-hint,.mahlaha-hint svg,.mahlaha-scroll-cue__arrow{animation:none}.mahlaha-stage.is-opening .mahlaha-poem p,.mahlaha-stage.is-arrived .mahlaha-scroll-cue{opacity:1;filter:none;animation:none;transform:none}}.mahlaha-content{background-color:var(--mh-ivory);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='120' viewBox='0 0 80 120'%3E%3Cg fill='none' stroke='%23c9a35c' stroke-opacity='.22'%3E%3Cpath d='M40 0c0 30-40 30-40 60s40 30 40 60M40 0c0 30 40 30 40 60s-40 30-40 60'/%3E%3C/g%3E%3Cpath fill='%23a8394b' fill-opacity='.16' d='M40 55l4 5-4 5-4-5z'/%3E%3C/svg%3E");background-position:top;padding:0 16px 64px;position:relative}.mahlaha-drape{aspect-ratio:720/250;pointer-events:none;background:url(/templates/mahlaha/assets/drape.webp) top/cover no-repeat;margin:0 -16px -42px;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.mahlaha-invitation{text-align:center;max-width:460px;margin:0 auto}.mahlaha-invitation h2{color:var(--mh-red);font-family:var(--ruqaa);margin:0;font-size:clamp(1.7rem,7.4vw,2.25rem);font-weight:700;line-height:1.5}.mahlaha-ornament{justify-content:center;align-items:center;gap:10px;margin:14px auto 12px;display:flex}.mahlaha-ornament span{background:linear-gradient(90deg, transparent, var(--mh-gold));width:min(28vw,120px);height:1px}.mahlaha-ornament span:last-child{transform:scaleX(-1)}.mahlaha-ornament i{border:1.5px solid var(--mh-gold);width:9px;height:9px;transform:rotate(45deg)}.mahlaha-invitation__welcome{color:var(--mh-gold);font-family:var(--ruqaa);margin:0 0 22px;font-size:clamp(1.25rem,5.4vw,1.55rem);font-weight:700}.mahlaha-invitation__host{color:var(--mh-ink);font-family:var(--ruqaa);white-space:pre-line;margin:0;font-size:clamp(1.15rem,5vw,1.4rem);line-height:1.9}.mahlaha-invitation__bride{color:var(--mh-red);font-family:var(--ruqaa);text-shadow:0 10px 24px #8b1a2b38;margin:18px 0 0;font-size:clamp(4.2rem,21vw,5.6rem);font-weight:700;line-height:1.3}.mahlaha-flourish{fill:none;width:min(72%,260px);stroke:var(--mh-gold);stroke-linecap:round;stroke-width:1.4px;margin:4px auto 0;display:block}.mahlaha-details{grid-template-columns:1fr 1fr;gap:12px;max-width:460px;margin:34px auto 0;display:grid}.mahlaha-detail{text-align:center;background:#ffffffb8;border:1px solid #c9a35c73;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:20px 10px 18px;display:flex;box-shadow:0 10px 26px #6a122012}.mahlaha-detail__icon svg,.mahlaha-detail--venue>svg{width:24px;height:24px;color:var(--mh-red);stroke-width:1.6px}.mahlaha-detail span{color:#8a7468;font-size:.85rem}.mahlaha-detail strong{color:var(--mh-red);font-size:clamp(1.15rem,5vw,1.35rem);font-weight:800}.mahlaha-detail--venue{grid-column:1/-1;padding-bottom:22px}.mahlaha-detail--venue strong{font-size:clamp(1.35rem,6vw,1.6rem)}.mahlaha-detail small{color:#8a7468;font-size:.9rem}.mahlaha-detail a{color:#fff;background:linear-gradient(180deg, var(--mh-red), var(--mh-red-deep));border-radius:999px;margin-top:10px;padding:11px 26px;font-size:.95rem;font-weight:700;text-decoration:none;box-shadow:0 8px 18px #6a122040}.mahlaha-calendar{--gold:var(--mh-red);--gold-deep:var(--mh-red-deep);--rose-deep:var(--mh-ink);--text-muted:#8a7468;--text-body:#7a5f55;--amiri:"Amiri", serif;margin-top:44px}.mahlaha-calendar .save-date-section{padding:0 0 8px}.mahlaha-calendar .save-date-section>h2{font-size:clamp(1.6rem,7vw,2rem)}.mahlaha-calendar .save-date-section>h2 span{font-size:0}.mahlaha-calendar .save-date-section>h2 span:after{content:"🌹";font-size:1.4rem}.mahlaha-calendar .calendar-card{background:#fffaf5;border-color:#c9a35c8c;width:min(300px,100%);box-shadow:0 20px 46px #6a122024}.mahlaha-calendar .calendar-card>header{background:linear-gradient(120deg, var(--mh-red-deep), var(--mh-red) 45%, #b9884a);padding:15px 10px 13px;font-size:1.05rem}.mahlaha-calendar .calendar-card__body strong{font-size:4.6rem}.mahlaha-calendar .calendar-card__body p{font-size:.95rem}.mahlaha-calendar .calendar-card>footer{border-top-color:#c9a35c8c}.mahlaha-calendar .calendar-card>footer p{font-size:.8rem}.mahlaha-calendar .calendar-card>footer a,.mahlaha-calendar .calendar-card>footer button{min-height:38px;padding:6px 16px;font-size:.82rem}.mahlaha-countdown{color:#fff;background:radial-gradient(120% 90% at 50% 0%, #ffffff1a, transparent 60%), linear-gradient(180deg, var(--mh-red), var(--mh-red-deep));text-align:center;border-radius:22px;max-width:460px;margin:44px auto 0;padding:22px 12px 20px;box-shadow:0 18px 40px #6a122047}.mahlaha-countdown h2{color:var(--mh-gold-hi);font-family:var(--ruqaa);margin:0 0 12px;font-size:clamp(1.45rem,6.4vw,1.8rem);font-weight:700}.mahlaha-countdown>div{grid-template-columns:repeat(4,1fr);display:grid}.mahlaha-countdown span{flex-direction:column;align-items:center;display:flex}.mahlaha-countdown strong{font-variant-numeric:tabular-nums;font-size:clamp(2rem,9.5vw,2.6rem);font-weight:700;line-height:1.15}.mahlaha-countdown small{color:#ffffffc7;font-size:.85rem}.mahlaha-countdown__arrived{margin:0;font-size:1.1rem;font-weight:700}.mahlaha-content .section-reveal{margin:0 -12px -56px;padding:0 12px 56px}.mahlaha-notes{gap:12px;max-width:460px;margin:26px auto 0;padding:0;list-style:none;display:grid}.mahlaha-notes li{min-height:54px;color:var(--mh-red);text-align:center;background:#8b1a2b0f;border:1.5px dashed #8b1a2b59;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:1.02rem;font-weight:700;display:flex}.mahlaha-notes__icon{flex:none;place-items:center;width:26px;height:26px;display:grid;position:relative}.mahlaha-notes__icon svg{stroke-width:1.7px;width:20px;height:20px}.mahlaha-notes__icon--no{border:1.6px solid;border-radius:50%}.mahlaha-notes__icon--no:after{content:"";background:currentColor;width:1.6px;height:100%;position:absolute;transform:rotate(45deg)}.mahlaha-notes__icon--no svg{width:15px;height:15px}.mahlaha-closing{max-width:460px;color:var(--mh-gold);font-family:var(--ruqaa);text-align:center;margin:40px auto 0;font-size:clamp(1.7rem,7.6vw,2.2rem);font-weight:700;line-height:1.6}.mahlaha-responses{--gold:var(--mh-red);--plum:var(--mh-ink);--text-muted:#6f5a52;--aref:var(--ruqaa);text-align:center;max-width:460px;margin:40px auto 0}.mahlaha-responses .rsvp-section{background:#ffffffd1;border-color:#c9a35c8c;margin-inline:0;padding:30px 18px 28px;box-shadow:0 18px 42px #6a122017}.mahlaha-responses .section-flourish{color:var(--mh-red);justify-content:center;align-items:center;gap:10px;font-size:1.15rem;line-height:1;display:flex}.mahlaha-responses .section-flourish:before,.mahlaha-responses .section-flourish:after{content:"";background:linear-gradient(90deg, transparent, var(--mh-gold));width:90px;height:1px}.mahlaha-responses .section-flourish:after{transform:scaleX(-1)}.mahlaha-responses .section-title{color:var(--mh-red);font-family:var(--ruqaa);margin:10px 0 0;font-size:clamp(1.7rem,7.2vw,2.1rem);font-weight:700}.mahlaha-responses .rsvp-section>p{color:#8a7468;margin:4px 0 22px}.mahlaha-responses .rsvp-form input,.mahlaha-responses .rsvp-form textarea,.mahlaha-responses .rsvp-options span{border-color:#c9a35c80}.mahlaha-responses .golden-action{background:linear-gradient(180deg, var(--mh-red), var(--mh-red-deep));width:100%;min-height:52px;font-size:1.02rem;box-shadow:0 14px 28px -12px #6a1220cc}.mahlaha-responses .wishes-section{padding:40px 0 0}.mahlaha-responses .wishes-section>.section-title{background:#fffaf5;border:1px solid #c9a35c99;border-radius:999px;padding:10px 26px;font-size:clamp(1.25rem,5.4vw,1.5rem);display:inline-block;box-shadow:0 10px 24px #6a122014}.mahlaha-responses .wishes-section>.section-title:after{content:" 🌹"}.mahlaha-responses .wishes-list blockquote{background:#fffc;border-color:#c9a35c73}.mahlaha-responses .wish-card__avatar{background:var(--mh-red)}.mahlaha-responses .wishes-list blockquote:nth-child(2n) .wish-card__avatar{background:#b8893f}.mahlaha-credit{color:#8a7468;text-align:center;background:#fffaf5;border:1px solid #c9a35c66;border-radius:16px;justify-items:center;gap:8px;max-width:300px;margin:48px auto 0;padding:16px 22px;font-size:.82rem;display:grid;box-shadow:0 12px 30px #6a122014}.mahlaha-credit p{margin:0}.mahlaha-credit strong{color:var(--mh-red);font-family:var(--ruqaa);font-size:1.15rem}.mahlaha-credit a{color:#fff;background:var(--mh-red);border-radius:999px;padding:7px 18px;font-weight:700;text-decoration:none}