/* Layout: zentrierte Inhaltsspalte im Stil der cigus-Website; technische Feinlinien (Lineal, Eckmarken, Raster) als einzige Ornamente. */
.ilsc {
  /* Bewusst einheitlich dunkles Erscheinungsbild (Gestaltungsgrundlage laut Briefing) */
  --orange: #E96B20;        /* cigus-Orange (Word-Vorlage) – Flächen/Linien */
  --orange-btn: #D9621A;    /* Button-Fläche, weißer Text ≥ AA für große Schrift */
  --orange-ink: #F49A62;    /* Orange für Text auf dunklem Grund */
  --orange-soft: #33231A;
  --ink: #EEF0F2;
  --ink-2: #C3C8CE;
  --ink-3: #9AA1A9;
  --line: #2E343A;
  --line-2: #414950;
  --bg: #14171A;
  --surface: #1B1F23;
  --surface-2: #262B31;
  --band: #0E1012;
  --band-ink: #F2F3F4;
  --band-ink-2: #B4BAC1;
  --red: #E06A61;
  --amber: #E3A647;
  --lgreen: #A2C76E;
  --dgreen: #45AD8C;
  --grid: rgba(255,255,255,.035);
  --focus: #F49A62;
  --font: Calibri, Carlito, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --r: 4px;
  color-scheme: dark;
}
.ilsc, .ilsc * { box-sizing: border-box; }
.ilsc { overflow-x: clip; margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 17px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.ilsc h1, .ilsc h2, .ilsc h3, .ilsc h4 { margin: 0; line-height: 1.15; text-wrap: balance; font-weight: 700; }
.ilsc p { margin: 0; }
.ilsc button { font: inherit; color: inherit; }
.ilsc :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.ilsc .ilsc-wrap, .ilsc .ilsc-wrap-narrow { margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.ilsc .ilsc-wrap { max-width: 1120px; }
.ilsc .ilsc-wrap-narrow { max-width: 780px; }

/* Header */
.ilsc .ilsc-site-header { background: var(--bg); position: relative; }
.ilsc .ilsc-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 18px; }
.ilsc .ilsc-campaign-mark { display: flex; flex-direction: column; align-items: flex-start; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
.ilsc .ilsc-cm-title { font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 15px; color: var(--ink); }
.ilsc .ilsc-cm-sub { font-size: 13px; color: var(--ink-3); letter-spacing: .06em; text-transform: uppercase; }
.ilsc .ilsc-logo-link { display: inline-flex; border-radius: var(--r); }
.ilsc .ilsc-logo { display: block; height: 40px; width: auto; }
.ilsc .ilsc-logo-lg { height: 52px; }
.ilsc .ilsc-ruler { height: 9px; border-top: 1px solid var(--line); background-image: repeating-linear-gradient(90deg, var(--line-2) 0 1px, transparent 1px 12px), repeating-linear-gradient(90deg, var(--line-2) 0 1px, transparent 1px 60px); background-size: 100% 4px, 100% 9px; background-repeat: no-repeat; opacity: .8; }
.ilsc main { min-height: 60vh; }

/* Buttons */
.ilsc .ilsc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: var(--r); border: 1px solid transparent; padding: 11px 20px; font-weight: 700; font-size: 16px; cursor: pointer; text-decoration: none; transition: background .15s, border-color .15s, color .15s, transform .15s; }
.ilsc .ilsc-btn-lg { padding: 15px 26px; font-size: 17px; }
.ilsc .ilsc-btn-primary { background: var(--orange-btn); color: #fff; }
.ilsc .ilsc-btn-primary:hover { background: var(--orange); }
.ilsc .ilsc-btn:disabled { background: var(--surface-2); color: var(--ink-3); border-color: var(--line-2); cursor: not-allowed; }
.ilsc .ilsc-btn:disabled .ilsc-arrow { transform: none; }
.ilsc .ilsc-btn-secondary { background: var(--ink); color: var(--bg); }
.ilsc .ilsc-btn-secondary:hover { background: var(--ink-2); }
.ilsc .ilsc-btn-secondary[aria-disabled="true"] { background: var(--line-2); color: var(--ink-3); }
.ilsc .ilsc-btn-ghost { background: transparent; border-color: var(--line-2); color: var(--ink); }
.ilsc .ilsc-btn-ghost:hover { border-color: var(--ink-3); }
.ilsc .ilsc-arrow { font-weight: 400; transition: transform .15s; }
.ilsc .ilsc-btn:hover .ilsc-arrow { transform: translateX(2px); }
.ilsc .ilsc-eyebrow { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--ink-3); }
.ilsc .ilsc-eyebrow-accent { color: var(--orange-ink); }

/* Start */
.ilsc .ilsc-start { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; padding-block: 56px 72px; align-items: start; }
.ilsc .ilsc-start-copy { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.ilsc .ilsc-start h1 { font-size: clamp(30px, 4.2vw, 44px); letter-spacing: -.01em; max-width: 22ch; }
.ilsc .ilsc-lede { color: var(--ink-2); max-width: 60ch; }
.ilsc .ilsc-facts { list-style: none; margin: 6px 0 10px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; }
.ilsc .ilsc-facts li { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 16px; }
.ilsc .ilsc-tick { width: 14px; height: 8px; border-left: 2px solid var(--orange); border-bottom: 2px solid var(--orange); transform: rotate(-45deg) translateY(-3px); flex: none; }
.ilsc .ilsc-start-panel { position: relative; background: var(--surface); padding: 28px 28px 22px; background-image: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px); background-size: 24px 24px; min-width: 0; }
.ilsc .ilsc-corners i { position: absolute; width: 14px; height: 14px; border-color: var(--orange); border-style: solid; border-width: 0; }
.ilsc .ilsc-corners i:nth-child(1) { top: 0; left: 0; border-top-width: 2px; border-left-width: 2px; }
.ilsc .ilsc-corners i:nth-child(2) { top: 0; right: 0; border-top-width: 2px; border-right-width: 2px; }
.ilsc .ilsc-corners i:nth-child(3) { bottom: 0; left: 0; border-bottom-width: 2px; border-left-width: 2px; }
.ilsc .ilsc-corners i:nth-child(4) { bottom: 0; right: 0; border-bottom-width: 2px; border-right-width: 2px; }
.ilsc .ilsc-panel-kicker { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); font-weight: 700; margin-bottom: 18px; }
.ilsc .ilsc-chain { list-style: none; margin: 0; padding: 0; position: relative; display: flex; flex-direction: column; gap: 14px; }
.ilsc .ilsc-chain::before { content: ""; position: absolute; left: 17px; top: 18px; bottom: 18px; width: 1px; background: var(--line-2); }
.ilsc .ilsc-chain li { display: flex; gap: 14px; align-items: center; position: relative; }
.ilsc .ilsc-node { width: 35px; height: 35px; flex: none; display: grid; place-items: center; background: var(--bg); border: 1px solid var(--line-2); font-family: var(--mono); font-size: 12px; color: var(--orange-ink); }
.ilsc .ilsc-chain-text { display: flex; flex-direction: column; min-width: 0; }
.ilsc .ilsc-chain-text strong { font-size: 16px; }
.ilsc .ilsc-chain-text span { font-size: 14px; color: var(--ink-3); }
.ilsc .ilsc-panel-foot { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--line-2); font-size: 13px; color: var(--ink-3); letter-spacing: .02em; }

/* Quiz */
.ilsc .ilsc-quiz { padding-block: 36px 56px; display: flex; flex-direction: column; gap: 24px; }
.ilsc .ilsc-progress { display: flex; flex-direction: column; gap: 10px; }
.ilsc .ilsc-progress-meta { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.ilsc .ilsc-progress-count { font-weight: 700; font-variant-numeric: tabular-nums; }
.ilsc .ilsc-progress-note { color: var(--ink-3); }
.ilsc .ilsc-progress-track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) 10px repeat(10, minmax(0, 1fr)); gap: 4px; }
.ilsc .ilsc-pcell { height: 8px; padding: 0; border: 0; background: var(--surface-2); cursor: pointer; border-radius: 1px; transition: background .2s; position: relative; }
.ilsc .ilsc-pcell:nth-child(3) { grid-column: 4; }
.ilsc .ilsc-pcell:disabled { cursor: default; }
.ilsc .ilsc-pcell.ilsc-done { background: var(--ink-3); }
.ilsc .ilsc-pcell.ilsc-current { background: var(--orange); }
.ilsc .ilsc-pcell.ilsc-has-extra::after { content: ""; position: absolute; left: 50%; top: 12px; width: 6px; height: 6px; margin-left: -3px; border-radius: 50%; background: var(--orange); }
.ilsc .ilsc-pcell:not(:disabled):hover { outline: 1px solid var(--ink-3); outline-offset: 2px; }
.ilsc .ilsc-qcard { display: flex; flex-direction: column; gap: 14px; }
.ilsc .ilsc-qcard.ilsc-anim { animation: ilsc-enter .35s ease both; }
@keyframes ilsc-enter { from { transform: translateY(10px); opacity: .25; } to { transform: none; opacity: 1; } }
.ilsc .ilsc-deep-intro { display: flex; flex-direction: column; gap: 4px; padding: 12px 16px; background: var(--orange-soft); border-left: 3px solid var(--orange); font-size: 15px; color: var(--ink-2); }
.ilsc .ilsc-qcard-deep { padding-left: 18px; border-left: 1px dashed var(--line-2); }
.ilsc .ilsc-deep-intro strong { color: var(--ink); }
.ilsc .ilsc-qtopic { display: flex; align-items: center; gap: 10px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--orange-ink); }
.ilsc .ilsc-qbadge { font-size: 11px; letter-spacing: .1em; padding: 2px 7px; border: 1px solid var(--orange); border-radius: 2px; }
.ilsc .ilsc-qtext { font-size: clamp(22px, 3vw, 28px); letter-spacing: -.005em; margin-bottom: 6px; }
.ilsc .ilsc-qtext:focus { outline: none; }
.ilsc .ilsc-options { display: flex; flex-direction: column; gap: 10px; }
.ilsc .ilsc-option { display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; padding: 16px 18px; background: var(--bg); border: 1px solid var(--line-2); border-radius: var(--r); cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; font-size: 17px; line-height: 1.35; }
.ilsc .ilsc-option:hover { border-color: var(--ink-3); background: var(--surface); }
.ilsc .ilsc-option.ilsc-selected { border-color: var(--orange); background: var(--orange-soft); box-shadow: inset 3px 0 0 var(--orange); }
.ilsc .ilsc-option-unknown { color: var(--ink-2); border-style: dashed; }
.ilsc .ilsc-option-unknown.ilsc-selected { border-style: solid; color: var(--ink); }
.ilsc .ilsc-radio { width: 18px; height: 18px; flex: none; border: 1.5px solid var(--ink-3); border-radius: 50%; display: grid; place-items: center; }
.ilsc .ilsc-option.ilsc-selected .ilsc-radio { border-color: var(--orange); }
.ilsc .ilsc-option.ilsc-selected .ilsc-radio::after { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--orange); }
.ilsc .ilsc-otext { flex: 1; min-width: 0; }
.ilsc .ilsc-okey { font-family: var(--mono); font-size: 11px; color: var(--ink-3); border: 1px solid var(--line-2); border-radius: 2px; padding: 1px 5px; flex: none; }
.ilsc .ilsc-qnav { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ilsc .ilsc-qhelp { font-size: 13px; color: var(--ink-3); }
.ilsc .ilsc-form-error { color: var(--red); font-size: 14px; font-weight: 700; }

/* Result */
.ilsc .ilsc-result { padding-block: 40px 0; }
.ilsc .ilsc-result-hero { display: flex; flex-direction: column; gap: 12px; margin-bottom: 30px; }
.ilsc .ilsc-result-hero h1 { font-size: clamp(28px, 3.8vw, 40px); max-width: 26ch; }
.ilsc .ilsc-stage-line { font-size: 20px; font-weight: 700; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ilsc .ilsc-stage-chip { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px; color: #14171A; border-radius: 2px; }
.ilsc .ilsc-chip-1 { background: var(--red); }
.ilsc .ilsc-chip-2 { background: var(--amber); }
.ilsc .ilsc-chip-3 { background: var(--lgreen); }
.ilsc .ilsc-chip-4 { background: var(--dgreen); }
.ilsc .ilsc-chip-open { background: var(--ink-3); }
.ilsc .ilsc-ampel { margin-bottom: 36px; }
.ilsc .ilsc-ampel-scale { list-style: none; margin: 0; padding: 30px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.ilsc .ilsc-amp { position: relative; display: flex; flex-direction: column; gap: 6px; padding-top: 0; opacity: .55; transition: opacity .3s; }
.ilsc .ilsc-amp-bar { height: 12px; border-radius: 2px; }
.ilsc .ilsc-amp-1 .ilsc-amp-bar { background: var(--red); }
.ilsc .ilsc-amp-2 .ilsc-amp-bar { background: var(--amber); }
.ilsc .ilsc-amp-3 .ilsc-amp-bar { background: var(--lgreen); }
.ilsc .ilsc-amp-4 .ilsc-amp-bar { background: var(--dgreen); }
.ilsc .ilsc-amp-n { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); font-weight: 700; }
.ilsc .ilsc-amp-name { font-size: 16px; font-weight: 700; line-height: 1.25; }
.ilsc .ilsc-amp-desc { font-size: 13.5px; color: var(--ink-3); line-height: 1.35; }
.ilsc .ilsc-amp.ilsc-active .ilsc-amp-desc { color: var(--ink-2); }
.ilsc .ilsc-amp.ilsc-active { opacity: 1; }
.ilsc .ilsc-amp.ilsc-active .ilsc-amp-bar { height: 20px; margin-top: -8px; box-shadow: 0 0 0 3px var(--bg), 0 0 0 4px var(--ink); }
.ilsc .ilsc-amp-marker { position: absolute; top: -30px; left: 0; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); white-space: nowrap; }
.ilsc .ilsc-amp-marker::after { content: ""; position: absolute; left: 10px; top: 18px; border: 5px solid transparent; border-top-color: var(--ink); }
.ilsc .ilsc-ampel-muted .ilsc-amp { opacity: .35; }
.ilsc .ilsc-notice { display: flex; flex-direction: column; gap: 4px; margin-top: 18px; padding: 14px 16px; border-radius: var(--r); }
.ilsc .ilsc-notice-open { background: var(--surface); border: 1px dashed var(--ink-3); }
.ilsc .ilsc-notice-limited { background: var(--surface); border-left: 3px solid var(--amber); }
.ilsc .ilsc-notice span { color: var(--ink-2); }
.ilsc .ilsc-ampel + .ilsc-notice { margin-top: -12px; margin-bottom: 24px; }
.ilsc .ilsc-top-field-card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; padding: 18px 22px; background: var(--orange-soft); border-left: 3px solid var(--orange); }
.ilsc .ilsc-tf-name { font-size: 22px; font-weight: 700; }
.ilsc .ilsc-full-report { margin-top: 12px; padding-top: 36px; border-top: 2px solid var(--line-2); }
.ilsc .ilsc-full-head { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.ilsc .ilsc-full-head h2 { font-size: clamp(24px, 3vw, 30px); }
.ilsc .ilsc-full-head p { color: var(--ink-2); max-width: 70ch; }
.ilsc .ilsc-field:focus { outline: 2px solid var(--focus); outline-offset: 3px; }
.ilsc .ilsc-start-cta { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.ilsc .ilsc-start-scope { font-size: 14px; color: var(--ink-3); max-width: 56ch; }
.ilsc .ilsc-tp-pre { font-family: var(--mono); font-size: 11px; background: var(--surface-2); padding: 8px; overflow: auto; max-height: 360px; white-space: pre; }
.ilsc .ilsc-block { padding-block: 30px; border-top: 1px solid var(--line); }
.ilsc .ilsc-block-title { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 18px; }
.ilsc .ilsc-summary { display: flex; flex-direction: column; gap: 10px; }
.ilsc .ilsc-summary .ilsc-block-title { margin-bottom: 8px; }
.ilsc .ilsc-summary p { max-width: 70ch; color: var(--ink-2); }
.ilsc .ilsc-summary .ilsc-summary-lead { font-size: 22px; font-weight: 700; color: var(--ink); line-height: 1.3; max-width: 46ch; }
.ilsc .ilsc-topics { display: flex; flex-direction: column; gap: 4px; }
.ilsc .ilsc-topic { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.6fr) minmax(0, .9fr); gap: 16px; align-items: center; padding-block: 10px; border-bottom: 1px solid var(--line); }
.ilsc .ilsc-topic-head { display: flex; flex-direction: column; min-width: 0; }
.ilsc .ilsc-topic-label { font-weight: 700; }
.ilsc .ilsc-topic-hint { font-size: 13px; color: var(--ink-3); }
.ilsc .ilsc-topic-bar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; height: 14px; }
.ilsc .ilsc-seg { background: var(--surface-2); border-radius: 1px; }
.ilsc .ilsc-tone-l1 .ilsc-seg.ilsc-on { background: var(--red); }
.ilsc .ilsc-tone-l2 .ilsc-seg.ilsc-on { background: var(--amber); }
.ilsc .ilsc-tone-l3 .ilsc-seg.ilsc-on { background: var(--lgreen); }
.ilsc .ilsc-tone-l4 .ilsc-seg.ilsc-on { background: var(--dgreen); }
.ilsc .ilsc-tone-open .ilsc-seg.ilsc-on { background: repeating-linear-gradient(135deg, var(--amber) 0 4px, transparent 4px 8px); box-shadow: inset 0 0 0 1px var(--amber); }
.ilsc .ilsc-topic-status { font-weight: 700; font-size: 15px; display: flex; flex-direction: column; }
.ilsc .ilsc-topic-status small { font-weight: 400; color: var(--ink-3); font-size: 12px; }
.ilsc .ilsc-tone-l1 .ilsc-topic-status { color: var(--red); }
.ilsc .ilsc-tone-l2 .ilsc-topic-status { color: var(--amber); }
.ilsc .ilsc-tone-l3 .ilsc-topic-status { color: var(--lgreen); }
.ilsc .ilsc-tone-l4 .ilsc-topic-status { color: var(--dgreen); }
.ilsc .ilsc-tone-open .ilsc-topic-status { color: var(--ink-2); }
.ilsc .ilsc-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; font-size: 13px; color: var(--ink-3); }
.ilsc .ilsc-legend span { display: inline-flex; align-items: center; gap: 6px; }
.ilsc .ilsc-lg { width: 14px; height: 8px; display: inline-block; border-radius: 1px; }
.ilsc .ilsc-lg-1 { background: var(--red); }
.ilsc .ilsc-lg-2 { background: var(--amber); }
.ilsc .ilsc-lg-3 { background: var(--lgreen); }
.ilsc .ilsc-lg-4 { background: var(--dgreen); }
.ilsc .ilsc-lg-open { background: repeating-linear-gradient(135deg, var(--amber) 0 3px, transparent 3px 6px); box-shadow: inset 0 0 0 1px var(--amber); }
.ilsc .ilsc-note { font-size: 13px; color: var(--ink-3); margin-top: 6px; }
.ilsc .ilsc-fields { display: flex; flex-direction: column; gap: 18px; }
.ilsc .ilsc-field { border: 1px solid var(--line-2); border-radius: var(--r); background: var(--bg); }
.ilsc .ilsc-field-head { display: flex; flex-direction: column; gap: 4px; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.ilsc .ilsc-field-prio { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--orange-ink); font-weight: 700; }
.ilsc .ilsc-field:first-child .ilsc-field-head { background: var(--orange-soft); }
.ilsc .ilsc-field h3 { font-size: 22px; }
.ilsc .ilsc-field-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ilsc .ilsc-field-grid > div { padding: 18px 22px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ilsc .ilsc-field-grid > div + div { border-left: 1px solid var(--line); }
.ilsc .ilsc-field h4 { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.ilsc .ilsc-field p { color: var(--ink-2); font-size: 16px; }
.ilsc .ilsc-field-next p:first-of-type { color: var(--ink); }
.ilsc .ilsc-method { margin-top: 4px; padding-top: 10px; border-top: 1px dashed var(--line-2); font-size: 14px !important; display: flex; flex-direction: column; gap: 2px; }
.ilsc .ilsc-method span { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--ink-3); }
.ilsc .ilsc-two-col { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
.ilsc .ilsc-strengths, .ilsc .ilsc-insights { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.ilsc .ilsc-strengths li { display: flex; gap: 12px; }
.ilsc .ilsc-strengths .ilsc-check { width: 22px; height: 22px; flex: none; border-radius: 50%; background: var(--dgreen); position: relative; margin-top: 2px; }
.ilsc .ilsc-strengths .ilsc-check::after { content: ""; position: absolute; left: 7px; top: 5px; width: 6px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.ilsc .ilsc-strengths p, .ilsc .ilsc-insights p { color: var(--ink-2); font-size: 16px; }
.ilsc .ilsc-insights li { padding-left: 14px; border-left: 2px solid var(--line-2); display: flex; flex-direction: column; gap: 4px; }
.ilsc .ilsc-insights li.ilsc-neutral { border-left-color: var(--amber); }
.ilsc .ilsc-tag { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--amber); }
.ilsc .ilsc-linkish { background: none; border: 0; padding: 0; color: var(--orange-ink); text-decoration: underline; cursor: pointer; font-size: inherit; }
.ilsc .ilsc-disclaimer { font-size: 14px; color: var(--ink-3); padding-block: 22px 8px; max-width: 80ch; }
.ilsc .ilsc-result-actions { display: flex; gap: 12px; flex-wrap: wrap; padding-block: 12px 48px; }
.ilsc .ilsc-empty { padding-block: 60px; display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.ilsc .ilsc-site-footer { border-top: 1px solid var(--line); font-size: 13px; color: var(--ink-3); }
.ilsc .ilsc-site-footer .ilsc-wrap { padding-block: 20px; }

/* Testmodus (intern) */
.ilsc .ilsc-testpanel { position: fixed; right: max(12px, env(safe-area-inset-right, 0px)); bottom: max(12px, env(safe-area-inset-bottom, 0px)); width: min(440px, calc(100vw - 24px)); max-height: min(78vh, 720px); overflow: auto; z-index: 50; background: var(--bg); border: 2px dashed var(--orange); border-radius: 6px; box-shadow: 0 12px 40px rgba(0,0,0,.18); font-size: 14px; }
.ilsc .ilsc-tp-head { position: sticky; top: 0; display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; background: var(--orange); color: #fff; }
.ilsc .ilsc-tp-flag { font-weight: 700; letter-spacing: .1em; font-size: 12px; }
.ilsc .ilsc-tp-close { background: none; border: 0; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.ilsc .ilsc-tp-sub { padding: 8px 12px 0; color: var(--ink-3); font-size: 12px; }
.ilsc .ilsc-tp-sub code, .ilsc .ilsc-tp-ans code, .ilsc .ilsc-tp-grid code { font-family: var(--mono); font-size: 11.5px; }
.ilsc .ilsc-tp-tabs { display: flex; gap: 4px; padding: 10px 12px 0; border-bottom: 1px solid var(--line); }
.ilsc .ilsc-tp-tabs button { background: none; border: 0; padding: 6px 10px; cursor: pointer; font-weight: 700; color: var(--ink-3); border-bottom: 2px solid transparent; }
.ilsc .ilsc-tp-tabs button.ilsc-on { color: var(--ink); border-bottom-color: var(--orange); }
.ilsc .ilsc-tp-body { padding: 12px; display: flex; flex-direction: column; gap: 12px; }
.ilsc .ilsc-tp-profile { border: 1px solid var(--line-2); border-radius: var(--r); padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.ilsc .ilsc-tp-ptitle { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; }
.ilsc .ilsc-tp-ok { margin-left: auto; font-weight: 700; font-size: 12px; padding: 1px 6px; border-radius: 2px; color: #fff; }
.ilsc .ilsc-tp-ok.ilsc-pass { background: var(--dgreen); }
.ilsc .ilsc-tp-ok.ilsc-fail { background: var(--red); }
.ilsc .ilsc-tp-ans, .ilsc .ilsc-tp-grid { display: flex; flex-wrap: wrap; gap: 4px; }
.ilsc .ilsc-tp-ans code, .ilsc .ilsc-tp-grid code { background: var(--surface-2); padding: 1px 5px; border-radius: 2px; }
.ilsc .ilsc-tp-ans code.ilsc-assumed { background: var(--orange-soft); color: var(--orange-ink); }
.ilsc .ilsc-tp-vs { font-size: 12px; color: var(--ink-3); }
.ilsc .ilsc-tp-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.ilsc .ilsc-tp-actions button { border: 1px solid var(--line-2); background: var(--surface); padding: 5px 10px; border-radius: var(--r); cursor: pointer; font-size: 13px; font-weight: 700; }
.ilsc .ilsc-tp-actions button:first-child { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.ilsc .ilsc-tp-foot { font-size: 12px; color: var(--ink-3); }
.ilsc .ilsc-tp-trace, .ilsc .ilsc-tp-assume { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; color: var(--ink-2); }

/* Responsive */
@media (max-width: 900px) {
.ilsc .ilsc-start { grid-template-columns: 1fr; gap: 36px; padding-block: 32px 48px; }
.ilsc .ilsc-field-grid { grid-template-columns: 1fr; }
.ilsc .ilsc-field-grid > div + div { border-left: 0; border-top: 1px solid var(--line); }
.ilsc .ilsc-two-col { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
.ilsc { font-size: 16px; }
.ilsc .ilsc-facts { grid-template-columns: 1fr; }
.ilsc .ilsc-start .ilsc-btn-lg, .ilsc .ilsc-modal .ilsc-btn-lg { width: 100%; }
.ilsc .ilsc-topic { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }
.ilsc .ilsc-topic-bar { grid-column: 1 / -1; grid-row: 2; }
.ilsc .ilsc-topic-status { text-align: right; }
.ilsc .ilsc-ampel-scale { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
.ilsc .ilsc-amp-name { font-size: 12px; }
.ilsc .ilsc-amp-n { font-size: 10px; letter-spacing: .06em; }
.ilsc .ilsc-option { padding: 14px; font-size: 16px; }
.ilsc .ilsc-okey { display: none; }
.ilsc .ilsc-qhelp { display: none; }
.ilsc .ilsc-logo { height: 32px; }
.ilsc .ilsc-amp-desc { display: none; }
.ilsc .ilsc-progress-track { grid-template-columns: repeat(2, minmax(0, 1fr)) 6px repeat(10, minmax(0, 1fr)); gap: 3px; }
}
@media (prefers-reduced-motion: reduce) {
.ilsc, .ilsc *, .ilsc *::before, .ilsc *::after { animation: none !important; transition: none !important; }
}
.ilsc .ilsc-amp-4 .ilsc-amp-marker { left: auto; right: 0; }
.ilsc .ilsc-amp-4 .ilsc-amp-marker::after { left: auto; right: 10px; }


/* ── Abschluss: zwei Optionen + Dialog ───────────────────────── */
.ilsc .ilsc-contact-form { display: flex; flex-direction: column; gap: 18px; }
.ilsc .ilsc-ff-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 18px; }
.ilsc .ilsc-ff { display: flex; flex-direction: column; gap: 6px; min-width: 0; grid-column: 1 / -1; }
.ilsc .ilsc-ff.ilsc-half { grid-column: auto; }
.ilsc .ilsc-ff label { font-size: 14px; font-weight: 700; color: var(--ink); }
.ilsc .ilsc-req { color: var(--orange-ink); margin-left: 2px; }
.ilsc .ilsc-opt { font-weight: 400; color: var(--ink-3); }
.ilsc .ilsc-ff input, .ilsc .ilsc-ff textarea { font: inherit; font-size: 16px; padding: 12px 13px; border: 1px solid var(--line-2); border-radius: var(--r); background: var(--surface); color: var(--ink); width: 100%; min-height: 46px; }
.ilsc .ilsc-ff textarea { resize: vertical; min-height: 120px; }
.ilsc .ilsc-ff input:focus, .ilsc .ilsc-ff textarea:focus { border-color: var(--orange); outline: none; box-shadow: 0 0 0 3px rgba(233,107,32,.25); }
.ilsc .ilsc-ff.ilsc-has-error input, .ilsc .ilsc-ff.ilsc-has-error textarea { border-color: var(--red); }
.ilsc .ilsc-ff .ilsc-form-error { font-weight: 400; }
.ilsc .ilsc-form-error[hidden] { display: none; }
.ilsc .ilsc-consent .ilsc-check-label { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; font-size: 14.5px; color: var(--ink-2); cursor: pointer; line-height: 1.45; }
.ilsc .ilsc-consent input[type="checkbox"] { width: 20px; height: 20px; min-height: 0; flex: none; margin: 1px 0 0; accent-color: var(--orange); }
.ilsc .ilsc-consent a { color: var(--orange-ink); }
.ilsc .ilsc-consent.ilsc-has-error .ilsc-check-label { color: var(--ink); }
.ilsc .ilsc-form-actions { display: flex; align-items: center; gap: 16px 20px; flex-wrap: wrap; }
.ilsc .ilsc-req-note { font-size: 13px; color: var(--ink-3); }
.ilsc .ilsc-form-result { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; padding: 24px; background: var(--surface); border-left: 3px solid var(--dgreen); }
.ilsc .ilsc-form-result:focus { outline: 2px solid var(--focus); outline-offset: 3px; }
.ilsc .ilsc-form-result strong { font-size: 19px; }
.ilsc .ilsc-form-result p { color: var(--ink-2); }
@media (max-width: 600px) {
.ilsc .ilsc-ff-grid { grid-template-columns: 1fr; }
}

.ilsc .ilsc-next-head { display: flex; flex-direction: column; gap: 12px; max-width: 760px; }
.ilsc .ilsc-next-head h2 { font-size: clamp(24px, 3vw, 32px); }
.ilsc .ilsc-next-head p { color: var(--band-ink-2); }
.ilsc .ilsc-oc-status { color: var(--dgreen); font-weight: 700; font-size: 15px; }
.ilsc .ilsc-oc-msg { color: var(--ink-2); font-size: 14px; }
.ilsc .ilsc-config-missing { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-left: 3px solid var(--amber); background: var(--surface-2); font-size: 14.5px; }
.ilsc .ilsc-config-missing span { color: var(--ink-2); }
.ilsc .ilsc-ff input:disabled, .ilsc .ilsc-consent input:disabled { opacity: .55; cursor: not-allowed; }
.ilsc .ilsc-modal-backdrop { position: fixed; inset: 0; z-index: 60; background: rgba(8,10,12,.72); display: flex; align-items: center; justify-content: center; padding: max(16px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); animation: ilsc-fade .2s ease both; }
@keyframes ilsc-fade { from { opacity: 0; } to { opacity: 1; } }
.ilsc .ilsc-modal { width: min(620px, 100%); max-height: 100%; overflow: auto; background: var(--bg); border: 1px solid var(--line-2); border-top: 3px solid var(--orange); border-radius: 6px; box-shadow: 0 24px 60px rgba(0,0,0,.45); display: flex; flex-direction: column; }
.ilsc .ilsc-modal.ilsc-modal-wide { width: min(980px, 100%); }
.ilsc .ilsc-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px 24px 0; }
.ilsc .ilsc-modal-head h2 { font-size: 24px; }
.ilsc .ilsc-modal-head h2:focus { outline: none; }
.ilsc .ilsc-modal-close { background: none; border: 1px solid var(--line-2); border-radius: var(--r); width: 38px; height: 38px; flex: none; font-size: 22px; line-height: 1; cursor: pointer; color: var(--ink-2); }
.ilsc .ilsc-modal-close:hover { color: var(--ink); border-color: var(--ink-3); }
.ilsc .ilsc-modal-intro { padding: 10px 24px 0; color: var(--ink-2); }
.ilsc .ilsc-modal-body { padding: 18px 24px 24px; }
.ilsc .ilsc-meeting-frame { width: 100%; height: min(700px, 70vh); border: 1px solid var(--line-2); border-radius: var(--r); overflow: hidden; background: #fff; }
.ilsc .ilsc-meeting-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.ilsc .ilsc-meeting-alt { margin-top: 10px; font-size: 14px; }
.ilsc .ilsc-meeting-alt a { color: var(--orange-ink); }
html.ilsc-modal-open { overflow: hidden; }
@media (max-width: 760px) {
}
@media (max-width: 600px) {
.ilsc .ilsc-modal-backdrop { padding: 0; align-items: stretch; }
.ilsc .ilsc-modal, .ilsc .ilsc-modal.ilsc-modal-wide { width: 100%; max-height: none; height: 100%; border-radius: 0; border-left: 0; border-right: 0; }
.ilsc .ilsc-modal-head { padding: 18px 16px 0; }
.ilsc .ilsc-modal-intro { padding: 8px 16px 0; }
.ilsc .ilsc-modal-body { padding: 16px; }
.ilsc .ilsc-meeting-frame { height: 72vh; }
}
@media (prefers-reduced-motion: reduce) { .ilsc .ilsc-modal-backdrop { animation: none; } }

/* ── Abschluss (v5): reduziert – primäre PDF-Aktion, sekundäre Terminzeile ── */
.ilsc .ilsc-next-steps { margin-top: 44px; background: var(--band); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ilsc .ilsc-next-wrap { padding-block: 56px; display: flex; flex-direction: column; gap: 26px; }
.ilsc .ilsc-next-wrap > * { width: 100%; max-width: 880px; }
.ilsc .ilsc-pdf-panel { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 22px 26px; align-items: center; padding: 26px 28px; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r); }
.ilsc .ilsc-pdf-icon { width: 46px; height: 54px; color: var(--ink-2); flex: none; }
.ilsc .ilsc-pdf-copy { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ilsc .ilsc-pdf-copy h3 { font-size: 21px; }
.ilsc .ilsc-pdf-copy p { color: var(--ink-2); font-size: 15.5px; max-width: 54ch; }
.ilsc .ilsc-pdf-meta { font-size: 13px; color: var(--ink-3); letter-spacing: .02em; }
.ilsc .ilsc-pdf-meta .ilsc-oc-status { font-size: 13px; }
.ilsc .ilsc-meet-row { display: flex; align-items: center; justify-content: space-between; gap: 16px 28px; padding: 4px 28px 0; }
.ilsc .ilsc-meet-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ilsc .ilsc-meet-copy h3 { font-size: 17px; }
.ilsc .ilsc-meet-copy p { color: var(--ink-3); font-size: 15px; }
.ilsc .ilsc-meet-copy { flex: 1; }
.ilsc .ilsc-meet-avatar { width: 72px; height: 72px; flex: none; border-radius: 50%; object-fit: cover; border: 2px solid var(--line-2); background: var(--surface-2); }
.ilsc .ilsc-meet-copy .ilsc-meet-person { font-size: 14px; color: var(--ink-3); margin-top: 2px; }
.ilsc .ilsc-meet-person strong { color: var(--ink-2); font-weight: 700; }
.ilsc .ilsc-meet-row .ilsc-btn { flex: none; }
.ilsc .ilsc-privacy-notice { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); font-size: 13.5px; color: var(--ink-3); line-height: 1.5; }
.ilsc .ilsc-privacy-notice strong { color: var(--ink-2); font-size: 13px; letter-spacing: .04em; }
.ilsc .ilsc-privacy-notice a { color: var(--orange-ink); }
.ilsc .ilsc-footer-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; }
.ilsc .ilsc-legal-links { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.ilsc .ilsc-legal-links a { color: var(--ink-3); text-decoration: none; }
.ilsc .ilsc-legal-links a:hover, .ilsc .ilsc-legal-links a:focus-visible { color: var(--ink); text-decoration: underline; }
.ilsc .ilsc-modal-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 18px; padding: 12px 24px 16px; border-top: 1px solid var(--line); font-size: 12.5px; color: var(--ink-3); margin-top: auto; }
@media (max-width: 760px) {
.ilsc .ilsc-pdf-panel { grid-template-columns: auto minmax(0, 1fr); padding: 22px; }
.ilsc .ilsc-pdf-panel .ilsc-btn { grid-column: 1 / -1; width: 100%; }
.ilsc .ilsc-meet-row { flex-wrap: wrap; align-items: center; padding: 4px 0 0; }
.ilsc .ilsc-meet-copy { flex: 1 1 200px; }
.ilsc .ilsc-meet-avatar { width: 60px; height: 60px; }
.ilsc .ilsc-meet-row .ilsc-btn { width: 100%; }
}
@media (max-width: 600px) {
.ilsc .ilsc-next-wrap { padding-block: 40px; gap: 22px; }
.ilsc .ilsc-pdf-icon { width: 36px; height: 42px; }
.ilsc .ilsc-pdf-panel .ilsc-btn-lg { font-size: 16px; padding-inline: 16px; gap: 8px; }
.ilsc .ilsc-modal-foot { padding: 12px 16px calc(14px + env(safe-area-inset-bottom, 0px)); }
}

/* MODE "embed": HubSpot-Formular im Dialog (cigus.de, 09.11.2026) */
.ilsc .ilsc-hs-consent { display: flex; flex-direction: column; gap: 16px; }
.ilsc .ilsc-hs-consent-text { margin: 0; color: var(--ink-2); }
.ilsc .ilsc-hs-embed { margin-bottom: 20px; }
.ilsc .ilsc-hs-embed iframe { display: block; width: 100%; border: 0; }
.ilsc .ilsc-hs-loading { margin: 0 0 8px; color: var(--ink-3); font-size: 14px; }
/* Auswertungs-Link: Hinweis bei wiederhergestellter Auswertung (10.11.2026) */
.ilsc .ilsc-restored { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin: 0 0 28px; padding: 14px 18px; border: 1px solid var(--line-2); border-left: 3px solid var(--orange); background: var(--orange-soft); }
.ilsc .ilsc-restored p { margin: 0; color: var(--ink); font-size: 15px; }
