{"id":8,"date":"2026-07-25T13:03:44","date_gmt":"2026-07-25T13:03:44","guid":{"rendered":"https:\/\/digital-invite.digital-hut.com\/weddemo2\/?page_id=8"},"modified":"2026-07-25T13:30:33","modified_gmt":"2026-07-25T13:30:33","slug":"home","status":"publish","type":"page","link":"https:\/\/digital-invite.digital-hut.com\/weddemo2\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8\" class=\"elementor elementor-8\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3919bda3 e-con-full e-flex e-con e-parent\" data-id=\"3919bda3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e2e8d13 elementor-widget elementor-widget-html\" data-id=\"e2e8d13\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ETERNAL \u2014 A Wedding Story \u00b7 self-contained invitation block -->\n<!-- Edit couple details in the data-* attributes on #eternal-root and in the marked TEXT spots. -->\n<div id=\"eternal-root\"\n     data-couple=\"Enock &amp; Semwa\"\n     data-date=\"2026-08-15T10:00:00\"\n     data-maps=\"https:\/\/maps.google.com\/?q=Lusaka+Zambia\"\n     data-music=\"\">\n\n<style>\n\/* ============ ETERNAL DESIGN SYSTEM ============ *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Jost:wght@300;400;500&display=swap');\n\n#eternal-root{\n  --ivory:#F8F5EF; --champagne:#E7D7C4; --charcoal:#242321;\n  --gold:#B79A6B; --taupe:#A99B8B; --line:rgba(183,154,107,.35);\n  --serif:'Cormorant Garamond',Georgia,serif;\n  --sans:'Jost','Helvetica Neue',sans-serif;\n  color:var(--charcoal); background:var(--ivory);\n  font-family:var(--sans); font-weight:300; line-height:1.6;\n  -webkit-font-smoothing:antialiased; overflow-x:hidden;\n}\n#eternal-root *{box-sizing:border-box; margin:0; padding:0;}\n#eternal-root .wrap{max-width:1180px; margin:0 auto; padding:0 24px;}\n#eternal-root .eyebrow{\n  font-family:var(--sans); font-weight:400; font-size:.68rem;\n  letter-spacing:.42em; text-transform:uppercase; color:var(--gold);\n}\n#eternal-root h2.disp{\n  font-family:var(--serif); font-weight:500; line-height:1.05;\n  font-size:clamp(2.1rem,7vw,3.4rem); letter-spacing:.01em;\n}\n#eternal-root p.body{font-size:1.02rem; color:#4a4741; max-width:52ch;}\n#eternal-root .thread{width:1px; height:64px; margin:0 auto; background:linear-gradient(var(--line),transparent);}\n\n\/* reveal on scroll *\/\n#eternal-root .rv{opacity:0; transform:translateY(26px); transition:opacity 1s ease,transform 1s ease;}\n#eternal-root .rv.in{opacity:1; transform:none;}\n@media (prefers-reduced-motion:reduce){\n  #eternal-root .rv{opacity:1!important; transform:none!important; transition:none!important;}\n}\n\n\/* ---- placeholder image block ---- *\/\n#eternal-root .ph{\n  position:relative; background:\n    radial-gradient(120% 90% at 30% 15%,#efe5d6 0%,var(--champagne) 45%,var(--taupe) 100%);\n  border:1px solid var(--line); overflow:hidden;\n}\n#eternal-root .ph::after{\n  content:'ADD PHOTO'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;\n  font-family:var(--sans); font-size:.6rem; letter-spacing:.35em; color:rgba(36,35,33,.35);\n}\n#eternal-root .ph.tall{aspect-ratio:3\/4;}\n#eternal-root .ph.wide{aspect-ratio:4\/3;}\n#eternal-root .ph.full{aspect-ratio:16\/10;}\n\n\/* ============ 01 \u00b7 ENVELOPE + HERO ============ *\/\n#eternal-root .stage{position:relative; min-height:100svh; display:flex; align-items:center; justify-content:center;\n  background:linear-gradient(160deg,#2b2925,#3a352d 60%,#4a4034);}\n#eternal-root .env{position:absolute; inset:0; z-index:5; display:flex; flex-direction:column; align-items:center; justify-content:center;\n  background:radial-gradient(120% 80% at 50% 40%,#f2ead9,var(--champagne)); transition:opacity 1.1s ease,transform 1.1s ease;}\n#eternal-root .env.gone{opacity:0; transform:scale(1.06); pointer-events:none;}\n#eternal-root .seal{width:78px; height:78px; border-radius:50%; border:1px solid var(--gold);\n  display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:1.7rem; font-style:italic;\n  color:var(--gold); margin-bottom:26px; background:rgba(255,255,255,.25);}\n#eternal-root .env .open{margin-top:34px; cursor:pointer; border:1px solid var(--gold); background:transparent;\n  color:var(--charcoal); font-family:var(--sans); font-size:.66rem; letter-spacing:.32em; padding:14px 30px; text-transform:uppercase;\n  transition:background .5s,color .5s;}\n#eternal-root .env .open:hover{background:var(--gold); color:#fff;}\n#eternal-root .hero{position:absolute; inset:0;}\n#eternal-root .hero .bg{position:absolute; inset:0; background:\n  linear-gradient(160deg,rgba(20,18,15,.55),rgba(30,26,20,.35)),\n  radial-gradient(90% 70% at 50% 30%,#5a4e3d,#2b2621);}\n#eternal-root .hero .in{position:relative; z-index:2; height:100svh; display:flex; flex-direction:column;\n  align-items:center; justify-content:center; text-align:center; color:#f6f1e8; padding:0 24px;}\n#eternal-root .hero .lbl{font-size:.64rem; letter-spacing:.4em; text-transform:uppercase; color:rgba(246,241,232,.8);}\n#eternal-root .hero .names{font-family:var(--serif); font-weight:400; line-height:.92; margin:20px 0 6px;}\n#eternal-root .hero .names .n{display:block; font-size:clamp(3.2rem,17vw,7rem); letter-spacing:.02em;}\n#eternal-root .hero .names .amp{display:block; font-style:italic; font-size:clamp(1.4rem,6vw,2.2rem); color:var(--gold); margin:2px 0;}\n#eternal-root .hero .dt{font-size:.82rem; letter-spacing:.34em; margin-top:14px; color:rgba(246,241,232,.9);}\n#eternal-root .hero .ph-line{font-family:var(--serif); font-style:italic; font-size:1.15rem; margin-top:18px; color:rgba(246,241,232,.85);}\n#eternal-root .scroll{position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:3; text-align:center; color:rgba(246,241,232,.75);}\n#eternal-root .scroll span{font-size:.56rem; letter-spacing:.34em;}\n#eternal-root .scroll i{display:block; width:1px; height:38px; margin:10px auto 0; background:rgba(246,241,232,.6); animation:drop 2s infinite;}\n@keyframes drop{0%{transform:scaleY(0); transform-origin:top}45%{transform:scaleY(1); transform-origin:top}55%{transform:scaleY(1); transform-origin:bottom}100%{transform:scaleY(0); transform-origin:bottom}}\n\n\/* ============ shared section pad ============ *\/\n#eternal-root section.sec{padding:clamp(64px,11vw,120px) 0;}\n\n\/* 03 story *\/\n#eternal-root .story{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,64px); align-items:center;}\n#eternal-root .story .txt .eyebrow{display:block; margin-bottom:18px;}\n#eternal-root .story .txt h2{margin-bottom:22px;}\n#eternal-root .story .txt .sig{font-family:var(--serif); font-style:italic; font-size:1.3rem; color:var(--gold); margin-top:24px;}\n#eternal-root .story .img-stack{position:relative;}\n#eternal-root .story .img-stack .ph.tall{width:78%;}\n#eternal-root .story .img-stack .ph.small{position:absolute; right:0; bottom:-34px; width:46%; aspect-ratio:1; background:\n  radial-gradient(120% 90% at 70% 20%,#efe5d6,var(--taupe)); border:1px solid var(--line);}\n\n\/* 04 portrait band *\/\n#eternal-root .portrait{position:relative; min-height:78svh; display:flex; align-items:center; justify-content:center; text-align:center;\n  color:#f6f1e8; background:linear-gradient(0deg,rgba(20,18,15,.5),rgba(20,18,15,.3)),\n  radial-gradient(80% 100% at 50% 40%,#6b5c47,#2c2620);}\n#eternal-root .portrait q{font-family:var(--serif); font-style:italic; font-size:clamp(1.8rem,6vw,3rem); line-height:1.25; display:block; max-width:20ch;}\n\n\/* 05 date reveal *\/\n#eternal-root .invite{text-align:center;}\n#eternal-root .invite .lede{font-family:var(--serif); font-size:clamp(1.4rem,4vw,2rem); line-height:1.5; max-width:24ch; margin:22px auto 40px; color:#3d3a34;}\n#eternal-root .date-row{display:flex; align-items:center; justify-content:center; gap:clamp(18px,5vw,50px);}\n#eternal-root .date-row .d{font-family:var(--serif); font-size:clamp(3.4rem,13vw,6rem); line-height:1; color:var(--charcoal);}\n#eternal-root .date-row .stack{text-align:center;}\n#eternal-root .date-row .stack .mo{font-family:var(--serif); font-size:1.4rem; letter-spacing:.2em; text-transform:uppercase;}\n#eternal-root .date-row .stack .yr{font-size:.8rem; letter-spacing:.4em; color:var(--gold); margin-top:6px;}\n#eternal-root .date-row .v{width:1px; height:88px; background:var(--line);}\n#eternal-root .invite .loc{margin-top:34px; font-size:.78rem; letter-spacing:.32em; text-transform:uppercase; color:var(--taupe);}\n\n\/* 06 countdown *\/\n#eternal-root .count{background:var(--champagne); text-align:center;}\n#eternal-root .cd{display:flex; justify-content:center; gap:clamp(14px,5vw,54px); margin-top:36px;}\n#eternal-root .cd .u{min-width:64px;}\n#eternal-root .cd .u b{font-family:var(--serif); font-weight:500; font-size:clamp(2.4rem,9vw,4rem); display:block; line-height:1; transition:opacity .4s;}\n#eternal-root .cd .u span{font-size:.58rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-top:12px; display:block;}\n\n\/* 07 timeline *\/\n#eternal-root .tl{max-width:560px; margin:44px auto 0; position:relative;}\n#eternal-root .tl::before{content:''; position:absolute; left:78px; top:6px; bottom:6px; width:1px; background:var(--line);}\n#eternal-root .tl .row{display:grid; grid-template-columns:78px 1fr; gap:26px; padding:16px 0; position:relative;}\n#eternal-root .tl .row .t{font-family:var(--serif); font-size:1.3rem; text-align:right; color:var(--gold);}\n#eternal-root .tl .row .e::before{content:''; position:absolute; left:74px; top:24px; width:9px; height:9px; border-radius:50%; background:var(--ivory); border:1px solid var(--gold);}\n#eternal-root .tl .row .e b{font-weight:400; font-size:1.02rem; letter-spacing:.02em;}\n\n\/* 08\/09 event cards *\/\n#eternal-root .events{display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,4vw,40px);}\n#eternal-root .card{border:1px solid var(--line); background:#fbf9f4; padding:0; overflow:hidden;}\n#eternal-root .card .ph.wide{border:0; border-bottom:1px solid var(--line);}\n#eternal-root .card .cbody{padding:30px 28px 34px; text-align:center;}\n#eternal-root .card .eyebrow{margin-bottom:14px; display:block;}\n#eternal-root .card h3{font-family:var(--serif); font-weight:500; font-size:1.9rem; margin-bottom:8px;}\n#eternal-root .card .meta{font-size:.9rem; color:#54504a; line-height:1.9;}\n#eternal-root .btn{display:inline-block; margin-top:22px; border:1px solid var(--gold); color:var(--charcoal);\n  text-decoration:none; font-size:.62rem; letter-spacing:.28em; text-transform:uppercase; padding:12px 26px; transition:background .4s,color .4s;}\n#eternal-root .btn:hover{background:var(--gold); color:#fff;}\n\n\/* 11 gallery *\/\n#eternal-root .gal{columns:3; column-gap:14px;}\n#eternal-root .gal figure{break-inside:avoid; margin:0 0 14px; cursor:pointer; position:relative;}\n#eternal-root .gal figure .ph{transition:transform .8s ease;}\n#eternal-root .gal figure:hover .ph{transform:scale(1.03);}\n\n\/* 12 quote *\/\n#eternal-root .quote{text-align:center; background:var(--champagne);}\n#eternal-root .quote q{font-family:var(--serif); font-style:italic; font-size:clamp(1.7rem,5vw,2.8rem); line-height:1.4; display:block; max-width:20ch; margin:0 auto;}\n\n\/* 13 rsvp *\/\n#eternal-root .rsvp{text-align:center; background:#fbf9f4;}\n#eternal-root form.rf{max-width:520px; margin:38px auto 0; text-align:left;}\n#eternal-root .rf label{display:block; font-size:.6rem; letter-spacing:.24em; text-transform:uppercase; color:var(--taupe); margin:20px 0 8px;}\n#eternal-root .rf input,#eternal-root .rf select,#eternal-root .rf textarea{\n  width:100%; border:0; border-bottom:1px solid var(--line); background:transparent; padding:10px 2px;\n  font-family:var(--sans); font-size:1rem; color:var(--charcoal); outline:none; transition:border-color .3s;}\n#eternal-root .rf input:focus,#eternal-root .rf select:focus,#eternal-root .rf textarea:focus{border-color:var(--gold);}\n#eternal-root .rf .att{display:flex; gap:12px; margin-top:8px;}\n#eternal-root .rf .att button{flex:1; border:1px solid var(--line); background:transparent; padding:14px;\n  font-family:var(--sans); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:#54504a; cursor:pointer; transition:.3s;}\n#eternal-root .rf .att button.on{background:var(--gold); color:#fff; border-color:var(--gold);}\n#eternal-root .rf .submit{margin-top:34px; width:100%; border:0; background:var(--charcoal); color:var(--ivory);\n  font-family:var(--sans); font-size:.68rem; letter-spacing:.3em; text-transform:uppercase; padding:16px; cursor:pointer; transition:background .4s;}\n#eternal-root .rf .submit:hover{background:var(--gold);}\n#eternal-root .thanks{display:none; text-align:center; padding:20px 0;}\n#eternal-root .thanks.show{display:block; animation:fade .9s ease;}\n@keyframes fade{from{opacity:0; transform:translateY(14px)}to{opacity:1; transform:none}}\n#eternal-root .thanks .heart{font-size:2.4rem; color:var(--gold); animation:beat 1.4s infinite;}\n@keyframes beat{0%,100%{transform:scale(1)}20%{transform:scale(1.18)}40%{transform:scale(1)}}\n#eternal-root .thanks h3{font-family:var(--serif); font-size:2.2rem; margin:10px 0;}\n\n\/* 18 final *\/\n#eternal-root .final{position:relative; min-height:88svh; display:flex; flex-direction:column; align-items:center; justify-content:center;\n  text-align:center; color:#f6f1e8; background:linear-gradient(0deg,rgba(20,18,15,.55),rgba(20,18,15,.35)),\n  radial-gradient(80% 100% at 50% 45%,#6b5c47,#2a241e);}\n#eternal-root .final .msg{font-family:var(--serif); font-style:italic; font-size:clamp(1.4rem,4.5vw,2.2rem); max-width:20ch;}\n#eternal-root .final .fn{font-family:var(--serif); font-size:clamp(2.6rem,10vw,4.4rem); margin:22px 0 6px; letter-spacing:.03em;}\n#eternal-root .final .fd{font-size:.8rem; letter-spacing:.4em;}\n\n\/* 19 thankyou + footer *\/\n#eternal-root .close{text-align:center;}\n#eternal-root .close .tk{font-family:var(--serif); font-size:clamp(1.6rem,5vw,2.6rem); line-height:1.4; max-width:22ch; margin:0 auto 24px;}\n#eternal-root .close .with{font-family:var(--serif); font-style:italic; font-size:1.3rem; color:var(--gold);}\n#eternal-root .close .floral{width:120px; height:1px; margin:34px auto 0; background:var(--gold); position:relative;}\n#eternal-root .close .floral::before,#eternal-root .close .floral::after{content:'\u2766'; position:absolute; top:-11px; color:var(--gold); font-size:1rem;}\n#eternal-root .close .floral::before{left:-4px}#eternal-root .close .floral::after{right:-4px}\n#eternal-root footer.ft{text-align:center; padding:40px 0 60px; border-top:1px solid var(--line);}\n#eternal-root footer.ft .fc{font-family:var(--serif); font-size:1.4rem;}\n#eternal-root footer.ft .fdt{font-size:.66rem; letter-spacing:.3em; color:var(--taupe); margin-top:8px;}\n#eternal-root footer.ft .fm{font-size:.6rem; letter-spacing:.24em; color:var(--gold); margin-top:20px; text-transform:uppercase;}\n\n\/* music *\/\n#eternal-root .music{position:fixed; right:20px; bottom:20px; z-index:40; display:flex; align-items:center; gap:8px;\n  background:rgba(36,35,33,.86); color:var(--ivory); border:1px solid var(--gold); border-radius:40px;\n  padding:9px 16px; cursor:pointer; font-size:.56rem; letter-spacing:.28em; text-transform:uppercase;}\n#eternal-root .music .eq{display:inline-flex; gap:2px; align-items:flex-end; height:12px;}\n#eternal-root .music .eq i{width:2px; background:var(--gold); height:4px;}\n#eternal-root .music.playing .eq i{animation:eq .8s infinite ease-in-out;}\n#eternal-root .music .eq i:nth-child(2){animation-delay:.2s}#eternal-root .music .eq i:nth-child(3){animation-delay:.4s}\n@keyframes eq{0%,100%{height:4px}50%{height:12px}}\n\n\/* lightbox *\/\n#eternal-root .lb{position:fixed; inset:0; z-index:60; background:rgba(24,21,17,.94); display:none; align-items:center; justify-content:center;}\n#eternal-root .lb.open{display:flex;}\n#eternal-root .lb .frame{width:min(86vw,560px); aspect-ratio:3\/4; background:\n  radial-gradient(120% 90% at 30% 15%,#efe5d6,var(--champagne),var(--taupe)); border:1px solid var(--gold);}\n#eternal-root .lb .x,#eternal-root .lb .nav{position:absolute; color:#f6f1e8; background:none; border:1px solid rgba(246,241,232,.4);\n  width:44px; height:44px; border-radius:50%; cursor:pointer; font-size:1.1rem;}\n#eternal-root .lb .x{top:20px; right:20px;}\n#eternal-root .lb .prev{left:16px; top:50%; transform:translateY(-50%);}\n#eternal-root .lb .next{right:16px; top:50%; transform:translateY(-50%);}\n\n\/* ===== responsive ===== *\/\n@media (max-width:820px){\n  #eternal-root .story{grid-template-columns:1fr; gap:40px;}\n  #eternal-root .story .img-stack{max-width:360px; margin:0 auto;}\n  #eternal-root .events{grid-template-columns:1fr;}\n  #eternal-root .gal{columns:2;}\n  #eternal-root .tl::before{left:64px;} #eternal-root .tl .row{grid-template-columns:64px 1fr; gap:18px;}\n  #eternal-root .tl .row .e::before{left:60px;}\n}\n@media (max-width:430px){\n  #eternal-root .gal{columns:2; column-gap:10px;}\n  #eternal-root .cd{gap:10px;} #eternal-root .cd .u{min-width:52px;}\n  #eternal-root .date-row{gap:12px;} #eternal-root .date-row .v{height:64px;}\n}\n<\/style>\n\n<!-- 01 \u00b7 ENVELOPE + HERO -->\n<div class=\"stage\">\n  <div class=\"env\" id=\"env\">\n    <div class=\"eyebrow\">Together with their families<\/div>\n    <div class=\"seal\">E&amp;S<\/div>\n    <div style=\"font-family:var(--serif);font-style:italic;font-size:1.25rem;color:#5c5140\">You are invited<\/div>\n    <button class=\"open\" id=\"openBtn\">Open the invitation<\/button>\n  <\/div>\n  <div class=\"hero\">\n    <div class=\"bg\"><\/div>\n    <div class=\"in\">\n      <div class=\"lbl\">Together with their families<\/div>\n      <div class=\"names\">\n        <span class=\"n\">ENOCK<\/span>\n        <span class=\"amp\">&amp;<\/span>\n        <span class=\"n\">SEMWA<\/span>\n      <\/div>\n      <div class=\"dt\">SATURDAY \u00b7 15 AUGUST 2026<\/div>\n      <div class=\"ph-line\">invite you to celebrate their wedding<\/div>\n    <\/div>\n    <div class=\"scroll\"><span>SCROLL TO BEGIN<\/span><i><\/i><\/div>\n  <\/div>\n<\/div>\n\n<!-- 03 \u00b7 THE BEGINNING -->\n<section class=\"sec\"><div class=\"wrap\"><div class=\"story\">\n  <div class=\"txt rv\">\n    <span class=\"eyebrow\">The beginning<\/span>\n    <h2 class=\"disp\">Some stories begin<br>with a moment.<\/h2>\n    <p class=\"body\">Ours began with a simple hello \u2014 an ordinary evening that quietly became the start of everything. Years later, that hello is still the best word we know.<\/p>\n    <div class=\"sig\">Enock &amp; Semwa \u00b7 since 2019<\/div>\n  <\/div>\n  <div class=\"img-stack rv\">\n    <div class=\"ph tall\"><\/div>\n    <div class=\"ph small\"><\/div>\n  <\/div>\n<\/div><\/div><\/section>\n\n<div class=\"thread\"><\/div>\n\n<!-- 04 \u00b7 PORTRAIT -->\n<div class=\"portrait\"><q class=\"rv\">Two hearts.<br>One beautiful story.<\/q><\/div>\n\n<!-- 05 \u00b7 WE ARE GETTING MARRIED -->\n<section class=\"sec\"><div class=\"wrap invite\">\n  <div class=\"eyebrow rv\">We are getting married<\/div>\n  <p class=\"lede rv\">Together with our families, we joyfully invite you to celebrate our wedding.<\/p>\n  <div class=\"date-row rv\">\n    <div class=\"d\">15<\/div>\n    <div class=\"v\"><\/div>\n    <div class=\"stack\"><div class=\"mo\">August<\/div><div class=\"yr\">2026<\/div><\/div>\n  <\/div>\n  <div class=\"loc rv\">The Royal Garden \u00b7 Lusaka, Zambia<\/div>\n<\/div><\/section>\n\n<!-- 06 \u00b7 COUNTDOWN -->\n<section class=\"sec count\"><div class=\"wrap\">\n  <div class=\"eyebrow rv\">Counting the days<\/div>\n  <div class=\"cd rv\">\n    <div class=\"u\"><b id=\"cd-d\">00<\/b><span>Days<\/span><\/div>\n    <div class=\"u\"><b id=\"cd-h\">00<\/b><span>Hours<\/span><\/div>\n    <div class=\"u\"><b id=\"cd-m\">00<\/b><span>Minutes<\/span><\/div>\n    <div class=\"u\"><b id=\"cd-s\">00<\/b><span>Seconds<\/span><\/div>\n  <\/div>\n<\/div><\/section>\n\n<!-- 07 \u00b7 THE DAY -->\n<section class=\"sec\"><div class=\"wrap\" style=\"text-align:center\">\n  <div class=\"eyebrow rv\">The day<\/div>\n  <h2 class=\"disp rv\" style=\"margin-top:12px\">A day to remember<\/h2>\n  <div class=\"tl rv\">\n    <div class=\"row\"><div class=\"t\">09:00<\/div><div class=\"e\"><b>Guest Arrival<\/b><\/div><\/div>\n    <div class=\"row\"><div class=\"t\">10:00<\/div><div class=\"e\"><b>Wedding Ceremony<\/b><\/div><\/div>\n    <div class=\"row\"><div class=\"t\">13:00<\/div><div class=\"e\"><b>Reception<\/b><\/div><\/div>\n    <div class=\"row\"><div class=\"t\">14:00<\/div><div class=\"e\"><b>Lunch &amp; Celebration<\/b><\/div><\/div>\n    <div class=\"row\"><div class=\"t\">16:00<\/div><div class=\"e\"><b>Photography<\/b><\/div><\/div>\n    <div class=\"row\"><div class=\"t\">18:00<\/div><div class=\"e\"><b>Evening Celebration<\/b><\/div><\/div>\n  <\/div>\n<\/div><\/section>\n\n<!-- 08\/09 \u00b7 CEREMONY + RECEPTION -->\n<section class=\"sec\"><div class=\"wrap\"><div class=\"events\">\n  <div class=\"card rv\">\n    <div class=\"ph wide\"><\/div>\n    <div class=\"cbody\">\n      <span class=\"eyebrow\">The Ceremony<\/span>\n      <h3>10:00 AM<\/h3>\n      <div class=\"meta\">Saturday, 15 August 2026<br>The Royal Garden<br>Lusaka, Zambia<\/div>\n      <a class=\"btn\" href=\"https:\/\/maps.google.com\/?q=Lusaka+Zambia\" target=\"_blank\" rel=\"noopener\">View location<\/a>\n    <\/div>\n  <\/div>\n  <div class=\"card rv\">\n    <div class=\"ph wide\"><\/div>\n    <div class=\"cbody\">\n      <span class=\"eyebrow\">The Reception<\/span>\n      <h3>12:30 PM<\/h3>\n      <div class=\"meta\">Saturday, 15 August 2026<br>The Royal Garden<br>Lusaka, Zambia<\/div>\n      <a class=\"btn\" href=\"https:\/\/maps.google.com\/?q=Lusaka+Zambia\" target=\"_blank\" rel=\"noopener\">Get directions<\/a>\n    <\/div>\n  <\/div>\n<\/div><\/div><\/section>\n\n<!-- 10 \u00b7 VENUE -->\n<div class=\"portrait\" style=\"min-height:70svh\">\n  <div class=\"rv\" style=\"max-width:26ch\">\n    <div class=\"eyebrow\" style=\"color:rgba(246,241,232,.85)\">The venue<\/div>\n    <q style=\"font-size:clamp(1.9rem,6vw,3rem);margin-top:14px\">The Royal Garden<\/q>\n    <div style=\"font-size:.78rem;letter-spacing:.3em;margin-top:16px\">LUSAKA \u00b7 ZAMBIA<\/div>\n    <a class=\"btn\" style=\"color:#f6f1e8;border-color:rgba(246,241,232,.6);margin-top:26px\"\n       href=\"https:\/\/maps.google.com\/?q=Lusaka+Zambia\" target=\"_blank\" rel=\"noopener\">Open in Maps<\/a>\n  <\/div>\n<\/div>\n\n<!-- 11 \u00b7 GALLERY -->\n<section class=\"sec\"><div class=\"wrap\" style=\"text-align:center\">\n  <div class=\"eyebrow rv\">Our moments<\/div>\n  <h2 class=\"disp rv\" style=\"margin:12px 0 40px\">A gallery of us<\/h2>\n  <div class=\"gal rv\" id=\"gal\">\n    <figure><div class=\"ph tall\"><\/div><\/figure>\n    <figure><div class=\"ph wide\"><\/div><\/figure>\n    <figure><div class=\"ph full\"><\/div><\/figure>\n    <figure><div class=\"ph tall\"><\/div><\/figure>\n    <figure><div class=\"ph wide\"><\/div><\/figure>\n    <figure><div class=\"ph tall\"><\/div><\/figure>\n    <figure><div class=\"ph full\"><\/div><\/figure>\n    <figure><div class=\"ph wide\"><\/div><\/figure>\n    <figure><div class=\"ph tall\"><\/div><\/figure>\n  <\/div>\n<\/div><\/section>\n\n<!-- 12 \u00b7 QUOTE -->\n<section class=\"sec quote\"><div class=\"wrap\"><q class=\"rv\">Wherever you are, that is where I want to be.<\/q><\/div><\/section>\n\n<!-- 13\/14 \u00b7 RSVP -->\n<section class=\"sec rsvp\"><div class=\"wrap\">\n  <div class=\"eyebrow rv\">R\u00e9pondez s'il vous pla\u00eet<\/div>\n  <h2 class=\"disp rv\" style=\"margin:12px 0 8px\">We would love to<br>celebrate with you<\/h2>\n  <p class=\"body rv\" style=\"margin:0 auto;color:#6a655d\">Please let us know if you'll be joining us.<\/p>\n\n  <form class=\"rf rv\" id=\"rsvpForm\" onsubmit=\"return false;\">\n    <label>Guest name<\/label>\n    <input type=\"text\" id=\"gname\" placeholder=\"Your full name\" required>\n    <label>Phone or email<\/label>\n    <input type=\"text\" placeholder=\"How we can reach you\">\n    <label>Will you attend?<\/label>\n    <div class=\"att\">\n      <button type=\"button\" data-a=\"yes\">Joyfully accept<\/button>\n      <button type=\"button\" data-a=\"no\">Regretfully decline<\/button>\n    <\/div>\n    <label>Number of guests<\/label>\n    <select><option>1<\/option><option>2<\/option><option>3<\/option><option>4<\/option><option>5+<\/option><\/select>\n    <label>Dietary requirements<\/label>\n    <input type=\"text\" placeholder=\"Optional\">\n    <label>A message to the couple<\/label>\n    <textarea rows=\"3\" placeholder=\"Optional\"><\/textarea>\n    <button class=\"submit\" id=\"rsvpSubmit\">Send RSVP<\/button>\n  <\/form>\n\n  <div class=\"thanks\" id=\"thanks\">\n    <div class=\"heart\">\u2764<\/div>\n    <h3 id=\"thanksName\">Thank you<\/h3>\n    <p class=\"body\" style=\"margin:0 auto;color:#6a655d\">We can't wait to celebrate with you.<\/p>\n  <\/div>\n<\/div><\/section>\n\n<!-- 15\/16\/17 \u00b7 GIFT \/ DRESS \/ HASHTAG (optional, tasteful) -->\n<section class=\"sec\"><div class=\"wrap\" style=\"display:grid;grid-template-columns:1fr 1fr;gap:40px\">\n  <div class=\"rv\" style=\"text-align:center;border:1px solid var(--line);padding:36px 26px;background:#fbf9f4\">\n    <div class=\"eyebrow\">A little something<\/div>\n    <p class=\"body\" style=\"margin:16px auto 0;color:#6a655d;font-size:.95rem\">Your presence is the gift. Should you wish to give, details are available on request from the family.<\/p>\n  <\/div>\n  <div class=\"rv\" style=\"text-align:center;border:1px solid var(--line);padding:36px 26px;background:#fbf9f4\">\n    <div class=\"eyebrow\">Dress code<\/div>\n    <div style=\"font-family:var(--serif);font-size:1.7rem;margin:14px 0 4px\">Formal \u00b7 Smart Elegant<\/div>\n    <div style=\"font-size:.7rem;letter-spacing:.3em;color:var(--gold);margin-top:16px\">#ENOCKANDSEMWA<\/div>\n  <\/div>\n<\/div><\/section>\n\n<!-- 18 \u00b7 FINAL PHOTO -->\n<div class=\"final\">\n  <div class=\"rv\">\n    <div class=\"msg\">We can't wait to celebrate with you<\/div>\n    <div class=\"fn\">Enock &amp; Semwa<\/div>\n    <div class=\"fd\">15 \u00b7 08 \u00b7 2026<\/div>\n  <\/div>\n<\/div>\n\n<!-- 19 \u00b7 THANK YOU -->\n<section class=\"sec close\"><div class=\"wrap\">\n  <div class=\"tk rv\">Thank you for being part of our story.<\/div>\n  <div class=\"with rv\">With love, Enock &amp; Semwa<\/div>\n  <div class=\"floral rv\"><\/div>\n<\/div><\/section>\n\n<!-- 20 \u00b7 FOOTER -->\n<footer class=\"ft\">\n  <div class=\"fc\">Enock &amp; Semwa<\/div>\n  <div class=\"fdt\">15 AUGUST 2026<\/div>\n  <div class=\"fm\">Made with love<\/div>\n<\/footer>\n\n<!-- music + lightbox -->\n<div class=\"music\" id=\"music\"><span class=\"eq\"><i><\/i><i><\/i><i><\/i><\/span><span id=\"musicLabel\">Music<\/span><\/div>\n<div class=\"lb\" id=\"lb\">\n  <button class=\"x\" id=\"lbX\">&times;<\/button>\n  <button class=\"nav prev\" id=\"lbPrev\">&#8249;<\/button>\n  <div class=\"frame\"><\/div>\n  <button class=\"nav next\" id=\"lbNext\">&#8250;<\/button>\n<\/div>\n\n<script>\n(function(){\n  var root=document.getElementById('eternal-root'); if(!root||root.dataset.init)return; root.dataset.init=1;\n  var reduce=window.matchMedia('(prefers-reduced-motion:reduce)').matches;\n\n  \/* envelope *\/\n  var env=root.querySelector('#env');\n  root.querySelector('#openBtn').addEventListener('click',function(){\n    env.classList.add('gone');\n    setTimeout(function(){env.style.display='none';},1100);\n  });\n\n  \/* reveal *\/\n  var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target);}});},{threshold:.12});\n  root.querySelectorAll('.rv').forEach(function(el){reduce?el.classList.add('in'):io.observe(el);});\n\n  \/* countdown *\/\n  var target=new Date(root.dataset.date||'2026-08-15T10:00:00').getTime();\n  var pad=function(n){return String(n).padStart(2,'0');};\n  var els={d:root.querySelector('#cd-d'),h:root.querySelector('#cd-h'),m:root.querySelector('#cd-m'),s:root.querySelector('#cd-s')};\n  function set(el,v){if(el&&el.textContent!==v){el.textContent=v;}}\n  function tick(){\n    var diff=target-Date.now(); if(diff<0)diff=0;\n    var s=Math.floor(diff\/1000);\n    set(els.d,pad(Math.floor(s\/86400)));\n    set(els.h,pad(Math.floor(s%86400\/3600)));\n    set(els.m,pad(Math.floor(s%3600\/60)));\n    set(els.s,pad(s%60));\n  }\n  tick(); setInterval(tick,1000);\n\n  \/* rsvp *\/\n  var attend=null;\n  root.querySelectorAll('.rf .att button').forEach(function(b){\n    b.addEventListener('click',function(){\n      root.querySelectorAll('.rf .att button').forEach(function(x){x.classList.remove('on');});\n      b.classList.add('on'); attend=b.dataset.a;\n    });\n  });\n  root.querySelector('#rsvpSubmit').addEventListener('click',function(){\n    var name=(root.querySelector('#gname').value||'').trim();\n    if(!name){root.querySelector('#gname').focus();return;}\n    var first=name.split(' ')[0];\n    root.querySelector('#thanksName').textContent='Thank you, '+first+' \\u2764';\n    root.querySelector('#rsvpForm').style.display='none';\n    root.querySelector('#thanks').classList.add('show');\n    \/* HOOK: replace above with a POST to your backend when ready *\/\n  });\n\n  \/* gallery + lightbox *\/\n  var lb=root.querySelector('#lb'), figs=root.querySelectorAll('#gal figure'), idx=0;\n  function openLb(i){idx=i; lb.classList.add('open');}\n  figs.forEach(function(f,i){f.addEventListener('click',function(){openLb(i);});});\n  root.querySelector('#lbX').addEventListener('click',function(){lb.classList.remove('open');});\n  root.querySelector('#lbPrev').addEventListener('click',function(){idx=(idx-1+figs.length)%figs.length;});\n  root.querySelector('#lbNext').addEventListener('click',function(){idx=(idx+1)%figs.length;});\n  lb.addEventListener('click',function(e){if(e.target===lb)lb.classList.remove('open');});\n  document.addEventListener('keydown',function(e){if(lb.classList.contains('open')&&e.key==='Escape')lb.classList.remove('open');});\n\n  \/* music *\/\n  var mBtn=root.querySelector('#music'), mLabel=root.querySelector('#musicLabel'), audio=null, playing=false;\n  var src=root.dataset.music;\n  mBtn.addEventListener('click',function(){\n    if(!src){mLabel.textContent='Add track'; return;}\n    if(!audio){audio=new Audio(src); audio.loop=true;}\n    if(playing){audio.pause(); mBtn.classList.remove('playing'); mLabel.textContent='Music';}\n    else{audio.play().then(function(){mBtn.classList.add('playing'); mLabel.textContent='Playing';}).catch(function(){mLabel.textContent='Tap again';});}\n    playing=!playing;\n  });\n})();\n<\/script>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Together with their families E&amp;S You are invited Open the invitation Together with their families ENOCK &amp; SEMWA SATURDAY \u00b7 15 AUGUST 2026 invite you to celebrate their wedding SCROLL TO BEGIN The beginning Some stories beginwith a moment. Ours began with a simple hello \u2014 an ordinary evening that quietly became the start of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"ocean_front_end_style_editor":"no","ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"off","ocean_display_header":"off","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"on","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"off","ocean_display_footer_bottom":"off","ocean_custom_footer_template":"","footnotes":""},"class_list":["post-8","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/digital-invite.digital-hut.com\/weddemo2\/wp-json\/wp\/v2\/pages\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digital-invite.digital-hut.com\/weddemo2\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/digital-invite.digital-hut.com\/weddemo2\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/digital-invite.digital-hut.com\/weddemo2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/digital-invite.digital-hut.com\/weddemo2\/wp-json\/wp\/v2\/comments?post=8"}],"version-history":[{"count":5,"href":"https:\/\/digital-invite.digital-hut.com\/weddemo2\/wp-json\/wp\/v2\/pages\/8\/revisions"}],"predecessor-version":[{"id":21,"href":"https:\/\/digital-invite.digital-hut.com\/weddemo2\/wp-json\/wp\/v2\/pages\/8\/revisions\/21"}],"wp:attachment":[{"href":"https:\/\/digital-invite.digital-hut.com\/weddemo2\/wp-json\/wp\/v2\/media?parent=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}