/* Abschnitt 07: ein offenes Netzwerk, von EliteGroup zentral koordiniert. */
.alliance { background:var(--brand-white); padding-block:var(--sec-y); }
.alliance__heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:16px clamp(28px,4vw,52px); align-items:end; }
.alliance__chapter { grid-column:1 / -1; display:flex; align-items:center; gap:18px; color:var(--ink-3); font-size:.75rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.alliance__chapter > span { font-size:1rem; color:var(--teal-dk); letter-spacing:.02em; }
.alliance__heading h2 { font-family:var(--ff-d); font-size:clamp(1.875rem,3vw,2.625rem); font-weight:550; line-height:1.1; letter-spacing:-.045em; overflow-wrap:break-word; }
.alliance__heading h2 > span { color:var(--teal-dk); }
.alliance__intro { max-width:46ch; font-size:1rem; line-height:1.65; color:var(--ink-2); }
.alliance__network { margin-top:clamp(24px,3vw,36px); }
.alliance__hub { text-align:center; padding-bottom:18px; }
.alliance__hub-label { color:var(--ink-3); font-size:.75rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
.alliance__hub > img { width:220px; max-width:80%; height:auto; margin:14px auto; }
.alliance__hub ul { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 0; font-size:.875rem; color:var(--ink-2); }
.alliance__hub li { padding:0 16px; border-left:1px solid var(--rule); }
.alliance__hub li:first-child { border-left:0; }
.alliance__divisions { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:44px; }
.alliance__connections { position:absolute; width:100%; height:46px; inset:0 0 auto; overflow:visible; fill:none; }
.alliance__tracks { stroke:var(--brand-on-dark-muted); stroke-width:1; }
.alliance__signal { stroke:var(--teal); stroke-width:1.7; opacity:.65; }
.alliance__division { position:relative; min-width:0; padding:0 clamp(18px,2.3vw,34px); display:flex; flex-direction:column; }
.alliance__identity { position:relative; display:flex; align-items:center; justify-content:center; min-height:76px; margin-bottom:18px; padding:16px 0; border-bottom:1px solid var(--rule); }
.alliance__identity > img { max-width:100%; max-height:46px; width:auto; height:auto; object-fit:contain; }
.alliance__identity > img[src*="elitecare"] { width:180px; }
.alliance__point { position:absolute; top:-4px; left:50%; width:7px; height:7px; margin-left:-3.5px; background:var(--teal); border-radius:50%; box-shadow:0 0 0 5px var(--brand-teal-wash); }
.alliance__identity--network { gap:13px; }
.alliance__identity--network > svg { width:44px; height:34px; flex:none; fill:var(--brand-white); stroke:var(--teal-dk); stroke-width:1.2; }
.alliance__identity--network > span:last-child { font-family:var(--ff-d); font-size:1.125rem; font-weight:550; line-height:1.25; }
.alliance__identity--network > span:last-child span { display:block; margin-top:5px; font-family:var(--ff-t); color:var(--ink-3); font-size:.75rem; font-weight:400; letter-spacing:0; }
.alliance__eyebrow { display:flex; gap:12px; color:var(--ink-3); font-size:.75rem; font-weight:500; letter-spacing:.04em; margin-bottom:12px; }
.alliance__eyebrow > span { color:var(--teal-dk); font-variant-numeric:tabular-nums; }
.alliance__division h3 { font-family:var(--ff-d); font-size:clamp(1.125rem,1.85vw,1.5rem); font-weight:550; letter-spacing:-.024em; line-height:1.3; }
.alliance__text { margin-top:12px; color:var(--ink-2); font-size:1rem; line-height:1.6; }
.alliance__services { margin-top:16px; padding-bottom:16px; color:var(--ink-2); font-size:.9375rem; }
.alliance__services li { position:relative; padding:9px 0 9px 15px; border-top:1px solid var(--rule); line-height:1.55; }
.alliance__services li::before { content:""; position:absolute; top:20px; left:0; width:5px; height:1px; background:var(--teal-dk); }
.alliance__link { display:inline-flex; align-items:center; align-self:flex-start; gap:12px; margin-top:auto; min-height:44px; color:var(--ink); font-size:.875rem; font-weight:600; line-height:1.5; }
.alliance__link > svg { width:18px; height:18px; flex:none; fill:none; stroke:var(--teal-dk); stroke-width:1.5; }
.alliance__link:hover { color:var(--teal-dk); }
.alliance__links { display:flex; flex-direction:column; margin-top:auto; }
.alliance__promise { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:10px 24px; margin-top:28px; padding:18px 0; border-top:1px solid var(--rule); }
.alliance__promise > span { color:var(--ink-2); font-size:.9375rem; }
.alliance__promise > strong { font-family:var(--ff-d); font-size:clamp(1rem,1.5vw,1.25rem); font-weight:500; letter-spacing:-.015em; }
.alliance__join { background:var(--navy); color:var(--brand-white); margin-top:22px; }
.alliance__join-heading { display:flex; align-items:center; justify-content:space-between; gap:20px 32px; padding:clamp(20px,2.4vw,30px); list-style:none; cursor:pointer; }
.alliance__join-heading::-webkit-details-marker { display:none; }
.alliance__join-heading::marker { content:""; }
.alliance__join-label { display:block; margin-bottom:8px; color:var(--teal-hi); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.alliance__join-heading strong { display:block; font-family:var(--ff-d); font-size:clamp(1.25rem,2.15vw,1.75rem); font-weight:500; letter-spacing:-.025em; line-height:1.3; }
.alliance__join-action { display:flex; align-items:center; justify-content:space-between; gap:22px; flex-shrink:0; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.35); font-size:.9375rem; font-weight:500; }
.alliance__join-toggle { position:relative; width:18px; height:18px; flex:none; color:var(--teal-hi); }
.alliance__join-toggle::before,.alliance__join-toggle::after { content:""; position:absolute; width:12px; height:1px; top:8px; left:3px; background:currentColor; }
.alliance__join-toggle::after { transform:rotate(90deg); }
.alliance__join[open] .alliance__join-toggle::after { transform:none; }
.alliance__join-heading:focus-visible { outline-color:var(--teal-hi); outline-offset:5px; }
.alliance__join[open] > .alliance__join-heading { border-bottom:1px solid var(--rule-2); }
.alliance .join { margin:0; background:none; overflow:visible; padding:clamp(20px,2.4vw,30px); }
.alliance .join::after { display:none; }
.alliance .join__label { display:none; }
.alliance .join h3 { margin-top:0; font-size:1.5rem; }
.alliance .join__lead { font-size:1rem; hyphens:manual; -webkit-hyphens:manual; }
.alliance .join__cols { grid-template-columns:1fr; gap:30px; }
.alliance .join__cols h4 { color:var(--brand-on-dark-muted); font-size:.75rem; letter-spacing:.06em; }
.alliance .tags { gap:8px 18px; }
.alliance .tags li { padding:0; border:0; border-radius:0; font-size:.875rem; line-height:1.65; }
.alliance .join .marks li { font-size:.9375rem; }
.alliance .join__form { background:none; padding:0 0 0 clamp(24px,3vw,40px); border:0; border-left:1px solid var(--rule-2); }
.alliance .join__form-title { color:var(--brand-line); font-size:.875rem; letter-spacing:.04em; }
.alliance .field--light > span { color:var(--brand-on-dark-muted); font-size:.8125rem; letter-spacing:.035em; }
.alliance .field--light input,.alliance .field--light select,.alliance .field--light textarea { font-size:1rem; }
.alliance .field--light select option { background:var(--navy); color:var(--brand-white); }
.alliance .join__form .form__note { color:var(--brand-on-dark-muted); font-size:.8125rem; line-height:1.65; }
.alliance .join__form .form__note.is-error { color:#ffb6ae; }
.alliance .join__form .link { font-size:.875rem; }
.alliance .join > .sent { background:var(--brand-white); padding:28px; color:var(--ink); }
.alliance h3,.alliance p,.alliance li,.alliance a,.alliance strong,.alliance .field { min-width:0; overflow-wrap:break-word; }
@media (prefers-reduced-motion:no-preference) {
  .alliance.is-in-view .alliance__signal { stroke-dasharray:100; animation:alliance-connect 1.1s var(--ease) both; }
  .alliance.is-in-view .alliance__signal[data-branch="1"] { animation-delay:.12s; }
  .alliance.is-in-view .alliance__signal[data-branch="2"] { animation-delay:.24s; }
  .alliance__signal { transition:opacity .25s ease; }
  .alliance.has-interacted .alliance__signal { animation:none; }
  .alliance.has-focus .alliance__signal { opacity:.22; animation:none; }
  .alliance.has-focus .alliance__signal.is-active { opacity:1; stroke-dasharray:100; animation:alliance-connect .7s var(--ease) both; }
  .alliance__join-toggle::after { transition:transform .2s ease; }
  .alliance__link > svg { transition:transform .2s ease; }
  .alliance__link:hover > svg { transform:translateX(3px); }
}
@keyframes alliance-connect { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }
@keyframes alliance-spine { from { opacity:.5; transform:scaleY(.8); } to { opacity:1; transform:scaleY(1); } }
@keyframes alliance-point { from { box-shadow:0 0 0 9px var(--brand-teal-wash); } to { box-shadow:0 0 0 5px var(--brand-teal-wash); } }
@media (max-width:820px) and (prefers-reduced-motion:no-preference) {
  .alliance.is-in-view .alliance__divisions::before { animation:alliance-spine 1s var(--ease) both; }
  .alliance.is-in-view .alliance__point { animation:alliance-point 1.2s var(--ease); }
}
@media (max-width:1000px) {
  .alliance__heading { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 36px; }
  .alliance__division { padding-inline:16px; }
  .alliance__identity--network { gap:8px; }
  .alliance__identity--network > svg { width:32px; }
  .alliance__identity--network > span:last-child { font-size:1rem; }
  .alliance__division h3 br { display:none; }
}
@media (max-width:820px) {
  .alliance__heading { grid-template-columns:minmax(0,1fr); gap:22px; }
  .alliance__heading h2 { font-size:clamp(1.875rem,5.5vw,2.375rem); }
  .alliance__intro { font-size:1rem; max-width:54ch; }
  .alliance__hub { text-align:left; padding-left:26px; }
  .alliance__hub > img { margin:14px 0; width:200px; max-width:100%; }
  .alliance__hub ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:300px; gap:7px 14px; }
  .alliance__hub li { padding:0; border:0; }
  .alliance__network { margin-top:28px; }
  .alliance__divisions { display:block; padding-top:0; }
  .alliance__connections { display:none; }
  .alliance__divisions::before { content:""; position:absolute; top:0; bottom:0; left:3px; width:1px; background:var(--rule); transform-origin:top; }
  .alliance__division { padding:0 0 24px 26px; }
  .alliance__division + .alliance__division { padding-top:24px; }
  .alliance__division:last-child { padding-bottom:12px; }
  .alliance__identity { justify-content:flex-start; min-height:68px; margin-bottom:16px; padding:13px 0; }
  .alliance__identity > img { max-width:230px; max-height:42px; }
  .alliance__identity--network > svg { width:44px; }
  .alliance__identity--network > span:last-child { font-size:1.125rem; }
  .alliance__point { left:-23px; top:31px; margin-left:-3px; width:6px; height:6px; }
  .alliance__identity::before { content:""; position:absolute; top:34px; left:-23px; width:14px; height:1px; background:var(--teal); }
  .alliance__division h3 { font-size:1.25rem; }
  .alliance__division h3 br { display:none; }
  .alliance__services { padding-bottom:12px; margin-top:14px; }
  .alliance__link { margin-top:0; }
  .alliance__links { flex-direction:row; flex-wrap:wrap; gap:0 24px; }
  .alliance__promise { display:block; margin-top:24px; padding:24px 0 0; }
  .alliance__promise strong { display:block; margin-top:10px; font-size:1.125rem; }
  .alliance__join-heading { flex-direction:column; align-items:stretch; gap:12px; }
  .alliance__join-action { align-self:flex-start; }
  .alliance .join { grid-template-columns:minmax(0,1fr); gap:32px; }
  .alliance .join__form { padding:30px 0 0; border-left:0; border-top:1px solid var(--rule-2); }
  .alliance .join__form .form__row { grid-template-columns:minmax(0,1fr); }
  .alliance .join__form input,.alliance .join__form select,.alliance .join__form textarea { min-width:0; }
}
@media (max-width:370px) {
  .alliance__heading h2 { font-size:2rem; letter-spacing:-.04em; }
  .alliance__division h3 { font-size:1.375rem; }
  .alliance__division h3 br { display:none; }
  .alliance__identity > img { max-width:100%; }
  .alliance__eyebrow { font-size:.75rem; letter-spacing:0; gap:9px; }
  .alliance__join-heading,.alliance .join { padding:22px 20px; }
  .alliance__join-action { flex-shrink:1; font-size:.875rem; }
}
@media (prefers-reduced-motion:reduce) {
  .alliance *, .alliance *::before, .alliance *::after { animation:none !important; transition:none !important; }
}
@media print {
  .alliance__heading { display:block; }
  .alliance__divisions { display:block; padding:0; }
  .alliance__connections,.alliance__divisions::before { display:none; }
  .alliance__division { break-inside:avoid; padding:16px 0; }
  .alliance__join { display:none; }
}
