/* =====================================================================
   VIA X Partnerseiten (Uebersicht + Profile). Icon-Katalog zuerst (eigene
   Kopie, unabhaengig von case-study.css - Partnerseiten laden diese Datei
   nicht), danach die unveraendert uebernommene Referenz-CSS aus dem
   Pflichtenheft v1.1 (Namensraum .viax-partner-*).
   ===================================================================== */

/* ---- Icon-System: CSS-Maske, identisch zum Case-Study-Katalog (22 Schluessel) ---- */
.viax-icon{--viax-icon:none;display:inline-block;flex:none;width:1.6em;height:1.6em;background-color:currentColor;
  -webkit-mask:var(--viax-icon) center/contain no-repeat;mask:var(--viax-icon) center/contain no-repeat}
.viax-icon--users{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M17 14.2c2.4.2 4.3 2.2 4.3 4.8'/%3E%3C/svg%3E")}
.viax-icon--timer{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='13.5' r='7.5'/%3E%3Cpath d='M12 13.5V9M9.5 3h5M12 3v3M18.5 6.5l1.2-1.2'/%3E%3C/svg%3E")}
.viax-icon--globe{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.8 3 2.8 15 0 18M12 3c-2.8 3-2.8 15 0 18'/%3E%3C/svg%3E")}
.viax-icon--building{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='9' height='18' rx='1'/%3E%3Cpath d='M14 9h5v12h-5M8 7h3M8 11h3M8 15h3M16.5 13h.01M16.5 17h.01'/%3E%3C/svg%3E")}
.viax-icon--factory{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V10l6 4v-4l6 4V6h3v15zM3 21h18'/%3E%3C/svg%3E")}
.viax-icon--pin{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11.5A7 7 0 0 0 5 9.5C5 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E")}
.viax-icon--database{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5.5' rx='7.5' ry='3'/%3E%3Cpath d='M4.5 5.5v13c0 1.7 3.4 3 7.5 3s7.5-1.3 7.5-3v-13M4.5 12c0 1.7 3.4 3 7.5 3s7.5-1.3 7.5-3'/%3E%3C/svg%3E")}
.viax-icon--gear{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Ccircle cx='12' cy='12' r='6.5'/%3E%3Cpath d='M12 2.5v3M12 18.5v3M2.5 12h3M18.5 12h3M5.3 5.3l2.1 2.1M16.6 16.6l2.1 2.1M18.7 5.3l-2.1 2.1M7.4 16.6l-2.1 2.1'/%3E%3C/svg%3E")}
.viax-icon--monitor{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='1.5'/%3E%3Cpath d='M8 21h8M12 16v5'/%3E%3C/svg%3E")}
.viax-icon--person{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 21c0-4.1 3.4-7 7.5-7s7.5 2.9 7.5 7'/%3E%3C/svg%3E")}
.viax-icon--search{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E")}
.viax-icon--shield{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7.5 3v5.5c0 4.6-3.1 8.2-7.5 9.5-4.4-1.3-7.5-4.9-7.5-9.5V6L12 3z'/%3E%3Cpath d='M9 12l2.2 2.2L15.5 10'/%3E%3C/svg%3E")}
.viax-icon--flag{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 21V4M6 4h11l-2 4 2 4H6'/%3E%3C/svg%3E")}
.viax-icon--analysis{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l4 4v14H7z'/%3E%3Ccircle cx='12.5' cy='13' r='2.8'/%3E%3Cpath d='M14.5 15l2 2'/%3E%3C/svg%3E")}
.viax-icon--list{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6h11M9 12h11M9 18h11'/%3E%3Ccircle cx='4.5' cy='6' r='1'/%3E%3Ccircle cx='4.5' cy='12' r='1'/%3E%3Ccircle cx='4.5' cy='18' r='1'/%3E%3C/svg%3E")}
.viax-icon--clinic{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V9l8-5 8 5v12M2.5 21h19M12 10v5M9.5 12.5h5'/%3E%3C/svg%3E")}
.viax-icon--chart{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 20V13M10 20V8M15 20V11M20 20V4'/%3E%3C/svg%3E")}
.viax-icon--network{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='12' r='2.5'/%3E%3Ccircle cx='18' cy='6' r='2.5'/%3E%3Ccircle cx='18' cy='18' r='2.5'/%3E%3Cpath d='M8.2 10.8l7.6-3.6M8.2 13.2l7.6 3.6'/%3E%3C/svg%3E")}
.viax-icon--image{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.8'/%3E%3Cpath d='M4 18l5-5 4 4 3-3 4 4'/%3E%3C/svg%3E")}
.viax-icon--message{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M8 9.5h8M8 12.5h5'/%3E%3C/svg%3E")}
.viax-icon--chevron{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E")}
.viax-icon--arrow{--viax-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h16M13 6l6 6-6 6'/%3E%3C/svg%3E")}

/* =====================================================================
   VIA X Partnerseiten – Referenz-CSS (Pflichtenheft v1.1)
   Namensraum .viax-partner-*; nutzt ausschließlich Tokens aus site.css (:root)
   und das obige Icon-System.
   ===================================================================== */
/* Microsoft-Bookings-Umsetzung (2026-10-13): .viax-company-page (Unter-
   nehmensseiten) nutzt jetzt dieselbe .viax-partner-cta-Karte fuer "Ihr
   Projekt mit VIA X" (siehe class-viax-company.php) - die darin
   verwendeten Tokens muessen deshalb auch dort definiert sein, nicht nur
   auf .viax-partner-page. */
.viax-partner-page,
.viax-company-page{
  --viax-soft:#aeb4f2;                 /* wie Case-Pilot (Hero-Untertitel); Farbton bei Abnahme prüfen */
  --viax-partner-steel:#a9b4c7;        /* Icons, blaugrauer Unterstrich (Lastenheft C) */
  --viax-partner-panel:rgba(34,34,61,.55);
  --viax-partner-line:rgba(244,243,247,.14);
  --viax-partner-radius:14px;
  color:var(--viax-light);
}
/* Header ↔ Hero ohne WP-Blockabstand (WP setzt 24px zwischen den Template-Teilen) */
.wp-site-blocks>main:has(.viax-partner-page){margin-block-start:0}
.viax-partner-page .viax-icon{color:var(--viax-partner-steel)}
.viax-partner-page p{margin:0}
.viax-partner-page ul,.viax-partner-page ol{list-style:none;margin:0;padding:0}

/* ---------- Überschriften mit farbigem Unterstrich (keine Nummern) ---------- */
.viax-partner-heading{margin:0;font-size:clamp(1.65rem,1.2rem + 1.7vw,2.3rem);line-height:1.12;text-wrap:balance}
.viax-partner-heading::after{content:"";display:block;width:44px;height:4px;margin-top:.8rem;border-radius:2px;background:var(--viax-bar,var(--viax-yellow))}
.viax-partner-heading--yellow{--viax-bar:var(--viax-yellow)}
.viax-partner-heading--green{--viax-bar:var(--viax-green)}
.viax-partner-heading--pink{--viax-bar:var(--viax-pink)}
.viax-partner-heading--steel{--viax-bar:var(--viax-partner-steel)}
.viax-partner-section{padding-block:clamp(2.5rem,5vw,4.25rem);scroll-margin-top:96px}
.viax-partner-section__head{margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.viax-partner-section__intro{margin-top:1.1rem;max-width:62ch;color:var(--viax-light);opacity:.92;font-size:clamp(1rem,.95rem + .25vw,1.125rem)}

/* ---------- Hero (Verlauf NUR hier, nur auf dem Bildbereich) ---------- */
.viax-partner-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--viax-night)}
.viax-partner-hero__media{position:absolute;inset:0;z-index:-1;margin:0}
.viax-partner-hero__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--viax-focal,55% 35%)}
.viax-partner-hero__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(16,15,31,.95) 0%,rgba(16,15,31,.84) 32%,rgba(16,15,31,.34) 60%,rgba(16,15,31,.08) 100%),
             linear-gradient(0deg,var(--viax-night) 0%,rgba(16,15,31,0) 30%)}
.viax-partner-hero__credit{position:absolute;z-index:1;right:max(var(--viax-gutter),calc((100% - var(--viax-content))/2));bottom:1.1rem;max-width:calc(100% - 2*var(--viax-gutter));margin:0;font-size:.75rem;line-height:1.35;color:rgba(244,243,247,.92);text-align:right;text-shadow:0 1px 3px rgba(0,0,0,.7)}
/* Hero-Vereinheitlichung (2026-10-15): Hoehe/Abstand/Typografie der
   Partner-UEBERSICHT kommen jetzt aus dem gemeinsamen Regelblock in
   site.css (--viax-hero-*). Die frueher hier generische Innen-Box
   (display:flex/align-items:center/min-height/padding-block) gilt deshalb
   nur noch fuer die PROFILSEITEN - die sind laut Auftrag ausdruecklich
   NICHT betroffen und behalten ihr bisheriges Verhalten unveraendert
   (inkl. der bisherigen Profil-min-height, hier mit zusammengefasst). */
.viax-partner-hero--profile .viax-partner-hero__inner{display:flex;align-items:center;min-height:clamp(480px,40vw,580px);padding-block:clamp(3.25rem,6vw,5rem) clamp(4rem,6vw,5rem)}
.viax-partner-hero__copy{max-width:min(40rem,100%)}
.viax-partner-hero:not(.viax-partner-hero--profile) .viax-partner-hero__copy{max-width:var(--viax-hero-h1-max-width)}
/* C1 (Drei-Optimierungen-Auftrag, 2026-10-13): globale ".viax-site :where(h1,...) {hyphens:auto}"
   (site.css) trennt hier Woerter wie "Gemeinsam" mitten im Wort
   ("Gemein-sam"), weil der Browser die Silbentrennung automatisch
   vornimmt. Fuer die Partner-Hero-H1 (Uebersicht UND einzelne
   Partnerprofile, DE+EN) bewusst abgeschaltet - kein fester
   Zeilenumbruch, der Browser bricht stattdessen nur zwischen ganzen
   Woertern um. Spezifitaet (Klasse+Typ) ist hoeher als die
   :where()-Regel in site.css, daher kein !important notwendig.
   overflow-wrap:anywhere bleibt (aus site.css uebernommen) als reines
   Overflow-Sicherheitsnetz erhalten - greift nur, wenn ein einzelnes
   Wort nicht in die Zeile passt, fuegt dabei aber KEINEN Trennstrich
   ein (anders als "hyphens"). */
/* font-size/max-width der UEBERSICHTS-H1 und des Lead kommen aus
   site.css (--viax-hero-h1-size / --viax-hero-lead-*); die
   hyphens:manual-Regel von oben bleibt fuer BEIDE Varianten erhalten.
   Die Profil-H1 behaelt ihre eigene Groesse (siehe
   .viax-partner-hero--profile h1 weiter unten). */
.viax-partner-hero h1{margin:0;line-height:1.04;text-wrap:balance;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:anywhere}
/* Lastenheft-Layout-Final-v1.0 (T01, 2026-10-17): Uebersichts-H1 bekommt
   die kompakte Hero-Typografie (line-height 1.08, am Bestand verifiziert) -
   hoehere Spezifitaet als die Zeile oben, damit nur hier (nicht bei
   .viax-partner-hero--profile) ueberschrieben wird. */
.viax-partner-hero.viax-hero-compact h1{line-height:1.08}
.viax-partner-hero__lead{margin-top:1.4rem;line-height:1.45}
.viax-partner-hero--profile .viax-partner-hero__lead{max-width:34ch;color:var(--viax-light);font-size:clamp(1.1rem,1rem + .5vw,1.4rem)}
.viax-partner-hero .viax-eyebrow{margin-bottom:1.1rem;display:flex;align-items:center;gap:.7rem}
.viax-partner-hero .viax-eyebrow::before{content:"";width:4px;height:1.05em;background:var(--viax-yellow);flex:none}
.viax-partner-hero--profile .viax-partner-hero__inner{min-height:clamp(480px,40vw,580px)}
.viax-partner-hero--profile h1{font-size:clamp(2.6rem,1.2rem + 4.6vw,4.4rem)}
.viax-partner-hero__subtitle{margin-top:1rem;max-width:20ch;color:var(--viax-soft);font-size:clamp(1.35rem,1.05rem + 1.3vw,2.05rem);font-weight:650;line-height:1.2}
.viax-partner-hero__line{margin-top:1.15rem;font-size:1rem}
.viax-partner-hero .viax-actions{align-items:center;margin-top:1.9rem;gap:1.2rem 1.6rem}
.viax-partner-hero__secondary{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;color:var(--viax-light);font-weight:650;text-decoration:none}
.viax-partner-hero__secondary:hover{text-decoration:underline}
.viax-partner-hero__secondary .viax-icon{color:var(--viax-light);width:1.2em;height:1.2em}
.viax-partner-breadcrumb{margin:0 0 1.5rem;font-size:.875rem}
.viax-partner-breadcrumb ol{display:flex;flex-wrap:wrap;gap:.25rem .6rem}
.viax-partner-breadcrumb li{color:var(--viax-light)}
.viax-partner-breadcrumb li+li::before{content:"/";margin-right:.6rem;opacity:.7}
.viax-partner-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;margin-block:-10px;color:var(--viax-light);text-decoration:none}
.viax-partner-page .viax-eyebrow{font-size:max(.75rem,12px)}
.viax-partner-breadcrumb a:hover{text-decoration:underline}

/* Buttons (vorhandenes .viax-button; nur Icon-Ausrichtung ergänzt) */
.viax-partner-button{gap:.65rem}
.viax-partner-button .viax-icon{color:currentColor;width:1.15em;height:1.15em}
.viax-partner-button__icon--down{transform:rotate(90deg)}

/* ---------- Nutzenliste: frei, ohne Container, auf allen Breiten untereinander ---------- */
.viax-partner-benefits{display:grid;gap:1.35rem;padding-block:clamp(1.5rem,3vw,2.25rem) clamp(1.25rem,2.5vw,2rem)}
.viax-partner-benefits li{display:flex;align-items:flex-start;gap:1rem}
.viax-partner-benefits .viax-icon{width:1.5rem;height:1.5rem;margin-top:.12rem}
.viax-partner-benefits p{font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.45}
.viax-partner-benefits strong{font-weight:700}

/* ---------- Partnerkarten ---------- */
.viax-partner-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.viax-partner-card{display:flex;flex-direction:column;height:100%;padding:1.35rem;border:1px solid var(--viax-partner-line);border-radius:var(--viax-partner-radius);background:var(--viax-partner-panel);color:var(--viax-light);text-decoration:none;transition:border-color .16s ease}
.viax-partner-card:hover{border-color:rgba(244,243,247,.38)}
.viax-partner-card:focus-visible{outline-offset:3px}
.viax-partner-card__brand{margin:0;font-size:inherit;line-height:0}
/* Logo-Kacheln (2026-10-13): vorgerenderte Bilder (Hintergrund, Zuschnitt,
   Rundung bereits im PNG) auf voller Kartenbreite - ersetzt die fruehere
   .viax-partner-logo/.has-bg-Box mit CSS-Hintergrundfarbe und fester Hoehe.
   Fund 13.10.2026 (Daniel, Live-Messung): ohne explizites height:auto bleibt
   die Bildhoehe am HTML-height-Attribut (400px) haengen, waehrend die Breite
   auf die Kartenbreite schrumpft - object-fit faellt auf den Default "fill"
   zurueck und zerrt die Kachel in die Hoehe. Zusaetzlich aspect-ratio +
   object-fit:contain als zweite Absicherung, falls height:auto irgendwo
   ueberschrieben wird; Selektor doppelt (Element UND Klasse) gegen
   Spezifitaets-Ueberraschungen. */
.viax-partner-card__brand img,
.viax-partner-card__logo{display:block;width:100%;height:auto;aspect-ratio:1760/400;object-fit:contain;margin:0}
/* Nachbesserung 2026-10-18 (Punkt 7): Beschreibung optisch mittig zwischen
   Logo-Kachel und Kompetenz-Badges. Vorher margin-top:1.4rem (Kachel->Text)
   vs. margin-top:1rem auf .viax-partner-tags (Text->Badges) - asymmetrisch
   und wirkte zu dicht am Logo. Jetzt: gleich grosse Abstaende oben/unten
   (margin-block) um den reservierten Beschreibungsbereich, und der Text
   selbst wird per Grid innerhalb seines bestehenden min-height (deckt
   ein- und zweizeilige Beschreibungen ab, haelt die Badge-Position in
   einer Kartenreihe einheitlich) vertikal zentriert, statt oben
   anzuschlagen. Nur vertikale Position betroffen, Text bleibt linksbuendig. */
.viax-partner-card__desc{margin-block:1.2rem;font-size:1.0625rem;line-height:1.45;min-height:3.1em;display:grid;align-content:center}
.viax-partner-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:0}
.viax-partner-tag{display:inline-flex;align-items:center;min-height:32px;padding:.2rem .8rem;border:1px solid rgba(244,243,247,.38);border-radius:8px;font-size:.875rem;line-height:1.2}
.viax-partner-card__more{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:1.1rem;font-weight:650}
.viax-partner-card__more{border-top:1px solid var(--viax-partner-line);margin-top:1.35rem}
.viax-partner-card__more .viax-icon{width:1.15em;height:1.15em;color:var(--viax-light);transition:transform .16s ease}
.viax-partner-card:hover .viax-partner-card__arrow{transform:translateX(4px)}

/* ---------- Kooperationsschritte: unnummeriert ---------- */
.viax-partner-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.75rem,5vw,4.5rem)}
.viax-partner-steps li{position:relative}
.viax-partner-steps__icon{width:2.75rem!important;height:2.75rem!important}
.viax-partner-steps h3{margin:1rem 0 .55rem;font-size:1.2rem;line-height:1.2}
.viax-partner-steps p{max-width:30ch;font-size:1rem;line-height:1.5;opacity:.92}
.viax-partner-steps li:not(:last-child)::after{content:"";position:absolute;top:1.1rem;right:calc(clamp(2.75rem,5vw,4.5rem)/-2 - 1.1rem);width:2.2rem;height:2.2rem;background:var(--viax-light);
  -webkit-mask:var(--viax-icon-arrow) center/contain no-repeat;mask:var(--viax-icon-arrow) center/contain no-repeat}
.viax-partner-page{--viax-icon-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h16M13 6l6 6-6 6'/%3E%3C/svg%3E")}

/* ---------- CTA-Panel (flach, kein Verlauf) ---------- */
.viax-partner-ctawrap{padding-block:clamp(1.5rem,4vw,3rem) clamp(3rem,6vw,5rem)}
.viax-partner-cta{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.25rem clamp(1.25rem,2.5vw,2rem);padding:clamp(1.4rem,3vw,2.1rem) clamp(1.4rem,3vw,2.4rem);border:1px solid var(--viax-partner-line);border-radius:var(--viax-partner-radius);background:var(--viax-partner-panel)}
.viax-partner-cta .viax-partner-cta__icon{width:3.1rem;height:3.1rem;color:var(--viax-yellow)}
.viax-partner-cta h2{margin:0;font-size:clamp(1.5rem,1.2rem + 1.1vw,2rem)}
.viax-partner-cta p{margin-top:.5rem;max-width:44ch;color:var(--viax-light);opacity:.92}

/* ---------- Sigma-Profil ---------- */
.viax-partner-anchors{border-bottom:1px solid var(--viax-partner-line);background:var(--viax-night)}
.viax-partner-anchors ul{display:flex;flex-wrap:wrap;gap:0 clamp(1.5rem,3vw,2.5rem)}
.viax-partner-anchors a{position:relative;display:flex;align-items:center;min-height:56px;color:var(--viax-light);font-weight:650;text-decoration:none}
.viax-partner-anchors a:hover{color:var(--viax-yellow)}
.viax-partner-anchors a.is-active{color:var(--viax-yellow)}
.viax-partner-anchors a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--viax-yellow)}
.viax-partner-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.viax-partner-overview__text{grid-column:1;grid-row:1}
.viax-partner-overview__text p{margin-top:1.1rem;max-width:62ch;font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.6}
.viax-partner-overview__text .viax-partner-heading{margin-bottom:1.6rem}
.viax-partner-profile{grid-column:2;grid-row:1;padding:1.5rem 1.6rem;border:1px solid var(--viax-partner-line);border-radius:var(--viax-partner-radius);background:var(--viax-partner-panel)}
.viax-partner-profile h2{margin:0 0 1.25rem;font-size:1.25rem}
.viax-partner-profile dl{display:grid;gap:1.15rem;margin:0}
.viax-partner-profile__row{display:grid;grid-template-columns:2.4rem minmax(0,1fr);column-gap:1rem;align-items:start}
.viax-partner-profile__row .viax-icon{grid-row:1/span 2;width:2.1rem;height:2.1rem}
.viax-partner-profile dt{font-weight:700;font-size:1rem}
.viax-partner-profile dd{margin:0;font-size:1rem;line-height:1.4;opacity:.95}
.viax-partner-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.75rem,3vw,2.5rem) clamp(2rem,6vw,5rem)}
.viax-partner-skills li{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1.1rem;align-items:start}
.viax-partner-skills__icon{width:2.9rem!important;height:2.9rem!important}
.viax-partner-skills h3{margin:0 0 .4rem;font-size:1.15rem;line-height:1.2}
.viax-partner-skills p{font-size:1rem;line-height:1.5;opacity:.93;max-width:36ch}
.viax-partner-wide-link{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:52px;margin-top:clamp(1.75rem,3vw,2.5rem);padding:.7rem 1.25rem;border:1px solid rgba(244,243,247,.38);border-radius:var(--viax-partner-radius);color:var(--viax-light);font-weight:700;text-decoration:none}
.viax-partner-wide-link:hover{border-color:var(--viax-yellow);color:var(--viax-yellow)}
.viax-partner-wide-link .viax-icon{width:1.15em;height:1.15em;color:currentColor}
.viax-partner-wide-link--more .viax-icon{transform:rotate(90deg)}
/* Filter: Text-/Zustandskennzeichnung zusätzlich zur Farbe (aktiv = ausgefüllt + Haken-Marke) */
.viax-partner-filter ul{display:flex;flex-wrap:wrap;gap:.6rem}
.viax-partner-filter a{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.35rem 1.1rem;border:1px solid rgba(244,243,247,.38);border-radius:999px;color:var(--viax-light);font-size:.9375rem;font-weight:650;text-decoration:none}
.viax-partner-filter a:hover{border-color:var(--viax-yellow)}
.viax-partner-filter a.is-active{border-color:var(--viax-yellow);background:var(--viax-yellow);color:var(--viax-night)}
.viax-partner-filter__mark{display:none}
.viax-partner-filter{margin-bottom:1.5rem}
.viax-partner-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.viax-partner-case{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--viax-partner-line);border-radius:var(--viax-partner-radius);background:var(--viax-partner-panel);color:var(--viax-light);text-decoration:none;transition:border-color .16s ease}
.viax-partner-case:hover{border-color:rgba(244,243,247,.38)}
.viax-partner-case__media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--viax-surface)}
.viax-partner-case__media img{display:block;width:100%;height:100%;object-fit:cover}
.viax-partner-case__credit{position:absolute;left:0;bottom:0;max-width:100%;padding:.2rem .6rem;background:rgba(16,15,31,.78);font-size:.75rem;line-height:1.35;color:var(--viax-light)}
.viax-partner-case__body{display:flex;flex:1;flex-direction:column;padding:1.2rem 1.3rem 1.3rem}
.viax-partner-case h3{margin:0;font-size:1.0625rem;line-height:1.25}
.viax-partner-case__customer{display:block;font-size:1.4rem;line-height:1.15}
.viax-partner-case__project{display:block;margin-top:.35rem;font-size:1.0625rem}
.viax-partner-case__text{display:block;margin-top:.7rem;font-size:1rem;line-height:1.5;opacity:.92}
.viax-partner-case__more{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:1rem;font-weight:700}
.viax-partner-case__more .viax-icon{width:1.1em;height:1.1em;color:var(--viax-light);transition:transform .16s ease}
.viax-partner-case:hover .viax-partner-case__more .viax-icon{transform:translateX(4px)}
.viax-partner-checks{display:grid;gap:.95rem;margin-top:1.6rem}
.viax-partner-checks li{display:flex;align-items:center;gap:.9rem;font-size:1.0625rem}
.viax-partner-checks__mark{flex:none;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--viax-yellow);
  -webkit-mask:none;mask:none;position:relative}
.viax-partner-checks__mark::after{content:"";position:absolute;inset:0;background:var(--viax-night);
  -webkit-mask:var(--viax-chev) center/62% no-repeat;mask:var(--viax-chev) center/62% no-repeat}
.viax-partner-page{--viax-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E")}
.viax-partner-collab .viax-partner-section__intro{max-width:56ch}
.viax-partner-page--profile .viax-partner-ctawrap{padding-top:clamp(.5rem,2vw,1.5rem)}

/* ---------- Tablet ≤ 900 px ---------- */
@media (max-width:900px){
  /* Hero-Vereinheitlichung (2026-10-15): diese Tablet-Regeln gehoeren zum
     gestapelten Profil-Layout (Foto ueber Text) und gelten deshalb nur
     noch fuer .viax-partner-hero--profile. Die UEBERSICHT folgt ab hier
     komplett dem gemeinsamen Hero-System aus site.css. */
  .viax-partner-hero--profile{display:flex;flex-direction:column}
  .viax-partner-hero__media{position:relative;inset:auto;z-index:0;aspect-ratio:4/3;max-height:430px}
  .viax-partner-hero__media::after{background:linear-gradient(0deg,var(--viax-night) 0%,rgba(16,15,31,.0) 38%)}
  .viax-partner-hero__credit{right:var(--viax-gutter);bottom:.75rem}
  .viax-partner-hero--profile .viax-partner-hero__inner{min-height:0;padding-block:1.75rem 2.25rem;margin-top:-1rem;position:relative}
  .viax-partner-hero__lead{max-width:none}
  .viax-partner-hero__subtitle{max-width:none}
  .viax-partner-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .viax-partner-cases{grid-template-columns:repeat(2,minmax(0,1fr))}
  .viax-partner-overview{grid-template-columns:minmax(0,1fr)}
  .viax-partner-profile,.viax-partner-overview__text{grid-column:1;grid-row:auto}
  .viax-partner-steps{grid-template-columns:minmax(0,1fr);gap:2.4rem}
  .viax-partner-steps li:not(:last-child)::after{top:auto;right:auto;left:.25rem;bottom:-2.35rem;width:2rem;height:2rem;transform:rotate(90deg)}
}
/* ---------- Mobil ≤ 620 px ---------- */
@media (max-width:620px){
  .viax-partner-cards,.viax-partner-cases,.viax-partner-skills{grid-template-columns:minmax(0,1fr)}
  .viax-partner-card__desc{min-height:0}
  .viax-partner-benefits li{gap:.9rem}
  .viax-partner-benefits__sep{display:none}
  .viax-partner-benefits strong,.viax-partner-benefits__text{display:block}
  .viax-partner-anchors ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .viax-partner-anchors a{min-height:48px}
  .viax-partner-hero .viax-actions{flex-direction:column;align-items:stretch}
  .viax-partner-hero .viax-actions .viax-button{width:100%}
  .viax-partner-hero__secondary{justify-content:center}
  .viax-partner-cta{grid-template-columns:minmax(0,1fr)}
  .viax-partner-cta .viax-button{width:100%}
  .viax-partner-cta__copy{min-width:0}
}
/* ---------- schmal ≤ 360 px ---------- */
@media (max-width:360px){
  /* nur noch Profil: die Uebersicht nutzt die gemeinsame Mobil-Groesse
     --viax-hero-h1-size (site.css), damit alle drei Hero-Typen auch
     unter 390px identisch bleiben (Hero-Vereinheitlichung 2026-10-15). */
  .viax-partner-hero--profile h1{font-size:clamp(2rem,10.5vw,2.35rem)}
  .viax-partner-page h2{font-size:1.5rem;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
  .viax-partner-profile{padding:1.2rem}
  .viax-partner-card{padding:1.1rem}
}
@media (prefers-reduced-motion:reduce){.viax-partner-card,.viax-partner-case,.viax-partner-card__arrow,.viax-partner-case__more .viax-icon{transition:none}}

.viax-partner-collab .viax-partner-section__intro{margin-bottom:1.25rem}
