/*
 * VIS-SOL — docelowa warstwa prezentacyjna.
 * Wersja wdrożeniowa nie jest eksponowana w interfejsie.
 * Plik rozszerza istniejący system bez redukowania treści SEO/GEO.
 */

:root {
    --release-cyan: #20d8f2;
    --release-cyan-soft: rgba(32, 216, 242, .14);
    --release-line: rgba(106, 225, 240, .18);
    --release-panel: rgba(5, 16, 26, .88);
    --release-panel-strong: rgba(4, 13, 22, .96);
    --release-muted: #93a9b7;
}

.nav-links > a[href="/wiedza"] {
    display: inline-flex;
}

.footer-contact-stack {
    display: grid;
    gap: .55rem;
    margin-top: .85rem;
}

.footer-contact-stack a {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
}

.search-intent-section {
    border-block: 1px solid rgba(83, 222, 241, .08);
    background:
        radial-gradient(circle at 12% 8%, rgba(32, 216, 242, .08), transparent 28rem),
        #030a10;
}

.direct-answer {
    max-width: 1020px;
    padding: clamp(1.5rem, 3.5vw, 2.8rem);
    border: 1px solid rgba(83, 222, 241, .26);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(8, 28, 37, .96), rgba(4, 13, 20, .94));
    box-shadow: 0 22px 70px rgba(0, 0, 0, .25);
}

.direct-answer h2 {
    max-width: 820px;
    margin-bottom: 1rem;
}

.direct-answer p {
    max-width: 900px;
    margin: 0;
    color: #c0d1d7;
    font-size: clamp(1.02rem, 1.45vw, 1.18rem);
    line-height: 1.78;
}

.intent-question-layout {
    display: grid;
    grid-template-columns: minmax(260px, .68fr) minmax(0, 1.32fr);
    gap: clamp(2rem, 6vw, 5.5rem);
    margin-top: clamp(2.4rem, 5vw, 4.5rem);
}

.intent-author {
    color: var(--release-muted);
    line-height: 1.65;
}

.intent-author a {
    color: #e7faff;
    font-weight: 700;
}

.intent-proof-link {
    display: inline-flex;
    margin-top: 1rem;
}

.intent-questions {
    display: grid;
    gap: .85rem;
}

.intent-questions article {
    padding: 1.3rem 1.4rem;
    border: 1px solid rgba(83, 222, 241, .14);
    border-radius: 15px;
    background: rgba(6, 19, 27, .74);
}

.intent-questions h3 {
    margin: 0 0 .6rem;
    font-size: clamp(1rem, 1.7vw, 1.2rem);
}

.intent-questions p {
    margin: 0;
    color: #9eb2bb;
    line-height: 1.68;
}

.release-visual {
    position: relative;
    overflow: hidden;
    min-height: 360px;
    border: 1px solid var(--release-line);
    border-radius: 24px;
    background: #04101a;
    box-shadow: 0 26px 80px rgba(0, 0, 0, .38), inset 0 0 70px rgba(20, 207, 234, .05);
}

.release-visual picture,
.release-visual img {
    display: block;
    width: 100%;
    height: 100%;
}

.release-visual img {
    position: absolute;
    inset: 0;
    object-fit: cover;
}

.release-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(3, 10, 17, .08), transparent 55%, rgba(3, 10, 17, .28));
    pointer-events: none;
}

.release-visual figcaption {
    position: absolute;
    z-index: 2;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
    border: 1px solid rgba(97, 225, 244, .24);
    border-radius: 12px;
    background: rgba(3, 12, 20, .82);
    backdrop-filter: blur(10px);
    color: #dffbff;
    font-size: .82rem;
}

.content-hero-grid,
.technology-hero-grid,
.platform-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
}

/* The generic page-hero grid has higher selector specificity in visual-v5.css.
   Keep editorial hero artwork wide enough to show the complete 3:2 illustration. */
.page-hero .container.content-hero-grid,
.page-hero .container.technology-hero-grid,
.page-hero .container.platform-hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(400px, .78fr);
    align-items: center;
    gap: clamp(2rem, 4vw, 4.25rem);
}

.content-hero-grid .release-visual,
.technology-hero-grid .release-visual,
.platform-hero-grid .release-visual {
    min-height: 0;
    aspect-ratio: 4 / 3;
}

.content-hero-grid .release-visual img,
.technology-hero-grid .release-visual img,
.platform-hero-grid .release-visual img {
    object-fit: contain;
    object-position: center;
}

.platform-hero-grid .platform-scorecard {
    margin-top: 1rem;
}

.knowledge-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.5rem;
}

.knowledge-tabs a {
    padding: .62rem .9rem;
    border: 1px solid var(--release-line);
    border-radius: 999px;
    color: #bcecf3;
    text-decoration: none;
    font-size: .84rem;
}

.knowledge-tabs a:hover,
.knowledge-tabs a:focus-visible {
    border-color: var(--release-cyan);
    background: var(--release-cyan-soft);
    color: #fff;
}

.quick-help-grid,
.knowledge-feature-grid,
.case-study-grid {
    display: grid;
    gap: 1rem;
}

.quick-help-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.knowledge-feature-grid {
    grid-template-columns: 1.08fr repeat(2, minmax(0, .96fr));
}

.case-study-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quick-help-card,
.knowledge-feature-card,
.case-study-card,
.release-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--release-line);
    border-radius: 18px;
    background: linear-gradient(150deg, rgba(7, 25, 39, .92), rgba(3, 12, 20, .94));
    box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}

.quick-help-card,
.release-panel {
    padding: clamp(1.25rem, 2.6vw, 2rem);
}

.quick-help-card {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    min-height: 260px;
}

.quick-help-card .card-icon {
    margin-bottom: 1.1rem;
}

.quick-help-card h3 {
    margin: 0 0 .7rem;
}

.quick-help-card p {
    color: var(--release-muted);
}

.quick-help-card .text-link {
    align-self: end;
}

.knowledge-feature-card,
.case-study-card {
    display: flex;
    flex-direction: column;
}

.knowledge-card-art,
.case-study-art {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #04101a;
}

.knowledge-card-art img,
.case-study-art img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.knowledge-feature-card:hover .knowledge-card-art img,
.case-study-card:hover .case-study-art img {
    transform: scale(1.025);
}

.knowledge-card-copy,
.case-study-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: clamp(1.25rem, 2.6vw, 2rem);
}

.knowledge-card-copy h3,
.case-study-copy h3 {
    margin: .45rem 0 .75rem;
}

.knowledge-card-copy p,
.case-study-copy p {
    color: var(--release-muted);
}

.knowledge-card-copy .text-link,
.case-study-copy .text-link {
    margin-top: auto;
    padding-top: 1rem;
}

.content-labels {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: 1rem;
}

.content-labels span {
    padding: .38rem .58rem;
    border: 1px solid rgba(84, 217, 237, .16);
    border-radius: 7px;
    background: rgba(20, 191, 219, .06);
    color: #9edbe5;
    font-size: .72rem;
}

.case-result {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: .85rem;
    margin: 1.1rem 0;
    padding: .9rem 1rem;
    border-left: 2px solid var(--release-cyan);
    background: rgba(26, 195, 219, .065);
}

.case-result strong {
    font-family: "Space Grotesk", sans-serif;
    color: #e7fcff;
    font-size: clamp(1.35rem, 3vw, 2rem);
}

.case-result span {
    color: #a8c0cb;
    font-size: .82rem;
}

.case-note {
    margin-top: .8rem;
    padding-top: .8rem;
    border-top: 1px solid var(--release-line);
    color: #839ca9;
    font-size: .78rem;
}

.support-entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid rgba(48, 220, 241, .26);
    border-radius: 22px;
    background:
        linear-gradient(115deg, rgba(13, 64, 78, .34), rgba(3, 14, 23, .94) 58%),
        var(--release-panel-strong);
}

.support-entry h2 {
    margin: .35rem 0 .7rem;
}

.support-entry p {
    max-width: 760px;
    color: #a6bcc7;
}

.support-scope {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.support-scope > div {
    padding: 1rem;
    border: 1px solid rgba(94, 221, 239, .14);
    border-radius: 12px;
    background: rgba(0, 0, 0, .12);
}

.support-scope strong {
    display: block;
    margin-bottom: .35rem;
    color: #d8f8fb;
}

.support-scope span {
    color: #8fa6b2;
    font-size: .82rem;
}

.article-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    align-items: start;
    gap: clamp(2rem, 5vw, 5rem);
}

.article-body {
    max-width: 820px;
}

.article-body h2 {
    margin: 2.5rem 0 .85rem;
}

.article-body h3 {
    margin: 1.7rem 0 .65rem;
}

.article-body p,
.article-body li {
    color: #a9bdc8;
}

.article-body ol,
.article-body ul {
    display: grid;
    gap: .75rem;
    padding-left: 1.35rem;
}

.article-body strong {
    color: #e5f9fb;
}

.article-aside {
    position: sticky;
    top: 108px;
    display: grid;
    gap: 1rem;
}

.article-aside .release-panel {
    padding: 1.2rem;
}

.article-aside a {
    color: #aeeaf2;
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1.3rem;
    margin-top: 1.2rem;
    color: #8ea7b4;
    font-size: .82rem;
}

.article-meta span {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
}

.article-lead-visual {
    margin-top: 1.5rem;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border: 1px solid var(--release-line);
    border-radius: 18px;
}

.article-lead-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-callout {
    margin: 1.8rem 0;
    padding: 1.15rem 1.3rem;
    border-left: 2px solid var(--release-cyan);
    border-radius: 0 12px 12px 0;
    background: rgba(25, 197, 219, .07);
}

.article-callout strong {
    display: block;
    margin-bottom: .3rem;
}

.process-table {
    display: grid;
    gap: .65rem;
    margin: 1.4rem 0;
}

.process-table > div {
    display: grid;
    grid-template-columns: 44px minmax(150px, .72fr) minmax(0, 1.28fr);
    gap: .9rem;
    align-items: start;
    padding: .9rem;
    border: 1px solid rgba(92, 220, 238, .14);
    border-radius: 10px;
    background: rgba(6, 20, 31, .62);
}

.process-table b {
    color: var(--release-cyan);
    font-family: "Space Grotesk", sans-serif;
}

.process-table strong {
    color: #e1f6f9;
}

.process-table span {
    color: #91aab7;
    font-size: .88rem;
}

.tech-layer-list {
    display: grid;
    gap: .8rem;
}

.tech-layer {
    display: grid;
    grid-template-columns: 44px 155px 1fr;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--release-line);
    border-radius: 14px;
    background: rgba(5, 20, 31, .74);
}

.tech-layer > i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(44, 219, 240, .35);
    border-radius: 10px;
    color: var(--release-cyan);
    background: rgba(30, 208, 232, .07);
}

.tech-layer strong {
    color: #e0f7fa;
}

.tech-layer span {
    color: #90a7b3;
    font-size: .88rem;
}

.tenant-boundaries {
    display: grid;
    grid-template-columns: 1fr 100px 1fr;
    align-items: stretch;
    gap: 1rem;
}

.tenant-card {
    padding: 1.4rem;
    border: 1px solid var(--release-line);
    border-radius: 16px;
    background: rgba(5, 18, 29, .82);
}

.tenant-card h3 {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.tenant-card ul {
    display: grid;
    gap: .55rem;
    list-style: none;
    padding: 0;
}

.tenant-card li {
    display: flex;
    gap: .55rem;
    color: #94acb7;
}

.tenant-card li i {
    color: var(--release-cyan);
}

.tenant-separator {
    display: grid;
    place-items: center;
    border: 1px dashed rgba(57, 218, 238, .28);
    border-radius: 16px;
    color: var(--release-cyan);
    text-align: center;
}

.tenant-separator i {
    font-size: 1.7rem;
}

.tenant-separator small {
    display: block;
    margin-top: .4rem;
    color: #7e9aa7;
}

.observability-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
}

.observability-grid article {
    min-height: 170px;
    padding: 1.1rem;
    border: 1px solid var(--release-line);
    border-radius: 14px;
    background: rgba(4, 17, 28, .78);
}

.observability-grid i {
    color: var(--release-cyan);
    font-size: 1.25rem;
}

.observability-grid h3 {
    margin: 1rem 0 .45rem;
}

.observability-grid p {
    color: #8fa7b3;
    font-size: .84rem;
}

.release-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .4rem .65rem;
    border: 1px solid rgba(48, 219, 240, .24);
    border-radius: 999px;
    background: rgba(23, 197, 220, .06);
    color: #9ee6ef;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.home-help-section .section-head {
    margin-bottom: 1.4rem;
}

.home-help-section .case-study-grid {
    margin-top: 1rem;
}

.process-five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 1120px) {
    .content-hero-grid,
    .technology-hero-grid,
    .platform-hero-grid {
        grid-template-columns: 1fr;
    }

    .page-hero .container.content-hero-grid,
    .page-hero .container.technology-hero-grid,
    .page-hero .container.platform-hero-grid {
        grid-template-columns: 1fr;
    }

    .knowledge-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .knowledge-feature-card:first-child {
        grid-column: 1 / -1;
    }

    .observability-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .process-five {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .quick-help-grid,
    .case-study-grid,
    .support-scope,
    .article-layout {
        grid-template-columns: 1fr;
    }

    .support-entry {
        grid-template-columns: 1fr;
    }

    .article-aside {
        position: static;
    }

    .tenant-boundaries {
        grid-template-columns: 1fr;
    }

    .process-five {
        grid-template-columns: 1fr;
    }

    .tenant-separator {
        min-height: 100px;
    }

    .tech-layer {
        grid-template-columns: 44px 1fr;
    }

    .tech-layer span {
        grid-column: 1 / -1;
    }

    .intent-question-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .knowledge-feature-grid,
    .observability-grid {
        grid-template-columns: 1fr;
    }

    .knowledge-feature-card:first-child {
        grid-column: auto;
    }

    .release-visual {
        min-height: 0;
        aspect-ratio: 3 / 2;
    }

    .content-hero-grid .release-visual,
    .technology-hero-grid .release-visual,
    .platform-hero-grid .release-visual {
        aspect-ratio: 3 / 2;
    }

    .release-visual img {
        object-fit: contain;
        object-position: center;
    }

    .release-visual figcaption {
        display: none;
    }

    .process-table > div {
        grid-template-columns: 34px 1fr;
    }

    .process-table span {
        grid-column: 2;
    }
}

@media (prefers-reduced-motion: reduce) {
    .knowledge-card-art img,
    .case-study-art img {
        transition: none;
    }
}
/* Author profile — additive layer for the existing Vis-Sol visual system. */
.author-hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(320px,.72fr);gap:clamp(34px,6vw,88px);align-items:center}
.author-hero .page-hero-copy h1 span{color:var(--cyan)}
.author-statuses{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}
.author-statuses span{padding:9px 12px;border:1px solid rgba(83,222,241,.2);border-radius:999px;background:rgba(8,24,32,.72);color:#b9cbd2;font-size:.78rem}
.author-portrait{position:relative;max-width:520px;margin:0 0 0 auto;border:1px solid rgba(83,222,241,.28);border-radius:22px;overflow:hidden;background:#071018;box-shadow:0 28px 80px rgba(0,0,0,.42),0 0 36px rgba(32,208,232,.09)}
.author-portrait:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 64%,rgba(3,8,13,.92))}
.author-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.author-portrait figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:grid;gap:4px}
.author-portrait figcaption span{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--cyan)}
.author-portrait figcaption strong{font-size:.95rem;color:#fff}
.author-story-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(42px,7vw,100px);align-items:start}
.author-story{max-width:820px}.author-story h2,.author-longform h2{max-width:720px}.author-story p,.author-longform p,.author-transparency p{color:#aebfc7;line-height:1.82}
.author-principle{position:sticky;top:120px;padding:26px;border:1px solid rgba(83,222,241,.18);border-radius:18px;background:linear-gradient(145deg,rgba(10,28,36,.92),rgba(4,10,15,.94))}
.author-principle p{margin:0;padding:10px 13px;border:1px solid rgba(255,255,255,.075);border-radius:10px;background:rgba(255,255,255,.025);font-weight:700;color:#eaf7fa}
.author-principle i{display:block;width:12px;margin:8px auto;color:var(--cyan);font-size:.72rem}
.author-longform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,6vw,88px)}
.author-longform article{padding:clamp(24px,4vw,46px);border:1px solid rgba(83,222,241,.16);border-radius:20px;background:rgba(5,16,23,.74)}
.author-competence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.author-competence-grid article,.author-publications article{padding:25px;border:1px solid rgba(83,222,241,.16);border-radius:17px;background:linear-gradient(145deg,rgba(9,24,31,.86),rgba(4,10,15,.93))}
.author-competence-grid article>i{font-size:1.35rem;color:var(--cyan);margin-bottom:20px}
.author-competence-grid ul{margin:14px 0 0;padding-left:18px;color:#9db0b9;line-height:1.65;font-size:.88rem}
.author-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.author-topic-grid>a{display:flex;flex-direction:column;min-height:260px;padding:24px;border:1px solid rgba(83,222,241,.17);border-radius:17px;background:linear-gradient(145deg,rgba(9,24,31,.9),rgba(4,10,15,.96));color:inherit;text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.author-topic-grid>a:hover{transform:translateY(-3px);border-color:rgba(83,222,241,.42)}
.author-topic-grid>a>i{margin-bottom:24px;color:var(--cyan);font-size:1.35rem}
.author-topic-grid strong{color:#f1fcff;font-size:1.05rem}.author-topic-grid span{margin-top:10px;color:#98adb6;line-height:1.58;font-size:.86rem}
.author-topic-grid em{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:18px;color:var(--cyan);font-size:.78rem;font-style:normal;font-weight:700}
.author-transparency{display:grid;grid-template-columns:.56fr 1.44fr;gap:clamp(36px,7vw,100px)}
.author-transparency-grid{display:grid;gap:18px}
.author-transparency-grid article{padding:26px;border-left:2px solid var(--cyan);background:rgba(5,16,23,.58)}
.author-publications{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.author-publications article:first-child,.author-publications article:nth-child(2){grid-column:span 1}
.author-publications h3 a{color:#effbff;text-decoration:none}.author-publications h3 a:hover{color:var(--cyan)}
.publication-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0;color:#7f98a3;font-size:.76rem}
.author-byline{display:grid;grid-template-columns:48px minmax(180px,1fr) auto;gap:14px;align-items:center;margin:25px 0 0;padding:15px;border:1px solid rgba(83,222,241,.16);border-radius:15px;background:rgba(6,19,26,.76)}
.author-byline>img{width:48px;height:60px;object-fit:cover;border-radius:10px}
.author-byline-person{display:grid;gap:4px}.author-byline-person a{font-weight:800;color:#ecfbff;text-decoration:none}.author-byline-person a:hover{color:var(--cyan)}.author-byline-person span{color:#8ea4ad;font-size:.77rem}
.author-byline-dates{display:flex;gap:20px;margin:0}.author-byline-dates div{display:grid;gap:3px}.author-byline-dates dt{font-size:.63rem;letter-spacing:.08em;text-transform:uppercase;color:#708892}.author-byline-dates dd{margin:0;color:#cbdce2;font-size:.75rem}
.author-card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:26px;max-width:1050px;margin:clamp(36px,6vw,72px) auto 0;padding:26px;border:1px solid rgba(83,222,241,.22);border-radius:20px;background:linear-gradient(135deg,rgba(8,27,35,.95),rgba(4,10,15,.95))}
.author-card>img{width:128px;height:160px;object-fit:cover;border-radius:13px}.author-card h2{margin:5px 0 9px}.author-card p{margin:0;color:#aebfc7;line-height:1.65}.author-card-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:15px}
.author-byline-section{margin-top:calc(var(--section-space,80px)*-.38);padding-bottom:18px}
.author-card-section{padding-top:0}
.founder-entry,.knowledge-author-entry{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:28px;align-items:center;padding:28px;border:1px solid rgba(83,222,241,.18);border-radius:20px;background:rgba(5,17,23,.72)}
.founder-entry picture,.founder-entry img{display:block;width:160px;height:200px;object-fit:cover;border-radius:14px}.founder-entry p,.knowledge-author-entry p{color:#aebfc7;line-height:1.65;max-width:780px}
.knowledge-author-entry{grid-template-columns:72px minmax(0,1fr) auto}.knowledge-author-entry img{width:72px;height:90px;object-fit:cover;border-radius:10px}

@media (max-width:1120px){
  .author-competence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .author-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .author-byline{grid-template-columns:48px 1fr}.author-byline-dates{grid-column:2}
}
@media (max-width:980px){
  .author-hero-grid{grid-template-columns:1fr}.author-portrait{grid-row:1;max-width:420px;margin:0 auto}.author-hero .page-hero-copy{text-align:left}
  .author-story-grid,.author-longform,.author-transparency{grid-template-columns:1fr}.author-principle{position:static}
  .author-publications{grid-template-columns:1fr}
}
@media (max-width:620px){
  .author-statuses{display:grid}.author-statuses span{border-radius:11px}
  .author-competence-grid{grid-template-columns:1fr}
  .author-topic-grid{grid-template-columns:1fr}.author-topic-grid>a{min-height:220px}
  .author-portrait figcaption{left:18px;right:18px;bottom:17px}
  .author-byline{grid-template-columns:48px 1fr;align-items:start}.author-byline-dates{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
  .author-card{grid-template-columns:80px minmax(0,1fr);gap:16px;padding:18px}.author-card>img{width:80px;height:100px}.author-card p,.author-card-links{grid-column:1/-1}
  .founder-entry,.knowledge-author-entry{grid-template-columns:72px 1fr;padding:18px;gap:16px}.founder-entry picture,.founder-entry img{width:72px;height:90px}.founder-entry .text-link,.knowledge-author-entry .btn{grid-column:1/-1;justify-self:start}
}


/* 3.2.0 — bilingual Toolbox and ESP32/SBC case-study surfaces */
.brand-cluster{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto}
.language-switcher{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:rgba(5,8,13,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);flex:0 0 auto}
.language-switcher a,.language-switcher span{display:grid;place-items:center;min-width:34px;height:30px;padding:0 9px;border-radius:999px;color:var(--muted,#aab5c4);font:700 .72rem/1 Inter,sans-serif;letter-spacing:.08em;text-decoration:none}
.language-switcher a:hover{color:#fff;background:rgba(255,255,255,.07)}
.language-switcher .active{color:#051014;background:var(--accent,#69e6cc);box-shadow:0 4px 16px rgba(105,230,204,.2)}
.language-switcher .unavailable{opacity:.38;cursor:not-allowed}

.toolbox-hero,.communication-hero{overflow:hidden}
.toolbox-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.toolbox-proof span{display:flex;align-items:center;gap:8px;min-height:42px;padding:7px 12px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(10,16,25,.62);color:var(--muted,#aab5c4);font-size:.82rem}
.toolbox-proof strong{color:#fff;font:700 1rem/1 'Space Grotesk',sans-serif}
.toolbox-console{position:relative;min-height:430px;padding:clamp(20px,3vw,32px);border:1px solid rgba(105,230,204,.24);border-radius:24px;background:radial-gradient(circle at 82% 12%,rgba(105,230,204,.14),transparent 34%),linear-gradient(145deg,rgba(12,19,30,.96),rgba(4,8,14,.98));box-shadow:0 34px 80px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06);overflow:hidden}
.toolbox-console:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(105,230,204,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(105,230,204,.045) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(to bottom,#000,transparent 82%);pointer-events:none}
.toolbox-console>*{position:relative;z-index:1}
.toolbox-console-head{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,.17);font:700 .68rem/1 Inter,sans-serif;letter-spacing:.12em;color:#b9c7d8}
.toolbox-console-head em{color:var(--accent,#69e6cc);font-style:normal}
.toolbox-console-case{display:grid;gap:8px;margin:28px 0;padding:18px;border-left:3px solid #ffbe5c;background:rgba(255,190,92,.07);border-radius:0 12px 12px 0}
.toolbox-console-case small,.toolbox-console-result small{font:700 .65rem/1 Inter,sans-serif;letter-spacing:.12em;color:#ffcf86}
.toolbox-console-case strong{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.35;color:#fff}
.toolbox-console-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;margin-bottom:28px}
.toolbox-console-flow span{display:grid;gap:6px;min-height:70px;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(255,255,255,.025);color:#d9e3ee;font-size:.78rem}
.toolbox-console-flow b{color:var(--accent,#69e6cc);font:700 .68rem/1 Inter,sans-serif}
.toolbox-console-flow i{color:#536175;font-size:.75rem}
.toolbox-console-result{display:grid;gap:7px;padding:18px;border:1px solid rgba(105,230,204,.2);border-radius:14px;background:rgba(105,230,204,.075)}
.toolbox-console-result strong{color:#fff;font-size:clamp(1.15rem,2vw,1.45rem)}
.toolbox-console-result code{color:var(--accent,#69e6cc)}
.toolbox-console-line{position:absolute;right:-80px;bottom:-80px;width:240px;height:240px;border:1px solid rgba(105,230,204,.14);border-radius:50%;box-shadow:0 0 0 34px rgba(105,230,204,.025),0 0 0 68px rgba(105,230,204,.018)}

.toolbox-resolver{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:22px;align-items:start}
.toolbox-symptoms{display:grid;gap:9px}
.toolbox-symptom{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;width:100%;padding:16px 18px;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:rgba(10,16,25,.65);color:#fff;text-align:left;cursor:pointer;transition:.2s ease}
.toolbox-symptom:hover,.toolbox-symptom.active{border-color:rgba(105,230,204,.46);background:rgba(105,230,204,.07);transform:translateX(3px)}
.toolbox-symptom>span{font:700 .72rem/1 Inter,sans-serif;color:var(--accent,#69e6cc)}
.toolbox-symptom strong{font-size:.94rem;line-height:1.4}
.toolbox-symptom small{max-width:150px;color:#8ea0b5;text-align:right}
.toolbox-answer{position:sticky;top:110px;display:grid;gap:14px;min-height:350px;padding:clamp(22px,3vw,34px);border:1px solid rgba(105,230,204,.25);border-radius:22px;background:linear-gradient(155deg,rgba(16,27,39,.98),rgba(5,9,15,.98));box-shadow:0 24px 60px rgba(0,0,0,.25)}
.toolbox-answer-icon{display:grid;place-items:center;width:72px;height:72px;margin-top:8px;border:1px solid rgba(105,230,204,.27);border-radius:20px;background:rgba(105,230,204,.08);color:var(--accent,#69e6cc);font-size:1.6rem}
.toolbox-answer>small,.toolbox-output small{color:#8292a7;font:700 .65rem/1 Inter,sans-serif;letter-spacing:.12em}
.toolbox-answer h3{margin:0;font-size:clamp(1.65rem,3vw,2.4rem)}
.toolbox-answer p{min-height:48px;color:#b8c4d2}
.toolbox-answer .btn{margin-top:auto;justify-self:start}
.toolbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.toolbox-card{display:flex;flex-direction:column;gap:13px;min-height:360px;padding:clamp(20px,2.5vw,28px);border:1px solid rgba(148,163,184,.16);border-radius:20px;background:linear-gradient(145deg,rgba(12,19,29,.88),rgba(6,10,16,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:transform .2s ease,border-color .2s ease}
.toolbox-card:hover{transform:translateY(-4px);border-color:rgba(105,230,204,.32)}
.toolbox-card-top{display:flex;align-items:center;justify-content:space-between;color:var(--accent,#69e6cc)}
.toolbox-card-top span{font:700 .7rem/1 Inter,sans-serif;letter-spacing:.12em}
.toolbox-card-top i{display:grid;place-items:center;width:45px;height:45px;border:1px solid rgba(105,230,204,.2);border-radius:13px;background:rgba(105,230,204,.06)}
.toolbox-card h3{margin:3px 0 0;font-size:clamp(1.3rem,2vw,1.72rem)}
.toolbox-card>p{color:#aebaca}
.toolbox-output{display:grid;gap:7px;padding:14px 0;border-top:1px solid rgba(148,163,184,.12);border-bottom:1px solid rgba(148,163,184,.12)}
.toolbox-output strong{font-size:.9rem;color:#e2e8ef}
.toolbox-card-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto}
.toolbox-card-foot>span{display:flex;align-items:center;gap:7px;color:#8fa0b5;font-size:.75rem}
.toolbox-card-foot>span i{width:7px;height:7px;border-radius:50%;background:#ffbe5c;box-shadow:0 0 0 4px rgba(255,190,92,.08)}
.toolbox-card-foot>span.is-local i{background:var(--accent,#69e6cc);box-shadow:0 0 0 4px rgba(105,230,204,.08)}
.toolbox-privacy-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,6vw,80px);align-items:start}
.toolbox-privacy-list{display:grid;gap:12px}
.toolbox-privacy-list p{display:grid;grid-template-columns:42px 1fr;gap:14px;margin:0;padding:18px;border:1px solid rgba(148,163,184,.15);border-radius:14px;background:rgba(4,8,14,.34)}
.toolbox-privacy-list i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(105,230,204,.08);color:var(--accent,#69e6cc)}
.toolbox-privacy-list span{display:grid;gap:5px;color:#9eacbd}
.toolbox-privacy-list strong{color:#f3f6f9}

.communication-visual{position:relative;display:grid;grid-template-columns:1fr 70px 1fr;grid-template-rows:auto auto auto;gap:14px;align-items:center;min-height:520px;margin:0;padding:clamp(18px,3vw,30px);border:1px solid rgba(105,230,204,.2);border-radius:24px;background:radial-gradient(circle at 50% 50%,rgba(105,230,204,.1),transparent 42%),linear-gradient(145deg,rgba(11,18,28,.97),rgba(4,8,14,.99));overflow:hidden}
.communication-visual:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(148,163,184,.16) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(to bottom,#000,transparent)}
.communication-visual>*{position:relative;z-index:1}
.communication-node{display:grid;gap:6px;min-height:120px;padding:18px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:rgba(5,10,17,.82);box-shadow:0 18px 30px rgba(0,0,0,.18)}
.communication-node i{color:var(--accent,#69e6cc);font-size:1.25rem}.communication-node span{color:#7f90a5;font:700 .65rem/1 Inter,sans-serif;letter-spacing:.13em}.communication-node strong{color:#f3f7fa;font-size:.83rem;line-height:1.35}
.communication-node.sensors{grid-column:1;grid-row:1}.communication-node.esp{grid-column:3;grid-row:1}.communication-node.sbc{grid-column:1;grid-row:3}.communication-node.drives{grid-column:3;grid-row:3}
.communication-wire{display:grid;place-items:center;color:#66778d;font:700 .58rem/1 Inter,sans-serif;letter-spacing:.08em}.communication-wire:first-of-type{grid-column:2;grid-row:1}.communication-wire:nth-of-type(2){grid-column:2;grid-row:3}.communication-wire:before{content:"";width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--accent,#69e6cc),transparent)}
.communication-channels{grid-column:1/4;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border:1px solid rgba(148,163,184,.14);border-radius:15px;background:rgba(2,6,10,.76)}
.communication-channels span{display:grid;gap:5px;padding:12px;border-radius:10px;background:rgba(105,230,204,.055);color:#aab8c8;font-size:.68rem;text-align:center}.communication-channels b{color:var(--accent,#69e6cc);font-size:.7rem;letter-spacing:.09em}.communication-channels .control{background:rgba(255,190,92,.06)}.communication-channels .control b{color:#ffcb75}.communication-channels .spatial{background:rgba(133,112,255,.065)}.communication-channels .spatial b{color:#aa9aff}
.communication-visual figcaption{grid-column:1/4;color:#8291a3;font-size:.72rem;text-align:center}
.case-metrics-inline{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.case-metrics-inline span{display:grid;gap:4px;min-width:130px;padding:12px 14px;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:rgba(8,13,21,.68);color:#8e9db0;font-size:.72rem}.case-metrics-inline strong{color:#fff;font:700 clamp(1rem,2vw,1.25rem)/1 'Space Grotesk',sans-serif}
.case-caveat{display:grid;grid-template-columns:50px 1fr;gap:16px;padding:20px;border:1px solid rgba(255,190,92,.24);border-radius:16px;background:rgba(255,190,92,.055)}.case-caveat>i{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:rgba(255,190,92,.09);color:#ffcb75}.case-caveat strong{color:#fff}.case-caveat p{margin:5px 0 0;color:#b6bfca}
.metric-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}.metric-comparison>div{display:grid;gap:12px;padding:18px;border:1px solid rgba(148,163,184,.16);border-radius:15px;background:rgba(8,13,21,.62)}.metric-comparison small{color:#8090a5;font:700 .63rem/1 Inter,sans-serif;letter-spacing:.1em}.metric-comparison span{display:flex;align-items:center;gap:9px}.metric-comparison del{color:#76869a}.metric-comparison i{color:#536176;font-size:.7rem}.metric-comparison strong{color:var(--accent,#69e6cc);font-size:clamp(1.15rem,2.4vw,1.7rem)}.metric-comparison p{margin:0;color:#aeb9c7;font-size:.8rem}
.code-card{margin:28px 0;border:1px solid rgba(105,230,204,.18);border-radius:16px;background:#050a10;overflow:hidden}.code-card-head{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.14);color:#8797aa;font:700 .63rem/1 Inter,sans-serif;letter-spacing:.1em}.code-card-head em{color:var(--accent,#69e6cc);font-style:normal}.code-card pre{margin:0;padding:20px;overflow:auto;color:#c9f7ed;font-size:.82rem;line-height:1.65}
.download-panel{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:34px;padding:clamp(22px,4vw,34px);border:1px solid rgba(105,230,204,.23);border-radius:20px;background:linear-gradient(140deg,rgba(105,230,204,.075),rgba(10,16,25,.7))}.download-panel h2{margin:.25rem 0 .5rem;font-size:clamp(1.35rem,2.7vw,2rem)}.download-panel p{margin:0;color:#aebaca}
.article-aside ol{display:grid;gap:10px;margin:16px 0 0;padding-left:20px;color:#b2bdca}.article-aside li{padding-left:4px}

@media (max-width:1160px){.nav-inner{gap:10px}.language-switcher a,.language-switcher span{min-width:31px;height:29px;padding:0 7px}}
@media (max-width:900px){.toolbox-resolver,.toolbox-privacy-grid{grid-template-columns:1fr}.toolbox-answer{position:relative;top:auto}.toolbox-grid{grid-template-columns:1fr}.metric-comparison{grid-template-columns:1fr}.download-panel{grid-template-columns:1fr}.download-panel .btn{justify-self:start}}
@media (max-width:760px){.language-switcher{margin-left:auto}.nav-inner>.language-switcher+ .menu-btn{margin-left:0}.toolbox-console{min-height:390px}.toolbox-console-flow{grid-template-columns:1fr}.toolbox-console-flow i{transform:rotate(90deg);justify-self:center}.toolbox-console-flow span{min-height:auto}.toolbox-symptom{grid-template-columns:34px 1fr}.toolbox-symptom small{grid-column:2;text-align:left}.toolbox-card{min-height:0}.toolbox-card-foot{align-items:flex-start;flex-direction:column}.communication-visual{grid-template-columns:1fr;grid-template-rows:auto}.communication-node.sensors,.communication-node.esp,.communication-node.sbc,.communication-node.drives,.communication-channels,.communication-visual figcaption{grid-column:1;grid-row:auto}.communication-wire{display:none}.communication-channels{grid-template-columns:1fr}.case-metrics-inline span{flex:1 1 120px}.case-caveat{grid-template-columns:1fr}.metric-comparison span{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.toolbox-symptom,.toolbox-card{transition:none}.toolbox-symptom:hover,.toolbox-symptom.active,.toolbox-card:hover{transform:none}}

.page-knowledge-hub .case-study-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.communication-card-art{display:grid;place-content:center;gap:18px;padding:22px;background:radial-gradient(circle at 50% 50%,rgba(105,230,204,.14),transparent 44%),linear-gradient(145deg,#071523,#030a11)}
.communication-card-art div{display:flex;align-items:center;justify-content:center;gap:18px}.communication-card-art span{display:grid;place-items:center;min-width:82px;min-height:62px;padding:10px;border:1px solid rgba(105,230,204,.25);border-radius:14px;background:rgba(5,10,17,.8);color:#eef7f5;font:700 clamp(.85rem,2vw,1.1rem)/1 'Space Grotesk',sans-serif}.communication-card-art i{color:var(--accent,#69e6cc)}.communication-card-art small{color:#8294aa;font:700 .65rem/1 Inter,sans-serif;letter-spacing:.16em;text-align:center}
.toolbox-entry-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:clamp(24px,4vw,40px);border:1px solid rgba(105,230,204,.22);border-radius:22px;background:linear-gradient(135deg,rgba(105,230,204,.07),rgba(8,14,22,.82))}.toolbox-entry-panel h2{margin:.35rem 0 .65rem;font-size:clamp(1.45rem,3vw,2.35rem)}.toolbox-entry-panel p{max-width:850px;color:#aebaca}.toolbox-entry-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.toolbox-entry-facts span{display:flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(148,163,184,.15);border-radius:10px;color:#95a5b8;font-size:.78rem}.toolbox-entry-facts strong{color:#fff}
@media(max-width:1080px){.page-knowledge-hub .case-study-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-knowledge-hub .case-study-card:last-child{grid-column:1/-1;max-width:760px}}
@media(max-width:820px){.page-knowledge-hub .case-study-grid{grid-template-columns:1fr}.page-knowledge-hub .case-study-card:last-child{grid-column:auto;max-width:none}.toolbox-entry-panel{grid-template-columns:1fr}.toolbox-entry-panel .actions{justify-content:flex-start}}

@media (max-width:1160px){
  .brand-cluster{position:relative;z-index:1004}
}
@media (max-width:760px){
  .brand-cluster{gap:8px}
  .brand-cluster .language-switcher{margin-left:0}
  .brand-cluster .language-switcher a,
  .brand-cluster .language-switcher span{
    min-width:28px;
    height:28px;
    padding:0 6px;
    font-size:.66rem;
  }
  .nav-inner>.brand-cluster+.menu-btn{margin-left:auto}
}


/* 2026-08-07 — unified language/menu placement */
.mobile-menu-language{display:none}

.footer-language{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:16px;
    color:var(--muted-2,#7f8b99);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase
}

.footer-language .language-switcher{margin:0}

@media (max-width:1160px){

    /* Na telefonie PL/EN NIE siedzi już obok logo */
    .brand-cluster>.language-switcher{
        display:none
    }

    /* PL/EN wewnątrz rozwijanego menu */
    .mobile-menu-language{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:14px;
        margin:0 6px 8px;
        padding:12px 13px;
        border:1px solid rgba(148,163,184,.16);
        border-radius:13px;
        background:rgba(255,255,255,.025);
        color:var(--muted-2,#7f8b99);
        font-size:.72rem;
        font-weight:750;
        letter-spacing:.07em;
        text-transform:uppercase
    }

    .nav-links .mobile-menu-language .language-switcher{
        display:inline-flex;
        margin:0;
        flex:0 0 auto
    }

    .nav-links .mobile-menu-language .language-switcher a,
    .nav-links .mobile-menu-language .language-switcher span{
        display:grid;
        place-items:center;
        grid-template-columns:none;
        gap:0;
        min-width:34px;
        min-height:30px;
        height:30px;
        padding:0 8px;
        border:0;
        border-radius:999px;
        background:transparent;
        box-shadow:none;
        font-size:.7rem
    }

    .nav-links .mobile-menu-language .language-switcher .active{
        color:#051014;
        background:var(--accent,#69e6cc);
        box-shadow:0 4px 16px rgba(105,230,204,.18)
    }

    .nav-links .mobile-menu-language .language-switcher .unavailable{
        opacity:.38
    }
}
