    /* =========================================================
       Leadsleader Studio – Startseite
       Alles unter .lls gescoped, damit Bootstrap/style.css und
       header.inc/footer.inc unberührt bleiben.
       ========================================================= */
    @font-face {
        font-family: "Bricolage Grotesque";
        src: url("/fonts/bricolage-grotesque-latin-wght-normal.woff2") format("woff2");
        font-weight: 200 800; font-style: normal; font-display: swap;
    }
    @font-face {
        font-family: "Geist";
        src: url("/fonts/geist-latin-wght-normal.woff2") format("woff2");
        font-weight: 100 900; font-style: normal; font-display: swap;
    }
    @font-face {
        font-family: "JetBrains Mono";
        src: url("/fonts/jetbrains-mono-latin-wght-normal.woff2") format("woff2");
        font-weight: 100 800; font-style: normal; font-display: swap;
    }

    .lls {
        /* Grund: weiches Blau-Schwarz statt hartem Schwarz */
        --ink: #171A21;
        --panel: #1E222B;
        --panel-2: #252A35;
        --line: #313744;
        --line-strong: #4A5262;
        --paper: #F3F5F8;
        --paper-soft: #D3D8E0;
        --muted: #AEB5C1;
        --dim: #8E96A4;
        /* Markenblau (Logo) */
        --signal: #1A73E8;
        --signal-hover: #1765CC;
        --signal-text: #82B4FF;
        --signal-deep: #1558B0;
        /* Helle Abschnitte */
        --light: #EEF1F5;
        --light-line: #D2D8E1;
        --light-text: #3B4250;
        --ok: #7BD88F;

        --hc: var(--paper);

        --display: "Bricolage Grotesque", "Helvetica Neue", Helvetica, Arial, sans-serif;
        --sans: "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;
        --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

        --wrap: 1320px;
        --gutter: clamp(20px, 4vw, 40px);

        background: var(--ink);
        color: var(--paper) !important;
        font-family: var(--sans);
        font-size: 17px;
        line-height: 1.6;
        -webkit-font-smoothing: antialiased;
    }
    .lls *, .lls *::before, .lls *::after { box-sizing: border-box; }
    :where(.lls) h1, :where(.lls) h2, :where(.lls) h3, :where(.lls) p, :where(.lls) ul, :where(.lls) ol, :where(.lls) figure { margin: 0; padding: 0; }
    .lls h1, .lls h2, .lls h3 { font-family: var(--display); color: var(--hc) !important; font-weight: 700; text-wrap: balance; }
    .lls h1 a, .lls h2 a, .lls h3 a { color: inherit !important; }
    .lls-model, .lls-knowledge { --hc: var(--ink); }
    .lls-cta { --hc: #FFFFFF; }
    .lls p { line-height: 1.6; }
    /* Basis-Farben mit niedriger Spezifität, aber !important gegen Theme-Regeln */
    :where(.lls) p, :where(.lls) li, :where(.lls) strong, :where(.lls) a, :where(.lls) summary { color: inherit !important; }
    :where(.lls) ul, :where(.lls) ol { list-style: none; }
    .lls img { max-width: 100%; height: auto; display: block; }
    .lls a:focus-visible, .lls summary:focus-visible {
        outline: 2px solid var(--signal-text); outline-offset: 3px;
    }
    .lls-wrap { max-width: var(--wrap); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }

    /* Buttons */
    .lls-btn {
        display: inline-flex; align-items: center; justify-content: center;
        min-height: 52px; padding: 14px 26px;
        font-family: var(--sans); font-size: 16px; font-weight: 600; line-height: 1.2;
        text-decoration: none; border: 1.5px solid transparent;
        transition: background-color .15s ease, color .15s ease, border-color .15s ease;
    }
    .lls-btn--signal { background: var(--signal); color: #FFFFFF !important; }
    .lls-btn--signal:hover { background: var(--signal-hover); color: #FFFFFF !important; text-decoration: none; }
    .lls-btn--ghost { border-color: var(--line-strong); color: var(--paper) !important; }
    .lls-btn--ghost:hover { border-color: var(--paper); color: var(--paper) !important; text-decoration: none; }
    .lls-btn--ink { background: var(--ink); color: var(--paper) !important; }
    .lls-btn--ink:hover { background: #262B36; color: var(--paper) !important; text-decoration: none; }
    .lls-btn--outline-light { border-color: rgba(255,255,255,.75); color: #FFFFFF !important; }
    .lls-btn--outline-light:hover { background: rgba(255,255,255,.12); border-color: #FFFFFF; color: #FFFFFF !important; text-decoration: none; }

    .lls-kicker { font-size: 15px; font-weight: 500; color: var(--muted) !important; }

    /* ---------- HERO ---------- */
    .lls-hero { padding: clamp(64px, 9vw, 112px) 0 clamp(72px, 9vw, 120px); border-bottom: 1px solid var(--line); }
    .lls-hero-grid {
        display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
        gap: clamp(40px, 6vw, 88px); align-items: center;
    }
    .lls-hero-copy { display: flex; flex-direction: column; gap: 30px; }
    .lls-hero h1 {
        font-size: clamp(46px, 7vw, 108px); font-weight: 800;
        line-height: .93; letter-spacing: -0.045em;
    }
    .lls-hero h1 span { display: block; }
    .lls-hero-sub { font-size: clamp(18px, 1.5vw, 21px); color: var(--paper-soft) !important; max-width: 34em; }
    .lls-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

    /* System-Panel: das eine „laute“ Element der Seite */
    .lls-system { background: var(--panel); border: 1px solid var(--line); }
    .lls-system-bar {
        display: flex; justify-content: space-between; align-items: center;
        padding: 14px 20px; border-bottom: 1px solid var(--line);
        font-family: var(--mono); font-size: 12.5px; color: var(--muted) !important;
    }
    .lls-live { display: inline-flex; align-items: center; gap: 8px; }
    .lls-live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ok); }
    .lls-system ol { list-style: none; padding: 6px 20px 20px; margin: 0; }
    .lls-step {
        display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 14px; align-items: center;
        padding: 17px 0; border-bottom: 1px dashed var(--line);
    }
    .lls-step:last-child { border-bottom: 0; }
    .lls-step-idx { font-family: var(--mono); font-size: 12.5px; color: var(--dim); }
    .lls-step-name { font-weight: 600; font-size: 16.5px; line-height: 1.3; }
    .lls-step-desc { font-size: 14px; color: var(--muted) !important; line-height: 1.4; margin-top: 2px; }
    .lls-tag {
        font-family: var(--mono); font-size: 11px; line-height: 1; white-space: nowrap;
        padding: 6px 8px; border: 1px solid var(--line-strong); color: var(--paper-soft) !important;
    }
    .lls-tag--build { background: var(--signal); border-color: var(--signal); color: #FFFFFF !important; }

    /* Ein orchestrierter Moment: ein Signal läuft einmal durch die Pipeline */
    @media (prefers-reduced-motion: no-preference) {
        .lls-step-idx { animation: lls-signal 1.4s ease both; }
        .lls-step:nth-child(1) .lls-step-idx { animation-delay: .5s; }
        .lls-step:nth-child(2) .lls-step-idx { animation-delay: .8s; }
        .lls-step:nth-child(3) .lls-step-idx { animation-delay: 1.1s; }
        .lls-step:nth-child(4) .lls-step-idx { animation-delay: 1.4s; }
        .lls-step:nth-child(5) .lls-step-idx { animation-delay: 1.7s; }
    }
    @keyframes lls-signal {
        0% { color: var(--dim); }
        25% { color: var(--signal-text); text-shadow: 0 0 12px rgba(130,180,255,.6); }
        100% { color: var(--dim); text-shadow: none; }
    }

    /* ---------- MANIFEST ---------- */
    .lls-manifest { padding: clamp(80px, 10vw, 136px) 0; }
    .lls-manifest p {
        font-family: var(--display); font-weight: 600;
        font-size: clamp(30px, 4.3vw, 62px); line-height: 1.07; letter-spacing: -0.03em;
        max-width: 18em;
    }
    .lls-manifest p + p { margin-top: .35em; color: var(--muted) !important; }

    /* ---------- SECTION HEADS ---------- */
    .lls-head {
        display: flex; justify-content: space-between; align-items: flex-end; gap: 24px 48px; flex-wrap: wrap;
        padding-bottom: 28px; margin-bottom: 40px; border-bottom: 1px solid var(--line);
    }
    .lls-head h2 { font-size: clamp(36px, 4.4vw, 60px); font-weight: 800; line-height: 1; letter-spacing: -0.035em; }
    .lls-head p { max-width: 30em; color: var(--muted) !important; }

    /* ---------- PORTFOLIO ---------- */
    .lls-portfolio { padding: 0 0 clamp(88px, 10vw, 136px); }
    .lls-pf-grid {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1px; background: var(--line); border: 1px solid var(--line);
    }
    .lls-pf {
        background: var(--ink); padding: clamp(24px, 3vw, 40px);
        display: flex; flex-direction: column; gap: 24px;
    }
    .lls-pf { overflow: hidden; }
    .lls-pf-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
    /* Logo-Plakette: funktioniert mit hellen und dunklen Logos */
    .lls-pf-logo {
        display: inline-flex; align-items: center; height: 48px; padding: 9px 14px;
        background: var(--paper); border-radius: 4px;
    }
    .lls-pf-logo img { height: 30px; width: auto; max-width: 180px; object-fit: contain; }
    .lls-pf-logo--text {
        background: transparent; border: 1px solid var(--line-strong);
        font-family: var(--display); font-weight: 800; font-size: 20px; letter-spacing: -0.03em; color: var(--paper) !important;
    }
    .lls-pf-tags { display: flex; gap: 8px; flex-wrap: wrap; }
    .lls-pf-tag { font-size: 13px; font-weight: 500; line-height: 1; padding: 7px 10px; border: 1px solid var(--line-strong); color: var(--paper-soft) !important; border-radius: 999px; }
    .lls-pf-tag--partner { border-color: var(--signal); background: rgba(26,115,232,.16); color: var(--signal-text) !important; }
    /* Screenshot: kleiner, ragt von unten rechts in die Karte */
    .lls a.lls-pf-shot {
        display: block; height: 180px; margin: 8px calc(-1 * clamp(24px, 3vw, 40px)) calc(-1 * clamp(24px, 3vw, 40px)) 24%;
        border: 1px solid var(--line-strong); border-right: 0; border-bottom: 0; border-radius: 6px 0 0 0;
        overflow: hidden; background: var(--panel-2);
    }
    .lls-pf-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top left; }
    .lls-pf h3 { font-size: clamp(28px, 2.6vw, 36px); font-weight: 700; letter-spacing: -0.025em; line-height: 1.05; }
    .lls-pf h3 a { text-decoration: none; }
    .lls-pf h3 a:hover { color: var(--signal-text) !important; text-decoration: none; }
    .lls-pf-desc { color: var(--muted) !important; max-width: 32em; }
    .lls-facts { display: grid; gap: 10px; margin-top: auto; padding-top: 22px; border-top: 1px solid var(--line); }
    .lls-facts li { display: grid; grid-template-columns: 14px 1fr; gap: 12px; align-items: baseline; font-size: 15.5px; color: var(--paper-soft) !important; }
    .lls-facts li::before { content: ""; width: 10px; height: 2px; background: var(--signal-text); transform: translateY(-4px); }
    .lls-facts strong { color: var(--paper) !important; font-weight: 600; }

    /* ---------- PARTNER-MODELL (heller Bruch) ---------- */
    .lls-model { background: var(--light); color: var(--ink) !important; padding: clamp(88px, 10vw, 136px) 0; }
    .lls-model-head {
        display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
        gap: 40px 64px; align-items: end; margin-bottom: 56px;
    }
    .lls-model .lls-kicker { color: #4A5262 !important; margin-bottom: 18px; display: block; }
    .lls-model h2 { font-size: clamp(40px, 5.4vw, 80px); font-weight: 800; line-height: .95; letter-spacing: -0.045em; }
    .lls-model-lead { font-size: 19px; color: var(--light-text) !important; max-width: 30em; }
    .lls-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
    .lls-steps li { padding: 32px 32px 36px 0; display: flex; flex-direction: column; gap: 14px; }
    .lls-steps li + li { padding-left: 32px; border-left: 1px solid var(--light-line); }
    .lls-steps-num { font-family: var(--display); font-weight: 800; font-size: 60px; line-height: 1; letter-spacing: -0.04em; }
    .lls-steps li:last-child .lls-steps-num { color: var(--signal-deep) !important; }
    .lls-steps h3 { font-family: var(--sans); font-size: 21px; font-weight: 600; letter-spacing: -0.01em; }
    .lls-steps p { color: var(--light-text) !important; }
    .lls-ref {
        margin-top: 48px; background: var(--ink); color: var(--paper) !important;
        padding: 26px 32px; display: flex; justify-content: space-between; align-items: center; gap: 20px 32px; flex-wrap: wrap;
    }
    .lls-ref p { font-size: 18px; max-width: 46em; }
    .lls-ref a.lls-inline { color: var(--paper) !important; text-decoration: underline; text-underline-offset: 3px; }

    /* ---------- FÜR UNTERNEHMEN ---------- */
    .lls-biz { padding: clamp(88px, 10vw, 136px) 0; }
    .lls-biz-head {
        display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
        gap: 32px 64px; align-items: end; margin-bottom: 56px;
    }
    .lls-biz .lls-kicker { display: block; margin-bottom: 18px; color: var(--signal-text) !important; }
    .lls-biz h2 { font-size: clamp(40px, 5.4vw, 80px); font-weight: 800; line-height: .95; letter-spacing: -0.045em; }
    .lls-biz-lead { font-size: 19px; color: var(--paper-soft) !important; max-width: 30em; }
    .lls-biz-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 64px; border-top: 1px solid var(--line); }
    .lls-biz-item { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 30px 0; border-bottom: 1px solid var(--line); }
    .lls-biz-item h3 { font-size: 26px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
    .lls-biz-item p { color: var(--muted) !important; max-width: 32em; }
    .lls-biz-foot {
        margin-top: 40px; display: flex; justify-content: space-between; align-items: center; gap: 20px 32px; flex-wrap: wrap;
        padding: 26px 32px; background: var(--panel); border: 1px solid var(--line);
    }
    .lls-biz-foot p { font-size: 18px; color: var(--paper-soft) !important; max-width: 46em; }
    .lls-biz-foot a.lls-inline { color: var(--paper) !important; text-decoration: underline; text-underline-offset: 3px; }

    /* ---------- SYSTEM / STACK ---------- */
    .lls-stack { padding: clamp(88px, 10vw, 136px) 0; border-top: 1px solid var(--line); }
    .lls-stack-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px 80px; align-items: start; }
    .lls-stack-intro { display: flex; flex-direction: column; gap: 22px; position: sticky; top: 32px; }
    .lls-stack-intro h2 { font-size: clamp(36px, 4.4vw, 60px); font-weight: 800; line-height: 1; letter-spacing: -0.035em; }
    .lls-stack-intro p { color: var(--muted) !important; max-width: 26em; }
    .lls-layers { display: flex; flex-direction: column; gap: 12px; }
    .lls-layer {
        display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 8px 28px; align-items: baseline;
        padding: 24px 26px; border: 1px solid var(--line);
    }
    .lls-layer:nth-child(1) { margin-right: 64px; }
    .lls-layer:nth-child(2) { margin: 0 48px 0 16px; }
    .lls-layer:nth-child(3) { margin: 0 32px 0 32px; }
    .lls-layer:nth-child(4) { margin: 0 16px 0 48px; border-color: var(--signal); }
    .lls-layer:nth-child(5) { margin-left: 64px; background: var(--signal); border-color: var(--signal); color: #FFFFFF !important; }
    .lls-layer-id { font-family: var(--mono); font-size: 12.5px; color: var(--muted) !important; }
    .lls-layer:nth-child(4) .lls-layer-id { color: var(--signal-text) !important; }
    .lls-layer:nth-child(5) .lls-layer-id { color: #DCE9FF !important; }
    .lls-layer-name { font-weight: 600; font-size: 18px; }
    .lls-layer-desc { grid-column: 2; font-size: 15px; color: var(--muted) !important; }
    .lls-layer:nth-child(5) .lls-layer-desc { color: #E6EFFF !important; }

    /* ---------- WEGE ---------- */
    .lls-paths { border-top: 1px solid var(--line); padding: clamp(72px, 9vw, 112px) 0; }
    .lls-paths-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
    .lls-path { display: flex; flex-direction: column; gap: 14px; }
    .lls-path h3 { font-size: 28px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
    .lls-path p { color: var(--muted) !important; }
    .lls-path a.lls-more {
        margin-top: 6px; align-self: flex-start; color: var(--signal-text) !important; font-weight: 600;
        text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px;
    }
    .lls-path a.lls-more:hover { color: #B3D0FF !important; }

    /* ---------- STUDIO ---------- */
    .lls-studio { border-top: 1px solid var(--line); padding: clamp(88px, 10vw, 136px) 0; }
    .lls-founders { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
    .lls-founder {
        display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 28px; align-items: center;
        padding: 28px; border: 1px solid var(--line);
    }
    .lls-founder img { width: 168px; height: 210px; object-fit: cover; background: var(--panel-2); }
    .lls-founder-role { font-size: 14px; color: var(--signal-text) !important; font-weight: 500; }
    .lls-founder h3 { font-size: 30px; font-weight: 700; letter-spacing: -0.02em; margin: 6px 0 10px; }
    .lls-founder h3 a { text-decoration: none; }
    .lls-founder h3 a:hover { color: var(--signal-text) !important; }
    .lls-founder p { color: var(--muted) !important; font-size: 16px; }

    /* ---------- WISSEN (Blog-Include auf hellem Grund) ---------- */
    .lls-knowledge { background: var(--light); color: var(--ink) !important; padding: clamp(72px, 9vw, 112px) 0 24px; }
    .lls-knowledge .lls-head { border-bottom-color: var(--light-line); margin-bottom: 0; }
    .lls-knowledge .lls-head p { color: var(--light-text) !important; }
    .lls-knowledge-include { background: var(--light); }

    /* ---------- FAQ ---------- */
    .lls-faq { padding: clamp(88px, 10vw, 136px) 0; }
    .lls-faq-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px 80px; }
    .lls-faq h2 { font-size: clamp(36px, 4.4vw, 60px); font-weight: 800; line-height: 1; letter-spacing: -0.035em; }
    .lls-faq details { border-top: 1px solid var(--line); }
    .lls-faq details:last-child { border-bottom: 1px solid var(--line); }
    .lls-faq summary {
        list-style: none; cursor: pointer; padding: 24px 44px 24px 0; position: relative;
        font-family: var(--display); font-size: 21px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3;
    }
    .lls-faq summary::-webkit-details-marker { display: none; }
    .lls-faq summary::after {
        content: ""; position: absolute; right: 6px; top: 50%; width: 14px; height: 14px; margin-top: -7px;
        background:
            linear-gradient(var(--paper), var(--paper)) center / 14px 2px no-repeat,
            linear-gradient(var(--paper), var(--paper)) center / 2px 14px no-repeat;
        transition: transform .2s ease;
    }
    .lls-faq details[open] summary::after { transform: rotate(45deg); }
    .lls-faq-a { padding: 0 44px 28px 0; color: var(--paper-soft) !important; }
    .lls-faq-a p + p { margin-top: 12px; }
    .lls-faq-a a { color: var(--paper) !important; text-decoration: underline; text-underline-offset: 3px; }

    /* ---------- CTA ---------- */
    .lls-cta { background: var(--signal); color: #FFFFFF !important; padding: clamp(88px, 10vw, 128px) 0; }
    .lls-cta-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 40px 64px; align-items: end; }
    .lls-cta h2 { font-size: clamp(44px, 6.4vw, 100px); font-weight: 800; line-height: .92; letter-spacing: -0.05em; }
    .lls-cta-side { display: flex; flex-direction: column; gap: 24px; }
    .lls-cta-side p { font-size: 19px; max-width: 26em; color: #EAF2FF !important; }
    .lls-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }

    /* ---------- RESPONSIVE ---------- */
    @media (max-width: 1080px) {
        .lls-hero-grid, .lls-model-head, .lls-biz-head, .lls-stack-grid, .lls-faq-grid, .lls-cta-grid { grid-template-columns: minmax(0, 1fr); }
        .lls-stack-intro { position: static; }
        .lls-founders { grid-template-columns: minmax(0, 1fr); }
    }
    @media (max-width: 860px) {
        .lls-pf-grid, .lls-paths-grid, .lls-biz-list { grid-template-columns: minmax(0, 1fr); }
        .lls-steps { grid-template-columns: minmax(0, 1fr); }
        .lls-steps li, .lls-steps li + li { padding: 28px 0; border-left: 0; }
        .lls-steps li + li { border-top: 1px solid var(--light-line); }
        .lls-layer, .lls-layer:nth-child(n) { margin: 0; }
    }
    @media (max-width: 560px) {
        .lls { font-size: 16px; }
        .lls-step { grid-template-columns: 28px minmax(0, 1fr); }
        .lls-step .lls-tag { grid-column: 2; justify-self: start; }
        .lls-layer { grid-template-columns: minmax(0, 1fr); }
        .lls-layer-desc { grid-column: 1; }
        .lls-founder { grid-template-columns: minmax(0, 1fr); }
        .lls-founder img { width: 100%; height: 280px; }
        .lls-btn { width: 100%; }
        .lls-ref, .lls-biz-foot { padding: 24px; }
        .lls a.lls-pf-shot { margin-left: 12%; height: 150px; }
    }

/* =========================================================
   Unterseiten-Bausteine (ab /kanzleien/)
   ========================================================= */
.lls-crumbs { font-size: 14px; color: var(--muted) !important; margin-bottom: 4px; }
.lls-crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; }
.lls-crumbs li + li::before { content: "/"; margin-right: 8px; color: var(--dim) !important; }
.lls-crumbs a { text-decoration: none; }
.lls-crumbs a:hover { color: var(--paper) !important; }

.lls-hero--page h1 { font-size: clamp(42px, 5.8vw, 88px); }

/* Abschnitts-Kopf mit Kicker */
.lls-sec { padding: clamp(80px, 9vw, 128px) 0; }
.lls-sec + .lls-sec { border-top: 1px solid var(--line); }
.lls-sec--light { background: var(--light); color: var(--ink) !important; --hc: var(--ink); }
.lls-sec--light + .lls-sec, .lls-sec + .lls-sec--light { border-top: 0; }
.lls-sec-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 24px 64px; align-items: end; margin-bottom: 48px; }
.lls-sec-head .lls-kicker { display: block; margin-bottom: 16px; }
.lls-sec-head h2 { font-size: clamp(36px, 4.6vw, 64px); font-weight: 800; line-height: 1; letter-spacing: -0.04em; }
.lls-sec-head p { color: var(--muted) !important; max-width: 30em; font-size: 18px; }
.lls-sec--light .lls-sec-head p, .lls-sec--light .lls-kicker { color: var(--light-text) !important; }

/* Vergleich Kanzlei-Website vs. Partner-Portal */
.lls-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.lls-compare-col { padding: clamp(24px, 3vw, 40px); border: 1px solid var(--line); }
.lls-compare-col--hi { border-color: var(--signal); background: var(--panel); }
.lls-compare-col h3 { font-size: 26px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 22px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.lls-compare-col li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; padding: 12px 0; border-top: 1px solid var(--line); color: var(--paper-soft) !important; }
.lls-compare-col li::before { content: ""; width: 12px; height: 2px; margin-top: 12px; background: var(--dim); }
.lls-compare-col--hi li::before { background: var(--signal-text); }
.lls-compare-col--hi li { color: var(--paper) !important; }

/* Leistungs-Raster */
.lls-cells { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.lls-cell { background: var(--ink); padding: 30px; display: flex; flex-direction: column; gap: 10px; }
.lls-cell h3 { font-size: 22px; font-weight: 700; letter-spacing: -0.015em; line-height: 1.15; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.lls-cell p { color: var(--muted) !important; font-size: 16px; }

/* Fünf-Schritte-Ablauf (heller Abschnitt) */
.lls-steps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.lls-steps--5 li { padding-right: 24px; }
.lls-steps--5 li + li { padding-left: 24px; }
.lls-steps--5 .lls-steps-num { font-size: 48px; }
.lls-steps--5 h3 { font-size: 19px; }
.lls-steps--5 p { font-size: 15.5px; }

/* Rollen */
.lls-roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.lls-role { padding: clamp(24px, 3vw, 40px); background: var(--panel); border: 1px solid var(--line); }
.lls-role .lls-kicker { display: block; margin-bottom: 10px; color: var(--signal-text) !important; }
.lls-role h3 { font-size: 28px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 18px; }
.lls-role li { padding: 12px 0; border-top: 1px solid var(--line); color: var(--paper-soft) !important; }

/* Referenz-Case */
.lls-case { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; border: 1px solid var(--line); background: var(--panel); overflow: hidden; }
.lls-case-body { padding: clamp(28px, 4vw, 48px); display: flex; flex-direction: column; gap: 18px; }
.lls-case-body h3 { font-size: clamp(30px, 3vw, 42px); font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.lls-case-body p { color: var(--paper-soft) !important; }
.lls-case-body .lls-facts { margin-top: 6px; }
.lls-case-media { position: relative; min-height: 320px; border-left: 1px solid var(--line); background: var(--panel-2); }
.lls-case-media img { position: absolute; inset: 32px 0 0 32px; width: calc(100% - 32px); height: calc(100% - 32px); object-fit: cover; object-position: top left; border-top-left-radius: 6px; border: 1px solid var(--line-strong); border-right: 0; border-bottom: 0; }

/* Rechtsgebiete mit Beispiel-Tools */
.lls-fit { border-top: 1px solid var(--line); }
.lls-fit li { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) auto; gap: 8px 32px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--line); }
.lls-fit-area { font-family: var(--display); font-size: 24px; font-weight: 700; letter-spacing: -0.02em; color: var(--paper) !important; }
.lls-fit-tool { color: var(--paper-soft) !important; }
.lls-fit-note { font-size: 13px; color: var(--muted) !important; }
.lls-fit li.lls-fit--ref .lls-fit-note { color: var(--signal-text) !important; }

@media (max-width: 1080px) {
    .lls-sec-head, .lls-case { grid-template-columns: minmax(0, 1fr); }
    .lls-case-media { border-left: 0; border-top: 1px solid var(--line); min-height: 260px; }
    .lls-cells { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lls-steps--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lls-steps--5 li, .lls-steps--5 li + li { padding: 28px 24px 28px 0; border-left: 0; border-top: 1px solid var(--light-line); }
}
@media (max-width: 860px) {
    .lls-compare, .lls-roles, .lls-cells, .lls-steps--5 { grid-template-columns: minmax(0, 1fr); }
    .lls-fit li { grid-template-columns: minmax(0, 1fr); }
}

/* Status „im Einsatz“ */
.lls-tag--live { border-color: var(--signal-text); color: var(--signal-text) !important; }

/* =========================================================
   /kanzleien/ – drei Wege, CRM-Ansicht
   ========================================================= */
.lls-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.lls-way { display: flex; flex-direction: column; gap: 16px; padding: clamp(24px, 2.6vw, 36px); border: 1px solid var(--line); }
.lls-way--2 { background: var(--panel); }
.lls-way--3 { background: var(--panel); border-color: var(--signal); }
.lls-way-step { font-family: var(--mono); font-size: 12.5px; color: var(--muted) !important; }
.lls-way--3 .lls-way-step { color: var(--signal-text) !important; }
.lls-way h3 { font-size: clamp(26px, 2.4vw, 32px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.02; }
.lls-way-where { font-size: 14px; font-weight: 500; color: var(--signal-text) !important; }
.lls-way > p { color: var(--paper-soft) !important; }
.lls-way ul { border-top: 1px solid var(--line); margin-top: 4px !important; }
.lls-way li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 15.5px; color: var(--paper-soft) !important; }
.lls-way li::before { content: ""; width: 10px; height: 2px; margin-top: 11px; background: var(--signal-text); }
.lls-way-price { font-family: var(--display); font-size: 22px; font-weight: 700; letter-spacing: -0.01em; color: var(--paper) !important; margin-top: auto !important; padding-top: 8px; }
.lls-way .lls-btn { align-self: stretch; }

/* CRM-Beispielansicht */
.lls-crm { background: var(--panel); border: 1px solid var(--line); }
.lls-crm-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 12.5px; color: var(--muted) !important; }
.lls-crm-bar strong { font-family: var(--sans); font-size: 14px; font-weight: 600; color: var(--paper) !important; }
.lls-crm-filters { display: flex; gap: 8px; flex-wrap: wrap; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.lls-crm-chip { font-size: 12.5px; padding: 6px 10px; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--paper-soft) !important; }
.lls-crm-chip--on { background: var(--signal); border-color: var(--signal); color: #FFFFFF !important; }
.lls-crm-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; align-items: center; padding: 16px 20px; border-bottom: 1px dashed var(--line); }
.lls-crm-row:last-child { border-bottom: 0; }
.lls-crm-title { font-weight: 600; font-size: 15.5px; line-height: 1.3; color: var(--paper) !important; }
.lls-crm-meta { grid-column: 1; font-size: 13px; color: var(--muted) !important; }
.lls-crm-status { grid-row: 1 / span 2; grid-column: 2; font-size: 12px; font-weight: 600; padding: 6px 10px; border-radius: 999px; white-space: nowrap; }
.lls-crm-status--new { background: var(--signal); color: #FFFFFF !important; }
.lls-crm-status--work { background: #3A3320; color: #F2C14E !important; }
.lls-crm-status--done { background: #1F3527; color: #8FE0A3 !important; }
.lls-crm-note { padding: 12px 20px; border-top: 1px solid var(--line); font-size: 12.5px; color: var(--dim) !important; }

/* CRM-Funktionen */
.lls-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 64px; border-top: 1px solid var(--line); }
.lls-feature { padding: 26px 0; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 8px; }
.lls-feature h3 { font-size: 22px; font-weight: 700; letter-spacing: -0.015em; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.lls-feature p { color: var(--muted) !important; }

/* Zwischenkopf „Weg 3 im Detail“ */
.lls-divider-head { padding: clamp(64px, 7vw, 96px) 0 0; }
.lls-divider-head p { display: inline-flex; align-items: center; gap: 12px; font-family: var(--display); font-size: clamp(20px, 2vw, 26px); font-weight: 700; letter-spacing: -0.02em; color: var(--signal-text) !important; }
.lls-divider-head p::before { content: ""; width: 32px; height: 2px; background: var(--signal-text); }

@media (max-width: 1080px) {
    .lls-ways { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 860px) {
    .lls-features { grid-template-columns: minmax(0, 1fr); }
}
.lls-divider-head { border-top: 1px solid var(--line); }
.lls-divider-head + .lls-sec { padding-top: clamp(32px, 4vw, 48px); }

/* =========================================================
   /unternehmen/
   ========================================================= */
.lls-pf-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lls-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lls-step-market { font-size: 13px; color: var(--muted) !important; }
.lls-why { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
.lls-why-item { display: flex; flex-direction: column; gap: 12px; padding-top: 24px; border-top: 2px solid var(--signal); }
.lls-why-item h3 { font-size: 26px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
.lls-why-item p { color: var(--muted) !important; }
@media (max-width: 1080px) {
    .lls-pf-grid--3 { grid-template-columns: minmax(0, 1fr); }
    .lls-steps--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lls-steps--4 li, .lls-steps--4 li + li { padding: 28px 24px 28px 0; border-left: 0; border-top: 1px solid var(--light-line); }
}
@media (max-width: 860px) {
    .lls-why, .lls-steps--4 { grid-template-columns: minmax(0, 1fr); }
}

/* =========================================================
   /portfolio/ und Case-Seiten
   ========================================================= */
.lls-pf--wide { grid-column: 1 / -1; }
.lls-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lls-meta div { padding: 22px 24px 22px 0; }
.lls-meta div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.lls-meta dt { font-size: 13px; color: var(--muted) !important; margin-bottom: 6px; }
.lls-meta dd { margin: 0; font-family: var(--display); font-size: 20px; font-weight: 700; letter-spacing: -0.01em; color: var(--paper) !important; line-height: 1.2; }
.lls-shot-band { position: relative; border: 1px solid var(--line); background: var(--panel-2); aspect-ratio: 16 / 7; overflow: hidden; border-radius: 6px; }
.lls-shot-band img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.lls-shot-band--type { display: flex; align-items: center; justify-content: center; font-family: var(--display); font-weight: 800; font-size: clamp(48px, 9vw, 140px); letter-spacing: -0.05em; color: var(--line-strong) !important; }
.lls-story { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px 80px; }
.lls-story h2 { font-size: clamp(32px, 3.6vw, 48px); font-weight: 800; line-height: 1.02; letter-spacing: -0.035em; }
.lls-story-body p { color: var(--paper-soft) !important; font-size: 18px; }
.lls-story-body p + p { margin-top: 16px; }
.lls-next { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.lls a.lls-next-item { background: var(--ink); padding: 24px; text-decoration: none; display: flex; flex-direction: column; gap: 6px; }
.lls a.lls-next-item:hover { background: var(--panel); }
.lls-next-item strong { font-family: var(--display); font-size: 22px; font-weight: 700; letter-spacing: -0.02em; color: var(--paper) !important; }
.lls-next-item span { font-size: 14px; color: var(--muted) !important; }
.lls-models { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1080px) {
    .lls-story { grid-template-columns: minmax(0, 1fr); }
    .lls-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lls-meta div:nth-child(3) { padding-left: 0; border-left: 0; }
    .lls-meta div:nth-child(n+3) { border-top: 1px solid var(--line); }
    .lls-next { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .lls-models, .lls-next { grid-template-columns: minmax(0, 1fr); }
    .lls-shot-band { aspect-ratio: 4 / 3; }
}
.lls-hero--page h1 { overflow-wrap: break-word; hyphens: manual; }
.lls-hero--page h1.lls-h1--long { font-size: clamp(34px, 4.2vw, 62px); }
.lls-system-bar > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Portfolio als eine Seite */
.lls-project { scroll-margin-top: 96px; }
.lls-project-top { align-items: start; }
.lls-project-copy { display: flex; flex-direction: column; gap: 22px; }
.lls-project-copy h2 { font-size: clamp(36px, 4.6vw, 64px); font-weight: 800; line-height: 1; letter-spacing: -0.04em; overflow-wrap: break-word; }
.lls-project-lead { font-size: 19px; color: var(--paper-soft) !important; }
.lls-project-lead strong { color: var(--paper) !important; }
.lls-project .lls-story-body p { font-size: 17px; }
.lls-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.lls a.lls-pf-tag { text-decoration: none; padding: 9px 14px; font-size: 14px; }
.lls a.lls-pf-tag:hover { border-color: var(--signal-text); color: var(--paper) !important; }
.lls-role a { color: var(--paper) !important; text-decoration: underline; text-underline-offset: 3px; }
.lls-meta dd { overflow-wrap: break-word; hyphens: auto; }
@media (max-width: 560px) {
    .lls-meta { grid-template-columns: minmax(0, 1fr); }
    .lls-meta div, .lls-meta div + div, .lls-meta div:nth-child(3) { padding: 16px 0; border-left: 0; }
    .lls-meta div + div { border-top: 1px solid var(--line); }
}

/* =========================================================
   /kontakt/ – Formular
   ========================================================= */
.lls-contact-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
.lls-contact-people { display: flex; align-items: center; gap: 0; flex-wrap: wrap; }
.lls-contact-people img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 2px solid var(--ink); background: var(--panel-2); }
.lls-contact-people img + img { margin-left: -14px; }
.lls-contact-people p { margin-left: 16px !important; font-size: 15px; color: var(--paper-soft) !important; max-width: 22em; }
.lls-contact-people strong { color: var(--paper) !important; font-weight: 600; }
.lls-contact-direct { display: grid; gap: 14px; padding-top: 22px; border-top: 1px solid var(--line); margin: 0; }
.lls-contact-direct dt { font-size: 13px; color: var(--muted) !important; }
.lls-contact-direct dd { margin: 2px 0 0; font-size: 17px; color: var(--paper) !important; }
.lls-contact-direct a { text-decoration: underline; text-underline-offset: 3px; }
.lls-contact-note { font-size: 14px; color: var(--muted) !important; }
.lls-contact-note a { color: var(--signal-text) !important; text-decoration: underline; text-underline-offset: 3px; }
.lls-done-mark { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--signal); color: #FFFFFF; }

.lls-form-card { background: var(--panel); border: 1px solid var(--line); padding: clamp(22px, 3vw, 36px); }
.lls-form-progress { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 12.5px; color: var(--muted) !important; }
.lls-form-track { height: 3px; background: var(--line); margin: 10px 0 26px; }
.lls-form-bar { height: 100%; background: var(--signal-text); transition: width .3s ease; }
.lls-form-error { margin-bottom: 20px; padding: 14px 16px; border: 1px solid #E5735F; background: rgba(229, 115, 95, .12); color: #FFD3CB !important; font-size: 15px; }
.lls-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.lls-fstep { border: 0; margin: 0; padding: 0; min-width: 0; }
.lls-fstep + .lls-fstep { margin-top: 32px; }
.lls-fstep legend { font-family: var(--display); font-size: clamp(22px, 2.2vw, 28px); font-weight: 700; letter-spacing: -0.02em; color: var(--paper) !important; margin-bottom: 18px; padding: 0; float: none; width: auto; line-height: 1.15; }
/* Mit JavaScript: nur der aktive Schritt ist sichtbar */
.lls-form-card form.is-js .lls-fstep { display: none; }
.lls-form-card form.is-js .lls-fstep.is-active { display: block; animation: lls-step-in .22s ease; }
.lls-form-card form.is-js .lls-fstep + .lls-fstep { margin-top: 0; }
@keyframes lls-step-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lls-form-card form.is-js .lls-fstep.is-active { animation: none; } }

.lls-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.lls-opts[hidden] { display: none; }
.lls-opts + .lls-opts { margin-top: 10px; }
.lls-opt { position: relative; display: block; margin: 0; cursor: pointer; }
.lls-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lls-opt-box { display: flex; flex-direction: column; gap: 4px; min-height: 64px; justify-content: center; padding: 14px 16px; border: 1px solid var(--line-strong); background: var(--ink); transition: border-color .15s ease, background-color .15s ease; }
.lls-opts--compact .lls-opt-box { min-height: 52px; }
.lls-opt:hover .lls-opt-box { border-color: var(--paper-soft); }
.lls-opt input:checked + .lls-opt-box { border-color: var(--signal-text); background: rgba(26, 115, 232, .16); }
.lls-opt input:focus-visible + .lls-opt-box { outline: 2px solid var(--signal-text); outline-offset: 2px; }
.lls-opt-seg { font-size: 12.5px; color: var(--signal-text) !important; font-weight: 500; }
.lls-opt-label { font-size: 16px; font-weight: 600; color: var(--paper) !important; line-height: 1.3; }

.lls-frow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.lls-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.lls-field label { font-size: 14px; font-weight: 500; color: var(--paper-soft) !important; margin: 0; }
.lls-optional { font-weight: 400; color: var(--muted) !important; font-size: 13px; margin-left: 4px; }
.lls-field input, .lls-field textarea {
    width: 100%; font: inherit; font-size: 16px; color: var(--paper) !important;
    background: var(--ink) !important; border: 1px solid var(--line-strong); border-radius: 0;
    padding: 12px 14px; min-height: 48px; box-shadow: none;
}
.lls-field textarea { resize: vertical; min-height: 110px; }
.lls-field input::placeholder, .lls-field textarea::placeholder { color: var(--dim); }
.lls-field input:focus, .lls-field textarea:focus { outline: none; border-color: var(--signal-text); box-shadow: 0 0 0 3px rgba(130, 180, 255, .2); }
.lls-consent { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 14px; color: var(--paper-soft) !important; margin: 6px 0 20px; cursor: pointer; }
.lls-consent input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--signal); }
.lls-consent a { color: var(--paper) !important; text-decoration: underline; text-underline-offset: 3px; }
.lls-fnav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 18px; }
.lls-fback { background: none; border: 0; padding: 10px 0; min-height: 44px; font: inherit; font-size: 15px; color: var(--muted); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.lls-fback:hover { color: var(--paper); }
/* Ohne JavaScript: kein Zurück nötig */
.lls-form-card form:not(.is-js) .lls-fback { visibility: hidden; }

@media (max-width: 1080px) { .lls-contact-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
    .lls-opts, .lls-frow { grid-template-columns: minmax(0, 1fr); }
    .lls-fnav .lls-btn { width: auto; flex: 1; }
}
.lls-opt, .lls-opt-box { height: 100%; }

/* =========================================================
   THEME B – Hell mit dunklen Akzenten
   Überschreibt die Tokens und Größen oben. Dunkel bleiben nur
   die „Maschine“-Elemente: System-Panel, CRM-Ansicht,
   System-Band (Startseite) und Referenz-Boxen.
   ========================================================= */
.lls {
    --bg: #F5F7FA;
    --ink: #FFFFFF;            /* Kartenflächen */
    --panel: #FFFFFF;
    --panel-2: #EEF1F5;
    --line: #DDE2EA;
    --line-strong: #C5CCD7;
    --paper: #171A21;          /* Haupttext */
    --paper-soft: #3B4250;
    --muted: #5A6372;
    --dim: #6B7381;
    --signal-text: #1765CC;    /* Links und Akzenttext auf hellem Grund */
    --light: #FFFFFF;          /* „helle“ Abschnitte heben sich jetzt weiß ab */
    --light-line: #DDE2EA;
    --light-text: #3B4250;
    --radius: 8px;
    background: var(--bg);
}

/* Dunkle Inseln */
.lls .lls-system, .lls .lls-crm, .lls .lls-stack, .lls .lls-ref {
    --ink: #171A21;
    --panel: #1E222B;
    --panel-2: #252A35;
    --line: #313744;
    --line-strong: #4A5262;
    --paper: #F3F5F8;
    --paper-soft: #D3D8E0;
    --muted: #AEB5C1;
    --dim: #8E96A4;
    --signal-text: #82B4FF;
    --hc: #F3F5F8;
    color: var(--paper) !important;
}
.lls .lls-stack { background: #171A21; border-top: 0; }
.lls .lls-stack + .lls-paths { border-top: 0; }
.lls .lls-system, .lls .lls-crm { border-radius: 12px; overflow: hidden; box-shadow: 0 24px 60px rgba(23, 26, 33, .18); }
.lls .lls-ref { background: #171A21; border-radius: var(--radius); }

/* Texte, die bisher an --ink hingen */
.lls-model, .lls-knowledge, .lls-sec--light { color: var(--paper) !important; --hc: var(--paper); }
.lls-steps { border-top-color: var(--paper); }
.lls-btn--ink { background: #171A21; color: #FFFFFF !important; }
.lls-btn--ink:hover { background: #2A2F3A; color: #FFFFFF !important; }
.lls-pf-logo { background: #FFFFFF; border: 1px solid var(--line); }
.lls a.lls-next-item:hover { background: var(--panel-2); }
.lls-form-error { border-color: #E5735F; background: #FDECEA; color: #9F2D1C !important; }
.lls-opt input:checked + .lls-opt-box { background: rgba(26, 115, 232, .08); }
.lls-pf-tag--partner { background: rgba(26, 115, 232, .10); }

/* Weichere Ecken */
.lls-btn, .lls-field input, .lls-field textarea { border-radius: var(--radius); }
.lls-opt-box { border-radius: 6px; }
.lls-pf-grid, .lls-cells, .lls-next { border-radius: 12px; overflow: hidden; }
.lls-compare-col, .lls-role, .lls-way, .lls-case, .lls-biz-foot, .lls-form-card, .lls-layer, .lls-shot-band { border-radius: var(--radius); }
.lls-way, .lls-compare-col, .lls-role, .lls-form-card { background: var(--panel); }

/* Ruhigere Typo-Skala */
.lls h1, .lls h2, .lls h3 { font-weight: 700; }
.lls-hero h1 { font-size: clamp(38px, 4.6vw, 68px); line-height: 1.03; letter-spacing: -0.035em; }
.lls-hero--page h1 { font-size: clamp(34px, 4.1vw, 60px); }
.lls-hero--page h1.lls-h1--long { font-size: clamp(30px, 3.3vw, 48px); }
.lls-manifest { padding: clamp(64px, 8vw, 104px) 0; }
.lls-manifest p { font-size: clamp(26px, 3vw, 42px); line-height: 1.15; letter-spacing: -0.025em; max-width: 22em; }
.lls-head h2, .lls-sec-head h2, .lls-stack-intro h2, .lls-faq h2 { font-size: clamp(30px, 3vw, 44px); line-height: 1.08; letter-spacing: -0.03em; }
.lls-model h2, .lls-biz h2 { font-size: clamp(32px, 3.4vw, 50px); line-height: 1.05; letter-spacing: -0.035em; }
.lls-project-copy h2 { font-size: clamp(30px, 3.2vw, 46px); }
.lls-story h2 { font-size: clamp(26px, 2.6vw, 36px); }
.lls-cta h2 { font-size: clamp(32px, 3.8vw, 54px); line-height: 1.05; letter-spacing: -0.035em; }
.lls-pf h3 { font-size: clamp(24px, 2vw, 30px); }
.lls-way h3 { font-size: clamp(24px, 2vw, 28px); }
.lls-steps-num { font-size: 44px; }
.lls-steps--5 .lls-steps-num { font-size: 38px; }
.lls-biz-item h3, .lls-path h3, .lls-why-item h3 { font-size: 23px; }
.lls-founder h3 { font-size: 26px; }
.lls-fit-area { font-size: 21px; }

/* =========================================================
   Glossar – Einzelansicht
   ========================================================= */
.lls-gl-head { padding: clamp(40px, 6vw, 72px) 0 clamp(32px, 4vw, 48px); border-bottom: 1px solid var(--line); background: var(--ink); }
.lls-gl-head .lls-wrap { max-width: 1120px; display: flex; flex-direction: column; gap: 18px; }
.lls-gl-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.lls-gl-head h1 { font-size: clamp(32px, 3.8vw, 52px); line-height: 1.08; letter-spacing: -0.03em; max-width: 20em; }
.lls-gl-lead { font-size: clamp(18px, 1.5vw, 21px); color: var(--paper-soft) !important; max-width: 40em; }
.lls-gl-byline { display: flex; align-items: center; gap: 12px; padding-top: 6px; }
.lls-gl-byline img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: var(--panel-2); }
.lls-gl-byline a, .lls-gl-byline strong { display: block; font-weight: 600; text-decoration: none; color: var(--paper) !important; }
.lls-gl-byline a:hover { color: var(--signal-text) !important; }
.lls-gl-byline span { font-size: 14px; color: var(--muted) !important; }

.lls-gl-layout { max-width: 1120px; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(40px, 5vw, 72px); padding-top: clamp(40px, 5vw, 64px); padding-bottom: 24px; align-items: start; }
.lls-gl-aside { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 20px; }
.lls-gl-aside-title { font-size: 13px; font-weight: 600; color: var(--muted) !important; margin-bottom: 10px !important; }
.lls-gl-toc ol { display: flex; flex-direction: column; gap: 2px; border-left: 2px solid var(--line); }
.lls-gl-toc a { display: block; padding: 6px 0 6px 14px; margin-left: -2px; border-left: 2px solid transparent; font-size: 14.5px; line-height: 1.4; color: var(--paper-soft) !important; text-decoration: none; }
.lls-gl-toc a:hover { color: var(--signal-text) !important; border-left-color: var(--signal-text); }
.lls-gl-cta { padding: 22px; background: var(--ink); border: 1px solid var(--line); border-radius: var(--radius, 8px); display: flex; flex-direction: column; gap: 12px; }
.lls-gl-cta p:not(.lls-gl-aside-title) { font-size: 15px; color: var(--paper-soft) !important; }
.lls-gl-cta .lls-btn { min-height: 46px; padding: 12px 18px; font-size: 15px; }
.lls-gl-cta-link { font-size: 14px; color: var(--signal-text) !important; text-decoration: underline; text-underline-offset: 3px; }

/* Fließtext aus der Datenbank – auch für alte Inhalte mit <br> und Inline-Styles */
.lls-prose { font-size: 18px; line-height: 1.7; color: var(--paper-soft) !important; max-width: 720px; }
.lls-prose > br { display: none; }
.lls-prose h2 { font-size: clamp(24px, 2.2vw, 30px); line-height: 1.2; letter-spacing: -0.02em; margin: 48px 0 14px !important; scroll-margin-top: 96px; }
.lls-prose h2:first-child { margin-top: 0 !important; }
.lls-prose h3 { font-size: 21px; line-height: 1.3; margin: 32px 0 10px !important; }
.lls-prose p { margin: 0 0 18px !important; }
.lls-prose strong, .lls-prose .font-weight-bold { color: var(--paper) !important; font-weight: 600; }
.lls-prose a { color: var(--signal-text) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.lls-prose a:hover { text-decoration-thickness: 2px; }
.lls-prose ul, .lls-prose ol { margin: 0 0 22px !important; padding-left: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.lls-prose ul li { position: relative; padding-left: 24px; list-style: none; }
.lls-prose ul li::before { content: ""; position: absolute; left: 0; top: .78em; width: 10px; height: 2px; background: var(--signal-text); }
.lls-prose ol { counter-reset: lls-ol; }
.lls-prose ol li { position: relative; padding-left: 34px; list-style: none; counter-increment: lls-ol; }
.lls-prose ol li::before { content: counter(lls-ol); position: absolute; left: 0; top: .15em; width: 24px; height: 24px; border-radius: 50%; background: rgba(26,115,232,.1); color: var(--signal-text); font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
/* Tabellen */
.lls-prose table { width: 100%; border-collapse: collapse; margin: 8px 0 28px; font-size: 16px; display: block; overflow-x: auto; }
.lls-prose th, .lls-prose td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.lls-prose thead th { background: var(--panel-2); color: var(--paper) !important; font-weight: 600; }
.lls-prose tbody tr:hover td { background: rgba(26,115,232,.04); }
/* Hinweis-Box: neue Klasse und alte Inline-Variante */
.lls-prose .lls-note, .lls-prose div[style*="border-left"] {
    background: rgba(26,115,232,.06) !important; border: 1px solid rgba(26,115,232,.25) !important; border-left: 4px solid var(--signal) !important;
    border-radius: var(--radius, 8px); padding: 20px 22px !important; margin: 8px 0 28px !important; color: var(--paper-soft) !important;
}
.lls-prose div[style*="border-left"] svg { display: none; }
.lls-prose div[style*="border-left"] p { margin: 0 !important; }
/* Kurzdefinition für neue Einträge: <p class="lls-definition"> */
.lls-prose .lls-definition { font-size: 20px; line-height: 1.6; color: var(--paper) !important; padding: 22px 24px; background: var(--ink); border: 1px solid var(--line); border-radius: var(--radius, 8px); margin-bottom: 32px !important; }

.lls-gl-share { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 15px; }
.lls-gl-share span { color: var(--muted) !important; }
.lls-gl-share a, .lls-gl-copy { color: var(--paper) !important; font: inherit; font-weight: 600; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

.lls-gl-author { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 20px; align-items: center; max-width: 720px; padding: 24px; background: var(--ink); border: 1px solid var(--line); border-radius: var(--radius, 8px); }
.lls-gl-author img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; background: var(--panel-2); }
.lls-gl-author-name { font-family: var(--display); font-size: 22px; font-weight: 700; margin: 2px 0 4px !important; }
.lls-gl-author-name a { text-decoration: none; color: var(--paper) !important; }
.lls-gl-author p:last-child { color: var(--muted) !important; font-size: 15.5px; }
.lls-gl-all { color: var(--signal-text) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.lls-gl-related { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lls .lls-gl-related a.lls-next-item { background: var(--ink); }

@media (max-width: 1080px) {
    .lls-gl-layout { grid-template-columns: minmax(0, 1fr); }
    .lls-gl-aside { position: static; }
    .lls-gl-toc { display: none; }
    .lls-gl-related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .lls-prose { font-size: 17px; }
    .lls-gl-related { grid-template-columns: minmax(0, 1fr); }
}
.lls-gl .lls-sec .lls-wrap { max-width: 1120px; }
/* Code in Glossar-Beiträgen */
.lls-prose code { font-family: var(--mono); font-size: .86em; background: var(--panel-2); color: var(--paper) !important; padding: .12em .4em; border-radius: 4px; white-space: nowrap; }
.lls-prose pre { background: #171A21; color: #E6EAF0 !important; border-radius: var(--radius, 8px); padding: 18px 20px; margin: 4px 0 26px !important; overflow-x: auto; font-size: 14.5px; line-height: 1.6; }
.lls-prose pre code { background: none; color: inherit !important; padding: 0; font-size: inherit; white-space: pre; }
/* Bilder und Rechner in Glossar-Beiträgen */
.lls-prose figure { margin: 4px 0 28px !important; }
.lls-prose figure img { width: 100%; height: auto; border-radius: var(--radius, 8px); border: 1px solid var(--line); }
.lls-prose .lls-calc { background: var(--ink); border: 1px solid var(--line); border-radius: var(--radius, 8px); padding: 22px 24px; margin: 8px 0 30px; }
.lls-prose .lls-calc-title { font-family: var(--display); font-size: 20px; font-weight: 700; color: var(--paper) !important; margin-bottom: 14px !important; }
.lls-prose .lls-calc-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: center; margin-bottom: 12px; }
.lls-prose .lls-calc-row label { font-size: 15px; color: var(--paper-soft) !important; margin: 0; }
.lls-prose .lls-calc-row input { width: 100%; font: inherit; font-size: 16px; padding: 10px 12px; min-height: 44px; border: 1px solid var(--line-strong); border-radius: var(--radius, 8px); background: #FFFFFF; color: var(--paper) !important; }
.lls-prose .lls-calc-row input:focus { outline: none; border-color: var(--signal-text); box-shadow: 0 0 0 3px rgba(26,115,232,.15); }
.lls-prose .lls-calc-result { margin: 16px 0 0 !important; padding: 14px 16px; background: rgba(26,115,232,.08); border-radius: var(--radius, 8px); font-weight: 600; color: var(--paper) !important; }
@media (max-width: 560px) { .lls-prose .lls-calc-row { grid-template-columns: minmax(0, 1fr); gap: 6px; } }

/* =========================================================
   Glossar – Übersicht und Bereiche
   ========================================================= */
.lls-glx-search { display: flex; flex-direction: column; gap: 8px; max-width: 520px; }
.lls-glx-search-label { font-size: 14px; font-weight: 600; color: var(--paper-soft) !important; margin: 0; }
.lls-glx-search input { width: 100%; font: inherit; font-size: 17px; padding: 14px 16px; min-height: 52px; border: 1px solid var(--line-strong); border-radius: var(--radius, 8px); background: var(--ink); color: var(--paper) !important; box-shadow: 0 1px 2px rgba(23,26,33,.04); }
.lls-glx-search input:focus { outline: none; border-color: var(--signal-text); box-shadow: 0 0 0 3px rgba(26,115,232,.15); }
.lls-glx-count { font-size: 14px; color: var(--muted) !important; }
.lls a.lls-glx-panel-link { text-decoration: none; }
.lls a.lls-glx-panel-link:hover { color: var(--signal-text) !important; }

.lls-glx-nav { position: sticky; top: 75px; z-index: 5; background: rgba(245,247,250,.94); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.lls-glx-nav .lls-wrap { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; }
.lls-glx-letters { display: flex; flex-wrap: wrap; gap: 2px; }
.lls-glx-letters a, .lls-glx-letters span { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 32px; border-radius: 6px; font-family: var(--display); font-weight: 700; font-size: 15px; }
.lls a.lls-glx-letters, .lls-glx-letters a { text-decoration: none; color: var(--paper) !important; }
.lls-glx-letters a:hover { background: rgba(26,115,232,.1); color: var(--signal-text) !important; }
.lls-glx-letters span { color: var(--line-strong) !important; }
.lls-glx-areas { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.lls button.lls-pf-tag { font: inherit; font-size: 14px; padding: 9px 14px; cursor: pointer; background: var(--ink); }
.lls button.lls-pf-tag.is-on { background: var(--signal); border-color: var(--signal); color: #FFFFFF !important; }
.lls a.lls-glx-other { font-size: 14px; font-weight: 600; color: var(--signal-text) !important; text-decoration: underline; text-underline-offset: 3px; }

.lls-glx-list { padding-top: clamp(40px, 5vw, 64px); }
.lls-glx-group { scroll-margin-top: 150px; }
.lls-glx-group + .lls-glx-group { margin-top: 48px; }
.lls-glx-group-h { display: flex; align-items: baseline; gap: 12px; font-size: clamp(26px, 2.6vw, 34px); padding-bottom: 14px; margin-bottom: 18px !important; border-bottom: 1px solid var(--line); }
.lls-glx-group-h span { font-family: var(--sans); font-size: 14px; font-weight: 500; color: var(--muted) !important; }
.lls-glx-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lls-glx-item[hidden], .lls-glx-group[hidden] { display: none !important; }
.lls .lls-glx-item a { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 18px 20px; background: var(--ink); border: 1px solid var(--line); border-radius: var(--radius, 8px); text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.lls .lls-glx-item a:hover { border-color: var(--signal-text); box-shadow: 0 8px 24px rgba(23,26,33,.06); }
.lls-glx-name { font-family: var(--display); font-size: 19px; font-weight: 700; letter-spacing: -0.01em; color: var(--paper) !important; line-height: 1.2; }
.lls-glx-area { font-size: 12.5px; font-weight: 600; color: var(--signal-text) !important; }
.lls-glx-desc { font-size: 14.5px; line-height: 1.5; color: var(--muted) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lls-glx-empty { padding: 24px; background: var(--ink); border: 1px dashed var(--line-strong); border-radius: var(--radius, 8px); color: var(--paper-soft) !important; }
.lls-glx-empty a { color: var(--signal-text) !important; text-decoration: underline; }
@media (max-width: 1080px) { .lls-glx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .lls-glx-grid { grid-template-columns: minmax(0, 1fr); }
    .lls-glx-nav { position: static; }
    .lls-glx-letters a, .lls-glx-letters span { min-width: 26px; height: 30px; font-size: 14px; }
}

/* Glossar-Einzelseite: breiterer, kompakterer Kopf mit Badges */
.lls-gl-head { padding: clamp(52px, 6vw, 76px) 0 clamp(24px, 3vw, 32px); }
.lls-gl-head .lls-wrap, .lls-gl-layout, .lls-gl .lls-sec .lls-wrap { max-width: 1240px; }
.lls-gl-head .lls-wrap { gap: 14px; }
.lls-gl-head h1 { font-size: clamp(30px, 3.3vw, 46px); line-height: 1.1; max-width: 26em; }
.lls-gl-lead { font-size: clamp(17px, 1.35vw, 19px); max-width: 52em; }
.lls-gl-meta { display: flex; align-items: center; justify-content: space-between; gap: 14px 24px; flex-wrap: wrap; margin-top: 6px; padding-top: 16px; border-top: 1px solid var(--line); }
.lls-gl-byline { padding-top: 0; gap: 10px; }
.lls-gl-byline img { width: 40px; height: 40px; }
.lls-gl-byline span { font-size: 13px; }
.lls-gl-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.lls-gl-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 999px; background: var(--panel-2); font-size: 13px; font-weight: 500; line-height: 1.2; color: var(--paper-soft) !important; white-space: nowrap; }
.lls-gl-badge svg { flex: none; opacity: .75; }
.lls a.lls-gl-badge--area { background: rgba(26,115,232,.1); color: var(--signal-text) !important; font-weight: 600; text-decoration: none; }
.lls a.lls-gl-badge--area:hover { background: rgba(26,115,232,.18); }
.lls-gl-layout { grid-template-columns: minmax(0, 1fr) 320px; }
.lls-prose { max-width: 760px; }


/* Aktiver Abschnitt im Inhaltsverzeichnis */
.lls-gl-toc a.is-active { color: var(--signal-text) !important; border-left-color: var(--signal-text); font-weight: 600; }
.lls-prose h2[id] { scroll-margin-top: 110px; }
@media (max-width: 640px) { .lls-gl-meta { align-items: flex-start; } }

/* =========================================================
   Blog – Karten, Übersicht, Teaser, Artikel
   ========================================================= */
.lls-bl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.lls-bl-card { display: flex; flex-direction: column; background: var(--ink); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; transition: box-shadow .15s ease, border-color .15s ease; }
.lls-bl-card:hover { border-color: var(--signal-text); box-shadow: 0 10px 28px rgba(23,26,33,.08); }
.lls a.lls-bl-media { display: block; aspect-ratio: 16 / 9; background: var(--panel-2); overflow: hidden; }
.lls-bl-media img { width: 100%; height: 100%; object-fit: cover; }
.lls-bl-body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 22px; }
.lls-bl-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 13px; color: var(--muted) !important; }
.lls-bl-rubrik { color: var(--signal-text) !important; font-weight: 600; }
.lls-bl-card h3 { font-size: 20px; line-height: 1.25; letter-spacing: -0.01em; }
.lls-bl-card h3 a { text-decoration: none; }
.lls-bl-card h3 a:hover { color: var(--signal-text) !important; }
.lls-bl-excerpt { font-size: 15px; line-height: 1.55; color: var(--muted) !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lls-bl-feature { margin-bottom: 24px; }
.lls-bl-card--feature { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.lls-bl-card--feature .lls-bl-media { aspect-ratio: auto; min-height: 320px; }
.lls-bl-card--feature .lls-bl-body { padding: clamp(24px, 3vw, 40px); justify-content: center; gap: 12px; }
.lls-bl-card--feature h3 { font-size: clamp(24px, 2.4vw, 34px); }
.lls-bl-card--feature .lls-bl-excerpt { -webkit-line-clamp: 4; font-size: 16.5px; }
.lls-bl-hero .lls-wrap { display: flex; flex-direction: column; gap: 18px; }
.lls-bl-hero h1 { max-width: 22em; }
.lls-bl-themes { margin-top: 6px; }
.lls a.lls-pf-tag.is-on { background: var(--signal); border-color: var(--signal); color: #FFFFFF !important; }
.lls-pf-tag span { opacity: .7; margin-left: 4px; }
.lls-bl-list { padding-top: clamp(32px, 4vw, 48px); }
.lls-bl-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 40px; }
.lls-bl-pages a, .lls-bl-pages span { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; border-radius: var(--radius, 8px); border: 1px solid var(--line); background: var(--ink); text-decoration: none; font-weight: 600; color: var(--paper) !important; }
.lls-bl-pages a:hover { border-color: var(--signal-text); color: var(--signal-text) !important; }
.lls-bl-pages span[aria-current] { background: var(--signal); border-color: var(--signal); color: #FFFFFF !important; }
.lls-bl-teaser { background: var(--light); padding: clamp(64px, 8vw, 96px) 0; }
.lls a.lls-bl-all { color: var(--signal-text) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.lls-bl-hero-img { margin: 0 0 32px !important; }
.lls-bl-hero-img img { width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--line); }
.lls-bl-terms { margin-top: 48px; }
.lls-bl-terms ul { display: flex; flex-wrap: wrap; gap: 8px; }
.lls a.lls-pf-tag:hover { border-color: var(--signal-text); }
@media (max-width: 1080px) { .lls-bl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lls-bl-card--feature { grid-template-columns: minmax(0, 1fr); } .lls-bl-card--feature .lls-bl-media { min-height: 0; aspect-ratio: 16 / 9; } }
@media (max-width: 640px) { .lls-bl-grid { grid-template-columns: minmax(0, 1fr); } }

/* Mobil/Tablet: eine Spalte, Seitenleiste unter dem Artikel, Inhaltsverzeichnis einklappbar oben */
.lls-gl-toc-m { display: none; }
@media (max-width: 1080px) {
    .lls-gl-layout { grid-template-columns: minmax(0, 1fr); }
    .lls-gl-aside { position: static; }
    .lls-gl-aside .lls-gl-toc { display: none; }
    .lls-gl-toc-m { display: block; margin: 0 0 28px; background: var(--ink); border: 1px solid var(--line); border-radius: var(--radius, 8px); }
    .lls-gl-toc-m summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; min-height: 48px; font-weight: 600; font-size: 16px; color: var(--paper) !important; }
    .lls-gl-toc-m summary::-webkit-details-marker { display: none; }
    .lls-gl-toc-m summary span { font-weight: 500; font-size: 14px; color: var(--muted) !important; }
    .lls-gl-toc-m summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--paper); border-bottom: 2px solid var(--paper); transform: rotate(45deg); margin-top: -4px; transition: transform .2s ease; flex: none; }
    .lls-gl-toc-m[open] summary::after { transform: rotate(-135deg); margin-top: 4px; }
    .lls-gl-toc-m ol { padding: 0 18px 14px !important; display: flex; flex-direction: column; border-top: 1px solid var(--line); }
    .lls-gl-toc-m li { list-style: none; }
    .lls .lls-gl-toc-m a { display: block; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.4; color: var(--paper-soft) !important; text-decoration: none; }
    .lls-gl-toc-m li:last-child a { border-bottom: 0; }
}
@media (max-width: 1080px) {
    .lls-gl-toc-m summary { justify-content: flex-start; }
    .lls-gl-toc-m summary span { margin-left: auto; }
    .lls-prose .lls-gl-toc-m ol { gap: 0; margin: 0 !important; counter-reset: none; }
    .lls-prose .lls-gl-toc-m li { padding-left: 0; }
    .lls-prose .lls-gl-toc-m li::before { content: none; display: none; }
}

/* Blog-Übersicht: kompakter Kopf */
.lls-bl-head .lls-wrap { gap: 14px; }
.lls-bl-head h1 { font-size: clamp(32px, 3.4vw, 46px); line-height: 1.05; }
.lls-bl-head .lls-gl-lead { margin-top: 6px !important; }
.lls-bl-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px 32px; flex-wrap: wrap; }
.lls-bl-head-count { font-size: 14px; color: var(--muted) !important; white-space: nowrap; }
.lls-bl-head-count strong { font-family: var(--display); font-size: 22px; color: var(--paper) !important; margin-right: 4px; }
.lls-bl-themes { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 14px; border-top: 1px solid var(--line); }
@media (max-width: 640px) {
    .lls-bl-themes { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(-1 * var(--gutter)); padding-right: var(--gutter); scrollbar-width: none; }
    .lls-bl-themes::-webkit-scrollbar { display: none; }
    .lls-bl-themes .lls-pf-tag { white-space: nowrap; flex: none; }
}
.lls-bl-list .lls-wrap { max-width: 1240px; }

/* =========================================================
   Startseite: Hero-Beispiel „Frage → Anfrage“ und kompaktes Portfolio
   ========================================================= */
.lls-qa .lls-step-name { line-height: 1.35; }
.lls-qa-cap { padding: 10px 20px 14px; font-family: var(--mono); font-size: 11.5px; color: var(--dim) !important; border-top: 1px solid var(--line); }

.lls-portfolio--compact { padding: clamp(56px, 7vw, 88px) 0; }
.lls-pt-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.lls a.lls-pt { display: flex; flex-direction: column; background: var(--ink); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.lls a.lls-pt:hover { transform: translateY(-3px); border-color: var(--signal-text); box-shadow: 0 14px 34px rgba(23,26,33,.10); }
.lls-pt-bar { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--panel-2); border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 12px; color: var(--muted) !important; white-space: nowrap; overflow: hidden; }
.lls-pt-dot { width: 7px; height: 7px; border-radius: 50%; background: #3FB66B; flex: none; box-shadow: 0 0 0 3px rgba(63,182,107,.15); }
.lls-pt-type { margin-left: auto; padding: 3px 8px; border-radius: 999px; background: var(--ink); border: 1px solid var(--line); font-family: var(--sans); font-size: 11.5px; font-weight: 600; color: var(--paper-soft) !important; }
.lls-pt-type--partner { background: rgba(26,115,232,.1); border-color: transparent; color: var(--signal-text) !important; }
.lls-pt-body { display: flex; flex-direction: column; gap: 8px; padding: 18px 18px 20px; flex: 1; }
.lls-pt-name { font-family: var(--display); font-size: 21px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; color: var(--paper) !important; overflow-wrap: break-word; hyphens: manual; }
.lls-pt-desc { font-size: 14.5px; line-height: 1.5; color: var(--muted) !important; }
.lls-pt-kpi { margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--line); font-size: 13.5px; color: var(--paper-soft) !important; }
.lls-pt-kpi strong { display: block; font-family: var(--display); font-size: 30px; font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; color: var(--signal-text) !important; }
.lls a.lls-pt:hover .lls-pt-name { color: var(--signal-text) !important; }
.lls-pt-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; margin-top: 22px; font-size: 15px; color: var(--muted) !important; }
.lls-pt-foot a { color: var(--signal-text) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.lls a.lls-pt-all { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.lls a.lls-pt-all:hover { text-decoration: underline; }
@media (max-width: 1080px) { .lls-pt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
    .lls-pt-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .lls-pt-body { gap: 6px; padding: 16px 18px 18px; }
    .lls-pt-kpi { display: flex; align-items: baseline; gap: 8px; padding-top: 10px; margin-top: 6px; }
    .lls-pt-kpi strong { display: inline; font-size: 22px; }
}
.lls-pt-url { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.lls-pt-type { flex: none; }

/* H1 mit Markenname, Logos in den Portal-Kacheln */
.lls-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.lls-hero h1 .lls-h1-brand { display: block; margin-bottom: 12px; font-family: var(--display); font-size: clamp(22px, 2.2vw, 30px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; color: var(--signal-text) !important; }
.lls-hero-sub strong { color: var(--paper) !important; font-weight: 600; }
.lls-pt-logo { display: flex; align-items: center; height: 40px; margin-bottom: 4px; }
.lls-pt-logo img { max-height: 28px; max-width: 140px; width: auto; height: auto; object-fit: contain; }
.lls-pt-logo--mono { width: 40px; justify-content: center; border-radius: 10px; background: rgba(26,115,232,.1); font-family: var(--display); font-weight: 800; font-size: 15px; letter-spacing: -0.02em; color: var(--signal-text) !important; }

/* =========================================================
   Startseite: Fragen-Ticker im Hero + Portale direkt darunter
   ========================================================= */
.lls-hero--home { padding-bottom: clamp(40px, 5vw, 64px); }
.lls-tk-stage { padding: 18px 20px 6px; display: grid; }
.lls-tk-scene { display: flex; flex-direction: column; align-items: stretch; }
.lls-tk-scene.is-on { animation: lls-tk-in .45s ease both; }
.lls-tk-scene.is-on .lls-tk-card, .lls-tk-scene.is-on .lls-tk-arrow { animation: lls-tk-in .45s ease both; }
.lls-tk-scene.is-on > :nth-child(2) { animation-delay: .25s; }
.lls-tk-scene.is-on > :nth-child(3) { animation-delay: .45s; }
.lls-tk-scene.is-on > :nth-child(4) { animation-delay: .7s; }
.lls-tk-scene.is-on > :nth-child(5) { animation-delay: .9s; }
@keyframes lls-tk-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lls-tk-scene.is-on, .lls-tk-scene.is-on > * { animation: none !important; } }
.lls-tk-card { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--ink); }
.lls-tk-card--q { background: #252A35; }
.lls-tk-card--a { border-color: rgba(130,180,255,.45); background: rgba(26,115,232,.12); flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.lls-tk-card--a .lls-tk-label { flex-basis: 100%; }
.lls-tk-label { font-family: var(--mono); font-size: 11px; letter-spacing: .02em; color: var(--dim) !important; }
.lls-tk-q { font-family: var(--display); font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: var(--paper) !important; }
.lls-tk-domain { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 13.5px; color: var(--paper) !important; }
.lls-tk-dot { width: 7px; height: 7px; border-radius: 50%; background: #3FB66B; box-shadow: 0 0 0 3px rgba(63,182,107,.18); flex: none; }
.lls-tk-ans { font-size: 14px; color: var(--muted) !important; }
.lls-tk-lead { font-weight: 600; font-size: 15.5px; color: var(--paper) !important; margin-right: auto; }
.lls-tk-arrow { display: flex; justify-content: center; padding: 6px 0; color: var(--dim); }
.lls-tk-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 20px 14px; border-top: 1px solid var(--line); }
.lls-tk-cap { font-family: var(--mono); font-size: 11.5px; color: var(--dim) !important; }
.lls-tk-dots { display: inline-flex; gap: 6px; }
.lls-tk-dotbtn { width: 24px; height: 24px; padding: 0; border: 0; background: transparent; cursor: pointer; position: relative; }
.lls-tk-dotbtn::before { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 999px; background: var(--line-strong); transition: width .2s ease, margin .2s ease, background .2s ease; }
.lls-tk-dotbtn.is-on::before { width: 20px; margin-left: -10px; background: var(--signal-text); }
.lls-tk-dotbtn:focus-visible { outline: 2px solid var(--signal-text); outline-offset: 2px; border-radius: 6px; }

.lls-portfolio--proof { padding-top: 0; }
.lls-portfolio--proof .lls-head { border-bottom: 0; padding-bottom: 0; margin-bottom: 18px; }
.lls-portfolio--proof .lls-head h2 { font-size: clamp(22px, 2vw, 28px); }



/* Alle Szenen liegen übereinander – die Höhe richtet sich nach der längsten, nichts springt */
.lls-tk-scene { grid-area: 1 / 1; }
.lls-tk-scene[hidden] { display: flex !important; visibility: hidden; opacity: 0; pointer-events: none; }
.lls-portfolio--proof { padding-top: clamp(28px, 3vw, 40px); }
.lls-portfolio--proof .lls-head { align-items: baseline; }

/* =========================================================
   Startseite als Geschichte: Kapitel-Marken, Wandel, These
   ========================================================= */
.lls-chapter { display: inline-block; margin-bottom: 12px; font-family: var(--mono); font-size: 12.5px; letter-spacing: .02em; color: var(--signal-text) !important; }
.lls-head--chapter { align-items: flex-end; }
.lls-portfolio .lls-head > div, .lls-studio .lls-head > div { display: flex; flex-direction: column; }

.lls-shift { padding: clamp(64px, 8vw, 104px) 0; border-top: 1px solid var(--line); }
.lls-shift-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lls-shift-steps li { position: relative; padding: 26px 24px 28px; background: var(--ink); border: 1px solid var(--line); border-radius: 12px; display: flex; flex-direction: column; gap: 10px; }
.lls-shift-steps li + li::before { content: ""; position: absolute; left: -17px; top: 50%; width: 16px; height: 1px; background: var(--line-strong); }
.lls-shift-when { font-family: var(--mono); font-size: 12px; color: var(--muted) !important; }
.lls-shift-steps h3 { font-size: clamp(20px, 1.8vw, 24px); line-height: 1.2; }
.lls-shift-steps p { font-size: 15.5px; color: var(--muted) !important; }
.lls-shift-steps li.is-next { background: #171A21; border-color: #171A21; }
.lls-shift-steps li.is-next h3 { color: #F3F5F8 !important; }
.lls-shift-steps li.is-next p { color: #C9CFD8 !important; }
.lls-shift-steps li.is-next .lls-shift-when { color: #82B4FF !important; }

.lls-thesis { background: #171A21; padding: clamp(72px, 9vw, 120px) 0; }
.lls-thesis-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: end; }
.lls-thesis h2 { font-size: clamp(34px, 3.8vw, 56px); line-height: 1.05; letter-spacing: -0.035em; color: #F3F5F8 !important; max-width: 14em; }
.lls-thesis .lls-chapter { color: #82B4FF !important; }
.lls-thesis-text { display: flex; flex-direction: column; gap: 16px; }
.lls-thesis-text p { font-size: clamp(17px, 1.35vw, 19px); line-height: 1.6; color: #C9CFD8 !important; }
.lls-thesis-text p:last-child { color: #F3F5F8 !important; font-weight: 500; }

@media (max-width: 980px) {
    .lls-shift-steps { grid-template-columns: minmax(0, 1fr); }
    .lls-shift-steps li + li::before { left: 50%; top: -17px; width: 1px; height: 16px; }
    .lls-thesis-grid { grid-template-columns: minmax(0, 1fr); align-items: start; }
}

/* =========================================================
   Feinschliff „edler“: hellere dunkle Flächen, ruhigere Abstände
   ========================================================= */
.lls { --line: #E3E7EE; --line-strong: #CBD2DC; }

/* Dunkle Inseln etwas heller und mit mehr Tiefe */
.lls .lls-system, .lls .lls-crm, .lls .lls-stack, .lls .lls-ref, .lls .lls-thesis {
    --ink: #1F2430; --panel: #262C38; --panel-2: #2E3542; --line: #3A4250; --line-strong: #4F5869;
}
.lls .lls-system, .lls .lls-crm { background: var(--panel); border: 1px solid #343B48; box-shadow: 0 1px 0 rgba(255,255,255,.04) inset, 0 20px 48px rgba(23, 26, 33, .16); }
.lls .lls-stack, .lls .lls-thesis {
    background: radial-gradient(900px 360px at 85% 0%, rgba(26,115,232,.16), transparent 62%), linear-gradient(180deg, #232833 0%, #1C2029 100%);
}
.lls .lls-ref { background: linear-gradient(135deg, #252A35 0%, #1E222B 100%); border: 1px solid #343B48; }
.lls-tk-card--q { background: var(--panel-2); }
.lls-shift-steps li.is-next { background: linear-gradient(160deg, #262C38 0%, #1E232D 100%); border-color: #343B48; }

/* Ruhigere Abstände */
.lls-hero { padding: clamp(52px, 6.5vw, 88px) 0 clamp(52px, 6vw, 80px); }
.lls-hero--home { padding-bottom: clamp(36px, 4.5vw, 56px); }
.lls-sec { padding: clamp(60px, 7vw, 100px) 0; }
.lls-shift, .lls-thesis, .lls-portfolio--compact, .lls-model, .lls-biz, .lls-stack, .lls-studio, .lls-faq, .lls-bl-teaser { padding-top: clamp(56px, 6.5vw, 92px); padding-bottom: clamp(56px, 6.5vw, 92px); }
.lls-paths { padding: clamp(48px, 5.5vw, 76px) 0; }
.lls-cta { padding: clamp(60px, 7vw, 96px) 0; }
.lls-head, .lls-sec-head { margin-bottom: clamp(24px, 3vw, 36px); }

/* Edlere Typografie und Flächen */
.lls h2 { font-weight: 650; }
.lls-head h2, .lls-sec-head h2, .lls-stack-intro h2, .lls-faq h2 { letter-spacing: -0.028em; }
.lls a.lls-pt, .lls-shift-steps li, .lls-bl-card, .lls-gl-cta, .lls-way, .lls-role, .lls-compare-col { box-shadow: 0 1px 2px rgba(23,26,33,.04); }
.lls a.lls-pt:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(23,26,33,.08); }
.lls-pt-bar { background: linear-gradient(180deg, #F7F8FB 0%, #EEF1F5 100%); }
.lls-pt-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.lls-pt-chips span { padding: 3px 9px; border-radius: 999px; background: var(--panel-2); font-size: 12px; font-weight: 500; color: var(--paper-soft) !important; }

/* Markenzeile über der H1 und Beispiel-Hinweis im Ticker */
.lls-hero h1 .lls-h1-brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; padding: 7px 14px 7px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--ink); box-shadow: 0 1px 2px rgba(23,26,33,.05); font-family: var(--display); font-size: 16px; font-weight: 700; letter-spacing: -0.01em; line-height: 1; color: var(--paper) !important; }
.lls-h1-mark { width: 18px; height: 18px; border-radius: 5px; background: linear-gradient(135deg, #1A73E8 0%, #5B9BFF 100%); box-shadow: 0 2px 6px rgba(26,115,232,.35); flex: none; }
.lls-hero h1 .lls-h1-brand + span { display: block; }
.lls-tk-badge { padding: 3px 9px; border: 1px solid var(--line-strong); border-radius: 999px; font-family: var(--mono); font-size: 11px; color: var(--muted) !important; }

/* Inhaltsbreite auf dem Desktop: höchstens 1.160 px (zuzüglich Seitenrand) */
.lls { --wrap: calc(1160px + 2 * var(--gutter)); }
.lls .lls-wrap, .lls-gl-head .lls-wrap, .lls-gl .lls-sec .lls-wrap, .lls-bl-list .lls-wrap { max-width: var(--wrap); }
.lls-gl-layout { max-width: var(--wrap); grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(40px, 4.5vw, 64px); }
@media (max-width: 1080px) { .lls-gl-layout { grid-template-columns: minmax(0, 1fr); } }

/* =========================================================
   Kontakt: aufgewertete Formularkarte, mobile Reihenfolge
   ========================================================= */
.lls-contact-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); grid-template-areas: "intro form" "aside form"; grid-template-rows: auto 1fr; row-gap: 32px; }
.lls-contact-intro { grid-area: intro; }
.lls-contact-aside { grid-area: aside; display: flex; flex-direction: column; gap: 22px; align-self: start; }
.lls-contact-grid .lls-form-card { grid-area: form; }

.lls-form-card { border-radius: 16px; border: 1px solid var(--line); background: #FFFFFF; box-shadow: 0 1px 2px rgba(23,26,33,.04), 0 24px 56px rgba(23,26,33,.08); padding: clamp(22px, 3vw, 34px); }
.lls-form-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.lls-form-title { font-family: var(--display); font-size: 22px; font-weight: 700; letter-spacing: -0.02em; color: var(--paper) !important; line-height: 1.2; }
.lls-form-sub { margin-top: 4px !important; font-size: 13.5px; color: var(--muted) !important; }
.lls-form-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: rgba(63,182,107,.1); color: #23804A !important; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.lls-form-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 10px !important; padding: 0 !important; }
.lls-form-steps li { list-style: none; display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; color: var(--muted) !important; }
.lls-form-steps li span { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--line-strong); font-size: 11.5px; font-weight: 700; color: var(--muted) !important; flex: none; }
.lls-form-steps li.is-on { color: var(--paper) !important; }
.lls-form-steps li.is-on span { background: var(--signal); border-color: var(--signal); color: #FFFFFF !important; }
.lls-form-steps li.is-done span { background: rgba(26,115,232,.12); border-color: transparent; color: var(--signal-text) !important; }
.lls-form-track { height: 3px; margin: 0 0 24px; border-radius: 999px; background: var(--line); overflow: hidden; }
.lls-form-bar { border-radius: 999px; background: linear-gradient(90deg, #1A73E8, #5B9BFF); }

.lls-fstep legend { font-size: clamp(20px, 2vw, 24px); }
.lls-opt-box { position: relative; border-radius: 10px; background: #FFFFFF; padding-right: 40px; }
.lls-opt-box::after { content: ""; position: absolute; right: 14px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%; border: 1.5px solid var(--line-strong); background: #FFFFFF; transition: all .15s ease; }
.lls-opt input:checked + .lls-opt-box { border-color: var(--signal); background: rgba(26,115,232,.06); box-shadow: 0 0 0 3px rgba(26,115,232,.10); }
.lls-opt input:checked + .lls-opt-box::after { border-color: var(--signal); background: var(--signal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat; }
.lls-opt:hover .lls-opt-box { border-color: var(--signal-text); }
.lls-field input, .lls-field textarea { background: #FFFFFF !important; border-color: var(--line-strong); }
.lls-field input:hover, .lls-field textarea:hover { border-color: var(--muted); }
.lls-consent { padding: 12px 14px; border-radius: 10px; background: var(--panel-2); }
.lls-fnav .lls-btn--signal { min-width: 200px; }
.lls-form-trust { display: flex; align-items: center; gap: 8px; margin-top: 14px !important; font-size: 13px; color: var(--muted) !important; }
.lls-form-trust svg { color: #3FB66B; flex: none; }

.lls-contact-people { padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; background: #FFFFFF; }
.lls-contact-direct { border-top: 0; padding-top: 0; }

@media (max-width: 1080px) {
    .lls-contact-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "form" "aside"; grid-template-rows: auto; row-gap: 28px; }
}
@media (max-width: 560px) {
    .lls-form-steps li { font-size: 12px; gap: 6px; }
    .lls-fnav { flex-wrap: wrap; }
    .lls-fnav .lls-btn--signal { flex: 1 1 100%; order: -1; min-width: 0; }
    .lls-fnav .lls-fback { order: 1; }
}

/* Leistungsseiten */
.lls-seo-more { margin-top: 20px !important; font-size: 15px; color: var(--muted) !important; }
.lls-seo-more a { color: var(--signal-text) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.lls-pt-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lls-pt--static { display: flex; flex-direction: column; background: var(--ink); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: 0 1px 2px rgba(23,26,33,.04); }
@media (max-width: 1080px) { .lls-pt-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .lls-pt-grid--3 { grid-template-columns: minmax(0, 1fr); } }

/* Standort-Abschnitt auf Leistungsseiten */
.lls-local { border-top: 1px solid var(--line); }
.lls-local-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.lls-local h2 { font-size: clamp(26px, 2.6vw, 36px); line-height: 1.12; margin: 0 0 14px !important; }
.lls-local p { color: var(--paper-soft) !important; max-width: 36em; }
.lls-local-card { display: flex; flex-direction: column; gap: 4px; padding: 22px 24px; background: var(--ink); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 1px 2px rgba(23,26,33,.04); font-style: normal; color: var(--paper-soft) !important; }
.lls-local-name { font-weight: 600; color: var(--paper) !important; margin-bottom: 4px; }
.lls-local-card a { color: var(--signal-text) !important; text-decoration: underline; text-underline-offset: 3px; }
.lls-local-map { margin-top: 8px; font-weight: 600; }
@media (max-width: 980px) { .lls-local-grid { grid-template-columns: minmax(0, 1fr); } }
.lls a.lls-cell-link { display: inline-block; margin-top: 12px; font-size: 14.5px; font-weight: 600; color: var(--signal-text) !important; text-decoration: none; }
.lls a.lls-cell-link::after { content: " →"; }
.lls a.lls-cell-link:hover { text-decoration: underline; text-underline-offset: 3px; }

/* =========================================================
   Messe-Portal
   ========================================================= */
.lls-me-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.lls-me-grid[hidden], .lls-me-card[hidden], .lls-me-h[hidden] { display: none !important; }
.lls-me-h { font-size: clamp(22px, 2vw, 28px); margin: 0 0 16px !important; }
.lls-me-grid + .lls-me-h { margin-top: 44px !important; }
.lls a.lls-me-card { display: flex; gap: 18px; padding: 18px; background: var(--ink); border: 1px solid var(--line); border-radius: 12px; text-decoration: none; box-shadow: 0 1px 2px rgba(23,26,33,.04); transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.lls a.lls-me-card:hover { border-color: var(--signal-text); box-shadow: 0 12px 30px rgba(23,26,33,.08); transform: translateY(-2px); }
.lls-me-date { flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 74px; padding: 10px 6px; border-radius: 10px; background: linear-gradient(160deg, #262C38 0%, #1E232D 100%); color: #F3F5F8 !important; text-align: center; line-height: 1.05; }
.lls-me-date.is-open { background: var(--panel-2); color: var(--muted) !important; }
.lls-me-d { font-family: var(--display); font-size: 28px; font-weight: 700; }
.lls-me-m { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; margin-top: 2px; color: #82B4FF !important; }
.lls-me-date.is-open .lls-me-m { color: var(--muted) !important; }
.lls-me-y { font-family: var(--mono); font-size: 11.5px; margin-top: 4px; opacity: .75; }
.lls-me-body { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.lls-me-kat { font-size: 12.5px; font-weight: 600; color: var(--signal-text) !important; }
.lls-me-name { font-family: var(--display); font-size: 21px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; color: var(--paper) !important; }
.lls-me-desc { font-size: 14.5px; line-height: 1.5; color: var(--muted) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lls-me-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.lls-me-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.lls-me-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.lls-me-badge--been { background: rgba(63,182,107,.12); color: #23804A !important; }
.lls-me-badge--join { background: rgba(26,115,232,.12); color: var(--signal-text) !important; }
.lls-me-badge--report { background: var(--panel-2); color: var(--paper-soft) !important; }
.lls-me-herobadges { margin: 4px 0 0 !important; padding: 0 !important; }
.lls-me-facts dl { margin: 0 !important; padding: 8px 20px 12px; }
.lls-me-facts dl > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px dashed var(--line); }
.lls-me-facts dl > div:last-child { border-bottom: 0; }
.lls-me-facts dt { font-family: var(--mono); font-size: 12px; color: var(--dim) !important; font-weight: 400; }
.lls-me-facts dd { margin: 0 !important; font-size: 15px; font-weight: 600; color: var(--paper) !important; }
.lls-me-st { padding: 3px 9px; border-radius: 999px; font-family: var(--mono); font-size: 11px; border: 1px solid var(--line-strong); color: var(--muted) !important; }
.lls-me-st--live { border-color: rgba(63,182,107,.5); color: #7BD99B !important; }
.lls-me-themen { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 !important; margin: 0 0 8px !important; }
.lls-prose .lls-me-themen li { list-style: none; padding: 5px 11px !important; border-radius: 999px; background: var(--panel-2); font-size: 14px; }
.lls-prose .lls-me-themen li::before { content: none !important; }
.lls-me-hinweis { margin-top: 28px !important; font-size: 13.5px !important; color: var(--muted) !important; }
.lls-me-hinweis a { color: var(--signal-text) !important; }
.lls-me-legend { display: inline-flex; gap: 6px; margin-left: 6px; vertical-align: middle; }
.lls-me-main { padding-top: clamp(32px, 4vw, 52px); }
@media (max-width: 900px) { .lls-me-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .lls-me-date { width: 62px; } .lls-me-d { font-size: 24px; } .lls-me-facts dl > div { grid-template-columns: 92px minmax(0, 1fr); } }
.lls-me-facts figcaption { padding: 10px 20px 14px; border-top: 1px solid var(--line); }
.lls-prose ul.lls-me-themen { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 8px; }
.lls-prose ul.lls-me-themen li { display: inline-flex; width: auto; margin: 0 !important; line-height: 1.3; }

/* =========================================================
   Gründerprofile
   ========================================================= */
.lls-pr-hero h1 { font-size: clamp(40px, 5vw, 64px); }
.lls-pr-hero .lls-chapter { margin-bottom: 14px; }
.lls a.lls-pr-li { display: inline-flex; align-items: center; gap: 8px; }
.lls-pr-card { margin: 0; display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 0; align-items: stretch; border-radius: 14px; overflow: hidden; box-shadow: 0 20px 48px rgba(23,26,33,.14); }
.lls-pr-card > img { width: 100%; height: 100%; object-fit: cover; background: var(--panel-2); }
.lls .lls-pr-facts { border-radius: 0; box-shadow: none; border: 0; }
.lls-pr-about { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 72px); }
.lls-pr-bio p { font-size: clamp(16.5px, 1.3vw, 18px); line-height: 1.7; color: var(--paper-soft) !important; margin: 0 0 16px !important; }
.lls-pr-bio a { color: var(--signal-text) !important; text-decoration: underline; text-underline-offset: 3px; }
.lls-cells--4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.lls-pr-timeline { list-style: none; margin: 0 !important; padding: 0 !important; position: relative; }
.lls-pr-timeline::before { content: ""; position: absolute; left: 132px; top: 8px; bottom: 8px; width: 1px; background: var(--line-strong); }
.lls-pr-timeline li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 28px; padding: 0 0 26px; position: relative; }
.lls-pr-timeline li::before { content: ""; position: absolute; left: 128px; top: 7px; width: 9px; height: 9px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 4px rgba(26,115,232,.15); }
.lls-pr-when { font-family: var(--mono); font-size: 13px; color: var(--signal-text) !important; padding-top: 2px; text-align: right; }
.lls-pr-timeline h3 { font-size: 19px; margin: 0 0 6px !important; }
.lls-pr-timeline p { font-size: 15.5px; color: var(--muted) !important; margin: 0 !important; max-width: 46em; }
.lls-pr-people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.lls a.lls-pr-person { display: grid; grid-template-columns: 160px minmax(0, 1fr); background: var(--ink); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; text-decoration: none; box-shadow: 0 1px 2px rgba(23,26,33,.04); transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.lls a.lls-pr-person:hover { border-color: var(--signal-text); box-shadow: 0 14px 34px rgba(23,26,33,.09); transform: translateY(-2px); }
.lls-pr-person > img { width: 100%; height: 100%; object-fit: cover; background: var(--panel-2); }
.lls-pr-person-body { display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 20px; }
.lls-pr-person-name { font-family: var(--display); font-size: 26px; font-weight: 700; letter-spacing: -0.02em; color: var(--paper) !important; }
.lls-pr-person-desc { font-size: 15px; line-height: 1.55; color: var(--muted) !important; }
.lls-pr-person-more { margin-top: auto; font-size: 14.5px; font-weight: 600; color: var(--signal-text) !important; }
.lls-bl-terms .lls-pf-tag span { font-size: 11.5px; opacity: .65; margin-left: 4px; }
@media (max-width: 1080px) { .lls-cells--4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .lls-pr-people { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) {
    .lls-pr-card { grid-template-columns: minmax(0, 1fr); }
    .lls-pr-card > img { aspect-ratio: 1 / 1; max-height: 340px; }
    .lls-pr-about { grid-template-columns: minmax(0, 1fr); }
    .lls-pr-timeline::before { left: 4px; }
    .lls-pr-timeline li { grid-template-columns: minmax(0, 1fr); gap: 4px; padding-left: 24px; }
    .lls-pr-timeline li::before { left: 0; }
    .lls-pr-when { text-align: left; }
    .lls a.lls-pr-person { grid-template-columns: 110px minmax(0, 1fr); }
}
@media (max-width: 560px) { .lls-cells--4 { grid-template-columns: minmax(0, 1fr) !important; } }
.lls-cells--4 h3, .lls-pr-facts dd, .lls-pr-person-name { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }

/* Profil: freistehendes Porträt und Faktenleiste */
.lls-pr-hero .lls-hero-grid { align-items: center; }
.lls-pr-portrait { position: relative; margin: 0 0 0 auto; width: min(100%, 420px); }
.lls-pr-portrait::before { content: ""; position: absolute; inset: 22px -22px -22px 22px; border-radius: 22px; background: linear-gradient(150deg, rgba(26,115,232,.18) 0%, rgba(26,115,232,.04) 100%); z-index: 0; }
.lls-pr-portrait img { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; border-radius: 22px; border: 1px solid var(--line); background: var(--panel-2); box-shadow: 0 24px 60px rgba(23,26,33,.16); }
.lls-pr-badge { position: absolute; z-index: 2; left: -18px; bottom: 28px; display: inline-flex; align-items: center; gap: 9px; padding: 10px 16px; border-radius: 999px; background: #1F2430; color: #F3F5F8 !important; font-size: 13.5px; font-weight: 600; box-shadow: 0 12px 28px rgba(23,26,33,.25); }
.lls-pr-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(36px, 4vw, 52px) 0 0 !important; padding: 0 !important; background: var(--ink); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 1px 2px rgba(23,26,33,.04); }
.lls-pr-strip > div { padding: 18px 22px; border-left: 1px solid var(--line); }
.lls-pr-strip > div:first-child { border-left: 0; }
.lls-pr-strip dt { font-family: var(--mono); font-size: 12px; font-weight: 400; color: var(--muted) !important; margin-bottom: 6px; }
.lls-pr-strip dd { margin: 0 !important; font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--paper) !important; hyphens: auto; }
@media (max-width: 980px) {
    .lls-pr-portrait { margin: 8px auto 0; width: min(78%, 360px); }
    .lls-pr-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lls-pr-strip > div:nth-child(3) { border-left: 0; }
    .lls-pr-strip > div:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 520px) {
    .lls-pr-strip { grid-template-columns: minmax(0, 1fr); }
    .lls-pr-strip > div { border-left: 0; border-top: 1px solid var(--line); }
    .lls-pr-strip > div:first-child { border-top: 0; }
    .lls-pr-badge { left: 12px; bottom: 16px; }
    .lls-pr-portrait::before { inset: 14px -10px -14px 14px; }
}

/* Profil: Porträt kleiner, auf dem Handy direkt unter der H1 */
.lls-pr-portrait { width: min(100%, 340px); }
@media (max-width: 980px) {
    .lls-pr-hero .lls-hero-grid { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
    .lls-pr-hero .lls-hero-copy { display: contents; }
    .lls-pr-hero .lls-crumbs { order: 1; }
    .lls-pr-hero .lls-chapter { order: 2; }
    .lls-pr-hero h1 { order: 3; margin-bottom: 22px !important; }
    .lls-pr-hero .lls-pr-portrait { order: 4; width: min(72%, 280px); margin: 0 0 26px 0; }
    .lls-pr-hero .lls-hero-sub { order: 5; }
    .lls-pr-hero .lls-hero-actions { order: 6; margin-top: 22px; }
}
@media (max-width: 520px) {
    .lls-pr-hero .lls-pr-portrait { width: min(70%, 240px); }
    .lls-pr-badge { font-size: 12.5px; padding: 8px 13px; }
}
@media (max-width: 980px) { .lls-pr-hero .lls-crumbs { margin-bottom: 18px; } .lls-pr-hero .lls-chapter { margin-bottom: 10px; } }
/* Profil-Übersicht: Fotos etwas breiter */
.lls a.lls-pr-person { grid-template-columns: 200px minmax(0, 1fr); }
@media (max-width: 760px) { .lls a.lls-pr-person { grid-template-columns: 130px minmax(0, 1fr); } }

/* Profil: kompakter, professioneller Kopf */
.lls-pr-head .lls-wrap { gap: 0; }
.lls-pr-top { display: flex; align-items: center; justify-content: space-between; gap: 20px 32px; flex-wrap: wrap; margin-top: 18px; }
.lls-pr-id { display: flex; align-items: center; gap: 22px; min-width: 0; }
.lls-pr-id img { flex: none; width: 112px; height: 112px; border-radius: 18px; object-fit: cover; object-position: center top; background: var(--panel-2); border: 1px solid var(--line); box-shadow: 0 8px 22px rgba(23,26,33,.10); }
.lls-pr-head h1 { font-size: clamp(32px, 3.6vw, 48px); line-height: 1.05; margin: 0 !important; }
.lls-pr-role { margin: 8px 0 0 !important; font-family: var(--mono); font-size: 13px; color: var(--signal-text) !important; }
.lls-pr-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.lls-pr-lead { margin-top: 22px !important; max-width: 52em; }
.lls-pr-head .lls-pr-strip { margin-top: 26px !important; }
@media (max-width: 760px) {
    .lls-pr-id { gap: 16px; align-items: center; }
    .lls-pr-id img { width: 76px; height: 76px; border-radius: 14px; }
    .lls-pr-head h1 { font-size: 30px; }
    .lls-pr-role { font-size: 12px; line-height: 1.45; }
    .lls-pr-actions { width: 100%; }
    .lls-pr-actions .lls-btn { flex: 1 1 auto; justify-content: center; }
    .lls-pr-lead { margin-top: 16px !important; }
}
@media (max-width: 760px) {
    .lls-pr-head .lls-wrap { display: flex; flex-direction: column; }
    .lls-pr-head .lls-crumbs { order: 1; }
    .lls-pr-top { display: contents; }
    .lls-pr-id { order: 2; margin-top: 16px; }
    .lls-pr-lead { order: 3; }
    .lls-pr-actions { order: 4; margin-top: 18px; }
    .lls-pr-head .lls-pr-strip { order: 5; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lls-pr-head .lls-pr-strip > div { padding: 14px 16px; border-top: 0; border-left: 1px solid var(--line); }
    .lls-pr-head .lls-pr-strip > div:nth-child(odd) { border-left: 0; }
    .lls-pr-head .lls-pr-strip > div:nth-child(n+3) { border-top: 1px solid var(--line); }
    .lls-pr-head .lls-pr-strip dd { font-size: 14px; }
}
@media (max-width: 760px) { .lls-pr-actions { flex-wrap: nowrap; } .lls-pr-actions .lls-btn { flex: 1 1 0; width: auto !important; min-width: 0; padding-left: 12px; padding-right: 12px; } }

/* Englische Startseite: zwei gleichwertige Angebote */
.lls-en-ways { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.lls-en-way { display: flex; flex-direction: column; gap: 12px; padding: clamp(24px, 3vw, 36px); background: var(--ink); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 1px 2px rgba(23,26,33,.04); scroll-margin-top: 110px; }
.lls-en-way-ico { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 12px; background: #EEF4FE; color: #1A73E8; }
.lls-en-way-ico svg { width: 24px; height: 24px; }
.lls-en-way h3 { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.12; letter-spacing: -0.02em; margin: 0 !important; }
.lls-en-way > p { color: var(--paper-soft) !important; font-size: 16.5px; line-height: 1.6; }
.lls-en-way ul { list-style: none; margin: 4px 0 8px !important; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.lls-en-way li { display: flex; gap: 10px; font-size: 15px; line-height: 1.5; color: var(--muted) !important; }
.lls-en-way li::before { content: ""; flex: none; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; background: rgba(26,115,232,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A73E8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 10px no-repeat; }
.lls-en-way li strong { color: var(--paper) !important; }
.lls-en-way .lls-btn { margin-top: auto; align-self: flex-start; }
#founders .lls-pr-people { margin-top: 4px; }
@media (max-width: 900px) { .lls-en-ways { grid-template-columns: minmax(0, 1fr); } .lls-en-way .lls-btn { align-self: stretch; text-align: center; justify-content: center; } }

/* =========================================================
   Trainings & Live-Sessions
   ========================================================= */
.lls-ku-h1 { font-size: clamp(32px, 3.6vw, 48px) !important; line-height: 1.08; }
.lls a.lls-ku-ref { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: var(--ink); border: 1px solid var(--line); border-radius: 12px; text-decoration: none; }
.lls a.lls-ku-ref:hover { border-color: var(--signal-text); }
.lls-ku-ref img { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; background: var(--panel-2); flex: none; }
.lls-ku-ref > span { display: flex; flex-direction: column; gap: 2px; }
.lls-ku-ref-label { font-family: var(--mono); font-size: 11.5px; color: var(--muted) !important; }
.lls-ku-ref strong { font-size: 16px; color: var(--paper) !important; }
.lls-ku-ref > span > span:last-child { font-size: 13.5px; color: var(--muted) !important; }
.lls-ku-form { display: flex; flex-direction: column; gap: 14px; }
.lls-consent--opt { background: transparent !important; padding: 0 2px !important; }
.lls-ku-submit { width: 100%; justify-content: center; }
.lls-ku-done, .lls-ku-inhouse { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.lls-ku-done p, .lls-ku-inhouse p { color: var(--paper-soft) !important; }
.lls-ku-fuer { margin-top: 14px !important; color: var(--paper-soft) !important; }
.lls-ku-ziele { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 12px; }
.lls-ku-ziele li { display: flex; gap: 12px; font-size: 17px; line-height: 1.5; color: var(--paper) !important; }
.lls-ku-ziele li::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: rgba(26,115,232,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A73E8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.lls-ku-agenda .lls-pr-when { font-size: 15px; }
