/* ==========================================================================
   ISO 27001 - Grundform "Zyklus"
   Die Seite dreht sich um den Zertifizierungszyklus: Ring im Hero, Ring als
   Kicker-Glyphe, Ring als Abschlussmotiv. Kein Abschnitt wiederholt die Form
   des vorherigen: Ring, Zahlenband, Skala+Kontrollblatt, Maßstabsbalken,
   Zitat mit zweispaltigem Fließtext, Schlagwortwolke, waagerechte Bahn,
   Inhaltsverzeichnis, Modulkarten, einspaltige FAQ, Abschlussring.
   Zweitakzent Bernstein bedeutet auf dieser Seite genau eins:
   die abgelaufene 2013er-Fassung.
   ========================================================================== */

.isoc{
  --iso-acc:#1E88E5;
  --iso-acc-dim:rgba(30,136,229,0.72);
  --iso-acc-line:rgba(30,136,229,0.18);
  --iso-acc-wash:rgba(30,136,229,0.07);
  --iso-old:#E0A33A;
  --iso-old-line:rgba(224,163,58,0.28);
  --iso-deep:#02101f;
  --iso-base:#041326;
  --iso-lift:#04182F;
  --iso-ink:rgba(255,255,255,0.92);
  --iso-ink-2:rgba(255,255,255,0.66);
  --iso-ink-3:rgba(255,255,255,0.46);
}

/* ---------- gemeinsame Typografie ---------- */
.isoc .iso-kicker{
  display:inline-flex;align-items:center;gap:9px;
  font-size:0.69rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--iso-acc);margin:0 0 0.9rem;
}
.isoc .iso-kicker::before{
  content:'';width:11px;height:11px;border-radius:50%;
  border:2px solid var(--iso-acc);border-right-color:transparent;
  flex-shrink:0;
}
.isoc .iso-h2{
  font-size:clamp(1.55rem,2.9vw,2.25rem);font-weight:800;color:#fff;
  letter-spacing:-0.022em;line-height:1.18;margin:0 0 1rem;
}
.isoc .iso-lead{
  font-size:1rem;color:var(--iso-ink-2);line-height:1.75;max-width:64ch;margin:0;
}

/* ---------- Reveal: Text steht immer im HTML, versteckt wird nur mit opacity,
     und die Versteck-Regel greift ausschließlich, wenn das Skript lief ---- */
.isoc .iso-reveal{opacity:1;}
.isoc.iso-js .iso-reveal{
  opacity:0;transform:translateY(16px);
  transition:opacity .62s ease,transform .62s cubic-bezier(.2,.7,.2,1);
}
.isoc.iso-js .iso-reveal.is-in{opacity:1;transform:none;}

/* ==========================================================================
   1 - Hero
   ========================================================================== */
.isoc .iso-hero{
  background:var(--iso-deep);padding:118px 0 104px;position:relative;overflow:hidden;
}
.isoc .iso-hero::before{
  content:'';position:absolute;top:-38%;right:-14%;width:min(880px,74vw);aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(30,136,229,0.10) 0%,transparent 66%);
  pointer-events:none;
}
.isoc .iso-hero-grid{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);
  gap:4rem;align-items:center;position:relative;
}
@media(max-width:1100px){
  .isoc .iso-hero-grid{grid-template-columns:1fr;gap:3.25rem;}
}
.isoc .iso-badge{
  display:inline-flex;align-items:center;gap:8px;background:rgba(30,136,229,0.12);
  border:1px solid rgba(30,136,229,0.3);border-radius:999px;padding:6px 15px;
  font-size:0.71rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--iso-acc);margin-bottom:1.6rem;
}
.isoc .iso-h1{
  font-size:clamp(2.1rem,4.3vw,3.5rem);font-weight:800;letter-spacing:-0.032em;
  line-height:1.07;color:#fff;margin-bottom:1.5rem;
}
.isoc .iso-h1 .accent{color:var(--iso-acc);display:block;}
.isoc .iso-hero-text{
  font-size:1.03rem;line-height:1.8;color:var(--iso-ink-2);max-width:60ch;margin-bottom:2.4rem;
}
.isoc .iso-cta-group{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-bottom:2.6rem;}
.isoc .iso-btn-primary{
  display:inline-flex;align-items:center;gap:9px;background:var(--iso-acc);color:#fff !important;
  font-weight:700;font-size:0.9rem;padding:15px 28px;border-radius:999px;
  text-decoration:none !important;
  transition:background .2s,transform .16s,box-shadow .2s;
  box-shadow:0 6px 22px rgba(30,136,229,0.32);
}
.isoc .iso-btn-primary:hover{background:#0A3570;transform:translateY(-2px);box-shadow:0 10px 30px rgba(30,136,229,0.42);}
.isoc .iso-btn-secondary{
  display:inline-flex;align-items:center;gap:8px;color:var(--iso-ink-2) !important;
  font-size:0.89rem;font-weight:600;text-decoration:none !important;
  padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.22);transition:color .2s,border-color .2s;
}
.isoc .iso-btn-secondary:hover{color:#fff !important;border-color:var(--iso-acc);}
.isoc .iso-trust-row{
  display:flex;flex-wrap:wrap;gap:0.55rem 1.9rem;list-style:none;padding:0;margin:0;
}
.isoc .iso-trust-item{
  position:relative;padding-left:1.15rem;
  font-size:0.79rem;font-weight:600;color:var(--iso-ink-3);
}
.isoc .iso-trust-item::before{
  content:'';position:absolute;left:0;top:0.42em;width:7px;height:7px;border-radius:50%;
  border:2px solid var(--iso-acc);
}

/* ---------- Grafik 1: der Zertifizierungszyklus ---------- */
.isoc .iso-ring-wrap{margin:0;}
.isoc .iso-ring-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,1.2fr) minmax(0,1fr);
  grid-template-rows:auto auto auto;
  align-items:center;justify-items:center;gap:1.1rem 1.4rem;
}
.isoc .iso-ring-fig{grid-column:2;grid-row:2;position:relative;width:100%;max-width:300px;aspect-ratio:1;}
.isoc .iso-ring-svg{width:100%;height:100%;display:block;overflow:visible;}
.isoc .iso-ring-track{fill:none;stroke:rgba(30,136,229,0.24);stroke-width:2;}
.isoc .iso-ring-sweep{
  fill:none;stroke:var(--iso-acc);stroke-width:3;stroke-linecap:round;
  stroke-dasharray:515.22;stroke-dashoffset:0;
  transform:rotate(-90deg);transform-origin:120px 120px;
}
.isoc .iso-ring-dot{fill:var(--iso-lift);stroke:var(--iso-acc);stroke-width:2.5;}
.isoc .iso-ring-core{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;pointer-events:none;
}
.isoc .iso-ring-core-num{
  font-size:3.3rem;font-weight:800;color:#fff;letter-spacing:-0.04em;line-height:1;
}
.isoc .iso-ring-core-unit{
  font-size:0.68rem;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;
  color:var(--iso-acc-dim);margin-top:6px;
}
.isoc .iso-ring-label{display:flex;flex-direction:column;gap:3px;max-width:190px;}
.isoc .iso-ring-step{
  align-self:flex-start;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.63rem;font-weight:700;
  letter-spacing:0.08em;padding:2px 7px;border-radius:4px;margin-bottom:3px;
  background:rgba(30,136,229,0.10);border:1px solid rgba(30,136,229,0.28);
  color:var(--iso-acc-dim);
}
.isoc .iso-ring-name{font-size:0.86rem;font-weight:700;color:var(--iso-ink);line-height:1.3;}
.isoc .iso-ring-sub{font-size:0.75rem;color:var(--iso-ink-3);}
.isoc .lbl-1{grid-column:2;grid-row:1;align-items:center;text-align:center;}
.isoc .lbl-1 .iso-ring-step{align-self:center;}
.isoc .lbl-2{grid-column:3;grid-row:2;justify-self:start;text-align:left;}
.isoc .lbl-3{grid-column:2;grid-row:3;align-items:center;text-align:center;}
.isoc .lbl-3 .iso-ring-step{align-self:center;}
.isoc .lbl-4{grid-column:1;grid-row:2;justify-self:end;text-align:right;align-items:flex-end;}
.isoc .lbl-4 .iso-ring-step{align-self:flex-end;}
.isoc .iso-ring-cap{
  margin:1.9rem auto 0;max-width:46ch;text-align:center;
  font-size:0.78rem;line-height:1.65;color:var(--iso-ink-3);
}
@media(max-width:640px){
  .isoc .iso-ring-grid{grid-template-columns:1fr;gap:0.9rem;}
  .isoc .iso-ring-fig{grid-column:1;grid-row:1;max-width:210px;margin-bottom:0.6rem;}
  .isoc .iso-ring-label{grid-column:1;justify-self:stretch;max-width:none;
    text-align:left;align-items:flex-start;
    padding-left:0.9rem;border-left:2px solid rgba(30,136,229,0.22);}
  .isoc .iso-ring-label .iso-ring-step{align-self:flex-start;}
  .isoc .lbl-1{grid-row:2;} .isoc .lbl-2{grid-row:3;}
  .isoc .lbl-3{grid-row:4;} .isoc .lbl-4{grid-row:5;}
  .isoc .iso-ring-cap{text-align:left;margin-left:0;}
}

/* Der Ring läuft nur, solange er zu sehen ist. Ohne Skript und bei reduzierter
   Bewegung steht der volle Ring, alle Stationen gleich hell. */
.isoc.iso-js .iso-ring-wrap.is-live .iso-ring-sweep{animation:iso-sweep 12s linear infinite;}
.isoc.iso-js .iso-ring-wrap.is-live .iso-ring-dot{animation:iso-dot-lit 12s linear infinite;}
.isoc.iso-js .iso-ring-wrap.is-live .iso-ring-step{animation:iso-step-lit 12s linear infinite;}
.isoc.iso-js .iso-ring-wrap.is-live [data-st="2"]{animation-delay:3s;}
.isoc.iso-js .iso-ring-wrap.is-live [data-st="3"]{animation-delay:6s;}
.isoc.iso-js .iso-ring-wrap.is-live [data-st="4"]{animation-delay:9s;}
.isoc.iso-js .iso-ring-wrap.is-live .lbl-2 .iso-ring-step{animation-delay:3s;}
.isoc.iso-js .iso-ring-wrap.is-live .lbl-3 .iso-ring-step{animation-delay:6s;}
.isoc.iso-js .iso-ring-wrap.is-live .lbl-4 .iso-ring-step{animation-delay:9s;}
@keyframes iso-sweep{from{stroke-dashoffset:515.22;}to{stroke-dashoffset:0;}}
@keyframes iso-dot-lit{
  0%,5%{fill:var(--iso-acc);stroke-width:4;}
  20%,100%{fill:var(--iso-lift);stroke-width:2.5;}
}
@keyframes iso-step-lit{
  0%,5%{background:var(--iso-acc);border-color:var(--iso-acc);color:#fff;}
  22%,100%{background:rgba(30,136,229,0.10);border-color:rgba(30,136,229,0.28);color:var(--iso-acc-dim);}
}

/* ==========================================================================
   2 - Leistungsband: vier flache Spalten, keine Kästen
   ========================================================================== */
.isoc .isv-band{background:var(--iso-base);padding:76px 0 88px;}
.isoc .isv-kicker{display:flex;}
.isoc .isv-list{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  list-style:none;padding:0;margin:2rem 0 0;
  border-top:1px solid var(--iso-acc-line);
}
.isoc .isv-item{padding:1.9rem 1.6rem 0 0;border-right:1px solid rgba(255,255,255,0.06);}
.isoc .isv-item:last-child{border-right:none;}
.isoc .isv-item + .isv-item{padding-left:1.6rem;}
.isoc .isv-num{
  display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:0.78rem;font-weight:700;color:var(--iso-acc-dim);letter-spacing:0.08em;margin-bottom:0.85rem;
}
.isoc .isv-title{font-size:1rem;font-weight:700;color:#fff;line-height:1.35;margin:0 0 0.6rem;}
.isoc .isv-text{font-size:0.85rem;line-height:1.72;color:var(--iso-ink-3);margin:0;}
.isoc .isv-foot{
  display:flex;align-items:flex-start;gap:12px;margin:2.6rem 0 0;padding-top:1.6rem;
  border-top:1px solid var(--iso-acc-line);
  font-size:0.9rem;line-height:1.7;color:var(--iso-ink-2);
}
.isoc .isv-foot svg{color:var(--iso-acc);flex-shrink:0;margin-top:3px;}
@media(max-width:940px){
  .isoc .isv-list{grid-template-columns:1fr 1fr;}
  .isoc .isv-item:nth-child(2n){border-right:none;}
  .isoc .isv-item:nth-child(n+3){border-top:1px solid rgba(255,255,255,0.06);}
}
@media(max-width:600px){
  .isoc .isv-list{grid-template-columns:1fr;}
  .isoc .isv-item{border-right:none;padding-right:0;}
  .isoc .isv-item + .isv-item{padding-left:0;border-top:1px solid rgba(255,255,255,0.06);}
}

/* ==========================================================================
   3 - Annex A: Kontrollskala und Kontrollblatt
   ========================================================================== */
.isoc .isa-sec{background:var(--iso-lift);padding:92px 0;}
.isoc .isa-head{max-width:66ch;}

/* ---------- Grafik 2: 93 Striche, 6 davon leuchten ---------- */
.isoc .isa-scale{
  margin:3.2rem 0 0;padding:1.6rem 1.7rem 1.35rem;
  background:rgba(2,16,31,0.55);border:1px solid var(--iso-acc-line);border-radius:14px;
}
.isoc .isa-scale-svg{width:100%;height:auto;display:block;overflow:visible;}
.isoc .isa-hot rect{
  fill:var(--iso-acc);
  filter:drop-shadow(0 0 5px rgba(30,136,229,0.7));
  transition:opacity .5s ease;
}
.isoc.iso-js .isa-scale:not(.is-in) .isa-hot rect{opacity:0.22;filter:none;}
.isoc .isa-hot rect:nth-child(1){transition-delay:.06s}
.isoc .isa-hot rect:nth-child(2){transition-delay:.14s}
.isoc .isa-hot rect:nth-child(3){transition-delay:.22s}
.isoc .isa-hot rect:nth-child(4){transition-delay:.30s}
.isoc .isa-hot rect:nth-child(5){transition-delay:.38s}
.isoc .isa-hot rect:nth-child(6){transition-delay:.46s}
.isoc .isa-scale-cap{
  display:flex;flex-wrap:wrap;gap:0.5rem 2.2rem;margin-top:1.25rem;
}
.isoc .isa-scale-leg{
  display:inline-flex;align-items:baseline;gap:8px;
  font-size:0.8rem;color:var(--iso-ink-3);
}
.isoc .isa-scale-leg b{font-size:1.25rem;font-weight:800;letter-spacing:-0.03em;}
.isoc .isa-scale-leg--all b{color:rgba(255,255,255,0.5);}
.isoc .isa-scale-leg--hot b{color:var(--iso-acc);}
.isoc .isa-scale-leg--hot{color:var(--iso-ink-2);}

.isoc .isa-sub{
  font-size:0.86rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--iso-acc);margin:3.4rem 0 1.4rem;
}

/* ---------- Kontrollblatt ---------- */
.isoc .isa-sheet{
  background:rgba(2,16,31,0.5);border:1px solid var(--iso-acc-line);border-radius:14px;
  padding:0.4rem 0.5rem;
}
.isoc .annex-table{width:100%;border-collapse:separate;border-spacing:0;}
.isoc .annex-table th{
  font-size:0.66rem;font-weight:700;letter-spacing:0.11em;text-transform:uppercase;
  color:var(--iso-acc-dim);padding:1rem 1.1rem 0.75rem;text-align:left;
  border-bottom:1px solid var(--iso-acc-line);
}
.isoc .annex-table td{
  padding:1.15rem 1.1rem;border-bottom:1px solid rgba(255,255,255,0.05);
  font-size:0.86rem;color:var(--iso-ink-2);vertical-align:top;line-height:1.65;
}
.isoc .annex-table tr:last-child td{border-bottom:none;}
.isoc .annex-table tbody tr{transition:background .2s;}
.isoc .annex-table tbody tr:hover td{background:rgba(30,136,229,0.05);}
.isoc .annex-ref{width:1%;white-space:nowrap;}
.isoc td.annex-ref{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.82rem;font-weight:700;
  color:var(--iso-acc);letter-spacing:0.02em;
}
.isoc .annex-req{font-weight:700;color:var(--iso-ink);min-width:9rem;}
.isoc .annex-mod{width:1%;white-space:nowrap;}
.isoc .annex-tag{
  display:inline-block;background:rgba(30,136,229,0.10);border:1px solid rgba(30,136,229,0.24);
  border-radius:999px;padding:3px 11px;font-size:0.68rem;font-weight:600;color:var(--iso-acc-dim);
}
@media(max-width:860px){
  .isoc .isa-sheet{padding:0;background:none;border:none;}
  .isoc .annex-table,.isoc .annex-table thead,.isoc .annex-table tbody,
  .isoc .annex-table tr,.isoc .annex-table th,.isoc .annex-table td{display:block;width:auto;}
  /* Die Kopfzeile wiederholt sich auf schmalen Viewports in jeder Zelle
     (data-label), sie wird deshalb nur optisch aus dem Weg geraeumt und
     bleibt im Dokument. display:block auf thead ist dabei Voraussetzung:
     position:absolute auf einer Tabellen-Kopfgruppe greift sonst nicht,
     und die th ragen rechts aus der Seite heraus. */
  .isoc .annex-table thead{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;
    overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
  }
  .isoc .annex-table thead tr{background:none;border:none;border-radius:0;padding:0;margin:0;}
  .isoc .annex-table th{padding:0;border:none;}
  .isoc .annex-table tr{
    background:rgba(2,16,31,0.5);border:1px solid var(--iso-acc-line);border-radius:12px;
    padding:1.1rem 1.15rem;margin-bottom:0.85rem;
  }
  .isoc .annex-table td{padding:0.5rem 0;border-bottom:none;white-space:normal;}
  .isoc .annex-table td::before{
    content:attr(data-label);display:block;
    font-size:0.6rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
    color:rgba(255,255,255,0.32);margin-bottom:4px;
  }
  .isoc td.annex-ref{font-size:1.05rem;}
}

/* ==========================================================================
   4 - 2013 auf 2022: zwei maßstäbliche Balken
   ========================================================================== */
.isoc .isw-sec{background:var(--iso-base);padding:92px 0;}
.isoc .isw-head{max-width:66ch;margin-bottom:3rem;}
.isoc .isw-rows{display:flex;flex-direction:column;gap:2.4rem;}
.isoc .isw-row{
  display:grid;grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);
  gap:2.4rem;align-items:start;
  padding:1.9rem 0 0;border-top:1px solid rgba(255,255,255,0.07);
}
.isoc .isw-row--old{border-top-color:var(--iso-old-line);}
.isoc .isw-row--new{border-top-color:rgba(30,136,229,0.3);}
@media(max-width:900px){.isoc .isw-row{grid-template-columns:1fr;gap:1.6rem;}}
.isoc .isw-tag{
  display:inline-block;font-size:0.68rem;font-weight:700;letter-spacing:0.11em;
  text-transform:uppercase;padding:4px 11px;border-radius:999px;margin-bottom:0.9rem;
}
.isoc .isw-row--old .isw-tag{background:rgba(224,163,58,0.12);border:1px solid var(--iso-old-line);color:var(--iso-old);}
.isoc .isw-row--new .isw-tag{background:rgba(30,136,229,0.12);border:1px solid rgba(30,136,229,0.3);color:var(--iso-acc);}
.isoc .isw-title{font-size:1.1rem;font-weight:700;color:#fff;line-height:1.35;margin:0 0 0.7rem;}
.isoc .isw-row--old .isw-title{color:rgba(255,255,255,0.7);}
.isoc .isw-text{font-size:0.88rem;line-height:1.75;color:var(--iso-ink-3);margin:0;}
.isoc .isw-figure{padding-top:0.3rem;}
.isoc .isw-bar{
  display:flex;gap:3px;height:38px;
  transform-origin:left center;
  transition:transform .95s cubic-bezier(.2,.7,.2,1);
}
.isoc.iso-js .isw-row:not(.is-in) .isw-bar{transform:scaleX(0);}
.isoc .isw-bar i{border-radius:3px;display:block;}
.isoc .isw-bar--old{width:100%;}
.isoc .isw-bar--old i{flex:1 1 0;background:linear-gradient(180deg,rgba(224,163,58,0.5),rgba(224,163,58,0.22));}
.isoc .isw-bar--new{width:81.6%;}
.isoc .isw-bar--new i{background:linear-gradient(180deg,rgba(30,136,229,0.95),rgba(30,136,229,0.42));}
.isoc .isw-bar--new i[data-w="37"]{flex:37 1 0;}
.isoc .isw-bar--new i[data-w="8"]{flex:8 1 0;}
.isoc .isw-bar--new i[data-w="14"]{flex:14 1 0;}
.isoc .isw-bar--new i[data-w="34"]{flex:34 1 0;}
.isoc .isw-legend{
  display:flex;flex-wrap:wrap;gap:0.4rem 1.5rem;list-style:none;padding:0;margin:0.9rem 0 0;
  font-size:0.78rem;color:var(--iso-ink-3);
}
.isoc .isw-legend b{color:var(--iso-acc);font-weight:800;margin-right:2px;}
.isoc .isw-scaleline{
  margin:0.85rem 0 0;font-size:0.73rem;letter-spacing:0.03em;color:rgba(255,255,255,0.35);
}
.isoc .isw-row--old .isw-scaleline{color:rgba(224,163,58,0.6);}
.isoc .isw-deadline{
  display:flex;align-items:flex-start;gap:14px;margin-top:2.8rem;
  padding:1.4rem 1.6rem;border-radius:12px;
  background:rgba(224,163,58,0.07);border:1px solid var(--iso-old-line);
  border-left:3px solid var(--iso-old);
}
.isoc .isw-deadline-mark{color:var(--iso-old);flex-shrink:0;margin-top:2px;line-height:0;}
.isoc .isw-deadline-text{margin:0;font-size:0.9rem;line-height:1.75;color:var(--iso-ink-2);}
.isoc .isw-deadline-text strong{color:#fff;}

/* ==========================================================================
   5 - Auditor-Perspektive
   ========================================================================== */
.isoc .isd-sec{background:var(--iso-deep);padding:92px 0;position:relative;overflow:hidden;}
.isoc .isd-head{max-width:66ch;margin-bottom:3rem;}
.isoc .isd-quote{
  margin:0;padding:0 0 0 clamp(1.25rem,3vw,2.6rem);
  border-left:3px solid var(--iso-acc);
}
.isoc .isd-quote-text{
  font-size:clamp(1.1rem,2vw,1.5rem);font-weight:500;font-style:italic;
  line-height:1.55;color:#fff;letter-spacing:-0.01em;margin:0 0 0.9rem;max-width:34ch;
}
.isoc .isd-quote-meta{font-size:0.78rem;color:var(--iso-ink-3);font-style:normal;}
.isoc .isd-body{
  margin-top:2.8rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.07);
}
.isoc .isd-body p{
  margin:0;font-size:0.92rem;line-height:1.85;color:var(--iso-ink-2);
}
@media(min-width:1000px){
  .isoc .isd-body p{columns:2;column-gap:3.4rem;}
}
.isoc .isd-points{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  list-style:none;padding:0;margin:3rem 0 0;
}
.isoc .isd-point{position:relative;padding:1.6rem 1.7rem 0 0;border-top:1px solid var(--iso-acc-line);}
.isoc .isd-point + .isd-point{padding-left:1.7rem;}
.isoc .isd-point-dot{
  position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;
  background:var(--iso-deep);border:2px solid var(--iso-acc);
}
.isoc .isd-point + .isd-point .isd-point-dot{left:1.7rem;}
.isoc .isd-point-title{font-size:0.9rem;font-weight:700;color:var(--iso-ink);margin:0 0 0.4rem;line-height:1.35;}
.isoc .isd-point-text{font-size:0.82rem;line-height:1.7;color:var(--iso-ink-3);margin:0;}
@media(max-width:860px){
  .isoc .isd-points{grid-template-columns:1fr;gap:0.4rem;}
  .isoc .isd-point{padding:1.4rem 0 0.4rem;}
  .isoc .isd-point + .isd-point{padding-left:0;}
  .isoc .isd-point + .isd-point .isd-point-dot{left:0;}
}

/* ==========================================================================
   6 - Für wen: Schlagwortwolke
   ========================================================================== */
.isoc .isf-sec{background:var(--iso-lift);padding:88px 0;}
.isoc .isf-head{max-width:70ch;margin-bottom:2.6rem;}
.isoc .isf-cloud{
  display:flex;flex-wrap:wrap;gap:0.8rem;list-style:none;padding:0;margin:0;
}
.isoc .isf-chip{
  padding:0.72rem 1.3rem;border-radius:999px;
  background:rgba(255,255,255,0.035);border:1px solid rgba(255,255,255,0.09);
  font-size:0.93rem;font-weight:600;color:var(--iso-ink-2);
  transition:border-color .2s,background .2s,color .2s;
}
.isoc .isf-chip:nth-child(3n+1){
  background:var(--iso-acc-wash);border-color:rgba(30,136,229,0.24);color:var(--iso-ink);
}
.isoc .isf-chip:hover{border-color:rgba(30,136,229,0.45);background:rgba(30,136,229,0.11);color:#fff;}
.isoc .isf-note{
  display:flex;align-items:flex-start;gap:12px;margin:2.6rem 0 0;padding-top:1.6rem;
  border-top:1px solid var(--iso-acc-line);
  font-size:0.92rem;line-height:1.7;color:var(--iso-ink-2);
}
.isoc .isf-note svg{color:var(--iso-acc);flex-shrink:0;margin-top:2px;}

/* ==========================================================================
   7 - Ablauf: waagerechte Bahn + Kennzahlenleiste
   ========================================================================== */
.isoc .isp-sec{background:var(--iso-base);padding:92px 0;}
.isoc .isp-head{max-width:66ch;}
.isoc .isp-track{
  position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  list-style:none;padding:0;margin:3.4rem 0 0;
}
.isoc .isp-track::before{
  content:'';position:absolute;top:7px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,rgba(30,136,229,0.6),rgba(30,136,229,0.12));
}
.isoc .isp-stop{position:relative;padding:2.4rem 1.5rem 0 0;}
.isoc .isp-stop::after{
  content:'';position:absolute;top:0;left:0;width:11px;height:11px;border-radius:50%;
  background:var(--iso-base);border:2px solid var(--iso-acc);
}
.isoc .isp-num{
  display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:0.72rem;font-weight:700;letter-spacing:0.1em;color:var(--iso-acc-dim);margin-bottom:0.6rem;
}
.isoc .isp-title{font-size:0.95rem;font-weight:700;color:#fff;line-height:1.35;margin:0 0 0.5rem;}
.isoc .isp-text{font-size:0.82rem;line-height:1.7;color:var(--iso-ink-3);margin:0;}
@media(max-width:1000px){
  .isoc .isp-track{grid-template-columns:1fr;padding-left:1.9rem;}
  .isoc .isp-track::before{top:6px;bottom:8px;left:5px;right:auto;width:1px;height:auto;
    background:linear-gradient(180deg,rgba(30,136,229,0.45),rgba(30,136,229,0.07));}
  .isoc .isp-stop{padding:0 0 1.9rem 0;}
  .isoc .isp-stop:last-child{padding-bottom:0;}
  .isoc .isp-stop::after{top:2px;left:-1.9rem;}
}
.isoc .isp-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin-top:4rem;border-top:1px solid var(--iso-acc-line);
}
.isoc .stat-mini{
  padding:1.7rem 1.3rem 0 0;border-right:1px solid rgba(255,255,255,0.06);
}
.isoc .stat-mini + .stat-mini{padding-left:1.3rem;}
.isoc .stat-mini:last-child{border-right:none;}
.isoc .stat-mini-num{
  font-size:clamp(1.65rem,2.6vw,2.15rem);font-weight:800;color:#fff;letter-spacing:-0.035em;line-height:1;
}
.isoc .stat-mini-label{font-size:0.75rem;color:var(--iso-ink-3);margin-top:0.55rem;line-height:1.5;}
@media(max-width:800px){
  .isoc .isp-stats{grid-template-columns:1fr 1fr;}
  .isoc .stat-mini{padding:1.4rem 1rem 1.4rem 0;}
  .isoc .stat-mini:nth-child(2n){border-right:none;padding-left:1rem;}
  .isoc .stat-mini:nth-child(n+3){border-top:1px solid rgba(255,255,255,0.06);}
  .isoc .stat-mini:nth-child(3){padding-left:0;}
}

/* ==========================================================================
   8 - Berichtsinhalt: Titel links, Verzeichnis rechts
   ========================================================================== */
.isoc .isr-sec{background:var(--iso-deep);padding:80px 0;}
.isoc .isr-grid{
  display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:3rem;align-items:start;
}
@media(max-width:900px){.isoc .isr-grid{grid-template-columns:1fr;gap:1.8rem;}}
.isoc .isr-title{
  font-size:clamp(1.3rem,2.3vw,1.75rem);font-weight:800;color:#fff;
  letter-spacing:-0.02em;line-height:1.25;margin:0;position:relative;padding-left:1.4rem;
}
.isoc .isr-title::before{
  content:'';position:absolute;left:0;top:0.28em;bottom:0.28em;width:3px;
  background:linear-gradient(180deg,var(--iso-acc),rgba(30,136,229,0.15));border-radius:2px;
}
.isoc .isr-list{
  list-style:none;counter-reset:isr;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:0.2rem 2.4rem;
}
@media(max-width:1100px){.isoc .isr-list{grid-template-columns:1fr;}}
.isoc .isr-list li{
  counter-increment:isr;position:relative;padding:0.9rem 0 0.9rem 2.5rem;
  border-bottom:1px solid rgba(255,255,255,0.06);
  font-size:0.88rem;line-height:1.6;color:var(--iso-ink-2);
}
.isoc .isr-list li::before{
  content:counter(isr,decimal-leading-zero);position:absolute;left:0;top:0.95rem;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.7rem;font-weight:700;
  color:var(--iso-acc-dim);letter-spacing:0.06em;
}

/* ==========================================================================
   9 - Module
   ========================================================================== */
.isoc .ism-sec{background:var(--iso-lift);padding:88px 0;}
.isoc .ism-head{max-width:66ch;margin-bottom:2.6rem;}
.isoc .ism-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
@media(max-width:860px){.isoc .ism-grid{grid-template-columns:1fr;}}
.isoc .ism-card{
  display:flex;flex-direction:column;gap:0.9rem;
  padding:1.8rem 1.7rem;border-radius:14px;
  background:rgba(2,16,31,0.45);border:1px solid var(--iso-acc-line);
  text-decoration:none !important;
  transition:border-color .22s,transform .22s,background .22s;
}
.isoc .ism-card:hover{border-color:rgba(30,136,229,0.42);transform:translateY(-3px);background:rgba(30,136,229,0.06);}
.isoc .ism-icon{color:var(--iso-acc);}
.isoc .ism-title{font-size:1rem;font-weight:700;color:#fff;margin:0;line-height:1.35;flex:1;}
.isoc .ism-go{
  display:inline-flex;align-items:center;gap:7px;
  font-size:0.78rem;font-weight:700;letter-spacing:0.05em;color:var(--iso-acc);
}
.isoc .ism-card:hover .ism-go svg{transform:translateX(3px);}
.isoc .ism-go svg{transition:transform .2s;}

/* ==========================================================================
   10 - FAQ: eine Spalte, viel Luft
   ========================================================================== */
.isoc .isq-sec{background:var(--iso-base);padding:92px 0;}
.isoc .isq-head{max-width:64ch;margin-bottom:2.4rem;}
.isoc .isq-list{max-width:900px;}
.isoc .isq-list .accordion-item{
  background:transparent;border:none;border-top:1px solid rgba(255,255,255,0.08);
  border-radius:0;margin:0;overflow:hidden;
}
.isoc .isq-list .accordion-item:last-child{border-bottom:1px solid rgba(255,255,255,0.08);}
.isoc .isq-list .accordion-button{
  background:transparent;border:none;box-shadow:none;
  padding:1.45rem 0.4rem;width:100%;text-align:left;
  display:flex;align-items:flex-start;gap:1.1rem;cursor:pointer;
}
.isoc .isq-list .accordion-button:not(.collapsed){background:transparent;}
.isoc .isq-n{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.7rem;font-weight:700;
  letter-spacing:0.08em;color:var(--iso-acc-dim);flex-shrink:0;padding-top:0.28rem;
  transition:color .2s;
}
.isoc .isq-list .accordion-button:not(.collapsed) .isq-n{color:var(--iso-acc);}
.isoc .isq-list .accordion-button h3{
  flex:1;font-size:1.02rem;font-weight:600;color:var(--iso-ink);margin:0;line-height:1.45;
  transition:color .2s;
}
.isoc .isq-list .accordion-button:not(.collapsed) h3{color:#fff;}
.isoc .isq-list .accordion-button:hover h3{color:#fff;}
.isoc .isq-list .accordion-button::after{filter:invert(1) brightness(0.55);flex-shrink:0;margin-top:0.3rem;}
.isoc .isq-list .accordion-button:not(.collapsed)::after{filter:invert(0.4) sepia(1) saturate(3) hue-rotate(180deg) brightness(1.2);}
.isoc .isq-list .accordion-body{
  padding:0 2.6rem 1.7rem 2.9rem;font-size:0.9rem;line-height:1.85;color:var(--iso-ink-2);
}
@media(max-width:600px){
  .isoc .isq-list .accordion-button{gap:0.75rem;}
  .isoc .isq-list .accordion-body{padding:0 0.4rem 1.5rem 2.1rem;}
}

/* ==========================================================================
   11 - Abschluss: der Ring schließt sich
   ========================================================================== */
.isoc .iso-cta-footer{
  background:var(--iso-deep);padding:84px 0;text-align:center;position:relative;overflow:hidden;
  border-top:1px solid var(--iso-acc-line);border-bottom:1px solid var(--iso-acc-line);
}
.isoc .iso-cta-footer::before{
  content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(560px,90vw);aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(30,136,229,0.16);pointer-events:none;
}
.isoc .iso-cta-footer::after{
  content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(380px,66vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(30,136,229,0.11) 0%,transparent 70%);pointer-events:none;
}
.isoc .iso-cta-footer .container{position:relative;}
.isoc .iso-cta-footer h2{
  font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;color:#fff;letter-spacing:-0.022em;margin-bottom:0.85rem;
}
.isoc .iso-cta-footer p{
  color:var(--iso-ink-2);font-size:0.96rem;max-width:58ch;margin:0 auto 2.2rem;line-height:1.75;
}
.isoc .iso-cta-actions{display:flex;gap:1.4rem;justify-content:center;align-items:center;flex-wrap:wrap;}
.isoc .iso-cta-mail{
  display:inline-flex;align-items:center;gap:8px;color:var(--iso-ink-2) !important;
  font-size:0.9rem;font-weight:600;text-decoration:none !important;
  padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.2);transition:color .2s,border-color .2s;
}
.isoc .iso-cta-mail:hover{color:#fff !important;border-color:var(--iso-acc);}

/* ==========================================================================
   Schmale Viewports und reduzierte Bewegung
   ========================================================================== */
@media(max-width:768px){
  .isoc .iso-hero{padding:76px 0 64px;}
  .isoc .isv-band,.isoc .isa-sec,.isoc .isw-sec,.isoc .isd-sec,
  .isoc .isf-sec,.isoc .isp-sec,.isoc .ism-sec,.isoc .isq-sec{padding:62px 0;}
  .isoc .isr-sec,.isoc .iso-cta-footer{padding:58px 0;}
  .isoc .iso-cta-group{gap:1rem;}
  .isoc .iso-btn-primary{width:100%;justify-content:center;}
}

@media(max-width:600px){
  /* Ein einzelnes Schlagwort darf nie breiter werden als seine Zeile: als
     Flex-Element waechst es sonst auf seine max-content-Breite und schiebt
     die ganze Seite waagerecht auf. */
  .isoc .isf-chip{max-width:100%;}
  .isoc .isa-scale{padding:1.2rem 1rem 1rem;}
  .isoc .isw-deadline{padding:1.2rem 1.1rem;gap:11px;}
  .isoc .isd-quote{padding-left:1.1rem;}
  .isoc .isa-scale-cap{gap:0.5rem 1.4rem;}
  .isoc .iso-ring-core-num{font-size:2.8rem;}
}

@media(prefers-reduced-motion:reduce){
  .isoc.iso-js .iso-reveal{opacity:1;transform:none;transition:none;}
  .isoc .isw-bar{transition:none;}
  .isoc.iso-js .isw-row:not(.is-in) .isw-bar{transform:none;}
  .isoc .isa-hot rect{transition:none;}
  .isoc.iso-js .isa-scale:not(.is-in) .isa-hot rect{opacity:1;filter:drop-shadow(0 0 5px rgba(30,136,229,0.7));}
  .isoc.iso-js .iso-ring-wrap.is-live .iso-ring-sweep,
  .isoc.iso-js .iso-ring-wrap.is-live .iso-ring-dot,
  .isoc.iso-js .iso-ring-wrap.is-live .iso-ring-step{animation:none;}
  .isoc .iso-btn-primary:hover,.isoc .ism-card:hover{transform:none;}
}
