{"id":12,"date":"2026-10-27T11:55:22","date_gmt":"2026-10-27T11:55:22","guid":{"rendered":"https:\/\/theunfinishednation.ammasu.com\/?page_id=12"},"modified":"2026-10-27T12:41:54","modified_gmt":"2026-10-27T12:41:54","slug":"home","status":"publish","type":"page","link":"https:\/\/theunfinishednation.ammasu.com\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12\" class=\"elementor elementor-12\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d9e8941 e-con-full e-flex e-con e-parent\" data-id=\"d9e8941\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2845022 elementor-widget elementor-widget-html\" data-id=\"2845022\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, viewport-fit=cover\">\n<title>The Unfinished Nations<\/title>\n<meta name=\"description\" content=\"The Unfinished Nations: Awakening the Builders of Africa's Future, by Ne AmmasuBaba Kinkela Wa Ma Zulu. Order your copy on WhatsApp.\">\n<meta property=\"og:title\" content=\"The Unfinished Nations\">\n<meta property=\"og:description\" content=\"The Unfinished Nations: Awakening the Builders of Africa's Future, by Ne AmmasuBaba Kinkela Wa Ma Zulu. Order your copy on WhatsApp.\">\n<meta property=\"og:image\" content=\"assets\/cover-front.jpg\">\n<meta name=\"theme-color\" content=\"#000000\">\n<style>html,body{margin:0;background:#000}<\/style>\n<\/head>\n<body>\n<!-- ============================================================\n     THE UNFINISHED NATIONS\n     ============================================================ -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:opsz,wght@14..32,300..800&family=Cormorant+Garamond:ital,wght@1,400;1,500;1,600&display=swap\">\n<style>\n\/* \n   THEME: set theme: \"dark\" or \"light\" in UN_CONFIG.  *\/\n#un-site{\n\n  \/* dark colours (default) *\/\n  --un-bg:#000000;\n  --un-bg-2:#0e0a04;\n  --un-surface:#16100a;\n  --un-surface-2:#0b0804;\n  --un-fg:#fbf7ee;\n  --un-mute:rgba(251,247,238,.68);\n  --un-faint:rgba(251,247,238,.16);\n  --un-line:rgba(216,170,76,.26);\n  --un-gold:#d8aa4c;\n  --un-gold-hover:#e6bd66;\n  --un-gold-ink:#e9c672;\n  --un-on-gold:#140d02;\n  --un-glow:rgba(216,170,76,.16);\n  --un-header:rgba(0,0,0,.76);\n  --un-bubble:#1b140a;\n  --un-grain:.07;\n  --un-shadow:0 30px 80px -30px rgba(0,0,0,.9);\n  --un-wa:#25d366;\n  --un-font:\"Inter\",system-ui,-apple-system,\"Segoe UI\",Roboto,Arial,sans-serif;\n  --un-serif:\"Cormorant Garamond\",Garamond,\"Times New Roman\",serif;\n  --un-gl:max(clamp(20px,5vw,80px),env(safe-area-inset-left,0px));\n  --un-gr:max(clamp(20px,5vw,80px),env(safe-area-inset-right,0px));\n  --un-ease:cubic-bezier(.22,1,.36,1);\n  --un-soft:cubic-bezier(.25,.8,.25,1);\n  color-scheme:dark;\n  position:relative;\n  background:var(--un-bg);\n  color:var(--un-fg);\n  font-family:var(--un-font);\n  font-size:17px;\n  line-height:1.6;\n  font-feature-settings:\"ss01\",\"cv11\";\n  -webkit-font-smoothing:antialiased;\n  -moz-osx-font-smoothing:grayscale;\n  overflow-x:clip;\n}\n\/* light theme *\/\n#un-site[data-un-theme=\"light\"]{\n  --un-bg:#ffffff;\n  --un-bg-2:#f7f2e8;\n  --un-surface:#faf6ee;\n  --un-surface-2:#ffffff;\n  --un-fg:#15110a;\n  --un-mute:rgba(21,17,10,.66);\n  --un-faint:rgba(21,17,10,.14);\n  --un-line:rgba(160,118,40,.28);\n  --un-gold:#c9962f;\n  --un-gold-hover:#b8862a;\n  --un-gold-ink:#8d6416;\n  --un-on-gold:#140d02;\n  --un-glow:rgba(201,150,47,.14);\n  --un-header:rgba(255,255,255,.86);\n  --un-bubble:#f5efe3;\n  --un-grain:.035;\n  --un-shadow:0 30px 70px -30px rgba(70,50,10,.35);\n  color-scheme:light;\n}\n\/* areas that stay dark in both themes (video hero, image band, footer, header over the hero) *\/\n#un-site .un-dark,\n#un-site[data-un-theme=\"light\"] .un-header:not(.is-scrolled):not(.menu-open){\n  --un-bg:#000000;\n  --un-bg-2:#0e0a04;\n  --un-surface:#16100a;\n  --un-fg:#fbf7ee;\n  --un-mute:rgba(251,247,238,.68);\n  --un-faint:rgba(251,247,238,.16);\n  --un-line:rgba(216,170,76,.26);\n  --un-gold:#d8aa4c;\n  --un-gold-hover:#e6bd66;\n  --un-gold-ink:#e9c672;\n  --un-glow:rgba(216,170,76,.16);\n  color-scheme:dark;\n  color:var(--un-fg);\n}\n#un-site .un-light{\n  --un-bg:#ffffff;\n  --un-bg-2:#f7f2e8;\n  --un-surface:#faf6ee;\n  --un-surface-2:#ffffff;\n  --un-fg:#15110a;\n  --un-mute:rgba(21,17,10,.66);\n  --un-faint:rgba(21,17,10,.14);\n  --un-line:rgba(160,118,40,.28);\n  --un-gold:#c9962f;\n  --un-gold-hover:#b8862a;\n  --un-gold-ink:#8d6416;\n  --un-glow:rgba(201,150,47,.14);\n  --un-shadow:0 30px 70px -30px rgba(70,50,10,.35);\n  color-scheme:light;\n  color:var(--un-fg);\n}\n#un-site.un-breakout{width:100vw;left:50%;margin-left:-50vw;max-width:none}\nhtml.lenis,html.lenis body{height:auto}\n.lenis.lenis-smooth{scroll-behavior:auto!important}\n.lenis.lenis-stopped{overflow:hidden}\n\n\/* ---------- scoped reset (beats theme styles inside WordPress) ---------- *\/\n#un-site *,#un-site *::before,#un-site *::after{box-sizing:border-box}\n#un-site :where(h1,h2,h3,h4,h5,p,ul,ol,li,figure,blockquote,fieldset,legend,dl,dd){margin:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:none;border:0;background:none;min-width:0}\n#un-site :where(ul,ol){list-style:none}\n#un-site :where(a){color:inherit;text-decoration:none;box-shadow:none;border:0;background:none}\n#un-site :where(button){font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;border-radius:0;text-transform:none;letter-spacing:inherit;box-shadow:none;line-height:inherit;min-height:0;width:auto;height:auto}\n#un-site :where(input){font:inherit;color:inherit;margin:0;box-shadow:none}\n#un-site :where(img,video,svg){display:block;max-width:100%}\n#un-site  ::selection{background:var(--un-gold);color:var(--un-on-gold)}\n#un-site :where(a,button,input,label,[tabindex]):focus-visible{outline:2px solid var(--un-gold);outline-offset:4px}\n#un-site [hidden]{display:none!important}\n#un-site .un-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}\n\n\/* ---------- grain ---------- *\/\n#un-site .un-grain{position:fixed;inset:-50%;z-index:95;pointer-events:none;opacity:var(--un-grain);background-image:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'\/><\/filter><rect width='100%' height='100%' filter='url(%23n)'\/><\/svg>\");animation:un-grain 1.2s steps(6) infinite}\n@keyframes un-grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}\n\n\/* ---------- shared type ---------- *\/\n#un-site .un-h2{font-family:var(--un-font);font-weight:700;font-size:clamp(38px,5vw,78px);line-height:1.02;letter-spacing:-.04em;text-wrap:balance}\n#un-site .un-lede{font-family:var(--un-serif);font-style:italic;font-weight:500;font-size:clamp(24px,2.3vw,34px);line-height:1.25;color:var(--un-gold-ink);text-wrap:balance}\n#un-site .un-p{color:var(--un-mute);max-width:60ch}\n#un-site .un-label{font-size:14px;font-weight:500;letter-spacing:.01em;color:var(--un-gold-ink)}\n#un-site .un-gold{color:var(--un-gold-ink)}\n\n\/* ---------- logo (TUN placeholder) ---------- *\/\n#un-site .un-logo{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--un-gold);display:grid;place-items:center;overflow:hidden;color:var(--un-gold-ink);font-family:var(--un-font);font-weight:700;font-size:12px;letter-spacing:.06em;line-height:1}\n#un-site .un-logo img{width:100%;height:100%;object-fit:cover}\n#un-site .un-logo.has-img{border-color:transparent}\n\n\/* ---------- buttons (flat, with a light sweep) ---------- *\/\n#un-site .un-btn{--h:54px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:var(--h);padding:0 28px;border-radius:999px;font-family:var(--un-font);font-weight:600;font-size:15px;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;isolation:isolate;transition:background-color .4s var(--un-soft),color .4s var(--un-soft),border-color .4s var(--un-soft)}\n#un-site .un-btn svg{width:18px;height:18px;flex:none}\n#un-site .un-btn::after{content:\"\";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-110%);transition:transform .9s var(--un-ease);pointer-events:none}\n#un-site .un-btn:hover::after{transform:translateX(110%)}\n#un-site .un-btn-gold{background:var(--un-gold);color:var(--un-on-gold)}\n#un-site .un-btn-gold:hover{background:var(--un-gold-hover)}\n#un-site .un-btn-line{border:1px solid var(--un-line);color:var(--un-fg);background:transparent}\n#un-site .un-btn-line:hover{border-color:var(--un-gold);background:var(--un-glow)}\n#un-site .un-btn-xl{--h:64px;padding:0 36px;font-size:16px}\n#un-site .un-btn-wa .un-wa-dot{width:8px;height:8px;border-radius:50%;background:var(--un-wa);box-shadow:0 0 0 4px rgba(37,211,102,.18)}\n\n\/* ---------- curtain (page-load reveal; turn off with curtain:false in UN_CONFIG) ---------- *\/\n#un-site .un-curtain{position:fixed;inset:0;z-index:200;background:var(--un-bg);display:grid;place-items:center;animation:un-curtain-safety 0s linear 5s forwards}\n#un-site .un-curtain::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--un-gold)}\n#un-site .un-curtain .un-logo{width:60px;height:60px;font-size:14px;opacity:0;animation:un-fadein 1s .1s ease forwards}\n@keyframes un-curtain-safety{to{visibility:hidden}}\n@keyframes un-fadein{to{opacity:1}}\n@keyframes un-spin{to{transform:rotate(360deg)}}\n\n\/* ---------- header ---------- *\/\n#un-site .un-header{position:fixed;top:0;left:0;right:0;z-index:90;padding-top:env(safe-area-inset-top,0px);color:var(--un-fg);transition:transform .7s var(--un-ease),background-color .5s,border-color .5s;border-bottom:1px solid transparent}\nbody.admin-bar #un-site .un-header{top:32px}\n@media (max-width:782px){body.admin-bar #un-site .un-header{top:46px}}\n#un-site .un-header-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px var(--un-gr) 22px var(--un-gl);transition:padding .5s var(--un-ease)}\n#un-site .un-header.is-scrolled{background:var(--un-header);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-bottom-color:var(--un-line)}\n#un-site .un-header.is-scrolled .un-header-in{padding-block:12px}\n#un-site .un-header.is-hidden{transform:translateY(-110%)}\n#un-site .un-header.menu-open{background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}\n#un-site .un-brand{display:flex;align-items:center;gap:12px;min-width:0}\n#un-site .un-brand-name{font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;line-height:1.2;white-space:nowrap}\n#un-site .un-brand-name small{display:block;font-family:var(--un-serif);font-style:italic;font-weight:500;font-size:14px;letter-spacing:.01em;text-transform:none;color:var(--un-gold-ink)}\n#un-site .un-nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,40px)}\n#un-site .un-nav-link{position:relative;font-size:14px;font-weight:500;color:var(--un-mute);transition:color .35s var(--un-soft)}\n#un-site .un-nav-link:hover,#un-site .un-nav-link.is-active{color:var(--un-fg)}\n#un-site .un-nav-link::after{content:\"\";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--un-gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--un-ease)}\n#un-site .un-nav-link:hover::after,#un-site .un-nav-link.is-active::after{transform:scaleX(1);transform-origin:left}\n#un-site .un-header .un-btn{--h:46px;padding:0 22px;font-size:14px}\n#un-site .un-burger{display:none;position:relative;width:48px;height:48px;border-radius:50%;border:1px solid var(--un-line);z-index:2}\n#un-site .un-burger span{position:absolute;left:14px;right:14px;height:1.5px;background:var(--un-fg);transition:transform .5s var(--un-ease),top .5s var(--un-ease)}\n#un-site .un-burger span:nth-child(1){top:19px}\n#un-site .un-burger span:nth-child(2){top:27px}\n#un-site .un-burger[aria-expanded=\"true\"] span:nth-child(1){top:23px;transform:rotate(45deg)}\n#un-site .un-burger[aria-expanded=\"true\"] span:nth-child(2){top:23px;transform:rotate(-45deg)}\n\n\/* mobile menu *\/\n#un-site .un-menu{position:fixed;inset:0;z-index:89;background:radial-gradient(120% 80% at 80% 0%,var(--un-glow) 0%,transparent 60%),var(--un-bg);display:flex;flex-direction:column;justify-content:space-between;padding:calc(110px + env(safe-area-inset-top,0px)) var(--un-gr) calc(32px + env(safe-area-inset-bottom,0px)) var(--un-gl);opacity:0;visibility:hidden}\n#un-site .un-menu-links{display:grid;gap:4px}\n#un-site .un-menu-links a{display:block}\n#un-site .un-menu-links a span{display:block;font-weight:700;font-size:clamp(40px,11vw,84px);line-height:1.08;letter-spacing:-.045em;transition:color .4s var(--un-soft)}\n#un-site .un-menu-links a:hover span,#un-site .un-menu-links a:focus-visible span{color:var(--un-gold-ink)}\n#un-site .un-menu-links a:last-child span{color:var(--un-gold-ink)}\n#un-site .un-menu-foot{display:grid;gap:18px;color:var(--un-mute);font-size:15px}\n#un-site .un-menu-foot .un-btn{justify-self:start}\n\n@media (max-width:980px){\n  #un-site .un-nav{display:none}\n  #un-site .un-burger{display:block}\n  #un-site .un-header .un-header-cta{display:none}\n}\n\n\/* ---------- hero ---------- *\/\n#un-site .un-hero{position:relative;height:100vh;height:100svh;min-height:560px;background:#000}\n#un-site .un-hero-stage{position:relative;height:100%;width:100%;overflow:hidden}\n#un-site .un-hero-video,#un-site .un-hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;transition:opacity .6s}\n#un-site .un-hero-shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(75% 70% at 50% 46%,rgba(0,0,0,0) 0%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.9) 100%),linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 70%,#000 100%)}\n#un-site .un-hero-dim{position:absolute;inset:0;background:#000;opacity:.72;pointer-events:none}\n#un-site .un-hero-title{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:100px var(--un-gr) 90px var(--un-gl)}\n#un-site .un-hero-the{font-family:var(--un-font);font-weight:600;color:var(--un-gold-ink);font-size:clamp(26px,3.4vw,54px);line-height:1;letter-spacing:-.035em;margin-bottom:.18em;padding-left:.04em}\n#un-site .un-hero-h1{display:block;font-family:var(--un-font);font-weight:800;line-height:.9;letter-spacing:-.05em;text-transform:uppercase;color:var(--un-gold)}\n#un-site .un-hero-line{display:block;white-space:nowrap}\n#un-site .un-hero-line-in{display:inline-block}\n#un-site .un-hero-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:clamp(20px,2.6vw,36px);padding-top:18px;border-top:1px solid var(--un-line)}\n#un-site .un-hero-sub{font-family:var(--un-serif);font-style:italic;font-size:clamp(19px,1.8vw,27px);line-height:1.2;color:var(--un-fg)}\n#un-site .un-hero-by{font-size:14px;color:var(--un-gold-ink);text-align:right}\n#un-site .un-hero-end{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:110px var(--un-gr) 80px var(--un-gl);pointer-events:none}\n#un-site .un-hero-end>*{pointer-events:auto;width:min(25vw,340px);opacity:0}\n#un-site .un-hero-end-left{display:grid;gap:18px}\n#un-site .un-hero-end-left p:first-child{font-weight:700;font-size:clamp(26px,2.5vw,40px);line-height:1.08;letter-spacing:-.035em}\n#un-site .un-hero-end-right{display:grid;gap:12px;justify-items:end;text-align:right}\n#un-site .un-hero-end-right .un-btn{width:100%;max-width:300px}\n#un-site .un-cue{position:absolute;left:50%;bottom:calc(26px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:grid;justify-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--un-mute)}\n#un-site .un-cue i{display:block;width:1px;height:46px;background:linear-gradient(var(--un-gold),transparent);transform-origin:top;animation:un-cue 2.4s var(--un-soft) infinite}\n@keyframes un-cue{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}\n#un-site .un-hero-rail{position:absolute;right:calc(18px + env(safe-area-inset-right,0px));top:50%;height:28vh;width:1px;margin-top:-14vh;background:var(--un-faint)}\n#un-site .un-hero-rail span{position:absolute;inset:0;background:var(--un-gold);transform-origin:top;transform:scaleY(0)}\n@media (max-width:820px){\n  #un-site .un-hero-meta{flex-direction:column;align-items:flex-start;gap:8px}\n  #un-site .un-hero-by{text-align:left}\n  #un-site .un-hero-end{flex-direction:column;justify-content:flex-end;align-items:stretch;gap:16px;padding-bottom:calc(36px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.85) 80%)}\n  #un-site .un-hero-end>*{width:auto}\n  #un-site .un-hero-end-left p:first-child{font-size:26px}\n  #un-site .un-hero-end-left p+p{display:none}\n  #un-site .un-hero-end-right{justify-items:stretch;text-align:left}\n  #un-site .un-hero-end-right .un-btn{max-width:none}\n  #un-site .un-hero-rail{display:none}\n}\n\n\/* ---------- sections ---------- *\/\n#un-site .un-section{background-color:var(--un-bg);position:relative;padding:clamp(90px,10vw,160px) var(--un-gr) clamp(90px,10vw,160px) var(--un-gl)}\n#un-site .un-wrap{max-width:1360px;margin:0 auto;position:relative}\n\n\/* ---------- book ---------- *\/\n#un-site .un-book{background:radial-gradient(60% 50% at 25% 40%,var(--un-glow),transparent 70%),var(--un-bg);border-top:1px solid var(--un-line)}\n#un-site .un-book-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);align-items:start}\n#un-site .un-book-stage{position:relative;height:100vh;display:grid;place-items:center;align-content:center;gap:34px}\n#un-site .un-book-scene{perspective:1800px;position:relative}\n#un-site .un-book3d{--w:min(340px,64vw);--t:46px;position:relative;width:var(--w);aspect-ratio:2\/3;transform-style:preserve-3d;transform:rotateY(-24deg) rotateX(6deg)}\n#un-site .un-face{position:absolute;inset:0;background-size:cover;background-position:center;-webkit-backface-visibility:hidden;backface-visibility:hidden}\n#un-site .un-face-front{transform:translateZ(calc(var(--t) \/ 2));border-radius:2px 5px 5px 2px;box-shadow:inset 6px 0 14px rgba(0,0,0,.45),inset -1px 0 0 rgba(255,255,255,.12)}\n#un-site .un-face-front::after{content:\"\";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 32%);pointer-events:none}\n#un-site .un-face-back{transform:rotateY(180deg) translateZ(calc(var(--t) \/ 2));border-radius:5px 2px 2px 5px;box-shadow:inset -6px 0 14px rgba(0,0,0,.45)}\n#un-site .un-face-spine{left:calc(var(--t) \/ -2);right:auto;width:var(--t);transform:rotateY(-90deg);background:#1f160a;display:grid;place-items:center;box-shadow:inset 0 0 12px rgba(0,0,0,.6)}\n#un-site .un-face-spine span{writing-mode:vertical-rl;transform:rotate(180deg);font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#e9c672;white-space:nowrap}\n#un-site .un-face-pages{left:calc(100% - var(--t) \/ 2);right:auto;width:var(--t);transform:rotateY(90deg);background:repeating-linear-gradient(90deg,#f1e7cf 0 1px,#d6c7a6 1px 2px)}\n#un-site .un-face-top{top:calc(var(--t) \/ -2);bottom:auto;height:var(--t);transform:rotateX(90deg);background:repeating-linear-gradient(0deg,#f1e7cf 0 1px,#d6c7a6 1px 2px)}\n#un-site .un-face-bottom{top:calc(100% - var(--t) \/ 2);bottom:auto;height:var(--t);transform:rotateX(-90deg);background:#cbbb98}\n#un-site .un-book-shadow{position:absolute;left:10%;right:10%;bottom:-46px;height:36px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);filter:blur(6px)}\n#un-site .un-book-halo{position:absolute;left:50%;top:50%;width:150%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--un-glow),transparent 62%);pointer-events:none}\n#un-site .un-book-side{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--un-mute)}\n#un-site .un-book-side b{font-weight:600;color:var(--un-gold-ink)}\n#un-site .un-book-side i{display:block;width:40px;height:1px;background:var(--un-line)}\n#un-site .un-book-copy{display:grid;gap:30px;padding-block:24vh 8vh}\n#un-site .un-book-points{display:grid;border-top:1px solid var(--un-line);margin-top:6px}\n#un-site .un-book-points li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--un-line)}\n#un-site .un-book-points li svg{width:12px;height:12px;margin-top:8px;color:var(--un-gold)}\n#un-site .un-book-copy .un-btn{justify-self:start}\n@media (max-width:900px){\n  #un-site .un-book-grid{grid-template-columns:minmax(0,1fr)}\n  #un-site .un-book-stage{height:auto;padding-block:30px 60px}\n  #un-site .un-book-copy{padding-block:0}\n  #un-site .un-book3d{--w:min(280px,62vw);--t:38px}\n}\n\n\/* ---------- manifesto ---------- *\/\n#un-site .un-manifesto{background:var(--un-bg)}\n#un-site .un-manifesto-text{font-weight:650;font-size:clamp(32px,5.2vw,86px);line-height:1.06;letter-spacing:-.045em;max-width:1300px;margin:0 auto;text-wrap:balance}\n#un-site .un-mw{display:inline-block;margin-right:.24em}\n#un-site .un-manifesto-sign{max-width:1300px;margin:clamp(30px,4vw,56px) auto 0;display:flex;align-items:center;gap:16px;color:var(--un-gold-ink);font-family:var(--un-serif);font-style:italic;font-size:22px}\n#un-site .un-manifesto-sign i{display:block;width:60px;height:1px;background:var(--un-gold)}\n\n\/* ---------- inside (horizontal) ---------- *\/\n#un-site .un-inside{position:relative;background:linear-gradient(180deg,var(--un-bg) 0%,var(--un-bg-2) 50%,var(--un-bg) 100%);overflow:hidden}\n#un-site .un-inside-pin{position:relative;height:100vh;height:100svh;min-height:620px;display:flex;align-items:center}\n#un-site .un-inside-track{display:flex;align-items:center;gap:clamp(40px,6vw,110px);padding-left:var(--un-gl);padding-right:var(--un-gr);will-change:transform}\n#un-site .un-inside-intro{flex:none;width:min(520px,80vw);display:grid;gap:26px}\n#un-site .un-theme{flex:none;width:clamp(300px,30vw,470px);display:grid;gap:20px}\n#un-site .un-theme:nth-child(odd){transform:translateY(7vh)}\n#un-site .un-theme:nth-child(even){transform:translateY(-6vh)}\n#un-site .un-theme-img{position:relative;aspect-ratio:4\/5;overflow:hidden;border-radius:4px;background:var(--un-surface);max-width:100%}\n#un-site .un-theme-img-in{position:absolute;inset:-6% -14%;background-size:var(--size,330%);background-position:var(--pos,50% 50%);background-repeat:no-repeat;will-change:transform}\n#un-site .un-theme-img::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.7));pointer-events:none}\n#un-site .un-theme-img figcaption{position:absolute;left:18px;bottom:16px;z-index:1;font-family:var(--un-serif);font-style:italic;font-size:19px;color:#f3d892}\n#un-site .un-theme h3{font-weight:800;font-size:clamp(32px,3vw,50px);line-height:1;letter-spacing:-.045em}\n#un-site .un-theme p{color:var(--un-mute);max-width:40ch}\n#un-site .un-inside-bar{position:absolute;left:var(--un-gl);right:var(--un-gr);bottom:calc(34px + env(safe-area-inset-bottom,0px));height:1px;background:var(--un-faint)}\n#un-site .un-inside-bar span{position:absolute;inset:0;background:var(--un-gold);transform-origin:left;transform:scaleX(0)}\n@media (max-width:899px){\n  #un-site .un-inside-pin{height:auto;min-height:0;display:block;padding-block:100px}\n  #un-site .un-inside-track{flex-direction:column;align-items:stretch;gap:64px}\n  #un-site .un-inside-intro,#un-site .un-theme{width:auto}\n  #un-site .un-theme:nth-child(odd),#un-site .un-theme:nth-child(even){transform:none}\n  #un-site .un-theme-img{aspect-ratio:4\/3}\n  #un-site .un-inside-bar{display:none}\n}\n\n\/* ---------- who ---------- *\/\n#un-site .un-who-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:clamp(40px,6vw,80px)}\n#un-site .un-who-list{border-top:1px solid var(--un-line)}\n#un-site .un-who-row{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:24px;padding:clamp(20px,2.4vw,32px) 16px;margin-inline:-16px;border-bottom:1px solid var(--un-line);border-radius:6px;transition:background-color .8s var(--un-soft)}\n#un-site .un-who-name{font-weight:600;font-size:clamp(24px,2.8vw,44px);line-height:1.1;letter-spacing:-.04em;transition:color .8s var(--un-soft),transform .8s var(--un-soft)}\n#un-site .un-who-note{color:var(--un-mute);font-size:16px;transition:color .8s var(--un-soft)}\n#un-site .un-who-row:hover{background:var(--un-glow)}\n#un-site .un-who-row:hover .un-who-name{color:var(--un-gold-ink);transform:translateX(8px)}\n#un-site .un-who-row:hover .un-who-note{color:var(--un-fg)}\n@media (max-width:820px){\n  #un-site .un-who-head{grid-template-columns:minmax(0,1fr);gap:20px}\n  #un-site .un-who-row{grid-template-columns:minmax(0,1fr);gap:6px}\n}\n\n\/* ---------- vision band ---------- *\/\n#un-site .un-vision{position:relative;height:110vh;min-height:620px;overflow:hidden;display:grid;place-items:center;text-align:center;padding-left:var(--un-gl);padding-right:var(--un-gr);background:#000}\n#un-site .un-vision-img{position:absolute;inset:-8%;background-size:cover;background-position:50% 35%;will-change:transform}\n#un-site .un-vision-shade{position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 50%,rgba(0,0,0,.3),rgba(0,0,0,.85))}\n#un-site .un-vision-inner{position:relative;display:grid;justify-items:center}\n#un-site .un-vision-line{font-family:var(--un-font);font-weight:700;font-size:clamp(42px,6.8vw,118px);line-height:1;letter-spacing:-.05em;max-width:13ch;text-wrap:balance;color:#fbf7ee;text-shadow:0 10px 60px rgba(0,0,0,.6)}\n#un-site .un-vision-cap{margin-top:28px;font-size:14px;color:#e9c672}\n\n\/* ---------- author ---------- *\/\n#un-site .un-author{background:radial-gradient(50% 60% at 80% 30%,var(--un-glow),transparent 70%),var(--un-bg)}\n#un-site .un-author-box{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,100px);align-items:center;padding:clamp(28px,5vw,80px);background:var(--un-surface);border:1px solid var(--un-line);border-radius:6px;box-shadow:var(--un-shadow)}\n#un-site .un-author-figure{position:relative;width:100%;max-width:420px;aspect-ratio:1;justify-self:center}\n#un-site .un-author-ring{position:absolute;inset:0;width:100%;height:100%;color:var(--un-gold-ink);animation:un-spin 60s linear infinite}\n#un-site .un-author-ring text{font-family:var(--un-font);font-weight:600;font-size:10px;letter-spacing:.28em;text-transform:uppercase;fill:currentColor}\n#un-site .un-author-disc{position:absolute;inset:15%;border-radius:50%;overflow:hidden;background:var(--un-bg);border:1px solid var(--un-line);display:grid;place-items:center}\n#un-site .un-author-disc img{width:100%;height:100%;object-fit:cover;max-width:none}\n#un-site .un-author-mono{font-weight:800;font-size:clamp(64px,8vw,120px);line-height:1;letter-spacing:-.06em;color:var(--un-gold-ink)}\n#un-site .un-author-copy{display:grid;gap:22px}\n#un-site .un-author-name{font-weight:800;font-size:clamp(42px,5.2vw,80px);line-height:.98;letter-spacing:-.05em}\n#un-site .un-author-titles{font-family:var(--un-serif);font-style:italic;font-size:clamp(22px,2vw,30px);color:var(--un-gold-ink);line-height:1.2}\n#un-site .un-lineage{display:grid;border-top:1px solid var(--un-line)}\n#un-site .un-lineage li{padding:12px 0;border-bottom:1px solid var(--un-line);font-size:15px;display:flex;gap:14px;align-items:baseline}\n#un-site .un-lineage li::before{content:\"\";flex:none;width:6px;height:6px;background:var(--un-gold);transform:rotate(45deg) translateY(-2px)}\n#un-site .un-author-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}\n@media (max-width:900px){#un-site .un-author-box{grid-template-columns:minmax(0,1fr)}#un-site .un-author-figure{max-width:300px}}\n\/* author design B: editorial portrait *\/\n#un-site .un-author-b{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,120px);align-items:center;isolation:isolate}\n#un-site .un-author-b-photo{position:relative;aspect-ratio:4\/5;width:100%;max-width:520px;border-radius:6px;background:var(--un-surface);border:1px solid var(--un-line);display:grid;place-items:center}\n#un-site .un-author-b-photo::before{content:\"\";position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--un-gold);border-radius:6px;z-index:-1}\n#un-site .un-author-b-photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit;max-width:none}\n#un-site .un-author-b-photo .un-author-mono{font-size:clamp(80px,10vw,150px)}\n\/* author design C: centred *\/\n#un-site .un-author-c{display:grid;justify-items:center;text-align:center;gap:22px;max-width:800px;margin:0 auto}\n#un-site .un-author-c-photo{width:clamp(150px,18vw,210px);aspect-ratio:1;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--un-surface);border:1px solid var(--un-gold);box-shadow:0 0 0 10px var(--un-glow);margin-bottom:12px}\n#un-site .un-author-c-photo img{width:100%;height:100%;object-fit:cover;max-width:none}\n#un-site .un-author-c-photo .un-author-mono{font-size:clamp(52px,6vw,72px)}\n#un-site .un-author-c .un-p{margin-inline:auto}\n#un-site .un-author-c .un-author-actions{justify-content:center}\n#un-site .un-lineage-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}\n#un-site .un-lineage-chips li{padding:8px 16px;border:1px solid var(--un-line);border-radius:999px;font-size:14px;color:var(--un-mute)}\n@media (max-width:900px){#un-site .un-author-b{grid-template-columns:minmax(0,1fr)}#un-site .un-author-b-photo{max-width:420px;margin-right:20px}}\n\/* preview helper: shows all three designs with labels when authorDesign:\"all\" *\/\n#un-site .un-design-tag{display:none}\n#un-site.un-all-designs .un-design-tag{display:inline-block;margin-bottom:28px;padding:6px 14px;border:1px dashed var(--un-gold);border-radius:999px;font-size:13px;font-weight:600;color:var(--un-gold-ink)}\n#un-site.un-all-designs .un-author-design+.un-author-design{margin-top:clamp(90px,10vw,140px);padding-top:clamp(90px,10vw,140px);border-top:1px dashed var(--un-line)}\n\n\/* ---------- order ---------- *\/\n#un-site .un-order{background:radial-gradient(55% 60% at 28% 50%,var(--un-glow),transparent 70%),var(--un-bg);overflow:hidden;border-top:1px solid var(--un-line)}\n#un-site .un-order-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,110px);align-items:center}\n#un-site .un-order-visual{position:relative;display:grid;place-items:center;min-height:560px}\n#un-site .un-order-rays{position:absolute;width:min(720px,140%);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,var(--un-glow) 0deg 2deg,transparent 2deg 12deg);-webkit-mask:radial-gradient(circle,#000 0%,transparent 66%);mask:radial-gradient(circle,#000 0%,transparent 66%);animation:un-spin 90s linear infinite;pointer-events:none}\n#un-site .un-order-float{animation:un-float 7s ease-in-out infinite}\n@keyframes un-float{0%,100%{transform:translateY(-8px)}50%{transform:translateY(10px)}}\n#un-site .un-order .un-book3d{--w:min(330px,62vw);transform:rotateY(-26deg) rotateX(4deg)}\n#un-site .un-order-panel{display:grid;gap:26px}\n#un-site .un-order-h{font-weight:800;font-size:clamp(52px,4.8vw,112px);line-height:.95;letter-spacing:-.055em;color:var(--un-gold-ink)}\n#un-site .un-formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}\n#un-site .un-format{position:relative;cursor:pointer;display:block}\n#un-site .un-format input{position:absolute;opacity:0;pointer-events:none}\n#un-site .un-format-box{display:grid;gap:4px;height:100%;padding:18px 18px 16px;border:1px solid var(--un-line);border-radius:6px;background:transparent;transition:border-color .4s var(--un-soft),background-color .4s var(--un-soft)}\n#un-site .un-format:hover .un-format-box{border-color:var(--un-gold)}\n#un-site .un-format input:checked+.un-format-box{border-color:var(--un-gold);background:var(--un-glow);box-shadow:inset 0 0 0 1px var(--un-gold)}\n#un-site .un-format input:focus-visible+.un-format-box{outline:2px solid var(--un-gold);outline-offset:3px}\n#un-site .un-format-name{font-weight:700;font-size:18px;line-height:1.15;letter-spacing:-.02em}\n#un-site .un-format-note{font-size:13px;color:var(--un-mute);line-height:1.4}\n#un-site .un-format-price{margin-top:8px;font-size:14px;font-weight:600;color:var(--un-gold-ink);font-variant-numeric:tabular-nums}\n#un-site .un-order-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px}\n#un-site .un-field{display:grid;gap:8px}\n#un-site .un-field>span{font-size:13px;color:var(--un-mute)}\n#un-site .un-qty{display:flex;align-items:center;height:56px;border:1px solid var(--un-line);border-radius:999px;padding:0 6px}\n#un-site .un-qty button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:20px;color:var(--un-gold-ink);transition:background-color .3s}\n#un-site .un-qty button:hover{background:var(--un-glow)}\n#un-site .un-qty input{width:46px;text-align:center;background:none;border:0;padding:0;font-weight:600;font-size:17px;color:var(--un-fg);font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}\n#un-site .un-qty input::-webkit-outer-spin-button,#un-site .un-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n#un-site .un-input{height:56px;width:100%;background:transparent;border:1px solid var(--un-line);border-radius:999px;padding:0 22px;font-size:16px;color:var(--un-fg);transition:border-color .3s}\n#un-site .un-input::placeholder{color:var(--un-mute);opacity:.7}\n#un-site .un-input:focus{border-color:var(--un-gold);outline:none}\n#un-site .un-order-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:18px;border-top:1px solid var(--un-line);font-size:15px;color:var(--un-mute)}\n#un-site .un-order-total strong{font-weight:700;font-size:26px;letter-spacing:-.03em;color:var(--un-fg);font-variant-numeric:tabular-nums}\n#un-site .un-order-cta{display:grid;gap:14px}\n#un-site .un-order-cta .un-btn{width:100%}\n#un-site .un-order-note{font-size:14px;color:var(--un-mute)}\n#un-site .un-order-note a{color:var(--un-gold-ink);border-bottom:1px solid var(--un-line)}\n#un-site .un-trust{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:14px;color:var(--un-mute)}\n#un-site .un-trust span{display:flex;align-items:center;gap:8px}\n#un-site .un-trust svg{width:12px;height:12px;color:var(--un-gold)}\n@media (max-width:980px){\n  #un-site .un-order-grid{grid-template-columns:minmax(0,1fr)}\n  #un-site .un-order-visual{min-height:440px}\n}\n@media (max-width:560px){\n  #un-site .un-formats{grid-template-columns:minmax(0,1fr)}\n  #un-site .un-order-row{grid-template-columns:minmax(0,1fr)}\n  #un-site .un-qty{justify-content:space-between}\n}\n\n\/* ---------- faq ---------- *\/\n#un-site .un-faq{background:var(--un-bg-2)}\n#un-site .un-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,110px);align-items:start}\n#un-site .un-faq-aside{display:grid;gap:24px;position:sticky;top:120px}\n#un-site .un-faq-aside .un-btn{justify-self:start}\n#un-site .un-faq-list{border-top:1px solid var(--un-line)}\n#un-site .un-faq-item{border-bottom:1px solid var(--un-line)}\n#un-site .un-faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;text-align:left;font-weight:600;font-size:clamp(19px,1.6vw,23px);line-height:1.3;letter-spacing:-.025em;transition:color .4s var(--un-soft)}\n#un-site .un-faq-q:hover{color:var(--un-gold-ink)}\n#un-site .un-faq-icon{position:relative;flex:none;width:34px;height:34px;border:1px solid var(--un-line);border-radius:50%}\n#un-site .un-faq-icon::before,#un-site .un-faq-icon::after{content:\"\";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background:var(--un-gold);transition:transform .5s var(--un-ease)}\n#un-site .un-faq-icon::after{transform:rotate(90deg)}\n#un-site .un-faq-q[aria-expanded=\"true\"] .un-faq-icon::after{transform:rotate(0)}\n#un-site .un-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--un-ease)}\n#un-site .un-faq-a>div{overflow:hidden}\n#un-site .un-faq-a p{padding:0 60px 28px 0;color:var(--un-mute);max-width:62ch}\n#un-site .un-faq-q[aria-expanded=\"true\"]+.un-faq-a{grid-template-rows:1fr}\n@media (max-width:900px){#un-site .un-faq-grid{grid-template-columns:minmax(0,1fr)}#un-site .un-faq-aside{position:static}#un-site .un-faq-a p{padding-right:0}}\n\n\/* ---------- footer ---------- *\/\n#un-site .un-footer{position:relative;background:var(--un-bg-2);border-top:1px solid var(--un-line);padding:clamp(80px,10vw,140px) var(--un-gr) calc(28px + env(safe-area-inset-bottom,0px)) var(--un-gl)}\n#un-site .un-footer-cta{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;padding-bottom:clamp(60px,7vw,100px);border-bottom:1px solid var(--un-line)}\n#un-site .un-footer-cta h2{max-width:14ch}\n#un-site .un-footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px;padding-block:clamp(50px,6vw,80px)}\n#un-site .un-footer-col{display:grid;gap:14px;align-content:start}\n#un-site .un-footer-col h4{font-size:13px;font-weight:600;color:var(--un-gold-ink);margin-bottom:6px}\n#un-site .un-footer-col a{color:var(--un-mute);transition:color .35s var(--un-soft);justify-self:start}\n#un-site .un-footer-col a:hover{color:var(--un-fg)}\n#un-site .un-footer-col p{color:var(--un-mute);max-width:36ch}\n#un-site .un-footer-num{font-weight:700;font-size:20px;letter-spacing:-.02em;color:var(--un-fg)!important}\n#un-site .un-socials{display:flex;gap:10px;flex-wrap:wrap}\n#un-site .un-socials a{width:44px;height:44px;border:1px solid var(--un-line);border-radius:50%;display:grid;place-items:center;color:var(--un-fg);transition:background-color .35s,color .35s,border-color .35s}\n#un-site .un-socials a:hover{background:var(--un-gold);color:var(--un-on-gold);border-color:var(--un-gold)}\n#un-site .un-socials svg{width:18px;height:18px}\n#un-site .un-footer-base{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:26px;border-top:1px solid var(--un-line);font-size:14px;color:var(--un-mute)}\n#un-site .un-top{display:inline-flex;align-items:center;gap:10px;color:var(--un-fg)}\n#un-site .un-top i{width:38px;height:38px;border:1px solid var(--un-line);border-radius:50%;display:grid;place-items:center;transition:background-color .3s,color .3s}\n#un-site .un-top:hover i{background:var(--un-gold);color:var(--un-on-gold)}\n#un-site .un-top svg{width:14px;height:14px}\n@media (max-width:900px){#un-site .un-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#un-site .un-footer-col:first-child{grid-column:1\/-1}}\n@media (max-width:480px){#un-site .un-footer-grid{grid-template-columns:minmax(0,1fr)}}\n\n\/* ---------- WhatsApp chat ---------- *\/\n#un-site .un-chat{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:120;display:grid;justify-items:end;gap:14px;font-size:15px;color:var(--un-fg)}\n#un-site .un-chat-fab{position:relative;width:62px;height:62px;border-radius:50%;background:var(--un-gold);color:var(--un-on-gold);display:grid;place-items:center;box-shadow:0 16px 40px -14px rgba(0,0,0,.6);transition:transform .5s var(--un-soft),background-color .4s}\n#un-site .un-chat-fab:hover{transform:scale(1.05);background:var(--un-gold-hover)}\n#un-site .un-chat-fab svg{width:30px;height:30px}\n#un-site .un-chat-fab::before{content:\"\";position:absolute;inset:0;border-radius:50%;border:1px solid var(--un-gold);animation:un-pulse 2.8s var(--un-soft) infinite}\n#un-site .un-chat-fab .un-dot{position:absolute;right:2px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--un-wa);border:2px solid var(--un-bg)}\n#un-site .un-chat-fab .un-x{display:none}\n#un-site .un-chat.is-open .un-chat-fab .un-wa-i{display:none}\n#un-site .un-chat.is-open .un-chat-fab .un-x{display:block;width:22px;height:22px}\n#un-site .un-chat.is-open .un-chat-fab::before,#un-site .un-chat.is-open .un-chat-fab .un-dot{display:none}\n@keyframes un-pulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.5);opacity:0}}\n#un-site .un-chat-teaser{display:flex;align-items:center;gap:12px;max-width:290px;padding:14px 14px 14px 18px;background:var(--un-surface-2);border:1px solid var(--un-line);border-radius:18px 18px 4px 18px;box-shadow:var(--un-shadow);cursor:pointer}\n#un-site .un-chat-teaser b{color:var(--un-gold-ink);font-weight:600}\n#un-site .un-chat-teaser button{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--un-mute)}\n#un-site .un-chat-teaser button svg{width:12px;height:12px}\n#un-site .un-chat-panel{width:min(380px,calc(100vw - 40px));height:min(580px,calc(100vh - 140px));height:min(580px,calc(100svh - 140px));display:flex;flex-direction:column;background:var(--un-surface-2);border:1px solid var(--un-line);border-radius:22px;overflow:hidden;box-shadow:var(--un-shadow);transform-origin:bottom right}\n#un-site .un-chat-head{display:flex;align-items:center;gap:12px;padding:16px 16px 16px 18px;background:var(--un-surface);border-bottom:1px solid var(--un-line)}\n#un-site .un-chat-avatar{position:relative;width:44px;height:44px;border-radius:50%;background-size:cover;background-position:50% 20%;border:1px solid var(--un-gold);flex:none}\n#un-site .un-chat-avatar::after{content:\"\";position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;background:var(--un-wa);border:2px solid var(--un-surface)}\n#un-site .un-chat-who{flex:1;min-width:0;line-height:1.3}\n#un-site .un-chat-who b{display:block;font-weight:700;font-size:15px;letter-spacing:-.02em}\n#un-site .un-chat-who span{font-size:13px;color:var(--un-mute)}\n#un-site .un-chat-close{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--un-mute);transition:background-color .3s,color .3s}\n#un-site .un-chat-close:hover{background:var(--un-faint);color:var(--un-fg)}\n#un-site .un-chat-close svg{width:14px;height:14px}\n#un-site .un-chat-body{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}\n#un-site .un-msg{max-width:86%;padding:10px 14px 8px;border-radius:16px;line-height:1.45;font-size:15px;white-space:pre-line}\n#un-site .un-msg time{display:block;margin-top:4px;font-size:11px;opacity:.55;text-align:right}\n#un-site .un-msg-bot{align-self:flex-start;background:var(--un-bubble);border:1px solid var(--un-line);border-bottom-left-radius:4px}\n#un-site .un-msg-me{align-self:flex-end;background:var(--un-gold);color:var(--un-on-gold);border-bottom-right-radius:4px}\n#un-site .un-msg-typing{display:flex;gap:5px;padding:14px 16px}\n#un-site .un-msg-typing i{width:7px;height:7px;border-radius:50%;background:var(--un-gold);animation:un-typing 1.1s infinite}\n#un-site .un-msg-typing i:nth-child(2){animation-delay:.15s}\n#un-site .un-msg-typing i:nth-child(3){animation-delay:.3s}\n@keyframes un-typing{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}\n#un-site .un-msg-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:var(--un-wa);color:#04210f;font-weight:700;font-size:14px;transition:background-color .3s}\n#un-site .un-msg-cta:hover{background:#1fbe5a}\n#un-site .un-msg-cta svg{width:18px;height:18px}\n#un-site .un-chat-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}\n#un-site .un-chat-quick:empty{display:none}\n#un-site .un-chip{padding:9px 14px;border:1px solid var(--un-line);border-radius:999px;font-size:14px;color:var(--un-gold-ink);transition:background-color .3s,color .3s,border-color .3s}\n#un-site .un-chip:hover{background:var(--un-gold);color:var(--un-on-gold);border-color:var(--un-gold)}\n#un-site .un-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--un-line);background:var(--un-surface)}\n#un-site .un-chat-form input{flex:1;min-width:0;height:46px;padding:0 16px;border-radius:999px;background:var(--un-surface-2);border:1px solid var(--un-line);font-size:15px;color:var(--un-fg)}\n#un-site .un-chat-form input:focus{outline:none;border-color:var(--un-gold)}\n#un-site .un-chat-form button{width:46px;height:46px;border-radius:50%;background:var(--un-wa);color:#04210f;display:grid;place-items:center;flex:none}\n#un-site .un-chat-form button svg{width:18px;height:18px}\n#un-site .un-chat-foot{padding:0 12px 10px;background:var(--un-surface);font-size:11.5px;color:var(--un-mute);text-align:center}\n\n\/* ---------- reduced motion \/ no-JS-animation fallback ---------- *\/\n#un-site.un-reduce .un-hero-end>*{opacity:1}\n#un-site.un-reduce .un-hero-title{display:none}\n#un-site.un-reduce .un-hero-dim{opacity:.2}\n#un-site.un-reduce .un-curtain{display:none}\n@media (prefers-reduced-motion:reduce){\n  #un-site .un-grain,#un-site .un-author-ring,#un-site .un-order-rays,#un-site .un-order-float,#un-site .un-cue i,#un-site .un-chat-fab::before{animation:none!important}\n}\n<\/style>\n\n<div id=\"un-site\" data-un-theme=\"dark\">\n  <div class=\"un-grain\" aria-hidden=\"true\"><\/div>\n\n  <!-- Curtain: page-load reveal (set curtain:false in UN_CONFIG to turn it off) -->\n  <div class=\"un-curtain\" aria-hidden=\"true\"><span class=\"un-logo\" data-un-logo>TUN<\/span><\/div>\n\n  <!-- Header -->\n  <header class=\"un-header\">\n    <div class=\"un-header-in\">\n      <a class=\"un-brand\" href=\"#top\" data-scroll aria-label=\"The Unfinished Nations, back to top\">\n        <span class=\"un-logo\" data-un-logo aria-hidden=\"true\">TUN<\/span>\n        <span class=\"un-brand-name\">SHEMSU AMMASUBABA PUBLISHING HOUSE<small>by Ne AmmasuBaba Kinkela Wa Ma Zulu<\/small><\/span>\n      <\/a>\n      <nav class=\"un-nav\" aria-label=\"Main\">\n        <a class=\"un-nav-link\" href=\"#book\" data-scroll>The book<\/a>\n        <a class=\"un-nav-link\" href=\"#inside\" data-scroll>Inside<\/a>\n        <a class=\"un-nav-link\" href=\"#readers\" data-scroll>Who it's for<\/a>\n        <a class=\"un-nav-link\" href=\"#author\" data-scroll>Author<\/a>\n        <a class=\"un-nav-link\" href=\"#faq\" data-scroll>FAQ<\/a>\n      <\/nav>\n      <a class=\"un-btn un-btn-gold un-header-cta\" href=\"#order\" data-scroll>Grab your copy<\/a>\n      <button class=\"un-burger\" type=\"button\" aria-expanded=\"false\" aria-controls=\"un-menu\" aria-label=\"Open menu\"><span><\/span><span><\/span><\/button>\n    <\/div>\n  <\/header>\n\n  <div class=\"un-menu\" id=\"un-menu\" aria-hidden=\"true\">\n    <nav class=\"un-menu-links\" aria-label=\"Mobile\">\n      <a href=\"#book\" data-scroll><span>The book<\/span><\/a>\n      <a href=\"#inside\" data-scroll><span>Inside<\/span><\/a>\n      <a href=\"#readers\" data-scroll><span>Who it's for<\/span><\/a>\n      <a href=\"#author\" data-scroll><span>Author<\/span><\/a>\n      <a href=\"#faq\" data-scroll><span>FAQ<\/span><\/a>\n      <a href=\"#order\" data-scroll><span>Grab your copy<\/span><\/a>\n    <\/nav>\n    <div class=\"un-menu-foot\">\n      <p>Order directly from the author's team on WhatsApp.<\/p>\n      <a class=\"un-btn un-btn-line un-btn-wa\" data-wa=\"order\" href=\"#order\"><span class=\"un-wa-dot\"><\/span>Chat on WhatsApp<\/a>\n    <\/div>\n  <\/div>\n\n  <main>\n    <!-- HERO -->\n    <section class=\"un-hero un-dark\" id=\"top\" aria-label=\"The Unfinished Nations\">\n      <div class=\"un-hero-stage\">\n        <img class=\"un-hero-poster\" data-un-src=\"poster-start.jpg\" alt=\"\" aria-hidden=\"true\">\n        <video class=\"un-hero-video\" muted playsinline preload=\"auto\" aria-hidden=\"true\"><\/video>\n        <div class=\"un-hero-dim\" aria-hidden=\"true\"><\/div>\n        <div class=\"un-hero-shade\" aria-hidden=\"true\"><\/div>\n\n        <div class=\"un-hero-title\">\n         <div class=\"un-hero-title-in\">\n          <p class=\"un-hero-the\">The<\/p>\n          <h1 class=\"un-hero-h1\">\n            <span class=\"un-hero-line\"><span class=\"un-hero-line-in\">Unfinished<\/span><\/span>\n            <span class=\"un-hero-line\"><span class=\"un-hero-line-in\">Nations<\/span><\/span>\n          <\/h1>\n          <div class=\"un-hero-meta\">\n            <p class=\"un-hero-sub\">Awakening the Builders of Africa's Future<\/p>\n            <p class=\"un-hero-by\">N'fumu Nzila \/ Ntinu Makuk'u \/ Ntinu Mpeve<\/p>\n          <\/div>\n         <\/div>\n        <\/div>\n\n        <div class=\"un-hero-end\">\n          <div class=\"un-hero-end-left\">\n            <p>A call to the generation that will finish the work.<\/p>\n            <p class=\"un-p\">A new book on memory, identity and the building of Africa's future.<\/p>\n          <\/div>\n          <div class=\"un-hero-end-right\">\n            <a class=\"un-btn un-btn-gold\" href=\"#order\" data-scroll>Grab your copy<\/a>\n            <a class=\"un-btn un-btn-line un-btn-wa\" data-wa=\"order\" href=\"#order\"><span class=\"un-wa-dot\"><\/span>Order on WhatsApp<\/a>\n          <\/div>\n        <\/div>\n\n        <div class=\"un-cue\" aria-hidden=\"true\">Scroll<i><\/i><\/div>\n        <div class=\"un-hero-rail\" aria-hidden=\"true\"><span><\/span><\/div>\n      <\/div>\n    <\/section>\n\n    <!-- THE BOOK -->\n    <section class=\"un-section un-book\" id=\"book\">\n      <div class=\"un-wrap un-book-grid\">\n        <div class=\"un-book-stage\">\n          <div class=\"un-book-scene\">\n            <div class=\"un-book-halo\" aria-hidden=\"true\"><\/div>\n            <div class=\"un-book3d\" role=\"img\" aria-label=\"The Unfinished Nations, front and back cover\">\n              <div class=\"un-face un-face-front\" data-un-bg=\"cover-front.jpg\"><\/div>\n              <div class=\"un-face un-face-back\" data-un-bg=\"cover-back.jpg\"><\/div>\n              <div class=\"un-face un-face-spine\"><span>The Unfinished Nations<\/span><\/div>\n              <div class=\"un-face un-face-pages\"><\/div>\n              <div class=\"un-face un-face-top\"><\/div>\n              <div class=\"un-face un-face-bottom\"><\/div>\n            <\/div>\n            <div class=\"un-book-shadow\" aria-hidden=\"true\"><\/div>\n          <\/div>\n          <p class=\"un-book-side\" aria-live=\"polite\"><i><\/i><b class=\"un-book-side-label\">Front cover<\/b><i><\/i><\/p>\n        <\/div>\n\n        <div class=\"un-book-copy\">\n          <p class=\"un-label\" data-reveal>The book<\/p>\n          <h2 class=\"un-h2\" data-reveal>A blueprint for the people who will build what comes next<\/h2>\n          <p class=\"un-lede\" data-reveal>Africa's nations are still under construction, and the builders are already here.<\/p>\n          <p class=\"un-p\" data-reveal><em>The Unfinished Nations<\/em> is a call to a generation. It reads the continent's story from its ancient foundations to its open future, and asks every reader a direct question: what will you build?<\/p>\n          <p class=\"un-p\" data-reveal>Written from the Royal &amp; Prophetic House of Kinkela Wa Ma Zulu, the book joins ancestral memory with practical vision: institutions that serve, economies that create, and people who know who they are.<\/p>\n          <ul class=\"un-book-points\" data-reveal>\n            <li><svg viewBox=\"0 0 20 20\"><path d=\"M10 0 20 10 10 20 0 10Z\" fill=\"currentColor\"\/><\/svg><span>Why African stories seem unfinished, and what are the  unfinished opportunities?<\/span><\/li>\n            <li><svg viewBox=\"0 0 20 20\"><path d=\"M10 0 20 10 10 20 0 10Z\" fill=\"currentColor\"\/><\/svg><span>How our memory and identity becomes a foundation for building the future<\/span><\/li>\n            <li><svg viewBox=\"0 0 20 20\"><path d=\"M10 0 20 10 10 20 0 10Z\" fill=\"currentColor\"\/><\/svg><span>What it takes to become a builder in our community and nation<\/span><\/li>\n          <\/ul>\n          <a class=\"un-btn un-btn-gold\" href=\"#order\" data-scroll data-reveal>Grab your copy<\/a>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- MANIFESTO -->\n    <!--<section class=\"un-section un-manifesto\" aria-label=\"The idea\">-->\n    <!--  <p class=\"un-manifesto-text\" data-words>Africa's story is still being written. Its nations are still being built. This book is a call to the people who will build them.<\/p>-->\n    <!--  <p class=\"un-manifesto-sign\" data-reveal><i><\/i>The Unfinished Nations<\/p>-->\n    <!--<\/section>-->\n\n    <!-- INSIDE -->\n    <section class=\"un-inside\" id=\"inside\">\n      <div class=\"un-inside-pin\">\n        <div class=\"un-inside-track\">\n          <div class=\"un-inside-intro\">\n            <p class=\"un-label\">Inside the book<\/p>\n            <h2 class=\"un-h2\">Six revelations the book inspires<\/h2>\n            <p class=\"un-p\">Each one is a foundation stone. Together they form the plan for a continent that builds its own future.<\/p>\n          <\/div>\n          <article class=\"un-theme\">\n            <figure class=\"un-theme-img\"><div class=\"un-theme-img-in\" data-un-bg=\"cover-back.jpg\" style=\"--pos:6% 46%;--size:300%\"><\/div><figcaption>The foundations<\/figcaption><\/figure>\n            <h3>Memory<\/h3>\n            <p>Before you build, you remember. The book returns to the foundations Africa's civilisations stood on.<\/p>\n          <\/article>\n          <article class=\"un-theme\">\n            <figure class=\"un-theme-img\"><div class=\"un-theme-img-in\" data-un-bg=\"cover-back.jpg\" style=\"--pos:44% 88%;--size:340%\"><\/div><figcaption>Who we are<\/figcaption><\/figure>\n            <h3>Identity<\/h3>\n            <p>A people who know who they are cannot be easily redirected. Identity is treated as infrastructure.<\/p>\n          <\/article>\n          <article class=\"un-theme\">\n            <figure class=\"un-theme-img\"><div class=\"un-theme-img-in\" data-un-bg=\"cover-back.jpg\" style=\"--pos:50% 30%;--size:260%\"><\/div><figcaption>Roots and ground<\/figcaption><\/figure>\n            <h3>Sovereignty<\/h3>\n            <p>Owning your land, your resources and your decisions. What independence looks like when it is complete.<\/p>\n          <\/article>\n          <article class=\"un-theme\">\n            <figure class=\"un-theme-img\"><div class=\"un-theme-img-in\" data-un-bg=\"cover-back.jpg\" style=\"--pos:62% 78%;--size:300%\"><\/div><figcaption>Hands on the work<\/figcaption><\/figure>\n            <h3>Builders<\/h3>\n            <p>Nations are built by people, one project at a time. The book speaks to the ones holding the tools.<\/p>\n          <\/article>\n          <article class=\"un-theme\">\n            <figure class=\"un-theme-img\"><div class=\"un-theme-img-in\" data-un-bg=\"cover-back.jpg\" style=\"--pos:96% 40%;--size:300%\"><\/div><figcaption>The cities to come<\/figcaption><\/figure>\n            <h3>Innovation<\/h3>\n            <p>Solar fields, new cities, new industries. A future designed in Africa, by Africans.<\/p>\n          <\/article>\n          <article class=\"un-theme\">\n            <figure class=\"un-theme-img\"><div class=\"un-theme-img-in\" data-un-bg=\"cover-back.jpg\" style=\"--pos:50% 66%;--size:220%\"><\/div><figcaption>Rising together<\/figcaption><\/figure>\n            <h3>Unity<\/h3>\n            <p>No builder works alone. A vision of communities and nations that rise together.<\/p>\n          <\/article>\n        <\/div>\n        <div class=\"un-inside-bar\" aria-hidden=\"true\"><span><\/span><\/div>\n      <\/div>\n    <\/section>\n\n    <!-- WHO IT'S FOR -->\n    <section class=\"un-section un-who\" id=\"readers\">\n      <div class=\"un-wrap\">\n        <div class=\"un-who-head\">\n          <h2 class=\"un-h2\" data-reveal>Written for those who build<\/h2>\n          <p class=\"un-p\" data-reveal>Whether you are starting out or already leading, the book meets you where the work is.<\/p>\n        <\/div>\n        <ul class=\"un-who-list\">\n          <li class=\"un-who-row\"><span class=\"un-who-name\">Students and young graduates<\/span><span class=\"un-who-note\">Looking for a purpose bigger than a job title<\/span><\/li>\n          <li class=\"un-who-row\"><span class=\"un-who-name\">Entrepreneurs and founders<\/span><span class=\"un-who-note\">Building companies that build communities<\/span><\/li>\n          <li class=\"un-who-row\"><span class=\"un-who-name\">Leaders and public servants<\/span><span class=\"un-who-note\">Shaping institutions people can trust<\/span><\/li>\n          <li class=\"un-who-row\"><span class=\"un-who-name\">The African diaspora<\/span><span class=\"un-who-note\">Ready to connect, return, or contribute from afar<\/span><\/li>\n          <li class=\"un-who-row\"><span class=\"un-who-name\">Teachers, parents and mentors<\/span><span class=\"un-who-note\">Raising the next generation of builders<\/span><\/li>\n          <li class=\"un-who-row\"><span class=\"un-who-name\">Keepers of faith and tradition<\/span><span class=\"un-who-note\">Carrying the wisdom of the ancestors forward<\/span><\/li>\n        <\/ul>\n      <\/div>\n    <\/section>\n\n    <!-- VISION BAND -->\n    <section class=\"un-vision un-dark\" aria-label=\"Vision\">\n      <div class=\"un-vision-img\" data-un-bg=\"cover-back.jpg\" aria-hidden=\"true\"><\/div>\n      <div class=\"un-vision-shade\" aria-hidden=\"true\"><\/div>\n      <div class=\"un-vision-inner\">\n        <p class=\"un-vision-line\">Every great nation was once unfinished.<\/p>\n        <p class=\"un-vision-cap\">Awakening the Builders of Africa's Future<\/p>\n      <\/div>\n    <\/section>\n\n    <!-- AUTHOR\n         Three layouts. Choose one with authorDesign in UN_CONFIG (\"A\", \"B\" or \"C\"),\n         or delete \/ comment out the design blocks you don't want.\n         Photo: set authorPhoto in UN_CONFIG; it appears in whichever design is shown. -->\n    <section class=\"un-section un-author\" id=\"author\">\n      <div class=\"un-wrap\">\n\n        <!-- ===================== AUTHOR DESIGN A: ring portrait card ===================== -->\n        <div class=\"un-author-design\" data-author-design=\"A\">\n          <p class=\"un-design-tag\">Design A: ring portrait card<\/p>\n          <div class=\"un-author-box\">\n            <figure class=\"un-author-figure\">\n              <svg class=\"un-author-ring\" viewBox=\"0 0 200 200\" aria-hidden=\"true\">\n                <defs><path id=\"un-ring-path\" d=\"M100,100 m-88,0 a88,88 0 1,1 176,0 a88,88 0 1,1 -176,0\"\/><\/defs>\n                <text><textPath href=\"#un-ring-path\" textLength=\"548\" lengthAdjust=\"spacing\">Royal &amp; Prophetic House of Kinkela Wa Ma Zulu &#9670; Mbemba Zulu &#9670;<\/textPath><\/text>\n              <\/svg>\n              <div class=\"un-author-disc\" data-author-photo>\n                <span class=\"un-author-mono\" aria-hidden=\"true\">NZ<\/span>\n              <\/div>\n            <\/figure>\n            <div class=\"un-author-copy\">\n              <p class=\"un-label\" data-reveal>About the author<\/p>\n              <h2 class=\"un-author-name\" data-reveal>Ne AmmasuBaba Kinkela Wa Ma Zulu<\/h2>\n              <p class=\"un-author-titles\" data-reveal>Ntinu Makuk'u \/ Ntinu Mpeve<br>Ne AmmasuBaba Kinkela Wa Ma Zulu<\/p>\n              <ul class=\"un-lineage\" data-reveal>\n                <li>Royal &amp; Prophetic House of Kinkela Wa Ma Zulu<\/li>\n                <li>Heir to the Royal &amp; Prophetic House of Mbemba Zulu<\/li>\n                <li>Of the divine lineage of Sabu \/ Anubis<\/li>\n              <\/ul>\n              <p class=\"un-p\" data-reveal>Writing from a royal and prophetic house, the author brings together ancestral knowledge, spiritual tradition and a clear vision for Africa's renewal. <em>The Unfinished Nations<\/em> invites young Africans and the diaspora to see themselves as builders and to take up the work their ancestors began.<\/p>\n              <div class=\"un-author-actions\" data-reveal>\n                <a class=\"un-btn un-btn-gold\" data-wa=\"invite\" href=\"#order\">Invite the author<\/a>\n                <a class=\"un-btn un-btn-line\" href=\"#order\" data-scroll>Read the book<\/a>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n        <!-- ===================== END AUTHOR DESIGN A ===================== -->\n\n        <!-- ===================== AUTHOR DESIGN B: large editorial portrait ===================== -->\n        <div class=\"un-author-design\" data-author-design=\"B\">\n          <p class=\"un-design-tag\">Design B: large editorial portrait<\/p>\n          <div class=\"un-author-b\">\n            <figure class=\"un-author-b-photo\" data-author-photo>\n              <span class=\"un-author-mono\" aria-hidden=\"true\">NZ<\/span>\n            <\/figure>\n            <div class=\"un-author-copy\">\n              <p class=\"un-label\" data-reveal>About the author<\/p>\n              <h2 class=\"un-author-name\" data-reveal>Ne AmmasuBaba Kinkela Wa Ma Zulu<\/h2>\n              <p class=\"un-author-titles\" data-reveal>Ntinu Makuk'u \/ Ntinu Mpeve<br>Ne AmmasuBaba Kinkela Wa Ma Zulu<\/p>\n            <p class=\"un-p\" data-reveal>Ne AmmasuBaba Kinkela Wa Ma Zulu is an advocate for African heritage, Bantu identity, and cultural awareness. Through his work, including  <em>The Unfinished Nations<\/em> , he invites readers to explore the relationship between history, identity, nationhood, and the future of African societies.<\/p>\n            <ul class=\"un-lineage\" data-reveal>\n              <li>Guardian of African Heritage<\/li>\n              <li>Advocate for Bantu Identity <\/li>\n              <li>A Thinker on Nationhood and Civilization <\/li>\n            <li>N'fumu Nzila \/ Ntinu Makuk'u \/ Ntinu Mpeve <\/li>\n            <li>Promoter of Cultural Awareness and Education  <\/li>\n            <li>A Visionary for Future Generations <\/li>\n            <\/ul>\n              <div class=\"un-author-actions\" data-reveal>\n                <a class=\"un-btn un-btn-gold\" data-wa=\"invite\" href=\"#order\">Invite the author<\/a>\n                <a class=\"un-btn un-btn-line\" href=\"#order\" data-scroll>Read the book<\/a>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n        <!-- ===================== END AUTHOR DESIGN B ===================== -->\n\n        <!-- ===================== AUTHOR DESIGN C: centred ===================== -->\n        <div class=\"un-author-design\" data-author-design=\"C\">\n          <p class=\"un-design-tag\">Design C: centred<\/p>\n          <div class=\"un-author-c\">\n            <div class=\"un-author-c-photo\" data-author-photo>\n              <span class=\"un-author-mono\" aria-hidden=\"true\">NZ<\/span>\n            <\/div>\n            <p class=\"un-label\" data-reveal>About the author<\/p>\n            <h2 class=\"un-author-name\" data-reveal>Ne AmmasuBaba Kinkela Wa Ma Zulu<\/h2>\n            <p class=\"un-author-titles\" data-reveal>Ntinu Makuk'u \/ Ntinu Mpeve<br>Ne AmmasuBaba Kinkela Wa Ma Zulu<\/p>\n            <p class=\"un-p\" data-reveal>Ne AmmasuBaba Kinkela Wa Ma Zulu is an advocate for African heritage, Bantu identity, and cultural awareness. Through his work, including  <em>The Unfinished Nations<\/em> , he invites readers to explore the relationship between history, identity, nationhood, and the future of African societies.<\/p>\n            <ul class=\"un-lineage-chips\" data-reveal>\n              <li>Guardian of African Heritage<\/li>\n              <li>Advocate for Bantu Identity <\/li>\n              <li> A Thinker on Nationhood and Civilization <\/li>\n            <li> Promoter of Cultural Awareness and Education <\/li>\n            <li> Promoter of Cultural Awareness and Education  <\/li>\n            <li>A Visionary for Future Generations <\/li>\n            <\/ul>\n            <div class=\"un-author-actions\" data-reveal>\n              <a class=\"un-btn un-btn-gold\" data-wa=\"invite\" href=\"#order\">Invite the author<\/a>\n              <a class=\"un-btn un-btn-line\" href=\"#order\" data-scroll>Read the book<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n        <!-- ===================== END AUTHOR DESIGN C ===================== -->\n\n      <\/div>\n    <\/section>\n\n    <!-- ORDER \/ GRAB YOUR COPY -->\n    <section class=\"un-section un-order\" id=\"order\">\n      <div class=\"un-wrap un-order-grid\">\n        <div class=\"un-order-visual\" aria-hidden=\"true\">\n          <div class=\"un-order-rays\"><\/div>\n          <div class=\"un-order-float\">\n            <div class=\"un-book-scene\">\n              <div class=\"un-book3d\">\n                <div class=\"un-face un-face-front\" data-un-bg=\"cover-front.jpg\"><\/div>\n                <div class=\"un-face un-face-back\" data-un-bg=\"cover-back.jpg\"><\/div>\n                <div class=\"un-face un-face-spine\"><span>The Unfinished Nations<\/span><\/div>\n                <div class=\"un-face un-face-pages\"><\/div>\n                <div class=\"un-face un-face-top\"><\/div>\n                <div class=\"un-face un-face-bottom\"><\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <form class=\"un-order-panel\" id=\"un-order-form\" novalidate>\n          <h2 class=\"un-order-h\" data-reveal>Grab your copy<\/h2>\n          <p class=\"un-p\" data-reveal>Order straight from the author's team on WhatsApp. Pick a format and quantity, and your order message is written for you. The team replies to confirm price, payment and delivery.<\/p>\n          <fieldset data-reveal>\n            <legend class=\"un-sr\">Format<\/legend>\n            <div class=\"un-formats\" id=\"un-formats\"><\/div>\n          <\/fieldset>\n          <div class=\"un-order-row\" data-reveal>\n            <div class=\"un-field\">\n              <span id=\"un-qty-label\">Copies<\/span>\n              <div class=\"un-qty\" role=\"group\" aria-labelledby=\"un-qty-label\">\n                <button type=\"button\" data-qty=\"-1\" aria-label=\"Fewer copies\">\u2212<\/button>\n                <input id=\"un-qty\" type=\"number\" min=\"1\" max=\"999\" value=\"1\" inputmode=\"numeric\" aria-labelledby=\"un-qty-label\">\n                <button type=\"button\" data-qty=\"1\" aria-label=\"More copies\">+<\/button>\n              <\/div>\n            <\/div>\n            <label class=\"un-field\" for=\"un-city\">\n              <span>Delivery city (optional)<\/span>\n              <input class=\"un-input\" id=\"un-city\" type=\"text\" placeholder=\"e.g. Douala, Kinshasa, Paris\" autocomplete=\"address-level2\">\n            <\/label>\n          <\/div>\n          <div class=\"un-order-total\" id=\"un-total\" hidden><span>Estimated total<\/span><strong id=\"un-total-val\"><\/strong><\/div>\n          <div class=\"un-order-cta\" data-reveal>\n            <a class=\"un-btn un-btn-gold un-btn-xl\" id=\"un-order-btn\" href=\"#order\" target=\"_blank\" rel=\"noopener\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 2.5a9.5 9.5 0 0 0-8.2 14.3L2.5 21.5l4.8-1.3A9.5 9.5 0 1 0 12 2.5Z\"\/><path d=\"M8.6 7.8c.3-.6.6-.6.9-.6h.6c.2 0 .4 0 .6.5l.8 1.9c.1.2.1.4 0 .6l-.5.7c-.1.2-.2.3 0 .6.5.9 1.6 2 2.6 2.5.3.1.4.1.6-.1l.7-.8c.2-.2.3-.2.6-.1l1.9.9c.3.1.4.2.4.4 0 .5-.2 1.4-1.1 1.8-.7.4-1.6.4-3-.1a10.6 10.6 0 0 1-4.9-4.6c-.8-1.4-.6-2.6-.2-3.2Z\"\/><\/svg>\n              Order on WhatsApp\n            <\/a>\n            <p class=\"un-order-note\">Buying for a school, church or organisation? <a data-wa=\"bulk\" href=\"#order\">Ask about group orders<\/a><\/p>\n          <\/div>\n          <div class=\"un-trust\" data-reveal>\n            <span><svg viewBox=\"0 0 20 20\"><path d=\"M10 0 20 10 10 20 0 10Z\" fill=\"currentColor\"\/><\/svg>Order confirmed by a real person<\/span>\n            <span><svg viewBox=\"0 0 20 20\"><path d=\"M10 0 20 10 10 20 0 10Z\" fill=\"currentColor\"\/><\/svg>Delivery arranged to your city<\/span>\n          <\/div>\n        <\/form>\n      <\/div>\n    <\/section>\n\n    <!-- FAQ -->\n    <section class=\"un-section un-faq\" id=\"faq\">\n      <div class=\"un-wrap un-faq-grid\">\n        <div class=\"un-faq-aside\">\n          <h2 class=\"un-h2\" data-reveal>Questions before you order<\/h2>\n          <p class=\"un-p\" data-reveal>Can't find your answer? Ask the team directly on WhatsApp.<\/p>\n          <a class=\"un-btn un-btn-line un-btn-wa\" data-wa=\"question\" href=\"#order\" data-reveal><span class=\"un-wa-dot\"><\/span>Ask a question<\/a>\n        <\/div>\n        <div class=\"un-faq-list\">\n          <div class=\"un-faq-item\">\n            <button class=\"un-faq-q\" type=\"button\" aria-expanded=\"true\">How do I order the book?<span class=\"un-faq-icon\" aria-hidden=\"true\"><\/span><\/button>\n            <div class=\"un-faq-a\"><div><p>Tap any \u201cOrder on WhatsApp\u201d button. WhatsApp opens with your order already written: the format, the number of copies and your city. Send it, and the team replies to confirm everything.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"un-faq-item\">\n            <button class=\"un-faq-q\" type=\"button\" aria-expanded=\"false\">Which formats can I choose?<span class=\"un-faq-icon\" aria-hidden=\"true\"><\/span><\/button>\n            <div class=\"un-faq-a\"><div><p>The book comes as a paperback, a hardcover and an eBook. Choose the one you want in the order section and it is added to your message.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"un-faq-item\">\n            <button class=\"un-faq-q\" type=\"button\" aria-expanded=\"false\">Do you deliver to my city or country?<span class=\"un-faq-icon\" aria-hidden=\"true\"><\/span><\/button>\n            <div class=\"un-faq-a\"><div><p>Delivery is arranged for each order. Tell us your city and country in the chat and we will give you the delivery options and the expected time.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"un-faq-item\">\n            <button class=\"un-faq-q\" type=\"button\" aria-expanded=\"false\">How do I pay?<span class=\"un-faq-icon\" aria-hidden=\"true\"><\/span><\/button>\n            <div class=\"un-faq-a\"><div><p>Once your order is confirmed, the team shares the available payment options with you in the WhatsApp chat.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"un-faq-item\">\n            <button class=\"un-faq-q\" type=\"button\" aria-expanded=\"false\">Can I buy copies for a group?<span class=\"un-faq-icon\" aria-hidden=\"true\"><\/span><\/button>\n            <div class=\"un-faq-a\"><div><p>Yes. Schools, churches, associations and companies can order in quantity. Use \u201cAsk about group orders\u201d and tell us how many copies you need and where.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"un-faq-item\">\n            <button class=\"un-faq-q\" type=\"button\" aria-expanded=\"false\">Can I invite the author to speak?<span class=\"un-faq-icon\" aria-hidden=\"true\"><\/span><\/button>\n            <div class=\"un-faq-a\"><div><p>Yes. Send an invitation on WhatsApp with the date, the place and a few words about your audience, and the team will get back to you.<\/p><\/div><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n  <\/main>\n\n  <!-- FOOTER -->\n  <footer class=\"un-footer un-dark\">\n    <div class=\"un-wrap\">\n      <div class=\"un-footer-cta\">\n        <h2 class=\"un-h2\" data-reveal>The work is unfinished. Your part starts here.<\/h2>\n        <a class=\"un-btn un-btn-gold un-btn-xl\" href=\"#order\" data-scroll>Grab your copy<\/a>\n      <\/div>\n      <div class=\"un-footer-grid\">\n        <div class=\"un-footer-col\">\n          <a class=\"un-brand\" href=\"#top\" data-scroll aria-label=\"Back to top\">\n            <span class=\"un-logo\" data-un-logo aria-hidden=\"true\">TUN<\/span>\n            <span class=\"un-brand-name\">The Unfinished Nations<small>Awakening the Builders of Africa's Future<\/small><\/span>\n          <\/a>\n          <p>A book by Ne AmmasuBaba Kinkela Wa Ma Zulu.<\/p>\n        <\/div>\n        <div class=\"un-footer-col\">\n          <h4>Explore<\/h4>\n          <a href=\"#book\" data-scroll>The book<\/a>\n          <a href=\"#inside\" data-scroll>Inside<\/a>\n          <a href=\"#readers\" data-scroll>Who it's for<\/a>\n          <a href=\"#author\" data-scroll>Author<\/a>\n          <a href=\"#faq\" data-scroll>FAQ<\/a>\n        <\/div>\n        <div class=\"un-footer-col\">\n          <h4>Order<\/h4>\n          <a href=\"#order\" data-scroll>Grab your copy<\/a>\n          <a data-wa=\"bulk\" href=\"#order\">Group orders<\/a>\n          <a data-wa=\"invite\" href=\"#order\">Invite the author<\/a>\n        <\/div>\n        <div class=\"un-footer-col\">\n          <h4>WhatsApp<\/h4>\n          <a class=\"un-footer-num\" data-wa=\"question\" href=\"#order\" id=\"un-wa-display\">+971 50 986 0866<\/a>\n          <div class=\"un-socials\" id=\"un-socials\"><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"un-footer-base\">\n        <p>\u00a9 <span id=\"un-year\">2026<\/span> Ne AmmasuBaba Kinkela Wa Ma Zulu. All rights reserved.<\/p>\n        <a class=\"un-top\" href=\"#top\" data-scroll>Back to top <i><svg viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\"><path d=\"M8 13V3M3.5 7.5 8 3l4.5 4.5\"\/><\/svg><\/i><\/a>\n      <\/div>\n    <\/div>\n  <\/footer>\n\n  <!-- WHATSAPP CHAT ASSISTANT -->\n  <div class=\"un-chat\" id=\"un-chat\">\n    <div class=\"un-chat-teaser\" id=\"un-chat-teaser\" hidden>\n      <span>Need a copy? <b>Chat with us<\/b> and order in a minute.<\/span>\n      <button type=\"button\" aria-label=\"Dismiss\"><svg viewBox=\"0 0 12 12\" stroke=\"currentColor\" stroke-width=\"1.6\"><path d=\"M1 1l10 10M11 1 1 11\"\/><\/svg><\/button>\n    <\/div>\n    <div class=\"un-chat-panel\" id=\"un-chat-panel\" role=\"dialog\" aria-label=\"Chat with the author's team\" hidden>\n      <div class=\"un-chat-head\">\n        <div class=\"un-chat-avatar\" data-un-bg=\"cover-front.jpg\"><\/div>\n        <div class=\"un-chat-who\"><b>The Unfinished Nations<\/b><span>Author's team \u00b7 replies on WhatsApp<\/span><\/div>\n        <button class=\"un-chat-close\" type=\"button\" aria-label=\"Close chat\"><svg viewBox=\"0 0 12 12\" stroke=\"currentColor\" stroke-width=\"1.6\"><path d=\"M1 1l10 10M11 1 1 11\"\/><\/svg><\/button>\n      <\/div>\n      <div class=\"un-chat-body\" id=\"un-chat-body\" aria-live=\"polite\"><\/div>\n      <div class=\"un-chat-quick\" id=\"un-chat-quick\"><\/div>\n      <form class=\"un-chat-form\" id=\"un-chat-form\">\n        <label class=\"un-sr\" for=\"un-chat-input\">Type a message<\/label>\n        <input id=\"un-chat-input\" type=\"text\" placeholder=\"Type a message\u2026\" autocomplete=\"off\">\n        <button type=\"submit\" aria-label=\"Send on WhatsApp\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M3.4 20.4 21 12 3.4 3.6l-.01 6.5L15 12l-11.6 1.9z\"\/><\/svg><\/button>\n      <\/form>\n      <p class=\"un-chat-foot\">Messages are sent through WhatsApp.<\/p>\n    <\/div>\n    <button class=\"un-chat-fab\" id=\"un-chat-fab\" type=\"button\" aria-expanded=\"false\" aria-controls=\"un-chat-panel\" aria-label=\"Chat on WhatsApp\">\n      <svg class=\"un-wa-i\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 2.5a9.5 9.5 0 0 0-8.2 14.3L2.5 21.5l4.8-1.3A9.5 9.5 0 1 0 12 2.5Z\"\/><path d=\"M8.6 7.8c.3-.6.6-.6.9-.6h.6c.2 0 .4 0 .6.5l.8 1.9c.1.2.1.4 0 .6l-.5.7c-.1.2-.2.3 0 .6.5.9 1.6 2 2.6 2.5.3.1.4.1.6-.1l.7-.8c.2-.2.3-.2.6-.1l1.9.9c.3.1.4.2.4.4 0 .5-.2 1.4-1.1 1.8-.7.4-1.6.4-3-.1a10.6 10.6 0 0 1-4.9-4.6c-.8-1.4-.6-2.6-.2-3.2Z\"\/><\/svg>\n      <svg class=\"un-x\" viewBox=\"0 0 12 12\" stroke=\"currentColor\" stroke-width=\"1.6\" aria-hidden=\"true\"><path d=\"M1 1l10 10M11 1 1 11\"\/><\/svg>\n      <span class=\"un-dot\" aria-hidden=\"true\"><\/span>\n    <\/button>\n  <\/div>\n<\/div>\n\n<!-- =========================  SETTINGS \u2014 EDIT HERE  ========================= -->\n<script>\nwindow.UN_CONFIG = {\n  \/* Colour theme: \"dark\" or \"light\". *\/\n  theme: \"dark\",\n\n  \/* Page-load curtain reveal: true = on, false = off. *\/\n  curtain: true,\n\n  \/* Author section layout: \"A\" ring portrait card, \"B\" large editorial portrait, \"C\" centred.\n  *\/\n  authorDesign: \"B\",\n\n  \/* Logo image file name or full URL Leave empty to show the TUN initials. *\/\n  logo: \"\",\n\n  \/* Folder media files  *\/\n  assetBase: \"https:\/\/theunfinishednation.ammasu.com\/wp-content\/uploads\/2026\/10\/\",\n\n  \/* WhatsApp number in international format, digits only (country code first, no + or spaces). *\/\n  whatsapp: \"971509860866\",\n  \/* How the number is shown in the footer. *\/\n  whatsappDisplay: \"+971509860866\",\n\n  \/* Formats shown in \"Grab your copy\". Leave price empty (\"\") to show \"Price on WhatsApp\". *\/\n  currency: \"FCFA\",\n  formats: [\n    { id: \"paperback\", name: \"Paperback\", note: \"Printed copy, delivered to you\", price: \"\" },\n    { id: \"hardcover\", name: \"Hardcover\", note: \"Hardbound edition for your library\", price: \"\" },\n    { id: \"ebook\",     name: \"eBook\",     note: \"Digital edition sent to your phone\", price: \"\" }\n  ],\n\n  \/* Author photo file name or full URL, e.g. \"author.jpg\" (upload it with the other files). Empty shows the NZ monogram. *\/\n  authorPhoto: \"https:\/\/theunfinishednation.ammasu.com\/wp-content\/uploads\/2026\/10\/6-1.avif\",\n\n  \/* Social links. Leave empty to hide an icon. *\/\n  socials: { facebook: \"\", instagram: \"\", youtube: \"\", tiktok: \"\", x: \"\" }\n};\n<\/script>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.5\/gsap.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.5\/ScrollTrigger.min.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/lenis@1.1.13\/dist\/lenis.min.js\"><\/script>\n<script>\n(function () {\n  \"use strict\";\n  var root = document.getElementById(\"un-site\");\n  if (!root || root.dataset.ready) return;\n  root.dataset.ready = \"1\";\n\n  var C = window.UN_CONFIG || {};\n  var $ = function (s, c) { return (c || root).querySelector(s); };\n  var $$ = function (s, c) { return Array.prototype.slice.call((c || root).querySelectorAll(s)); };\n  var hasGsap = !!(window.gsap && window.ScrollTrigger);\n  var reduce = window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || !hasGsap;\n  if (reduce) root.classList.add(\"un-reduce\");\n  if (\"scrollRestoration\" in history) history.scrollRestoration = \"manual\";\n\n  \/* ---------- theme ---------- *\/\n  var theme = C.theme === \"light\" ? \"light\" : \"dark\";\n  if (\/^#(light|dark)$\/.test(location.hash)) theme = location.hash.slice(1); \/* preview helper: add #light to the URL *\/\n  root.setAttribute(\"data-un-theme\", theme);\n\n  \/* ---------- assets ---------- *\/\n  function asset(f) {\n    if (!f) return \"\";\n    return \/^(https?:|data:|blob:|\\\/)\/.test(f) ? f : (C.assetBase || \"\") + f;\n  }\n  $$(\"[data-un-src]\").forEach(function (el) { el.src = asset(el.getAttribute(\"data-un-src\")); });\n  $$(\"[data-un-bg]\").forEach(function (el) { el.style.backgroundImage = 'url(\"' + asset(el.getAttribute(\"data-un-bg\")) + '\")'; });\n  if (C.logo) {\n    $$(\"[data-un-logo]\").forEach(function (el) {\n      el.textContent = \"\"; el.classList.add(\"has-img\");\n      var img = document.createElement(\"img\"); img.alt = \"\"; img.src = asset(C.logo); el.appendChild(img);\n    });\n  }\n  \/* author layout *\/\n  var design = String(C.authorDesign || \"A\").toUpperCase();\n  var designs = $$(\"[data-author-design]\");\n  if (design === \"ALL\") root.classList.add(\"un-all-designs\");\n  else {\n    var chosen = designs.filter(function (d) { return d.getAttribute(\"data-author-design\") === design; })[0] || designs[0];\n    designs.forEach(function (d) { if (d !== chosen) d.remove(); });\n  }\n  if (C.authorPhoto) {\n    $$(\"[data-author-photo]\").forEach(function (el) {\n      el.textContent = \"\";\n      var img = document.createElement(\"img\");\n      img.alt = \"Portrait of N'fumu Nzila\"; img.src = asset(C.authorPhoto);\n      el.appendChild(img);\n    });\n  }\n\n  \/* ---------- WhatsApp links ---------- *\/\n  var TITLE = \"The Unfinished Nations\";\n  var number = String(C.whatsapp || \"\").replace(\/\\D\/g, \"\");\n  function wa(text) { return \"https:\/\/wa.me\/\" + number + \"?text=\" + encodeURIComponent(text); }\n  var WA_TEXT = {\n    order: \"Hello! I would like to order a copy of \" + TITLE + \".\",\n    bulk: \"Hello! I would like to place a group order for \" + TITLE + \".\\n\\nOrganisation:\\nNumber of copies:\\nCity \/ country:\",\n    invite: \"Hello! I would like to invite the author of \" + TITLE + \" to speak.\\n\\nEvent:\\nDate:\\nPlace:\\nAudience:\",\n    question: \"Hello! I have a question about \" + TITLE + \".\"\n  };\n  $$(\"[data-wa]\").forEach(function (a) {\n    a.href = wa(WA_TEXT[a.getAttribute(\"data-wa\")] || WA_TEXT.order);\n    a.target = \"_blank\"; a.rel = \"noopener\";\n  });\n  var waDisplay = $(\"#un-wa-display\");\n  if (waDisplay) waDisplay.textContent = C.whatsappDisplay || (\"+\" + number);\n  var yearEl = $(\"#un-year\"); if (yearEl) yearEl.textContent = new Date().getFullYear();\n\n  \/* ---------- socials ---------- *\/\n  var ICONS = {\n    facebook: '<path d=\"M14 8h3V4h-3a4 4 0 0 0-4 4v2H8v4h2v8h4v-8h3l1-4h-4V8z\"\/>',\n    instagram: '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\/><circle cx=\"12\" cy=\"12\" r=\"4\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\/><circle cx=\"17.5\" cy=\"6.5\" r=\"1.2\"\/>',\n    youtube: '<path d=\"M22 8.2a3 3 0 0 0-2.1-2.1C18 5.6 12 5.6 12 5.6s-6 0-7.9.5A3 3 0 0 0 2 8.2 31 31 0 0 0 1.6 12 31 31 0 0 0 2 15.8a3 3 0 0 0 2.1 2.1c1.9.5 7.9.5 7.9.5s6 0 7.9-.5a3 3 0 0 0 2.1-2.1c.3-1.2.4-2.5.4-3.8s-.1-2.6-.4-3.8zM10 15V9l5.2 3L10 15z\"\/>',\n    tiktok: '<path d=\"M16.5 3c.3 2.2 1.6 3.6 3.8 3.8v3.1c-1.4.1-2.6-.3-3.8-1v6.3c0 4-4.3 6.4-7.6 4.3-3.6-2.2-2.4-8.2 2.4-8.4v3.2c-.4.1-.8.1-1.1.3-1 .4-1.6 1.2-1.4 2.3.4 2 3.4 2.6 4.1.2.1-.3.1-.7.1-1V3h3.5z\"\/>',\n    x: '<path d=\"M17.8 3h3.1l-6.8 7.7L22 21h-6.2l-4.9-6.4L5.3 21H2.2l7.2-8.3L1.8 3h6.4l4.4 5.8L17.8 3zm-1.1 16.2h1.7L7.4 4.7H5.6l11.1 14.5z\"\/>'\n  };\n  var socialWrap = $(\"#un-socials\");\n  var socials = C.socials || {};\n  Object.keys(socials).forEach(function (k) {\n    if (!socials[k] || !ICONS[k]) return;\n    var a = document.createElement(\"a\");\n    a.href = socials[k]; a.target = \"_blank\"; a.rel = \"noopener\"; a.setAttribute(\"aria-label\", k);\n    a.innerHTML = '<svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\">' + ICONS[k] + \"<\/svg>\";\n    socialWrap.appendChild(a);\n  });\n\n  \/* ---------- order form ---------- *\/\n  var formats = (C.formats && C.formats.length) ? C.formats : [{ id: \"paperback\", name: \"Paperback\", note: \"\", price: \"\" }];\n  var fWrap = $(\"#un-formats\");\n  function money(n) { return Number(n).toLocaleString(\"fr-FR\").replace(\/\u202f\/g, \" \") + (C.currency ? \" \" + C.currency : \"\"); }\n  formats.forEach(function (f, i) {\n    var label = document.createElement(\"label\");\n    label.className = \"un-format\";\n    label.innerHTML = '<input type=\"radio\" name=\"un-format\" id=\"un-format-' + f.id + '\" value=\"' + f.id + '\"' + (i === 0 ? \" checked\" : \"\") + '>' +\n      '<span class=\"un-format-box\"><span class=\"un-format-name\"><\/span><span class=\"un-format-note\"><\/span><span class=\"un-format-price\"><\/span><\/span>';\n    label.querySelector(\".un-format-name\").textContent = f.name;\n    label.querySelector(\".un-format-note\").textContent = f.note || \"\";\n    label.querySelector(\".un-format-price\").textContent = f.price ? money(f.price) : \"Price on WhatsApp\";\n    fWrap.appendChild(label);\n  });\n  if (formats.length < 3) fWrap.style.gridTemplateColumns = \"repeat(\" + formats.length + \",minmax(0,1fr))\";\n  var qty = $(\"#un-qty\"), city = $(\"#un-city\"), orderBtn = $(\"#un-order-btn\");\n  function currentFormat() {\n    var c = $('input[name=\"un-format\"]:checked');\n    return formats.filter(function (f) { return c && f.id === c.value; })[0] || formats[0];\n  }\n  function clampQty() { var v = parseInt(qty.value, 10); if (!v || v < 1) v = 1; if (v > 999) v = 999; qty.value = v; return v; }\n  function orderMessage(fmt, n, place) {\n    var lines = [\"Hello! I would like to order \" + TITLE + \".\", \"\", \"Format: \" + fmt.name, \"Copies: \" + n];\n    if (place) lines.push(\"Delivery city: \" + place);\n    if (fmt.price) lines.push(\"Price shown: \" + money(fmt.price * n));\n    lines.push(\"\", \"Please confirm the price, payment and delivery. Thank you.\");\n    return lines.join(\"\\n\");\n  }\n  function updateOrder() {\n    var f = currentFormat(), n = clampQty();\n    orderBtn.href = wa(orderMessage(f, n, city.value.trim()));\n    var total = $(\"#un-total\");\n    if (f.price) { total.hidden = false; $(\"#un-total-val\").textContent = money(f.price * n); }\n    else total.hidden = true;\n  }\n  $$(\"[data-qty]\").forEach(function (b) {\n    b.addEventListener(\"click\", function () { qty.value = clampQty() + parseInt(b.getAttribute(\"data-qty\"), 10); updateOrder(); });\n  });\n  fWrap.addEventListener(\"change\", updateOrder);\n  qty.addEventListener(\"input\", updateOrder);\n  city.addEventListener(\"input\", updateOrder);\n  $(\"#un-order-form\").addEventListener(\"submit\", function (e) { e.preventDefault(); });\n  updateOrder();\n\n  \/* ---------- FAQ ---------- *\/\n  $$(\".un-faq-q\").forEach(function (q) {\n    q.addEventListener(\"click\", function () {\n      var open = q.getAttribute(\"aria-expanded\") === \"true\";\n      $$(\".un-faq-q\").forEach(function (o) { o.setAttribute(\"aria-expanded\", \"false\"); });\n      q.setAttribute(\"aria-expanded\", open ? \"false\" : \"true\");\n      if (hasGsap) setTimeout(function () { ScrollTrigger.refresh(); }, 650);\n    });\n  });\n\n  \/* ---------- smooth scroll ---------- *\/\n  var lenis = null;\n  if (!reduce && window.Lenis) {\n    lenis = new window.Lenis({ lerp: 0.09, smoothWheel: true });\n    lenis.on(\"scroll\", ScrollTrigger.update);\n    gsap.ticker.add(function (t) { lenis.raf(t * 1000); });\n    gsap.ticker.lagSmoothing(0);\n  }\n  function scrollToTarget(target) {\n    var el = target === \"#top\" ? 0 : $(target);\n    if (el === null) return;\n    if (lenis) lenis.scrollTo(el, { duration: 1.6, easing: function (t) { return 1 - Math.pow(1 - t, 4); } });\n    else if (el === 0) window.scrollTo({ top: 0, behavior: reduce ? \"auto\" : \"smooth\" });\n    else el.scrollIntoView({ behavior: reduce ? \"auto\" : \"smooth\" });\n  }\n  $$(\"[data-scroll]\").forEach(function (a) {\n    a.addEventListener(\"click\", function (e) {\n      var h = a.getAttribute(\"href\");\n      if (!h || h.charAt(0) !== \"#\") return;\n      e.preventDefault();\n      if (menuOpen) toggleMenu(false);\n      scrollToTarget(h);\n    });\n  });\n\n  \/* ---------- mobile menu (soft fade) ---------- *\/\n  var header = $(\".un-header\");\n  var burger = $(\".un-burger\"), menu = $(\".un-menu\"), menuOpen = false, menuTl = null;\n  function toggleMenu(force) {\n    menuOpen = typeof force === \"boolean\" ? force : !menuOpen;\n    burger.setAttribute(\"aria-expanded\", String(menuOpen));\n    burger.setAttribute(\"aria-label\", menuOpen ? \"Close menu\" : \"Open menu\");\n    menu.setAttribute(\"aria-hidden\", String(!menuOpen));\n    header.classList.toggle(\"menu-open\", menuOpen);\n    if (!hasGsap) { menu.style.visibility = menuOpen ? \"visible\" : \"hidden\"; menu.style.opacity = menuOpen ? \"1\" : \"0\"; return; }\n    if (menuTl) menuTl.kill();\n    if (menuOpen) {\n      if (lenis) lenis.stop();\n      menuTl = gsap.timeline()\n        .set(menu, { visibility: \"visible\" })\n        .to(menu, { opacity: 1, duration: 0.5, ease: \"power2.out\" })\n        .fromTo($$(\".un-menu-links a\"), { opacity: 0, y: 18 }, { opacity: 1, y: 0, duration: 0.7, stagger: 0.05, ease: \"power2.out\" }, \"-=0.25\")\n        .fromTo(\".un-menu-foot\", { opacity: 0 }, { opacity: 1, duration: 0.6 }, \"-=0.4\");\n    } else {\n      if (lenis) lenis.start();\n      menuTl = gsap.timeline()\n        .to(menu, { opacity: 0, duration: 0.4, ease: \"power2.in\" })\n        .set(menu, { visibility: \"hidden\" });\n    }\n  }\n  burger.addEventListener(\"click\", function () { toggleMenu(); });\n  document.addEventListener(\"keydown\", function (e) { if (e.key === \"Escape\" && menuOpen) toggleMenu(false); });\n\n  \/* ---------- header state ---------- *\/\n  var lastY = 0;\n  function onScrollHeader() {\n    var y = window.pageYOffset || document.documentElement.scrollTop;\n    header.classList.toggle(\"is-scrolled\", y > 40);\n    if (!menuOpen) header.classList.toggle(\"is-hidden\", y > lastY + 4 && y > 400);\n    if (y < lastY - 4) header.classList.remove(\"is-hidden\");\n    lastY = y;\n  }\n  window.addEventListener(\"scroll\", onScrollHeader, { passive: true });\n  root.addEventListener(\"focusin\", function (e) { if (header.contains(e.target)) header.classList.remove(\"is-hidden\"); });\n\n  \/* ---------- hero title: size both lines to the width ---------- *\/\n  function fitHero() {\n    var h1 = $(\".un-hero-h1\");\n    var W = h1.clientWidth;\n    h1.style.fontSize = \"100px\";\n    var widest = Math.max.apply(null, $$(\".un-hero-line-in\", h1).map(function (el) { return el.getBoundingClientRect().width; }));\n    var fs = Math.min(100 * W \/ widest, window.innerHeight * (W < 700 ? 0.2 : 0.25));\nh1.style.fontSize = Math.floor(fs * (W < 700 ? 0.99 : 0.7)) + \"px\";\n  }\n\n  \/* ---------- hero video ---------- *\/\n  var video = $(\".un-hero-video\");\n  var poster = $(\".un-hero-poster\");\n  var videoSrc = asset(C.video || \"book-scrub.mp4\");\n  var loadProgress = 0;\n  var videoReady = false;\n  var vTarget = 0, vCur = 0;\n  video.muted = true; video.playsInline = true; video.setAttribute(\"muted\", \"\");\n  video.setAttribute(\"poster\", asset(\"poster-start.jpg\"));\n  video.addEventListener(\"loadeddata\", function () {\n    videoReady = true;\n    poster.style.opacity = \"0\";\n    var p = video.play(); if (p && p.then) p.then(function () { video.pause(); video.currentTime = vCur; }).catch(function () {});\n  }, { once: true });\n  function attachDirect() { video.src = videoSrc; video.load(); }\n  if (reduce) {\n    poster.src = asset(\"poster-end.jpg\");\n  } else if (window.fetch && window.ReadableStream) {\n    fetch(videoSrc).then(function (r) {\n      if (!r.ok) throw new Error(\"video\");\n      var total = +r.headers.get(\"content-length\") || 0;\n      if (!r.body || !total) return r.blob();\n      var reader = r.body.getReader(), got = 0, chunks = [];\n      function pump() {\n        return reader.read().then(function (res) {\n          if (res.done) return new Blob(chunks, { type: \"video\/mp4\" });\n          chunks.push(res.value); got += res.value.length; loadProgress = got \/ total;\n          return pump();\n        });\n      }\n      return pump();\n    }).then(function (blob) {\n      loadProgress = 1;\n      video.src = URL.createObjectURL(blob); video.load();\n    }).catch(function () { loadProgress = 1; attachDirect(); });\n  } else { loadProgress = 1; attachDirect(); }\n\n  function scrubTick() {\n    if (!videoReady || !video.duration) return;\n    vCur += (vTarget - vCur) * 0.16;\n    if (Math.abs(vCur - video.currentTime) > 0.01 && !video.seeking) {\n      try { video.currentTime = vCur; } catch (e) {}\n    }\n  }\n\n  \/* ---------- reduced motion: no animation ---------- *\/\n  var curtain = $(\".un-curtain\");\n  if (curtain && (C.curtain === false || reduce)) { curtain.remove(); curtain = null; }\n  if (reduce) {\n    setupChat();\n    return;\n  }\n\n  gsap.registerPlugin(ScrollTrigger);\n  gsap.ticker.add(scrubTick);\n  if (lenis) lenis.stop();\n  window.scrollTo(0, 0);\n\n  var manifestoWords = $$(\"[data-words]\").map(function (el) {\n    var text = el.textContent.trim().replace(\/\\s+\/g, \" \");\n    el.setAttribute(\"aria-label\", text); el.textContent = \"\";\n    var words = text.split(\" \").map(function (w) {\n      var s = document.createElement(\"span\"); s.className = \"un-mw\"; s.setAttribute(\"aria-hidden\", \"true\"); s.textContent = w;\n      el.appendChild(s); return s;\n    });\n    return { el: el, words: words };\n  });\n\n  \/* ---------- page-load: optional curtain, then a calm fade-in ---------- *\/\n  gsap.set(\".un-hero-title-in, .un-header\", { opacity: 0 });\n  var fontsReady = document.fonts ? document.fonts.ready : Promise.resolve();\n  Promise.race([fontsReady, new Promise(function (r) { setTimeout(r, 1800); })]).then(function () {\n    setTimeout(start, curtain ? 500 : 0);\n  });\n  function start() {\n    fitHero();\n    buildScroll();\n    var tl = gsap.timeline({ defaults: { ease: \"power2.out\" } });\n    if (curtain) {\n      tl.to(curtain, { yPercent: -100, duration: 1.2, ease: \"expo.inOut\" })\n        .set(curtain, { display: \"none\" });\n    }\n    tl.fromTo(\".un-hero-title-in\", { opacity: 0, y: 24 }, { opacity: 1, y: 0, duration: 1.6 }, curtain ? \"-=0.45\" : 0.1)\n      .to(\".un-header\", { opacity: 1, duration: 1.2, clearProps: \"opacity\" }, \"<0.2\")\n      .add(function () { if (lenis) lenis.start(); }, \"<\");\n  }\n\n  \/* ---------- scroll choreography (gentle) ---------- *\/\n  function buildScroll() {\n    var mm = gsap.matchMedia();\n\n    \/* HERO: pinned while the video pulls back; text crossfades *\/\n    gsap.timeline({\n      scrollTrigger: {\n        trigger: \".un-hero\", start: \"top top\", end: \"+=240%\", pin: true, scrub: 0.8, anticipatePin: 1,\n        onUpdate: function (s) {\n          vTarget = Math.min(s.progress \/ 0.86, 1) * Math.max((video.duration || 6) - 0.05, 0);\n          gsap.set(\".un-hero-rail span\", { scaleY: s.progress });\n        }\n      }\n    })\n      .to(\".un-cue\", { opacity: 0, duration: 0.06 }, 0)\n      .to(\".un-hero-dim\", { opacity: 0.08, duration: 0.45, ease: \"none\" }, 0)\n      .to(\".un-hero-title\", { opacity: 0, y: -30, duration: 0.25, ease: \"power1.in\" }, 0.05)\n      .fromTo(\".un-hero-end-left\", { opacity: 0, y: 20 }, { opacity: 1, y: 0, duration: 0.16, ease: \"power1.out\" }, 0.74)\n      .fromTo(\".un-hero-end-right\", { opacity: 0, y: 20 }, { opacity: 1, y: 0, duration: 0.16, ease: \"power1.out\" }, 0.78)\n      .to({}, { duration: 0.08 });\n\n    \/* soft fade-up for content *\/\n    $$(\"[data-reveal]\").forEach(function (el) {\n      gsap.from(el, { opacity: 0, y: 24, duration: 1.2, ease: \"power2.out\", scrollTrigger: { trigger: el, start: \"top 90%\" } });\n    });\n\n    \/* BOOK 3D: turns from front to back while the copy scrolls *\/\n    var sideLabel = $(\".un-book-side-label\");\n    var book = $(\".un-book .un-book3d\");\n    function setSide() {\n      var r = ((gsap.getProperty(book, \"rotateY\") % 360) + 360) % 360;\n      var t = (r > 90 && r < 270) ? \"Back cover\" : \"Front cover\";\n      if (sideLabel.textContent !== t) sideLabel.textContent = t;\n    }\n    mm.add(\"(min-width: 901px)\", function () {\n      ScrollTrigger.create({ trigger: \".un-book-grid\", start: \"top top\", end: \"bottom bottom\", pin: \".un-book-stage\", pinSpacing: false });\n      gsap.fromTo(book, { rotateY: -24, rotateX: 6 }, {\n        rotateY: 204, rotateX: -4, ease: \"none\", onUpdate: setSide,\n        scrollTrigger: { trigger: \".un-book-grid\", start: \"top top\", end: \"bottom bottom\", scrub: 1.2 }\n      });\n    });\n    mm.add(\"(max-width: 900px)\", function () {\n      gsap.fromTo(book, { rotateY: -30 }, {\n        rotateY: 200, ease: \"none\", onUpdate: setSide,\n        scrollTrigger: { trigger: \".un-book-stage\", start: \"top 80%\", end: \"bottom 10%\", scrub: 1 }\n      });\n    });\n\n    \/* MANIFESTO: words brighten as you read *\/\n    manifestoWords.forEach(function (m) {\n      gsap.fromTo(m.words, { opacity: 0.18 }, {\n        opacity: 1, ease: \"none\", stagger: 0.1,\n        scrollTrigger: { trigger: m.el, start: \"top 78%\", end: \"bottom 50%\", scrub: true }\n      });\n    });\n\n    \/* INSIDE: horizontal journey (desktop) *\/\n    mm.add(\"(min-width: 900px)\", function () {\n      var tr = $(\".un-inside-track\");\n      var dist = function () { return Math.max(tr.scrollWidth - window.innerWidth, 0); };\n      var hz = gsap.to(tr, {\n        x: function () { return -dist(); }, ease: \"none\",\n        scrollTrigger: {\n          trigger: \".un-inside-pin\", start: \"top top\", end: function () { return \"+=\" + dist(); },\n          pin: true, scrub: 1, invalidateOnRefresh: true, anticipatePin: 1,\n          onUpdate: function (s) { gsap.set(\".un-inside-bar span\", { scaleX: s.progress }); }\n        }\n      });\n      $$(\".un-theme\").forEach(function (t) {\ngsap.from(t, { opacity: 0, duration: 1.2, ease: \"power2.out\", scrollTrigger: { trigger: \".un-inside\", start: \"top 85%\" } });\n        gsap.fromTo($(\".un-theme-img-in\", t), { xPercent: 6 }, {\n          xPercent: -6, ease: \"none\",\n          scrollTrigger: { trigger: t, containerAnimation: hz, start: \"left right\", end: \"right left\", scrub: true }\n        });\n      });\n    });\n    mm.add(\"(max-width: 899px)\", function () {\n      $$(\".un-theme\").forEach(function (t) {\n        gsap.from(t, { opacity: 0, y: 24, duration: 1.2, ease: \"power2.out\", scrollTrigger: { trigger: t, start: \"top 88%\" } });\n      });\n    });\n\n    \/* WHO: rows fade in *\/\n    gsap.from(\".un-who-row\", { opacity: 0, y: 16, duration: 1, stagger: 0.08, ease: \"power2.out\", scrollTrigger: { trigger: \".un-who-list\", start: \"top 85%\" } });\n\n    \/* VISION: slow zoom, line fades in *\/\n    gsap.fromTo(\".un-vision-img\", { scale: 1.2 }, { scale: 1, ease: \"none\", scrollTrigger: { trigger: \".un-vision\", start: \"top bottom\", end: \"bottom top\", scrub: true } });\n    gsap.from(\".un-vision-line, .un-vision-cap\", { opacity: 0, y: 24, duration: 1.6, stagger: 0.2, ease: \"power2.out\", scrollTrigger: { trigger: \".un-vision\", start: \"top 55%\" } });\n\n    \/* AUTHOR & ORDER *\/\n    $$(\"[data-author-photo]\").forEach(function (ph) {\n      gsap.from(ph, { opacity: 0, duration: 1.4, ease: \"power2.out\", scrollTrigger: { trigger: ph, start: \"top 85%\" } });\n    });\n    gsap.from(\".un-order-visual\", { opacity: 0, y: 30, duration: 1.4, ease: \"power2.out\", scrollTrigger: { trigger: \".un-order\", start: \"top 70%\" } });\n\n    \/* active nav link *\/\n    [\"book\", \"inside\", \"readers\", \"author\", \"order\", \"faq\"].forEach(function (id) {\n      var sec = document.getElementById(id); if (!sec) return;\n      ScrollTrigger.create({\n        trigger: sec, start: \"top 50%\", end: \"bottom 50%\",\n        onToggle: function (s) {\n          if (!s.isActive) return;\n          $$(\".un-nav-link\").forEach(function (a) { a.classList.toggle(\"is-active\", a.getAttribute(\"href\") === \"#\" + id); });\n        }\n      });\n    });\n    ScrollTrigger.create({ trigger: \".un-hero\", start: \"top top\", end: \"bottom top\", onEnterBack: function () { $$(\".un-nav-link\").forEach(function (a) { a.classList.remove(\"is-active\"); }); } });\n\n    ScrollTrigger.refresh();\n  }\n\n  \/* ---------- resize ---------- *\/\n  var rzT, lastW = window.innerWidth;\n  window.addEventListener(\"resize\", function () {\n    clearTimeout(rzT);\n    rzT = setTimeout(function () {\n      if (Math.abs(window.innerWidth - lastW) < 2 && window.innerWidth < 900) return; \/* ignore mobile URL-bar resizes *\/\n      lastW = window.innerWidth;\n      fitHero(); ScrollTrigger.refresh();\n    }, 200);\n  });\n\n  setupChat();\n\n  \/* =================== WHATSAPP CHAT ASSISTANT =================== *\/\n  function setupChat() {\n    var chat = $(\"#un-chat\"), panel = $(\"#un-chat-panel\"), fab = $(\"#un-chat-fab\");\n    var body = $(\"#un-chat-body\"), quick = $(\"#un-chat-quick\"), form = $(\"#un-chat-form\"), input = $(\"#un-chat-input\");\n    var teaser = $(\"#un-chat-teaser\");\n    var finePointer = window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches;\n    var started = false, isOpen = false;\n    var state = {};\n    var G = window.gsap;\n\n    function now() { var d = new Date(); return (\"0\" + d.getHours()).slice(-2) + \":\" + (\"0\" + d.getMinutes()).slice(-2); }\n    function scrollDown() { body.scrollTop = body.scrollHeight; }\n    function pop(el) { if (G && !reduce) G.from(el, { y: 10, opacity: 0, duration: 0.5, ease: \"power2.out\" }); }\n    function bubble(text, who) {\n      var m = document.createElement(\"div\");\n      m.className = \"un-msg \" + (who === \"me\" ? \"un-msg-me\" : \"un-msg-bot\");\n      m.textContent = text;\n      var t = document.createElement(\"time\"); t.textContent = now(); m.appendChild(t);\n      body.appendChild(m); pop(m); scrollDown(); return m;\n    }\n    function say(text, delay) {\n      return new Promise(function (res) {\n        var typing = document.createElement(\"div\");\n        typing.className = \"un-msg un-msg-bot un-msg-typing\";\n        typing.innerHTML = \"<i><\/i><i><\/i><i><\/i>\";\n        body.appendChild(typing); scrollDown();\n        setTimeout(function () { typing.remove(); bubble(text, \"bot\"); res(); }, reduce ? 0 : (delay || Math.min(500 + text.length * 12, 1500)));\n      });\n    }\n    function handoff(text, label) {\n      var a = document.createElement(\"a\");\n      a.className = \"un-msg-cta\"; a.href = wa(text); a.target = \"_blank\"; a.rel = \"noopener\";\n      a.innerHTML = '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\"><path d=\"M12 2.5a9.5 9.5 0 0 0-8.2 14.3L2.5 21.5l4.8-1.3A9.5 9.5 0 1 0 12 2.5Z\"\/><\/svg><span><\/span>';\n      a.querySelector(\"span\").textContent = label || \"Continue on WhatsApp\";\n      body.appendChild(a); pop(a); scrollDown();\n    }\n    function chips(list) {\n      quick.innerHTML = \"\";\n      list.forEach(function (c) {\n        var b = document.createElement(\"button\");\n        b.type = \"button\"; b.className = \"un-chip\"; b.textContent = c.label;\n        b.addEventListener(\"click\", function () { quick.innerHTML = \"\"; bubble(c.label, \"me\"); c.go(); });\n        quick.appendChild(b);\n      });\n      if (G && !reduce) G.from(quick.children, { opacity: 0, stagger: 0.05, duration: 0.4, ease: \"power2.out\" });\n    }\n    function mainMenu() {\n      chips([\n        { label: \"Order a copy\", go: askFormat },\n        { label: \"Group order\", go: bulk },\n        { label: \"Delivery & payment\", go: delivery },\n        { label: \"Invite the author\", go: invite },\n        { label: \"Something else\", go: other }\n      ]);\n    }\n    function askFormat() {\n      say(\"Great choice. Which format would you like?\").then(function () {\n        chips(formats.map(function (f) {\n          return { label: f.name + (f.price ? \" \u00b7 \" + money(f.price) : \"\"), go: function () { state.format = f; askQty(); } };\n        }));\n      });\n    }\n    function askQty() {\n      say(\"How many copies?\").then(function () {\n        chips([1, 2, 3, 5, 10].map(function (n) {\n          return { label: n === 10 ? \"10 or more\" : String(n), go: function () { state.qty = n; askCity(); } };\n        }));\n      });\n    }\n    function askCity() {\n      state.awaitCity = true;\n      say(\"Which city should we deliver to? Type it below, or skip.\").then(function () {\n        chips([{ label: \"Skip\", go: function () { state.awaitCity = false; summary(\"\"); } }]);\n        input.focus();\n      });\n    }\n    function summary(place) {\n      var f = state.format || formats[0], n = state.qty || 1;\n      var txt = \"Here is your order:\\n\" + n + \" \u00d7 \" + f.name + (place ? \"\\nDelivery to \" + place : \"\") + (f.price ? \"\\nPrice shown: \" + money(f.price * n) : \"\");\n      say(txt).then(function () { return say(\"Send it on WhatsApp and the team will confirm price, payment and delivery.\", 700); })\n        .then(function () { handoff(orderMessage(f, n, place), \"Send order on WhatsApp\"); chips([{ label: \"Start over\", go: restart }]); });\n    }\n    function bulk() {\n      say(\"We supply schools, churches, associations and companies. Tell us roughly how many copies you need and where, and we will prepare a quote.\")\n        .then(function () { handoff(WA_TEXT.bulk, \"Ask about a group order\"); chips([{ label: \"Back to menu\", go: restart }]); });\n    }\n    function delivery() {\n      say(\"Every order is confirmed by a person on WhatsApp. Share your city and country, and the team will give you delivery options, timing and the available payment methods.\")\n        .then(function () { handoff(\"Hello! I would like to know the delivery and payment options for \" + TITLE + \". My city\/country is: \", \"Ask on WhatsApp\"); chips([{ label: \"Order a copy\", go: askFormat }, { label: \"Back to menu\", go: restart }]); });\n    }\n    function invite() {\n      say(\"The author accepts invitations to speak at conferences, churches, schools and community events. Send the date, place and a few words about your audience.\")\n        .then(function () { handoff(WA_TEXT.invite, \"Send an invitation\"); chips([{ label: \"Back to menu\", go: restart }]); });\n    }\n    function other() {\n      say(\"Of course. Type your question below and it will open in WhatsApp, ready to send.\").then(function () { input.focus(); });\n    }\n    function restart() { state = {}; say(\"What else can I help you with?\").then(mainMenu); }\n\n    function begin() {\n      if (started) return; started = true;\n      say(\"Hello, and welcome! \ud83d\udc4b\", 600)\n        .then(function () { return say(\"I can help you get \" + TITLE + \" or reach the author's team. What would you like to do?\"); })\n        .then(mainMenu);\n    }\n    function open(v) {\n      isOpen = typeof v === \"boolean\" ? v : !isOpen;\n      chat.classList.toggle(\"is-open\", isOpen);\n      fab.setAttribute(\"aria-expanded\", String(isOpen));\n      fab.setAttribute(\"aria-label\", isOpen ? \"Close chat\" : \"Chat on WhatsApp\");\n      teaser.hidden = true;\n      if (isOpen) {\n        panel.hidden = false;\n        if (G && !reduce) G.fromTo(panel, { opacity: 0, y: 16 }, { opacity: 1, y: 0, duration: 0.5, ease: \"power2.out\" });\n        begin();\n        setTimeout(function () { if (finePointer) input.focus(); }, 300);\n      } else if (G && !reduce) {\n        G.to(panel, { opacity: 0, y: 12, duration: 0.3, ease: \"power2.in\", onComplete: function () { panel.hidden = true; } });\n      } else panel.hidden = true;\n    }\n    fab.addEventListener(\"click\", function () { open(); });\n    $(\".un-chat-close\").addEventListener(\"click\", function () { open(false); fab.focus(); });\n    panel.addEventListener(\"keydown\", function (e) { if (e.key === \"Escape\") { open(false); fab.focus(); } });\n    panel.setAttribute(\"data-lenis-prevent\", \"\");\n    teaser.addEventListener(\"click\", function (e) {\n      if (e.target.closest(\"button\")) { teaser.hidden = true; try { sessionStorage.setItem(\"un-teaser\", \"1\"); } catch (x) {} return; }\n      open(true);\n    });\n\n    form.addEventListener(\"submit\", function (e) {\n      e.preventDefault();\n      var v = input.value.trim(); if (!v) return;\n      input.value = \"\"; quick.innerHTML = \"\";\n      bubble(v, \"me\");\n      if (state.awaitCity) { state.awaitCity = false; summary(v); return; }\n      say(\"Thanks! Tap below to send your message on WhatsApp. The team will reply there.\")\n        .then(function () { handoff(v, \"Send on WhatsApp\"); chips([{ label: \"Back to menu\", go: restart }]); });\n    });\n\n    var seen = false;\n    try { seen = sessionStorage.getItem(\"un-teaser\") === \"1\"; } catch (x) {}\n    if (!seen) setTimeout(function () {\n      if (isOpen) return;\n      teaser.hidden = false;\n      if (G && !reduce) G.from(teaser, { opacity: 0, y: 12, duration: 0.7, ease: \"power2.out\" });\n      setTimeout(function () { teaser.hidden = true; }, 12000);\n    }, 9000);\n  }\n})();\n<\/script>\n\n<\/body>\n<\/html>\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>The Unfinished Nations TUN TUN SHEMSU AMMASUBABA PUBLISHING HOUSEby Ne AmmasuBaba Kinkela Wa Ma Zulu The book Inside Who it&#8217;s for Author FAQ Grab your copy The book Inside Who it&#8217;s for Author FAQ Grab your copy Order directly from the author&#8217;s team on WhatsApp. Chat on WhatsApp The Unfinished Nations Awakening the Builders 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":{"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/theunfinishednation.ammasu.com\/index.php?rest_route=\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/theunfinishednation.ammasu.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/theunfinishednation.ammasu.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/theunfinishednation.ammasu.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/theunfinishednation.ammasu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12"}],"version-history":[{"count":22,"href":"https:\/\/theunfinishednation.ammasu.com\/index.php?rest_route=\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":46,"href":"https:\/\/theunfinishednation.ammasu.com\/index.php?rest_route=\/wp\/v2\/pages\/12\/revisions\/46"}],"wp:attachment":[{"href":"https:\/\/theunfinishednation.ammasu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}