/* Tochtergesellschaften — page-local only; shared vocabulary (.page-banner, .next-band, etc.) lives in sections.css. .ownx cards are plain Groups, not real <a> — core/group with tagName:"a" breaks editor validation and layout, so click-to-jump comes from main.js reading [data-anchor] instead. */

/* ---------- 01 · Struktur / Organigram ---------- */
.ownx{ background:var(--petrol-deep); border-radius:var(--r-card);
  padding:clamp(34px,4.4vw,72px) clamp(22px,3.4vw,56px) clamp(28px,3.6vw,56px);
  margin-top:clamp(28px,3.2vw,44px); }
.ownx-parent{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; margin:0; }
.ownx-parent .wp-block-image{ margin:0; }
.ownx-parent img{ height:clamp(46px,4.8vw,68px); width:auto; display:block; }
.ownx-lab{ margin:0; font-size:12px; font-weight:500; letter-spacing:.2em; text-transform:uppercase;
  color:var(--turquoise); }
.ownx-tree{ position:relative; height:clamp(48px,5.4vw,84px); margin:0; }
.ownx-tree i{ position:absolute; background:rgba(255,255,255,.38); }
.ownx-tree .v0{ left:50%; top:0; width:1px; height:50%; }
.ownx-tree .h{ left:25%; right:25%; top:50%; height:1px; }
.ownx-tree .v1{ left:25%; top:50%; width:1px; height:50%; }
.ownx-tree .v2{ left:75%; top:50%; width:1px; height:50%; }
.ownx-tree b{ position:absolute; left:50%; top:50%; width:7px; height:7px;
  transform:translate(-50%,-50%); border-radius:50%; background:var(--turquoise); }
.ownx-kids{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }
.ownx-cell{ padding:0 clamp(8px,1.4vw,22px); display:grid; margin:0; }
/* native Group (div), not a real <a> (see file-level comment) — behaves like a link via [data-anchor] + main.js. */
.ownx-co{ display:flex; flex-direction:column; align-items:flex-start; gap:13px;
  padding:clamp(22px,2.5vw,34px) clamp(22px,2.6vw,36px); cursor:pointer;
  border:1px solid rgba(255,255,255,.22); border-radius:6px; background:rgba(255,255,255,.045);
  transition:border-color .45s var(--ease-out), background .45s var(--ease-out), transform .45s var(--ease-out); }
.ownx-co:hover{ border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.08); transform:translateY(-3px); }
.ownx-co .wp-block-image{ margin:0; }
.ownx-co img{ height:clamp(28px,2.8vw,38px); width:auto; max-width:100%; display:block; }
.ownx-tag{ margin:0; font-size:11px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--turquoise); }
.ownx-desc{ margin:0; font-size:14.5px; line-height:1.6; color:rgba(255,255,255,.76); }

/* ---------- 02/03 · subsidiary spread ---------- */
.cox{ margin-top:clamp(22px,2.6vw,34px); }
.cox-top{ display:flex; align-items:flex-end; justify-content:space-between; gap:clamp(20px,3vw,44px);
  flex-wrap:wrap; padding-bottom:clamp(20px,2.4vw,30px); border-bottom:1px solid var(--petrol); margin:0; }
.cox-top .wp-block-image{ margin:0; }
.cox-top img{ height:clamp(52px,6vw,92px); width:auto; display:block; }
.cox-top .link-wrap{ margin:0 0 6px; }
.cox-top .arrow-link{ white-space:nowrap; }
.cox-grid{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:clamp(26px,4.6vw,96px); align-items:start; padding-top:clamp(24px,2.8vw,40px); margin:0; }
.cox-grid > *{ margin:0; }
.cox-lead{ margin:0; font-family:var(--font-display),var(--font-fallback),system-ui,sans-serif;
  font-size:clamp(20px,2.2vw,30px); font-weight:300; line-height:1.42; letter-spacing:-.018em;
  color:var(--ink); text-wrap:pretty; }
.cox-kv{ margin:0; }
.cox-kv-row{ padding:14px 0; border-bottom:1px solid var(--line); margin:0; }
.cox-kv-row:first-child{ padding-top:2px; }
.cox-kv-label{ display:block; font-size:10.5px; font-weight:500; letter-spacing:.18em;
  text-transform:uppercase; color:var(--petrol); margin:0 0 6px; }
.cox-kv-value{ margin:0; font-size:15.5px; line-height:1.5; color:var(--ink); }
/* core/list-item renders plain text directly in <li> (no wrapping <p>), so styling targets .cox-cols li itself. */
.cox-cols{ list-style:none; margin:clamp(20px,2.2vw,28px) 0 0; padding:0; }
.cox-cols li{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:baseline;
  padding:11px 0; border-bottom:1px solid var(--line); margin:0;
  font-size:15px; line-height:1.55; color:var(--ink-soft); }
.cox-cols li::before{ content:""; width:11px; height:1px; background:var(--petrol); margin-top:.7em; }

@media (max-width:820px){
  .ownx-kids, .cox-grid{ grid-template-columns:1fr; }
  .cox-grid{ gap:24px; }
  .cox-top img{ height:clamp(44px,10vw,60px); }
  .ownx-tree{ height:34px; }
  .ownx-tree .h, .ownx-tree .v1, .ownx-tree .v2, .ownx-tree b{ display:none; }
  .ownx-tree .v0{ height:100%; }
  .ownx-cell{ padding:0; }
  .ownx-cell + .ownx-cell{ margin-top:16px; }
}
