/* ============================================================
   TISAX-Landingpage - Grundform "Stufenleiter"

   Die Seite ist als aufsteigende Skala gebaut: jede Abschnitts-
   ueberschrift traegt links das dreistufige Treppen-Zeichen, die
   Assessment-Level stehen als echte Treppe nebeneinander, und die
   ENX-Freigabestufen A-E schliessen die Seite als Skala ab.

   Farben: Navy der Seite (#02101f / #041326 / #04182F), Markenakzent
   #1E88E5. Zweitakzent Bernstein #E4A93C hat genau eine Bedeutung:
   "Assessment Level 1 - keine externe Pruefung, kein teilbares Label".
   Die Schweregrad-Farben im Beispielbericht sind Datenkodierung und
   bleiben unveraendert.
   ============================================================ */

.tsx{
  --tsx-deep:#02101f;
  --tsx-mid:#041326;
  --tsx-high:#04182F;
  --tsx-accent:#1E88E5;
  --tsx-accent-soft:rgba(30,136,229,0.14);
  --tsx-accent-line:rgba(30,136,229,0.22);
  --tsx-amber:#E4A93C;
  --tsx-amber-soft:rgba(228,169,60,0.12);
  --tsx-txt:rgba(255,255,255,0.72);
  --tsx-dim:rgba(255,255,255,0.5);
  --tsx-faint:rgba(255,255,255,0.34);
  --tsx-rule:rgba(255,255,255,0.09);
}

/* ── Bausteine ─────────────────────────────────────────── */
.tsx-h1{font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:800;letter-spacing:-0.03em;line-height:1.06;color:#fff;margin:0 0 1.4rem;}
.tsx-h1-accent{color:var(--tsx-accent);}
.tsx-h2{font-size:clamp(1.55rem,2.9vw,2.15rem);font-weight:800;color:#fff;letter-spacing:-0.02em;line-height:1.22;margin:0;}
.tsx-h3{font-size:1.12rem;font-weight:700;color:#fff;letter-spacing:-0.01em;margin:0 0 1.4rem;}
.tsx-kicker{display:block;font-size:0.68rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--tsx-accent);margin-bottom:0.7rem;}
.tsx-lead{font-size:0.95rem;color:var(--tsx-dim);line-height:1.75;max-width:66ch;margin:0.9rem 0 0;}
.tsx-prose{font-size:1rem;color:var(--tsx-txt);line-height:1.85;max-width:74ch;margin:0 0 3rem;}

.tsx-yes{color:#7CB342;font-weight:700;}
.tsx-no{color:rgba(224,120,116,0.85);font-weight:700;}

.tsx-btn{display:inline-flex;align-items:center;gap:8px;background:var(--tsx-accent);color:#fff !important;font-weight:700;font-size:0.9rem;padding:14px 28px;border-radius:2px;text-decoration:none !important;transition:background 0.2s,transform 0.15s,box-shadow 0.2s;box-shadow:0 6px 22px rgba(30,136,229,0.3);}
.tsx-btn:hover{background:#0A3570;transform:translateY(-2px);box-shadow:0 10px 30px rgba(30,136,229,0.42);}
.tsx-btn-ghost{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,0.72) !important;font-size:0.88rem;font-weight:500;text-decoration:none !important;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.22);transition:color 0.2s,border-color 0.2s;}
.tsx-btn-ghost:hover{color:#fff !important;border-color:var(--tsx-accent);}
.tsx-cta-group{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;}
.tsx-cta-group--center{justify-content:center;}

/* Abschnittskopf: links das Treppen-Zeichen, alles linksbuendig.
   Die Geschwisterseiten zentrieren ihre Koepfe; hier bewusst nicht. */
.tsx-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.4rem;align-items:start;margin-bottom:3.25rem;}
.tsx-head-tick{display:block;color:var(--tsx-accent);line-height:0;padding-top:0.2rem;}
.tsx-head-tick svg rect{fill:currentColor;}
.tsx-head-tick svg rect:nth-child(1){opacity:0.35;}
.tsx-head-tick svg rect:nth-child(2){opacity:0.62;}
.tsx-head-body{min-width:0;}

/* ── Baender ───────────────────────────────────────────── */
.tsx-band{padding:96px 0;}
.tsx-band--deep{background:var(--tsx-deep);}
.tsx-band--mid{background:var(--tsx-mid);}

/* ── Hero ──────────────────────────────────────────────── */
.tsx-hero{background:var(--tsx-high);padding:110px 0 96px;position:relative;overflow:hidden;}
.tsx-hero::before{content:'';position:absolute;top:-260px;right:-180px;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(30,136,229,0.09) 0%,transparent 68%);pointer-events:none;}
.tsx-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:4rem;align-items:center;}
.tsx-hero-copy{min-width:0;}
.tsx-badge{display:inline-flex;align-items:center;gap:8px;background:var(--tsx-accent-soft);border-left:2px solid var(--tsx-accent);padding:6px 14px;font-size:0.7rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--tsx-accent);margin-bottom:1.6rem;}
.tsx-hero-text{font-size:1.05rem;line-height:1.8;color:var(--tsx-txt);max-width:56ch;margin:0 0 2.4rem;}
.tsx-hero .tsx-cta-group{margin-bottom:2.8rem;}
.tsx-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0.5rem 1.6rem;}
.tsx-trust li{display:flex;align-items:center;gap:7px;font-size:0.78rem;font-weight:600;color:var(--tsx-faint);}
.tsx-trust svg{color:var(--tsx-accent);flex-shrink:0;}

/* Grafik 1: die drei Stufen */
.tsx-hero-fig{margin:0;min-width:0;}
.tsx-stairsvg{width:100%;height:auto;display:block;overflow:visible;}
.tsx-stairsvg-grid line{stroke:rgba(255,255,255,0.1);stroke-width:1;}
.tsx-stairsvg-guide{fill:none;stroke:var(--tsx-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0.85;stroke-dasharray:900;stroke-dashoffset:0;transition:stroke-dashoffset 1.5s ease-out 0.15s;}
.tsx-stairsvg-step rect{fill:rgba(30,136,229,0.07);stroke:var(--tsx-accent-line);stroke-width:1;}
.tsx-stairsvg-step text{fill:rgba(255,255,255,0.86);font-size:17px;font-weight:800;letter-spacing:0.04em;}
.tsx-stairsvg-step circle{fill:var(--tsx-accent);}
.tsx-stairsvg-step[data-step="1"] rect{fill:rgba(228,169,60,0.07);stroke:rgba(228,169,60,0.3);}
.tsx-stairsvg-step[data-step="1"] circle{fill:var(--tsx-amber);}
.tsx-stairsvg-step[data-step="3"] rect{fill:rgba(30,136,229,0.13);stroke:rgba(30,136,229,0.42);}
.tsx-stairsvg-step{opacity:1;transform:none;transition:opacity 0.55s ease,transform 0.55s ease;}

/* ── Anforderungsleiste unter dem Hero ─────────────────── */
.tsx-demands{background:var(--tsx-mid);border-top:1px solid var(--tsx-accent-line);padding:60px 0 64px;}
.tsx-demands-kicker{font-size:0.68rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--tsx-accent);margin:0 0 2rem;}
.tsx-demands-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;}
.tsx-demand{padding:1.5rem 1.75rem 0.25rem;border-top:2px solid var(--tsx-rule);border-left:1px solid var(--tsx-rule);}
.tsx-demand:first-child{border-left:none;padding-left:0;}
.tsx-demand:nth-child(1){border-top-color:rgba(30,136,229,0.75);}
.tsx-demand:nth-child(2){border-top-color:rgba(30,136,229,0.55);}
.tsx-demand:nth-child(3){border-top-color:rgba(30,136,229,0.38);}
.tsx-demand:nth-child(4){border-top-color:rgba(30,136,229,0.22);}
.tsx-demand-num{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.68rem;font-weight:700;letter-spacing:0.14em;color:rgba(30,136,229,0.7);margin-bottom:0.7rem;}
.tsx-demand-title{font-size:0.92rem;font-weight:700;color:#fff;margin:0 0 0.45rem;line-height:1.35;}
.tsx-demand p{font-size:0.82rem;line-height:1.7;color:var(--tsx-dim);margin:0;}
.tsx-demands-note{display:flex;align-items:flex-start;gap:10px;margin:2.5rem 0 0;padding-top:1.5rem;border-top:1px solid var(--tsx-rule);font-size:0.83rem;line-height:1.75;color:var(--tsx-dim);max-width:88ch;}
.tsx-demands-note svg{color:var(--tsx-accent);flex-shrink:0;margin-top:4px;}

/* ── Merkposten ────────────────────────────────────────── */
.tsx-marks{list-style:none;margin:0 0 4rem;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;}
.tsx-mark{padding:0 1.5rem;border-left:1px solid var(--tsx-rule);}
.tsx-mark:first-child{border-left:none;padding-left:0;}
.tsx-mark svg{color:var(--tsx-accent);display:block;margin-bottom:0.8rem;}
.tsx-mark p{margin:0;font-size:0.84rem;line-height:1.75;color:var(--tsx-txt);}

/* ── Gegenueberstellung TISAX / ISO 27001 ──────────────── */
.tsx-duel-wrap{border-top:1px solid var(--tsx-rule);padding-top:2.75rem;}
.tsx-duel{width:100%;border-collapse:collapse;}
.tsx-duel th,.tsx-duel td{padding:0.95rem 1.25rem;font-size:0.86rem;line-height:1.5;vertical-align:middle;font-weight:400;}
.tsx-duel thead th{font-size:0.72rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;padding-bottom:0.9rem;border-bottom:1px solid var(--tsx-accent-line);}
.tsx-duel thead .tsx-duel-a{color:var(--tsx-accent);}
.tsx-duel thead .tsx-duel-b{color:rgba(255,255,255,0.45);}
.tsx-duel thead .tsx-duel-mid{color:var(--tsx-faint);}
.tsx-duel tbody tr{border-bottom:1px solid var(--tsx-rule);}
.tsx-duel tbody tr:last-child{border-bottom:none;}
.tsx-duel-a{width:34%;text-align:right;color:rgba(255,255,255,0.88);background:rgba(30,136,229,0.045);}
.tsx-duel-mid{width:32%;text-align:center;color:var(--tsx-faint) !important;font-size:0.72rem !important;font-weight:700 !important;letter-spacing:0.08em;text-transform:uppercase;border-left:1px solid var(--tsx-accent-line);border-right:1px solid var(--tsx-rule);}
.tsx-duel-b{width:34%;text-align:left;color:var(--tsx-dim);}

/* ── Grafik 2: die Treppe der Assessment-Level ─────────── */
.tsx-stair{list-style:none;margin:0 0 4.5rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:start;}
.tsx-stair-item{position:relative;min-width:0;}
.tsx-stair-item[data-level="1"]{--tsx-riser:5.5rem;padding-top:5.5rem;}
.tsx-stair-item[data-level="2"]{--tsx-riser:2.75rem;padding-top:2.75rem;}
.tsx-stair-item[data-level="3"]{--tsx-riser:0rem;padding-top:0;}
/* Trittstufe (waagerecht, auf Hoehe der Kartenoberkante) und Setzstufe
   (senkrecht am linken Rand, hinunter zur vorherigen, tieferen Stufe). */
.tsx-stair-rise{position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none;}
.tsx-stair-rise::before{content:'';position:absolute;left:0;right:0;top:var(--tsx-riser);height:2px;background:linear-gradient(90deg,var(--tsx-accent),rgba(30,136,229,0.15));}
.tsx-stair-item[data-level="1"] .tsx-stair-rise::before{background:linear-gradient(90deg,var(--tsx-amber),rgba(228,169,60,0.12));}
.tsx-stair-rise::after{content:'';position:absolute;left:0;top:var(--tsx-riser);width:2px;height:2.75rem;background:linear-gradient(180deg,rgba(30,136,229,0.45),rgba(30,136,229,0.08));}
.tsx-stair-item[data-level="1"] .tsx-stair-rise::after{display:none;}

.tsx-stair-card{padding:1.9rem 1.75rem 1.9rem 0;}
.tsx-stair-item[data-level="3"] .tsx-stair-card{background:linear-gradient(180deg,rgba(30,136,229,0.07),transparent 65%);padding-left:1.75rem;}
.tsx-stair-item[data-level="2"] .tsx-stair-card{background:linear-gradient(180deg,rgba(30,136,229,0.04),transparent 65%);padding-left:1.75rem;}
.tsx-stair-item[data-level="1"] .tsx-stair-card{background:linear-gradient(180deg,rgba(228,169,60,0.045),transparent 65%);padding-left:1.75rem;}
.tsx-stair-level{display:flex;align-items:center;gap:10px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--tsx-accent);margin:0 0 1rem;}
.tsx-stair-item[data-level="1"] .tsx-stair-level{color:var(--tsx-amber);}
.tsx-stair-bars{display:inline-flex;align-items:flex-end;gap:2px;height:14px;}
.tsx-stair-bars i{display:block;width:4px;background:currentColor;opacity:0.22;}
.tsx-stair-bars i:nth-child(1){height:6px;}
.tsx-stair-bars i:nth-child(2){height:10px;}
.tsx-stair-bars i:nth-child(3){height:14px;}
.tsx-stair-item[data-level="1"] .tsx-stair-bars i:nth-child(1),
.tsx-stair-item[data-level="2"] .tsx-stair-bars i:nth-child(-n+2),
.tsx-stair-item[data-level="3"] .tsx-stair-bars i{opacity:1;}
.tsx-stair-card h3{font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:-0.015em;margin:0 0 0.7rem;line-height:1.3;}
.tsx-stair-text{font-size:0.86rem;line-height:1.78;color:var(--tsx-dim);margin:0 0 1.3rem;}
.tsx-stair-scope{list-style:none;margin:0;padding:1.2rem 0 0;border-top:1px solid var(--tsx-rule);display:flex;flex-direction:column;gap:0.6rem;}
.tsx-stair-scope li{display:flex;align-items:flex-start;gap:9px;font-size:0.8rem;line-height:1.6;color:var(--tsx-txt);}
.tsx-stair-scope svg{color:var(--tsx-accent);flex-shrink:0;margin-top:4px;}
.tsx-stair-scope .tsx-stair-gap{color:rgba(228,169,60,0.9);}
.tsx-stair-scope .tsx-stair-gap svg{color:var(--tsx-amber);}

/* Matrix der sechs Kriterien */
.tsx-matrix-wrap{border-top:1px solid var(--tsx-rule);padding-top:2.75rem;}
.tsx-matrix{width:100%;border-collapse:collapse;}
.tsx-matrix th,.tsx-matrix td{padding:0.95rem 1.1rem;font-size:0.84rem;line-height:1.55;text-align:left;vertical-align:top;font-weight:400;}
.tsx-matrix thead th{padding-bottom:0.85rem;border-bottom:1px solid var(--tsx-accent-line);}
.tsx-matrix thead th:first-child{font-size:0.7rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--tsx-faint);}
.tsx-matrix-lv{display:inline-block;font-size:0.68rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--tsx-accent);}
.tsx-matrix-lv[data-level="1"]{color:var(--tsx-amber);}
.tsx-matrix tbody tr{border-bottom:1px solid var(--tsx-rule);}
.tsx-matrix tbody tr:last-child{border-bottom:none;}
.tsx-matrix tbody th{width:22%;font-size:0.72rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--tsx-faint);}
.tsx-matrix tbody td{width:26%;color:var(--tsx-txt);}
.tsx-matrix tbody td[data-level="1"]{background:rgba(228,169,60,0.04);}
.tsx-matrix tbody td[data-level="3"]{background:rgba(30,136,229,0.05);}

/* ── Labels: versetztes Kachelband ─────────────────────── */
.tsx-labels{list-style:none;margin:0 0 4.5rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 1.75rem;}
.tsx-label{position:relative;padding:1.4rem 0 1.4rem 1.5rem;border-left:2px solid var(--tsx-accent-line);min-width:0;transition:border-color 0.25s;}
.tsx-label:hover{border-left-color:var(--tsx-accent);}
.tsx-label:nth-child(3n+2){margin-top:2.25rem;}
.tsx-label:nth-child(3n){margin-top:4.5rem;}
.tsx-label-sub{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.66rem;font-weight:700;letter-spacing:0.08em;color:rgba(30,136,229,0.72);margin-bottom:0.55rem;}
.tsx-label h3{font-size:1rem;font-weight:800;color:#fff;margin:0 0 0.55rem;letter-spacing:-0.01em;}
.tsx-label p{font-size:0.83rem;line-height:1.75;color:var(--tsx-dim);margin:0;}

/* Grafik 3: die fuenf ENX-Freigabestufen als Skala */
.tsx-release{margin:0;padding-top:2.75rem;border-top:1px solid var(--tsx-rule);display:grid;grid-template-columns:auto minmax(0,1fr);gap:2.5rem;align-items:center;}
.tsx-release-scale{display:flex;align-items:flex-end;gap:10px;height:104px;}
.tsx-release-step{display:flex;flex-direction:column;align-items:center;gap:8px;}
.tsx-release-step i{display:block;width:26px;background:linear-gradient(180deg,var(--tsx-accent),rgba(30,136,229,0.28));transform-origin:bottom;transform:scaleY(1);opacity:1;transition:transform 0.5s cubic-bezier(0.22,0.9,0.3,1),opacity 0.5s ease;}
.tsx-release-step b{font-size:0.72rem;font-weight:800;letter-spacing:0.08em;color:var(--tsx-faint);}
.tsx-release-step[data-s="1"] i{height:22px;}
.tsx-release-step[data-s="2"] i{height:38px;}
.tsx-release-step[data-s="3"] i{height:54px;}
.tsx-release-step[data-s="4"] i{height:70px;}
.tsx-release-step[data-s="5"] i{height:86px;}
.tsx-release-step[data-s="5"] b{color:var(--tsx-accent);}
.tsx-release figcaption{font-size:0.86rem;line-height:1.8;color:var(--tsx-txt);max-width:70ch;}

/* ── VDA-ISA Register ──────────────────────────────────── */
.tsx-version{display:inline-block;margin:1.2rem 0 0;padding:7px 14px;background:var(--tsx-accent-soft);border-left:2px solid var(--tsx-accent);font-size:0.79rem;line-height:1.65;color:rgba(255,255,255,0.68);max-width:74ch;}
.tsx-catalog{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;}
.tsx-reg{position:relative;padding:2.5rem 1.6rem 1.6rem;background:rgba(255,255,255,0.018);border-top:1px solid var(--tsx-accent-line);transition:background 0.22s;}
.tsx-reg:hover{background:rgba(30,136,229,0.05);}
.tsx-reg-tab{position:absolute;top:0;left:0;transform:translateY(-50%);display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.68rem;font-weight:700;letter-spacing:0.05em;color:var(--tsx-accent);background:var(--tsx-mid);border:1px solid var(--tsx-accent-line);padding:4px 11px;}
/* Die beiden eigenstaendigen Pruefmodule tragen einen gestrichelten
   Reiter - kein Bernstein, der steht auf dieser Seite ausschliesslich
   fuer "AL 1: keine externe Pruefung, kein teilbares Label". */
.tsx-reg--module .tsx-reg-tab{border-style:dashed;}
.tsx-reg h3{font-size:0.97rem;font-weight:700;color:#fff;margin:0 0 0.5rem;}
.tsx-reg p{font-size:0.83rem;line-height:1.72;color:var(--tsx-dim);margin:0 0 1rem;}
.tsx-reg-tag{display:inline-flex;align-items:center;gap:6px;font-size:0.7rem;font-weight:600;color:rgba(30,136,229,0.9);}

/* ── Risikoband ────────────────────────────────────────── */
.tsx-risk{background:var(--tsx-high);border-top:1px solid rgba(214,92,88,0.22);border-bottom:1px solid rgba(214,92,88,0.22);padding:64px 0;}
.tsx-risk-title{display:flex;align-items:center;gap:12px;font-size:1.2rem;font-weight:800;color:#fff;margin:0 0 2.25rem;letter-spacing:-0.01em;}
.tsx-risk-title svg{color:rgba(224,120,116,0.9);flex-shrink:0;}
.tsx-risk-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:tsxrisk;}
.tsx-risk-list li{position:relative;padding:0 1.5rem;border-left:1px solid rgba(214,92,88,0.18);font-size:0.83rem;line-height:1.75;color:var(--tsx-txt);counter-increment:tsxrisk;}
.tsx-risk-list li:first-child{border-left:none;padding-left:0;}
.tsx-risk-list li::before{content:counter(tsxrisk,decimal-leading-zero);display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.68rem;font-weight:700;letter-spacing:0.12em;color:rgba(224,120,116,0.75);margin-bottom:0.6rem;}

/* ── Lieferkette ───────────────────────────────────────── */
.tsx-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--tsx-rule);border:1px solid var(--tsx-rule);}
.tsx-chain-item{display:flex;align-items:center;gap:13px;padding:1.15rem 1.4rem;background:var(--tsx-deep);font-size:0.85rem;color:var(--tsx-txt);transition:background 0.2s,color 0.2s;}
.tsx-chain-item:hover{background:rgba(30,136,229,0.07);color:#fff;}
.tsx-chain-item svg{color:var(--tsx-accent);flex-shrink:0;}

/* ── Ablauf als waagerechte Strecke ────────────────────── */
.tsx-track{list-style:none;margin:0 0 4.5rem;padding:2.25rem 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem;position:relative;}
.tsx-track::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--tsx-rule);}
.tsx-track::after{content:'';position:absolute;top:0;left:0;height:1px;width:100%;background:linear-gradient(90deg,var(--tsx-accent),rgba(30,136,229,0.3));transform-origin:left;transform:scaleX(1);transition:transform 1.5s cubic-bezier(0.25,0.9,0.3,1) 0.1s;}
.tsx-stop{position:relative;min-width:0;}
.tsx-stop::before{content:'';position:absolute;top:-2.25rem;left:0;width:9px;height:9px;transform:translateY(-4px);background:var(--tsx-accent);}
.tsx-stop-num{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.68rem;font-weight:700;letter-spacing:0.14em;color:rgba(30,136,229,0.7);margin-bottom:0.65rem;}
.tsx-stop h3{font-size:0.92rem;font-weight:700;color:#fff;margin:0 0 0.45rem;line-height:1.35;}
.tsx-stop p{font-size:0.81rem;line-height:1.7;color:var(--tsx-dim);margin:0;}

.tsx-outcome{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2.5rem;align-items:start;}
.tsx-report{background:#020a14;border:1px solid var(--tsx-accent-line);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.tsx-report-hdr{background:rgba(30,136,229,0.08);border-bottom:1px solid var(--tsx-accent-line);padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.tsx-report-hdr span{font-size:0.7rem;color:var(--tsx-dim);letter-spacing:0.04em;}
.tsx-report-flag{font-size:0.64rem !important;font-weight:700;color:rgba(255,255,255,0.55) !important;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);padding:2px 9px;flex-shrink:0;}
.tsx-report-body{padding:1.3rem 1.5rem;display:flex;flex-direction:column;gap:11px;}
.tsx-report-row{display:flex;align-items:center;gap:11px;}
.tsx-sev{width:8px;height:8px;flex-shrink:0;}
.tsx-sev--cr{background:#E24B4A;}
.tsx-sev--hi{background:#EF9F27;}
.tsx-sev--me{background:#1E88E5;}
.tsx-sev--lo{background:#639922;}
.tsx-report-txt{color:var(--tsx-dim);font-size:0.75rem;flex:1;min-width:0;}
.tsx-report-sev{color:rgba(255,255,255,0.35);font-size:0.68rem;text-align:right;flex-shrink:0;}
.tsx-report-ftr{border-top:1px solid rgba(255,255,255,0.06);padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
.tsx-report-badge{font-size:0.65rem;font-weight:700;color:rgba(30,136,229,0.85);}
.tsx-report-mark{font-size:0.62rem;color:rgba(255,255,255,0.28);}
.tsx-report-note{font-family:inherit;font-size:0.68rem;color:rgba(255,255,255,0.3);margin:0.7rem 0 0;padding:0 16px 12px;}

.tsx-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--tsx-rule);border:1px solid var(--tsx-rule);}
.tsx-stats li{background:var(--tsx-mid);padding:1.5rem 1.25rem;text-align:center;}
.tsx-stat-num{display:block;font-size:1.75rem;font-weight:800;color:#fff;letter-spacing:-0.03em;line-height:1.1;}
.tsx-stat-label{display:block;font-size:0.72rem;color:var(--tsx-faint);margin-top:6px;line-height:1.45;}

/* ── Leistungen ────────────────────────────────────────── */
.tsx-services{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem;align-items:start;}
.tsx-service{position:relative;padding:1.75rem 1.5rem;background:rgba(255,255,255,0.02);border-top:2px solid var(--tsx-accent-line);transition:background 0.22s,border-color 0.22s;}
.tsx-service:nth-child(1){border-top-color:rgba(30,136,229,0.3);}
.tsx-service:nth-child(2){border-top-color:rgba(30,136,229,0.5);margin-top:-1.25rem;}
.tsx-service:nth-child(3){border-top-color:rgba(30,136,229,0.75);margin-top:-2.5rem;}
.tsx-service:hover{background:rgba(30,136,229,0.06);}
.tsx-service-num{position:absolute;top:1.1rem;right:1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.9rem;font-weight:800;color:rgba(30,136,229,0.16);line-height:1;}
.tsx-service h3{font-size:1rem;font-weight:700;color:#fff;margin:0 0 0.6rem;padding-right:3rem;line-height:1.35;}
.tsx-service p{font-size:0.84rem;line-height:1.75;color:var(--tsx-dim);margin:0 0 1.1rem;}
.tsx-service-link{display:inline-flex;align-items:center;gap:6px;font-size:0.76rem;font-weight:700;color:var(--tsx-accent);text-decoration:none;}
.tsx-service-link:hover{color:#64b5f6;}

/* ── FAQ ───────────────────────────────────────────────── */
.tsx-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;}
.tsx-faq .accordion-item{background:transparent;border:none;border-bottom:1px solid var(--tsx-rule);border-radius:0;overflow:hidden;}
.tsx-faq .accordion-button{background:transparent;border:none;box-shadow:none;padding:1.15rem 0;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;border-left:2px solid transparent;transition:border-color 0.2s,padding-left 0.2s;}
.tsx-faq .accordion-button:not(.collapsed){border-left-color:var(--tsx-accent);padding-left:0.9rem;}
.tsx-faq .accordion-button h3{font-size:0.93rem;font-weight:600;color:rgba(255,255,255,0.88);margin:0;line-height:1.45;}
.tsx-faq .accordion-button:not(.collapsed) h3{color:#fff;}
.tsx-faq .accordion-body{padding:0 0 1.35rem 0.9rem;font-size:0.85rem;line-height:1.8;color:var(--tsx-dim);border-left:2px solid var(--tsx-accent-line);}
.tsx-faq .accordion-button::after{filter:invert(1) brightness(0.55);flex-shrink:0;}
.tsx-faq .accordion-button:not(.collapsed)::after{filter:invert(0.4) sepia(1) saturate(3) hue-rotate(180deg) brightness(1.2);}

/* ── Abschluss ─────────────────────────────────────────── */
.tsx-cta{background:linear-gradient(135deg,rgba(30,136,229,0.11) 0%,rgba(30,136,229,0.03) 100%);border-top:1px solid var(--tsx-accent-line);border-bottom:1px solid var(--tsx-accent-line);padding:72px 0;text-align:center;}
.tsx-cta-tick{display:inline-block;color:var(--tsx-accent);line-height:0;margin-bottom:1.25rem;}
.tsx-cta-tick svg rect{fill:currentColor;}
.tsx-cta-tick svg rect:nth-child(1){opacity:0.35;}
.tsx-cta-tick svg rect:nth-child(2){opacity:0.62;}
.tsx-cta h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;color:#fff;letter-spacing:-0.02em;margin:0 0 0.85rem;}
.tsx-cta p{color:var(--tsx-dim);font-size:0.95rem;max-width:58ch;margin:0 auto 2.25rem;line-height:1.8;}

/* ============================================================
   Einblenden beim Hereinscrollen.
   Ohne JavaScript wird NICHTS versteckt: die Verstecken-Regeln
   haengen alle an .tsx-js, das erst das Skript setzt. Versteckt
   wird ausschliesslich ueber opacity bzw. transform, nie ueber
   display. Faellt der IntersectionObserver aus, setzt das Skript
   sofort .is-in auf alles.
   ============================================================ */
.tsx-js .tsx-reveal{opacity:0;transform:translateY(16px);transition:opacity 0.6s ease,transform 0.6s cubic-bezier(0.22,0.9,0.3,1);}
.tsx-js .tsx-reveal.is-in{opacity:1;transform:none;}

.tsx-js .tsx-hero-fig .tsx-stairsvg-guide{stroke-dashoffset:900;}
.tsx-js .tsx-hero-fig.is-in .tsx-stairsvg-guide{stroke-dashoffset:0;}
.tsx-js .tsx-hero-fig .tsx-stairsvg-step{opacity:0;transform:translateY(18px);}
.tsx-js .tsx-hero-fig.is-in .tsx-stairsvg-step{opacity:1;transform:none;}
.tsx-js .tsx-hero-fig.is-in .tsx-stairsvg-step[data-step="1"]{transition-delay:0.15s;}
.tsx-js .tsx-hero-fig.is-in .tsx-stairsvg-step[data-step="2"]{transition-delay:0.35s;}
.tsx-js .tsx-hero-fig.is-in .tsx-stairsvg-step[data-step="3"]{transition-delay:0.55s;}

/* Die Treppe steigt von unten nach oben auf */
.tsx-js .tsx-stair-item[data-level="1"]{transition-delay:0s;}
.tsx-js .tsx-stair-item[data-level="2"]{transition-delay:0.13s;}
.tsx-js .tsx-stair-item[data-level="3"]{transition-delay:0.26s;}

/* Die Freigabeskala waechst von A nach E */
.tsx-js .tsx-release .tsx-release-step i{transform:scaleY(0.06);opacity:0.35;}
.tsx-js .tsx-release.is-in .tsx-release-step i{transform:scaleY(1);opacity:1;}
.tsx-js .tsx-release.is-in .tsx-release-step[data-s="1"] i{transition-delay:0.05s;}
.tsx-js .tsx-release.is-in .tsx-release-step[data-s="2"] i{transition-delay:0.15s;}
.tsx-js .tsx-release.is-in .tsx-release-step[data-s="3"] i{transition-delay:0.25s;}
.tsx-js .tsx-release.is-in .tsx-release-step[data-s="4"] i{transition-delay:0.35s;}
.tsx-js .tsx-release.is-in .tsx-release-step[data-s="5"] i{transition-delay:0.45s;}

/* Die Ablaufstrecke zeichnet sich */
.tsx-js .tsx-track::after{transform:scaleX(0);}
.tsx-js .tsx-track.is-in::after{transform:scaleX(1);}

/* Gestaffelt innerhalb einer Reihe */
.tsx-js .tsx-demand:nth-child(2),.tsx-js .tsx-mark:nth-child(2),.tsx-js .tsx-risk-list li:nth-child(2){transition-delay:0.08s;}
.tsx-js .tsx-demand:nth-child(3),.tsx-js .tsx-mark:nth-child(3),.tsx-js .tsx-risk-list li:nth-child(3){transition-delay:0.16s;}
.tsx-js .tsx-demand:nth-child(4),.tsx-js .tsx-mark:nth-child(4),.tsx-js .tsx-risk-list li:nth-child(4){transition-delay:0.24s;}

@media (prefers-reduced-motion: reduce){
  .tsx-js .tsx-reveal,
  .tsx-js .tsx-reveal.is-in,
  .tsx-stairsvg-step,
  .tsx-stairsvg-guide,
  .tsx-release-step i,
  .tsx-track::after{transition:none !important;transform:none !important;opacity:1 !important;}
  .tsx-js .tsx-release .tsx-release-step i{transform:scaleY(1) !important;}
  .tsx-js .tsx-track::after{transform:scaleX(1) !important;}
  .tsx-js .tsx-hero-fig .tsx-stairsvg-guide{stroke-dashoffset:0 !important;}
}

/* ============================================================
   Schmalere Ansichten
   ============================================================ */
@media (max-width:1199.98px){
  .tsx-hero-grid{gap:3rem;}
  .tsx-track{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:2rem;}
  .tsx-outcome{grid-template-columns:1fr;}
  .tsx-stats{grid-template-columns:repeat(4,minmax(0,1fr));}
}

@media (max-width:991.98px){
  .tsx-band{padding:72px 0;}
  .tsx-hero{padding:80px 0 72px;}
  .tsx-hero-grid{grid-template-columns:1fr;gap:3rem;}
  .tsx-hero-fig{max-width:520px;}
  .tsx-demands-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tsx-demand:nth-child(3){border-left:none;padding-left:0;}
  .tsx-marks{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem;}
  .tsx-mark:nth-child(3){border-left:none;padding-left:0;}
  .tsx-stair{grid-template-columns:1fr;gap:0;}
  .tsx-stair-item[data-level="1"],
  .tsx-stair-item[data-level="2"],
  .tsx-stair-item[data-level="3"]{--tsx-riser:0rem;padding-top:0;margin-top:1.75rem;}
  .tsx-stair-item:first-child{margin-top:0;}
  .tsx-stair-rise::after{display:none;}
  .tsx-labels{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tsx-label:nth-child(3n+2),.tsx-label:nth-child(3n){margin-top:0;}
  .tsx-label:nth-child(2n){margin-top:2rem;}
  .tsx-release{grid-template-columns:1fr;gap:1.75rem;}
  .tsx-catalog{grid-template-columns:1fr;gap:2.25rem;}
  .tsx-risk-list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem;}
  .tsx-risk-list li:nth-child(3){border-left:none;padding-left:0;}
  .tsx-services{grid-template-columns:1fr;gap:1.25rem;}
  .tsx-service:nth-child(2),.tsx-service:nth-child(3){margin-top:0;}
  .tsx-faq{grid-template-columns:1fr;gap:0;}
}

@media (max-width:767.98px){
  .tsx-band{padding:60px 0;}
  .tsx-head{grid-template-columns:1fr;gap:0.9rem;margin-bottom:2.5rem;}
  .tsx-prose{margin-bottom:2.5rem;}
  .tsx-cta-group{gap:1.1rem;}
  .tsx-chain{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tsx-track{grid-template-columns:1fr;padding-top:0;row-gap:1.75rem;}
  .tsx-track::before,.tsx-track::after{display:none;}
  .tsx-stop{padding-left:1.25rem;border-left:1px solid var(--tsx-accent-line);}
  .tsx-stop::before{top:0.35rem;left:-5px;transform:none;}
  .tsx-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tsx-release-scale{height:88px;}
  .tsx-release-step i{width:20px;}

  /* Die Gegenueberstellung wird auf schmalen Schirmen zur Liste:
     Merkmal als Ueberschrift, darunter die beiden Werte. */
  .tsx-duel thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .tsx-duel,.tsx-duel tbody,.tsx-duel th,.tsx-duel td{display:block;width:auto;}
  /* Das Merkmal steht im Quelltext zwischen den beiden Werten, damit die
     Tabelle am Schirm links/rechts gelesen werden kann. Auf schmalen
     Schirmen gehoert es nach oben - deshalb hier per order vorziehen. */
  .tsx-duel tbody tr{display:flex;flex-direction:column;padding:1.1rem 0;}
  .tsx-duel-mid{order:-1;}
  .tsx-duel-mid{text-align:left;border:none !important;padding:0 0 0.6rem !important;}
  .tsx-duel-a,.tsx-duel-b{text-align:left;padding:0.35rem 0 0.35rem 1rem;border-left:2px solid var(--tsx-accent-line);background:none;}
  .tsx-duel-a{border-left-color:var(--tsx-accent);}
  .tsx-duel-a::before{content:'TISAX\00AE  \2002';font-size:0.68rem;font-weight:800;letter-spacing:0.1em;color:var(--tsx-accent);}
  .tsx-duel-b::before{content:'ISO 27001 \2002';font-size:0.68rem;font-weight:800;letter-spacing:0.1em;color:var(--tsx-faint);}

  /* Die Matrix wird zu sechs Bloecken, je Kriterium die drei Level. */
  .tsx-matrix thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .tsx-matrix,.tsx-matrix tbody,.tsx-matrix tr,.tsx-matrix th,.tsx-matrix td{display:block;width:auto;}
  .tsx-matrix tbody tr{padding:1.2rem 0;}
  /* Die Prozentbreiten oben sind spezifischer als die Zeile darueber und
     wuerden die Spalten sonst auch gestapelt schmal halten. */
  .tsx-matrix tbody th{width:auto;padding:0 0 0.7rem;}
  .tsx-matrix tbody td{width:auto;padding:0.4rem 0 0.4rem 1rem;border-left:2px solid var(--tsx-accent-line);}
  .tsx-matrix tbody td[data-level="1"]{border-left-color:rgba(228,169,60,0.45);background:none;}
  .tsx-matrix tbody td[data-level="3"]{background:none;}
  .tsx-matrix tbody td::before{font-size:0.66rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--tsx-faint);}
  .tsx-matrix tbody td[data-level="1"]::before{content:'AL 1 \2002';color:var(--tsx-amber);}
  .tsx-matrix tbody td[data-level="2"]::before{content:'AL 2 \2002';color:rgba(30,136,229,0.85);}
  .tsx-matrix tbody td[data-level="3"]::before{content:'AL 3 \2002';color:var(--tsx-accent);}
}

@media (max-width:575.98px){
  .tsx-demands-list{grid-template-columns:1fr;}
  .tsx-demand{border-left:none;padding-left:0;padding-right:0;}
  .tsx-marks{grid-template-columns:1fr;row-gap:1.75rem;}
  .tsx-mark{border-left:none;padding-left:0;padding-right:0;}
  .tsx-labels{grid-template-columns:1fr;}
  .tsx-label:nth-child(2n){margin-top:0;}
  .tsx-risk-list{grid-template-columns:1fr;row-gap:1.75rem;}
  .tsx-risk-list li{border-left:none;padding-left:0;padding-right:0;}
  .tsx-chain{grid-template-columns:1fr;}
  .tsx-stats{grid-template-columns:1fr;}
  .tsx-release-scale{gap:7px;}
  .tsx-release-step i{width:17px;}
  .tsx-service h3{padding-right:2.5rem;}
}
