:root{--ivory:#f8f3ed;--paper:#fdfbf7;--ink:#4a3730;--gold:#a8833f;--line:#e6d9c3;--font-serif:"Cormorant Garamond", Georgia, serif;--font-body:"Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--border-thin:1px solid var(--line);--border-gold:1px solid var(--gold);--border-ink:1px solid var(--ink);--transition-fast:all .25s ease;--transition-door:transform 1.9s cubic-bezier(.77, 0, .175, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--ivory);color:var(--ink);font-size:16px}body{font-family:var(--font-body);background-color:var(--ivory);color:var(--ink);min-height:100vh;line-height:1.6;position:relative;overflow-x:hidden}body.locked{height:100vh;overflow:hidden!important}body.opened{height:auto;overflow-x:hidden;overflow-y:auto!important}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--ink);letter-spacing:.02em;font-weight:400;line-height:1.25}.invitation-app{background-color:var(--ivory);width:100%;max-width:100%;margin:0 auto;position:relative;overflow-x:hidden}@media (min-width:768px){.invitation-app{border-left:1px solid var(--line);border-right:1px solid var(--line);max-width:680px}}.section-container{width:100%;padding:4.5rem 1.5rem;position:relative}@media (min-width:480px){.section-container{padding:5.5rem 2.2rem}}.paper-panel{background-color:var(--paper);border:1px solid var(--line);border-radius:0;padding:2.5rem 1.8rem;position:relative}@media (min-width:480px){.paper-panel{padding:3.2rem 2.4rem}}.hairline{background-color:var(--line);border:none;width:100%;max-width:160px;height:1px;margin:1.5rem auto}.hairline-wide{background-color:var(--line);border:none;width:100%;max-width:280px;height:1px;margin:2rem auto}.hairline-full{background-color:var(--line);border:none;width:100%;height:1px;margin:1.5rem 0}.btn-outlined{color:var(--ink);font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ink);cursor:pointer;transition:var(--transition-fast);touch-action:manipulation;background-color:#0000;border-radius:0;justify-content:center;align-items:center;gap:.6rem;min-height:44px;padding:.85rem 1.8rem;font-size:.78rem;font-weight:400;text-decoration:none;display:inline-flex}.btn-outlined:hover{background-color:var(--ink);color:var(--paper)}.btn-outlined:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.btn-gold-outlined{color:var(--gold);font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--gold);cursor:pointer;transition:var(--transition-fast);touch-action:manipulation;background-color:#0000;border-radius:0;justify-content:center;align-items:center;gap:.6rem;min-height:44px;padding:.85rem 1.8rem;font-size:.78rem;font-weight:400;text-decoration:none;display:inline-flex}.btn-gold-outlined:hover{background-color:var(--gold);color:var(--paper)}.btn-gold-outlined:focus-visible{outline:2px solid var(--gold);outline-offset:3px}input,textarea{font-family:var(--font-body);color:var(--ink);background-color:var(--paper);border:1px solid var(--line);transition:var(--transition-fast);border-radius:0}input:focus,textarea:focus{border-color:var(--gold);outline:none}.doors{z-index:1000;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.doors.active{pointer-events:auto}.door{background:var(--paper);will-change:transform;width:50.2%;transition:transform 1.9s cubic-bezier(.77,0,.18,1);position:absolute;top:0;bottom:0}.door.l{border-right:1px solid var(--line);left:0}.door.r{border-left:1px solid var(--line);right:0}.doors.open .l{transform:translate(-101%)}.doors.open .r{transform:translate(101%)}.seal{z-index:1001;background:var(--paper);place-items:center;transition:opacity .7s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.seal.gone{opacity:0;pointer-events:none}.seal button{all:unset;cursor:pointer;justify-items:center;gap:28px;display:grid}.seal button:focus-visible{outline:1px solid var(--gold);outline-offset:6px;border-radius:4px}.seal button:focus-visible .ring{outline:1px solid var(--gold);outline-offset:6px}.ring{border:1px solid var(--gold);background:var(--paper);border-radius:50%;place-items:center;width:132px;height:132px;animation:4.5s ease-in-out infinite breathe;display:grid}.ring span{font-family:var(--serif);letter-spacing:.06em;color:var(--ink);font-size:44px;font-weight:300;line-height:1}.ring i{color:var(--gold);padding:0 .08em;font-style:italic}.seal .bis{color:var(--gold);font-size:clamp(28px,7.5vw,34px);line-height:1.5}.tap{font-family:var(--sans);letter-spacing:.38em;text-transform:uppercase;color:var(--gold);text-align:center;padding-left:.38em;font-size:11px}@keyframes breathe{0%,to{box-shadow:0 0 #a8833f00}50%{box-shadow:0 0 0 14px #a8833f14}}.hero{text-align:center;min-height:100svh;padding:max(48px, env(safe-area-inset-top)) 24px max(48px, env(safe-area-inset-bottom));background-color:var(--ivory);place-items:center;display:grid}.stack{justify-items:center;width:100%;max-width:560px;margin:0 auto;display:grid}.blessing{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);text-wrap:balance;text-align:center;padding-left:.3em;font-size:11px}.blessing-spacer{height:36px}.name{font-family:var(--serif);letter-spacing:.02em;color:var(--ink);text-align:center;white-space:nowrap;font-size:clamp(64px,19vw,128px);font-weight:300;line-height:.98}.name .ch{opacity:0;filter:blur(10px);will-change:opacity, filter, transform;transition:opacity 1.2s,filter 1.2s,transform 1.2s cubic-bezier(.2,.7,.2,1);display:inline-block;transform:translateY(.18em)}.and{font-family:var(--serif);color:var(--gold);margin:10px 0;font-size:clamp(26px,6vw,36px);font-style:italic;font-weight:300;line-height:1.2}.rule{background:var(--gold);width:1px;height:0;margin:44px auto;transition:height 1.6s}.invite{font-family:var(--serif);color:var(--ink);font-size:clamp(20px,4.6vw,26px);font-style:italic;font-weight:300;line-height:1.55}.date{font-family:var(--serif);letter-spacing:.14em;color:var(--ink);margin-top:36px;font-size:clamp(22px,5vw,28px);font-weight:400}.time{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink);opacity:.75;margin-top:6px;font-size:12px}.count-fade{width:100%;margin-top:48px}.time-venue{margin-top:4px}.fade{opacity:0;transition:opacity 1.4s}body.go .fade{opacity:1}body.go .bis-hero{transition-delay:.9s}body.go .bis-en{transition-delay:1.1s}body.go .blessing{transition-delay:1.3s}body.go .and{transition-delay:2.6s}body.go .rule{height:56px;transition:height 1.6s 3.6s}body.go .invite{transition-delay:4.1s}body.go .date{transition-delay:4.5s}body.go .time{transition-delay:4.8s}body.go .time-venue{transition-delay:4.9s}body.go .count-fade{transition-delay:5.2s}body.go .name .ch{opacity:1;filter:blur();transform:translateY(0)}@media (prefers-reduced-motion:reduce){.door,.fade,.rule,.seal,.name .ch{transition-duration:10ms!important;transition-delay:0s!important}.ring{animation:none!important}.rule{height:56px!important}.name .ch{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}.fade{opacity:1!important}}.ar{color:var(--ink);text-align:center;direction:rtl;font-family:Amiri,Scheherazade New,Noto Naskh Arabic,serif;font-weight:400;letter-spacing:0!important;text-transform:none!important}.bis{font-size:clamp(30px,8vw,44px);line-height:1.6}.ref{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);text-align:center;padding-left:.3em;font-size:10px;line-height:1.9}.bis-en{text-wrap:balance;max-width:320px;margin-top:4px}.label-caps{font-family:var(--sans);letter-spacing:.36em;text-transform:uppercase;color:var(--gold);text-align:center;padding-left:.36em;font-size:11px}.gold-rule{background:var(--gold);width:56px;height:1px;margin:28px auto}.gold-dot{background:var(--gold);width:6px;height:6px;margin:26px auto;transform:rotate(45deg)}.verse-section,.families-section,.closing-section{text-align:center;background-color:var(--ivory)}.verse-section{padding-top:7.5rem;padding-bottom:7.5rem}.verse-wrap,.families-wrap{justify-items:center;max-width:540px;margin:0 auto;display:grid}.verse-ar{font-size:clamp(26px,6.6vw,36px);line-height:2.15}.verse-ar-sm{font-size:clamp(24px,6vw,32px)}.verse-en{font-family:var(--serif);letter-spacing:.02em;color:var(--ink);max-width:460px;margin-bottom:22px;font-size:clamp(19px,4.4vw,23px);font-style:italic;font-weight:300;line-height:1.7}.families-section{padding-top:5rem;padding-bottom:7rem}.families-wrap .gold-rule{margin-bottom:52px}.fam{justify-items:center;width:100%;display:grid}.fam-name{font-family:var(--serif);letter-spacing:.06em;color:var(--ink);margin-bottom:20px;font-size:clamp(32px,8vw,44px);font-weight:400;line-height:1.15}.fam-rel{font-family:var(--serif);letter-spacing:.08em;color:var(--gold);margin-bottom:14px;font-size:20px;font-style:italic;font-weight:300;line-height:1.2}.fam-people{justify-items:center;gap:6px;display:grid}.fam-person{font-family:var(--serif);letter-spacing:.07em;color:var(--ink);text-align:center;white-space:nowrap;font-size:clamp(21px,5.4vw,25px);font-weight:400;line-height:1.35}.fam-amp{font-family:var(--serif);color:var(--gold);font-size:20px;font-style:italic;font-weight:300;line-height:1}.families-wrap .gold-dot{margin:34px auto 30px}.fam-between{font-family:var(--serif);color:var(--gold);margin:56px 0;font-size:38px;font-style:italic;font-weight:300;line-height:1}.dua-ar{color:var(--gold);margin:0 auto 4px;font-size:26px;line-height:2}.dua-en{margin:0 auto 2rem;font-size:18px}.closing-section{border-top:1px solid var(--line);padding-top:6rem;padding-bottom:7rem}.closing-divider{background:var(--gold);width:1px;height:56px;margin:36px auto 40px}.closing-names{font-family:var(--serif);letter-spacing:.06em;text-align:center;margin:22px 0 14px;font-size:clamp(2.6rem,8vw,3.6rem);font-weight:300;line-height:1.15}.closing-amp{color:var(--gold);margin:0 .35em;font-size:.9em;font-style:italic}.closing-date{font-family:var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:26px;padding-left:.26em;font-size:12px}.closing-farewell{font-family:var(--serif);letter-spacing:.02em;max-width:400px;font-size:20px;font-style:italic;font-weight:300;line-height:1.7}@media (prefers-reduced-motion:reduce){.ref.fade,.bis-hero{opacity:1!important}}
