:root{--ivory:#fffaf2;--cream:#f7f0e6;--beige:#dfcfb9;--gold:#b9935a;--gold2:#e6cf9a;--ink:#17120d;--soft:#756b60;--line:rgba(185,147,90,.28);--dark:rgba(23,18,13,.88);--ease:cubic-bezier(.22,1,.36,1);--shadow:0 32px 90px rgba(74,55,31,.13);--radius:30px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-y}body{width:100%;max-width:100%;margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--cream);overflow-x:hidden;touch-action:pan-y}body.lock{overflow:hidden;height:100vh;height:100dvh;position:fixed;inset:0;width:100%}body.lock header,body.lock main,body.lock footer,body.lock .nav,body.lock .toast,body.lock .lightbox{display:none!important}a{color:inherit;text-decoration:none}img{max-width:100%}
body:before{content:"";position:fixed;inset:0;z-index:-5;background:radial-gradient(circle at 20% 10%,rgba(215,169,155,.32),transparent 30%),radial-gradient(circle at 88% 18%,rgba(230,207,154,.34),transparent 30%),linear-gradient(135deg,#fffaf2,#f4eadf 48%,#e7d6c3)}body:after{content:"";position:fixed;inset:0;z-index:-4;opacity:.26;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}
.wrap{width:min(1160px,calc(100% - 38px));margin:auto}.serif{font-family:'Playfair Display',serif}.center{text-align:center}.gold{color:transparent;background:linear-gradient(100deg,#8e6b38,var(--gold2),#af8351,#f4dfae,#8e6b38);background-size:220% auto;-webkit-background-clip:text;background-clip:text;animation:shimmer 7s linear infinite}.eyebrow{font:800 .72rem/1 Inter;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}.lead{color:var(--soft);line-height:1.95}.divider{width:min(220px,58vw);height:1px;margin:28px auto;background:linear-gradient(90deg,transparent,var(--gold),transparent);position:relative}.divider:after{content:"✦";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:transparent;color:var(--gold);padding:0 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border:1px solid var(--gold);border-radius:999px;background:rgba(255,250,242,.82);color:#3b2c19;font-weight:800;letter-spacing:.04em;box-shadow:0 16px 42px rgba(185,147,90,.14);transition:.35s var(--ease);cursor:pointer}.btn:hover{transform:translateY(-3px);background:var(--dark);color:var(--gold2)}.card{position:relative;border:1px solid rgba(185,147,90,.22);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,250,242,.78),rgba(255,255,255,.42));box-shadow:var(--shadow);backdrop-filter:blur(20px);overflow:hidden}.card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(185,147,90,.13);border-radius:calc(var(--radius) - 10px);pointer-events:none}.card-pad{padding:clamp(28px,5.6vw,62px)}
.loader{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:#f8f0e5;transition:.8s var(--ease)}.loader.hide{opacity:0;visibility:hidden}.loader .mark{width:118px;height:118px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font:2.2rem Cinzel;color:var(--gold)}.particles{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden}.particle{position:absolute;top:-30px;width:5px;height:12px;border-radius:99px;background:linear-gradient(var(--gold2),transparent);opacity:.34;animation:petal linear infinite}
.cover{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;width:100vw;height:100vh;height:100dvh;overflow:hidden;padding:12px;background:#16110d;background-image:linear-gradient(90deg,rgba(18,13,8,.72),rgba(30,23,17,.38)),url('https://images.unsplash.com/photo-1511285560929-80b456fea0bc?q=80&w=2069&auto=format&fit=crop');background-position:center;background-size:cover;transition:1s var(--ease)}.cover:before{content:"";position:absolute;inset:-10px;background:rgba(255,250,242,.18);backdrop-filter:blur(8px)}.cover.opened{transform:translateY(-110%);filter:blur(8px);pointer-events:none}.cover-card{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:clamp(26px,5vw,54px) clamp(20px,5vw,44px);text-align:center;color:#fff7e8;background:linear-gradient(145deg,rgba(18,14,10,.84),rgba(35,27,20,.66));border-color:rgba(230,207,154,.48);box-shadow:0 34px 110px rgba(0,0,0,.42)}.monogram{width:88px;height:88px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:rgba(14,10,7,.7);border:1px solid rgba(230,207,154,.52);font:2rem Cinzel;color:#ffe7a8}.cover h1{font:700 clamp(2.8rem,8vw,5.8rem)/.9 'Playfair Display';letter-spacing:.04em;text-transform:uppercase;margin:14px 0;color:#fffaf2;text-shadow:0 6px 28px rgba(0,0,0,.52)}.cover h1 span{display:block;font:800 .34em/1.5 Inter;letter-spacing:.22em;color:#f4d690}.cover h1 em{display:block;font-family:'Playfair Display';font-style:italic;color:#e9c46f;font-size:.58em;line-height:.8}.cover .lead{color:#fff0dc;text-shadow:0 3px 18px rgba(0,0,0,.62)}.cover .btn{background:rgba(255,250,242,.94)}
.nav{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:80;transform:translateX(-50%);display:flex;gap:4px;padding:8px;border:1px solid rgba(185,147,90,.22);border-radius:999px;background:rgba(255,250,242,.72);backdrop-filter:blur(22px);box-shadow:0 18px 50px rgba(88,65,39,.16)}.nav a,.nav button{min-width:42px;height:42px;border:0;border-radius:999px;display:grid;place-items:center;background:transparent;color:#6d5941;font-weight:800;cursor:pointer}.nav a.active,.nav a:hover,.nav button:hover{background:var(--dark);color:var(--gold2)}
.hero{height:100vh;height:100dvh;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;padding:92px 0 128px;background:linear-gradient(rgba(255,250,242,.58),rgba(247,240,230,.95)),url('https://images.unsplash.com/photo-1511285560929-80b456fea0bc?q=80&w=2069&auto=format&fit=crop') center/cover}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;background:linear-gradient(transparent,var(--cream) 80%);pointer-events:none}.hero-inner{position:relative;z-index:3;width:min(100% - 32px,760px);margin-inline:auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero h1{font:800 clamp(3.4rem,11vw,10.5rem)/.86 'Playfair Display';letter-spacing:.02em;text-transform:uppercase;margin:20px 0;text-align:center}.hero h1 span{display:block;font:600 .2em/1.35 Inter;letter-spacing:.36em;color:var(--soft);margin-top:14px}.hero h1 em{display:block;font-family:'Playfair Display';font-style:italic;color:#d4a85a;font-size:.58em;line-height:.8}.date-pill{width:min(100%,560px);display:inline-flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;align-items:center;padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:rgba(255,250,242,.72);backdrop-filter:blur(18px);color:#6d5941;text-align:center}.scroll-hint{max-width:260px;margin:34px auto 0;color:#9a8261;font-size:.78rem;line-height:1.65;letter-spacing:.12em;text-transform:uppercase;text-align:center}.hero-orbit{position:absolute;width:min(720px,88vw);aspect-ratio:1;border:1px solid rgba(185,147,90,.14);border-radius:50%;animation:spin 70s linear infinite}.hero-orbit:after{content:"";position:absolute;inset:34px;border:1px solid rgba(185,147,90,.12);border-radius:50%}
main{position:relative;background:var(--cream);z-index:5;padding-top:clamp(70px,9vw,120px)}section{position:relative;padding:clamp(76px,10vw,132px) 0}.section-title{text-align:center;margin-bottom:42px}.section-title h2{font:700 clamp(2.6rem,6.5vw,5.8rem)/.94 'Playfair Display';margin:0}.couple{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(20px,4vw,48px);align-items:center}.person{text-align:center}.person h3{font:700 clamp(2.3rem,5vw,4.9rem)/.88 'Playfair Display';margin:0}.person h3 span{display:block;font:600 .32em/1.6 Inter;letter-spacing:.22em;color:var(--soft);text-transform:uppercase;margin-top:12px}.and{font:italic clamp(3.6rem,8vw,7rem) 'Playfair Display';color:var(--gold)}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.time{text-align:center;padding:28px 12px;border-radius:28px;background:linear-gradient(180deg,rgba(255,250,242,.86),rgba(255,255,255,.45));border:1px solid var(--line)}.time strong{display:block;font:700 clamp(2.2rem,5vw,4rem) Cinzel;color:#6d4b21}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.event h3{font:700 clamp(2.1rem,4vw,3.8rem)/1 'Playfair Display';margin:10px 0 16px}.mini{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;font-weight:800}.arabic{font-size:clamp(1.35rem,3vw,2.1rem);line-height:2.1;color:#85683e;text-align:center}.quote{font:500 clamp(1.22rem,2.3vw,1.75rem)/1.9 'Playfair Display';text-align:center;color:#514537}.timeline{max-width:840px;margin:auto;display:grid;gap:18px}.story-item{display:grid;grid-template-columns:82px 1fr;gap:20px;align-items:start}.story-dot{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--dark);color:var(--gold2)}.masonry{columns:4 220px;column-gap:16px}.photo{break-inside:avoid;margin:0 0 16px;border-radius:30px;overflow:hidden;box-shadow:0 24px 70px rgba(77,54,28,.16);cursor:zoom-in;border:1px solid rgba(185,147,90,.18);background:#fff}.photo img{width:100%;display:block;min-height:260px;object-fit:cover;transition:.8s var(--ease)}.photo:nth-child(2) img,.photo:nth-child(4) img{min-height:360px}.photo:hover img{transform:scale(1.06)}.feed{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feed .card{padding:24px}.feed b{color:#624720}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:20px;background:rgba(255,250,242,.7);padding:16px 18px;margin-bottom:14px;color:var(--ink);font-size:16px;outline:none}textarea{min-height:118px;resize:vertical}.bank{display:inline-block;padding:20px 26px;border:1px dashed var(--gold);border-radius:24px;background:rgba(255,250,242,.62);font-size:1.2rem}.lightbox{position:fixed;inset:0;z-index:110;display:none;place-items:center;padding:22px;background:rgba(12,9,6,.82);backdrop-filter:blur(16px)}.lightbox.show{display:grid}.lightbox img{max-width:min(980px,94vw);max-height:86vh;border-radius:28px}.toast{position:fixed;left:50%;bottom:92px;z-index:130;transform:translate(-50%,140px);padding:15px 20px;border-radius:999px;background:var(--dark);color:var(--gold2);transition:.45s var(--ease)}.toast.show{transform:translate(-50%,0)}footer{text-align:center;padding:90px 20px 118px;color:var(--soft);background:var(--cream)}footer .serif{font-size:clamp(2.8rem,7vw,5rem);margin:0}
.reveal{opacity:0;filter:blur(8px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease)}.reveal[data-anim=up]{transform:translateY(46px)}.reveal[data-anim=left]{transform:translateX(-52px)}.reveal[data-anim=right]{transform:translateX(52px)}.reveal[data-anim=zoom]{transform:scale(.92)}.reveal.visible{opacity:1!important;transform:none!important;filter:none!important}
@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{to{background-position:220% center}}@keyframes petal{to{transform:translate3d(var(--x),112vh,0) rotate(460deg);opacity:0}}
@media(max-width:860px){.grid,.couple,.feed{grid-template-columns:1fr}.and{text-align:center}.countdown{grid-template-columns:repeat(2,1fr)}.nav{max-width:calc(100% - 22px);overflow:auto}.nav a,.nav button{min-width:40px}.story-item{grid-template-columns:56px 1fr}.story-dot{width:48px;height:48px}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1160px);margin-left:auto;margin-right:auto}.cover-card{padding:22px 18px;border-radius:28px}.monogram{width:64px;height:64px;font-size:1.45rem;margin-bottom:10px}.cover h1{font-size:clamp(2rem,11vw,3.25rem);margin:8px 0}.cover h1 span{letter-spacing:.14em}.cover .divider{margin:12px auto}.cover .lead{font-size:.92rem;line-height:1.45}.hero{padding:82px 0 132px}.hero-inner{width:calc(100% - 30px)}.hero h1{font-size:clamp(3rem,15vw,4.65rem)}.hero h1 span{letter-spacing:.18em}.date-pill{width:min(100%,300px);border-radius:24px;font-size:.76rem;padding:11px 12px;gap:6px 8px}.scroll-hint{font-size:.66rem;max-width:220px}.section-title{width:100%;text-align:center}.section-title h2{font-size:clamp(2.35rem,12vw,3.8rem)}section{padding:70px 0}.card-pad{padding:28px 20px}.couple{justify-items:center;text-align:center}.person{width:100%}.masonry{columns:2 140px;column-gap:10px}.photo{border-radius:20px;margin-bottom:10px}.photo img,.photo:nth-child(2) img,.photo:nth-child(4) img{min-height:230px}.eyebrow{letter-spacing:.2em;font-size:.62rem}.btn{padding:13px 22px}.toast{width:calc(100% - 32px);text-align:center}}
