@charset "UTF-8";
:root{--navy:#0b2038;--navy-2:#123754;--navy-3:#1c4c6c;--gold:#d5b35f;--gold-2:#f0d995;--ink:#182b3c;--muted:#5d6d7d;--paper:#f3f6f8;--white:#fff;--line:#dce4ea;--green:#367b62;--danger:#9d5a3c;--shadow:0 18px 50px rgba(11,32,56,.09);--radius:12px;--max:1200px;--ease:220ms ease}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.72}img{max-width:100%;height:auto;display:block}a{color:inherit}button,input,textarea,select{font:inherit}p,li,.prose,.info-card p,.feature-card p,.sector-content p,.resource-list p,.faq-answer p,.contact-panel p,.lifecycle-body p,.callout p,.notice p,.stage-tile strong,.data-table td{ text-align:justify;text-justify:inter-word;hyphens:auto}p{margin:0 0 1rem}h1,h2,h3,h4{line-height:1.16;letter-spacing:-.025em;color:var(--navy);margin:0 0 .85rem;text-align:left}h1{font-size:clamp(2.65rem,5.7vw,5.2rem)}h2{font-size:clamp(2rem,3.3vw,3rem)}h3{font-size:1.3rem}ul,ol{padding-left:1.25rem}li{margin:.35rem 0}.container{width:min(var(--max),92%);margin-inline:auto}.skip-link{position:absolute;top:-100px;left:1rem;background:#fff;color:var(--navy);padding:.75rem 1rem;z-index:100}.skip-link:focus{top:1rem}.topbar{background:#07182b;color:#d7e2ec;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.topbar-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,228,234,.9)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:88px}.brand{display:block;flex:0 1 260px}.brand img{width:270px;height:auto}.nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(.65rem,1.25vw,1.2rem)}.nav a{text-decoration:none;color:#415469;font-size:.76rem;font-weight:700;white-space:nowrap;transition:color var(--ease)}.nav a:hover,.nav a:focus-visible,.nav a.active{color:#9a7626}.nav a:focus-visible,.btn:focus-visible,.text-link:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c99e35;outline-offset:4px}.nav .nav-cta{background:var(--navy);color:#fff;padding:.72rem .9rem;border-radius:5px}.nav .nav-cta:hover{background:#1b4263;color:#fff}.nav-toggle{display:none;width:44px;height:42px;border:1px solid var(--line);border-radius:6px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px}.nav-toggle span{width:19px;height:2px;background:var(--navy);display:block}.hero-home{background:radial-gradient(circle at 80% 5%,rgba(213,179,95,.13),transparent 28%),linear-gradient(125deg,#07182b,#0b2b49 64%,#154464);color:#fff;position:relative;overflow:hidden;padding:clamp(4rem,8vw,7.4rem) 0}.hero-pattern{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(30deg,transparent 48%,#d5b35f 49%,transparent 50%),linear-gradient(150deg,transparent 48%,#d5b35f 49%,transparent 50%);background-size:90px 90px;mask-image:linear-gradient(to right,transparent,black)}.hero-layout{position:relative;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(2rem,5vw,5rem)}.hero-copy h1{color:#fff;max-width:800px;margin:1rem 0 1.4rem}.hero-copy h1 em{font-style:normal;color:var(--gold-2)}.hero-copy>p{font-size:1.13rem;line-height:1.8;color:#d6e1eb;max-width:720px}.eyebrow{display:block;color:#a88430;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.8rem}.hero-home .eyebrow,.section-navy .eyebrow,.page-hero .eyebrow{color:var(--gold-2)}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:48px;padding:.78rem 1.15rem;border:1px solid transparent;border-radius:5px;font-size:.85rem;font-weight:800;text-decoration:none;transition:transform var(--ease),background var(--ease),border-color var(--ease),box-shadow var(--ease)}.btn:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(0,0,0,.12)}.btn-gold{background:var(--gold);color:#122235}.btn-gold:hover{background:var(--gold-2)}.btn-outline{border-color:rgba(255,255,255,.45);color:#fff}.btn-outline:hover{border-color:var(--gold);background:rgba(255,255,255,.06)}.btn-dark{background:var(--navy);color:#fff}.hero-caveat{display:flex;align-items:center;gap:.65rem;font-size:.75rem;color:#c3d1dd;margin-top:1.3rem}.status-dot{width:8px;height:8px;display:inline-block;background:var(--gold);border-radius:50%;box-shadow:0 0 0 5px rgba(213,179,95,.14)}.hero-visual{position:relative}.hero-visual img{border:1px solid rgba(213,179,95,.42);border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.visual-caption{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;color:var(--navy);padding:1rem 1.2rem;border-radius:8px;box-shadow:var(--shadow);margin:-1.5rem 1.2rem 0;position:relative}.visual-caption span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.visual-caption strong{font-size:.88rem}.principles-band{background:#fff;border-bottom:1px solid var(--line)}.principles-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;padding:1.35rem 0}.principles-grid>div{display:flex;gap:.65rem;align-items:flex-start;border-right:1px solid var(--line);padding-right:.75rem}.principles-grid>div:last-child{border-right:0}.principles-grid span{color:#a88430;font-size:.72rem;font-weight:900}.principles-grid p{font-size:.78rem;font-weight:800;color:var(--navy);margin:0;line-height:1.45}.section{padding:clamp(4rem,7vw,6.3rem) 0}.section-soft{background:var(--paper)}.section-navy{background:var(--navy);color:#fff}.section-navy h2{color:#fff}.intro-grid,.split-cta{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2rem,6vw,6rem);align-items:start}.section-kicker h2{max-width:600px}.intro-copy{padding-top:1.6rem}.prose p{color:#4e6172}.text-link{display:inline-flex;gap:.6rem;align-items:center;margin-top:.3rem;color:#8a6820;font-weight:800;font-size:.88rem;text-decoration:none;border-bottom:1px solid rgba(138,104,32,.4);padding-bottom:.25rem}.text-link:hover{color:var(--navy);border-color:var(--navy)}.section-heading{max-width:800px;margin-bottom:2.4rem}.section-heading>p{color:var(--muted);max-width:760px}.feature-grid{display:grid;gap:1rem}.feature-grid.four{grid-template-columns:repeat(4,1fr)}.feature-grid.three{grid-template-columns:repeat(3,1fr)}.feature-card,.info-card{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1.6rem;min-height:100%;text-decoration:none;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#c9b06d}.feature-number{font-size:.7rem;letter-spacing:.14em;color:#a88430;font-weight:900}.feature-icon{width:46px;height:46px;border-radius:10px;background:#f8f1df;color:#8e6b20;display:grid;place-items:center;font-size:1.55rem;margin:1.1rem 0}.feature-card h3,.info-card h3{margin-bottom:.65rem}.feature-card p,.info-card p{color:var(--muted);font-size:.9rem}.card-link{margin-top:auto;padding-top:1rem;color:#8a6820;font-size:.78rem;font-weight:800}.stage-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.stage-tile{position:relative;display:flex;flex-direction:column;gap:.6rem;min-height:125px;padding:1.15rem 2.4rem 1.15rem 1.15rem;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:#fff;transition:transform var(--ease),border-color var(--ease)}.stage-tile:hover{transform:translateY(-3px);border-color:var(--gold)}.stage-tile>span:first-child{color:#a88430;font-size:.67rem;font-weight:900;letter-spacing:.12em}.stage-tile strong{font-size:.93rem;line-height:1.4;color:var(--navy)}.stage-arrow{position:absolute;right:1rem;bottom:1rem;color:#a88430}.center-action{text-align:center;margin-top:2rem}.pilot-callout{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.pilot-callout p{color:#d0dbe5;max-width:700px}.pilot-callout .btn{margin-top:.5rem}.pilot-status{padding:1.5rem;border:1px solid rgba(213,179,95,.5);border-radius:8px;background:rgba(255,255,255,.045)}.status-label{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-2);font-size:.65rem;font-weight:900;margin-bottom:.6rem}.pilot-status strong{font-size:1.2rem;color:#fff}.pilot-status p{font-size:.82rem;margin:.6rem 0 0}.split-cta .prose{padding-top:.2rem}.page-hero{background:linear-gradient(125deg,#07182b,#0e3554);padding:4.4rem 0 4.6rem;color:#fff;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(213,179,95,.22);border-radius:50%;right:-100px;top:-170px;box-shadow:0 0 0 38px rgba(213,179,95,.025),0 0 0 78px rgba(213,179,95,.02)}.page-hero-inner{position:relative;z-index:1}.page-hero h1{color:#fff;font-size:clamp(2.6rem,5vw,4.3rem);max-width:1000px;margin:.5rem 0 1rem}.hero-lead{color:#d4e0eb;font-size:1.08rem;max-width:820px}.hero-note{color:var(--gold-2);font-size:.78rem;margin-top:1rem}.content-narrow{max-width:880px}.callout{padding:1.35rem 1.5rem;background:#edf3f7;border:1px solid #d7e2ea;border-left:4px solid var(--navy-3);border-radius:4px;margin:0 0 2rem}.callout strong{display:block;color:var(--navy);margin-bottom:.4rem}.callout p{margin:0;color:#4c6071}.callout-gold{background:#fbf7eb;border-color:#ead9a7;border-left-color:var(--gold)}.lifecycle{border-top:1px solid var(--line)}.lifecycle-stage{display:grid;grid-template-columns:74px 1fr;gap:1.3rem;padding:2rem 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.lifecycle-index{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--navy);color:var(--gold-2);font-weight:900;font-size:1.2rem}.stage-label{color:#9a7626;letter-spacing:.13em;font-weight:900;font-size:.68rem}.lifecycle-body h3{margin:.35rem 0 .7rem}.lifecycle-body>p{color:var(--muted);max-width:900px}.responsibility{display:flex;flex-wrap:wrap;gap:.4rem 1rem;border-top:1px dashed var(--line);padding-top:.8rem;margin-top:.8rem;font-size:.8rem}.responsibility strong{color:var(--navy)}.responsibility span{color:var(--muted)}.principle-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.principle-list article{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1.4rem;border:1px solid var(--line);border-radius:8px}.principle-list article>span{color:#a88430;font-size:.8rem;font-weight:900}.principle-list h3{margin:0 0 .5rem}.principle-list p{color:var(--muted);font-size:.9rem;margin:0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.process-grid article{border-top:3px solid var(--gold);padding:1.4rem;background:var(--paper)}.process-grid article>span{font-size:.72rem;color:#a88430;font-weight:900}.process-grid h3{margin:.7rem 0}.process-grid p{font-size:.9rem;color:var(--muted)}.sector-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.sector-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 6px 22px rgba(11,32,56,.04)}.sector-art img{width:100%;aspect-ratio:16/6;object-fit:cover}.sector-content{padding:1.5rem}.sector-content h2{font-size:1.65rem;margin:.25rem 0 .7rem}.sector-content>p{color:var(--muted)}.sector-controls{padding-top:1rem;border-top:1px solid var(--line);margin-top:1rem}.sector-controls strong{font-size:.78rem;color:var(--navy)}.sector-controls p{font-size:.85rem;color:var(--muted);margin:.35rem 0 0}.architecture-stack{display:grid;gap:.85rem}.architecture-stack article{display:grid;grid-template-columns:50px 1fr auto;gap:1.2rem;align-items:start;padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:9px}.architecture-stack article>span:first-child{color:#a88430;font-weight:900}.architecture-stack h3{margin:0 0 .55rem}.architecture-stack p{color:var(--muted);margin:0}.status-pill{font-size:.68rem;font-weight:800;padding:.45rem .7rem;border-radius:30px;background:#fbf3df;color:#7c5a12;white-space:nowrap}.status-neutral{background:#eef2f5;color:#4d6071}.phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.phase-grid article{border:1px solid var(--line);border-radius:10px;padding:1.5rem;background:#fff}.phase-grid article>span{font-size:.68rem;letter-spacing:.14em;font-weight:900;color:#a88430}.phase-grid h3{margin:1rem 0}.phase-grid p{color:var(--muted);font-size:.9rem}.phase-status{padding-top:.8rem;border-top:1px solid var(--line);font-size:.75rem!important;font-weight:800;color:#7c5a12!important}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.data-table{border-collapse:collapse;width:100%;min-width:760px}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:1rem;text-align:left;vertical-align:top;font-size:.86rem}.data-table thead th{background:var(--navy);color:#fff;font-size:.75rem;letter-spacing:.05em}.data-table tbody th{width:24%;color:var(--navy);background:#f9fbfc}.data-table td{color:var(--muted)}.data-table td:last-child{color:#785d1d}.table-note{font-size:.82rem;color:var(--muted);margin-top:1rem}.resource-list{border-top:1px solid var(--line);margin-bottom:2rem}.resource-list article{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:1.7rem 0;border-bottom:1px solid var(--line)}.resource-type{font-size:.68rem;letter-spacing:.12em;font-weight:900;color:#9a7626}.resource-list h2{font-size:1.3rem;margin-bottom:.5rem}.resource-list p{color:var(--muted);font-size:.9rem}.resource-status{font-size:.74rem;color:#5f6f7e;font-weight:800}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;display:grid;grid-template-columns:45px 1fr;gap:1rem;align-items:center;list-style:none;padding:1.3rem 0;font-weight:800;color:var(--navy)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.5rem;color:#9a7626;justify-self:end}.faq-item[open] summary:after{content:"−"}.faq-item summary span{color:#a88430;font-size:.72rem}.faq-answer{padding:0 3rem 1.3rem 3.5rem}.faq-answer p{color:var(--muted);margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.contact-panel{border:1px solid var(--line);border-radius:10px;padding:2rem}.contact-panel h2{font-size:1.9rem}.contact-panel p,.contact-panel li{color:var(--muted)}.contact-panel-soft{background:var(--paper)}.small-note{font-size:.72rem;color:#8996a2}.footer{background:#061629;color:#c8d5e0;padding:4rem 0 1.2rem}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.2rem}.footer h2{color:#fff;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.1rem}.footer a{display:block;color:#c3d0dc;text-decoration:none;font-size:.79rem;margin:.55rem 0}.footer a:hover{color:var(--gold-2)}.footer-brand-block>p{max-width:370px;font-size:.8rem;color:#9cabb9;margin-top:1rem}.footer-wordmark{font-size:1.1rem;font-weight:900;letter-spacing:.09em;color:#fff!important}.footer-wordmark span{display:block;color:var(--gold);font-size:.62rem;letter-spacing:.2em;margin-top:.35rem}.badge-attribution{display:flex;align-items:center;gap:1rem;margin-top:1.4rem;position:relative}.attribution-trigger{width:72px;height:72px;border:1px solid rgba(213,179,95,.55);border-radius:8px;padding:4px;background:#fff;cursor:pointer;flex:none}.attribution-trigger img{width:100%;height:100%;object-fit:contain}.attribution-note{display:flex;flex-direction:column;gap:.15rem;max-width:230px;padding:.7rem .9rem;border:1px solid rgba(213,179,95,.55);border-radius:6px;background:#102b46;color:#fff;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity var(--ease),transform var(--ease),visibility var(--ease);font-size:.76rem}.attribution-note strong{color:var(--gold-2)}.attribution-note span{color:#e0e8ef}.badge-attribution:hover .attribution-note,.badge-attribution:focus-within .attribution-note,.badge-attribution.is-open .attribution-note{opacity:1;visibility:visible;transform:translateY(0)}.footer .small-note{margin-top:.4rem;color:#71879b}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.12);margin-top:3rem;padding-top:1.2rem;color:#8295a7;font-size:.68rem}.center-action .btn{margin-inline:auto}
@media(max-width:1100px){.nav-wrap{min-height:80px}.brand{flex-basis:220px}.brand img{width:230px}.nav{gap:.65rem}.nav a{font-size:.69rem}.nav .nav-cta{padding:.65rem .7rem}.feature-grid.four{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}}
@media(max-width:860px){.nav-toggle{display:flex}.nav{display:none;position:absolute;top:100%;left:4%;right:4%;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);align-items:stretch;flex-direction:column;gap:0}.nav.open{display:flex}.nav a{padding:.8rem .6rem;border-bottom:1px solid #edf0f3;font-size:.86rem}.nav a:last-child{border-bottom:0}.nav .nav-cta{margin-top:.6rem;text-align:center}.hero-layout,.intro-grid,.split-cta,.pilot-callout{grid-template-columns:1fr}.hero-visual{max-width:760px}.principles-grid{grid-template-columns:repeat(2,1fr)}.principles-grid>div{border-right:0;border-bottom:1px solid var(--line);padding:.6rem 0}.principles-grid>div:last-child{border-bottom:0}.stage-strip,.process-grid{grid-template-columns:repeat(2,1fr)}.feature-grid.three,.phase-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-grid>div:last-child{grid-column:auto}.architecture-stack article{grid-template-columns:40px 1fr}.status-pill{grid-column:2;justify-self:start}}
@media(max-width:600px){body{font-size:15px}.topbar-inner{align-items:flex-start;flex-direction:column;justify-content:center;gap:.2rem;padding:.55rem 0;font-size:.57rem}.nav-wrap{min-height:74px}.brand{flex-basis:210px}.brand img{width:210px}.hero-home{padding:3.7rem 0}.hero-copy h1{font-size:clamp(2.55rem,12vw,3.8rem)}.hero-copy>p{font-size:1rem}.visual-caption{margin:-1rem .5rem 0;padding:.8rem}.principles-grid{grid-template-columns:1fr}.principles-grid>div{border-bottom:1px solid var(--line);padding:.55rem 0}.section{padding:3.5rem 0}.feature-grid.four,.feature-grid.three,.stage-strip,.process-grid,.sector-grid,.principle-list,.phase-grid,.contact-grid{grid-template-columns:1fr}.page-hero{padding:3.4rem 0}.page-hero h1{font-size:2.6rem}.lifecycle-stage{grid-template-columns:48px 1fr;gap:.9rem;padding:1.5rem 0}.lifecycle-index{width:44px;height:44px;font-size:.95rem}.resource-list article{grid-template-columns:1fr;gap:.45rem}.faq-item summary{grid-template-columns:32px 1fr;font-size:.9rem}.faq-answer{padding:0 0 1.2rem 2.7rem}.footer-grid{grid-template-columns:1fr;gap:1.3rem}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.badge-attribution{align-items:flex-start}.attribution-note{max-width:200px}.architecture-stack article{grid-template-columns:28px 1fr;gap:.75rem;padding:1rem}.status-pill{grid-column:2}.data-table{min-width:700px}.callout{padding:1.1rem}.contact-panel{padding:1.3rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* V3 institutional UI/UX overhaul: BENROMA-inspired information hierarchy, adapted for Zamani Africa. */
.topbar{background:#07182b;color:#dbe5ed;letter-spacing:.11em}
.topbar-inner{min-height:35px}
.topbar-mark{display:inline-block;width:7px;height:7px;margin:0 .35rem 1px 0;border-radius:50%;background:var(--gold)}
.topbar-separator{color:#8c9cac;margin:0 .45rem}
.site-header{background:#fff;border-bottom:1px solid #dfe6ec;box-shadow:0 4px 18px rgba(7,24,43,.045);backdrop-filter:none}
.nav-wrap{min-height:91px;gap:1.1rem}
.brand{flex:0 1 255px;max-width:255px}
.brand img{width:100%;max-width:255px}
.nav{gap:clamp(.15rem,.55vw,.55rem);height:100%;align-self:stretch}
.nav>a,.nav .nav-group-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:44px;padding:.7rem .66rem;border:0;border-radius:3px;background:transparent;color:#35495c;font-size:.76rem;font-weight:750;text-decoration:none;white-space:nowrap;transition:color var(--ease),background var(--ease)}
.nav>a:not(.nav-cta)::after,.nav .nav-group-toggle::after{position:absolute;content:"";left:.65rem;right:.65rem;bottom:4px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--ease)}
.nav>a:not(.nav-cta):hover,.nav>a:not(.nav-cta):focus-visible,.nav .nav-group-toggle:hover,.nav .nav-group-toggle:focus-visible,.nav .nav-group.group-active>.nav-group-toggle{color:#8a6820;background:#faf8f2}
.nav>a:not(.nav-cta):hover::after,.nav>a:not(.nav-cta):focus-visible::after,.nav>a:not(.nav-cta).active::after,.nav .nav-group-toggle:hover::after,.nav .nav-group-toggle:focus-visible::after,.nav .nav-group.group-active>.nav-group-toggle::after{transform:scaleX(1)}
.nav .nav-group{position:relative;display:flex;align-items:center;height:100%}
.nav .nav-group-toggle{cursor:pointer}
.nav .nav-group-toggle svg{transition:transform var(--ease);flex:none}
.nav .nav-group:hover>.nav-group-toggle svg,.nav .nav-group:focus-within>.nav-group-toggle svg,.nav .nav-group.is-open>.nav-group-toggle svg{transform:rotate(180deg)}
.nav-dropdown{display:none;position:absolute;top:calc(100% - 1px);left:0;z-index:50;width:min(720px,calc(100vw - 40px));grid-template-columns:minmax(180px,.72fr) minmax(300px,1.28fr);background:#fff;border:1px solid #dce4ea;border-top:3px solid var(--gold);box-shadow:0 22px 50px rgba(7,24,43,.17);border-radius:0 0 8px 8px;overflow:hidden;text-align:left}
.nav-group:hover>.nav-dropdown,.nav-group:focus-within>.nav-dropdown,.nav-group.is-open>.nav-dropdown{display:grid;animation:navReveal 150ms ease-out}
.nav-dropdown-intro{padding:1.55rem 1.35rem;background:linear-gradient(145deg,#0b2038,#143b5a);color:#fff}
.dropdown-kicker{display:block;margin-bottom:.7rem;color:var(--gold-2);font-size:.61rem;line-height:1.5;font-weight:900;letter-spacing:.13em}
.nav-dropdown-intro>strong{display:block;color:#fff;font-size:1.2rem;line-height:1.2;letter-spacing:-.02em}
.nav-dropdown-intro p{margin:.8rem 0 0;color:#d0dce6;font-size:.8rem;line-height:1.65;text-align:left}
.nav-dropdown-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;padding:.55rem;gap:.2rem}
.nav-dropdown-link{display:block;min-width:0;padding:.85rem .8rem;border:1px solid transparent;border-radius:5px;text-decoration:none!important;white-space:normal!important;color:#263b4e!important;transition:background var(--ease),border-color var(--ease),transform var(--ease)}
.nav-dropdown-link:hover,.nav-dropdown-link:focus-visible,.nav-dropdown-link.active{background:#f7f4eb;border-color:#e9dfc4;color:#7a5a16!important;transform:translateY(-1px)}
.dropdown-link-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.45rem;color:var(--navy);font-size:.79rem;line-height:1.35;font-weight:850}
.dropdown-link-title>span{color:#a88430;opacity:0;transition:opacity var(--ease),transform var(--ease);flex:none}
.nav-dropdown-link:hover .dropdown-link-title>span,.nav-dropdown-link:focus-visible .dropdown-link-title>span,.nav-dropdown-link.active .dropdown-link-title>span{opacity:1;transform:translate(2px,-2px)}
.dropdown-link-description{display:block;margin-top:.35rem;color:#657587;font-size:.69rem;line-height:1.45}
.nav .nav-cta{margin-left:.25rem;background:var(--navy);color:#fff;padding:.78rem .85rem;border-radius:4px;box-shadow:0 4px 10px rgba(11,32,56,.1);transition:background var(--ease),transform var(--ease),box-shadow var(--ease)}
.nav .nav-cta:hover,.nav .nav-cta:focus-visible{background:#1b4263;color:#fff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(11,32,56,.16)}
.nav .nav-cta span{color:var(--gold-2);font-size:.9rem}
.institutional-shortcuts{position:relative;z-index:2;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 22px rgba(11,32,56,.035)}
.shortcuts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.shortcuts-grid>a{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:.85rem;padding:1.25rem 1.3rem;text-decoration:none;border-right:1px solid var(--line);transition:background var(--ease)}
.shortcuts-grid>a:first-child{border-left:1px solid var(--line)}
.shortcuts-grid>a:hover,.shortcuts-grid>a:focus-visible{background:#fbf8f0}
.shortcut-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#f6efd9;color:#8a6820;font-size:1.35rem}
.shortcuts-grid strong{display:block;color:var(--navy);font-size:.83rem;line-height:1.35}
.shortcuts-grid small{display:block;margin-top:.2rem;color:var(--muted);font-size:.7rem;line-height:1.45}
.shortcuts-grid b{color:#a88430;transition:transform var(--ease)}
.shortcuts-grid>a:hover b,.shortcuts-grid>a:focus-visible b{transform:translateX(4px)}
@keyframes navReveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
/* Keep text justified in page content while preserving readable alignment for controls and navigation. */
main p,main li,main dd,main blockquote,main .prose,main .card-copy{ text-align:justify;text-justify:inter-word; }
@media(max-width:1240px){.nav-wrap{gap:.55rem}.brand{flex-basis:220px;max-width:220px}.brand img{max-width:220px}.nav{gap:.05rem}.nav>a,.nav .nav-group-toggle{padding-inline:.48rem;font-size:.71rem}.nav .nav-cta{padding:.7rem .62rem}}
@media(max-width:1040px){.nav-wrap{min-height:82px}.brand{flex-basis:220px;max-width:220px}.nav-toggle{display:flex;flex:none}.nav{display:none;position:absolute;top:100%;left:4%;right:4%;height:auto;padding:.7rem;background:#fff;border:1px solid var(--line);border-radius:0 0 10px 10px;box-shadow:var(--shadow);align-items:stretch;flex-direction:column;gap:0;max-height:calc(100vh - 120px);overflow-y:auto}.nav.open{display:flex}.nav>a,.nav .nav-group-toggle{display:flex;justify-content:space-between;width:100%;min-height:48px;padding:.8rem .75rem;border-bottom:1px solid #edf0f3;border-radius:4px;font-size:.88rem;text-align:left}.nav>a:not(.nav-cta)::after,.nav .nav-group-toggle::after{display:none}.nav .nav-group{height:auto;display:block}.nav .nav-group-toggle{background:#fff}.nav .nav-group.group-active>.nav-group-toggle{background:#faf8f2}.nav-dropdown{position:static;width:auto;grid-template-columns:1fr;border:1px solid #e1e7ed;border-top:2px solid var(--gold);border-radius:5px;box-shadow:none;margin:.15rem 0 .6rem;animation:none!important}.nav-group:hover>.nav-dropdown{display:none}.nav-group:focus-within>.nav-dropdown,.nav-group.is-open>.nav-dropdown{display:grid}.nav-dropdown-intro{padding:1rem 1.1rem}.nav-dropdown-intro>strong{font-size:1.05rem}.nav-dropdown-intro p{margin-top:.45rem}.nav-dropdown-links{grid-template-columns:repeat(2,minmax(0,1fr))}.nav .nav-cta{margin:.65rem 0 0;text-align:center;justify-content:center}.shortcuts-grid>a{padding:1rem .8rem;gap:.65rem}}
@media(max-width:640px){.topbar-inner{font-size:.54rem;letter-spacing:.08em}.topbar-separator{margin-inline:.2rem}.nav-wrap{min-height:74px}.brand{flex-basis:205px;max-width:205px}.brand img{max-width:205px}.nav-dropdown-links{grid-template-columns:1fr}.nav-dropdown-link{padding:.75rem}.shortcuts-grid{grid-template-columns:1fr}.shortcuts-grid>a,.shortcuts-grid>a:first-child{border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:.85rem}.shortcuts-grid>a:last-child{border-bottom:0}.shortcut-icon{width:38px;height:38px}.institutional-shortcuts{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.nav-dropdown{animation:none!important}}

/* V3.1 corrections requested 15 October 2026 */
.topbar{display:none!important}
.site-header{top:0}
.nav-dropdown{width:min(610px,calc(100vw - 32px));grid-template-columns:minmax(150px,.62fr) minmax(0,1.38fr);left:auto;right:0;max-height:min(70vh,520px);overflow-y:auto}
.nav-dropdown-intro{padding:1.05rem 1rem}
.nav-dropdown-intro>strong{font-size:1.05rem}
.nav-dropdown-intro p{font-size:.75rem;line-height:1.5}
.nav-dropdown-links{grid-template-columns:repeat(2,minmax(0,1fr));padding:.45rem;gap:.15rem}
.nav-dropdown-link{padding:.65rem .6rem}
.dropdown-link-title{font-size:.75rem}
.dropdown-link-description{font-size:.65rem;line-height:1.4}
.hero-layout{grid-template-columns:minmax(0,1fr)}
.hero-copy{max-width:980px}
.hero-copy h1{max-width:950px}
.hero-copy>p{max-width:850px}
.footer-bottom{align-items:center;gap:1.25rem}
.footer-bottom>span:last-child{margin-left:auto;text-align:right}
.footer-bottom .badge-attribution{margin:0;align-items:center;gap:.55rem}
.footer-bottom .attribution-trigger{width:44px;height:34px;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}
.footer-bottom .attribution-trigger img{width:100%;height:100%;object-fit:contain}
.footer-bottom .attribution-note{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,5px);width:max-content;max-width:260px;padding:.65rem .8rem;background:#102b46;border:1px solid rgba(213,179,95,.55);border-radius:5px;box-shadow:0 8px 25px rgba(0,0,0,.2);z-index:5}
.footer-bottom .badge-attribution:hover .attribution-note,.footer-bottom .badge-attribution:focus-within .attribution-note,.footer-bottom .badge-attribution.is-open .attribution-note{transform:translate(-50%,0)}
@media(max-width:1040px){.nav-dropdown{width:auto;max-height:none;right:auto;grid-template-columns:1fr}.nav-dropdown-intro{padding:1rem 1.1rem}}
@media(max-width:640px){.footer-bottom{align-items:flex-start}.footer-bottom>span:last-child{margin-left:0;text-align:left}.footer-bottom .badge-attribution{align-self:center}.nav-dropdown-links{grid-template-columns:1fr}}


/* Targeted header and footer refinement — 15 October 2026 */
.site-header{top:0}
.topbar{display:block!important;background:#07182b;color:#e4ebf1;border-bottom:2px solid var(--gold);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}
.topbar-inner{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.topbar-inner span{display:block;line-height:1.2}
.topbar-right{color:var(--gold-2);text-align:right}
.nav-wrap{min-height:104px;align-items:center;gap:1.35rem}
.brand{flex:0 1 300px;max-width:300px;display:flex;align-items:center}
.brand img{width:300px;max-width:100%;max-height:82px;object-fit:contain;object-position:left center}
.nav{align-self:stretch;align-items:center;justify-content:flex-end;gap:clamp(.45rem,1vw,1rem)}
.nav-home,.nav .nav-group,.nav .nav-group-toggle,.nav .nav-cta{align-self:center}
.nav .nav-group{height:100%;align-items:center}
.nav .nav-group-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.65rem .55rem;line-height:1.2}
.nav>a:not(.nav-cta){display:inline-flex;align-items:center;align-self:center;min-height:48px;padding:.65rem .55rem}
.nav .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1rem}
.nav-dropdown{top:100%;width:min(560px,calc(100vw - 32px));grid-template-columns:minmax(135px,.52fr) minmax(0,1.48fr)}
.nav-dropdown-intro{padding:1rem .9rem}
.nav-dropdown-intro>strong{font-size:1rem}
.nav-dropdown-intro p{font-size:.72rem;line-height:1.5}
.nav-dropdown-links{grid-template-columns:repeat(2,minmax(0,1fr));padding:.4rem;gap:.1rem}
.nav-dropdown-link{padding:.62rem .55rem}
.dropdown-link-title{font-size:.73rem}
.dropdown-link-description{font-size:.63rem;line-height:1.35}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;min-height:74px}
.footer-copyright{justify-self:start}
.footer-meta{justify-self:end;text-align:right}
.footer-bottom .badge-attribution{position:relative;display:flex;align-items:center;justify-content:center;justify-self:center;margin:0;gap:0;min-width:140px}
.footer-bottom .attribution-trigger{display:flex;align-items:center;justify-content:center;width:132px;height:46px;margin:0;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;appearance:none;cursor:pointer}
.footer-bottom .attribution-trigger img{display:block;width:100%;height:100%;object-fit:contain;background:transparent}
.footer-bottom .attribution-note{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);display:flex;flex-direction:column;gap:.12rem;width:max-content;max-width:min(280px,85vw);padding:.7rem .9rem;background:#102b46;color:#fff;border:1px solid rgba(213,179,95,.65);border-radius:5px;box-shadow:0 8px 25px rgba(0,0,0,.22);z-index:10;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 160ms ease,transform 160ms ease,visibility 160ms ease}
.footer-bottom .attribution-note strong{color:var(--gold-2);font-size:.82rem;white-space:nowrap}
.footer-bottom .attribution-note span{font-size:.78rem;white-space:nowrap}
.footer-bottom .badge-attribution:hover .attribution-note,.footer-bottom .badge-attribution:focus-within .attribution-note,.footer-bottom .badge-attribution.is-open .attribution-note{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:1240px) and (min-width:1041px){.nav-wrap{gap:.65rem}.brand{flex-basis:245px;max-width:245px}.brand img{width:245px}.nav{gap:.05rem}.nav>a:not(.nav-cta),.nav .nav-group-toggle{padding-inline:.38rem;font-size:.69rem}.nav .nav-cta{padding-inline:.65rem;font-size:.7rem}}
@media(max-width:1040px){.topbar-inner{min-height:28px;font-size:.59rem}.nav-wrap{min-height:84px;align-items:center}.brand{flex-basis:250px;max-width:250px}.brand img{width:250px;max-height:68px}.nav-toggle{align-self:center}.nav{align-self:auto}.nav .nav-group{height:auto}.nav .nav-group-toggle{min-height:48px}.nav-dropdown{width:auto;grid-template-columns:1fr}.footer-bottom{grid-template-columns:1fr auto;row-gap:.65rem;padding-block:1rem}.footer-bottom .badge-attribution{grid-column:1/-1;grid-row:1;justify-self:center}.footer-copyright{grid-column:1;grid-row:2}.footer-meta{grid-column:2;grid-row:2}}
@media(max-width:640px){.topbar-inner{min-height:27px;font-size:.49rem;letter-spacing:.06em}.topbar-right{text-align:right}.nav-wrap{min-height:76px}.brand{flex-basis:210px;max-width:210px}.brand img{width:210px;max-height:58px}.footer-bottom{grid-template-columns:1fr;justify-items:center;text-align:center}.footer-bottom .badge-attribution{grid-column:1;grid-row:1}.footer-copyright,.footer-meta{grid-column:1;justify-self:center;text-align:center}.footer-copyright{grid-row:2}.footer-meta{grid-row:3}.footer-bottom .attribution-trigger{width:145px;height:48px}}
@media(prefers-reduced-motion:reduce){.footer-bottom .attribution-note{transition:none}}


/* Targeted header/footer refinement — 15 October 2026 */
.topbar {
  display: block !important;
  height: 32px;
  overflow: hidden;
  background: #07182b;
  border-bottom: 2px solid var(--gold);
  color: #f0d995;
}
.topbar-ticker {
  width: 100%; height: 100%; overflow: hidden; display: flex; align-items: center;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.topbar-track {
  display: flex; align-items: center; width: max-content; flex: 0 0 auto;
  animation: zamaniTicker 34s linear infinite; will-change: transform;
}
.topbar-track > span {
  display: inline-flex; align-items: center; gap: 1.5rem; flex: 0 0 auto;
  padding-right: 3rem; white-space: nowrap; font-size: .67rem; line-height: 1; letter-spacing: .12em;
}
.ticker-separator { color: var(--gold); font-size: .55rem; }
@keyframes zamaniTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.topbar:hover .topbar-track { animation-play-state: paused; }

/* Vertically centre the navigation controls within the white navbar */
.nav-wrap { min-height: 126px !important; display: flex; align-items: center !important; }
.brand { align-self: center; }
.nav { align-self: stretch !important; display: flex; align-items: center !important; justify-content: flex-end; }
.nav > a, .nav > .nav-group { align-self: center !important; }
.nav .nav-group { display: flex; align-items: center !important; }
.nav .nav-group-toggle, .nav > .nav-home, .nav > .nav-cta { align-self: center !important; margin-block: auto; }
.nav-group { position: relative; }
.nav-dropdown { top: 100%; }

/* Footer badge stays centred on the baseline; attribution is a real link */
.footer-bottom .badge-attribution { position: relative; align-self: center; }
.footer-bottom .attribution-note { text-decoration: none; color: #fff; cursor: pointer; z-index: 20; }
.footer-bottom .attribution-note:hover, .footer-bottom .attribution-note:focus-visible {
  border-color: var(--gold-2); outline: 2px solid var(--gold); outline-offset: 3px;
}
.footer-bottom .attribution-note strong { display: block; color: var(--gold-2); }
.footer-bottom .attribution-note span { display: block; color: #fff; }
.footer-meta { text-transform: none; }

@media (max-width: 1040px) {
  .nav-wrap { min-height: 88px !important; }
  .nav { align-items: stretch !important; }
  .nav > a, .nav > .nav-group { align-self: stretch !important; }
  .nav .nav-group-toggle { align-self: stretch !important; }
}
@media (max-width: 640px) {
  .topbar-track > span { font-size: .57rem; letter-spacing: .06em; }
}
@media (prefers-reduced-motion: reduce) {
  .topbar-track { animation: none; transform: none; }
}

/* Ensure the visible attribution link can be clicked */
.footer-bottom .badge-attribution:hover .attribution-note,
.footer-bottom .badge-attribution:focus-within .attribution-note,
.footer-bottom .badge-attribution.is-open .attribution-note {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0);
}


/* Targeted refinement 2 — ticker spacing, true navbar vertical centring, badge URL */
.topbar-track > span {
  gap: 2.75rem !important;
  padding-right: 5rem !important;
  letter-spacing: .14em;
}

/* Give the navigation a definite full-height flex area so its controls align
   with the logo centre, instead of sitting near the top edge. */
.nav-wrap {
  min-height: 126px !important;
  display: flex !important;
  align-items: center !important;
}
.nav-wrap > .brand,
.nav-wrap > .nav-toggle {
  align-self: center !important;
}
.nav-wrap > .nav {
  height: 126px !important;
  min-height: 126px !important;
  align-self: center !important;
  display: flex;
  align-items: center !important;
}
.nav-wrap > .nav > .nav-home,
.nav-wrap > .nav > .nav-group,
.nav-wrap > .nav > .nav-cta {
  align-self: center !important;
  margin-block: 0 !important;
}
.nav-wrap > .nav > .nav-group {
  height: 100%;
  display: flex;
  align-items: center !important;
}
.nav-wrap > .nav > .nav-group > .nav-group-toggle {
  align-self: center !important;
}

@media (max-width: 1040px) {
  .nav-wrap { min-height: 88px !important; }
  .nav-wrap > .nav {
    height: auto !important;
    min-height: 0 !important;
    align-self: auto !important;
    align-items: stretch !important;
  }
  .nav-wrap > .nav > .nav-home,
  .nav-wrap > .nav > .nav-group,
  .nav-wrap > .nav > .nav-cta {
    align-self: stretch !important;
  }
  .nav-wrap > .nav > .nav-group { height: auto; display: block; }
  .nav-wrap > .nav > .nav-group > .nav-group-toggle { align-self: stretch !important; }
}

@media (prefers-reduced-motion: reduce) {
  .topbar-track { animation: none !important; }
}


/* V2.1 targeted correction: compact, viewport-safe dropdowns and ticker wording */
.nav-wrap > .nav > .nav-group {
  position: relative !important;
  min-width: 0;
}

@media (min-width: 1041px) {
  .nav-wrap > .nav > .nav-group > .nav-dropdown {
    position: absolute !important;
    top: calc(100% - 1px) !important;
    left: auto !important;
    right: 0 !important;
    width: min(520px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    grid-template-columns: minmax(135px, .48fr) minmax(0, 1.52fr) !important;
    max-height: min(66vh, 430px) !important;
    overflow: auto !important;
    border-radius: 0 0 8px 8px;
  }

  .nav-dropdown-intro {
    padding: .9rem .85rem !important;
  }

  .nav-dropdown-intro > strong {
    font-size: .98rem !important;
  }

  .nav-dropdown-intro p {
    margin-top: .55rem !important;
    font-size: .69rem !important;
    line-height: 1.45 !important;
  }

  .dropdown-kicker {
    font-size: .55rem !important;
    letter-spacing: .09em !important;
  }

  .nav-dropdown-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: .35rem !important;
    gap: .05rem !important;
  }

  .nav-dropdown-link {
    padding: .52rem .48rem !important;
  }

  .dropdown-link-title {
    font-size: .69rem !important;
    line-height: 1.3 !important;
  }

  .dropdown-link-description {
    margin-top: .22rem !important;
    font-size: .61rem !important;
    line-height: 1.35 !important;
  }
}

/* The attribution itself is a clickable link to ShaakaaManasseh Technologies. */
.footer-bottom .attribution-note {
  text-decoration: none !important;
  pointer-events: auto !important;
}

.footer-bottom .attribution-note:hover,
.footer-bottom .attribution-note:focus-visible {
  color: #fff;
  border-color: var(--gold-2);
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

@media (max-width: 1040px) {
  .nav-wrap > .nav > .nav-group > .nav-dropdown {
    position: static !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
  }
}


/* V3.2 corrective refinement: ticker spacing, visible navigation type, clickable attribution */
.topbar-ticker { width: 100%; overflow: hidden; }
.topbar-track {
  display: flex !important;
  align-items: center;
  width: max-content;
  gap: 0 !important;
  animation: zamaniTicker 38s linear infinite !important;
}
.topbar-message {
  display: flex !important;
  align-items: center;
  flex: 0 0 auto;
  gap: 2.25rem !important;
  padding-right: 5rem !important;
  white-space: nowrap;
}
.topbar-message > span:not(.ticker-separator) {
  display: inline-block;
  white-space: nowrap;
  line-height: 1.2;
}
.topbar-message .ticker-separator {
  flex: 0 0 auto;
  margin: 0 !important;
}
@keyframes zamaniTicker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Restore readable navigation font sizes without widening the dropdowns. */
@media (min-width: 1041px) {
  .nav > a:not(.nav-cta),
  .nav .nav-group-toggle {
    font-size: .78rem !important;
  }
  .nav .nav-cta {
    font-size: .78rem !important;
  }
}
@media (min-width: 1041px) and (max-width: 1240px) {
  .nav > a:not(.nav-cta),
  .nav .nav-group-toggle {
    font-size: .74rem !important;
    padding-inline: .34rem !important;
  }
  .nav .nav-cta {
    font-size: .74rem !important;
    padding-inline: .58rem !important;
  }
}

/* Ensure the attribution pop-up itself is an actual clickable link. */
.footer-bottom .badge-attribution { isolation: isolate; }
.footer-bottom .attribution-note {
  pointer-events: none !important;
  text-decoration: none !important;
}
.footer-bottom .badge-attribution:hover .attribution-note,
.footer-bottom .badge-attribution:focus-within .attribution-note,
.footer-bottom .badge-attribution.is-open .attribution-note {
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 100 !important;
  transform: translate(-50%, 0) !important;
}
.footer-bottom .attribution-note:focus-visible {
  outline: 2px solid var(--gold-2) !important;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .topbar-track { animation: none !important; }
}

/* Restored V9 body refinements; deliberately excludes global section-heading alignment rules. */
.proposition-section{padding-top:clamp(2.4rem,4vw,3.2rem)}
.proposition-section .intro-grid{align-items:center}
.proposition-section .intro-copy{padding-top:.25rem}
.feature-grid.four .feature-card{min-height:330px;padding:1.45rem}
.feature-grid.four .feature-icon{margin:.45rem 0 1rem}
.feature-grid.four .feature-card h3{margin-top:0}
.feature-grid.four .feature-card .card-link{padding-top:1rem}
.stage-tile{min-height:145px;transition:transform var(--ease),border-color var(--ease),background-color var(--ease),box-shadow var(--ease),color var(--ease)}
.stage-tile strong{transition:color var(--ease)}
.stage-tile .stage-arrow{transition:transform var(--ease),color var(--ease)}
.stage-tile:hover,.stage-tile:focus-visible{transform:translateY(-4px);box-shadow:0 12px 28px rgba(11,32,56,.11)}
.stage-tile:hover .stage-arrow,.stage-tile:focus-visible .stage-arrow{transform:translate(3px,-3px)}
.stage-tile:nth-child(1):hover,.stage-tile:nth-child(1):focus-visible{background:#e8f7f4;border-color:#36a99a}.stage-tile:nth-child(1):hover strong,.stage-tile:nth-child(1):focus-visible strong{color:#176b63}.stage-tile:nth-child(1):hover .stage-arrow{color:#176b63}
.stage-tile:nth-child(2):hover,.stage-tile:nth-child(2):focus-visible{background:#eaf2ff;border-color:#5d8ee8}.stage-tile:nth-child(2):hover strong,.stage-tile:nth-child(2):focus-visible strong{color:#214f9b}.stage-tile:nth-child(2):hover .stage-arrow{color:#214f9b}
.stage-tile:nth-child(3):hover,.stage-tile:nth-child(3):focus-visible{background:#f1edff;border-color:#9981e5}.stage-tile:nth-child(3):hover strong,.stage-tile:nth-child(3):focus-visible strong{color:#5b419e}.stage-tile:nth-child(3):hover .stage-arrow{color:#5b419e}
.stage-tile:nth-child(4):hover,.stage-tile:nth-child(4):focus-visible{background:#e6f8ff;border-color:#37afd4}.stage-tile:nth-child(4):hover strong,.stage-tile:nth-child(4):focus-visible strong{color:#086b8d}.stage-tile:nth-child(4):hover .stage-arrow{color:#086b8d}
.stage-tile:nth-child(5):hover,.stage-tile:nth-child(5):focus-visible{background:#fff5df;border-color:#d7a63e}.stage-tile:nth-child(5):hover strong,.stage-tile:nth-child(5):focus-visible strong{color:#8a5a06}.stage-tile:nth-child(5):hover .stage-arrow{color:#8a5a06}
.stage-tile:nth-child(6):hover,.stage-tile:nth-child(6):focus-visible{background:#eeefff;border-color:#8188df}.stage-tile:nth-child(6):hover strong,.stage-tile:nth-child(6):focus-visible strong{color:#424b9a}.stage-tile:nth-child(6):hover .stage-arrow{color:#424b9a}
.stage-tile:nth-child(7):hover,.stage-tile:nth-child(7):focus-visible{background:#fff0e7;border-color:#e89a60}.stage-tile:nth-child(7):hover strong,.stage-tile:nth-child(7):focus-visible strong{color:#9a4b15}.stage-tile:nth-child(7):hover .stage-arrow{color:#9a4b15}
.stage-tile:nth-child(8):hover,.stage-tile:nth-child(8):focus-visible{background:#e9f8ec;border-color:#64b878}.stage-tile:nth-child(8):hover strong,.stage-tile:nth-child(8):focus-visible strong{color:#216b36}.stage-tile:nth-child(8):hover .stage-arrow{color:#216b36}
.stage-tile:nth-child(9):hover,.stage-tile:nth-child(9):focus-visible{background:#edf2f5;border-color:#8398a7}.stage-tile:nth-child(9):hover strong,.stage-tile:nth-child(9):focus-visible strong{color:#344e60}.stage-tile:nth-child(9):hover .stage-arrow{color:#344e60}
@media(prefers-reduced-motion:reduce){.stage-tile,.stage-tile strong,.stage-tile .stage-arrow{transition:none!important}}
@media(max-width:860px){.feature-grid.four .feature-card{min-height:290px}}
@media(max-width:600px){.feature-grid.four .feature-card{min-height:0}.stage-tile{min-height:112px}.proposition-section{padding-top:2.4rem}}


/* V13 targeted refinement: only the homepage Architecture and ASTRA-C lifecycle introductions.
   All other page sections and the restored site chrome remain unchanged. */
.architecture-section-refinement > .container > .section-heading,
.astra-lifecycle-section-refinement > .container > .section-heading {
  width: 100%;
  max-width: none;
}
.architecture-section-refinement > .container > .section-heading h2,
.astra-lifecycle-section-refinement > .container > .section-heading h2 {
  width: 100%;
  max-width: none;
  text-align: justify;
  text-align-last: left;
}
.architecture-section-refinement > .container > .section-heading > p,
.astra-lifecycle-section-refinement > .container > .section-heading > p {
  width: 100%;
  max-width: none;
  text-align: justify;
  text-justify: inter-word;
}
.astra-lifecycle-section-refinement .stage-tile {
  align-items: center;
  text-align: center;
  padding-inline: 1.15rem;
}
.astra-lifecycle-section-refinement .stage-tile > span:first-child,
.astra-lifecycle-section-refinement .stage-tile > strong {
  width: 100%;
  text-align: center;
}
.astra-lifecycle-section-refinement .stage-tile .stage-arrow {
  right: 1rem;
  bottom: .85rem;
}

/* V3.3 mobile navigation correction — appended override, desktop styles unchanged */
@media (max-width: 1040px) {
  /* Keep the mobile menu compact and scrollable within the available viewport. */
  .nav-wrap > .nav {
    position: absolute !important;
    top: 100% !important;
    left: 4% !important;
    right: 4% !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: min(520px, calc(100vh - 155px)) !important;
    max-height: min(520px, calc(100dvh - 155px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding: .4rem !important;
    gap: 0 !important;
    align-items: stretch !important;
  }

  .nav-wrap > .nav > .nav-home,
  .nav-wrap > .nav > .nav-group > .nav-group-toggle,
  .nav-wrap > .nav > .nav-cta {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    padding: .55rem .7rem !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    font-size: .9rem !important;
  }

  .nav-wrap > .nav > .nav-group {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    align-self: auto !important;
  }

  /* On mobile, hover/focus must not expand a submenu. Only an explicit tap
     toggling .is-open should reveal the links. */
  .nav-wrap > .nav > .nav-group:hover > .nav-dropdown,
  .nav-wrap > .nav > .nav-group:focus-within > .nav-dropdown {
    display: none !important;
  }

  .nav-wrap > .nav > .nav-group.is-open > .nav-dropdown {
    display: grid !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin: .15rem 0 .45rem !important;
    padding: 0 !important;
    border: 1px solid #e1e7ed !important;
    border-top: 2px solid var(--gold) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    animation: none !important;
  }

  .nav-wrap > .nav > .nav-group.is-open > .nav-dropdown .nav-dropdown-intro {
    padding: .7rem .8rem !important;
  }

  .nav-wrap > .nav > .nav-group.is-open > .nav-dropdown .nav-dropdown-intro > strong {
    font-size: .95rem !important;
  }

  .nav-wrap > .nav > .nav-group.is-open > .nav-dropdown .nav-dropdown-intro p {
    margin: .35rem 0 0 !important;
    font-size: .78rem !important;
    line-height: 1.4 !important;
  }

  .nav-wrap > .nav > .nav-group.is-open > .nav-dropdown .nav-dropdown-links {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    padding: .25rem !important;
  }

  .nav-wrap > .nav > .nav-group.is-open > .nav-dropdown .nav-dropdown-link {
    padding: .55rem .6rem !important;
    border-bottom: 1px solid #edf0f3 !important;
    border-radius: 3px !important;
    transform: none !important;
  }

  .nav-wrap > .nav > .nav-group.is-open > .nav-dropdown .dropdown-link-title {
    font-size: .82rem !important;
    line-height: 1.3 !important;
  }

  .nav-wrap > .nav > .nav-group.is-open > .nav-dropdown .dropdown-link-description {
    margin-top: .15rem !important;
    font-size: .72rem !important;
    line-height: 1.35 !important;
  }

  .nav-wrap > .nav > .nav-cta {
    display: flex !important;
    justify-content: center !important;
    margin-top: .4rem !important;
    padding: .7rem !important;
  }
}

@media (max-width: 640px) {
  .nav-wrap > .nav {
    left: 3% !important;
    right: 3% !important;
    max-height: min(500px, calc(100vh - 145px)) !important;
    max-height: min(500px, calc(100dvh - 145px)) !important;
    padding: .35rem !important;
  }

  .nav-wrap > .nav > .nav-home,
  .nav-wrap > .nav > .nav-group > .nav-group-toggle {
    min-height: 42px !important;
    padding: .5rem .65rem !important;
    font-size: .86rem !important;
  }
}
/* Zamani Africa mobile navigation correction V3.4
   APPEND this block to the END of public_html/assets/css/zamani.css.
   Do not replace the existing stylesheet with this file. */
   @media (max-width: 1040px) {
    /* Keep the mobile navigation panel compact and independently scrollable. */
    .site-header .nav-wrap > .nav {
      position: absolute !important;
      top: 100% !important;
      left: 4% !important;
      right: 4% !important;
      width: auto !important;
      height: auto !important;
      min-height: 0 !important;
      max-height: min(62dvh, 460px) !important;
      overflow-x: hidden !important;
      overflow-y: auto !important;
      overscroll-behavior: contain;
      padding: .35rem .55rem .55rem !important;
      gap: 0 !important;
      background: #fff !important;
      border: 1px solid var(--line) !important;
      border-radius: 0 0 10px 10px !important;
      box-shadow: var(--shadow) !important;
      z-index: 40 !important;
    }
  
    .site-header .nav-wrap > .nav:not(.open) {
      display: none !important;
    }
    .site-header .nav-wrap > .nav.open {
      display: flex !important;
    }
  
    .site-header .nav-wrap > .nav > .nav-home,
    .site-header .nav-wrap > .nav > .nav-group > .nav-group-toggle {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      width: 100% !important;
      min-height: 42px !important;
      height: auto !important;
      margin: 0 !important;
      padding: .55rem .65rem !important;
      line-height: 1.25 !important;
      font-size: .9rem !important;
      text-align: left !important;
      border: 0 !important;
      border-bottom: 1px solid #edf0f3 !important;
      border-radius: 0 !important;
      background: #fff !important;
    }
  
    .site-header .nav-wrap > .nav > .nav-group {
      display: block !important;
      width: 100% !important;
      height: auto !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
    }
  
    /* Submenus stay collapsed until the JS adds .is-open after a tap. */
    .site-header .nav-wrap > .nav > .nav-group > .nav-dropdown,
    .site-header .nav-wrap > .nav > .nav-group:hover > .nav-dropdown,
    .site-header .nav-wrap > .nav > .nav-group:focus-within > .nav-dropdown {
      display: none !important;
      position: static !important;
      width: 100% !important;
      max-width: 100% !important;
      max-height: none !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: visible !important;
      grid-template-columns: minmax(0, 1fr) !important;
      border: 0 !important;
      border-bottom: 1px solid #e7edf1 !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      animation: none !important;
    }
  
    .site-header .nav-wrap > .nav > .nav-group.is-open > .nav-dropdown {
      display: grid !important;
    }
  
    .site-header .nav .nav-dropdown-intro {
      padding: .65rem .7rem .35rem !important;
    }
    .site-header .nav .nav-dropdown-intro .dropdown-kicker {
      font-size: .58rem !important;
    }
    .site-header .nav .nav-dropdown-intro > strong {
      font-size: .9rem !important;
    }
    .site-header .nav .nav-dropdown-intro p {
      margin: .25rem 0 .35rem !important;
      font-size: .76rem !important;
      line-height: 1.45 !important;
    }
    .site-header .nav .nav-dropdown-links {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      gap: 0 !important;
      padding: 0 .35rem .35rem !important;
    }
    .site-header .nav .nav-dropdown-link {
      display: block !important;
      padding: .55rem .55rem !important;
      border-bottom: 1px solid #edf0f3 !important;
      white-space: normal !important;
    }
    .site-header .nav .dropdown-link-title {
      font-size: .82rem !important;
      line-height: 1.35 !important;
    }
    .site-header .nav .dropdown-link-description {
      font-size: .7rem !important;
      line-height: 1.35 !important;
    }
  
    .site-header .nav-wrap > .nav > .nav-cta {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      min-height: 44px !important;
      margin: .45rem 0 0 !important;
      padding: .65rem .75rem !important;
      font-size: .88rem !important;
      text-align: center !important;
      border: 0 !important;
      border-radius: 5px !important;
    }
  }
  
  @media (max-width: 640px) {
    .site-header .nav-wrap { min-height: 74px !important; }
    .site-header .nav-wrap > .nav {
      left: 4% !important;
      right: 4% !important;
      max-height: min(58dvh, 400px) !important;
    }
    .site-header .nav-wrap > .brand img {
      width: min(210px, 58vw) !important;
      max-height: 58px !important;
      object-fit: contain !important;
    }
    .site-header .nav-toggle { flex: 0 0 44px !important; }
  }
  /* Zamani Africa mobile navigation correction
   Append to the END of public/assets/css/zamani.css. */
@media (max-width: 1040px) {
  /* On mobile, focus alone must not open a submenu. The JS-controlled .is-open
     class is the sole display trigger; this fixes the older :focus-within rule. */
  .nav-wrap > .nav#primary-navigation .nav-group > .nav-dropdown {
    display: none !important;
  }

  .nav-wrap > .nav#primary-navigation .nav-group.is-open > .nav-dropdown {
    display: grid !important;
  }

  .nav-wrap > .nav#primary-navigation .nav-group:hover > .nav-dropdown,
  .nav-wrap > .nav#primary-navigation .nav-group:focus-within > .nav-dropdown {
    display: none !important;
  }

  .nav-wrap > .nav#primary-navigation .nav-group.is-open:hover > .nav-dropdown,
  .nav-wrap > .nav#primary-navigation .nav-group.is-open:focus-within > .nav-dropdown {
    display: grid !important;
  }

  .nav-wrap > .nav#primary-navigation {
    max-height: min(68dvh, 520px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  .nav-wrap > .nav#primary-navigation > .nav-home,
  .nav-wrap > .nav#primary-navigation > .nav-group > .nav-group-toggle {
    min-height: 40px;
    padding: .55rem .7rem;
    margin-block: 0;
    align-self: stretch !important;
  }

  .nav-wrap > .nav#primary-navigation > .nav-group {
    align-self: stretch !important;
    margin: 0;
  }

  .nav-wrap > .nav#primary-navigation > .nav-group > .nav-dropdown {
    margin: .1rem 0 .3rem;
  }

  .nav-wrap > .nav#primary-navigation > .nav-cta {
    min-height: 44px;
    margin: .35rem 0 0;
    align-self: stretch !important;
  }
}



/* FINAL mobile navigation state fix — 29 October 2026
   Keep the main panel closed until the hamburger is activated.
   Keep mobile submenus closed until their own toggle is activated.
   Desktop navigation behaviour is intentionally unchanged. */
@media (max-width: 1040px) {
  .site-header .nav-wrap > #primary-navigation:not(.open) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .site-header .nav-wrap > #primary-navigation.open {
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .site-header .nav-wrap > #primary-navigation > .nav-group > .nav-dropdown,
  .site-header .nav-wrap > #primary-navigation > .nav-group:hover > .nav-dropdown,
  .site-header .nav-wrap > #primary-navigation > .nav-group:focus-within > .nav-dropdown {
    display: none !important;
  }

  .site-header .nav-wrap > #primary-navigation > .nav-group.is-open > .nav-dropdown,
  .site-header .nav-wrap > #primary-navigation > .nav-group.is-open:hover > .nav-dropdown,
  .site-header .nav-wrap > #primary-navigation > .nav-group.is-open:focus-within > .nav-dropdown {
    display: grid !important;
  }
}
