/* Shared anthracite palette for both site languages. */
:root {
  color-scheme: dark;
  --paper: #202225;
  --ink: #f5f5f2;
  --muted: #c5c8cc;
  --line: #45494f;
  --accent: #aeb4bc;
  --dark: #191b1e;
  --surface: #2b2e32;
  --surface-hover: #34383d;
}
::selection { background: #c5c8cc; color: #202225; }
:focus-visible { outline-color: #f5f5f2; }
.site-header, .site-footer, .page-preloader { background: var(--paper); }
.menu-toggle { color: var(--ink); }
.company-card, .principles, .contact-note { background: var(--surface); }
.company-card:hover, .sector-item:hover { background: var(--surface-hover); }
.company-card:hover { box-shadow: 0 20px 45px #00000026; }
.company-mark { background: #f4f4f2; border-color: #555a61; border-radius: 4px; }
.company-card:hover .company-mark { border-color: #8b9199; box-shadow: 0 10px 25px #00000026; }
.company-mark img.company-logo, .sector-companies img {
  filter: none !important;
  mix-blend-mode: normal;
}
.company-link:hover { color: var(--ink); border-color: var(--ink); }
.sector-companies a { background: #f4f4f2; color: #202225; border-radius: 4px; }
.sector-companies a span { color: #62676e; }
.sector-companies a:hover { border-color: #777f89; box-shadow: 0 12px 30px #00000026; }
.perspective { color: var(--ink); }
.perspective-copy p, .hero-lead { color: #d9dce0; }
.perspective .text-link { color: var(--ink); border-color: var(--muted); }
.cta { background: var(--surface); color: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cta .eyebrow, .cta h2 { color: var(--ink); }
.button, .cta .button { background: var(--ink); color: var(--paper); }
.button:hover { background: #ffffff; box-shadow: 0 12px 30px #00000033; }
.contact-row>a:after { background: var(--muted); }
.hero-shade { background: linear-gradient(90deg, #141619cc 0%, #14161970 48%, #14161910 78%), linear-gradient(0deg, #14161966, transparent 50%); }
@media (max-width: 900px) {
  .navigation { background: var(--paper); box-shadow: 0 15px 25px #00000033; }
}
@media (max-width: 600px) {
  .hero-shade { background: linear-gradient(0deg, #141619e6 0%, #14161973 60%, #1416191a 100%); }
}

/* Leadership, chairman message and purpose sections. */
.leadership-section { padding-top: 18px; padding-bottom: 90px; }
.leadership-tier { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 42px; }
.leadership-tier:first-child { margin-top: 0; }
.leadership-tier-label { color: var(--muted); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 22px; }
.leadership-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.leadership-grid.is-chair { grid-template-columns: minmax(280px, 1fr) 2fr; }
.leader-card { min-width: 0; }
.leader-photo { aspect-ratio: 1 / 1; overflow: hidden; background: var(--surface); border-radius: 4px; }
.leader-photo img { object-position: center top; transition: transform .8s cubic-bezier(.16,1,.3,1); }
.leader-card:hover .leader-photo img { transform: scale(1.025); }
.leader-meta { padding-top: 18px; border-top: 1px solid var(--line); margin-top: 14px; }
.leader-meta h2 { font-size: clamp(21px, 2vw, 29px); letter-spacing: -.035em; }
.leader-meta p { color: var(--muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; margin-top: 9px; line-height: 1.6; }
.leadership-grid.is-chair .leader-meta { padding: 24px 0 8px; margin-top: 0; border-top: 0; border-bottom: 1px solid var(--line); }
.leadership-grid.is-chair .leader-meta h2 { font-size: clamp(32px, 3.2vw, 46px); line-height: 1.08; }
.leadership-grid.is-chair .leader-meta p { font-size: 11px; margin-top: 12px; }
.leadership-list { display: flex; flex-direction: column; gap: 18px; }
.leader-row { display: grid; grid-template-columns: minmax(260px, 34%) minmax(0, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.leader-row-photo { aspect-ratio: 1 / 1; overflow: hidden; background: var(--surface); }
.leader-row-photo img { object-position: center top; transition: transform .8s cubic-bezier(.16,1,.3,1); }
.leader-row:hover .leader-row-photo img { transform: scale(1.025); }
.leader-row-info { background: var(--surface); padding: clamp(28px, 5vw, 72px); display: flex; flex-direction: column; justify-content: center; }
.leader-row-index { color: var(--muted); font-size: 9px; letter-spacing: .14em; margin-bottom: auto; }
.leader-row-info h2 { font-size: clamp(29px, 4vw, 52px); margin-top: clamp(45px, 7vw, 95px); }
.leader-row-role { color: var(--muted); font-size: 11px; letter-spacing: .11em; line-height: 1.7; margin-top: 14px; text-transform: uppercase; }
.chair-feature { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(25px, 4vw, 62px); background: var(--surface); border-radius: 4px; }
.chair-feature h2 { max-width: 620px; margin-top: 20px; }
.chair-feature p:not(.eyebrow) { color: var(--muted); max-width: 520px; font-size: 13px; line-height: 1.9; margin-top: 22px; }
.chairman-layout { padding-top: 50px; padding-bottom: 90px; display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.25fr); gap: clamp(55px, 8vw, 130px); align-items: start; }
.chairman-portrait { position: sticky; top: 30px; }
.chairman-portrait img { aspect-ratio: 1 / 1; border-radius: 4px; }
.chairman-copy { padding-top: 24px; }
.chairman-copy h2 { margin: 22px 0 30px; }
.chairman-copy p { color: var(--muted); font-size: 15px; line-height: 2; margin-bottom: 20px; }
.chairman-signature { width: min(250px, 55%); height: auto; object-fit: contain; margin: 34px 0 14px; filter: brightness(0) invert(1); }
.chairman-name { font-size: 13px; }
.chairman-title { color: var(--muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; margin-top: 5px; }
.purpose-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.purpose-card { background: var(--surface); padding: clamp(35px, 5vw, 72px); }
.purpose-card h2 { margin: 20px 0; }
.purpose-card p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.95; max-width: 560px; }
.memberships-section { padding-top: 72px; padding-bottom: 78px; border-top: 1px solid var(--line); }
.memberships-head { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-bottom: 38px; }
.memberships-head h2 { margin-top: 20px; }
.memberships-head>p { color: var(--muted); max-width: 410px; font-size: 13px; line-height: 1.85; }
.memberships-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.membership-card { background: var(--surface); padding: 18px; transition: background .45s ease, transform .55s cubic-bezier(.16,1,.3,1); }
.membership-card:hover { background: var(--surface-hover); transform: translateY(-4px); }
.membership-logo { height: 150px; background: #f4f4f2; border-radius: 4px; padding: 26px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.membership-logo img { width: auto; height: auto; max-width: 88%; max-height: 90%; object-fit: contain; }
.membership-logo img[src*="ito-logo"] { max-width: 78%; max-height: 72%; transform: translateX(6%); }
.membership-info { padding: 20px 4px 5px; display: flex; justify-content: space-between; align-items: end; gap: 15px; }
.membership-info h3 { font-size: 17px; }
.membership-info p { color: var(--muted); font-size: 10px; line-height: 1.6; margin-top: 6px; }
.membership-arrow { font-size: 18px; transition: transform .4s ease; }
.membership-card:hover .membership-arrow { transform: translate(3px,-3px); }
.company-grid.has-nine { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .leadership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .leadership-grid.is-chair { grid-template-columns: minmax(240px, .8fr) 1.2fr; }
  .chairman-layout { gap: 45px; }
  .company-grid.has-nine { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .leader-row { grid-template-columns: minmax(230px, 40%) minmax(0, 1fr); }
  .memberships-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .leadership-section { padding-bottom: 50px; }
  .leadership-grid, .leadership-grid.is-chair, .chairman-layout, .purpose-grid { grid-template-columns: 1fr; }
  .chair-feature { min-height: 330px; }
  .chairman-layout { padding-top: 25px; padding-bottom: 50px; gap: 20px; }
  .chairman-portrait { position: static; }
  .chairman-copy p { font-size: 13px; }
  .company-grid.has-nine { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .leader-row { grid-template-columns: 42% 1fr; }
  .leader-row-info { padding: 18px; }
  .leader-row-index { margin-bottom: 0; }
  .leader-row-info h2 { font-size: 22px; margin-top: auto; }
  .leader-row-role { font-size: 8px; margin-top: 8px; }
  .memberships-section { padding-top: 48px; padding-bottom: 52px; }
  .memberships-head { align-items: start; flex-direction: column; margin-bottom: 28px; }
  .memberships-grid { grid-template-columns: 1fr; }
  .membership-logo { height: 135px; }
}
