/* ===== version 7: testimonial collage, memberships, sectors engine, wider presence map ===== */
.rs-wall{grid-template-columns:1fr}
.rs-rows{padding:26px 0}

/* ---------- home: testimonial collage ---------- */
main#top>section.cw:not(#z){padding:clamp(48px,6vw,80px) 0!important;margin:0!important}
.cw{background:var(--bg);overflow:hidden}
.cw-h{display:grid;justify-items:center;text-align:center;gap:10px;margin-bottom:clamp(26px,3.4vw,40px)}
.cw-h h2{margin:0;font-size:clamp(2rem,3.8vw,3.1rem);line-height:1.08;letter-spacing:-.035em;color:var(--fg)}
.cw-h h2 em{font-style:normal;background:linear-gradient(95deg,#0E8363,#1FB384 45%,#E8A33D);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
html[data-theme=dark] .cw-h h2 em{background-image:linear-gradient(95deg,#3BD8A7,#F0B35B)}
.cw-h p{margin:0;color:var(--mut)}
.cw-g{columns:3 300px;column-gap:16px}
.cq{break-inside:avoid;margin:0 0 16px;border-radius:22px;padding:22px 24px;animation:cwf 9s ease-in-out infinite}
.cq:nth-child(2n){animation-delay:-3s}.cq:nth-child(3n){animation-delay:-6s}
@keyframes cwf{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.cq.big{position:relative;background:var(--card);border:1px solid var(--line);box-shadow:0 24px 50px -36px rgba(11,107,82,.45)}
.cq.big:nth-of-type(odd){color:#E8F1ED;border-color:transparent;background:radial-gradient(80% 70% at 100% 0%,rgba(31,179,132,.35),transparent 70%),radial-gradient(70% 70% at 0% 100%,rgba(232,163,61,.22),transparent 70%),#06140E}
.cq-mk{width:38px;height:auto;fill:#1FB384;margin-bottom:10px}
.cq.big:nth-of-type(odd) .cq-mk{fill:#F0B35B}
.cq.big blockquote{margin:0;font-size:1.12rem;line-height:1.5;font-weight:600;letter-spacing:-.01em;color:var(--fg)}
.cq.big:nth-of-type(odd) blockquote{color:#fff}
.cq.big figcaption{display:grid;gap:2px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.cq.big:nth-of-type(odd) figcaption{border-color:rgba(255,255,255,.15)}
.cq.big figcaption b{font-size:.9rem;color:var(--fg)}.cq.big figcaption span{font-size:.82rem;color:var(--mut)}
.cq.big:nth-of-type(odd) figcaption b{color:#fff}.cq.big:nth-of-type(odd) figcaption span{color:rgba(232,241,237,.65)}
.cq.cqh{display:grid;gap:6px;padding:18px 22px}
.cq.cqh b{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.3;letter-spacing:-.02em}
.cq.cqh span{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.cq.cv0{background:var(--sos-t);color:var(--sos)}
.cq.cv1{background:var(--con-t);color:var(--con)}
.cq.cv2{color:var(--fg);border:2px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,#E8A33D,#1FB384) border-box}

/* ---------- home: partner network with memberships ---------- */
.hpn-cards{display:grid;gap:14px}
.hpn-m{display:block;text-decoration:none;color:var(--fg);transition:border-color .3s,box-shadow .3s}
.hpn-m:hover{border-color:rgba(31,179,132,.5);box-shadow:0 20px 40px -30px rgba(11,107,82,.5)}
.hpn-ml{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;align-items:center}
.hpn-lg.wide{height:80px}
.hpn-mt{display:grid;gap:4px}.hpn-mt b{font-size:1rem}.hpn-mt small{font-size:.86rem;line-height:1.5;color:var(--mut)}

/* ---------- sectors: configuration engine ---------- */
main#top>section.se:not(#z){padding:clamp(40px,5vw,72px) 0!important;margin:0!important}
.se{background:var(--bg)}
.se-p{position:relative;overflow:hidden;isolation:isolate;padding:clamp(32px,4.4vw,64px) clamp(20px,3.6vw,52px);border-radius:36px;color:#E8F1ED;background:#05130D}
.se-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 50% at 50% 55%,rgba(31,179,132,.25),transparent 70%),radial-gradient(40% 50% at 0% 100%,rgba(232,163,61,.18),transparent 70%),radial-gradient(40% 50% at 100% 0%,rgba(31,179,132,.18),transparent 70%)}
.se-glow:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask:radial-gradient(circle at 50% 55%,#000,transparent 70%);mask:radial-gradient(circle at 50% 55%,#000,transparent 70%)}
.se-h{max-width:820px;margin:0 auto;text-align:center}
.se-k{font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#7DE8C5}
.se-h h2{margin:12px 0 0;font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;letter-spacing:-.035em;color:#fff;text-wrap:balance}
.se-h h2 em{font-style:normal;background:linear-gradient(95deg,#7DE8C5,#F0B35B);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.se-h p{margin:16px auto 0;max-width:62ch;color:rgba(232,241,237,.75);line-height:1.7}
.se-d{--S:540px;display:grid;grid-template-columns:minmax(0,1fr) var(--S) minmax(0,1fr);gap:clamp(16px,2vw,32px);align-items:center;margin-top:clamp(28px,3vw,44px)}
.se-lab{display:block;margin-bottom:10px;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.se-g.in .se-lab{color:#F5C780}.se-g.out .se-lab{color:#7DE8C5}
.se-g ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.se-g li{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11)}
.se-g li i{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#1A1004;background:linear-gradient(135deg,#F5C780,#E8A33D)}
.se-g.out li i{color:#03140D;background:linear-gradient(135deg,#7DE8C5,#1FB384)}
.se-g li span{display:grid;gap:1px}.se-g li b{font-size:.95rem;color:#fff}.se-g li small{font-size:.78rem;color:rgba(232,241,237,.6)}
.se-g.in li:after,.se-g.out li:after{content:"";position:absolute;top:50%;width:clamp(16px,2vw,32px);height:2px;background:linear-gradient(90deg,rgba(240,179,91,.8),transparent)}
.se-g.in li:after{right:calc(-1*clamp(16px,2vw,32px))}
.se-g.out li:after{left:calc(-1*clamp(16px,2vw,32px));background:linear-gradient(270deg,rgba(125,232,197,.8),transparent)}
.se-orb{position:relative;width:var(--S);height:var(--S);--R1:calc(var(--S)*.485);--R2:calc(var(--S)*.3)}
.se-tr{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.se-tr circle{fill:none;stroke-width:.25;vector-effect:none}
.se-tr circle:first-child{stroke:rgba(125,232,197,.35);stroke-dasharray:1 1.6}
.se-tr circle:last-child{stroke:rgba(240,179,91,.45);stroke-dasharray:.6 1.2}
.se-sweep{position:absolute;inset:6%;border-radius:50%;background:conic-gradient(from 0deg,rgba(125,232,197,.0) 0deg,rgba(125,232,197,.0) 280deg,rgba(125,232,197,.28) 350deg,rgba(125,232,197,0) 360deg);animation:sespin 8s linear infinite;-webkit-mask:radial-gradient(circle,transparent 30%,#000 31%);mask:radial-gradient(circle,transparent 30%,#000 31%)}
@keyframes sespin{to{transform:rotate(1turn)}}
.se-ring{position:absolute;inset:0;animation:sespin 70s linear infinite}
.se-s{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateY(calc(-1*var(--R1))) rotate(calc(-1*var(--a)))}
.se-s em{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 11px;border-radius:99px;font-style:normal;font-size:.76rem;font-weight:700;color:#E8F1ED;background:#0B2219;border:1px solid rgba(125,232,197,.35);box-shadow:0 8px 20px -10px rgba(0,0,0,.8);animation:sespinr 70s linear infinite}
.se-s em svg{color:#7DE8C5}
@keyframes sespinr{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-1turn)}}
.se-steps{position:absolute;inset:0}
.se-n{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateY(calc(-1*var(--R2))) rotate(calc(-1*var(--a)))}
.se-n em{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-style:normal;color:#1A1004;background:linear-gradient(135deg,#F5C780,#E8A33D);box-shadow:0 0 0 6px #05130D;animation:sepulse 12s infinite;animation-delay:calc(var(--i)*2s)}
.se-n:nth-child(n+4) em{color:#03140D;background:linear-gradient(135deg,#7DE8C5,#1FB384)}
.se-n em b{position:absolute;right:-4px;top:-4px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800;color:#fff;background:#05130D;border:1.5px solid rgba(255,255,255,.4)}
@keyframes sepulse{0%,14%{box-shadow:0 0 0 6px #05130D,0 0 0 12px rgba(125,232,197,.35),0 0 40px rgba(125,232,197,.7)}18%,100%{box-shadow:0 0 0 6px #05130D}}
.se-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(var(--S)*.36);height:calc(var(--S)*.36);border-radius:50%;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;background:radial-gradient(circle at 35% 30%,#16402F,#071811 70%);border:1px solid rgba(125,232,197,.4);box-shadow:0 0 0 10px rgba(255,255,255,.03),0 0 80px rgba(31,179,132,.45)}
.se-core img{width:62%;height:auto}
.se-core span{font-size:.78rem;font-weight:700;line-height:1.3;color:#7DE8C5}
.se-l{list-style:none;margin:clamp(28px,3vw,44px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.se-l li{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);animation:sel 12s infinite;animation-delay:calc(var(--i)*2s)}
@keyframes sel{0%,14%{background:rgba(31,179,132,.16);border-color:rgba(125,232,197,.5)}18%,100%{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}}
.se-l li>span{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:1.3rem;font-weight:600;background:linear-gradient(135deg,#F0B35B,#7DE8C5);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.se-l b{font-size:1rem;color:#fff}.se-l p{margin:4px 0 0;font-size:.86rem;line-height:1.5;color:rgba(232,241,237,.65)}

/* ---------- about: wider presence map ---------- */
.apr-h{grid-template-columns:1.1fr 1fr}
.apr-r{display:grid;gap:16px}
.apr-s div:first-child span{max-width:13ch}
.apr-twg{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:16px;background:#fff}
.apr-twg img{width:130px;height:auto}
.apr-twg span{font-size:.88rem;font-weight:600;color:#33413C}
.apr-map{position:relative;aspect-ratio:1000/520;margin:clamp(20px,3vw,36px) auto 0;width:min(1600px,100%)}
.apr-rg{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none}
.apr-rg i{position:absolute;width:calc(110px*var(--s));height:calc(110px*var(--s));border-radius:50%;background:radial-gradient(circle,rgba(125,232,197,.24),rgba(125,232,197,0) 70%);animation:prp 5s ease-in-out infinite}
@keyframes prp{50%{transform:scale(1.15);opacity:.7}}
.apr-rg b{position:relative;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(125,232,197,.85);white-space:nowrap}
.pm.lb-kualalumpur{flex-direction:row-reverse;transform:translate(calc(-100% + 9px),-50%)}
.apr-key{position:absolute;left:clamp(16px,3vw,48px);bottom:clamp(10px,2vw,28px);display:flex;flex-wrap:wrap;gap:16px;padding:10px 14px;border-radius:12px;font-size:.8rem;background:rgba(6,20,14,.75);border:1px solid rgba(255,255,255,.12)}
.apr-key span{display:inline-flex;align-items:center;gap:8px;color:rgba(232,241,237,.8)}
.apr-key i{width:10px;height:10px;border-radius:50%}.apr-key i.o{background:#F0B35B}.apr-key i.g{background:#7DE8C5}
main#top>section.apr:not(#z){padding-bottom:clamp(24px,3vw,40px)!important}

@media (max-width:1180px){.se-d{--S:440px}.se-s em{font-size:.68rem;padding:5px 9px}.se-n em{width:50px;height:50px}}
@media (max-width:1020px){
 .se-d{grid-template-columns:1fr;justify-items:center;--S:min(520px,86vw)}
 .se-g{width:100%}.se-g ul{grid-template-columns:1fr 1fr}
 .se-g li:after{display:none}
 .se-l{grid-template-columns:1fr 1fr}
 .apr-h{grid-template-columns:1fr}
}
@media (max-width:600px){
 .cw-g{columns:1}
 .hpn-ml{grid-template-columns:1fr}
 .se-d{--S:70vw}
 .se-s em{font-size:.58rem;padding:3px 6px;gap:3px}.se-s em svg{display:none}
 .se-n em{width:38px;height:38px}.se-n em svg{width:14px;height:14px}.se-n em b{width:17px;height:17px;font-size:.6rem}
 .se-core span{font-size:.62rem}
 .se-g ul,.se-l{grid-template-columns:1fr}
 .apr-rg b{font-size:.56rem}.apr-rg i{width:calc(60px*var(--s));height:calc(60px*var(--s))}
 .pm.lb-kualalumpur b,.pm.lb-kampala b{display:none}
 .apr-key{position:static;margin:10px 16px 0}
}
@media (prefers-reduced-motion:reduce){.cq,.se-sweep,.se-ring,.se-s em,.se-n em,.se-l li,.apr-rg i{animation:none}}
