:root{--paper:#f7f3eb;--paper-2:#eee8dc;--ink:#49453f;--muted:#8b857b;--accent:#c89275;--gold:#d8ad83;--sage:#aab39d;--line:rgba(83,75,65,.16);--serif:"Cormorant Garamond",Georgia,serif;--script:"Great Vibes",cursive;--sans:"Montserrat",Arial,sans-serif;--arabic:"Aref Ruqaa","Amiri",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;overflow-x:hidden}.locked{overflow:hidden}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:1000;background:#fff;color:#111;padding:.7rem 1rem}.skip-link:focus{top:1rem}.invitation-gate{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:#b6afa5;transition:opacity 1s ease,visibility 1s}.invitation-gate.opening{opacity:0;visibility:hidden;pointer-events:none}.gate-video,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gate-video{inset:0 auto 0 50%;width:min(100%,470px);max-width:none;transform:translateX(-50%);object-position:center center}.gate-shade{position:absolute;inset:0;background:rgba(80,70,59,.08)}.open-button{position:absolute;left:50%;bottom:10%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 2rem);text-align:center;white-space:nowrap;border:1px solid rgba(80,70,59,.14);background:rgba(255,252,245,.86);box-shadow:0 8px 28px rgba(63,52,41,.12);padding:1.1rem 2rem;color:#403a33;font:400 .68rem var(--sans);letter-spacing:.34em;text-transform:uppercase;cursor:pointer}.open-button span:first-child{margin-right:.55rem;color:#1b1916}.site-header{position:fixed;z-index:80;top:0;left:0;width:100%;padding:1.1rem 2.2rem;color:white;transition:.45s}.site-header.scrolled{background:rgba(247,243,235,.92);backdrop-filter:blur(15px);color:var(--ink);box-shadow:0 1px 0 var(--line)}.nav{height:34px;display:flex;align-items:center;justify-content:space-between}.monogram{display:flex;align-items:center;color:inherit;text-decoration:none;font:500 1.2rem var(--serif)}.monogram i{color:var(--accent);font-family:var(--script);font-size:1.1rem;margin:0 .06rem}.nav-links{display:flex;gap:2.8rem}.nav-links a{color:inherit;text-decoration:none;text-transform:uppercase;font-size:.64rem;letter-spacing:.34em}.nav-links a:hover{color:var(--accent)}.language-button{min-width:56px;height:34px;border:1px solid currentColor;border-radius:999px;background:rgba(255,255,255,.1);color:inherit;font:400 .78rem var(--sans);cursor:pointer}.globe{margin-right:.35rem}.hero{position:relative;min-height:100svh;color:#fff;display:grid;place-items:center;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,28,26,.45),rgba(55,42,35,.34))}.frame{position:absolute;inset:4.8rem 2.5rem 2.4rem;border:1px solid rgba(255,255,255,.28);pointer-events:none}.hero-copy{position:relative;z-index:2;text-align:center;padding:5rem 1rem 2rem}.eyebrow{text-transform:uppercase;color:var(--accent);letter-spacing:.38em;font-size:.68rem;font-weight:400}.eyebrow.light{color:#f3cfad}.hero h1{font:400 clamp(4.5rem,10vw,8.5rem)/.95 var(--script);margin:1.9rem 0;color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.18)}.hero h1 em{font-style:normal;color:#ecc09d}.ornament{display:flex;justify-content:center;align-items:center;gap:1rem;color:var(--accent);margin:1.6rem auto}.ornament span{width:70px;height:1px;background:currentColor;opacity:.4}.ornament b{font-size:.5rem}.ornament.light{color:#f1d1b7}.date{text-transform:uppercase;letter-spacing:.42em;font-size:.72rem}.scroll-cue{position:absolute;z-index:3;bottom:2.3rem;color:#fff;text-decoration:none;text-transform:uppercase;font-size:.55rem;letter-spacing:.42em;display:flex;flex-direction:column;align-items:center;gap:.55rem}.scroll-cue i{display:block;width:1px;height:28px;background:rgba(255,255,255,.55)}.section{padding:9rem max(1.5rem,6vw);position:relative}.section-heading{text-align:center;max-width:760px;margin:0 auto 5.5rem}.section-heading h2{font:400 clamp(3.2rem,6vw,5.2rem)/1 var(--serif);margin:1.2rem 0}.section-heading .intro{line-height:2;max-width:670px;margin:2.2rem auto;color:var(--muted)}.countdown-section{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#faf8f3}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);width:min(850px,100%);border-block:1px solid var(--line)}.countdown-grid>div{padding:2.6rem 1rem;text-align:center;border-right:1px solid var(--line)}.countdown-grid>div:last-child{border-right:0}.countdown-grid strong{display:block;font:300 clamp(3rem,6vw,5rem) var(--serif);font-variant-numeric:tabular-nums}.countdown-grid small{text-transform:uppercase;letter-spacing:.35em;color:var(--accent);font-size:.62rem}.countdown-note{font:italic 1.1rem var(--serif);color:var(--muted);margin-top:2.4rem}.birds{width:min(300px,70vw);color:var(--accent);opacity:.42;margin-top:2rem}.program-section{background:radial-gradient(circle at 50% 30%,#fffdf7 0,#f3ede1 70%);overflow:hidden}.script-subtitle{font:italic 1.5rem var(--serif);color:var(--accent);margin:.7rem}.timeline{list-style:none;padding:0;margin:0 auto;width:min(760px,100%);position:relative}.timeline:before{content:"";position:absolute;left:36%;top:1rem;bottom:1rem;width:1px;background:var(--line)}.timeline li{display:grid;grid-template-columns:36% 64%;min-height:150px}.timeline time{direction:ltr;unicode-bidi:isolate;padding:1rem 3rem 0 0;text-align:right;color:var(--accent);font-size:.68rem;letter-spacing:.3em}.timeline li>div{padding:0 0 2.3rem 3rem;position:relative}.timeline li>div:before{content:"◆";position:absolute;left:-.26rem;top:.8rem;font-size:.5rem;color:var(--accent);background:var(--paper);padding:.1rem}.timeline h3,.venue-card h3{font:400 2.4rem var(--script);margin:.3rem 0}.timeline p{color:var(--muted);font:italic 1.2rem var(--serif);margin:0}.details-section{background:#fbfaf6}.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:stretch;max-width:1150px;margin:auto}.venue-card{padding:3rem 1rem 3rem 0}.venue-card h3{font-size:3rem}.venue-card>p{line-height:1.9;color:var(--muted)}.venue-time{letter-spacing:.3em;font-size:.72rem;text-transform:uppercase}.address{display:flex;gap:.8rem}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;border:1px solid var(--ink);padding:1rem 1.25rem;text-decoration:none;text-transform:uppercase;font:400 .62rem var(--sans);letter-spacing:.2em;cursor:pointer}.button.primary{background:var(--ink);color:#fff}.button.secondary{background:transparent;color:var(--ink)}.map-card{min-height:430px;position:relative;overflow:hidden}.map-card svg{width:100%;height:100%}.pin{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.5rem;color:var(--accent)}.pin span{font-size:2.3rem}.pin b{background:#fff;padding:.55rem .7rem;white-space:nowrap;font:500 .68rem var(--sans);color:var(--ink);box-shadow:0 4px 20px rgba(0,0,0,.08)}.dress-card{max-width:1150px;margin:5rem auto 0;border-block:1px solid var(--line);padding:3rem 0;display:grid;grid-template-columns:1fr 1fr;gap:4rem}.dress-card h3{font:400 2rem var(--serif);margin:.5rem 0}.dress-card p:not(.eyebrow){color:var(--muted);line-height:1.8}.swatches{display:flex;gap:.8rem;margin:1rem 0}.swatches span{width:34px;height:34px;border-radius:50%;background:var(--c);border:4px solid #fff;box-shadow:0 0 0 1px var(--line)}footer{text-align:center;background:#393834;color:#eae4da;padding:6rem 1rem;font-size:.7rem;letter-spacing:.16em;line-height:2.2}.footer-names{font:400 3.2rem var(--script);letter-spacing:0;margin:0}.footer-names em,.heart{color:var(--accent);font-style:normal}.sound-button{position:fixed;right:1.8rem;bottom:1.8rem;z-index:90;width:50px;height:50px;border-radius:50%;border:1px solid rgba(80,70,60,.18);background:rgba(249,246,239,.9);color:var(--ink);box-shadow:0 4px 20px rgba(0,0,0,.08);cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}[dir="rtl"] body{font-family:var(--arabic)}[dir="rtl"] .hero h1,[dir="rtl"] .footer-names{font-family:var(--script)}[dir="rtl"] .nav-links a,[dir="rtl"] .eyebrow,[dir="rtl"] .date,[dir="rtl"] .countdown-grid small,[dir="rtl"] .button{letter-spacing:.04em}[dir="rtl"] .timeline:before{left:auto;right:36%}[dir="rtl"] .timeline li{grid-template-columns:64% 36%}[dir="rtl"] .timeline time{grid-column:2;text-align:left;padding:1rem 0 0 3rem}[dir="rtl"] .timeline li>div{grid-column:1;grid-row:1;padding:0 3rem 2.3rem 0;text-align:left}[dir="rtl"] .timeline li>div:before{left:auto;right:-.26rem}
@media(max-width:720px){.gate-video{width:100%;height:100%;inset:0;transform:none}.open-button{bottom:max(8%,2rem);padding:1rem 1.35rem;letter-spacing:.12em}.site-header{padding:1rem 1.1rem}.nav-links{display:none}.frame{inset:4.4rem 1rem 1rem}.hero h1{font-size:4.4rem}.section{padding:7rem 1.2rem}.section-heading{margin-bottom:3.5rem}.countdown-grid>div{padding:2rem .25rem}.countdown-grid strong{font-size:2.7rem}.countdown-grid small{font-size:.5rem;letter-spacing:.15em}.timeline:before{display:none}.timeline li,[dir="rtl"] .timeline li{display:block;min-height:0;padding:0 0 3.25rem;text-align:center}.timeline time,[dir="rtl"] .timeline time{display:block;padding:0;text-align:center;font-size:.68rem;letter-spacing:.12em}.timeline li>div,[dir="rtl"] .timeline li>div{padding:.65rem 0 0;text-align:center}.timeline li>div:before,[dir="rtl"] .timeline li>div:before{position:static;display:block;width:max-content;margin:0 auto .65rem;padding:0;background:transparent}.timeline h3{font-size:2rem}.venue-grid,.dress-card{grid-template-columns:1fr}.map-card{min-height:320px}.dress-card{gap:1.5rem}.sound-button{right:1rem;bottom:1rem}}
.open-button{transition:opacity .35s ease,transform .35s ease}.invitation-gate.playing .open-button{opacity:0;transform:translate(-50%,12px);pointer-events:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.dress-card.palette-only{grid-template-columns:1fr;text-align:center}.palette-only .swatches{justify-content:center}
