
/* Company organization chart v66 — editable HTML/CSS, no raster diagram */
.company-organization{padding-top:clamp(35px,5vw,90px)}
.organization-content{border-top:1px solid #dedede;padding-top:clamp(32px,4vw,60px)}
.org-tree{--org-line:#aeb0b3;--org-border:#cfd1d3;--org-gap:12px;color:#222;font-family:inherit}
.org-tree *{box-sizing:border-box}
.org-node{position:relative;display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 16px;background:#fff;border:1px solid var(--org-border);border-left:4px solid var(--omega-red);font-size:16px;font-weight:750;letter-spacing:.045em;text-align:center}
.org-governance{width:min(100%,320px);margin:0 auto;position:relative;z-index:1}
.org-top-node{min-height:62px}
.org-top-node+.org-top-node{margin-top:42px}
.org-top-node+.org-top-node::before,.org-executive::before{content:"";position:absolute;width:1px;height:42px;background:var(--org-line);left:50%;bottom:100%}
.org-executive{position:relative;margin-top:42px}
.org-executive-main{border-top:1px solid var(--org-border)}
.org-executive-node{min-height:58px;border-top:0}
.org-secretary{position:absolute;left:calc(100% + 30px);top:0;width:220px}
.org-secretary::before{content:"";position:absolute;right:100%;top:50%;width:30px;height:1px;background:var(--org-line)}
.org-departments{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--org-gap);list-style:none;margin:60px 0 0;padding:64px 0 0;align-items:start}
.org-departments::before{content:"";position:absolute;top:18px;left:calc((100% - 6 * var(--org-gap))/14);right:calc((100% - 6 * var(--org-gap))/14);height:1px;background:var(--org-line)}
.org-departments::after{content:"";position:absolute;top:-60px;left:50%;height:78px;width:1px;background:var(--org-line)}
.org-department{position:relative;min-width:0}
.org-department::before{content:"";position:absolute;left:50%;top:-46px;width:1px;height:46px;background:var(--org-line)}
.org-dept{min-width:0;margin:0}
.org-dept summary,.org-dept-leaf{position:relative;display:flex;align-items:center;justify-content:center;min-height:74px;padding:14px 8px;background:#fff;border:1px solid var(--org-border);border-left:4px solid var(--omega-red);color:#222;list-style:none;text-align:center}
.org-dept summary::-webkit-details-marker{display:none}
.org-dept-label{font-size:clamp(12px,.96vw,16px);font-weight:750;line-height:1.5;letter-spacing:0;overflow-wrap:anywhere}
.org-dept summary{cursor:default}
.org-dept summary:focus-visible{outline:2px solid var(--omega-red);outline-offset:3px}
.org-dept-toggle{display:none}
.org-children{position:relative;list-style:none;margin:0;padding:22px 0 0 12px}
.org-children::before{content:"";position:absolute;top:0;bottom:26px;left:6px;width:1px;background:var(--org-line)}
.org-child{position:relative;display:flex;align-items:center;justify-content:center;min-height:52px;margin:0 0 8px;padding:10px 6px;border:1px solid var(--org-border);border-left:4px solid var(--omega-red);background:#fafafa;text-align:center;font-size:clamp(12px,.85vw,14px);font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.org-child:last-child{margin-bottom:0}
.org-child::before{content:"";position:absolute;right:100%;top:50%;width:12px;height:1px;background:var(--org-line)}
.org-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin-top:56px;padding:25px 0 0;border-top:1px solid #dedede}
.org-glossary p{margin:0;display:flex;gap:12px;align-items:baseline;color:#222;font-size:12px;font-weight:750;line-height:1.7}
.org-glossary span{color:#777;font-size:12px;font-weight:400;overflow-wrap:anywhere}
@media(max-width:980px){
  .org-tree{--org-gap:0}
  .org-governance{width:min(100%,280px)}
  .org-top-node{min-height:56px}
  .org-executive-node{min-height:54px}
  .org-secretary{width:160px;left:calc(100% + 20px)}
  .org-secretary::before{width:20px}
  .org-departments{display:flex;flex-direction:column;gap:10px;margin:38px 0 0;padding:0}
  .org-departments::before{display:none}
  .org-departments::after{top:-38px;height:38px;left:50%}
  .org-department{width:100%}
  .org-department::before{display:none}
  .org-dept{border:1px solid #dedede}
  .org-dept summary,.org-dept-leaf{min-height:66px;justify-content:space-between;padding:16px 20px;border:0;border-left:4px solid var(--omega-red);text-align:left}
  .org-dept summary{cursor:pointer;gap:16px}
  .org-dept-label{font-size:16px}
  .org-dept-toggle{display:block;flex:none;width:10px;height:10px;border-right:1.5px solid #555;border-bottom:1.5px solid #555;transform:rotate(45deg);transition:transform .2s}
  .org-dept[open] .org-dept-toggle{transform:rotate(225deg)}
  .org-children{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;padding:0 16px 18px 20px;margin:0}
  .org-children::before,.org-child::before{display:none}
  .org-child{min-height:48px;margin:0;padding:12px;font-size:14px;justify-content:flex-start;text-align:left}
  .org-glossary{margin-top:38px}
}
@media(max-width:640px){
  .company-organization{padding-top:20px}
  .organization-content{padding-top:24px}
  .org-tree{--org-main-width:clamp(165px,60%,220px)}
  .org-governance{width:100%;margin-left:0}
  .org-top-node,.org-executive{width:var(--org-main-width)}
  .org-node{font-size:14px;min-height:52px}
  .org-top-node{min-height:54px}
  .org-secretary{width:min(118px,calc(100vw - 48px - var(--org-main-width)));left:calc(100% + 12px);font-size:13px;padding:10px 6px}
  .org-secretary::before{width:12px}
  .org-executive-node{min-height:52px}
  .org-departments{margin-top:34px}
  .org-departments::after{top:-34px;height:34px;left:calc(var(--org-main-width)/2)}
  .org-dept summary,.org-dept-leaf{min-height:62px;padding:14px 16px}
  .org-dept-label{font-size:15px}
  .org-children{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 14px 16px}
  .org-child{font-size:13px;min-height:44px}
  .org-glossary{display:block;margin-top:32px;padding-top:20px}
  .org-glossary p{display:block;margin-bottom:12px;font-size:11px}
  .org-glossary span{display:block;font-size:11px;margin-top:2px}
}
@media(prefers-reduced-motion:reduce){
  .org-dept-toggle{transition:none}
}
