.felo-kuo{--p:#35104f;--p2:#6b2b87;--gold:#d8b44a;--gold2:#f7d968;--ink:#271638;--muted:#6d6376;--cream:#fffdf8;max-width:1100px;margin:0 auto;padding:0 10px 50px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0,#fcf9ff 100%);box-sizing:border-box}
.felo-kuo *{box-sizing:border-box}.felo-kuo button,.felo-kuo input{font:inherit}
.felo-hero{position:relative;width:100%;margin:0 auto 24px;padding:0;border:0;overflow:hidden;border-radius:12px;line-height:0}.felo-hero-image{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}.felo-hero-cover{position:absolute;left:17%;right:17%;top:30%;bottom:14%;background:#4a1764;border-radius:0;z-index:2;opacity:1;box-shadow:0 0 22px 10px #4a1764}.felo-hero-title{position:absolute;left:17%;right:17%;top:30%;bottom:14%;z-index:3;display:flex;align-items:center;justify-content:center;text-align:center;color:#f7d968;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(27px,4vw,56px);line-height:1;text-shadow:0 2px 2px rgba(0,0,0,.28)}.felo-hero-title:before,.felo-hero-title:after{content:"";position:absolute;top:50%;width:17%;height:2px;background:#d8b44a}.felo-hero-title:before{left:4%}.felo-hero-title:after{right:4%}.felo-hero-title span{padding:0 18px;background:#4a1764;position:relative;z-index:2}.felo-label{color:#d6ae39;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.felo-leaders{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 26px}
.felo-leader{position:relative;display:flex;gap:18px;align-items:stretch;min-height:270px;padding:14px;background:linear-gradient(135deg,#35104f 0%,#5a176f 100%);border:1px solid var(--gold);border-radius:17px;cursor:pointer;overflow:hidden;box-shadow:0 9px 24px rgba(53,16,79,.15);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;color:#fff}
.felo-leader:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.035) 45%,transparent 70%);pointer-events:none}.felo-leader:hover,.felo-leader:focus{transform:translateY(-3px);box-shadow:0 15px 30px rgba(53,16,79,.22);outline:none;border-color:var(--gold2)}
.felo-leader-photo{width:216px;flex:0 0 216px;aspect-ratio:723/1024;align-self:stretch;border-radius:12px;overflow:hidden;background:#2c0b42;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;z-index:1}.felo-leader-photo img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.felo-leader-info{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:4px 2px}.felo-leader-info h2{margin:6px 0 8px;font:700 24px/1.12 Georgia,serif;color:#fff}.felo-leader-info p{margin:0;color:#f1eaf4;line-height:1.48;font-size:14px}.felo-btn{align-self:flex-start;display:inline-block;margin-top:15px;padding:9px 13px;border-radius:999px;background:#3b1157;color:var(--gold2);font-weight:800;font-size:12px;border:1px solid var(--gold);box-shadow:0 2px 0 rgba(216,180,74,.2)}.felo-btn b{font-size:16px;margin-left:5px}
.felo-structure{margin:0 0 32px;padding:20px 24px;background:linear-gradient(180deg,#fffdf8,#faf4ff);border:1px solid #e5c76c;border-radius:20px;box-shadow:0 8px 24px rgba(53,16,79,.05)}
.felo-structure-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.felo-structure-head h2{font:700 29px/1.2 Georgia,serif;margin:5px 0 0;color:var(--ink)}.felo-structure-toggle{border:1px solid var(--gold);background:var(--p);color:#fff;padding:11px 17px;border-radius:10px;font-size:13px;font-weight:800;cursor:pointer}.felo-structure-toggle:hover{background:var(--p2)}
.felo-org{padding-top:24px}.felo-org[hidden]{display:none!important}.felo-org-node{position:relative;display:flex;align-items:center;gap:12px;width:min(390px,100%);padding:10px;background:#fff;border:1px solid #dfd0e8;border-radius:15px;box-shadow:0 6px 18px rgba(53,16,79,.07);cursor:pointer;transition:.18s ease}.felo-org-node:hover,.felo-org-node:focus{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 12px 25px rgba(53,16,79,.13);outline:none}.felo-org-leader{border-color:var(--gold);background:linear-gradient(135deg,#fffdf8,#f7effd)}.felo-org-photo{width:70px;flex:0 0 70px;aspect-ratio:1;overflow:hidden;border-radius:11px;background:#42155f;border:1px solid var(--gold)}.felo-org-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.felo-org-node h3{font-size:15px;line-height:1.2;margin:3px 0 5px;color:var(--ink)}.felo-org-node span{font-size:11px;color:#675b70}.felo-org-line{width:2px;background:linear-gradient(var(--gold),#c89d31);height:25px;margin:0 auto}.felo-team-line{width:calc(100% - 12%);height:2px;background:var(--gold);margin:0 auto 12px}.felo-org-team{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.felo-org-member{width:100%;height:100%;align-items:flex-start}.felo-org-member .felo-org-photo{width:62px;flex-basis:62px}.felo-org-member h3{font-size:13px}.felo-org-member span{font-size:10px}
.felo-section-head{display:flex;justify-content:space-between;align-items:end;margin:0 0 14px;padding:0 2px}.felo-section-head h2{font:700 29px/1.2 Georgia,serif;margin:5px 0;color:var(--ink)}.felo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.felo-card{background:#fffdf8;border:1px solid #dfd0e8;border-radius:14px;padding:9px;cursor:pointer;text-align:left;box-shadow:0 6px 18px rgba(53,16,79,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.felo-card:hover,.felo-card:focus{transform:translateY(-4px);box-shadow:0 13px 26px rgba(53,16,79,.13);border-color:var(--gold);outline:none}.felo-card-photo{width:100%;aspect-ratio:723/1024;display:flex;align-items:center;justify-content:center;background:#42155f;overflow:hidden;border-radius:10px}.felo-card-photo img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.felo-card-info{min-height:96px;display:flex;flex-direction:column;justify-content:flex-start;padding:10px 5px 4px}.felo-card-info h3{margin:0 0 5px;font-size:15px;line-height:1.25;color:var(--ink);min-height:38px}.felo-card-info>div{font-size:12px;line-height:1.35;color:#675b70;min-height:34px}
.felo-modal{position:fixed;inset:0;z-index:99999;background:rgba(28,8,39,.72);display:flex;align-items:center;justify-content:center;padding:20px}.felo-modal[hidden]{display:none}.felo-modal-box{position:relative;width:min(760px,100%);max-height:min(88vh,760px);overflow:auto;display:grid;grid-template-columns:300px 1fr;gap:24px;background:var(--cream);border:1px solid var(--gold);border-radius:20px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.felo-modal-close{position:absolute;top:10px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:var(--p);color:#fff;font-size:25px;line-height:1;cursor:pointer;z-index:2}.felo-modal-photo{border-radius:14px;overflow:hidden;background:#42155f;border:1px solid var(--gold);aspect-ratio:723/1024}.felo-modal-photo img{width:100%;height:100%;object-fit:contain;display:block}.felo-modal-info{display:flex;flex-direction:column;justify-content:center;padding:20px 20px 20px 0}.felo-modal-name{font:700 30px/1.15 Georgia,serif;margin:7px 0 15px;color:var(--ink)}.felo-modal-scope{color:#5e5368;line-height:1.65;margin-bottom:20px}.felo-modal-email{display:inline-block;align-self:flex-start;padding:11px 15px;border-radius:10px;background:var(--p);color:#fff;text-decoration:none;font-weight:800;border:1px solid var(--gold)}body.felo-modal-open{overflow:hidden}
@media(max-width:950px){.felo-leader-photo{width:165px;flex-basis:165px}.felo-leader-info h2{font-size:21px}}
@media(max-width:850px){.felo-leaders{grid-template-columns:1fr}.felo-grid{grid-template-columns:repeat(2,1fr)}.felo-org-team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.felo-kuo{padding:0 7px 35px}.felo-leader{min-height:220px}.felo-leader-photo{width:135px;flex-basis:135px}.felo-leader-info h2{font-size:20px}.felo-leader-info p{font-size:13px}.felo-structure{padding:18px 12px}.felo-structure-head{align-items:flex-start}.felo-structure-head h2{font-size:25px}.felo-org-team{grid-template-columns:1fr}.felo-grid{grid-template-columns:1fr 1fr;gap:10px}.felo-card{padding:7px}.felo-card-info{min-height:100px}.felo-card-info h3{font-size:13px}.felo-card-info>div{font-size:11px}.felo-modal-box{grid-template-columns:1fr;max-height:90vh}.felo-modal-photo{width:min(260px,80%);margin:0 auto}.felo-modal-info{padding:4px 8px 14px}.felo-modal-name{font-size:25px}}
@media(max-width:430px){.felo-leader{gap:10px;padding:10px}.felo-leader-photo{width:105px;flex-basis:105px}.felo-leader-info h2{font-size:18px}.felo-leader-info p{font-size:12px}.felo-grid{grid-template-columns:1fr}.felo-structure-head{flex-direction:column}.felo-structure-toggle{align-self:flex-end}.felo-section-head h2{font-size:24px}}
/* Structure chart */
.felo-structure{margin:0 0 38px;padding:24px 20px 26px;background:linear-gradient(180deg,#fffdf8,#faf4ff);border:1px solid #e5d4a0;border-radius:20px;box-shadow:0 10px 28px rgba(53,16,79,.07)}
.felo-structure-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}.felo-structure-head h2{font:700 28px/1.2 Georgia,serif;margin:5px 0 0;color:var(--ink)}
.felo-structure-toggle{border:1px solid var(--gold);background:var(--p);color:#fff;padding:9px 14px;border-radius:999px;font-size:12px;font-weight:800;cursor:pointer}.felo-structure-toggle:hover{background:var(--p2)}
.felo-org{display:flex;flex-direction:column;align-items:center}.felo-org-node{position:relative;display:flex;align-items:center;gap:12px;width:min(390px,100%);padding:10px;background:#fff;border:1px solid #dfd0e8;border-radius:15px;box-shadow:0 6px 18px rgba(53,16,79,.07);cursor:pointer;transition:.18s ease}.felo-org-node:hover,.felo-org-node:focus{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 12px 25px rgba(53,16,79,.13);outline:none}.felo-org-leader{border-color:var(--gold);background:linear-gradient(135deg,#fffdf8,#f7effd)}
.felo-org-photo{width:70px;flex:0 0 70px;aspect-ratio:1;overflow:hidden;border-radius:11px;background:#42155f;border:1px solid var(--gold)}.felo-org-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.felo-org-node h3{font-size:15px;line-height:1.2;margin:3px 0 5px;color:var(--ink)}.felo-org-node span{font-size:11px;color:#675b70}.felo-org-line{width:2px;background:linear-gradient(var(--gold),#c89d31);height:25px}.felo-team-line{width:calc(100% - 12%);height:2px;background:var(--gold);margin:0 auto 12px;position:relative}.felo-team-line:before,.felo-team-line:after{content:"";position:absolute;top:-1px;width:10px;height:10px;border-radius:50%;background:var(--gold);transform:translateY(-50%)}.felo-team-line:before{left:0}.felo-team-line:after{right:0}.felo-org-team{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative}.felo-org-member{width:100%;height:100%;align-items:flex-start}.felo-org-member .felo-org-photo{width:62px;flex-basis:62px}.felo-org-member h3{font-size:13px}.felo-org-member span{font-size:10px}.felo-org[aria-hidden="true"]{display:none}
@media(max-width:800px){.felo-org-team{grid-template-columns:repeat(2,1fr)}.felo-team-line{width:75%}}
@media(max-width:520px){.felo-structure{padding:18px 12px}.felo-structure-head{align-items:flex-start;flex-direction:column}.felo-structure-head h2{font-size:24px}.felo-structure-toggle{align-self:flex-end}.felo-org-team{grid-template-columns:1fr}.felo-org-node{width:100%}.felo-team-line{width:2px;height:25px;margin:0 auto 12px}.felo-org-team{gap:10px}}

/* V1.5 visibility guard */
.felo-kuo .felo-org[hidden]{display:none !important}
.felo-kuo .felo-org[data-state="open"]{display:flex !important}

/* V1.9 - Struktur FELO lebih besar dan mudah dibaca */
.felo-kuo .felo-org-node{width:min(520px,100%);padding:14px;gap:16px;border-radius:16px}
.felo-kuo .felo-org-photo{width:90px;flex-basis:90px;border-radius:12px}
.felo-kuo .felo-org-node h3{font-size:17px;line-height:1.28;margin:4px 0 6px}
.felo-kuo .felo-org-node span{font-size:12px;line-height:1.4}
.felo-kuo .felo-org-line{height:30px}
.felo-kuo .felo-team-line{margin-bottom:16px}
.felo-kuo .felo-org-team{gap:16px}
.felo-kuo .felo-org-member{padding:14px;gap:16px}
.felo-kuo .felo-org-member .felo-org-photo{width:78px;flex-basis:78px}
.felo-kuo .felo-org-member h3{font-size:15px;line-height:1.3;margin:4px 0 6px}
.felo-kuo .felo-org-member span{font-size:11.5px;line-height:1.4}
@media(max-width:800px){.felo-kuo .felo-org-node{width:min(500px,100%)}.felo-kuo .felo-org-member{padding:12px}.felo-kuo .felo-org-member .felo-org-photo{width:72px;flex-basis:72px}}
@media(max-width:520px){.felo-kuo .felo-org-node{padding:12px;gap:13px}.felo-kuo .felo-org-photo{width:78px;flex-basis:78px}.felo-kuo .felo-org-node h3{font-size:16px}.felo-kuo .felo-org-member{padding:12px}.felo-kuo .felo-org-member .felo-org-photo{width:68px;flex-basis:68px}.felo-kuo .felo-org-member h3{font-size:14px}.felo-kuo .felo-org-member span{font-size:11px}}

/* V2.0 - Carta Organisasi FELO diseragamkan dengan skala visual Carta Organisasi MEP */
.felo-kuo .felo-org-node{
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  width:190px;
  padding:10px;
  gap:8px;
  text-align:left;
}
.felo-kuo .felo-org-node.felo-org-leader,
.felo-kuo .felo-org-node.felo-org-secretary{
  width:190px;
}
.felo-kuo .felo-org-photo{
  width:100%;
  flex:0 0 auto;
  aspect-ratio:723/1024;
  border-radius:9px;
}
.felo-kuo .felo-org-node > div:last-child{padding:0 2px 3px}
.felo-kuo .felo-org-node .felo-label{font-size:10px;letter-spacing:.13em}
.felo-kuo .felo-org-node h3{font-size:15px;line-height:1.18;margin:5px 0 7px}
.felo-kuo .felo-org-node span{font-size:10px;line-height:1.3}
.felo-kuo .felo-org-member{
  width:100%;
  padding:10px;
  gap:8px;
}
.felo-kuo .felo-org-member .felo-org-photo{
  width:100%;
  flex:0 0 auto;
  aspect-ratio:723/1024;
}
.felo-kuo .felo-org-member .felo-label{font-size:10px}
.felo-kuo .felo-org-member h3{font-size:14px;line-height:1.2;margin:5px 0 6px}
.felo-kuo .felo-org-member span{font-size:10px;line-height:1.3}
.felo-kuo .felo-org-team{gap:14px}
.felo-kuo .felo-org-line{height:28px}
.felo-kuo .felo-team-line{width:calc(100% - 10%);margin-bottom:14px}
@media(max-width:800px){
  .felo-kuo .felo-org-node,
  .felo-kuo .felo-org-node.felo-org-leader,
  .felo-kuo .felo-org-node.felo-org-secretary{width:190px}
  .felo-kuo .felo-org-team{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .felo-kuo .felo-org-node,
  .felo-kuo .felo-org-node.felo-org-leader,
  .felo-kuo .felo-org-node.felo-org-secretary{width:185px}
  .felo-kuo .felo-org-member{padding:9px}
  .felo-kuo .felo-org-member h3{font-size:13px}
}

/* V2.1 - Ketua FELO & Setiausaha FELO sama saiz dengan kad FELO lain */
.felo-kuo .felo-org-node,
.felo-kuo .felo-org-node.felo-org-leader,
.felo-kuo .felo-org-node.felo-org-secretary{
  width:min(300px,100%);
  padding:10px;
  gap:8px;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  text-align:left;
}
.felo-kuo .felo-org-node .felo-org-photo,
.felo-kuo .felo-org-member .felo-org-photo{
  width:100%;
  flex:0 0 auto;
  aspect-ratio:723/1024;
  border-radius:10px;
  object-fit:contain;
}
.felo-kuo .felo-org-node > div:last-child,
.felo-kuo .felo-org-member > div:last-child{padding:0 3px 4px}
.felo-kuo .felo-org-node .felo-label,
.felo-kuo .felo-org-member .felo-label{font-size:10px;letter-spacing:.13em}
.felo-kuo .felo-org-node h3,
.felo-kuo .felo-org-member h3{font-size:15px;line-height:1.22;margin:5px 0 7px}
.felo-kuo .felo-org-node span,
.felo-kuo .felo-org-member span{font-size:10px;line-height:1.35}
.felo-kuo .felo-org-member{padding:10px;gap:8px}
.felo-kuo .felo-org-team{gap:14px}
@media(max-width:800px){
  .felo-kuo .felo-org-node,
  .felo-kuo .felo-org-node.felo-org-leader,
  .felo-kuo .felo-org-node.felo-org-secretary{width:min(280px,100%)}
}
@media(max-width:520px){
  .felo-kuo .felo-org-node,
  .felo-kuo .felo-org-node.felo-org-leader,
  .felo-kuo .felo-org-node.felo-org-secretary{width:min(300px,100%)}
  .felo-kuo .felo-org-member{padding:8px}
  .felo-kuo .felo-org-member h3{font-size:14px}
}

/* V2.7 - Banner FELO meniru banner MEP asal: latar banner asal + tajuk HTML sahaja */
.felo-kuo .felo-hero-html{
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:1037/134;
  margin:0 auto 24px;
  overflow:hidden;
  border:0;
  border-radius:12px;
  background-position:center center;
  background-size:100% 100%;
  background-repeat:no-repeat;
  box-shadow:0 7px 16px rgba(53,16,79,.14);
  line-height:normal;
}
/* Tutup hanya kawasan tajuk lama di tengah, tanpa mengganggu motif kiri/kanan dan teks atas. */
.felo-kuo .felo-hero-html:before{
  content:"";
  position:absolute;
  z-index:1;
  left:15.5%;
  right:15.5%;
  top:30%;
  bottom:13%;
  background:linear-gradient(180deg,rgba(65,20,91,.97),rgba(67,21,92,.97));
}
.felo-kuo .felo-hero-title{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#f7d968;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(32px,4.2vw,48px);
  font-weight:700;
  line-height:1;
  text-align:center;
  text-shadow:0 2px 2px rgba(0,0,0,.28);
}
.felo-kuo .felo-hero-title:before,
.felo-kuo .felo-hero-title:after{
  display:none !important;
  content:none !important;
}
.felo-kuo .felo-hero-title span{
  padding:0 18px;
  background:transparent;
  position:relative;
  z-index:2;
}
/* Satu divider sahaja, sama konsep dengan banner MEP. */
.felo-kuo .felo-hero-divider{
  position:absolute;
  left:38%;
  right:38%;
  bottom:13%;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.felo-kuo .felo-hero-divider span{
  height:2px;
  flex:1;
  background:#d8b44a;
  box-shadow:0 0 2px rgba(247,217,104,.35);
}
.felo-kuo .felo-hero-divider b{
  color:#f7d968;
  font-size:10px;
  font-weight:700;
  line-height:1;
}
@media(max-width:600px){
  .felo-kuo .felo-hero-html{border-radius:9px}
  .felo-kuo .felo-hero-title{font-size:clamp(24px,7vw,35px);top:50%;transform:translateY(-50%)}
  .felo-kuo .felo-hero-title span{padding:0 10px}
  .felo-kuo .felo-hero-divider{left:34%;right:34%;bottom:13%;gap:7px}
  .felo-kuo .felo-hero-divider b{font-size:8px}
}
