/* AOYAMA Glanzarriva organization readability & headcount refinement / v17.05 */
:root{--org-ink:#102644;--org-muted:#5b7187;--org-line:#d5e0eb;--org-blue:#174f91;--org-blue-soft:#eef5ff;--org-gold:#9a7838;--org-bg:#f3f7fb}
.organization-page{background:linear-gradient(180deg,#f8fbff 0,#f3f7fb 48%,#eef4fa 100%)}
.organization-page .org-page-shell{max-width:1240px;padding-top:28px}
.organization-page .org-intro,.organization-page .org-section{border-color:#d9e4ef;box-shadow:0 10px 30px rgba(20,54,92,.055)}
.organization-page .org-intro{padding:34px}
.organization-page .org-intro>p{font-size:15px;line-height:1.95}

/* top-level headcount */
.org-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0 16px}
.org-metric{position:relative;overflow:hidden;padding:18px 18px 16px;border:1px solid #d8e3ee;border-radius:12px;background:#fbfdff;min-height:132px}
.org-metric:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#86a5c7}
.org-metric--primary{background:linear-gradient(145deg,#edf5ff,#f9fcff);border-color:#bdd2ea}
.org-metric--primary:before{background:var(--org-blue)}
.org-metric small{display:block;color:#6c839a;font-weight:900;font-size:10px;letter-spacing:.12em;margin-bottom:8px}
.org-metric strong{display:block;font-size:34px;line-height:1;color:#153f70;letter-spacing:-.03em}
.org-metric strong span{font-size:14px;margin-left:3px;letter-spacing:0}
.org-metric p{margin:10px 0 0;color:#425c77;font-size:13px;font-weight:800}
.org-notice--count{background:#f7fbff;border-left-color:#174f91;margin-top:18px}
.org-quick-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:17px;border-top:1px solid #e2eaf2}
.org-quick-nav a{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid #d3deea;border-radius:999px;background:#fff;color:#285780;text-decoration:none;font-size:13px;font-weight:850}
.org-quick-nav a:hover{border-color:#174f91;background:#eef5ff;color:#174f91}

/* headcount breakdown */
.org-section-head--with-count{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.org-section-head--with-count>div{min-width:0;flex:1}
.org-total-badge,.org-section-count{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:8px 12px;border-radius:999px;background:#163f70;color:#fff;font-size:12px;font-weight:900;letter-spacing:.02em}
.org-section-count{background:#edf4fb;color:#285578;border:1px solid #cbdbea}
.org-headcount-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.org-headcount-grid article{position:relative;padding:18px 16px;border:1px solid #d8e3ee;border-radius:10px;background:#fff;min-height:168px}
.org-headcount-grid article>span{display:block;color:#7390ad;font-weight:900;font-size:11px;letter-spacing:.13em}
.org-headcount-grid article>strong{position:absolute;top:16px;right:16px;color:#174f91;font-size:19px}
.org-headcount-grid h3{margin:18px 0 8px;font-size:17px;line-height:1.35}
.org-headcount-grid p{margin:0;color:#5b7085;font-size:12px;line-height:1.75}
.org-headcount-equation{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:18px;padding:14px 16px;border-radius:10px;background:#eef5fb;border:1px solid #d3e1ee;font-variant-numeric:tabular-nums}
.org-headcount-equation span{display:inline-grid;place-items:center;width:38px;height:34px;border:1px solid #c7d7e7;border-radius:7px;background:#fff;color:#244f7b;font-weight:900}
.org-headcount-equation b{color:#7a8fa4}
.org-headcount-equation strong{font-size:20px;color:#153f70;margin-left:3px}

/* chart */
.org-chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:13px 15px;border-radius:9px;background:#f3f8fd;border:1px solid #d7e4ef}
.org-chart-toolbar>div{display:grid;gap:2px}
.org-chart-toolbar b{font-size:14px;color:#203f61}
.org-chart-toolbar span:not(.org-total-badge){font-size:12px;color:#687f96}
.org-node{padding-top:22px}
.org-node-count{position:absolute;top:10px;right:10px;padding:4px 8px;border-radius:999px;background:#edf4fb;border:1px solid #d1deeb;color:#28577f;font-size:10px;font-weight:900}
.org-node--honorary .org-node-count{display:none}
.org-chart-printable{margin-top:24px;border:1px solid #d8e3ed;border-radius:10px;background:#fbfdff;overflow:hidden}
.org-chart-printable summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;padding:15px 17px;font-weight:850;color:#254d73;list-style:none}
.org-chart-printable summary::-webkit-details-marker{display:none}
.org-chart-printable summary:after{content:"＋";display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf4fb;font-size:18px;color:#174f91}
.org-chart-printable[open] summary:after{content:"−"}
.org-chart-printable summary small{margin-left:auto;color:#7890a7;font-size:11px;font-weight:700}
.org-chart-printable .org-chart-image{margin:0;border:0;border-top:1px solid #dfe8f0;border-radius:0;background:#f4f7fb}

/* cards and tables */
.org-people-grid{gap:12px}
.org-person{border-radius:10px;background:linear-gradient(180deg,#fff,#fbfdff)}
.org-person h3{line-height:1.45}
.org-unit-grid{gap:12px}
.org-unit{border-radius:10px;box-shadow:0 3px 10px rgba(26,64,102,.03)}
.org-unit header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.org-unit header>div{min-width:0}
.org-unit header h3{line-height:1.35}
.org-unit-count{flex:0 0 auto;display:inline-flex;align-items:center;padding:5px 8px;border:1px solid #ccdbea;border-radius:999px;background:#fff;color:#2f5c86;font-size:11px}
.org-unit>p{min-height:0}
.org-simple-table{box-shadow:0 3px 12px rgba(16,38,68,.03)}
.org-table-head{background:#eaf2f9}
.org-table-row strong{color:#233f5c}
.org-table-row em{font-weight:850}
.org-detail-card{background:#fff;box-shadow:0 3px 12px rgba(16,38,68,.03)}
.org-detail-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 18px 8px}
.org-detail-title h3{margin:0;font-size:21px}
.org-detail-title b{display:inline-flex;padding:5px 9px;border:1px solid #cedce9;border-radius:999px;background:#f2f7fc;color:#2f5c86;font-size:11px}
.org-detail-card>p{margin-top:0}

/* company profile headcount strip */
.company-headcount-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 20px}
.company-headcount-strip>div{padding:14px 15px;border:1px solid #d8e3ee;border-radius:9px;background:#f7faff}
.company-headcount-strip small{display:block;color:#6f879f;font-size:9px;font-weight:900;letter-spacing:.11em}
.company-headcount-strip strong{display:inline-block;margin-top:4px;font-size:27px;line-height:1;color:#174f91}
.company-headcount-strip span{display:inline-block;margin-left:5px;color:#49637c;font-size:12px;font-weight:800}

/* better reading on medium/small screens */
@media(max-width:980px){
  .org-metrics,.org-headcount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .organization-page .org-page-shell{padding-left:16px;padding-right:16px}
  .company-headcount-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .organization-page .org-intro{padding:22px 17px}
  .org-metrics{grid-template-columns:1fr 1fr;gap:8px}
  .org-metric{padding:14px 13px;min-height:112px}
  .org-metric strong{font-size:28px}
  .org-headcount-grid{grid-template-columns:1fr}
  .org-section-head--with-count{display:block}
  .org-section-count,.org-total-badge{margin-top:8px}
  .org-chart-toolbar{align-items:flex-start;flex-direction:column}
  .org-chart-toolbar .org-total-badge{margin-top:0}
  .org-chart-printable summary small{display:none}
  .org-quick-nav{display:grid;grid-template-columns:repeat(2,1fr)}
  .org-quick-nav a{justify-content:center;border-radius:8px;text-align:center}
  .org-headcount-equation{gap:5px}
  .org-headcount-equation span{width:32px;height:30px}
  .company-headcount-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .org-metrics{grid-template-columns:1fr}
  .org-metric{min-height:0}
  .org-quick-nav{grid-template-columns:1fr}
  .company-headcount-strip{grid-template-columns:1fr}
}
@media print{
  .org-quick-nav,.org-chart-toolbar,.org-chart-printable summary{display:none!important}
  .org-chart-printable{border:0}
  .org-chart-printable:not([open]) .org-chart-image{display:none}
  .org-metrics,.org-headcount-grid{break-inside:avoid}
}
