:root{--cream:#f5eddb;--ink:#473521;--gold:#aa8142;--green:#193b30}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans Arabic',sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,p{margin:0}h1,h2,.fullnames,.intro,.invitation-copy,.family-names{font-family:Amiri,serif}h2{font-size:48px;font-weight:400;line-height:1.5}.eyebrow{font-size:12px;letter-spacing:2px}.date{font-family:Georgia,serif;letter-spacing:6px}.ornament{display:flex;align-items:center;justify-content:center;gap:20px;color:var(--gold);margin:26px auto}.ornament:before,.ornament:after{content:'';width:80px;height:1px;background:var(--gold)}#envelope{position:fixed;inset:0;z-index:10;background:radial-gradient(ellipse at 50% 10%,#355344,#132f25);color:var(--cream);display:flex;align-items:center;flex-direction:column;overflow:hidden;transition:opacity .8s,transform 1s}#envelope:before,#envelope:after{content:'';position:absolute;inset:20px;border:1px solid #b3985a66;pointer-events:none}#envelope:after{inset:27px;border-color:#b3985a33}.fold{position:absolute;inset:0;background:linear-gradient(41deg,transparent 49.8%,#bca36b55 50%,transparent 50.2%),linear-gradient(-41deg,transparent 49.8%,#bca36b55 50%,transparent 50.2%);opacity:.6}.envelope-top{position:absolute;top:13%;text-align:center}.envelope-top h1{font-size:clamp(65px,9vw,100px);font-weight:400;line-height:1.5}.envelope-top h1 span{font-size:.55em;color:#d5bc82}.envelope-top .date{font-size:13px}#seal{position:absolute;top:53%;transform:translateY(-50%) rotate(-7deg);width:132px;height:132px;border-radius:47% 53% 45% 55% / 54% 42% 58% 46%;border:5px double #a78a52;background:radial-gradient(circle at 35% 30%,#f4e5bb,#c3a46c);box-shadow:0 10px 24px #0006,inset 0 0 0 8px #e5d0a1;color:#6a522e;transition:scale .25s}#seal:hover{scale:1.06}#seal span{font:38px Amiri,serif;display:block}#seal small{font:14px Amiri,serif}.open-hint{position:absolute;bottom:11%;font-size:14px;text-align:center;letter-spacing:1px}.open-hint span{display:block;font:20px Amiri,serif;margin-top:12px;color:#d5bc82}#envelope.opened{opacity:0;transform:translateY(-30px);pointer-events:none}body:has(#envelope:not(.opened)){overflow:hidden}nav{height:76px;display:flex;align-items:center;justify-content:center;gap:45px;border-bottom:1px solid #a7824533;font-size:12px}nav a:first-child{font:28px Amiri,serif;color:var(--gold)}section{text-align:center;padding:95px 24px}.hero{position:relative;min-height:800px;overflow:hidden;padding-top:60px;background:radial-gradient(ellipse at center,#fffaf0,transparent 65%)}.halo{position:absolute;width:580px;height:740px;border:1px solid #b5995c40;border-radius:50% 50% 0 0;left:50%;top:25px;transform:translateX(-50%);pointer-events:none}.rings{height:60px;display:flex;justify-content:center;direction:ltr;margin:38px 0 22px}.rings i{width:49px;height:49px;border:2px solid var(--gold);border-radius:50%;box-shadow:inset 0 0 0 2px #cbb98d40}.rings i+i{margin-left:-15px;margin-top:8px}.intro{font-size:23px}.hero h1{font-size:100px;font-weight:400;line-height:1.45;color:#735022}.hero h1 span{font-size:45px;color:var(--gold)}.fullnames{font-size:27px;line-height:1.3}.fullnames span{font-size:18px;color:var(--gold)}.hero .date{margin-top:30px;font-size:18px}.scroll{display:block;font-size:12px;margin-top:40px}.scroll span{display:block;font-size:26px;margin-top:8px}.families{background:#eae0c9}.families h2{margin:15px}.family-names{display:flex;align-items:center;justify-content:center;gap:45px;font-size:26px;line-height:1.5}.family-names strong{font-weight:400}.family-names>span{color:var(--gold);font-size:18px}.invitation-copy{font-size:31px;margin:35px 0 20px}.invitation-copy em{font-style:normal;font-size:48px}.details h2{margin:14px 0 24px}.date-display{display:flex;align-items:center;justify-content:center;gap:32px;margin-bottom:20px}.date-display strong{font:100px Georgia,serif;color:var(--gold);border-left:1px solid #aa814244;border-right:1px solid #aa814244;padding:0 28px}.muted{font-size:12px;opacity:.65;margin-top:4px}#countdown{display:flex;justify-content:center;gap:38px;direction:rtl;margin:40px 0 18px}#countdown strong{display:block;font:36px Georgia,serif}#countdown span{font-size:11px;display:block;margin-top:8px}#countdown-note{font:21px Amiri,serif;margin-bottom:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid var(--gold);padding:13px 26px;font-size:12px;transition:background .2s}.button:hover{background:#aa81421a}.venue{background:var(--green);color:var(--cream);position:relative;overflow:hidden}.venue h2{font:italic 72px Georgia,serif;margin-top:25px}.venue p:not(.eyebrow){line-height:2}.venue .button{margin-top:32px}.venue-pattern{position:absolute;font-size:500px;opacity:.035;left:-90px;top:-160px;pointer-events:none}.original{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;text-align:right}.original h2{margin:20px 0;font-size:44px}.original img{width:100%;height:auto;display:block;border:8px solid #e7dbc0;box-shadow:0 15px 35px #47352124}.text-link{display:inline-block;border-bottom:1px solid var(--gold);margin-top:25px;padding-bottom:6px;font-size:13px}footer{text-align:center;padding:60px 20px;background:#eae0c9}footer h2{font-size:56px}footer p{font-size:12px}footer span{display:block;margin-top:18px;font:22px Amiri,serif}footer button{background:none;border:0;border-bottom:1px solid #aa814266;color:var(--ink);font-size:11px;margin-top:25px;padding:6px}:focus-visible{outline:3px solid #b8904e;outline-offset:7px}@media(max-width:600px){section{padding:70px 22px}nav{gap:25px;height:65px}.hero{min-height:740px;padding-top:50px}.halo{width:88%;height:670px}.hero h1{font-size:76px}.fullnames{font-size:25px}.family-names{font-size:22px;gap:20px}.families>p:last-child{font-size:12px}h2{font-size:37px}.date-display{gap:18px;font-size:12px}.date-display strong{font-size:76px;padding:0 18px}#countdown{gap:27px}#countdown strong{font-size:30px}.venue h2{font-size:48px}.original{grid-template-columns:1fr;gap:35px;text-align:center}.original img{max-width:360px;margin:auto}.original h2{font-size:38px}.envelope-top{top:15%}.envelope-top .eyebrow{font-size:11px;letter-spacing:1px}.open-hint{bottom:13%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Engraved botanical details and softly grained stationery. */
body:after{content:'';position:fixed;inset:0;background:url('grain.svg');opacity:.22;pointer-events:none;z-index:20;mix-blend-mode:multiply}.language-switch{position:fixed;top:18px;right:22px;display:flex;direction:ltr;z-index:30;padding:4px;border:1px solid #ad925c88;border-radius:30px;background:#f5eddbed;box-shadow:0 3px 16px #142d2514}.language-switch button{border:0;background:none;border-radius:22px;padding:6px 13px;color:#385044;font-size:12px;min-height:34px}.language-switch button[aria-pressed=true]{background:var(--green);color:var(--cream)}#envelope{background-image:url('botanical.svg'),url('botanical.svg'),radial-gradient(ellipse at 50% 10%,#355344,#132f25);background-repeat:no-repeat;background-position:left bottom,right top,center;background-size:auto 90%,auto 85%,cover}#envelope .fold{background-color:#17382b25}section{position:relative;isolation:isolate}.hero:before,.hero:after,.families:before,.details:after,.venue:before,footer:before{content:'';position:absolute;z-index:-1;pointer-events:none;background:url('botanical.svg') no-repeat center/contain;width:300px;height:570px;opacity:.48}.hero:before{left:-25px;bottom:0}.hero:after{right:-25px;top:10px;transform:rotate(180deg)}.families:before{left:-50px;top:0;opacity:.18;transform:rotate(20deg)}.details:after{right:-35px;bottom:0;opacity:.21}.venue:before{left:-20px;bottom:-100px;opacity:.5;transform:rotate(20deg)}footer{position:relative;isolation:isolate;overflow:hidden}footer:before{right:-20px;bottom:-250px;transform:rotate(-30deg);opacity:.3}.hero .halo{box-shadow:0 0 0 8px #f5eddb,0 0 0 9px #b5995c22}.hero{background-color:#f5eddb}.families,.details{overflow:hidden}html[lang=en] h1,html[lang=en] h2,html[lang=en] .intro,html[lang=en] .invitation-copy,html[lang=en] .family-names,html[lang=en] .fullnames{font-family:Georgia,serif;font-weight:400}html[lang=en] .hero h1{font-size:78px;line-height:1.5;margin:15px 0}html[lang=en] .envelope-top h1{font-size:74px;margin-top:24px}html[lang=en] .fullnames{font-size:24px;line-height:1.6}html[lang=en] .family-names{font-size:21px}html[lang=en] .original{text-align:left}html[lang=en] .original h2{font-size:38px;line-height:1.35}html[lang=en] .intro{font-style:italic}html[lang=en] .open-hint{font-size:11px;letter-spacing:3px}html[lang=en] .open-hint span{font:italic 20px Georgia,serif;letter-spacing:0}html[lang=en] .invitation-copy{line-height:1.7}html[lang=en] .families>p:last-child{max-width:580px;margin:auto;line-height:1.9}html[lang=en] .hero .eyebrow{font-size:10px}html[lang=en] .details h2{font-size:43px}html[lang=en] footer h2{margin:20px 0}
@media(max-width:800px){nav{justify-content:flex-start;padding-inline:20px;gap:20px;font-size:11px}.language-switch{top:12px;right:12px}.language-switch button{padding:5px 9px;font-size:11px}nav a:first-child{display:none}.hero:before,.hero:after{width:160px;height:360px;opacity:.35}.hero:before{left:-60px}.hero:after{right:-60px}.hero .halo{background:#f5eddb60}.envelope-top{width:90%}#envelope{background-size:auto 75%,auto 65%,cover}html[lang=en] .envelope-top h1{font-size:clamp(35px,9vw,65px)}html[lang=en] .hero h1{font-size:clamp(34px,9vw,60px);margin:28px 0}html[lang=en] .hero h1 span{font-size:.6em}html[lang=en] .fullnames{font-size:20px}html[lang=en] .family-names{font-size:16px;gap:20px}html[lang=en] .details h2{font-size:32px}html[lang=en] .original{text-align:center}html[lang=en] .invitation-copy{font-size:24px}html[lang=en] .invitation-copy em{font-size:35px}.hero .eyebrow{position:relative}.original h2{font-size:34px}html[lang=en] nav{padding-right:150px}.envelope-top .eyebrow{letter-spacing:1px;font-size:10px}}
@media(max-width:800px){nav{padding-right:150px;padding-left:12px;gap:16px}}
