/* DRAF V25 - portrait-based organisation chart, inspired by client's sample.
   Scoped fully under d25-org; no impact on other website components. */
.d25-org-section{padding:clamp(40px,5vw,76px) 0 clamp(78px,8vw,120px);max-width:1120px}
.d25-org-intro{text-align:center;max-width:720px;margin:0 auto 35px;padding:0 12px}
.d25-org-intro h2{font-family:var(--serif,Georgia,serif);color:#17364a;font-size:clamp(2.1rem,4.5vw,3.8rem);line-height:1.14;margin:12px 0}
.d25-org-intro p{color:#607b88;margin:0;font-size:clamp(.93rem,1.2vw,1.04rem);line-height:1.6}
.d25-org-chart{position:relative;isolation:isolate;max-width:1020px;margin:0 auto;padding:clamp(24px,4.3vw,56px) clamp(14px,4vw,48px) 30px;background:linear-gradient(155deg,#fff 0%,#f4f8fc 55%,#fff 100%);border:1px solid #dce7ef;border-radius:26px;box-shadow:0 28px 74px rgba(17,51,86,.09);overflow:hidden}
.d25-org-chart:before{content:"";position:absolute;z-index:-1;width:500px;height:500px;border-radius:50%;right:-300px;top:-250px;background:#e8edf8;opacity:.7;pointer-events:none}
.d25-org-brands{display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,33px);margin:0 auto;max-width:600px}
.d25-org-brand{width:clamp(72px,10vw,106px);height:clamp(72px,10vw,106px);object-fit:contain;display:block;flex:0 0 auto;filter:drop-shadow(0 3px 7px rgba(12,41,77,.09))}
.d25-org-brand-label{text-align:center;color:#144a85;display:flex;flex-direction:column;gap:4px;font-weight:850;font-size:clamp(11px,1.5vw,16px);letter-spacing:.14em;line-height:1.3}
.d25-org-brand-label span:last-child{color:#ac7e37;font-size:.85em;letter-spacing:.21em}
.d25-org-brands-line{width:2px;height:38px;background:linear-gradient(to bottom,#d9b56e,#4c79b3);margin:10px auto 0}
.d25-org-rows{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;position:relative;gap:0}
.d25-org-tier{display:flex;justify-content:center;width:100%;margin:0;padding:0;position:relative}
.d25-org-tier:not(:first-child){padding-top:52px}
.d25-org-tier:not(:first-child):before{content:"";position:absolute;height:51px;width:2px;top:0;left:50%;transform:translateX(-50%);background:linear-gradient(#a8c1dd,#4177af)}
.d25-org-tier:not(:first-child):after{content:"";position:absolute;top:47px;left:calc(50% - 4px);width:9px;height:9px;background:#386aa0;transform:rotate(45deg);border-radius:2px}
.d25-org-card{width:min(100%,615px);display:grid;grid-template-columns:94px minmax(0,1fr);gap:19px;align-items:center;position:relative;padding:16px 22px 16px 16px;background:#fff;border:1px solid #d1dfec;border-left:5px solid #2f6eac;border-radius:20px;box-shadow:0 11px 31px rgba(16,50,84,.085)}
.d25-org-tier--president .d25-org-card{background:linear-gradient(120deg,#0d3776,#164e91);border-color:#184782;border-left-color:#d8af55;box-shadow:0 16px 38px rgba(21,61,111,.2)}
.d25-org-tier--vice .d25-org-card{border-left-color:#c18d39}
.d25-org-tier--advisors .d25-org-card,.d25-org-tier--secretariat .d25-org-card,.d25-org-tier--governors .d25-org-card{border-style:dashed;border-left-style:solid;background:#fafdff}
.d25-org-avatar{display:grid;place-items:center;overflow:hidden;flex:0 0 auto;box-sizing:border-box;width:94px;height:94px;border-radius:50%;border:4px solid #d7a859;background:#e9eff8;box-shadow:0 2px 0 #fff,0 5px 16px rgba(25,61,103,.13)}
.d25-org-avatar img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 20%}
.d25-org-avatar--placeholder{border-color:#a2bddb;background:linear-gradient(140deg,#eaf1f8,#d9e6f4);color:#6b8aaf}
.d25-org-person-icon{height:55px;width:55px;display:block}
.d25-org-card-copy{min-width:0}
.d25-org-tier-tag{color:#2c649f;font-size:10px;letter-spacing:.16em;font-weight:850}
.d25-org-card h3{font-family:var(--serif,Georgia,serif);margin:5px 0 7px;color:#17395e;font-size:clamp(15px,1.75vw,21px);line-height:1.3;font-weight:750;overflow-wrap:anywhere}
.d25-org-name{display:block;color:#123a65;font-size:clamp(14px,1.4vw,17px);font-weight:800;line-height:1.4}
.d25-org-description{font-size:12px;line-height:1.55;color:#61768a;margin:5px 0 0;overflow-wrap:anywhere}
.d25-org-pending{display:inline-block;color:#557da8;background:#edf3f9;border:1px solid #dbe7f1;border-radius:30px;padding:4px 11px;font-size:11px;font-weight:800;letter-spacing:.015em}
.d25-org-tier--president .d25-org-tier-tag{color:#e4c891}
.d25-org-tier--president .d25-org-name,.d25-org-tier--president .d25-org-card h3{color:white}
.d25-org-tier--president .d25-org-description{color:#d3e2f4}
.d25-org-update-note{margin:32px auto 0;max-width:570px;text-align:center;color:#6e8192;font-size:12px;line-height:1.65}
/* Balanced figure rhythm: all ranks retain the exact top-to-bottom reporting order. */
@media(min-width:920px){
.d25-org-tier:nth-child(even) .d25-org-card{margin-left:clamp(55px,8vw,110px)}
.d25-org-tier:nth-child(odd):not(:first-child) .d25-org-card{margin-right:clamp(55px,8vw,110px)}
.d25-org-tier--president .d25-org-card{max-width:650px}
}
@media(max-width:600px){
.d25-org-section{padding-top:35px;padding-bottom:74px}
.d25-org-chart{padding:23px 12px 23px;border-radius:17px}
.d25-org-brand{width:70px;height:70px}
.d25-org-brands{gap:10px}
.d25-org-brand-label{font-size:10px;letter-spacing:.1em}
.d25-org-brand-label span:last-child{letter-spacing:.13em}
.d25-org-brands-line{height:27px}
.d25-org-tier:not(:first-child){padding-top:36px}
.d25-org-tier:not(:first-child):before{height:35px}
.d25-org-tier:not(:first-child):after{top:31px}
.d25-org-card{grid-template-columns:66px minmax(0,1fr);gap:10px;padding:12px 10px 12px 10px;border-radius:13px;border-left-width:4px}
.d25-org-avatar{width:64px;height:64px;border-width:3px}
.d25-org-person-icon{height:40px;width:40px}
.d25-org-card h3{font-size:14px;margin:3px 0 5px}
.d25-org-name{font-size:13px}
.d25-org-description{font-size:11px;line-height:1.4}
.d25-org-tier-tag{font-size:9px}
.d25-org-pending{font-size:10px;padding:3px 7px}
.d25-org-update-note{padding:0 8px;font-size:11px}
}
@media(max-width:360px){.d25-org-card{grid-template-columns:53px minmax(0,1fr);gap:8px}.d25-org-avatar{width:53px;height:53px}.d25-org-person-icon{width:32px;height:32px}.d25-org-card h3{font-size:13px}}
@media(prefers-reduced-motion:reduce){.d25-org-card,.d25-org-avatar{animation:none;transition:none}}
