@import "https://fonts.googleapis.com/css2?family=Aref+Ruqaa:wght@400;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&family=Noto+Kufi+Arabic:wght@400;500;600;700&display=swap";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ivory:#fffaf3;--paper:#fffdf8;--rose:#c9a39f;--rose-dark:#9e7470;--champagne:#c5a46f;--gold:#aa8754;--ink:#4b3c38;--muted:#866f69;--line:#aa875457}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#eee5df;scroll-padding-top:18px}body{min-width:320px;min-height:100%;color:var(--ink);-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#e9ded8,#f7f0ea);margin:0;font-family:Noto Kufi Arabic,Tahoma,Arial,sans-serif;overflow-x:clip}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px}.soundcloud-player{opacity:0;pointer-events:none;border:0;width:1px;height:1px;position:fixed;bottom:0;left:0}.invitation{background:0 0;min-height:100svh}.invitation.is-closed{height:100svh;overflow:hidden}.opening-screen{z-index:100;min-height:100svh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:radial-gradient(circle at 50% 16%,#fffffffa 0 8%,#0000 42%),linear-gradient(155deg,#f7e9e4 0%,#fffaf1 45%,#eadbd4 100%);place-items:center;transition:opacity 1.15s cubic-bezier(.22,1,.36,1),visibility 1.15s;display:grid;position:fixed;inset:0;overflow:hidden}.is-open .opening-screen{opacity:0;visibility:hidden;pointer-events:none}.opening-glow{filter:blur(2px);opacity:.55;border-radius:50%;position:absolute}.opening-glow-one{background:#dbb7ae6b;width:50vw;height:50vw;top:-20vw;right:-18vw}.opening-glow-two{background:#cdb4884d;width:42vw;height:42vw;bottom:-20vw;left:-15vw}.opening-content{text-align:center;scrollbar-width:none;width:min(100%,430px);max-height:calc(100svh - 32px);padding:12px;position:relative;overflow-y:auto}.opening-content::-webkit-scrollbar{display:none}.quran-intro{text-align:center;width:min(100%,410px);margin:0 auto 18px}.opening-basmala{color:var(--ink);margin:0 0 10px;font-size:clamp(1.08rem,4.1vw,1.25rem);font-weight:700;line-height:1.8}.quran-intro blockquote{color:var(--ink);margin:0;font-size:clamp(.86rem,3.15vw,.98rem);font-weight:600;line-height:2.05}.quran-intro>span{color:var(--gold);margin-top:7px;font-size:.72rem;font-weight:500;display:block}.eyebrow,.section-kicker{color:var(--gold);letter-spacing:.12em;margin:0 0 14px;font-size:.78rem;font-weight:700}.guest-greeting,.personal-note{color:var(--rose-dark);margin:0 0 16px;font-size:1rem}.envelope{aspect-ratio:1.51;perspective:900px;filter:drop-shadow(0 14px 19px #61433b26);width:min(72vw,286px);height:auto;margin:16px auto 20px;position:relative}.envelope-back,.envelope-front,.envelope-flap{position:absolute;inset:0}.envelope-back{background:#f8eee6;border:1px solid #a57e6938;border-radius:8px}.envelope-card{z-index:1;color:var(--ink);background:#fffdf8f0;border:1px solid #b1906061;justify-content:center;align-items:center;gap:13px;font-size:2.1rem;transition:transform 1s .12s;display:flex;position:absolute;inset:18px 18px 32px}.envelope-card i{color:var(--champagne);font-family:Cormorant Garamond,Georgia,serif;font-size:1.4rem}.envelope-front{z-index:3;clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);background:linear-gradient(145deg,#f0ded5,#fbf1e9 45%,#ead2c7);border-radius:0 0 8px 8px;top:42%}.envelope-flap{z-index:4;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;background:linear-gradient(165deg,#fff8f1,#ecd9d0);border-radius:8px 8px 0 0;height:57%}.seal{z-index:5;color:#fff8ec;background:radial-gradient(circle at 34% 28%,#d6bd8f,#a98451 72%);border-radius:50%;justify-content:center;align-items:center;gap:2px;width:52px;height:52px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;display:flex;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 10px #5f3f2b33,inset 0 0 0 3px #ffffff2e}.seal span{font-size:.74rem}.opening-names{color:var(--ink);margin:0;font-family:Aref Ruqaa,serif;font-size:clamp(2.45rem,11vw,3.55rem);font-weight:700;line-height:1.25}.opening-names span{color:var(--champagne);font-size:.7em}.opening-date{color:var(--muted);letter-spacing:.22em;direction:ltr;margin:9px 0 17px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem}.open-button,.primary-link{color:#fffdf8;cursor:pointer;background:linear-gradient(135deg,#b89563,#977142);border:1px solid #aa87547a;border-radius:100px;justify-content:center;align-items:center;gap:13px;min-width:176px;min-height:50px;padding:11px 23px;text-decoration:none;transition:transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 10px 24px #8c66382e}.open-button b{font-size:.8rem;animation:1.8s infinite nudge}.sound-note{color:var(--muted);margin:13px 0 0;font-size:.72rem}.invitation-content{opacity:0;visibility:hidden;background:var(--ivory);width:100%;max-width:540px;min-height:100svh;margin:0 auto;transition:opacity 1.05s cubic-bezier(.22,1,.36,1) .22s;overflow:clip;box-shadow:0 0 70px #4a312a29;container-type:inline-size}.is-open .invitation-content{opacity:1;visibility:visible}.hero{background:#f9f1e8 url(/swan-heart.webp) bottom/100% no-repeat;place-items:start center;height:100svh;min-height:600px;max-height:900px;display:grid;position:relative;overflow:hidden}.hero-wash{background:linear-gradient(#fffdf8fa 0%,#fffaf3c7 27%,#fffaf314 55%,#fffaf300 72%);position:absolute;inset:0}.hero-copy{z-index:1;width:100%;height:clamp(380px,52svh,455px);padding:max(42px, calc(env(safe-area-inset-top) + 30px)) 20px 10px;text-align:center;grid-template-rows:auto 1fr auto;align-content:space-between;justify-items:center;gap:clamp(15px,2.4svh,23px);display:grid;position:relative}.is-open .hero-copy{animation:1.05s cubic-bezier(.22,1,.36,1) .28s both heroReveal}.is-open .scroll-cue{animation:.85s .95s both cueReveal}.hero-invocation{justify-items:center;gap:9px;display:grid}.hero-invocation .eyebrow,.hero-invocation .personal-note,.hero-intro{margin:0}.hero-intro{color:var(--muted);font-size:clamp(.83rem,2.7cqi,1rem)}.family-invitation{width:min(100%,470px);color:var(--muted);align-content:center;justify-items:center;gap:4px;margin:0 auto;font-size:clamp(.69rem,2.4cqi,.82rem);line-height:1.75;display:grid}.family-invitation strong{color:var(--ink);font-size:clamp(.76rem,2.7cqi,.92rem);font-weight:600;display:block}.family-lead{color:var(--muted)}.family-connector{width:70px;color:var(--champagne);align-items:center;gap:9px;display:flex}.family-connector:before,.family-connector:after{content:"";background:var(--line);flex:1;height:1px}.family-invitation small{color:var(--muted);font-size:inherit;margin-top:3px}.couple-lockup{align-self:end}.arabic-names{text-shadow:0 2px 16px #ffffffd1;justify-content:center;align-items:center;gap:clamp(8px,3cqi,18px);margin:0;font-family:Aref Ruqaa,serif;font-size:clamp(2.85rem,12cqi,3.9rem);font-weight:700;line-height:1.35;display:flex}.arabic-names i{color:var(--champagne);font-family:Cormorant Garamond,Georgia,serif;font-size:.43em;font-style:italic}.english-names{color:var(--gold);letter-spacing:.24em;margin:4px 0 3px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(.74rem,2.9cqi,.95rem);font-weight:600}.english-names span{letter-spacing:normal}.hero-line{color:var(--muted);margin:0;font-size:.98rem}.scroll-cue{z-index:2;bottom:max(13px, env(safe-area-inset-bottom));color:#534039b8;text-shadow:0 1px 8px #fff;flex-direction:column;align-items:center;gap:1px;font-size:.7rem;display:flex;position:absolute}.scroll-cue i{font-size:1.25rem;line-height:1;animation:1.8s infinite nudge}.section-pad{text-align:center;padding:clamp(58px,14cqi,84px) clamp(18px,5.5cqi,34px)}.section-inner{z-index:1;width:100%;position:relative}.is-open .scroll-reveal{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(28px)scale(.992)}.is-open .scroll-reveal.is-visible{opacity:1;transform:translate(0)scale(1)}.is-open .scroll-reveal .ornament,.is-open .scroll-reveal .location-icon,.is-open .scroll-reveal .date-number{opacity:0;transition:opacity .62s .15s,transform .72s cubic-bezier(.22,1,.36,1) .15s;transform:translateY(9px)scale(.94)}.is-open .scroll-reveal.is-visible .ornament,.is-open .scroll-reveal.is-visible .location-icon,.is-open .scroll-reveal.is-visible .date-number{opacity:1;transform:translate(0)scale(1)}.is-open .scroll-reveal .countdown-unit{opacity:0;transition:opacity .58s,transform .68s cubic-bezier(.22,1,.36,1);transform:translateY(13px)}.is-open .scroll-reveal.is-visible .countdown-unit{opacity:1;transform:translate(0)}.is-open .scroll-reveal.is-visible .countdown-unit:first-child{transition-delay:.12s}.is-open .scroll-reveal.is-visible .countdown-unit:nth-child(2){transition-delay:.19s}.is-open .scroll-reveal.is-visible .countdown-unit:nth-child(3){transition-delay:.26s}.is-open .scroll-reveal.is-visible .countdown-unit:nth-child(4){transition-delay:.33s}.section-pad h2{margin:0;font-size:clamp(1.85rem,7.5cqi,2.65rem);font-weight:500;line-height:1.45}.story-section{background:var(--paper);position:relative}.story-section:before,.story-section:after{content:"";background:radial-gradient(circle,#dfc3bd33,#0000 68%);border-radius:50%;width:170px;height:170px;position:absolute}.story-section:before{top:-50px;right:-55px}.story-section:after{bottom:-70px;left:-60px}.ornament{color:var(--champagne);justify-content:center;align-items:center;gap:15px;margin-bottom:23px;display:flex}.ornament:before,.ornament:after{content:"";background:var(--line);width:72px;height:1px}.ornament span{font-size:1.5rem}.story-copy{max-width:610px;color:var(--muted);margin:24px auto 0;font-size:clamp(1rem,3.2vw,1.18rem);line-height:2.1}.date-section{background:linear-gradient(160deg,#f0dfd8 0%,#f9eee8 48%,#e7d1c9 100%)}.date-card{background:#fffcf799;border:1px solid #9c735a40;width:100%;max-width:470px;margin:auto;padding:clamp(38px,9vw,56px) clamp(14px,4vw,24px);position:relative;box-shadow:0 22px 70px #6f4b3d14}.date-card:before,.date-card:after{content:"";border-style:solid;border-color:var(--champagne);opacity:.6;width:42px;height:42px;position:absolute}.date-card:before{border-width:1px 1px 0 0;top:13px;right:13px}.date-card:after{border-width:0 0 1px 1px;bottom:13px;left:13px}.calendar-lockup{grid-template-columns:minmax(50px,1fr) auto minmax(50px,1fr);align-items:center;gap:clamp(10px,3vw,20px);max-width:420px;margin:18px auto 14px;display:grid}.day-word{justify-self:end;font-size:clamp(1.1rem,4vw,1.55rem)}.date-number{border-right:1px solid var(--line);border-left:1px solid var(--line);direction:ltr;padding:0 clamp(12px,3cqi,20px);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(4.2rem,20cqi,6.5rem);font-weight:500;line-height:.9}.date-meta{flex-direction:column;justify-self:start;align-items:flex-start;gap:4px;display:flex}.date-meta strong{font-size:clamp(1.12rem,4vw,1.55rem);font-weight:600}.date-meta span{color:var(--gold);letter-spacing:.1em;font-family:Cormorant Garamond,Georgia,serif;font-size:1.3rem}.time-rule{align-items:center;gap:13px;max-width:500px;margin:28px auto 0;display:flex}.time-rule span{background:var(--line);flex:1;height:1px}.time-rule p{white-space:nowrap;color:var(--muted);margin:0;font-size:.95rem}.calendar-button{min-width:190px;min-height:48px;color:var(--ink);cursor:pointer;background:#fffdf8b8;border:1px solid #aa875480;border-radius:100px;justify-content:center;align-items:center;gap:10px;margin-top:26px;padding:10px 22px;transition:transform .25s,border-color .25s,background .25s;display:inline-flex;box-shadow:0 8px 22px #6f4b3d14}.calendar-icon{color:var(--gold);font-size:1.05rem;line-height:1}.countdown-section{background:var(--paper);position:relative;overflow:hidden}.countdown-section:after{content:"";background:linear-gradient(90deg,#0000,#c5a46f66,#0000);height:8px;position:absolute;inset:auto 0 0}.countdown{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:460px;margin:34px auto 0;display:grid}.countdown-unit{flex-direction:column;align-items:center;padding:0 9px;display:flex;position:relative}.countdown-unit:not(:last-child):after{content:"";background:var(--line);width:1px;height:62%;position:absolute;top:15%;right:0}.countdown-unit strong{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.1rem,10.5cqi,3.4rem);font-weight:500;line-height:1}.countdown-unit span{color:var(--muted);margin-top:9px;font-size:.78rem}.location-section{color:#fffaf4;background:linear-gradient(#3e302bd1,#3e302be0),radial-gradient(circle at 50% 20%,#9d7c70,#4d3d39)}.location-section .section-kicker{color:#d8bc8e}.location-section h2{margin-bottom:10px}.location-section p:not(.section-kicker){color:#fffaf4bd;max-width:390px;margin:0 auto 30px;line-height:1.8}.location-icon{color:#dec396;border:1px solid #dec39680;border-radius:50%;place-items:center;width:60px;height:60px;margin:0 auto 22px;font-family:Georgia,serif;font-size:2rem;display:grid}.google-map-pin{background:#ea4335;border-radius:50% 50% 50% 0;width:23px;height:30px;display:block;position:relative;transform:rotate(-45deg);box-shadow:0 3px 9px #00000038}.google-map-pin:after{content:"";background:#fff;border-radius:50%;width:9px;height:9px;position:absolute;top:7px;left:7px}.rsvp-section{background:linear-gradient(160deg,#fffaf3,#f4e8e2)}.rsvp-card{border:1px solid var(--line);background:#ffffffa8;width:100%;max-width:470px;margin:auto;padding:clamp(38px,9vw,54px) clamp(18px,6vw,34px);box-shadow:0 22px 65px #704b3f12}.rsvp-intro{color:var(--muted);margin:9px 0 30px}.rsvp-card form{text-align:right;flex-direction:column;gap:15px;max-width:500px;margin:0 auto;display:flex}.field-label,.rsvp-card legend{color:var(--ink);font-size:.86rem;font-weight:600}.rsvp-card input,.rsvp-card select{width:100%;height:54px;color:var(--ink);background:#fffdf9e6;border:1px solid #9f756647;border-radius:8px;outline:none;padding:0 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}.rsvp-card input:focus,.rsvp-card select:focus{border-color:var(--champagne);box-shadow:0 0 0 3px #c5a46f21}.rsvp-card input::placeholder{color:#b19c95}.rsvp-card fieldset{border:0;margin:5px 0 0;padding:0}.rsvp-card legend{margin-bottom:9px}.attendance-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice-button{min-height:56px;color:var(--muted);cursor:pointer;background:#fffdf9c2;border:1px solid #9f756642;border-radius:8px;padding:10px 12px;transition:all .2s}.choice-button span{color:var(--rose-dark);margin-left:5px}.choice-button:hover{border-color:var(--champagne)}.choice-button.selected{border-color:var(--champagne);color:#fff;background:linear-gradient(135deg,#b89563,#977142);box-shadow:0 8px 20px #8c663824}.guest-count-row{grid-template-columns:1fr 92px;align-items:center;gap:14px;display:grid}.guest-count-row select{text-align:center}.submit-button{color:#fffdf8;cursor:pointer;background:linear-gradient(135deg,#b89563,#977142);border:0;border-radius:100px;min-height:54px;margin-top:7px;transition:all .2s;box-shadow:0 10px 24px #8c66382e}.submit-button:disabled{opacity:.46;cursor:not-allowed;box-shadow:none}.form-error{color:#a04747;text-align:center;margin:0;font-size:.82rem}.rsvp-success{padding:20px 0 8px}.rsvp-success>span{color:#fff;background:linear-gradient(135deg,#b89563,#977142);border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 19px;font-family:Arial,sans-serif;font-size:1.65rem;display:grid}.rsvp-success p{color:var(--muted);margin:10px 0 18px}.text-button{border:0;border-bottom:1px solid var(--champagne);color:var(--gold);cursor:pointer;background:0 0;padding:7px 14px}.guestbook-section{background:#fffdf9}.guestbook-shell{width:100%;max-width:470px;margin:auto}.guestbook-intro{max-width:400px;color:var(--muted);margin:9px auto 28px;line-height:1.8}.guestbook-form{border:1px solid var(--line);text-align:right;background:linear-gradient(150deg,#f9eee8bf,#fffdf9eb);flex-direction:column;gap:10px;padding:clamp(24px,6vw,32px);display:flex;box-shadow:0 18px 52px #704b3f0f}.guestbook-form label{color:var(--ink);font-size:.86rem;font-weight:600}.guestbook-form input,.guestbook-form textarea{width:100%;color:var(--ink);background:#fffdf9f0;border:1px solid #9f756647;border-radius:8px;outline:none;padding:13px 15px;font-size:16px;transition:border-color .2s,box-shadow .2s}.guestbook-form input{height:52px}.guestbook-form textarea{resize:vertical;min-height:112px;line-height:1.8}.guestbook-form input:focus,.guestbook-form textarea:focus{border-color:var(--champagne);box-shadow:0 0 0 3px #c5a46f21}.guestbook-form input::placeholder,.guestbook-form textarea::placeholder{color:#b19c95}.character-count{color:var(--muted);text-align:left;margin-top:-4px;font-family:Arial,sans-serif;font-size:.7rem}.comment-success{color:#7c6650;text-align:center;margin:1px 0 0;font-size:.84rem}.comments-list{text-align:right;gap:12px;margin-top:24px;display:grid}.comments-empty{color:var(--muted);text-align:center;background:#f9eee861;border:1px dashed #aa875461;margin:0;padding:23px 18px}.comment-card{background:#ffffffc7;border:1px solid #aa875440;border-radius:10px;padding:18px 20px;box-shadow:0 9px 25px #704b3f0b}.comment-card header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:7px;display:flex}.comment-card strong{min-width:0;color:var(--rose-dark);overflow-wrap:anywhere;font-size:1rem}.comment-card time{color:#a28c83;flex:none;font-size:.68rem}.comment-card p{color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;line-height:1.85}footer{padding:58px 20px max(72px, calc(env(safe-area-inset-bottom) + 58px));text-align:center;background:#fffdf9}.footer-inner{position:relative}.footer-monogram{letter-spacing:.08em;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:2.2rem;color:var(--ink)!important}.footer-monogram span{color:var(--champagne);font-style:italic}footer p{color:var(--muted);margin:7px 0}.footer-inner>span{color:var(--gold);letter-spacing:.24em;direction:ltr;font-family:Cormorant Garamond,Georgia,serif;font-size:.72rem;display:block}.music-credit{color:var(--muted);letter-spacing:.035em;opacity:.8;justify-content:center;align-items:center;margin-top:12px;font-family:Cormorant Garamond,Georgia,serif;font-size:.74rem;text-decoration:none;transition:color .2s,opacity .2s;display:inline-flex}.music-button{z-index:50;right:max(14px,50vw - 256px);bottom:max(14px, env(safe-area-inset-bottom));color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#503c36db;border:1px solid #ffffffb8;border-radius:50%;place-items:center;width:50px;height:50px;display:grid;position:fixed;box-shadow:0 8px 24px #37231d38}.music-button span{z-index:2;position:relative}.music-button i{opacity:0;border:1px solid #b28e5c73;border-radius:50%;position:absolute;inset:-5px}.music-button.is-playing i{animation:2s infinite musicPulse}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes musicPulse{0%{opacity:.8;transform:scale(.85)}75%,to{opacity:0;transform:scale(1.28)}}@keyframes heroReveal{0%{opacity:0;transform:translateY(18px)scale(.992)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes cueReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0)}}@media (hover:hover){.open-button:hover,.primary-link:hover{transform:translateY(-2px);box-shadow:0 13px 30px #8c66383d}.calendar-button:hover{border-color:var(--gold);background:#fffdf8f0;transform:translateY(-2px)}.submit-button:not(:disabled):hover{transform:translateY(-2px)}.music-credit:hover{color:var(--gold);opacity:1}}@container (width<=540px){.hero-intro{font-size:.93rem}.hero-line{font-size:.9rem}.section-pad{padding-left:20px;padding-right:20px}.attendance-options{grid-template-columns:1fr}.choice-button{width:100%}}@media (width<=540px){.invitation-content{box-shadow:none}.hero-copy{height:clamp(380px,54svh,440px);padding-top:max(34px, calc(env(safe-area-inset-top) + 24px))}.hero-intro{font-size:.93rem}.hero-line{font-size:.9rem}.section-pad{padding-left:20px;padding-right:20px}.date-card,.rsvp-card{border-left-color:#aa87542e;border-right-color:#aa87542e}.attendance-options{grid-template-columns:1fr}.choice-button{width:100%}}@media (width<=420px){.hero-copy{height:360px;padding-top:max(28px, calc(env(safe-area-inset-top) + 20px));gap:12px}.hero-invocation{gap:6px}.family-invitation{gap:2px;line-height:1.65}.family-invitation small{margin-top:1px}.arabic-names{font-size:clamp(2.55rem,11.5cqi,3.25rem)}}@media (width<=360px){.calendar-lockup{gap:6px}.date-number{padding-left:9px;padding-right:9px}.day-word,.date-meta strong{font-size:1rem}.countdown{grid-template-columns:repeat(2,1fr);gap:24px 0}.countdown-unit:nth-child(2):after{display:none}.countdown-unit strong{font-size:2.65rem}.time-rule{gap:7px}.time-rule p{font-size:.87rem}.comment-card header{flex-direction:column;gap:2px}}@media (height<=640px){.opening-content{padding-top:4px;padding-bottom:4px}.quran-intro{margin-bottom:8px}.opening-basmala{margin-bottom:4px;font-size:.94rem}.quran-intro blockquote{font-size:.72rem;line-height:1.7}.quran-intro>span{margin-top:2px;font-size:.62rem}.opening-content .eyebrow{margin-bottom:6px}.guest-greeting{margin-bottom:7px;font-size:.88rem}.envelope{width:min(57vw,215px);margin-top:7px;margin-bottom:10px}.seal{width:44px;height:44px;font-size:.95rem}.opening-names{font-size:clamp(2.1rem,9.5vw,2.7rem)}.opening-date{margin-top:5px;margin-bottom:10px}.open-button{min-height:46px}.sound-note{margin-top:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.is-open .scroll-reveal,.is-open .scroll-reveal .ornament,.is-open .scroll-reveal .location-icon,.is-open .scroll-reveal .date-number,.is-open .scroll-reveal .countdown-unit{opacity:1!important;transform:none!important}}.admin-root{color:#493b37;background:radial-gradient(circle at 100% 0,#caa89e42,#0000 32rem),linear-gradient(145deg,#f5ebe5,#fffaf3 55%,#eee0d8);min-height:100svh}.admin-root *,.admin-root :before,.admin-root :after{box-sizing:border-box}.admin-root button,.admin-root input,.admin-root textarea{font:inherit}.admin-root button,.admin-root a{touch-action:manipulation;min-height:44px}.admin-login-page{min-height:100svh;padding:max(22px, env(safe-area-inset-top)) 18px max(22px, env(safe-area-inset-bottom));place-items:center;display:grid}.admin-login-card{text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8eb;border:1px solid #aa87544d;border-radius:22px;width:min(100%,430px);padding:clamp(32px,8vw,52px) clamp(24px,7vw,42px);box-shadow:0 28px 80px #543a3124}.admin-monogram,.admin-header-mark{color:#4b3c38;letter-spacing:.08em;font-family:Cormorant Garamond,Georgia,serif}.admin-monogram{margin-bottom:18px;font-size:2.6rem}.admin-monogram span,.admin-header-mark i{color:#b6915c;font-style:italic}.admin-eyebrow{color:#a88450;letter-spacing:.08em;margin:0 0 8px;font-size:.76rem;font-weight:700}.admin-login-card h1{margin:0;font-size:clamp(1.8rem,6vw,2.35rem);font-weight:600}.admin-login-copy{color:#806b64;margin:14px auto 25px;font-size:.9rem;line-height:1.9}.admin-login-form{text-align:right;gap:11px;display:grid}.admin-login-form label,.admin-edit-form label{font-size:.79rem;font-weight:600}.admin-login-form input,.admin-edit-form input,.admin-edit-form textarea{color:#493b37;background:#fffdf9;border:1px solid #916c5e47;border-radius:11px;outline:none;width:100%;font-size:16px;transition:border-color .2s,box-shadow .2s}.admin-login-form input,.admin-edit-form input{height:54px;padding:0 15px}.admin-edit-form textarea{resize:vertical;min-height:125px;padding:13px 15px;line-height:1.8}.admin-login-form input:focus,.admin-edit-form input:focus,.admin-edit-form textarea:focus{border-color:#b6915c;box-shadow:0 0 0 3px #b6915c24}.admin-login-form>button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#b89563,#8f693d);border:0;border-radius:999px;margin-top:7px;box-shadow:0 12px 28px #754e2a33}.admin-login-form>button:disabled,.admin-root button:disabled{opacity:.55;cursor:wait}.admin-form-error{color:#9e4141;text-align:center;margin:0;font-size:.78rem}.admin-back-link{color:#806b64;align-items:center;margin-top:20px;font-size:.75rem;text-decoration:none;display:inline-flex}.admin-app{width:min(100%,1160px);min-height:100svh;margin:0 auto;padding:18px clamp(15px,3vw,30px) 60px}.admin-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9db;border:1px solid #aa875442;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;min-height:78px;padding:13px 18px;display:flex;box-shadow:0 15px 45px #50342b12}.admin-header>div{align-items:center;gap:13px;min-width:0;display:flex}.admin-header-mark{border:1px solid #aa875454;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-size:1.05rem;display:grid}.admin-header p{color:#9c7e75;margin:0 0 2px;font-size:.69rem}.admin-header strong{font-size:.95rem;display:block}.admin-logout,.admin-refresh{color:#6e5851;cursor:pointer;background:#ffffffb8;border:1px solid #916c5e40;border-radius:999px}.admin-logout{padding:8px 16px;font-size:.73rem}.admin-refresh{padding:8px 17px;font-size:.76rem}.admin-nav{background:#ffffff80;border-radius:14px;align-items:center;gap:7px;margin:16px 0 28px;padding:7px;display:flex}.admin-nav a{color:#7b655e;border-radius:10px;justify-content:center;align-items:center;padding:8px 18px;font-size:.78rem;text-decoration:none;display:inline-flex}.admin-nav a[aria-current=page]{color:#fff;background:linear-gradient(135deg,#b89563,#987346);box-shadow:0 6px 17px #724d2c2b}.admin-nav a:last-child{margin-right:auto}.admin-content{min-width:0}.admin-section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.admin-section-heading p{color:#a88450;margin:0 0 5px;font-size:.72rem;font-weight:700}.admin-section-heading h1{margin:0;font-size:clamp(1.65rem,4vw,2.3rem);font-weight:600}.admin-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:20px;display:grid}.admin-summary-grid article{background:#fffdf9d1;border:1px solid #aa875438;border-radius:16px;min-width:0;padding:21px 20px;box-shadow:0 14px 36px #543a310e}.admin-summary-grid span{color:#8a746d;font-size:.72rem;display:block}.admin-summary-grid strong{color:#4b3c38;margin-top:8px;font-family:Cormorant Garamond,Georgia,serif;font-size:2.6rem;font-weight:600;line-height:1;display:block}.admin-table-card,.admin-empty-card{background:#fffdf9e0;border:1px solid #aa87543d;border-radius:17px;overflow:hidden;box-shadow:0 17px 45px #543a3111}.admin-table-title{border-bottom:1px solid #aa87542e;justify-content:space-between;align-items:center;gap:15px;padding:19px 22px;display:flex}.admin-table-title h2{margin:0;font-size:1rem;font-weight:600}.admin-table-title span,.admin-comments-count{color:#9a8178;font-size:.7rem}.admin-table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:right;width:100%}.admin-table th{color:#9a8178;white-space:nowrap;background:#f4e9e373;padding:13px 20px;font-size:.67rem;font-weight:600}.admin-table td{border-top:1px solid #aa875421;padding:16px 20px;font-size:.78rem}.admin-table tbody tr:first-child td{border-top:0}.admin-table td strong{font-weight:600}.admin-table time{color:#8a746d;white-space:nowrap;font-size:.7rem}.admin-status{border-radius:999px;justify-content:center;align-items:center;min-width:73px;min-height:29px;padding:4px 9px;font-size:.66rem;display:inline-flex}.admin-status.attending{color:#52715d;background:#edf5ef}.admin-status.declined{color:#90625b;background:#f8ece9}.admin-error-panel,.admin-loading,.admin-empty{color:#806b64;text-align:center;padding:25px 20px}.admin-error-panel{color:#954a4a;background:#fff2efd1;border:1px solid #a745453d;border-radius:12px;margin-bottom:16px}.admin-empty-card{padding:48px 20px}.admin-comments-list{gap:13px;display:grid}.admin-comments-count{margin-bottom:2px}.admin-comment-card{background:#fffdf9e0;border:1px solid #aa87543d;border-radius:16px;padding:20px 22px;box-shadow:0 13px 35px #543a310e}.admin-comment-card>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.admin-comment-card header>div:first-child{min-width:0}.admin-comment-card strong{overflow-wrap:anywhere;font-size:.88rem;display:block}.admin-comment-card time{color:#9a8178;margin-top:4px;font-size:.65rem;display:block}.admin-comment-card>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:15px 0 0;line-height:1.95}.admin-comment-actions{flex:none;gap:6px;display:flex}.admin-comment-actions button,.admin-edit-actions button,.admin-modal button{color:#6e5851;cursor:pointer;background:#fff;border:1px solid #916c5e3d;border-radius:9px;padding:7px 13px;font-size:.7rem}.admin-comment-actions .danger{color:#a34d4d;background:#fff8f7;border-color:#a34d4d40}.admin-edit-form{gap:8px;display:grid}.admin-edit-form label:not(:first-child){margin-top:5px}.admin-edit-actions{gap:8px;margin-top:5px;display:flex}.admin-edit-actions .admin-save{color:#fff;background:linear-gradient(135deg,#b89563,#987346);border-color:#0000}.admin-cancel{background:0 0!important}.admin-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#31231f7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-modal{text-align:center;background:#fffdf9;border-radius:18px;width:min(100%,420px);padding:31px 27px;box-shadow:0 28px 90px #2819144d}.admin-modal-icon{color:#a34d4d;background:#faece9;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 15px;font-family:Arial,sans-serif;font-size:1.35rem;font-weight:700;display:grid}.admin-modal h2{margin:0;font-size:1.35rem}.admin-modal p{color:#806b64;margin:11px 0 23px;font-size:.8rem;line-height:1.8}.admin-modal>div{justify-content:center;gap:9px;display:flex}.admin-modal .admin-delete-confirm{color:#fff;background:#a34d4d;border-color:#a34d4d}@media (hover:hover){.admin-logout:hover,.admin-refresh:hover,.admin-comment-actions button:hover,.admin-edit-actions button:hover{border-color:#b6915c}.admin-nav a:not([aria-current=page]):hover{color:#493b37;background:#ffffffc2}}@media (width<=760px){.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{width:100%;display:block}.admin-table tr{border-top:1px solid #aa87542b;padding:13px 17px}.admin-table tbody tr:first-child{border-top:0}.admin-table td{text-align:left;border:0;justify-content:space-between;align-items:center;gap:18px;padding:7px 0;display:flex}.admin-table td:before{content:attr(data-label);color:#9a8178;text-align:right;font-size:.67rem}.admin-table td strong{text-align:left}}@media (width<=520px){.admin-app{padding:10px 11px 44px}.admin-header{border-radius:14px;min-height:70px;padding:10px 12px}.admin-header-mark{width:43px;height:43px}.admin-header p{display:none}.admin-logout{padding-left:11px;padding-right:11px}.admin-nav{margin-top:10px;margin-bottom:23px;overflow-x:auto}.admin-nav a{flex:1;min-width:max-content;padding-left:12px;padding-right:12px}.admin-nav a:last-child{margin-right:0}.admin-section-heading{align-items:center}.admin-section-heading h1{font-size:1.55rem}.admin-refresh{padding-left:12px;padding-right:12px}.admin-summary-grid{gap:9px}.admin-summary-grid article{padding:17px 14px}.admin-summary-grid strong{font-size:2.2rem}.admin-table-title,.admin-comment-card{padding-left:17px;padding-right:17px}.admin-comment-card>header{flex-direction:column}.admin-comment-actions{width:100%}.admin-comment-actions button{flex:1}}@media (prefers-reduced-motion:reduce){.admin-root *,.admin-root :before,.admin-root :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
