/* Kierunek wizualny oparty na docs/sources/koncepcja_wizualna_strony.png */
:root {
    --concept-green: #009d70;
    --concept-green-dark: #007654;
    --concept-mint: #edf8f5;
    --concept-ink: #102127;
    --concept-muted: #516066;
    --concept-border: #dce5e4;
    --concept-surface: #ffffff;
    --concept-page: #f5f8f7;
    --concept-night: #00363b;
    --concept-night-deep: #00282d;
    --concept-shadow: 0 12px 32px rgba(11, 43, 46, 0.08);
    --itbs-radius-sm: 0.75rem;
    --itbs-radius-md: 1rem;
    --itbs-elevation-0: none;
    --itbs-elevation-1: 0 0.5rem 1.5rem rgba(11, 43, 46, 0.08);
    --itbs-elevation-2: 0 0.9rem 2.2rem rgba(11, 43, 46, 0.13);
}

/* Korekta spójności komponentów po audycie z 17.07.2026. */
.archive-hero-pattern {
    isolation: isolate;
    overflow: hidden;
    position: relative;
}

.archive-hero-pattern::before,
.archive-hero-pattern::after {
    content: "";
    pointer-events: none;
    position: absolute;
    z-index: -1;
}

.archive-hero-pattern::before {
    background:
        radial-gradient(circle at center, rgba(107, 230, 196, 0.2) 0 0.18rem, transparent 0.22rem),
        linear-gradient(135deg, transparent 48%, rgba(141, 233, 214, 0.08) 49% 51%, transparent 52%);
    background-size: 2.2rem 2.2rem, 4.4rem 4.4rem;
    inset: 0 0 0 58%;
    mask-image: linear-gradient(90deg, transparent, #000 30%);
}

.archive-hero-pattern::after {
    border: 1px solid rgba(141, 233, 214, 0.16);
    border-radius: 50%;
    height: 18rem;
    right: 7%;
    top: -8rem;
    width: 18rem;
}

.compact-link > span[aria-hidden="true"],
.competency-cta > span[aria-hidden="true"] {
    flex: 0 0 auto;
    margin-inline-start: 0.15rem;
}

.concept-product-card,
.home-news-card,
.article-card,
.project-card,
.contact-topic-card,
.contact-company-panel {
    border-radius: var(--itbs-radius-sm);
    box-shadow: var(--itbs-elevation-1);
}

.concept-product-card:hover,
.home-news-card:hover,
.article-card:hover,
.project-card:hover {
    box-shadow: var(--itbs-elevation-2);
}

.product-grid:not(.concept-product-grid) .concept-product-visual {
    aspect-ratio: 5 / 3;
}

.product-grid:not(.concept-product-grid) .concept-product-visual img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.home-news-card-content > .compact-link {
    margin-top: auto;
}

@media (max-width: 64rem) {
    .infokolektor-page-nav .container {
        display: grid;
        gap: 0.6rem;
        overflow: visible;
        padding-block: 0.85rem;
        padding-inline-end: 1.25rem;
    }

    .infokolektor-page-nav .container > span {
        display: block;
    }

    .infokolektor-page-nav ul {
        display: grid;
        flex: initial;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .infokolektor-page-nav a {
        line-height: 1.35;
        white-space: normal;
        width: 100%;
    }

    .about-tabs-nav,
    .article-toc,
    .custom-healthcare-nav,
    .pharmaflow-nav {
        border-radius: var(--itbs-radius-sm);
        box-shadow: var(--itbs-elevation-1);
    }
}

@media (max-width: 35rem) {
    .infokolektor-page-nav ul,
    .about-tabs-list,
    .article-toc ol,
    .custom-healthcare-nav ol,
    .pharmaflow-nav ul {
        columns: 1;
        display: grid;
        grid-template-columns: 1fr;
    }

    .archive-hero-pattern::before {
        inset-inline-start: 38%;
        opacity: 0.65;
    }
}

/* Zatwierdzone dokumenty prawne. */
.legal-content {
    min-width: 0;
}

.legal-document-version {
    background: var(--concept-mint);
    border: 1px solid var(--concept-border);
    border-radius: var(--itbs-radius-sm);
    color: var(--concept-ink) !important;
    padding: 0.9rem 1rem;
}

.legal-content h2 {
    scroll-margin-top: 7rem;
}

.legal-content ul {
    padding-left: 1.35rem;
}

.legal-storage-list {
    display: grid;
    gap: 1rem;
    margin: 1.5rem 0 0;
}

.legal-storage-list > div {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: var(--itbs-radius-sm);
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.35rem);
}

.legal-storage-list dt {
    color: var(--concept-ink);
    font-size: 1.1rem;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.legal-storage-list dd {
    color: var(--concept-muted);
    line-height: 1.6;
    margin: 0.55rem 0 0;
}

.legal-storage-list code {
    font-size: 0.95em;
    overflow-wrap: anywhere;
}

html[data-text-size="small"] { font-size: 93.75%; }
html[data-text-size="large"] { font-size: 112.5%; }

body {
    background: var(--concept-page);
    color: var(--concept-ink);
    font-size: 1rem;
}

.container {
    max-width: 92rem;
}

.concept-header {
    background: rgba(255, 255, 255, 0.985);
    border-bottom: 1px solid var(--concept-border);
    box-shadow: none;
}

.concept-header .header-inner {
    gap: 1rem;
    min-height: 4.85rem;
}

.concept-header .brand img {
    width: clamp(10.75rem, 14vw, 13rem);
}

.brand .brand-logo-dark {
    display: none;
}

.brand-footer .brand-logo-light {
    display: none;
}

.brand-footer .brand-logo-dark {
    display: block;
}

.concept-desktop-nav {
    display: block;
    margin-left: auto;
}

.concept-desktop-nav > ul {
    gap: clamp(0.25rem, 0.65vw, 0.8rem);
}

.concept-desktop-nav > ul > li {
    position: relative;
}

.concept-desktop-nav a,
.nav-dropdown summary {
    align-items: center;
    border-radius: 0.35rem;
    color: var(--concept-ink);
    cursor: pointer;
    display: inline-flex;
    font-size: clamp(0.73rem, 0.78vw, 0.84rem);
    font-weight: 700;
    gap: 0.3rem;
    line-height: 1.2;
    min-height: 2.75rem;
    padding-inline: 0.35rem;
    text-decoration: none;
    white-space: nowrap;
}

.concept-desktop-nav a:hover,
.concept-desktop-nav a[aria-current="page"],
.nav-dropdown summary:hover,
.nav-dropdown summary[aria-current="page"],
.nav-dropdown[open] summary {
    color: var(--concept-green-dark);
}

.nav-dropdown summary {
    list-style: none;
}

.nav-dropdown summary::-webkit-details-marker {
    display: none;
}

.nav-dropdown summary span {
    font-size: 0.9rem;
    transition: transform 160ms ease;
}

.nav-dropdown[open] summary span {
    transform: rotate(180deg);
}

.nav-dropdown > ul {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    box-shadow: var(--concept-shadow);
    display: grid;
    gap: 0.2rem;
    left: 0;
    list-style: none;
    margin: 0;
    min-width: 17rem;
    padding: 0.55rem;
    position: absolute;
    top: calc(100% - 0.15rem);
    z-index: 30;
}

.nav-dropdown > ul a {
    font-size: 0.86rem;
    min-height: 2.65rem;
    padding: 0.55rem 0.7rem;
    white-space: normal;
    width: 100%;
}

.nav-dropdown > ul a:hover {
    background: var(--concept-mint);
}

.header-utilities {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 0.45rem;
}

.concept-header .language-link {
    border-color: var(--concept-border);
    height: 2.55rem;
    width: 2.55rem;
}

.accessibility-tools {
    align-items: center;
    border-left: 1px solid var(--concept-border);
    display: flex;
    gap: 0.1rem;
    margin-left: 0.15rem;
    padding-left: 0.4rem;
}

.accessibility-tools button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0.3rem;
    color: var(--concept-ink);
    cursor: pointer;
    display: inline-flex;
    font-size: 0.94rem;
    font-weight: 800;
    height: 2.75rem;
    justify-content: center;
    min-width: 2.75rem;
    padding-inline: 0.4rem;
}

.accessibility-tools [data-contrast-toggle] span {
    font-size: 1.35rem;
    line-height: 1;
}

.accessibility-tools button:hover,
.accessibility-tools button[aria-pressed="true"] {
    background: var(--concept-mint);
    color: var(--concept-green-dark);
}

.concept-header .menu-toggle {
    background: transparent;
    border: 1px solid var(--concept-border);
    color: var(--concept-ink);
    display: none;
}

.mobile-offer-links {
    display: grid;
    gap: 0.5rem;
    padding-top: 1rem;
}

.mobile-offer-links a {
    color: var(--concept-green-dark);
    font-weight: 700;
}

.mobile-nav-section-label {
    color: var(--concept-ink);
    display: flex;
    font-size: 1.06rem;
    font-weight: 800;
    min-height: 3.3rem;
    align-items: center;
}

.mobile-product-links {
    border-bottom: 1px solid var(--concept-border);
    display: grid;
    gap: 0.15rem;
    padding: 0 0 0.75rem 1rem !important;
}

.mobile-nav-panel .mobile-product-links a:not(.button) {
    border-bottom: 0;
    color: var(--concept-green-dark);
    font-size: 0.98rem;
    min-height: 2.85rem;
}

.concept-home {
    background: var(--concept-surface);
}

.home-layout {
    border-inline: 1px solid var(--concept-border);
    margin-inline: auto;
    max-width: 96rem;
}

.concept-hero {
    background: var(--concept-night);
    color: #e8f5f3;
    min-height: 18rem;
    overflow: hidden;
    position: relative;
}

.concept-hero-image,
.concept-hero-overlay {
    inset: 0;
    position: absolute;
}

.concept-hero-image {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.concept-hero-overlay {
    background: linear-gradient(90deg, rgba(0, 38, 42, 0.98) 0%, rgba(0, 46, 50, 0.94) 35%, rgba(0, 48, 52, 0.52) 61%, rgba(0, 45, 49, 0.08) 100%);
}

.concept-hero-copy {
    max-width: 46rem;
    padding: 1.5rem clamp(1.25rem, 3.5vw, 2.8rem);
    position: relative;
    width: 68%;
    z-index: 1;
}

.concept-kicker {
    color: #68dfc0;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.concept-hero h1 {
    color: #fff;
    font-size: clamp(2rem, 2.8vw, 2.8rem);
    letter-spacing: -0.035em;
    line-height: 1.08;
    margin-bottom: 0.65rem;
    max-width: 24ch;
}

.concept-hero h1 span,
.concept-hero h1 strong {
    display: block;
}

.concept-hero h1 strong {
    color: #16c68c;
    font-weight: 700;
}

.concept-hero-copy > p:not(.concept-kicker) {
    font-size: 1rem;
    line-height: 1.45;
    margin-bottom: 0;
    max-width: 43rem;
}

.concept-hero .button-row {
    margin-top: 0.85rem;
}

.concept-home .button,
.concept-header .button {
    background: var(--concept-green-dark);
    border-color: var(--concept-green-dark);
    border-radius: 0.35rem;
    color: #fff;
    font-size: 0.88rem;
    gap: 0.55rem;
    min-height: 2.9rem;
    padding: 0.65rem 1.15rem;
}

.concept-home .button:hover,
.concept-header .button:hover {
    background: #005f46;
    border-color: #005f46;
    color: #fff;
    transform: none;
}

.concept-home .button-ghost {
    background: rgba(0, 26, 29, 0.24) !important;
    border-color: rgba(255, 255, 255, 0.72) !important;
    color: #fff !important;
}

.concept-home .button-small {
    font-size: 0.78rem;
    min-height: 2.55rem;
}

.concept-section {
    background: #fff;
    padding: 1.55rem clamp(1.25rem, 4vw, 3.2rem);
}

.concept-section + .concept-section {
    border-top: 1px solid var(--concept-border);
}

.concept-section-heading,
.sidebar-heading {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.concept-section-heading h2,
.sidebar-heading h2 {
    color: var(--concept-ink);
    font-size: clamp(1.35rem, 2vw, 1.7rem);
    letter-spacing: -0.025em;
    margin: 0;
}

.concept-section-intro {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0.35rem 0 0;
    max-width: 62ch;
}

.services-section .concept-section-intro {
    max-width: none;
}

.compact-link {
    align-items: center;
    color: var(--concept-green-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.8rem;
    font-weight: 800;
    gap: 0.4rem;
    min-height: 2.75rem;
    text-decoration: none;
}

.compact-link:hover {
    color: var(--concept-ink);
    text-decoration: underline;
}

.concept-product-grid {
    align-items: stretch;
    gap: clamp(1rem, 1.6vw, 1.5rem);
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.concept-product-card {
    background: #fff;
    border: 1px solid var(--concept-border);
    border-radius: 0.7rem;
    box-shadow: none;
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 60%);
    min-width: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    transform: none;
}

.concept-product-card:hover {
    border-color: #9bcfc1;
    box-shadow: var(--concept-shadow);
    transform: none;
}

.concept-product-card--icon {
    align-self: stretch;
    background: linear-gradient(145deg, #fff 0%, #fff 58%, #f2faf7 100%);
    box-shadow: 0 0.55rem 1.45rem rgba(11, 43, 46, 0.065);
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: visible;
    padding: clamp(1.375rem, 1.8vw, 1.5rem);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.concept-product-card--icon:hover {
    border-color: #83c4b3;
    box-shadow: 0 0.85rem 1.8rem rgba(11, 43, 46, 0.11);
    transform: translateY(-2px);
}

.concept-home-product-icon {
    align-items: center;
    background: linear-gradient(145deg, #edf9f5, #dff2ed);
    border: 1px solid #bee0d7;
    border-radius: 0.7rem;
    color: #064e4b;
    display: inline-flex;
    flex: 0 0 2.5rem;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.concept-home-product-icon--infokowal {
    background: linear-gradient(145deg, #eef8f6, #dcefeb);
}

.concept-home-product-icon--medalert {
    background: linear-gradient(145deg, #eff9f8, #e0f0ef);
}

.concept-home-product-icon--pharma-flow {
    background: linear-gradient(145deg, #f2f9f2, #e4f1e8);
}

.itbs-product-icon {
    display: block;
    height: 2rem;
    object-fit: contain;
    width: 2rem;
}

.concept-home-product-status {
    align-items: center;
    border: 0;
    border-radius: 0;
    display: inline-flex;
    font-size: 0.8125rem;
    font-weight: 650;
    gap: 0.5rem;
    line-height: 1.35;
    margin: 0 0 0.8rem;
    max-width: 100%;
    padding: 0;
    text-align: left;
    width: fit-content;
}

.concept-home-product-status-dot {
    background: currentColor;
    border-radius: 50%;
    flex: 0 0 0.45rem;
    height: 0.45rem;
    width: 0.45rem;
}

.concept-home-product-status--available {
    background: transparent;
    color: #005b42;
}

.concept-home-product-status--deployment {
    background: transparent;
    color: #174e5e;
}

.concept-home-product-status--research {
    background: transparent;
    color: #684600;
}

.concept-product-card--icon .concept-product-copy {
    align-items: stretch;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
    height: 100%;
    justify-items: start;
    padding: 0;
    text-align: left;
    width: 100%;
}

.concept-home-product-heading {
    align-items: center;
    display: flex;
    gap: 0.65rem;
    justify-content: flex-start;
    margin-bottom: 0.55rem;
    max-width: 100%;
    width: 100%;
}

.concept-product-card--icon .concept-product-copy h3 {
    font-size: clamp(1.375rem, 1.7vw, 1.5rem);
    line-height: 1.25;
    margin: 0;
    text-align: left;
}

.concept-product-card--icon .concept-product-value {
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
    max-width: 31ch;
    text-align: left;
    width: 100%;
}

.concept-home-product-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    justify-content: flex-start;
    margin: 0.8rem 0 0;
    padding: 0;
    width: 100%;
}

.concept-home-product-highlights li {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #294c48;
    display: inline-flex;
    font-size: 0.875rem;
    font-weight: 650;
    line-height: 1.4;
    padding: 0;
}

.concept-home-product-highlights li:not(:last-child)::after {
    color: var(--concept-muted);
    content: "·";
    margin-inline: 0.5rem;
}

.concept-product-card--icon .concept-card-link {
    align-self: start;
    font-size: 1rem;
    margin-top: 0.35rem;
    min-height: 2.75rem;
    padding: 0;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.16em;
}

.concept-product-card--icon .concept-card-link span {
    transition: transform 160ms ease;
}

.concept-product-card--icon .concept-card-link:hover span {
    transform: translateX(3px);
}

.concept-product-card--icon .concept-card-link:focus-visible {
    border-radius: 0.25rem;
    outline: 0.2rem solid var(--focus);
    outline-offset: 0.2rem;
}

@media (max-width: 73.749rem) {
    .concept-product-grid {
        gap: 1.25rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 47.499rem) {
    .products-section .concept-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.35rem;
    }

    .products-section .concept-product-grid {
        gap: 1rem;
        grid-auto-rows: auto;
        grid-template-columns: 1fr;
    }

    .concept-product-card--icon {
        height: auto;
        padding: 1.25rem;
    }

    .products-section .concept-section-heading .compact-link {
        text-align: left;
    }
}

.concept-product-card h3 a::after {
    content: none;
}

.concept-product-visual {
    background: var(--concept-mint);
    margin: 0;
    min-width: 0;
    overflow: hidden;
    position: relative;
}

.concept-product-visual img {
    display: block;
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.concept-product-visual--portrait img {
    object-position: center top;
}

.concept-product-visual--dashboard img {
    object-position: center center;
}

.concept-product-visual--medalert-teaser img {
    object-position: 45% center;
}

.concept-product-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1.2rem 1.25rem 1.25rem;
}

.concept-product-copy .status-badge {
    align-self: flex-start;
    background: #e8f8f2;
    border: 1px solid #a7d8c9;
    border-radius: 999px;
    color: #006a4b;
    display: inline-flex;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.65rem;
    min-height: 0;
    padding: 0.35rem 0.65rem;
    text-align: left;
}

.concept-product-copy .status-badge span {
    font-weight: 800;
    margin-right: 0.25rem;
}

.concept-product-copy h3 {
    font-size: clamp(1.25rem, 1.6vw, 1.5rem);
    margin-bottom: 0.55rem;
}

.concept-product-copy .concept-product-value {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 0;
}

.concept-benefit-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
}

.concept-benefit-list li {
    align-items: flex-start;
    color: #344b50;
    display: flex;
    font-size: 1rem;
    font-weight: 600;
    gap: 0.55rem;
    line-height: 1.45;
    min-width: 0;
    padding: 0;
}

.concept-benefit-list li span {
    color: var(--concept-green);
    flex: 0 0 auto;
    font-size: 0.95em;
    font-weight: 900;
    line-height: 1.4;
    margin-top: 0.01em;
}

.concept-card-link {
    align-self: flex-start;
    font-size: 1rem;
    margin: auto 0 0;
    padding-top: 1rem;
    position: relative;
    z-index: 2;
}

.competencies-panel {
    display: grid;
    gap: clamp(1rem, 1.6vw, 1.5rem);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.competency-item {
    --competency-accent: #76c8b4;
    --competency-border: #2c756b;
    --competency-icon-border: #70b5a5;
    --competency-icon-color: #ddfff5;
    --competency-icon-surface: #236b60;
    --competency-ink: #f7fffd;
    --competency-link: #c4f5e7;
    --competency-muted: #d5e8e4;
    --competency-surface-end: #0b3f3d;
    --competency-surface-start: #15574f;
    align-items: center;
    background: linear-gradient(155deg, var(--competency-surface-start), var(--competency-surface-end) 82%);
    border: 1px solid var(--competency-border);
    border-radius: 1rem;
    box-shadow: inset 0 0.1875rem 0 var(--competency-accent), 0 0.65rem 1.6rem rgba(0, 42, 46, 0.14);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    padding: clamp(1.75rem, 3vw, 2.625rem);
    text-align: center;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.competency-item:hover {
    border-color: var(--competency-accent);
    box-shadow: inset 0 0.1875rem 0 var(--competency-accent), 0 0.8rem 1.75rem rgba(11, 43, 46, 0.09);
}

.competency-icon {
    align-items: center;
    background: var(--competency-icon-surface);
    border: 1px solid var(--competency-icon-border);
    border-radius: 0.7rem;
    color: var(--competency-icon-color);
    display: inline-flex;
    flex: 0 0 2.5rem;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.competency-icon-svg {
    fill: none;
    height: 2rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.85;
    width: 2rem;
}

.competency-heading {
    align-items: center;
    align-self: flex-start;
    color: var(--competency-ink);
    display: inline-flex;
    font-size: clamp(1.3125rem, 1.55vw, 1.5rem);
    font-weight: 750;
    gap: 0.625rem;
    justify-content: flex-start;
    line-height: 1.25;
    margin: 0;
    min-height: 5.25rem;
    min-width: 0;
    max-width: 100%;
    width: auto;
}

.competency-heading-text {
    max-width: 17rem;
    min-width: 0;
    text-align: left;
    text-wrap: pretty;
}

.competency-copy {
    align-items: center;
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding-top: 1.15rem;
    text-align: center;
    width: 100%;
}

.competency-value {
    color: var(--competency-ink);
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.45;
    margin: 0 0 0.7rem;
    text-align: left;
    width: 100%;
}

.competency-description {
    color: var(--competency-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
    text-align: left;
    width: 100%;
}

.competency-process {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.875rem;
    font-weight: 700;
    gap: 0.45rem;
    line-height: 1.45;
    list-style: none;
    margin: auto 0 0;
    padding: 1.35rem 0 0;
    justify-content: flex-start;
    width: 100%;
}

.competency-process li {
    align-items: center;
    color: var(--competency-ink);
    display: inline-flex;
}

.competency-process li:not(:last-child)::after {
    color: var(--competency-link);
    content: "→";
    margin-left: 0.45rem;
}

.competency-cta {
    align-items: center;
    align-self: center;
    color: var(--competency-link);
    display: inline-flex;
    font-size: 1rem;
    font-weight: 750;
    gap: 0.45rem;
    line-height: 1.35;
    margin-top: 0.85rem;
    min-height: 2.75rem;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.2em;
}

.competency-cta span {
    transition: transform 160ms ease;
}

.competency-cta:hover {
    color: var(--competency-ink);
}

.competency-cta:hover span {
    transform: translateX(0.1875rem);
}

.competency-cta:focus-visible {
    border-radius: 0.25rem;
    outline: 3px solid var(--focus);
    outline-offset: 3px;
}

@media (max-width: 65.5625rem) {
    .competencies-panel {
        grid-template-columns: 1fr;
    }

    .competency-item {
        padding: clamp(1.75rem, 4vw, 2.25rem);
    }

    .competency-process {
        margin-top: auto;
    }
}

@media (min-width: 65.625rem) {
    @supports (grid-template-rows: subgrid) {
        .competencies-panel {
            grid-template-rows: auto auto minmax(0, 1fr) auto auto;
        }

        .competency-item {
            display: grid;
            grid-row: 1 / -1;
            grid-template-rows: subgrid;
            row-gap: 0;
        }

        .competency-item:nth-child(1) {
            grid-column: 1;
        }

        .competency-item:nth-child(2) {
            grid-column: 2;
        }

        .competency-item:nth-child(3) {
            grid-column: 3;
        }

        .competency-copy {
            display: contents;
        }

        .competency-heading {
            align-self: center;
            grid-row: 1;
            justify-self: start;
        }

        .competency-value {
            grid-row: 2;
            margin-top: 1.15rem;
        }

        .competency-description {
            align-self: start;
            grid-row: 3;
            width: 100%;
        }

        .competency-process {
            grid-row: 4;
            margin-top: 0;
        }

        .competency-cta {
            grid-row: 5;
        }
    }
}

@media (max-width: 43.6875rem) {
    .competency-item {
        gap: 0;
        padding: 1.4rem;
    }

    .competency-heading {
        gap: 0.625rem;
        min-height: 0;
    }

    .competency-heading {
        font-size: 1.25rem;
    }

    .competency-heading-text {
        max-width: 12rem;
    }

    .competency-process {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.2rem;
    }

    .competency-process li {
        display: block;
    }

    .competency-process li:not(:last-child)::after {
        content: "↓";
        display: block;
        margin: 0.2rem 0 0 0.2rem;
    }
}

.home-sidebar {
    background: #fff;
    min-width: 0;
    padding: 0 1.2rem 1.4rem;
}

.sidebar-section + .sidebar-section {
    border-top: 1px solid var(--concept-border);
    margin-top: 1.4rem;
    padding-top: 1.4rem;
}

.sidebar-heading {
    align-items: flex-start;
    margin-bottom: 0.85rem;
}

.sidebar-heading h2 {
    font-size: 1.2rem;
}

.sidebar-heading .compact-link {
    font-size: 0.67rem;
    min-height: 2rem;
    text-align: right;
}

.sidebar-project-heading {
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.sidebar-project-heading-main {
    align-items: center;
    display: flex;
    gap: 0.65rem;
    min-width: 0;
}

.sidebar-project-heading h2 {
    font-size: 1.08rem;
    line-height: 1.15;
    scroll-margin-top: 5.5rem;
}

.sidebar-project-icon {
    align-items: center;
    background: #fff;
    border: 1px solid #c8d2dc;
    border-radius: 0.22rem;
    box-shadow: 0 0.4rem 0.9rem rgba(0, 51, 153, 0.14);
    display: inline-flex;
    flex: 0 0 3.7rem;
    height: 2.5rem;
    justify-content: center;
    overflow: hidden;
}

.sidebar-project-icon img {
    display: block;
    height: 100%;
    width: 100%;
}

.sidebar-project-heading > .compact-link {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid #c6e2db;
    border-radius: 999px;
    line-height: 1.2;
    min-height: 2.75rem;
    padding: 0.35rem 0.58rem;
}

.sidebar-projects {
    background: linear-gradient(145deg, #eef9f6 0%, #f8fcfb 100%);
    border-bottom: 1px solid #cfe5df;
    margin-inline: -1.2rem;
    padding: 1.35rem 1.2rem 1.2rem;
    position: relative;
}

.sidebar-projects::before {
    background: var(--concept-green);
    content: "";
    height: 0.28rem;
    inset: 0 0 auto;
    position: absolute;
}

.featured-project-card {
    background: transparent;
    color: var(--concept-ink);
    min-height: 0;
    position: relative;
}

.featured-project-content {
    display: flex;
    flex-direction: column;
    min-height: 0;
    position: relative;
    z-index: 1;
}

.featured-project-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.65rem;
    justify-content: space-between;
    margin-bottom: 0.8rem;
}

.sidebar-status {
    background: #fff;
    border: 1px solid #b8ddd3;
    border-radius: 999px;
    color: var(--concept-green-dark);
    display: inline-flex;
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    padding: 0.38rem 0.58rem;
    text-transform: uppercase;
}

.sidebar-project-number {
    color: var(--concept-muted);
    font-size: 0.67rem;
    line-height: 1.3;
}

.featured-project-card h3 {
    color: var(--concept-ink);
    font-size: 1.04rem;
    font-weight: 400;
    letter-spacing: -0.012em;
    line-height: 1.42;
    margin-bottom: 0.65rem;
}

.featured-project-card h3 a {
    color: inherit;
    text-decoration: none;
}

.featured-project-card h3 strong,
.project-card h3 strong {
    font-weight: 800;
}

.featured-project-card h3 a:hover {
    color: var(--concept-green-dark);
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.featured-project-card h3 a::after {
    content: "";
    inset: 0;
    position: absolute;
}

.featured-project-card p {
    color: var(--concept-muted);
    font-size: 0.88rem;
    line-height: 1.5;
    margin-bottom: 0.85rem;
}

.featured-project-card .button {
    align-self: flex-start;
    margin-top: 0.15rem;
    position: relative;
    z-index: 2;
}

.compact-content-list {
    display: grid;
    gap: 0.6rem;
    margin-top: 0.7rem;
}

.compact-content-list article,
.compact-empty {
    align-items: center;
    background: #fff;
    border: 1px solid var(--concept-border);
    border-radius: 0.45rem;
    display: flex;
    gap: 0.8rem;
    justify-content: space-between;
    padding: 0.8rem;
}

.compact-content-list article p {
    color: var(--concept-muted);
    font-size: 0.67rem;
    margin-bottom: 0.25rem;
}

.compact-content-list h3 {
    font-size: 0.88rem;
    line-height: 1.35;
    margin-bottom: 0;
}

.compact-content-list h3 a {
    color: var(--concept-ink);
    text-decoration: none;
}

.sidebar-poster-link {
    align-items: center;
    color: var(--concept-green-dark);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 800;
    min-height: 2rem;
    position: relative;
    text-decoration: underline;
    text-underline-offset: 0.16em;
    z-index: 3;
}

.sidebar-poster-link-featured {
    color: var(--concept-green-dark);
    margin-top: 0.45rem;
}

.eu-logo-strip {
    background: #fff;
    display: block;
    height: auto;
    width: 100%;
}

.eu-logo-strip-sidebar {
    border-top: 1px solid var(--concept-border);
    margin-top: 1rem;
    padding-top: 1rem;
}

.home-projects-section {
    background: linear-gradient(145deg, #eef9f6 0%, #f8fcfb 100%);
    position: relative;
}

.home-projects-section::before {
    background: var(--concept-green);
    content: "";
    height: 0.28rem;
    inset: 0 0 auto;
    position: absolute;
}

.home-projects-heading {
    align-items: flex-start;
}

.home-projects-heading-main {
    align-items: flex-start;
    display: flex;
    gap: 0.9rem;
    min-width: 0;
}

.home-project-icon {
    align-items: center;
    background: #fff;
    border: 1px solid #c8d2dc;
    border-radius: 0.25rem;
    box-shadow: 0 0.4rem 0.9rem rgba(0, 51, 153, 0.14);
    display: inline-flex;
    flex: 0 0 3.7rem;
    height: 2.5rem;
    justify-content: center;
    overflow: hidden;
}

.home-project-icon img {
    display: block;
    height: 100%;
    width: 100%;
}

.home-project-grid {
    align-items: stretch;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-featured-project-card {
    background: linear-gradient(135deg, #fff 0%, #f2faf7 100%);
    border: 1px solid #cfe5df;
    border-radius: 0.7rem;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
    position: relative;
}

.home-featured-project-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: clamp(1.25rem, 3vw, 2rem);
    position: relative;
    z-index: 2;
}

.project-visual-label {
    background: rgba(0, 47, 53, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    bottom: 0.8rem;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    line-height: 1.2;
    padding: 0.42rem 0.65rem;
    position: absolute;
    right: 0.8rem;
    text-transform: uppercase;
    z-index: 3;
}

.home-featured-project-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.028em;
    line-height: 1.35;
    margin-bottom: 0.65rem;
}

.home-featured-project-card h3 a::after {
    content: none;
}

.home-featured-project-card p {
    color: var(--concept-muted);
    display: block;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.home-project-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    margin-top: auto;
}

.home-project-logos {
    align-items: center;
    background: #fff;
    border: 1px solid #cfe5df;
    border-radius: 0.7rem;
    display: flex;
    justify-content: center;
    margin: 1.25rem auto 0;
    max-width: 36rem;
    padding: 0.75rem 1rem;
    width: 100%;
}

.home-article-grid,
.home-news-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-news-card {
    background: #fff;
    border: 1px solid var(--concept-border);
    border-radius: 0.7rem;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 0;
    overflow: hidden;
    position: relative;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.home-news-card:hover {
    border-color: #9bcfc1;
    box-shadow: var(--concept-shadow);
}

.home-news-media {
    background: #dce9e7;
    display: block;
    overflow: hidden;
}

.home-news-media img {
    aspect-ratio: 2 / 1;
    display: block;
    height: auto;
    object-fit: cover;
    object-position: center 47%;
    transition: transform 240ms ease;
    width: 100%;
}

.home-news-card:hover .home-news-media img {
    transform: scale(1.025);
}

.home-news-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 0.85rem;
}

.home-news-card .home-news-date,
.home-news-card-content .home-news-date {
    color: var(--concept-muted);
    font-size: 0.66rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.55rem;
}

.home-news-card h3 {
    font-size: 1.2rem;
    line-height: 1.3;
    margin-bottom: 0.65rem;
}

.home-news-card h3 a {
    color: var(--concept-ink);
    text-decoration: none;
}

.home-news-card h3 a:hover {
    color: var(--concept-green-dark);
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.home-news-card h3 a::after {
    content: "";
    inset: 0;
    position: absolute;
}

.home-news-card h3 a:focus-visible::after {
    border-radius: 0.7rem;
    outline: 3px solid var(--focus);
    outline-offset: -3px;
}

.home-news-card > p:not(.home-news-date),
.home-news-card-content > p:not(.home-news-date) {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 0.55rem;
}

.home-news-card .compact-link {
    align-self: flex-start;
    font-size: 0.9rem;
    margin-top: auto;
    position: relative;
    z-index: 2;
}

/* Aktualności — karty archiwum i pełny wpis */
.news-archive-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.news-archive-card {
    background: #fff;
    border: 1px solid var(--concept-border);
    border-radius: 0.8rem;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.news-card-media {
    background: #dce9e7;
    display: block;
    overflow: hidden;
}

.news-card-media img {
    aspect-ratio: 19 / 11;
    display: block;
    height: auto;
    object-fit: cover;
    object-position: center 47%;
    transition: transform 240ms ease;
    width: 100%;
}

.news-archive-card:hover .news-card-media img {
    transform: scale(1.025);
}

.news-archive-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.35rem;
}

.news-archive-card h2 {
    font-size: 1.3rem;
    line-height: 1.3;
    margin-bottom: 0.8rem;
}

.news-archive-card .eyebrow {
    line-height: 1.35;
}

.news-archive-card h2 a {
    color: var(--concept-ink);
    text-decoration: none;
}

.news-archive-card h2 a:hover {
    color: var(--concept-green-dark);
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.news-archive-card-content > p:not(.eyebrow) {
    color: var(--concept-muted);
    font-size: 0.96rem;
    line-height: 1.55;
    margin-bottom: 1rem;
}

.news-archive-card .compact-link {
    align-self: flex-start;
    font-size: 0.85rem;
    margin-top: auto;
}

@media (max-width: 61rem) {
    .news-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 47rem) {
    .news-archive-grid {
        grid-template-columns: 1fr;
    }
}

.page-hero.news-detail-hero {
    isolation: isolate;
    min-height: 0;
    overflow: hidden;
    padding-block: clamp(1.25rem, 2vw, 1.5rem);
    position: relative;
}

.news-detail-hero-image,
.news-detail-hero-overlay {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.news-detail-hero-image {
    object-fit: cover;
    object-position: center 47%;
    z-index: -2;
}

.news-detail-hero-overlay {
    background:
        linear-gradient(90deg, rgba(0, 28, 35, 0.96) 0%, rgba(0, 38, 44, 0.88) 50%, rgba(0, 38, 44, 0.36) 100%),
        linear-gradient(0deg, rgba(0, 24, 30, 0.35), rgba(0, 24, 30, 0.05));
    z-index: -1;
}

.news-detail-hero-content {
    display: flex;
    flex-direction: column;
    min-height: 0;
    position: relative;
    z-index: 1;
}

.news-detail-hero .breadcrumbs {
    margin-bottom: clamp(1.1rem, 2vw, 1.75rem);
}

.news-detail-hero-copy {
    margin-top: 0;
    max-width: 58rem;
}

.news-detail-hero .eyebrow {
    color: #8fe5ca;
    margin-bottom: 0.75rem;
}

.page-hero.news-detail-hero h1 {
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    line-height: 1.1;
    margin-bottom: 0.7rem;
    max-width: 54rem;
}

.news-detail-lead {
    color: #f0fbf8;
    font-size: clamp(1rem, 1.35vw, 1.125rem);
    line-height: 1.5;
    margin-bottom: 0.7rem;
    max-width: 48rem;
}

.news-detail-date {
    color: #c7dfdc;
    display: inline-block;
    font-size: 0.95rem;
    font-weight: 750;
}

.news-eu-logos {
    background: #fff;
    border-bottom: 1px solid var(--concept-border);
    padding-block: clamp(1rem, 2.5vw, 1.6rem);
}

.news-eu-logos img {
    display: block;
    height: auto;
    margin-inline: auto;
    max-width: 68rem;
    width: 100%;
}

.news-detail-section {
    background:
        radial-gradient(circle at 96% 8%, rgba(0, 158, 126, 0.08), transparent 24rem),
        var(--concept-page);
}

.news-detail-container {
    max-width: 76rem;
}

.news-detail-body {
    background: #fff;
    border: 1px solid var(--concept-border);
    border-radius: 0.9rem;
    box-shadow: 0 1rem 2.5rem rgba(8, 54, 51, 0.06);
    padding: clamp(1.4rem, 4vw, 3rem);
}

.site-launch-news {
    color: var(--concept-ink);
    font-size: 1.0625rem;
    line-height: 1.75;
}

.site-launch-news section + section {
    border-top: 1px solid var(--concept-border);
    margin-top: clamp(2.4rem, 5vw, 3.5rem);
    padding-top: 0.1rem;
}

.site-launch-news section:first-child h2 {
    margin-top: 0;
}

.site-launch-product-links {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin-block: 1.5rem;
    padding: 0;
}

.site-launch-product-links li,
.site-launch-product-links li + li {
    margin: 0;
}

.site-launch-product-links a {
    align-items: center;
    background: var(--concept-mint);
    border: 1px solid var(--concept-border);
    border-radius: 0.55rem;
    color: var(--concept-ink);
    display: flex;
    font-weight: 750;
    justify-content: space-between;
    min-height: 3.3rem;
    padding: 0.8rem 1rem;
    text-decoration: none;
}

.site-launch-product-links a::after {
    color: var(--concept-green-dark);
    content: "→";
    font-size: 1.2rem;
    margin-left: 0.75rem;
}

.site-launch-product-links a:hover {
    border-color: var(--concept-green-dark);
    color: var(--concept-green-dark);
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.site-launch-news-cta {
    align-items: flex-start;
    background: var(--concept-night);
    border-radius: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.75rem;
    padding: clamp(1.35rem, 4vw, 2rem);
}

.site-launch-news-cta p {
    color: #fff;
    margin: 0;
}

.site-launch-news-cta .button {
    margin: 0;
}

@media (max-width: 35rem) {
    .site-launch-product-links {
        grid-template-columns: 1fr;
    }
}

.funding-news {
    color: var(--concept-ink);
    font-size: 1.0625rem;
    line-height: 1.75;
}

.funding-news > p:not(.funding-news-target):not(.funding-news-tags) {
    max-width: 76ch;
}

.funding-news-lead {
    border-left: 0.25rem solid var(--concept-green);
    font-size: clamp(1.08rem, 1.6vw, 1.2rem);
    padding-left: 1.15rem;
}

.funding-news-target {
    align-items: center;
    background: #e7f7f2;
    border: 1px solid #a7d9cb;
    border-radius: 0.65rem;
    display: flex;
    gap: 0.75rem;
    margin-block: clamp(1.6rem, 4vw, 2.5rem);
    max-width: 46rem;
    padding: 1rem 1.2rem;
}

.funding-news-target::before {
    align-items: center;
    background: var(--concept-green-dark);
    border-radius: 50%;
    color: #fff;
    content: "✓";
    display: inline-flex;
    flex: 0 0 2rem;
    font-size: 1rem;
    font-weight: 900;
    height: 2rem;
    justify-content: center;
}

.funding-news-results {
    border-top: 1px solid var(--concept-border);
    margin-top: clamp(2rem, 5vw, 3.5rem);
    padding-top: clamp(1.8rem, 4vw, 2.6rem);
}

.funding-news-results h2 {
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    margin-bottom: 1.25rem;
}

.funding-news-result-list {
    counter-reset: funding-result;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.funding-news-result-list li {
    align-items: flex-start;
    background: #f3f8f7;
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    counter-increment: funding-result;
    display: grid;
    font-size: 1rem;
    font-weight: 700;
    gap: 0.8rem;
    grid-template-columns: 2rem minmax(0, 1fr);
    line-height: 1.5;
    margin: 0;
    padding: 1rem;
}

.funding-news-result-list li::before {
    align-items: center;
    background: var(--concept-night);
    border-radius: 0.45rem;
    color: #8fe5ca;
    content: counter(funding-result, decimal-leading-zero);
    display: flex;
    font-size: 0.75rem;
    font-weight: 900;
    height: 2rem;
    justify-content: center;
}

.funding-news-result-list li:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.funding-news-finance {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-block: clamp(2rem, 5vw, 3rem) 1.5rem;
}

.funding-news-finance p {
    background: var(--concept-night);
    border-radius: 0.65rem;
    color: #fff;
    font-size: clamp(1.05rem, 1.7vw, 1.2rem);
    line-height: 1.5;
    margin: 0;
    padding: 1.2rem;
}

.funding-news-finance strong {
    color: #8fe5ca;
    display: block;
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.funding-news-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 0;
}

.funding-news-tags span {
    background: #e7f7f2;
    border: 1px solid #a7d9cb;
    border-radius: 999px;
    color: var(--concept-green-dark);
    font-size: 0.9rem;
    font-weight: 800;
    padding: 0.35rem 0.75rem;
}

.compact-content-list article {
    align-items: flex-start;
    display: block;
}

.compact-empty {
    align-items: flex-start;
    background: var(--concept-mint);
    border-style: dashed;
    justify-content: flex-start;
}

.compact-empty > span {
    color: var(--concept-green);
    flex: 0 0 auto;
    font-weight: 900;
}

.compact-empty p {
    color: var(--concept-muted);
    font-size: 0.83rem;
    line-height: 1.5;
    margin: 0;
}

.concept-footer {
    background: linear-gradient(115deg, #003f43, #002f34);
    padding-top: 2.4rem;
}

.concept-footer .footer-grid {
    gap: 2.2rem;
    grid-template-columns: 1.05fr 0.8fr 0.95fr 1.2fr;
}

.concept-footer .brand-footer {
    background: transparent;
    border-radius: 0;
    padding: 0;
}

.concept-footer .brand-footer img {
    width: 10.5rem;
}

.concept-footer .footer-brand p,
.concept-footer address,
.concept-footer .footer-links,
.concept-footer .company-register {
    font-size: 0.83rem;
    line-height: 1.65;
}

.concept-footer .footer-heading {
    font-size: 0.74rem;
}

.concept-footer .footer-bottom {
    margin-top: 2.2rem;
    min-height: 4.4rem;
}

@media (min-width: 64rem) {
    .concept-product-grid {
        grid-auto-rows: 1fr;
    }
}

@media (max-width: 73.749rem) {
    .concept-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.mobile-bottom-nav {
    display: none;
}

/* Spójność podstron z nową koncepcją */
.page-hero,
.product-hero {
    background: linear-gradient(110deg, var(--concept-night-deep), var(--concept-night));
    padding-block: clamp(3.2rem, 6vw, 5.5rem);
}

/* Zwarty baner strony zbiorczej produktow: krotka tresc nie wymaga hero wysokiego jak na stronach ofertowych. */
.page-hero-products,
.page-hero-news {
    min-height: 0;
    padding-block: clamp(1.3rem, 2vw, 1.8rem);
}

.page-hero-products .breadcrumbs,
.page-hero-news .breadcrumbs {
    margin-bottom: 0.85rem;
}

.page-hero-products .eyebrow {
    margin-bottom: 0.45rem;
}

.page-hero.page-hero-products h1,
.page-hero.page-hero-news h1 {
    font-size: clamp(2rem, 3vw, 2.75rem);
    margin-bottom: 0.55rem;
}

.page-hero-products .page-intro,
.page-hero-news .page-intro {
    font-size: clamp(1rem, 1.25vw, 1.12rem);
    line-height: 1.55;
    max-width: 58rem;
}

.page-hero-products .page-intro > :last-child,
.page-hero-news .page-intro > :last-child {
    max-width: 58rem;
}

.project-hero--with-image {
    isolation: isolate;
    min-height: clamp(27rem, 42vw, 34rem);
    overflow: hidden;
    position: relative;
}

.project-hero-image,
.project-hero-overlay {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.project-hero-image {
    object-fit: cover;
    object-position: center;
    z-index: -2;
}

.project-hero-overlay {
    background:
        linear-gradient(90deg, rgba(0, 31, 43, 0.97) 0%, rgba(0, 47, 53, 0.9) 55%, rgba(0, 47, 53, 0.62) 100%),
        linear-gradient(0deg, rgba(0, 31, 43, 0.35), rgba(0, 31, 43, 0.08));
    z-index: -1;
}

.project-hero-content {
    position: relative;
    z-index: 1;
}

.page-hero.project-hero--with-image h1 {
    font-size: clamp(1.85rem, 2.8vw, 2.6rem);
    max-width: 68rem;
}

.project-hero--with-image .project-hero-content > p {
    max-width: 48rem;
}

.project-visual-label-hero {
    bottom: auto;
    display: table;
    margin-bottom: 0.8rem;
    position: static;
    right: auto;
}

.page-hero h1,
.product-hero h1 {
    font-size: clamp(2.25rem, 4.5vw, 3.8rem);
}

.product-hero-media {
    background: #dbe7e6;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 0.8rem;
    box-shadow: 0 1.15rem 2.75rem rgba(0, 18, 22, 0.3);
    justify-self: end;
    margin: 0;
    max-width: 36rem;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.product-hero-media img {
    aspect-ratio: 16 / 9;
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.product-hero-media figcaption {
    background: rgba(0, 32, 36, 0.86);
    border-radius: 0.3rem;
    bottom: 0.65rem;
    color: #f5fffd;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.35;
    padding: 0.35rem 0.55rem;
    position: absolute;
    right: 0.65rem;
}

@media (max-width: 61rem) {
    .product-hero-media {
        justify-self: start;
        max-width: 44rem;
    }
}

.section {
    padding-block: clamp(3.6rem, 6vw, 6rem);
}

.section-soft {
    background: var(--concept-page);
}

.project-card {
    min-height: 0;
}

.project-card-beneficiary {
    font-size: 0.9rem;
    position: relative;
    z-index: 2;
}

.project-card-actions {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin-top: auto;
    position: relative;
    z-index: 2;
}

.project-card-actions .card-link {
    margin-top: 0;
}

.poster-link {
    align-items: center;
    color: var(--concept-green-dark);
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 800;
    min-height: 2.75rem;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.poster-link-panel {
    border-top: 1px solid var(--concept-border);
    margin-top: 1rem;
    padding-top: 1rem;
    width: 100%;
}

.poster-accessible-note {
    color: var(--concept-muted);
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0.65rem 0 0;
}

.project-eu-logos {
    background: #fff;
    border-block: 1px solid var(--concept-border);
    padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.project-eu-logos img {
    display: block;
    height: auto;
    margin-inline: auto;
    max-width: 70rem;
    width: 100%;
}

/* Archiwum projektów UE — jednokolumnowy układ dokumentacyjny */
.eu-projects-hero {
    min-height: 19rem;
    padding-block: clamp(2.2rem, 4vw, 3.4rem);
}

.eu-projects-hero-grid {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 6vw, 5rem);
    grid-template-columns: minmax(0, 1fr) minmax(24rem, 0.62fr);
}

.eu-projects-hero h1 {
    font-size: clamp(2.25rem, 4vw, 3.35rem);
    max-width: 44rem;
}

.eu-projects-hero .breadcrumbs {
    margin-bottom: 1.35rem;
}

.eu-projects-hero .page-intro {
    max-width: 47rem;
}

.eu-projects-hero-mark {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 0.75rem;
    color: #07383d;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    justify-self: end;
    max-width: 17rem;
    padding: 1rem 1.2rem 1.15rem;
    text-align: center;
}

.eu-projects-hero-mark img {
    height: auto;
    max-width: 9rem;
    width: 100%;
}

.eu-projects-hero-mark p {
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.4;
    margin: 0;
}

.eu-projects-hero-mark-full {
    max-width: 34rem;
    padding: 1.15rem 1.35rem;
}

.eu-projects-hero-mark-full img {
    max-width: none;
    width: 100%;
}

.eu-projects-archive {
    background: var(--concept-page);
}

.eu-projects-shell,
.eu-projects-group,
.eu-projects-list {
    display: grid;
}

.eu-projects-shell {
    gap: clamp(3rem, 6vw, 5rem);
    max-width: 80rem;
}

.eu-projects-group {
    gap: 1.25rem;
}

.eu-projects-group-heading {
    align-items: start;
    border-bottom: 1px solid var(--concept-border);
    display: grid;
    gap: 1rem;
    grid-template-columns: 3.6rem minmax(0, 1fr);
    padding-bottom: 1rem;
}

.eu-projects-group-heading > span {
    color: var(--concept-green-dark);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    padding-top: 0.4rem;
}

.eu-projects-group-heading h2 {
    color: var(--concept-ink);
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    letter-spacing: -0.035em;
    margin: 0 0 0.35rem;
}

.eu-projects-group-heading p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
    max-width: 61rem;
}

.eu-projects-list {
    gap: 1rem;
}

.eu-project-card {
    background: var(--concept-surface);
    border-color: var(--concept-border);
    border-radius: 0.7rem;
    box-shadow: none;
    padding: clamp(1.25rem, 3vw, 2rem);
    transform: none;
}

.eu-project-card:hover {
    border-color: #82c8b7;
    box-shadow: 0 0.75rem 2rem rgba(5, 55, 57, 0.07);
    transform: none;
}

.eu-project-card-current {
    background: linear-gradient(115deg, #fff 0%, #f0faf7 100%);
    border-left: 0.35rem solid var(--concept-green);
}

.eu-project-card .project-card-meta {
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 1rem;
}

.eu-project-card .project-card-meta > span:last-child:not(.status-badge) {
    color: var(--concept-muted);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.035em;
}

.eu-project-index {
    color: var(--concept-green-dark);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-right: auto;
}

.eu-project-card h3 {
    font-size: clamp(1.25rem, 2.2vw, 1.65rem);
    letter-spacing: -0.025em;
    line-height: 1.3;
    margin: 0 0 1.25rem;
    max-width: 72rem;
}

.eu-project-card h3 a {
    color: var(--concept-ink);
}

.eu-project-summary {
    display: grid;
    gap: 0.65rem;
    max-width: 72rem;
}

.eu-project-summary h4 {
    color: var(--concept-green-dark);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin: 0.45rem 0 0;
    text-transform: uppercase;
}

.eu-project-summary p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.65;
    margin: 0;
}

.eu-project-facts {
    background: var(--concept-page);
    border-left: 0.2rem solid #9bcfc4;
    display: grid;
    gap: 0;
    grid-template-columns: minmax(15rem, 1.3fr) repeat(2, minmax(12rem, 0.85fr));
    margin: 1.4rem 0 0;
    padding: 0.15rem 1rem;
}

.eu-project-facts div {
    border-left: 1px solid var(--concept-border);
    padding: 0.8rem 1rem;
}

.eu-project-facts div:first-child {
    border-left: 0;
    padding-left: 0;
}

.eu-project-facts dt {
    color: var(--concept-muted);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.065em;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.eu-project-facts dd {
    color: var(--concept-ink);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.45;
    margin: 0;
}

.eu-project-card .project-card-actions {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.6rem 1.4rem;
    justify-content: flex-start;
    margin-top: 1rem;
}

.eu-project-card .poster-link {
    border-left: 1px solid var(--concept-border);
    padding-left: 1.4rem;
}

.eu-projects-public-note {
    align-items: center;
    background: #063d43;
    border-radius: 0.7rem;
    color: #fff;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: clamp(1.25rem, 3vw, 2rem);
}

.eu-projects-public-note .eyebrow {
    color: #79e5c7;
    margin-bottom: 0.25rem;
}

.eu-projects-public-note p:last-child {
    color: #d7e8e5;
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
    max-width: 59rem;
}

.eu-projects-public-note .text-link {
    color: #fff;
    white-space: nowrap;
}

.eu-projects-public-note .text-link:hover {
    color: #79e5c7;
}

.project-eu-logos .container {
    text-align: center;
}

.project-eu-logos .eyebrow {
    color: var(--concept-green-dark);
    margin-bottom: 0.35rem;
}

.project-eu-logos h2 {
    color: var(--concept-ink);
    font-size: clamp(1.35rem, 2.5vw, 1.85rem);
    margin-bottom: 1.3rem;
}

.project-eu-logos img {
    max-width: 58rem;
}

html[data-color-scheme="dark"] .eu-project-card,
html[data-color-scheme="dark"] .eu-project-card-current {
    background: var(--concept-surface);
    border-color: var(--concept-border);
}

html[data-color-scheme="dark"] .eu-project-facts {
    background: #102d2d;
}

@media (max-width: 64rem) {
    .eu-project-facts {
        grid-template-columns: 1fr 1fr;
    }

    .eu-project-facts div:nth-child(3) {
        border-left: 0;
        border-top: 1px solid var(--concept-border);
        grid-column: 1 / -1;
        padding-left: 0;
    }
}

@media (max-width: 52rem) {
    .eu-projects-hero {
        min-height: 0;
    }

    .eu-projects-hero-grid,
    .eu-projects-public-note {
        grid-template-columns: 1fr;
    }

    .eu-projects-hero-mark {
        align-items: center;
        flex-direction: row;
        justify-self: stretch;
        max-width: 29rem;
        text-align: left;
    }

    .eu-projects-hero-mark img {
        max-width: 6rem;
    }

    .eu-projects-hero-mark-full {
        max-width: 36rem;
        padding: 0.9rem 1rem;
    }

    .eu-projects-hero-mark-full img {
        max-width: none;
    }

    .eu-projects-public-note .text-link {
        justify-self: start;
        white-space: normal;
    }
}

@media (max-width: 35rem) {
    .eu-projects-group-heading {
        grid-template-columns: 1fr;
    }

    .eu-projects-group-heading > span {
        padding-top: 0;
    }

    .eu-project-card .project-card-meta {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .eu-project-index {
        flex-basis: 100%;
    }

    .eu-project-facts {
        grid-template-columns: 1fr;
    }

    .eu-project-facts div,
    .eu-project-facts div:first-child,
    .eu-project-facts div:nth-child(3) {
        border-left: 0;
        border-top: 1px solid var(--concept-border);
        grid-column: auto;
        padding: 0.8rem 0;
    }

    .eu-project-facts div:first-child {
        border-top: 0;
    }

    .eu-project-card .project-card-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .eu-project-card .poster-link {
        border-left: 0;
        border-top: 1px solid var(--concept-border);
        padding-left: 0;
        width: 100%;
    }
}

/* Karty i tytuły artykułów */
.article-card {
    border-color: var(--concept-border);
    border-radius: 0.75rem;
    overflow: hidden;
    padding: 0;
}

.article-card-media {
    aspect-ratio: 19 / 11;
    background: linear-gradient(145deg, var(--concept-night), #075a58);
    border-bottom: 1px solid var(--concept-border);
    overflow: hidden;
}

.article-card-media img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
    width: 100%;
}

.article-card:hover .article-card-media img {
    transform: scale(1.025);
}

.article-card-media-fallback {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
}

.article-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.35rem;
}

.article-card-meta {
    align-items: center;
    color: var(--concept-muted) !important;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.72rem;
    font-weight: 700;
    gap: 0.45rem 0.7rem;
    line-height: 1.35;
    margin-bottom: 0.85rem;
}

.article-card-meta > span:not(:last-child)::after {
    color: #93a6a3;
    content: "·";
    margin-left: 0.7rem;
}

.article-card-category {
    color: var(--concept-green-dark);
}

.article-card-title-row {
    align-items: start;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
}

.article-card-title-row {
    gap: 0.85rem;
    margin-bottom: 0.8rem;
}

.article-card-title {
    font-size: 1.3rem !important;
    line-height: 1.3;
    margin: 0;
}

.article-card-title a {
    color: var(--concept-ink) !important;
    text-decoration: none;
}

.article-card-title a::after {
    content: "";
    inset: 0;
    position: absolute;
}

.article-card-title a:hover {
    color: var(--concept-green-dark) !important;
}

.article-card-title a:focus-visible::after {
    border-radius: 0.75rem;
    outline: 3px solid var(--focus);
    outline-offset: -3px;
}

.article-title-icon {
    align-items: center;
    background: linear-gradient(145deg, #dff7ef, #bcebdc);
    border: 1px solid #acdccc;
    border-radius: 0.7rem;
    box-shadow: 0 0.45rem 1rem rgba(0, 118, 84, 0.12);
    color: #006d50;
    display: inline-flex;
    flex: 0 0 auto;
    height: 3rem;
    justify-content: center;
    position: relative;
    width: 3rem;
}

.article-title-icon::after {
    background: var(--concept-green);
    border: 2px solid var(--concept-surface);
    border-radius: 50%;
    content: "";
    height: 0.48rem;
    position: absolute;
    right: -0.16rem;
    top: -0.16rem;
    width: 0.48rem;
}

.article-title-icon svg {
    fill: none;
    height: 1.7rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 1.7rem;
}

.article-title-icon-media {
    height: 4.5rem;
    width: 4.5rem;
}

.article-title-icon-media svg {
    height: 2.55rem;
    width: 2.55rem;
}

.article-card-teaser {
    color: var(--concept-muted) !important;
    font-size: 0.96rem;
    line-height: 1.55;
    margin-bottom: 1rem;
}

.article-card-link {
    align-items: center;
    color: var(--concept-green-dark);
    display: inline-flex;
    font-size: 0.85rem;
    font-weight: 800;
    gap: 0.4rem;
    margin-top: auto;
    min-height: 2.75rem;
}

.article-card-link span {
    font-size: 1rem;
    transition: transform 160ms ease;
}

.article-card:hover .article-card-link span {
    transform: translateX(0.2rem);
}

.home-article-list {
    display: grid;
    gap: 0.9rem;
}

.article-card-home {
    box-shadow: none;
    min-width: 0;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.article-card-home:hover {
    border-color: #9bcfc1;
    box-shadow: var(--concept-shadow);
    transform: none;
}

.article-card-home .article-card-media {
    aspect-ratio: 2 / 1;
}

.article-card-home .article-card-content {
    position: relative;
    padding: 0.85rem;
}

.article-card-home .article-card-meta {
    font-size: 0.66rem;
    margin-bottom: 0.55rem;
}

.article-card-home .article-card-title-row {
    display: block;
    margin-bottom: 0.65rem;
}

.article-card-home .article-card-title {
    font-size: 1.2rem !important;
    line-height: 1.3;
}

.article-card-home .article-card-teaser {
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 0.55rem;
}

.article-card-home .article-card-link {
    font-size: 0.9rem;
}

.status-badge {
    border-radius: 0.35rem;
}

.article-container {
    max-width: 72rem;
}

.article-detail-hero {
    background: var(--concept-night-deep);
    background-image: none;
    color: #e8f5f3;
    min-height: clamp(27rem, 38vw, 31rem);
    overflow: hidden;
    padding-block: 0;
    position: relative;
}

.article-detail-hero-image,
.article-detail-hero-overlay {
    inset: 0;
    position: absolute;
}

.article-detail-hero-image {
    height: 100%;
    object-fit: cover;
    object-position: center 44%;
    width: 100%;
}

.article-detail-hero-overlay {
    background: linear-gradient(90deg, rgba(0, 37, 41, 0.98) 0%, rgba(0, 42, 46, 0.94) 40%, rgba(0, 43, 47, 0.68) 62%, rgba(0, 38, 42, 0.12) 100%);
}

.article-detail-hero-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: inherit;
    padding-block: clamp(2rem, 4vw, 3rem);
    position: relative;
    z-index: 1;
}

.article-detail-hero .breadcrumbs {
    margin-bottom: 1.2rem;
}

.article-detail-hero-copy {
    max-width: 52rem;
    width: 72%;
}

.article-detail-hero .eyebrow {
    color: #68dfc0;
    margin-bottom: 0.65rem;
}

.article-detail-hero h1 {
    font-size: clamp(2.15rem, 3.1vw, 3rem);
    letter-spacing: -0.03em;
    line-height: 1.08;
    margin: 0;
    max-width: 25ch;
}

.article-draft-notice {
    background: #fff0bd;
    border: 1px solid #e2bd4d;
    border-radius: 0.45rem;
    color: #443300 !important;
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 800;
    margin-bottom: 1.25rem;
    padding: 0.55rem 0.75rem;
}

.article-lead {
    color: #e4f2f0 !important;
    font-size: clamp(1.02rem, 1.45vw, 1.18rem);
    line-height: 1.52;
    margin: 0.85rem 0 0;
    max-width: 65ch;
}

.article-meta-list {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    margin: 0 0 clamp(2rem, 4vw, 3rem);
    overflow: hidden;
}

.article-meta-list div {
    border-left: 1px solid var(--concept-border);
    padding: 0.9rem 1rem;
}

.article-meta-list div:first-child {
    border-left: 0;
}

.article-meta-list dt {
    color: var(--concept-ink-soft);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.article-meta-list dd {
    color: var(--concept-ink);
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0.15rem 0 0;
}

.article-detail-section {
    background: var(--concept-page);
    padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

.article-eu-logos {
    background: #fff;
    border: 1px solid var(--concept-border);
    border-radius: 0.75rem;
    margin: clamp(3rem, 6vw, 5rem) 0 0;
    overflow: hidden;
    padding: clamp(0.75rem, 2vw, 1.25rem);
}

.article-eu-logos + .article-related {
    margin-top: clamp(2rem, 4vw, 3rem);
}

.article-eu-logos img {
    display: block;
    height: auto;
    width: 100%;
}

.article-image-pending {
    background: var(--concept-mint);
    border: 1px dashed var(--concept-green-dark);
    border-radius: 0.55rem;
    color: var(--concept-ink);
    font-size: 0.9rem;
    margin: 0 0 2rem;
    padding: 0.85rem 1rem;
}

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

.article-toc {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    padding: 1.2rem;
    position: sticky;
    top: 6.5rem;
}

.article-toc h2 {
    color: var(--concept-ink);
    font-size: 1rem;
    margin: 0 0 0.85rem;
}

.article-toc ol {
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding-left: 1.15rem;
}

.article-toc li {
    color: var(--concept-muted);
    font-size: 0.84rem;
    line-height: 1.4;
    padding-left: 0.2rem;
}

.article-toc a {
    color: var(--concept-ink);
    text-decoration-color: var(--concept-border);
    text-underline-offset: 0.18em;
}

.article-toc a:hover {
    color: var(--concept-green-dark);
    text-decoration-color: currentColor;
}

.article-body.prose {
    font-size: 1.1rem;
    line-height: 1.72;
    max-width: 72ch;
    min-width: 0;
}

.article-body.prose h2 {
    scroll-margin-top: 7rem;
}

.article-body.prose p,
.article-body.prose li {
    color: var(--concept-muted);
}

.article-body.prose ul,
.article-body.prose ol {
    padding-left: 1.45rem;
}

.article-body.prose blockquote {
    background: var(--concept-mint);
    border-left: 4px solid var(--concept-green-dark);
    border-radius: 0 0.5rem 0.5rem 0;
    margin: 2rem 0;
    padding: 1.25rem 1.4rem;
}

.article-body.prose blockquote p {
    color: var(--concept-ink);
    font-size: 1.12rem;
    margin: 0;
}

.article-body.prose hr {
    border: 0;
    border-top: 1px solid var(--concept-border);
    margin: 3rem 0 1.5rem;
}

.article-tags {
    border-top: 1px solid var(--concept-border);
    margin-top: 3rem;
    padding-top: 1.5rem;
}

.article-tags h2 {
    font-size: 1.1rem !important;
    margin: 0 0 0.85rem !important;
}

.article-tags ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.article-tags li {
    background: var(--concept-mint);
    border-radius: 999px;
    color: var(--concept-ink) !important;
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0 !important;
    padding: 0.38rem 0.65rem;
}

.article-related {
    border-top: 1px solid var(--concept-border);
    margin-top: clamp(3rem, 6vw, 5rem);
    padding-top: 2rem;
}

.article-related > h2 {
    font-size: clamp(1.45rem, 3vw, 2rem);
}

.article-related-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.article-related-card {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.6rem;
    color: var(--concept-ink);
    display: grid;
    gap: 0.35rem;
    min-height: 7.5rem;
    padding: 1.3rem;
    text-decoration: none;
}

.article-related-card span {
    color: var(--concept-green-dark);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.article-related-card strong {
    font-size: 1.05rem;
}

.article-related-card:hover {
    border-color: var(--concept-green-dark);
    box-shadow: var(--concept-shadow);
}

.article-cta {
    align-items: center;
    background: linear-gradient(135deg, var(--concept-night), var(--concept-night-deep));
    border-radius: 0.75rem;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    margin-top: 2rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.article-cta p {
    color: #fff;
    font-size: clamp(1.2rem, 2.4vw, 1.65rem);
    font-weight: 800;
    margin: 0;
    max-width: 36rem;
}

@media (max-width: 64rem) {
    .article-detail-hero-copy {
        width: 82%;
    }

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

    .article-toc {
        position: static;
    }

    .article-toc ol {
        columns: 2;
        column-gap: 2rem;
    }
}

@media (max-width: 47rem) {
    .article-detail-hero {
        min-height: 34rem;
        padding-block: 0;
    }

    .article-detail-hero-image {
        object-position: 63% center;
    }

    .article-detail-hero-overlay {
        background: linear-gradient(180deg, rgba(0, 38, 42, 0.35) 0%, rgba(0, 38, 42, 0.68) 34%, rgba(0, 36, 40, 0.96) 68%, rgba(0, 34, 38, 0.995) 100%);
    }

    .article-detail-hero-content {
        min-height: inherit;
        padding-block: 1.35rem 1.7rem;
    }

    .article-detail-hero .breadcrumbs {
        margin-bottom: 0.85rem;
    }

    .article-detail-hero .breadcrumbs [aria-current="page"] {
        display: block;
        max-width: 7rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .article-detail-hero-copy {
        width: 100%;
    }

    .article-detail-hero h1 {
        font-size: clamp(1.7rem, 7.6vw, 2.1rem);
        max-width: none;
    }

    .article-lead {
        font-size: 1rem;
        line-height: 1.5;
    }

    .article-detail-section {
        padding-top: 1rem;
    }

    .article-meta-list {
        display: grid;
        grid-template-columns: 1fr;
    }

    .article-meta-list div {
        border-left: 0;
        border-top: 1px solid var(--concept-border);
        padding: 0.75rem 0.9rem;
    }

    .article-meta-list div:first-child {
        border-top: 0;
    }

    .article-toc ol {
        columns: 1;
    }

    .article-body.prose {
        font-size: 1.0625rem;
        line-height: 1.7;
    }

    .article-related-grid {
        grid-template-columns: 1fr;
    }

    .article-cta {
        align-items: stretch;
        flex-direction: column;
    }

    .article-cta .button {
        width: 100%;
    }
}

html[data-color-scheme="dark"] {
    --concept-green: #54d8aa;
    --concept-green-dark: #78e4bd;
    --concept-mint: #173630;
    --concept-ink: #eef8f6;
    --concept-muted: #b8cac7;
    --concept-border: #2e4a49;
    --concept-surface: #0d2225;
    --concept-page: #07171a;
    --concept-night: #04282c;
    --concept-night-deep: #021a1d;
    --concept-shadow: 0 14px 36px rgba(0, 0, 0, 0.3);
    scrollbar-color: #476867 var(--concept-page);
}

html[data-color-scheme="dark"] body,
html[data-color-scheme="dark"] .concept-home {
    background: var(--concept-page);
    color: var(--concept-ink);
}

html[data-color-scheme="dark"] h1,
html[data-color-scheme="dark"] h2,
html[data-color-scheme="dark"] h3 {
    color: var(--concept-ink);
}

html[data-color-scheme="dark"] a:hover {
    color: var(--concept-green-dark);
}

html[data-color-scheme="dark"] .section-dark h1,
html[data-color-scheme="dark"] .section-dark h2,
html[data-color-scheme="dark"] .section-dark h3,
html[data-color-scheme="dark"] .ai-section h2,
html[data-color-scheme="dark"] .final-cta h2,
html[data-color-scheme="dark"] .page-hero h1,
html[data-color-scheme="dark"] .product-hero h1,
html[data-color-scheme="dark"] .service-card-custom h2,
html[data-color-scheme="dark"] .service-card-custom h3,
html[data-color-scheme="dark"] .footer-heading {
    color: #f5fffd;
}

html[data-color-scheme="dark"] .site-header,
html[data-color-scheme="dark"] .concept-header {
    background: rgba(7, 23, 26, 0.985);
    border-bottom-color: var(--concept-border);
}

html[data-color-scheme="dark"] .concept-header .brand,
html[data-color-scheme="dark"] .brand-footer {
    background: transparent;
    border-radius: 0;
    padding: 0;
}

html[data-color-scheme="dark"] .brand .brand-logo-light {
    display: none;
}

html[data-color-scheme="dark"] .brand .brand-logo-dark {
    display: block;
}

html[data-color-scheme="dark"] .language-link,
html[data-color-scheme="dark"] .button-secondary,
html[data-color-scheme="dark"] .service-card-rd {
    color: var(--concept-ink);
}

html[data-color-scheme="dark"] .button:hover {
    color: #fff;
}

html[data-color-scheme="dark"] .section-dark .button:hover,
html[data-color-scheme="dark"] .ai-section .button:hover,
html[data-color-scheme="dark"] .final-cta .button:hover {
    background: #effffc;
    border-color: #effffc;
    color: #041719;
}

html[data-color-scheme="dark"] .section-dark .button-ghost,
html[data-color-scheme="dark"] .ai-section .button-ghost,
html[data-color-scheme="dark"] .final-cta .button-ghost {
    color: #fff;
}

html[data-color-scheme="dark"] .concept-home .button:not(.button-ghost),
html[data-color-scheme="dark"] .concept-header .button:not(.button-ghost) {
    background: var(--concept-green);
    border-color: var(--concept-green);
    color: #042119;
}

html[data-color-scheme="dark"] .concept-home .button:not(.button-ghost):hover,
html[data-color-scheme="dark"] .concept-header .button:not(.button-ghost):hover {
    background: #85e9c7;
    border-color: #85e9c7;
    color: #042119;
}

html[data-color-scheme="dark"] .concept-home .button-ghost {
    background: rgba(2, 15, 17, 0.48) !important;
    border-color: rgba(255, 255, 255, 0.78) !important;
    color: #fff !important;
}

/* Homepage hero carousel — Slider1/Slider2 are composition references only. */
.home-hero-slider {
    --site-header-height: 4.85rem;
    --hero-service-height: 5.25rem;
    background: #052f34;
    color: #fff;
    min-height: calc(100svh - var(--site-header-height));
    overflow: hidden;
    position: relative;
}

.home-hero-slides {
    min-height: calc(100svh - var(--site-header-height) - var(--hero-service-height));
    position: relative;
}

.home-hero-slide {
    display: grid;
    inset: 0;
    min-height: inherit;
    opacity: 0;
    overflow: hidden;
    place-items: center;
    pointer-events: none;
    position: absolute;
    visibility: visible;
    z-index: 0;
}

.home-hero-slide.is-active {
    opacity: 1;
    pointer-events: auto;
    position: relative;
    z-index: 1;
}

.home-hero-picture,
.home-hero-shade {
    inset: 0;
    position: absolute;
}

.home-hero-picture img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.home-hero-shade {
    background:
        linear-gradient(90deg, rgba(0, 35, 39, 0.78), rgba(0, 37, 41, 0.57) 48%, rgba(0, 29, 33, 0.72)),
        linear-gradient(180deg, rgba(0, 30, 34, 0.3), rgba(0, 30, 34, 0.62));
}

.home-hero-slide--infokolektor .home-hero-shade,
.home-hero-slide--infokowal .home-hero-shade,
.home-hero-slide--medalert .home-hero-shade,
.home-hero-slide--pharma-flow .home-hero-shade {
    background:
        linear-gradient(90deg, rgba(0, 37, 41, 0.82), rgba(0, 37, 41, 0.61) 50%, rgba(0, 31, 35, 0.8)),
        linear-gradient(180deg, rgba(0, 30, 34, 0.36), rgba(0, 30, 34, 0.7));
}

.home-hero-content {
    align-items: center;
    display: flex;
    flex-direction: column;
    max-width: 45rem;
    padding: clamp(4.5rem, 9vh, 7rem) clamp(1.25rem, 5vw, 4rem) clamp(11rem, 22vh, 14rem);
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 2;
}

.home-hero-eyebrow {
    color: #86f0cf;
    font-size: clamp(0.72rem, 0.85vw, 0.83rem);
    font-weight: 800;
    letter-spacing: 0.14em;
    margin: 0 0 0.9rem;
    text-transform: uppercase;
}

.home-hero-content h1,
.home-hero-content h2 {
    color: #fff;
    font-size: clamp(2.45rem, 4.35vw, 4.4rem);
    letter-spacing: -0.045em;
    line-height: 1.02;
    margin: 0;
    max-width: 18ch;
    text-wrap: balance;
}

.home-hero-tagline {
    color: #fff;
    font-size: clamp(1.2rem, 1.65vw, 1.55rem);
    font-weight: 750;
    line-height: 1.28;
    margin: 1rem 0 0;
    max-width: 36ch;
    text-wrap: balance;
}

.home-hero-description {
    color: #eef9f7;
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.62;
    margin: 1.1rem 0 0;
    max-width: 65ch;
    text-wrap: pretty;
}

.home-hero-status {
    align-items: center;
    background: rgba(1, 36, 39, 0.7);
    border: 1px solid rgba(178, 244, 225, 0.38);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 750;
    gap: 0.55rem;
    line-height: 1.3;
    margin: 1.15rem 0 0;
    padding: 0.55rem 0.85rem;
}

.home-hero-status > span {
    color: #4ce0b4;
    font-size: 0.7rem;
}

.home-hero-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    margin-top: 1.35rem;
}

.concept-home .home-hero-actions .button {
    min-height: 3.1rem;
    padding-inline: 1.25rem;
}

.concept-home .home-hero-actions .home-hero-secondary {
    background: rgba(1, 25, 28, 0.42);
    border-color: rgba(255, 255, 255, 0.8);
    color: #fff;
}

.concept-home .home-hero-actions .home-hero-secondary:hover {
    background: #fff;
    border-color: #fff;
    color: #06383c;
}

.home-hero-controls {
    align-items: center;
    bottom: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 1rem;
    justify-content: center;
    left: 50%;
    max-width: min(94vw, 72rem);
    padding: 0.55rem 0.75rem;
    position: absolute;
    transform: translateX(-50%);
    width: max-content;
    z-index: 4;
}

.home-hero-autoplay,
.home-hero-arrow-controls,
.home-hero-selectors {
    background: rgba(0, 24, 28, 0.78);
    border: 1px solid rgba(223, 250, 243, 0.38);
    border-radius: 0.55rem;
    box-shadow: 0 8px 22px rgba(0, 22, 25, 0.18);
}

.home-hero-autoplay,
.home-hero-arrow-controls button,
.home-hero-selectors button {
    color: #fff;
    cursor: pointer;
    font: inherit;
}

.home-hero-autoplay {
    align-items: center;
    display: inline-flex;
    font-size: 0.77rem;
    font-weight: 750;
    gap: 0.55rem;
    min-height: 2.65rem;
    padding: 0.55rem 0.78rem;
}

.home-hero-autoplay > span:first-child {
    font-size: 0.9rem;
    letter-spacing: -0.1em;
}

.home-hero-arrow-controls {
    align-items: center;
    display: flex;
    min-height: 2.65rem;
}

.home-hero-arrow-controls button {
    align-items: center;
    background: transparent;
    border: 0;
    display: inline-flex;
    font-size: 1.1rem;
    height: 2.65rem;
    justify-content: center;
    width: 2.65rem;
}

.home-hero-counter {
    color: #fff;
    font-size: 0.78rem;
    margin: 0;
    min-width: 3.7rem;
    text-align: center;
}

.home-hero-counter strong {
    color: #76e8c6;
}

.home-hero-selectors {
    align-items: stretch;
    display: flex;
    overflow-x: auto;
    scrollbar-width: thin;
}

.home-hero-selectors button {
    background: transparent;
    border: 0;
    border-radius: 0.42rem;
    font-size: 0.75rem;
    font-weight: 700;
    min-height: 2.65rem;
    padding: 0.55rem 0.72rem;
    position: relative;
    white-space: nowrap;
}

.home-hero-selectors button[aria-current="true"] {
    background: rgba(61, 221, 178, 0.2);
    color: #a6f8de;
}

.home-hero-selectors button[aria-current="true"]::after {
    background: #55e2bb;
    bottom: 0.28rem;
    content: "";
    height: 2px;
    left: 0.65rem;
    position: absolute;
    right: 0.65rem;
}

.home-hero-autoplay:hover,
.home-hero-arrow-controls button:hover,
.home-hero-selectors button:hover {
    background: rgba(56, 208, 169, 0.22);
}

.home-hero-autoplay:disabled {
    cursor: default;
    opacity: 0.78;
}

.home-hero-autoplay:focus-visible,
.home-hero-arrow-controls button:focus-visible,
.home-hero-selectors button:focus-visible,
.home-hero-services a:focus-visible,
.home-hero-actions a:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.home-hero-services {
    background: rgba(0, 38, 42, 0.97);
    border-top: 1px solid rgba(190, 239, 228, 0.28);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: var(--hero-service-height);
    position: relative;
    z-index: 3;
}

.home-hero-services a {
    align-items: center;
    color: #fff;
    display: flex;
    font-size: clamp(0.78rem, 1vw, 0.9rem);
    font-weight: 750;
    gap: 0.75rem;
    justify-content: center;
    line-height: 1.35;
    padding: 1rem clamp(1rem, 2.5vw, 2rem);
    text-align: center;
    text-decoration: none;
}

.home-hero-services a + a {
    border-left: 1px solid rgba(190, 239, 228, 0.25);
}

.home-hero-services a > span:first-child {
    color: #6ce7c5;
    font-size: 1.1rem;
}

.home-hero-services a:hover {
    background: rgba(62, 210, 172, 0.14);
    color: #fff;
}

@media (prefers-reduced-motion: no-preference) {
    .home-hero-slide {
        transition: opacity 1050ms cubic-bezier(0.4, 0, 0.2, 1);
    }
}

@media (max-width: 64rem) {
    .home-hero-content {
        padding-top: 4.5rem;
    }

    .home-hero-controls {
        max-width: calc(100vw - 1rem);
    }
}

@media (max-width: 47.999rem) {
    .home-hero-slider {
        --site-header-height: 4.3rem;
        min-height: 0;
        overflow: visible;
    }

    .home-hero-slides {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .home-hero-slide {
        min-height: calc(100svh - var(--site-header-height) - 4.65rem);
        order: 1;
    }

    .home-hero-picture img {
        object-position: center;
    }

    .home-hero-shade,
    .home-hero-slide--infokolektor .home-hero-shade,
    .home-hero-slide--infokowal .home-hero-shade,
    .home-hero-slide--medalert .home-hero-shade,
    .home-hero-slide--pharma-flow .home-hero-shade {
        background: linear-gradient(180deg, rgba(0, 33, 37, 0.5), rgba(0, 31, 35, 0.82) 48%, rgba(0, 27, 31, 0.95));
    }

    .home-hero-content {
        justify-content: center;
        max-width: 39rem;
        padding: 4rem 1rem;
    }

    .home-hero-content h1,
    .home-hero-content h2 {
        font-size: clamp(2rem, 10.2vw, 3rem);
        line-height: 1.06;
    }

    .home-hero-tagline {
        font-size: 1.1rem;
    }

    .home-hero-description {
        font-size: 1rem;
        line-height: 1.52;
    }

    .home-hero-status {
        border-radius: 0.5rem;
        font-size: 0.8rem;
        justify-content: center;
    }

    .home-hero-actions {
        align-items: stretch;
        flex-direction: column;
        width: min(100%, 22rem);
    }

    .concept-home .home-hero-actions .button {
        width: 100%;
    }

    .home-hero-controls {
        background: #00282d;
        bottom: auto;
        display: grid;
        gap: 0.55rem;
        grid-template-columns: minmax(0, 1fr) auto;
        left: auto;
        margin: 0;
        max-width: none;
        order: 2;
        padding: 0.75rem 0.5rem 1rem;
        position: relative;
        transform: none;
        width: 100%;
    }

    .home-hero-autoplay {
        justify-content: center;
        min-width: 0;
    }

    .home-hero-arrow-controls {
        justify-content: center;
    }

    .home-hero-selectors {
        grid-column: 1 / -1;
        justify-content: flex-start;
        width: 100%;
    }

    .home-hero-selectors button {
        flex: 1 0 auto;
    }

    .home-hero-services {
        grid-template-columns: 1fr;
    }

    .home-hero-services a {
        justify-content: flex-start;
        min-height: 4.25rem;
        text-align: left;
    }

    .home-hero-services a + a {
        border-left: 0;
        border-top: 1px solid rgba(190, 239, 228, 0.25);
    }
}

@media (max-width: 22rem) {
    .home-hero-content {
        padding-inline: 0.75rem;
    }

    .home-hero-eyebrow {
        letter-spacing: 0.1em;
    }

    .home-hero-autoplay {
        font-size: 0.7rem;
        padding-inline: 0.5rem;
    }

    .home-hero-arrow-controls button {
        width: 2.4rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero-slide,
    .home-hero-slide .home-hero-content {
        transition: none !important;
        transform: none !important;
    }
}

html[data-color-scheme="dark"] .mobile-nav-panel,
html[data-color-scheme="dark"] .nav-dropdown > ul,
html[data-color-scheme="dark"] .concept-section,
html[data-color-scheme="dark"] .concept-product-card,
html[data-color-scheme="dark"] .home-featured-project-card,
html[data-color-scheme="dark"] .home-news-card,
html[data-color-scheme="dark"] .news-archive-card,
html[data-color-scheme="dark"] .news-detail-body,
html[data-color-scheme="dark"] .home-sidebar,
html[data-color-scheme="dark"] .compact-content-list article,
html[data-color-scheme="dark"] .empty-card,
html[data-color-scheme="dark"] .empty-state,
html[data-color-scheme="dark"] .product-card,
html[data-color-scheme="dark"] .article-card,
html[data-color-scheme="dark"] .contact-card {
    background: var(--concept-surface);
}

html[data-color-scheme="dark"] .news-detail-section {
    background:
        radial-gradient(circle at 96% 8%, rgba(76, 219, 178, 0.08), transparent 24rem),
        var(--concept-page);
}

html[data-color-scheme="dark"] .funding-news-target,
html[data-color-scheme="dark"] .funding-news-tags span {
    background: #15332f;
    border-color: #3d6b62;
    color: #dffbf2;
}

html[data-color-scheme="dark"] .funding-news-result-list li {
    background: #102927;
    border-color: var(--concept-border);
}

html[data-color-scheme="dark"] .funding-news-finance p,
html[data-color-scheme="dark"] .funding-news-result-list li::before {
    background: #06191c;
}

html[data-color-scheme="dark"] .news-eu-logos {
    border-color: #cfe5df;
}

html[data-color-scheme="dark"] .competencies-panel {
    background: transparent;
    border: 0;
    box-shadow: none;
}

html[data-color-scheme="dark"] .competency-item {
    --competency-accent: #5faa98;
    --competency-border: #356a61;
    --competency-icon-border: #4f887a;
    --competency-icon-color: #d5fff2;
    --competency-icon-surface: #1c5148;
    --competency-ink: #f4fffc;
    --competency-link: #baf1e1;
    --competency-muted: #d1e6e1;
    --competency-surface-end: #0d302f;
    --competency-surface-start: #164a43;
    box-shadow: inset 0 0.1875rem 0 var(--competency-accent), 0 0.7rem 1.6rem rgba(0, 0, 0, 0.2);
}

html[data-color-scheme="dark"] .competency-item:hover {
    border-color: var(--competency-accent);
    box-shadow: inset 0 0.1875rem 0 var(--competency-accent), 0 0.9rem 1.9rem rgba(0, 0, 0, 0.28);
}

html[data-color-scheme="dark"] .concept-product-copy .status-badge,
html[data-color-scheme="dark"] .status-badge {
    background: #173c35;
    border-color: #3d6b62;
    color: #93efd0;
}

html[data-color-scheme="dark"] .concept-product-card--icon {
    background: linear-gradient(145deg, #10282a 0%, #10282a 58%, #153632 100%);
    border-color: #345455;
    box-shadow: 0 0.7rem 1.6rem rgba(0, 0, 0, 0.22);
}

html[data-color-scheme="dark"] .concept-home-product-icon {
    background: linear-gradient(145deg, #173b36, #102c2b);
    border-color: #3a6d62;
    color: #d7fbf1;
}

html[data-color-scheme="dark"] .concept-home-product-status--available {
    background: transparent;
    color: #b8f4df;
}

html[data-color-scheme="dark"] .concept-home-product-status--deployment {
    background: transparent;
    color: #c7edf4;
}

html[data-color-scheme="dark"] .concept-home-product-status--research {
    background: transparent;
    color: #ffe2a0;
}

html[data-color-scheme="dark"] .concept-home-product-highlights li {
    background: transparent;
    border: 0;
    color: #dcefeb;
}

html[data-color-scheme="dark"] .status-badge-dark {
    background: #06191c;
    border-color: #52706f;
    color: #effffc;
}

html[data-color-scheme="dark"] .product-card h3 a,
html[data-color-scheme="dark"] .project-card h3 a,
html[data-color-scheme="dark"] .article-card h2 a,
html[data-color-scheme="dark"] .article-card h3 a,
html[data-color-scheme="dark"] .compact-content-list h3 a {
    color: var(--concept-ink);
}

html[data-color-scheme="dark"] .article-title-icon {
    background: linear-gradient(145deg, #214d43, #183a35);
    border-color: #3b6d62;
    color: #91edce;
}

html[data-color-scheme="dark"] .article-card-media {
    border-bottom-color: var(--concept-border);
}

@media (prefers-reduced-motion: reduce) {
    .concept-product-card--icon,
    .article-card-media img,
    .article-card-link span,
    .competency-cta span,
    .home-news-media img {
        transition: none;
    }

    .article-card:hover .article-card-media img,
    .article-card:hover .article-card-link span,
    .competency-cta:hover span,
    .home-news-card:hover .home-news-media img {
        transform: none;
    }

    .concept-product-card--icon:hover {
        transform: none;
    }

    .concept-product-card--icon .concept-card-link span {
        transition: none;
    }

    .concept-product-card--icon .concept-card-link:hover span {
        transform: none;
    }
}

html[data-color-scheme="dark"] .concept-benefit-list li {
    color: var(--concept-muted);
}

html[data-color-scheme="dark"] .prose p,
html[data-color-scheme="dark"] .prose li {
    color: var(--concept-muted);
}

html[data-color-scheme="dark"] .notice-warning {
    color: #ffe8ad;
}

html[data-color-scheme="dark"] .sidebar-projects {
    background: linear-gradient(145deg, #12312d 0%, #0c2425 100%);
    border-bottom-color: var(--concept-border);
}

html[data-color-scheme="dark"] .sidebar-project-heading > .compact-link {
    background: rgba(7, 24, 26, 0.72);
    border-color: #42635f;
}

html[data-color-scheme="dark"] .sidebar-status {
    background: #102a2b;
    border-color: #42665f;
    color: #91edce;
}

html[data-color-scheme="dark"] .sidebar-project-icon {
    background: #fff;
    border-color: #fff;
    box-shadow: 0 0.4rem 0.9rem rgba(0, 0, 0, 0.3);
}

html[data-color-scheme="dark"] .home-project-icon {
    background: #fff;
    border-color: #fff;
    box-shadow: 0 0.4rem 0.9rem rgba(0, 0, 0, 0.3);
}

html[data-color-scheme="dark"] .home-project-logos {
    background: #fff;
    border-color: #42635f;
}

html[data-color-scheme="dark"] .home-featured-project-card {
    background: linear-gradient(135deg, #102927 0%, #0b2022 100%);
}

html[data-color-scheme="dark"] .project-card {
    background: var(--surface-soft);
}

html[data-color-scheme="dark"] .eu-logo-strip,
html[data-color-scheme="dark"] .project-eu-logos {
    background: #fff;
}

html[data-color-scheme="dark"] .project-eu-logos .eyebrow {
    color: #006d68;
}

html[data-color-scheme="dark"] .project-eu-logos h2 {
    color: #102127;
}

html[data-color-scheme="dark"] .mobile-bottom-nav {
    background: rgba(7, 23, 26, 0.985);
    border-top-color: var(--concept-border);
    box-shadow: 0 -8px 22px rgba(0, 0, 0, 0.32);
}

html[data-color-scheme="dark"] .mobile-bottom-nav a {
    color: var(--concept-ink);
}

html[data-color-scheme="dark"] .mobile-bottom-nav a[aria-current="page"] {
    color: var(--concept-green-dark);
}

html[data-color-scheme="dark"] .breadcrumbs a,
html[data-color-scheme="dark"] .product-symbol small {
    color: #f5fffd;
}

html[data-color-scheme="dark"] a:focus-visible,
html[data-color-scheme="dark"] button:focus-visible,
html[data-color-scheme="dark"] summary:focus-visible {
    outline-color: #ffbf00;
}

@media (min-width: 64.0625rem) {
    .featured-project-card:not(.home-featured-project-card) h3 {
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5;
        display: -webkit-box;
        overflow: hidden;
    }

    .featured-project-card:not(.home-featured-project-card) p {
        display: none;
    }
}

@media (max-width: 82rem) {
    .accessibility-tools {
        border-left: 0;
        display: flex;
        margin-left: 0;
        padding-left: 0;
    }

    .accessibility-tools button:not([data-contrast-toggle]) {
        display: none;
    }

    .concept-hero-copy {
        width: 70%;
    }

}

@media (max-width: 64rem) {
    .concept-desktop-nav {
        display: none;
    }

    .concept-header .header-utilities {
        margin-left: auto;
    }

    .concept-header .menu-toggle {
        display: inline-flex;
    }

    .home-layout {
        border-inline: 0;
    }

    .home-sidebar {
        border-top: 1px solid var(--concept-border);
        display: grid;
        gap: 1.25rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 1.5rem;
    }

    .sidebar-section + .sidebar-section {
        border-top: 0;
        margin-top: 0;
        padding-top: 0;
    }

    .sidebar-projects {
        grid-row: span 2;
        margin-inline: 0;
    }

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

}

@media (max-width: 63.999rem) {
    .home-project-grid {
        grid-template-columns: 1fr;
    }

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

    .concept-product-card {
        grid-template-columns: minmax(15rem, 38%) minmax(0, 62%);
    }

}

@media (max-width: 52rem) {
    .sidebar-project-heading {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .sidebar-project-heading-main {
        flex: 1 1 100%;
        width: 100%;
    }

    .sidebar-project-heading > .compact-link {
        margin-left: 3.4rem;
    }
}

@media (max-width: 47.499rem) {
    body {
        padding-bottom: calc(4.65rem + env(safe-area-inset-bottom));
    }

    .project-hero--with-image {
        min-height: 0;
        padding-block: 2rem 2.5rem;
    }

    .project-hero--with-image .breadcrumbs [aria-current="page"] {
        display: none;
    }

    .page-hero.project-hero--with-image h1 {
        font-size: clamp(1.45rem, 7vw, 1.75rem);
        line-height: 1.14;
    }

    .project-hero--with-image .project-hero-content > p {
        font-size: 1rem;
        line-height: 1.55;
    }

    .project-hero-overlay {
        background: linear-gradient(180deg, rgba(0, 31, 43, 0.9) 0%, rgba(0, 47, 53, 0.94) 100%);
    }

    .concept-header .header-inner {
        min-height: 4.3rem;
    }

    .concept-header .brand img {
        width: 10.25rem;
    }

    .concept-header .language-link,
    .concept-header .menu-toggle {
        height: 2.7rem;
        width: 2.7rem;
    }

    .mobile-nav-panel {
        height: calc(100dvh - 8.95rem - env(safe-area-inset-bottom));
        max-height: none;
    }

    .concept-hero {
        min-height: 27rem;
    }

    .concept-hero-image {
        object-position: 67% center;
    }

    .concept-hero-overlay {
        background: linear-gradient(180deg, rgba(0, 38, 42, 0.63) 0%, rgba(0, 38, 42, 0.9) 48%, rgba(0, 36, 40, 0.99) 100%);
    }

    .concept-hero-copy {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        min-height: 27rem;
        padding: 1.4rem 1.25rem 1.6rem;
        width: 100%;
    }

    .concept-hero h1 {
        font-size: clamp(1.85rem, 9vw, 2.35rem);
        max-width: 15ch;
    }

    .concept-hero-copy > p:not(.concept-kicker) {
        font-size: 1rem;
    }

    .concept-home .button-row {
        align-items: stretch;
        flex-direction: column;
    }

    .concept-home .button-row .button {
        width: 100%;
    }

    .concept-section {
        padding: 1.35rem 1rem;
    }

    .concept-section-heading {
        align-items: flex-start;
    }

    .concept-section-heading h2 {
        font-size: 1.35rem;
        max-width: 14rem;
    }

    .concept-section-heading .compact-link {
        font-size: 0.72rem;
        text-align: right;
    }

    .concept-product-grid {
        grid-template-columns: 1fr;
    }

    .concept-product-card {
        grid-template-columns: 1fr;
    }

    .concept-product-visual {
        aspect-ratio: 16 / 9;
    }

    .concept-product-visual--portrait img {
        object-position: center 4%;
    }

    .concept-product-visual--dashboard img {
        object-position: center top;
    }

    .concept-product-visual--medalert-teaser img {
        object-position: center center;
    }

    .concept-product-copy {
        padding: 1rem;
    }

    .concept-product-copy h3 {
        font-size: 1.25rem;
    }

    .concept-product-copy .concept-product-value {
        font-size: 1rem;
        line-height: 1.55;
    }

    .concept-benefit-list {
        gap: 0.35rem;
        padding: 0;
    }

    .concept-benefit-list li {
        font-size: 1rem;
    }

    .home-projects-heading,
    .home-projects-heading-main {
        align-items: flex-start;
    }

    .home-projects-heading-main {
        gap: 0.7rem;
    }

    .home-article-grid,
    .home-news-grid {
        grid-template-columns: 1fr;
    }

    .funding-news-result-list,
    .funding-news-finance {
        grid-template-columns: 1fr;
    }

    .funding-news-result-list li:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .page-hero.news-detail-hero {
        min-height: 0;
        padding-block: 1.1rem 1.55rem;
    }

    .news-detail-hero-content {
        min-height: 0;
    }

    .news-detail-hero .breadcrumbs {
        margin-bottom: 1.1rem;
    }

    .news-detail-hero .breadcrumbs [aria-current="page"],
    .news-detail-hero .news-breadcrumb-current-separator {
        display: none;
    }

    .page-hero.news-detail-hero h1 {
        font-size: clamp(1.65rem, 7vw, 2rem);
        overflow-wrap: anywhere;
    }

    .news-detail-hero-image {
        object-position: 55% center;
    }

    .news-detail-hero-overlay {
        background:
            linear-gradient(0deg, rgba(0, 27, 33, 0.97) 0%, rgba(0, 33, 40, 0.88) 62%, rgba(0, 33, 40, 0.46) 100%);
    }

    .news-eu-logos .container {
        padding-inline: 0.75rem;
    }

    .news-detail-body {
        padding: 1.2rem;
    }

    .funding-news-target {
        align-items: flex-start;
    }

    .home-sidebar {
        display: grid;
        grid-template-columns: 1fr;
        padding: 1.25rem 1rem;
    }

    .sidebar-projects {
        grid-row: auto;
        margin-inline: 0;
    }

    .concept-footer {
        padding-top: 2.2rem;
    }

    .concept-footer .footer-grid {
        grid-template-columns: 1fr;
    }

    .mobile-bottom-nav {
        align-items: stretch;
        background: rgba(255, 255, 255, 0.98);
        border-top: 1px solid var(--concept-border);
        bottom: 0;
        box-shadow: 0 -8px 22px rgba(11, 43, 46, 0.1);
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        left: 0;
        padding-bottom: env(safe-area-inset-bottom);
        position: fixed;
        right: 0;
        z-index: 120;
    }

    .mobile-bottom-nav a {
        align-items: center;
        color: var(--concept-ink);
        display: flex;
        flex-direction: column;
        font-size: 0.67rem;
        font-weight: 700;
        gap: 0.25rem;
        justify-content: center;
        min-height: 4.55rem;
        padding: 0.5rem 0.15rem;
        text-decoration: none;
    }

    .mobile-bottom-nav a[aria-current="page"] {
        color: var(--concept-green-dark);
    }

    .mobile-bottom-nav svg {
        fill: none;
        height: 1.45rem;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.7;
        width: 1.45rem;
    }
}

@media (max-width: 23rem) {
    .concept-section-heading,
    .sidebar-heading:not(.sidebar-project-heading) {
        flex-wrap: wrap;
    }

    .concept-section-heading .compact-link,
    .sidebar-heading:not(.sidebar-project-heading) .compact-link {
        margin-left: auto;
    }

    .sidebar-project-heading > .compact-link {
        margin-left: 0;
        width: 100%;
    }

    .concept-header .brand img {
        width: 124px;
    }

    .header-utilities {
        gap: 3px;
    }

    html[data-color-scheme="dark"] .concept-header .brand {
        padding: 0;
    }

    .concept-header .language-link,
    .concept-header .menu-toggle,
    .accessibility-tools button {
        height: 44px;
        min-width: 44px;
        width: 44px;
    }

    .concept-header .header-inner {
        gap: 0.35rem;
        padding-inline: 0.75rem;
    }

    .home-projects-heading {
        flex-wrap: wrap;
    }

    .home-projects-heading .compact-link {
        margin-left: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nav-dropdown summary span {
        transition: none;
    }
}

/* Dedykowana strona produktu Infokolektor */
.infokolektor-page {
    --infokolektor-orange: #ff9b42;
    --infokolektor-orange-soft: #fff1e4;
    background: var(--concept-surface);
    color: var(--concept-ink);
    overflow: clip;
}

.infokolektor-page h1,
.infokolektor-page h2,
.infokolektor-page h3,
.infokolektor-page p {
    text-wrap: pretty;
}

.infokolektor-page :focus-visible {
    outline: 3px solid #ffb76f;
    outline-offset: 3px;
}

.infokolektor-hero {
    background: linear-gradient(112deg, #002c31 0%, #004248 62%, #003238 100%);
    box-sizing: border-box;
    color: #effbf8;
    min-height: 18rem;
    padding-block: 0.55rem 0.65rem;
    position: relative;
}

.infokolektor-hero::after {
    background: linear-gradient(135deg, rgba(81, 219, 181, 0.12), transparent 42%);
    clip-path: polygon(0 0, 50% 0, 35% 100%, 0 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.infokolektor-hero-grid {
    align-items: center;
    display: grid;
    gap: clamp(1.4rem, 3vw, 2.8rem);
    grid-template-columns: minmax(0, 1.12fr) minmax(22rem, 0.88fr);
    position: relative;
    z-index: 1;
}

.infokolektor-hero-copy {
    max-width: 47rem;
    padding-block: 0.25rem;
}

.infokolektor-hero .breadcrumbs {
    margin-bottom: 0.45rem;
}

.infokolektor-hero .breadcrumbs,
.infokolektor-hero .breadcrumbs a {
    color: #c8dfdc;
    font-size: 0.78rem;
}

.infokolektor-kicker {
    color: var(--concept-green-dark);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.11em;
    margin: 0 0 0.55rem;
    text-transform: uppercase;
}

.infokolektor-hero-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.75rem;
    margin-bottom: 0.3rem;
}

.infokolektor-hero-meta .infokolektor-kicker {
    color: #7ee7ca;
    margin: 0;
}

.infokolektor-hero .status-badge {
    background: rgba(116, 232, 201, 0.1);
    border-color: rgba(140, 239, 212, 0.42);
    color: #e1fff7;
    margin: 0;
    min-height: 1.75rem;
    padding-block: 0.2rem;
}

.infokolektor-hero h1 {
    color: #fff;
    font-size: clamp(2.15rem, 2.9vw, 2.5rem);
    letter-spacing: -0.045em;
    line-height: 1;
    margin: 0;
}

.infokolektor-hero-value {
    color: #fff;
    font-size: clamp(1.05rem, 1.35vw, 1.2rem);
    font-weight: 740;
    letter-spacing: -0.02em;
    line-height: 1.28;
    margin: 0.5rem 0 0;
    max-width: 44ch;
}

.infokolektor-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
}

.infokolektor-hero-tags li {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #edf9f7;
    font-size: 0.75rem;
    font-weight: 740;
    line-height: 1.25;
    padding: 0.32rem 0.58rem;
}

.infokolektor-hero-actions {
    margin-top: 0.6rem;
}

.infokolektor-hero-actions .button {
    min-height: 2.65rem;
    padding-block: 0.48rem;
}

.infokolektor-hero-visual {
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 0.8rem;
    box-shadow: 0 1rem 2.5rem rgba(0, 15, 20, 0.28);
    height: 15.75rem;
    isolation: isolate;
    margin: 0;
    overflow: hidden;
    position: relative;
}

.infokolektor-hero-photo,
.infokolektor-hero-shade {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.infokolektor-hero-photo {
    object-fit: cover;
    object-position: 52% center;
    z-index: -2;
}

.infokolektor-hero-shade {
    background: linear-gradient(90deg, rgba(0, 47, 51, 0.58), rgba(0, 36, 40, 0.08) 70%), linear-gradient(0deg, rgba(0, 30, 33, 0.42), transparent 60%);
    z-index: -1;
}

.infokolektor-phone {
    background: #101419;
    border: 0.28rem solid #171c21;
    border-radius: 0.95rem;
    box-shadow: 0 1rem 2rem rgba(0, 20, 23, 0.36);
    display: block;
    overflow: hidden;
    position: absolute;
}

.infokolektor-phone img,
.infokolektor-screen img {
    display: block;
    height: auto;
    width: 100%;
}

.infokolektor-phone-primary {
    bottom: -26%;
    left: 9%;
    transform: rotate(-2deg);
    width: 24%;
    z-index: 2;
}

.infokolektor-phone-secondary {
    bottom: -31%;
    left: 29%;
    transform: rotate(2.5deg);
    width: 22%;
    z-index: 1;
}

.infokolektor-hero-visual figcaption {
    background: rgba(0, 34, 37, 0.86);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0.3rem;
    bottom: 0.55rem;
    color: #f4fffd;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.35;
    padding: 0.35rem 0.5rem;
    position: absolute;
    right: 0.55rem;
    z-index: 3;
}

.infokolektor-page-nav {
    background: color-mix(in srgb, var(--concept-surface) 95%, transparent);
    border-bottom: 1px solid var(--concept-border);
    position: sticky;
    top: 0;
    z-index: 25;
}

.infokolektor-page-nav .container {
    align-items: center;
    display: flex;
    gap: 1rem;
    min-height: 3.15rem;
}

.infokolektor-page-nav .container > span {
    color: var(--concept-muted);
    flex: 0 0 auto;
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.infokolektor-page-nav ul {
    display: flex;
    gap: 0.15rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.infokolektor-page-nav a {
    align-items: center;
    border-radius: 0.25rem;
    color: var(--concept-ink);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 740;
    min-height: 2.5rem;
    padding: 0.35rem 0.55rem;
    text-decoration: none;
}

.infokolektor-page-nav a:hover {
    background: var(--concept-mint);
    color: var(--concept-green-dark);
}

.infokolektor-section {
    padding-block: clamp(2.75rem, 4.2vw, 4rem);
    scroll-margin-top: 4.5rem;
}

.infokolektor-section-heading {
    margin-bottom: 1.5rem;
    max-width: 58rem;
}

.infokolektor-section-heading-row {
    align-items: end;
    display: grid;
    gap: 1.25rem 3rem;
    grid-template-columns: minmax(0, 0.92fr) minmax(22rem, 1.08fr);
    max-width: none;
}

.infokolektor-section-heading h2,
.infokolektor-change-heading h2,
.infokolektor-final-cta h2 {
    color: var(--concept-ink);
    font-size: clamp(1.75rem, 2.5vw, 2.35rem);
    letter-spacing: -0.035em;
    line-height: 1.12;
    margin: 0;
    max-width: 27ch;
}

.infokolektor-section-heading > p:last-child,
.infokolektor-section-heading-row > p,
.infokolektor-final-cta-inner > div:first-child > p:last-child {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.58;
    margin: 0.7rem 0 0;
    max-width: 72ch;
}

.infokolektor-section-heading-row > p {
    margin: 0;
}

.infokolektor-benefits-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.infokolektor-audience-card {
    background: var(--concept-page);
    border: 1px solid var(--concept-border);
    border-radius: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    padding: 1.25rem;
}

.infokolektor-card-icon {
    align-items: center;
    background: var(--infokolektor-orange);
    clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0 50%);
    color: #312117;
    display: inline-flex;
    flex: 0 0 auto;
    height: 3rem;
    justify-content: center;
    width: 3.2rem;
}

.infokolektor-card-icon svg {
    fill: none;
    height: 1.55rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.85;
    width: 1.55rem;
}

.infokolektor-card-label {
    color: var(--concept-green-dark) !important;
    font-size: 0.72rem !important;
    font-weight: 850;
    letter-spacing: 0.08em;
    margin: 0 0 0.4rem !important;
    text-transform: uppercase;
}

.infokolektor-audience-card h3,
.infokolektor-capability-card h3,
.infokolektor-roles-grid h3,
.infokolektor-comparison h3,
.infokolektor-plans h3 {
    color: var(--concept-ink);
    font-size: 1.13rem;
    letter-spacing: -0.015em;
    line-height: 1.28;
    margin: 0;
}

.infokolektor-audience-card > div > p:not(.infokolektor-card-label),
.infokolektor-capability-card p,
.infokolektor-roles-grid p,
.infokolektor-plans p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.52;
    margin: 0.6rem 0 0;
}

.infokolektor-audience-card ul,
.infokolektor-comparison ul {
    display: grid;
    gap: 0.48rem;
    list-style: none;
    margin: 0.85rem 0 0;
    padding: 0;
}

.infokolektor-audience-card li,
.infokolektor-comparison li {
    color: var(--concept-ink);
    font-size: 1rem;
    line-height: 1.42;
    padding-left: 1.45rem;
    position: relative;
}

.infokolektor-audience-card li::before,
.infokolektor-comparison-after li::before {
    color: var(--concept-green-dark);
    content: "✓";
    font-weight: 900;
    left: 0;
    position: absolute;
}

.infokolektor-benefits-photo {
    border-radius: 0.75rem;
    isolation: isolate;
    margin: 0;
    min-height: 30rem;
    overflow: hidden;
    position: relative;
}

.infokolektor-benefits-photo::after {
    background: linear-gradient(0deg, rgba(0, 42, 47, 0.76), transparent 48%);
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
}

.infokolektor-benefits-photo img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    object-position: 55% center;
    position: absolute;
    width: 100%;
    z-index: -2;
}

.infokolektor-benefits-photo figcaption {
    bottom: 1.2rem;
    color: #fff;
    display: grid;
    left: 1.2rem;
    max-width: 14rem;
    position: absolute;
}

.infokolektor-benefits-photo figcaption strong {
    font-size: 2.4rem;
    letter-spacing: -0.04em;
    line-height: 1;
}

.infokolektor-benefits-photo figcaption span {
    font-size: 1rem;
    font-weight: 720;
    line-height: 1.35;
    margin-top: 0.35rem;
}

.infokolektor-facts {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.7rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0.85rem 0 0;
    padding: 0.85rem 0;
}

.infokolektor-facts > div {
    border-left: 1px solid var(--concept-border);
    padding: 0.2rem 1rem;
}

.infokolektor-facts > div:first-child {
    border-left: 0;
}

.infokolektor-facts dt {
    color: var(--concept-green-dark);
    font-size: 1.35rem;
    font-weight: 850;
    letter-spacing: -0.03em;
    line-height: 1.1;
}

.infokolektor-facts dd {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.38;
    margin: 0.28rem 0 0;
}

.infokolektor-claim-note {
    color: var(--concept-muted);
    font-size: 0.75rem;
    line-height: 1.45;
    margin: 0.65rem 0 0;
    max-width: 80rem;
}

.infokolektor-process {
    background: linear-gradient(118deg, #002c32, #00474a);
    color: #effbf8;
}

.infokolektor-section-heading-light h2 {
    color: #fff;
}

.infokolektor-section-heading-light > p:last-child,
.infokolektor-offer .infokolektor-section-heading > p:last-child {
    color: #cfe3df;
}

.infokolektor-process .infokolektor-kicker,
.infokolektor-offer .infokolektor-kicker,
.infokolektor-final-cta .infokolektor-kicker {
    color: #84ebcd;
}

.infokolektor-process-grid {
    align-items: center;
    display: grid;
    gap: clamp(1.75rem, 4vw, 4rem);
    grid-template-columns: minmax(0, 0.94fr) minmax(27rem, 1.06fr);
}

.infokolektor-process-copy .infokolektor-section-heading {
    margin-bottom: 1.35rem;
}

.infokolektor-steps {
    display: grid;
    list-style: none;
    margin: 0;
    padding: 0;
}

.infokolektor-steps li {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 2.7rem minmax(0, 1fr);
    padding: 0 0 1.25rem;
    position: relative;
}

.infokolektor-steps li:last-child {
    padding-bottom: 0;
}

.infokolektor-steps li:not(:last-child)::after {
    background: rgba(131, 234, 202, 0.42);
    bottom: 0.2rem;
    content: "";
    left: 1.32rem;
    position: absolute;
    top: 2.9rem;
    width: 1px;
}

.infokolektor-step-number {
    align-items: center;
    background: rgba(131, 234, 202, 0.09);
    border: 1px solid rgba(131, 234, 202, 0.56);
    border-radius: 50%;
    color: #91f1d6;
    display: flex;
    font-size: 0.76rem;
    font-weight: 850;
    height: 2.7rem;
    justify-content: center;
    letter-spacing: 0.04em;
    width: 2.7rem;
}

.infokolektor-steps h3 {
    color: #fff;
    font-size: 1.12rem;
    margin: 0.05rem 0 0;
}

.infokolektor-steps p {
    color: #cfe2df;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0.35rem 0 0;
}

.infokolektor-screens {
    align-items: end;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0.8rem;
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 31rem;
    overflow: hidden;
    padding: 1.4rem 2rem 2.7rem;
    position: relative;
}

.infokolektor-screens-photo,
.infokolektor-screens-overlay {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.infokolektor-screens-photo {
    object-fit: cover;
    object-position: center;
    z-index: 0;
}

.infokolektor-screens-overlay {
    background: linear-gradient(0deg, rgba(0, 32, 35, 0.72), rgba(0, 54, 57, 0.12) 65%);
    z-index: 1;
}

.infokolektor-screen {
    background: #101419;
    border: 0.38rem solid #161c20;
    border-radius: 1.15rem;
    box-shadow: 0 1.1rem 2.4rem rgba(0, 7, 10, 0.38);
    overflow: hidden;
    position: relative;
    width: min(12.5rem, 39%);
    z-index: 2;
}

.infokolektor-screen-list {
    transform: translateX(0.55rem) rotate(-2deg);
    z-index: 3;
}

.infokolektor-screen-series {
    transform: translate(-0.55rem, 0.9rem) rotate(2.5deg);
}

.infokolektor-screens figcaption {
    bottom: 0.55rem;
    color: #e2f2ef;
    font-size: 0.72rem;
    left: 1rem;
    line-height: 1.4;
    position: absolute;
    right: 1rem;
    text-align: center;
    z-index: 3;
}

.infokolektor-capabilities {
    background: var(--concept-page);
}

.infokolektor-capabilities-grid {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.infokolektor-capability-card {
    align-items: start;
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 1rem;
}

.infokolektor-capability-card h3 {
    font-size: 1.05rem;
    margin-top: 0.08rem;
}

.infokolektor-capability-card p {
    line-height: 1.45;
    margin-top: 0.35rem;
}

.infokolektor-change {
    background: var(--concept-night);
    border-radius: 0.8rem;
    display: grid;
    gap: 1.15rem;
    grid-template-columns: minmax(15rem, 0.62fr) minmax(0, 1.38fr);
    margin-top: 0.9rem;
    overflow: hidden;
    padding: 1.25rem;
}

.infokolektor-change-heading {
    align-self: center;
    padding: 0.5rem;
}

.infokolektor-change-heading .infokolektor-kicker {
    color: #83eaca;
}

.infokolektor-change-heading h2 {
    color: #fff;
    font-size: 1.65rem;
}

.infokolektor-comparison {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.infokolektor-comparison article {
    border-radius: 0.55rem;
    padding: 1rem;
}

.infokolektor-comparison-before {
    background: rgba(255, 255, 255, 0.08);
}

.infokolektor-comparison-before h3,
.infokolektor-comparison-before li {
    color: #f2fbf9;
}

.infokolektor-comparison-before li::before {
    color: #ffb16d;
    content: "—";
    font-weight: 850;
    left: 0;
    position: absolute;
}

.infokolektor-comparison-after {
    background: #dff6ef;
}

.infokolektor-organization {
    background: var(--concept-surface);
}

.infokolektor-organization-grid {
    align-items: stretch;
    display: grid;
    gap: clamp(1.4rem, 3vw, 2.6rem);
    grid-template-columns: minmax(22rem, 0.82fr) minmax(0, 1.18fr);
}

.infokolektor-organization-photo {
    border-radius: 0.8rem;
    isolation: isolate;
    margin: 0;
    min-height: 33rem;
    overflow: hidden;
    position: relative;
}

.infokolektor-organization-photo::after {
    background: linear-gradient(0deg, rgba(0, 39, 43, 0.82), transparent 55%);
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
}

.infokolektor-organization-photo > img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: -2;
}

.infokolektor-organization-photo figcaption {
    align-items: start;
    bottom: 1rem;
    color: #fff;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: auto minmax(0, 1fr);
    left: 1rem;
    position: absolute;
    right: 1rem;
}

.infokolektor-organization-photo figcaption .infokolektor-card-icon {
    height: 2.65rem;
    width: 2.8rem;
}

.infokolektor-organization-photo figcaption strong,
.infokolektor-organization-photo figcaption span {
    display: block;
}

.infokolektor-organization-photo figcaption strong {
    font-size: 1rem;
}

.infokolektor-organization-photo figcaption span {
    color: #d9ebe8;
    font-size: 0.9rem;
    line-height: 1.45;
    margin-top: 0.25rem;
}

.infokolektor-organization-copy {
    align-self: center;
}

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

.infokolektor-roles-grid article {
    align-items: start;
    border-top: 1px solid var(--concept-border);
    display: grid;
    gap: 0.7rem;
    grid-template-columns: 2rem minmax(0, 1fr);
    padding: 1rem 1rem 1rem 0;
}

.infokolektor-roles-grid article:nth-child(even) {
    border-left: 1px solid var(--concept-border);
    padding-left: 1rem;
}

.infokolektor-roles-grid article > span {
    color: var(--concept-green-dark);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    padding-top: 0.2rem;
}

.infokolektor-roles-grid h3 {
    font-size: 1.05rem;
}

.infokolektor-roles-grid p {
    line-height: 1.48;
    margin-top: 0.35rem;
}

.infokolektor-proof {
    background: var(--concept-page);
}

.infokolektor-proof-grid {
    align-items: stretch;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.28fr);
}

.infokolektor-proof-photo {
    border-radius: 0.75rem;
    margin: 0;
    min-height: 36rem;
    overflow: hidden;
}

.infokolektor-proof-photo img {
    height: 100%;
    object-fit: cover;
    object-position: 58% center;
    width: 100%;
}

.infokolektor-testimonials {
    display: grid;
    gap: 0.7rem;
}

.infokolektor-testimonials figure {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.7rem;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 1.2rem 1.3rem;
}

.infokolektor-testimonials blockquote {
    margin: 0;
    position: relative;
}

.infokolektor-testimonials blockquote::before {
    color: var(--infokolektor-orange);
    content: "“";
    font-family: Georgia, serif;
    font-size: 3.2rem;
    left: 0;
    line-height: 0.8;
    opacity: 0.62;
    position: absolute;
    top: 0;
}

.infokolektor-testimonials blockquote p {
    color: var(--concept-ink);
    font-size: 1rem;
    font-style: italic;
    line-height: 1.55;
    margin: 0;
    padding-top: 1.15rem;
}

.infokolektor-testimonials figcaption {
    border-top: 1px solid var(--concept-border);
    display: grid;
    gap: 0.16rem;
    margin-top: auto;
    padding-top: 0.75rem;
}

.infokolektor-testimonials figcaption strong {
    color: var(--concept-ink);
    font-size: 0.9rem;
}

.infokolektor-testimonials figcaption span,
.infokolektor-testimonials figcaption time {
    color: var(--concept-muted);
    font-size: 0.8rem;
    line-height: 1.4;
}

.infokolektor-offer {
    background: linear-gradient(116deg, #003138, #004a4b);
}

.infokolektor-offer-grid {
    align-items: center;
    display: grid;
    gap: clamp(1.5rem, 4vw, 4rem);
    grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
}

.infokolektor-offer .infokolektor-section-heading {
    margin: 0;
}

.infokolektor-plans {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.infokolektor-plans article {
    background: rgba(255, 255, 255, 0.97);
    border-radius: 0.7rem;
    padding: 1.25rem;
}

.infokolektor-plans article > span {
    background: var(--infokolektor-orange-soft);
    border-radius: 999px;
    color: #7a3b08;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.05em;
    margin-bottom: 0.7rem;
    min-height: 1.85rem;
    padding: 0.34rem 0.68rem;
    text-transform: uppercase;
}

.infokolektor-plans h3 {
    color: #102127;
}

.infokolektor-plans p {
    color: #516066;
}

.infokolektor-plans-note {
    color: #cfe7e3;
    font-size: 0.82rem;
    line-height: 1.5;
    margin: 0.8rem 0 0;
}

.infokolektor-final-cta {
    background: var(--concept-surface);
    padding-block: 2.6rem;
}

.infokolektor-final-cta-inner {
    align-items: center;
    background: linear-gradient(100deg, rgba(0, 38, 42, 0.98) 0%, rgba(0, 65, 66, 0.9) 60%, rgba(0, 54, 58, 0.78)), url("../images/infokolektor/infokolektor-pharmacy.webp") center 52% / cover;
    border-radius: 0.8rem;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.65fr);
    overflow: hidden;
    padding: 1.6rem;
}

.infokolektor-final-cta h2 {
    color: #fff;
    font-size: 1.85rem;
}

.infokolektor-final-cta-inner > div:first-child > p:last-child {
    color: #d8ebe7;
}

.infokolektor-final-cta .button-row {
    align-items: stretch;
    flex-direction: column;
    margin: 0;
}

.infokolektor-final-cta .button {
    justify-content: center;
    text-align: center;
    width: 100%;
}

.infokolektor-phone-link {
    color: #e8f7f4;
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 750;
    justify-content: center;
    line-height: 1.4;
    min-height: 2.5rem;
    padding: 0.55rem;
    text-align: center;
    text-underline-offset: 0.2em;
}

.infokolektor-phone-link:hover {
    color: #fff;
}

@media (max-width: 74rem) {
    .infokolektor-hero-grid {
        grid-template-columns: minmax(0, 1.1fr) minmax(19rem, 0.9fr);
    }

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

    .infokolektor-benefits-photo {
        grid-column: 1 / -1;
        min-height: 18rem;
    }

    .infokolektor-benefits-photo img {
        object-position: center 36%;
    }

    .infokolektor-process-grid {
        grid-template-columns: minmax(0, 1fr) minmax(23rem, 0.95fr);
    }

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

@media (max-width: 62rem) {
    .infokolektor-section-heading-row,
    .infokolektor-process-grid,
    .infokolektor-organization-grid,
    .infokolektor-proof-grid,
    .infokolektor-offer-grid,
    .infokolektor-final-cta-inner {
        grid-template-columns: 1fr;
    }

    .infokolektor-section-heading-row {
        align-items: start;
        gap: 0.75rem;
    }

    .infokolektor-screens {
        justify-self: center;
        max-width: 43rem;
        width: 100%;
    }

    .infokolektor-change {
        grid-template-columns: 1fr;
    }

    .infokolektor-change-heading {
        padding: 0.2rem;
    }

    .infokolektor-organization-photo,
    .infokolektor-proof-photo {
        min-height: 21rem;
    }

    .infokolektor-organization-photo > img {
        object-position: center 58%;
    }

    .infokolektor-final-cta .button-row {
        align-items: flex-start;
        flex-direction: row;
    }

    .infokolektor-final-cta .button {
        width: auto;
    }
}

@media (max-width: 54rem) {
    .infokolektor-hero-grid {
        grid-template-columns: 1fr;
    }

    .infokolektor-hero-copy {
        max-width: 56rem;
    }

    .infokolektor-hero-visual {
        height: auto;
        min-height: 16rem;
    }

    .infokolektor-phone-primary {
        bottom: -46%;
        width: 20%;
    }

    .infokolektor-phone-secondary {
        bottom: -50%;
        left: 26%;
        width: 18%;
    }
}

@media (max-width: 47rem) {
    .infokolektor-hero {
        padding-block: 0.9rem 1.2rem;
    }

    .infokolektor-hero-grid {
        gap: 1rem;
    }

    .infokolektor-hero .breadcrumbs [aria-current="page"] {
        display: none;
    }

    .infokolektor-hero h1 {
        font-size: 2.35rem;
    }

    .infokolektor-hero-value {
        font-size: 1.12rem;
    }

    .infokolektor-hero-actions,
    .infokolektor-final-cta .button-row {
        align-items: stretch;
        flex-direction: column;
    }

    .infokolektor-hero-actions .button,
    .infokolektor-final-cta .button {
        width: 100%;
    }

    .infokolektor-hero-visual {
        min-height: 14rem;
    }

    .infokolektor-phone-primary {
        bottom: -23%;
        left: 7%;
        width: 29%;
    }

    .infokolektor-phone-secondary {
        bottom: -28%;
        left: 32%;
        width: 26%;
    }

    .infokolektor-page-nav {
        position: static;
    }

    .infokolektor-page-nav .container {
        overflow-x: auto;
        padding-inline-end: 0;
    }

    .infokolektor-page-nav .container > span {
        display: none;
    }

    .infokolektor-page-nav ul {
        flex: 0 0 auto;
    }

    .infokolektor-page-nav a {
        min-height: 2.75rem;
        white-space: nowrap;
    }

    .infokolektor-section {
        padding-block: 2.6rem;
    }

    .infokolektor-section-heading h2,
    .infokolektor-change-heading h2,
    .infokolektor-final-cta h2 {
        font-size: 1.75rem;
    }

    .infokolektor-benefits-grid,
    .infokolektor-capabilities-grid,
    .infokolektor-comparison,
    .infokolektor-roles-grid,
    .infokolektor-plans {
        grid-template-columns: 1fr;
    }

    .infokolektor-benefits-photo {
        grid-column: auto;
        min-height: 19rem;
    }

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

    .infokolektor-facts > div:nth-child(odd) {
        border-left: 0;
    }

    .infokolektor-facts > div:nth-child(n + 3) {
        border-top: 1px solid var(--concept-border);
        margin-top: 0.65rem;
        padding-top: 0.8rem;
    }

    .infokolektor-screens {
        min-height: 26rem;
        padding-inline: 0.6rem;
    }

    .infokolektor-screen {
        border-width: 0.3rem;
        width: min(10.5rem, 43%);
    }

    .infokolektor-roles-grid article:nth-child(even) {
        border-left: 0;
        padding-left: 0;
    }

    .infokolektor-organization-photo,
    .infokolektor-proof-photo {
        min-height: 19rem;
    }

    .infokolektor-organization-photo figcaption span {
        font-size: 0.82rem;
    }

    .infokolektor-final-cta {
        padding-block: 2rem;
    }

    .infokolektor-final-cta-inner {
        padding: 1.25rem;
    }
}

@media (max-width: 23rem) {
    .infokolektor-hero-meta {
        align-items: flex-start;
        display: grid;
    }

    .infokolektor-hero-visual {
        min-height: 12.5rem;
    }

    .infokolektor-facts dt {
        font-size: 1.15rem;
    }

    .infokolektor-facts dd {
        font-size: 0.92rem;
    }

    .infokolektor-screens {
        min-height: 23rem;
    }

    .infokolektor-audience-card,
    .infokolektor-capability-card,
    .infokolektor-change,
    .infokolektor-testimonials figure,
    .infokolektor-plans article {
        padding-inline: 0.9rem;
    }
}

html[data-color-scheme="dark"] .infokolektor-page,
html[data-color-scheme="dark"] .infokolektor-final-cta,
html[data-color-scheme="dark"] .infokolektor-organization {
    background: var(--concept-surface);
}

html[data-color-scheme="dark"] .infokolektor-audience-card,
html[data-color-scheme="dark"] .infokolektor-capability-card,
html[data-color-scheme="dark"] .infokolektor-testimonials figure,
html[data-color-scheme="dark"] .infokolektor-facts {
    background: var(--concept-page);
}

html[data-color-scheme="dark"] .infokolektor-capabilities,
html[data-color-scheme="dark"] .infokolektor-proof {
    background: #0e2528;
}

html[data-color-scheme="dark"] .infokolektor-comparison-after {
    background: var(--concept-mint);
}

html[data-color-scheme="dark"] .infokolektor-page-nav {
    background: rgba(13, 34, 37, 0.97);
}

html[data-color-scheme="dark"] .infokolektor-hero .breadcrumbs,
html[data-color-scheme="dark"] .infokolektor-hero .breadcrumbs a {
    color: #d9eeea;
}

@media (prefers-reduced-motion: reduce) {
    .infokolektor-phone,
    .infokolektor-screen {
        transform: none;
    }
}

/* Dedykowana strona produktu Infokowal */
.infokowal-page {
    --infokowal-navy: #17283d;
    --infokowal-navy-deep: #0d1c2c;
}

.infokowal-hero {
    background: linear-gradient(112deg, #071827 0%, #102b38 58%, #003f43 100%);
}

.infokowal-hero::after {
    background: linear-gradient(145deg, rgba(0, 190, 178, 0.17), transparent 54%);
    clip-path: polygon(0 0, 58% 0, 38% 100%, 0 100%);
}

.infokowal-hero-visual {
    background: linear-gradient(135deg, #0b1929 0 38%, #1c2c41 38% 72%, #004b4f 72%);
    isolation: isolate;
}

.infokowal-hero-shape {
    background: linear-gradient(142deg, rgba(14, 182, 171, 0.46), rgba(10, 44, 58, 0.1));
    clip-path: polygon(0 0, 72% 0, 44% 100%, 0 100%);
    inset: 0;
    position: absolute;
    z-index: -1;
}

.infokowal-hero-people {
    bottom: -1rem;
    height: auto;
    max-height: 98%;
    object-fit: contain;
    object-position: right bottom;
    position: absolute;
    right: -1.5rem;
    width: 70%;
    z-index: 1;
}

.infokowal-hero-flow {
    display: grid;
    gap: 0.45rem;
    left: 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0.8rem;
    width: 47%;
    z-index: 2;
}

.infokowal-hero-flow li {
    align-items: center;
    background: rgba(4, 21, 31, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.19);
    border-radius: 0.4rem;
    color: #f4fffd;
    display: grid;
    font-size: 0.76rem;
    font-weight: 780;
    gap: 0.45rem;
    grid-template-columns: 1.55rem minmax(0, 1fr);
    line-height: 1.25;
    padding: 0.42rem 0.5rem;
}

.infokowal-hero-flow li + li::before {
    background: rgba(116, 232, 201, 0.72);
    content: "";
    height: 0.45rem;
    left: 1.25rem;
    position: absolute;
    transform: translateY(-0.87rem);
    width: 1px;
}

.infokowal-hero-flow li > span {
    align-items: center;
    background: var(--infokolektor-orange);
    border-radius: 50%;
    color: #372111;
    display: inline-flex;
    font-size: 0.66rem;
    font-weight: 900;
    height: 1.55rem;
    justify-content: center;
    width: 1.55rem;
}

.infokowal-benefits-photo {
    border-radius: 0.75rem;
    isolation: isolate;
    margin: 0;
    min-height: 30rem;
    overflow: hidden;
    position: relative;
}

.infokowal-benefits-photo::after {
    background: linear-gradient(0deg, rgba(7, 28, 42, 0.8), transparent 53%);
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
}

.infokowal-benefits-photo img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    object-position: 60% center;
    position: absolute;
    width: 100%;
    z-index: -2;
}

.infokowal-benefits-photo figcaption {
    bottom: 1.2rem;
    color: #fff;
    display: grid;
    left: 1.2rem;
    max-width: 14rem;
    position: absolute;
}

.infokowal-benefits-photo figcaption strong {
    font-size: 2.2rem;
    letter-spacing: -0.04em;
    line-height: 1;
}

.infokowal-benefits-photo figcaption span {
    font-size: 1rem;
    font-weight: 720;
    line-height: 1.35;
    margin-top: 0.35rem;
}

.infokowal-process {
    background: linear-gradient(118deg, var(--infokowal-navy-deep), var(--infokowal-navy));
}

.infokowal-process-visual {
    background: #0b1724;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0.8rem;
    isolation: isolate;
    margin: 0;
    min-height: 34rem;
    overflow: hidden;
    position: relative;
}

.infokowal-process-visual::after {
    background: linear-gradient(0deg, rgba(8, 23, 35, 0.99) 0 51%, rgba(8, 23, 35, 0.2) 78%);
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
}

.infokowal-process-visual > img {
    height: 58%;
    inset: 0 0 auto;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: -2;
}

.infokowal-process-signals {
    bottom: 2rem;
    display: grid;
    gap: 0.45rem;
    left: 1rem;
    position: absolute;
    right: 1rem;
}

.infokowal-process-signals article {
    align-items: start;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0.5rem;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 1.6rem minmax(0, 1fr);
    padding: 0.65rem 0.75rem;
}

.infokowal-process-signals article > span {
    align-items: center;
    background: #11b8aa;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 900;
    height: 1.6rem;
    justify-content: center;
    width: 1.6rem;
}

.infokowal-process-signals h3 {
    color: #fff;
    font-size: 1rem;
    line-height: 1.25;
    margin: 0;
}

.infokowal-process-signals p {
    color: #cfe1df;
    font-size: 1rem;
    line-height: 1.4;
    margin: 0.18rem 0 0;
}

.infokowal-process-visual figcaption {
    bottom: 0.5rem;
    color: #b7ceca;
    font-size: 0.7rem;
    left: 1rem;
    line-height: 1.4;
    position: absolute;
    right: 1rem;
    text-align: center;
}

.infokowal-security {
    background: var(--concept-surface);
}

.infokowal-security-grid {
    align-items: stretch;
    display: grid;
    gap: clamp(1.4rem, 3vw, 2.6rem);
    grid-template-columns: minmax(22rem, 0.84fr) minmax(0, 1.16fr);
}

.infokowal-security-photo {
    border-radius: 0.8rem;
    isolation: isolate;
    margin: 0;
    min-height: 32rem;
    overflow: hidden;
    position: relative;
}

.infokowal-security-photo::after {
    background: linear-gradient(0deg, rgba(8, 27, 40, 0.88), transparent 52%);
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
}

.infokowal-security-photo img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: -2;
}

.infokowal-security-photo figcaption {
    bottom: 1.1rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 720;
    left: 1.1rem;
    line-height: 1.45;
    max-width: 32rem;
    position: absolute;
    right: 1.1rem;
}

.infokowal-security-copy {
    align-self: center;
}

.infokowal-security-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.infokowal-security-list article {
    align-items: start;
    border-top: 1px solid var(--concept-border);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 1rem 1rem 1rem 0;
}

.infokowal-security-list article:nth-child(even) {
    border-left: 1px solid var(--concept-border);
    padding-left: 1rem;
}

.infokowal-security-list .infokolektor-card-icon {
    height: 2.6rem;
    width: 2.75rem;
}

.infokowal-security-list .infokolektor-card-icon svg {
    height: 1.35rem;
    width: 1.35rem;
}

.infokowal-security-list h3,
.infokowal-role-grid h3,
.infokowal-status-note h3 {
    color: var(--concept-ink);
    font-size: 1.05rem;
    line-height: 1.3;
    margin: 0;
}

.infokowal-security-list p,
.infokowal-role-grid p,
.infokowal-status-note p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.48;
    margin: 0.32rem 0 0;
}

.infokowal-audience {
    background: var(--concept-page);
    border: 1px solid var(--concept-border);
    border-radius: 0.8rem;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(13rem, 0.72fr) minmax(20rem, 1.15fr) minmax(16rem, 0.8fr);
    margin-top: 1rem;
    padding: 1.25rem;
    scroll-margin-top: 4.5rem;
}

.infokowal-audience-heading {
    align-self: center;
}

.infokowal-audience-heading h2 {
    color: var(--concept-ink);
    font-size: 1.6rem;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin: 0;
}

.infokowal-role-grid {
    display: grid;
}

.infokowal-role-grid article {
    align-items: start;
    border-top: 1px solid var(--concept-border);
    display: grid;
    gap: 0.55rem;
    grid-template-columns: 1.75rem minmax(0, 1fr);
    padding: 0.7rem 0;
}

.infokowal-role-grid article > span {
    color: var(--concept-green-dark);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    padding-top: 0.2rem;
}

.infokowal-status-note {
    align-items: start;
    background: var(--concept-night);
    border-radius: 0.6rem;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 1rem;
}

.infokowal-status-note .infokolektor-card-icon {
    height: 2.6rem;
    width: 2.75rem;
}

.infokowal-status-note h3 {
    color: #fff;
}

.infokowal-status-note p {
    color: #cfe2de;
}

.infokowal-offer {
    background: linear-gradient(116deg, #0a1e2e, #004a4b);
}

.infokowal-page .infokolektor-final-cta-inner {
    background: linear-gradient(100deg, rgba(5, 23, 34, 0.98) 0%, rgba(8, 46, 53, 0.91) 62%, rgba(0, 68, 67, 0.74)), url("../images/infokowal/infokowal-medicine.webp") center 48% / cover;
}

@media (max-width: 74rem) {
    .infokowal-benefits-photo {
        grid-column: 1 / -1;
        min-height: 18rem;
    }

    .infokowal-benefits-photo img {
        object-position: center 50%;
    }

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

    .infokowal-status-note {
        grid-column: 1 / -1;
    }
}

@media (max-width: 62rem) {
    .infokowal-security-grid,
    .infokowal-audience {
        grid-template-columns: 1fr;
    }

    .infokowal-security-photo {
        min-height: 21rem;
    }

    .infokowal-security-photo img {
        object-position: center 58%;
    }

    .infokowal-status-note {
        grid-column: auto;
    }
}

@media (max-width: 54rem) {
    .infokowal-hero-people {
        right: -0.75rem;
        width: 63%;
    }

    .infokowal-hero-flow {
        width: 46%;
    }

    .infokowal-process-visual {
        justify-self: center;
        max-width: 43rem;
        width: 100%;
    }
}

@media (max-width: 47rem) {
    .infokowal-hero-people {
        max-height: 92%;
        right: -2.5rem;
        width: 75%;
    }

    .infokowal-hero-flow {
        left: 0.55rem;
        top: 0.55rem;
        width: 55%;
    }

    .infokowal-hero-flow li {
        font-size: 0.7rem;
        gap: 0.35rem;
        grid-template-columns: 1.4rem minmax(0, 1fr);
        padding: 0.36rem 0.4rem;
    }

    .infokowal-hero-flow li > span {
        height: 1.4rem;
        width: 1.4rem;
    }

    .infokowal-hero-visual figcaption {
        max-width: 9rem;
        text-align: right;
    }

    .infokowal-benefits-photo {
        grid-column: auto;
        min-height: 19rem;
    }

    .infokowal-process-visual {
        min-height: 38rem;
    }

    .infokowal-process-visual > img {
        height: 45%;
    }

    .infokowal-security-list {
        grid-template-columns: 1fr;
    }

    .infokowal-security-list article:nth-child(even) {
        border-left: 0;
        padding-left: 0;
    }

    .infokowal-security-photo {
        min-height: 19rem;
    }

    .infokowal-audience {
        padding: 1rem;
    }
}

@media (max-width: 23rem) {
    .infokowal-hero-flow {
        width: 61%;
    }

    .infokowal-hero-people {
        opacity: 0.72;
        right: -3.4rem;
        width: 82%;
    }

    .infokowal-process-signals {
        left: 0.65rem;
        right: 0.65rem;
    }

    .infokowal-process-signals article {
        padding-inline: 0.6rem;
    }
}

html[data-color-scheme="dark"] .infokowal-security {
    background: var(--concept-surface);
}

html[data-color-scheme="dark"] .infokowal-audience {
    background: var(--concept-page);
}

/* Podstrona „O nas” */
.about-page {
    background: var(--concept-surface);
    color: var(--concept-ink);
}

.about-hero {
    background: var(--concept-night);
    min-height: 18rem;
    overflow: hidden;
    padding-block: 0;
    position: relative;
}

.about-hero-grid {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: inherit;
    padding-block: 1.15rem;
    position: relative;
    z-index: 2;
}

.about-hero-copy {
    max-width: 60rem;
    min-width: 0;
    width: 72%;
}

.about-hero-eyebrow,
.about-kicker {
    color: var(--concept-green-dark);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    margin-bottom: 0.7rem;
    text-transform: uppercase;
}

.about-hero-eyebrow {
    color: #8ce9d6;
    font-size: 0.68rem;
    margin-bottom: 0.45rem;
}

.about-hero-copy h1 {
    color: #fff;
    font-size: clamp(1.85rem, 2.4vw, 2.45rem);
    letter-spacing: -0.035em;
    line-height: 1.08;
    margin-bottom: 0.65rem;
    max-width: 36ch;
}

.about-hero-lead {
    color: #e4f2f1;
    font-size: 1rem;
    line-height: 1.45;
    margin-bottom: 0;
    max-width: 55rem;
}

.about-hero-media {
    margin: 0;
    position: static;
}

.about-hero-media picture {
    display: block;
    inset: 0;
    overflow: hidden;
    position: absolute;
    z-index: 0;
}

.about-hero-media img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center 46%;
    width: 100%;
}

.about-hero-overlay {
    background: linear-gradient(90deg, rgba(0, 38, 42, 0.98) 0%, rgba(0, 46, 50, 0.94) 35%, rgba(0, 48, 52, 0.52) 61%, rgba(0, 45, 49, 0.08) 100%);
    inset: 0;
    position: absolute;
    z-index: 1;
}

.about-hero .button-row {
    margin-top: 0.85rem;
}

.page-breadcrumbs {
    background: var(--concept-surface);
    border-bottom: 1px solid var(--concept-border);
}

.page-breadcrumbs > .container {
    padding-block: 0.75rem;
}

.page-breadcrumbs .breadcrumbs {
    color: var(--concept-muted);
    min-height: 2.75rem;
    margin: 0;
}

.page-breadcrumbs .breadcrumbs a {
    color: var(--concept-green-dark);
}

.page-breadcrumbs .breadcrumbs [aria-current="page"] {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html[data-color-scheme="dark"] .page-breadcrumbs .breadcrumbs a {
    color: #8fe5ca;
}

.about-tabs-shell {
    align-items: start;
    display: grid;
    gap: clamp(2rem, 5vw, 4rem);
    grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
    padding-block: 1.25rem clamp(2.5rem, 5vw, 4.5rem);
}

.about-tabs-nav {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    padding: 1.2rem;
    position: sticky;
    top: 6.5rem;
}

.about-tabs-nav h2 {
    color: var(--concept-ink);
    font-size: 1rem;
    margin: 0 0 0.85rem;
}

.about-tabs-list {
    display: grid;
    gap: 0.35rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.about-tabs-list a {
    align-items: center;
    border-left: 0.2rem solid transparent;
    border-radius: 0.25rem;
    color: var(--concept-ink);
    display: flex;
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.35;
    min-height: 2.75rem;
    padding: 0.55rem 0.65rem;
    text-decoration: none;
}

.about-tabs-list a:hover {
    background: var(--concept-mint);
    color: var(--concept-green-dark);
}

.about-tabs-list a[aria-selected="true"] {
    background: var(--concept-mint);
    border-left-color: var(--concept-green);
    color: var(--concept-green-dark);
    font-weight: 800;
}

.about-tabs-list a:focus-visible {
    outline: 0.2rem solid var(--concept-green-dark);
    outline-offset: 0.15rem;
}

.about-tabs-panels {
    min-width: 0;
}

.about-tabs-panels .about-section {
    background: transparent;
    padding-block: 0;
}

.about-tabs-panels .about-section > .container {
    max-width: none;
    padding-inline: 0;
}

.about-tabs-panels .about-section-heading h2 {
    scroll-margin-top: 7rem;
}

.about-section {
    padding-block: clamp(3.75rem, 7vw, 6.5rem);
}

.about-section-soft {
    background: #eef7f5;
}

.about-section-heading {
    margin-bottom: clamp(2rem, 4vw, 3rem);
    max-width: 55rem;
}

.about-tabs-panels .about-section-heading,
.about-tabs-panels .about-prose-wide {
    max-width: none;
    width: 100%;
}

.about-section-heading h2 {
    color: var(--concept-ink);
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    line-height: 1.15;
    margin-bottom: 1rem;
}

.about-section-heading > p:not(.about-kicker),
.about-prose,
.about-management-content > p,
.about-person-card > p,
.about-competency-card > p,
.about-competency-card li,
.about-process-grid li > p:not(.about-step-number),
.about-timeline article > p:not(.about-timeline-period) {
    color: var(--concept-muted);
    font-size: 1.0625rem;
    line-height: 1.65;
}

.about-section-heading > p:last-child,
.about-prose p:last-child,
.about-person-card > p:last-of-type,
.about-competency-card > p:last-of-type {
    margin-bottom: 0;
}

.about-prose-wide {
    max-width: 76ch;
}

.about-highlight-grid,
.about-people-grid,
.about-competency-grid,
.about-process-grid {
    display: grid;
    gap: 1.25rem;
}

.about-highlight-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: clamp(2rem, 4vw, 3rem);
}

.about-highlight-card,
.about-person-card,
.about-competency-card,
.about-process-grid > li,
.about-timeline article,
.about-management-card {
    background: #fff;
    border: 1px solid var(--concept-border);
    border-radius: 0.8rem;
    box-shadow: 0 0.7rem 1.8rem rgba(11, 43, 46, 0.055);
}

.about-highlight-card,
.about-competency-card,
.about-process-grid > li {
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
}

.about-highlight-card {
    border-top: 0.25rem solid var(--concept-green);
}

.about-highlight-value,
.about-timeline-period,
.about-step-number {
    color: var(--concept-green-dark);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 0.55rem;
}

.about-highlight-card h3,
.about-competency-card h3,
.about-process-grid h3,
.about-timeline h3 {
    color: var(--concept-ink);
    font-size: 1.25rem;
    line-height: 1.3;
    margin-bottom: 0.7rem;
}

.about-highlight-card p:last-child,
.about-process-grid li > p:last-child,
.about-timeline article > p:last-child {
    margin-bottom: 0;
}

.about-timeline {
    list-style: none;
    margin: 0;
    max-width: 68rem;
    padding: 0;
}

.about-timeline > li {
    border-left: 2px solid #9bd7c8;
    padding: 0 0 1.25rem 2.25rem;
    position: relative;
}

.about-timeline > li:last-child {
    padding-bottom: 0;
}

.about-timeline > li::before {
    background: var(--concept-green);
    border: 0.3rem solid #eef7f5;
    border-radius: 50%;
    content: "";
    height: 1.15rem;
    left: -0.64rem;
    position: absolute;
    top: 1.5rem;
    width: 1.15rem;
}

.about-timeline article {
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
}

.about-management-card {
    align-items: start;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3.25rem);
    grid-template-columns: minmax(13rem, 0.4fr) minmax(0, 0.6fr);
    padding: clamp(1.25rem, 3vw, 2.25rem);
}

.about-initials {
    align-items: center;
    aspect-ratio: 4 / 5;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.15), transparent 45%),
        linear-gradient(145deg, #006c68, #003f46);
    border: 1px solid #0d7773;
    border-radius: 0.75rem;
    color: #fff;
    display: flex;
    flex: 0 0 5rem;
    font-size: 1.65rem;
    font-weight: 800;
    justify-content: center;
    letter-spacing: 0.06em;
    width: 5rem;
}

.about-initials-large {
    font-size: clamp(2.8rem, 7vw, 5.5rem);
    width: 100%;
}

.about-profile-photo {
    aspect-ratio: 4 / 5;
    background: #dfeeea;
    border: 1px solid #76aa9f;
    border-radius: 0.75rem;
    box-shadow: 0 0.7rem 1.6rem rgba(11, 43, 46, 0.12);
    flex: 0 0 5rem;
    margin: 0;
    overflow: hidden;
    width: 5rem;
}

.about-profile-photo img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.about-profile-photo-large {
    width: 100%;
}

.about-management-content h3 {
    font-size: clamp(1.55rem, 2.5vw, 2.1rem);
    margin-bottom: 0.35rem;
}

.about-role {
    color: var(--concept-green-dark) !important;
    font-size: 1rem !important;
    font-weight: 800;
    line-height: 1.5 !important;
    margin-bottom: 1.15rem;
}

.about-management-content blockquote {
    border-left: 0.25rem solid var(--concept-green);
    color: var(--concept-ink);
    margin: 1.5rem 0 0;
    padding: 0.25rem 0 0.25rem 1.25rem;
}

.about-management-content blockquote p {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.55;
    margin: 0;
}

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

.about-person-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(1.25rem, 2.4vw, 1.65rem);
}

.about-people-list {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

.about-person-card-compact {
    align-content: start;
    display: grid;
    gap: 0.4rem 1.1rem;
    grid-template-columns: 12rem minmax(0, 1fr);
    padding: 1rem;
}

.about-person-card-compact .about-person-visual {
    grid-column: 1;
    grid-row: 1;
    width: 12rem;
}

.about-person-card-compact .about-person-summary {
    display: flex;
    flex-direction: column;
    grid-column: 2;
    grid-row: 1;
    height: 100%;
    min-width: 0;
}

.about-person-summary h3 {
    color: var(--concept-ink);
    font-size: 1.2rem;
    line-height: 1.3;
    margin-bottom: 0.25rem;
}

.about-person-card-compact .about-role {
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0.45rem;
}

.about-person-card-compact .about-person-intro {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}

.about-person-card-compact .about-person-summary > p:last-child {
    margin: auto 0 0;
}

.about-person-card-compact .about-person-more {
    margin-top: 0;
}

.about-person-more {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--concept-green-dark);
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 800;
    gap: 0.4rem;
    margin-top: 0.4rem;
    min-height: 2.75rem;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.about-person-more::after {
    content: "+";
    font-size: 1.2rem;
    line-height: 1;
    text-decoration: none;
}

.about-person-more[aria-expanded="true"]::after {
    content: "–";
}

.about-person-more:focus-visible {
    border-radius: 0.2rem;
    outline: 0.2rem solid var(--concept-green-dark);
    outline-offset: 0.15rem;
}

.about-person-details-content {
    border-top: 1px solid var(--concept-border);
    grid-column: 1 / -1;
    margin-top: 0.75rem;
    min-width: 0;
    padding-top: 0.9rem;
}

.about-person-details-content[hidden] {
    display: none;
}

.about-person-details-content > p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.about-person-details-content > p:last-of-type {
    margin-bottom: 0;
}

.about-person-details-content .about-tags {
    margin: 0 0 0.55rem;
    padding-top: 0.85rem;
}

.about-person-card-lead {
    border-top: 0.25rem solid var(--concept-green);
}

.about-software-intro {
    margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.about-software-competency-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-software-team-groups {
    display: grid;
    gap: clamp(2rem, 4vw, 3rem);
}

.about-software-team-group > h3 {
    border-bottom: 1px solid var(--concept-border);
    color: var(--concept-ink);
    font-size: clamp(1.3rem, 2vw, 1.6rem);
    margin-bottom: 1rem;
    padding-bottom: 0.65rem;
}

.about-software-team-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

.about-software-person-card {
    align-content: start;
    display: grid;
    gap: 0.4rem 1.1rem;
    grid-template-columns: 12rem minmax(0, 1fr);
    padding: 1rem;
}

.about-software-person-card .about-person-visual {
    grid-column: 1;
    grid-row: 1;
}

.about-software-person-card .about-person-summary {
    display: flex;
    flex-direction: column;
    grid-column: 2;
    grid-row: 1;
    height: 100%;
    min-width: 0;
}

.about-software-profile-photo {
    flex-basis: 12rem;
    width: 12rem;
}

.about-software-person-card .about-initials {
    font-size: 2.25rem;
}

.about-software-person-card h4 {
    color: var(--concept-ink);
    font-size: 1.2rem;
    line-height: 1.3;
    margin-bottom: 0.25rem;
}

.about-software-person-card .about-role {
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0.45rem;
}

.about-software-person-card .about-person-intro {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}

.about-software-person-card .about-person-summary > p:last-child {
    margin: auto 0 0;
}

.about-software-person-card .about-person-more {
    margin-top: 0;
}

.about-person-heading {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 1.1rem;
}

.about-person-heading .about-initials,
.about-person-heading .about-profile-photo-small {
    flex-basis: 9rem;
    width: 9rem;
}

.about-person-heading .about-initials {
    font-size: 2.25rem;
}

.about-person-heading h3 {
    color: var(--concept-ink);
    font-size: 1.25rem;
    line-height: 1.3;
    margin-bottom: 0.4rem;
}

.about-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: auto 0 0.65rem;
    padding: 1.25rem 0 0;
}

.about-tags li {
    background: #e6f6f1;
    border: 1px solid #b9ddd3;
    border-radius: 999px;
    color: var(--concept-green-dark);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    padding: 0.35rem 0.65rem;
}

.about-profile-link {
    align-items: center;
    color: var(--concept-green-dark);
    display: inline-flex;
    font-size: 1rem;
    font-weight: 800;
    gap: 0.35rem;
    margin-top: 0;
    min-height: 2.75rem;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

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

.about-competency-card ul {
    margin: 1.15rem 0 0;
    padding-left: 1.35rem;
}

.about-competency-card li + li {
    margin-top: 0.5rem;
}

.about-process-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.about-process-grid > li {
    border-top: 0.25rem solid var(--concept-green);
}

.about-cta {
    background: linear-gradient(130deg, var(--concept-night-deep), #06494a);
    padding-block: clamp(3.5rem, 6vw, 5.5rem);
}

.about-cta-inner {
    align-items: end;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.about-cta-inner > div:first-child {
    max-width: 52rem;
}

.about-cta h2 {
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 2.7rem);
    margin-bottom: 0.8rem;
}

.about-cta p:not(.about-kicker) {
    color: #dceeed;
    font-size: 1.0625rem;
    line-height: 1.6;
    margin-bottom: 0;
}

html[data-color-scheme="dark"] .about-page,
html[data-color-scheme="dark"] .about-section {
    background: var(--concept-surface);
}

html[data-color-scheme="dark"] .about-section-soft {
    background: #071d1f;
}

html[data-color-scheme="dark"] .about-highlight-card,
html[data-color-scheme="dark"] .about-person-card,
html[data-color-scheme="dark"] .about-competency-card,
html[data-color-scheme="dark"] .about-process-grid > li,
html[data-color-scheme="dark"] .about-timeline article,
html[data-color-scheme="dark"] .about-management-card {
    background: #10292b;
    border-color: #345455;
}

html[data-color-scheme="dark"] .about-tags li {
    background: #123832;
    border-color: #376e62;
    color: #a6efd8;
}

html[data-color-scheme="dark"] .about-person-details-content {
    border-color: #345455;
}

html[data-color-scheme="dark"] .about-software-team-group > h3 {
    border-color: #345455;
}

html[data-color-scheme="dark"] .about-timeline > li::before {
    border-color: #071d1f;
}

html[data-color-scheme="dark"] .about-tabs-panels .about-section {
    background: transparent;
}

@media (max-width: 75rem) {
    .about-people-grid,
    .about-competency-grid,
    .about-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-software-competency-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 64rem) {
    .about-tabs-shell {
        gap: 1.5rem;
        grid-template-columns: 1fr;
    }

    .about-tabs-nav {
        position: static;
    }

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

@media (max-width: 52rem) {
    .about-management-card,
    .about-cta-inner {
        grid-template-columns: 1fr;
    }

    .about-hero {
        min-height: 27rem;
    }

    .about-hero-grid {
        min-height: inherit;
        padding-block: 1.25rem 1.5rem;
    }

    .about-hero-copy {
        max-width: 42rem;
        width: 100%;
    }

    .about-hero-copy h1 {
        max-width: 16ch;
    }

    .about-hero-media img {
        object-position: 64% center;
    }

    .about-hero-overlay {
        background: linear-gradient(180deg, rgba(0, 38, 42, 0.6) 0%, rgba(0, 38, 42, 0.84) 42%, rgba(0, 36, 40, 0.99) 100%);
    }

    .about-highlight-grid,
    .about-people-grid,
    .about-people-list,
    .about-competency-grid,
    .about-process-grid {
        grid-template-columns: 1fr;
    }

    .about-software-competency-grid {
        grid-template-columns: 1fr;
    }

    .about-initials-large,
    .about-profile-photo-large {
        max-width: 14rem;
    }

    .about-cta-inner {
        align-items: start;
    }
}

@media (min-width: 73.75rem) {
    .about-people-list,
    .about-software-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 30rem) {
    .about-tabs-list {
        grid-template-columns: 1fr;
    }

    .about-hero .button-row,
    .about-cta .button-row {
        align-items: stretch;
        flex-direction: column;
    }

    .about-hero .button,
    .about-cta .button {
        justify-content: center;
        width: 100%;
    }

    .about-person-heading {
        grid-template-columns: 1fr;
    }

    .about-initials,
    .about-profile-photo-small {
        width: 9rem;
    }

    .about-person-card-compact {
        gap: 0.35rem 0.75rem;
        grid-template-columns: 6rem minmax(0, 1fr);
        padding: 0.85rem;
    }

    .about-person-card-compact .about-person-visual {
        width: 6rem;
    }

    .about-person-card-compact .about-person-summary h3 {
        font-size: 1.1rem;
    }

    .about-person-card-compact .about-role {
        font-size: 0.9rem !important;
    }

    .about-software-person-card {
        gap: 0.35rem 0.75rem;
        grid-template-columns: 6rem minmax(0, 1fr);
        padding: 0.85rem;
    }

    .about-software-person-card .about-person-visual,
    .about-software-profile-photo {
        flex-basis: 6rem;
        width: 6rem;
    }

    .about-software-person-card h4 {
        font-size: 1.1rem;
    }

    .about-software-person-card .about-role {
        font-size: 0.9rem !important;
    }

    .about-timeline > li {
        padding-left: 1.45rem;
    }
}

/* Dedykowane rozwiązania dla medycyny */
.custom-healthcare-page {
    background: var(--concept-surface);
}

.custom-healthcare-hero {
    background: #003034;
    min-height: 18rem;
    overflow: hidden;
    position: relative;
}

.custom-healthcare-hero-image,
.custom-healthcare-hero-overlay {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.custom-healthcare-hero-image {
    left: auto;
    object-fit: cover;
    object-position: center;
    right: 0;
    width: 66%;
}

.custom-healthcare-hero-overlay {
    background: linear-gradient(90deg, rgba(0, 38, 42, 0.99) 0%, rgba(0, 44, 47, 0.96) 42%, rgba(0, 47, 50, 0.56) 70%, rgba(0, 40, 44, 0.2) 100%);
}

.custom-healthcare-hero-inner {
    display: flex;
    flex-direction: column;
    min-height: inherit;
    padding-block: 1rem 1.45rem;
    position: relative;
    z-index: 1;
}

.custom-healthcare-hero .breadcrumbs {
    color: #cae0dc;
    font-size: 0.78rem;
    margin-bottom: 0.75rem;
}

.custom-healthcare-hero .breadcrumbs a {
    color: #e9f7f4;
}

.custom-healthcare-hero-copy {
    margin-block: auto;
    max-width: 48rem;
    width: 68%;
}

.custom-healthcare-kicker {
    color: var(--concept-green-dark);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.1em;
    margin-bottom: 0.55rem;
    text-transform: uppercase;
}

.custom-healthcare-hero .custom-healthcare-kicker,
.custom-healthcare-standards .custom-healthcare-kicker,
.custom-healthcare-cta .custom-healthcare-kicker {
    color: #73e4c4;
}

.custom-healthcare-hero h1 {
    color: #fff;
    font-size: clamp(2rem, 3vw, 2.85rem);
    line-height: 1.08;
    margin-bottom: 0.65rem;
    max-width: 18ch;
}

.custom-healthcare-hero-copy > p:not(.custom-healthcare-kicker) {
    color: #d7e9e6;
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.55;
    margin-bottom: 1rem;
    max-width: 66ch;
}

.custom-healthcare-hero .button-row {
    gap: 0.65rem;
}

.custom-healthcare-hero .button {
    min-height: 2.9rem;
}

.custom-healthcare-hero .button-ghost {
    border-color: rgba(255, 255, 255, 0.66);
    color: #fff;
}

.custom-healthcare-page-content {
    background: var(--concept-surface);
}

.custom-healthcare-layout {
    align-items: start;
    display: grid;
    gap: clamp(2rem, 5vw, 4rem);
    grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
}

.custom-healthcare-nav {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    margin-top: clamp(2.7rem, 5vw, 4.5rem);
    padding: 1.2rem;
    position: sticky;
    top: 6.5rem;
}

.custom-healthcare-nav h2 {
    color: var(--concept-ink);
    font-size: 1rem;
    margin: 0 0 0.85rem;
}

.custom-healthcare-nav ol {
    display: grid;
    gap: 0.35rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.custom-healthcare-nav a {
    align-items: center;
    border-left: 0.2rem solid transparent;
    border-radius: 0.25rem;
    color: var(--concept-ink);
    display: flex;
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.35;
    min-height: 2.75rem;
    padding: 0.55rem 0.65rem;
    text-decoration: none;
}

.custom-healthcare-nav a:hover {
    background: var(--concept-mint);
    color: var(--concept-green-dark);
}

.custom-healthcare-nav a:focus-visible {
    background: var(--concept-mint);
    border-left-color: var(--concept-green-dark);
    color: var(--concept-green-dark);
    outline-offset: 0.15rem;
}

.custom-healthcare-main,
.custom-healthcare-content {
    min-width: 0;
}

.custom-healthcare-content {
    background: transparent;
}

.custom-healthcare-section {
    margin-inline: auto;
    max-width: none;
    padding: clamp(2.7rem, 5vw, 4.5rem) 0;
    scroll-margin-top: 9rem;
}

.custom-healthcare-section-soft {
    background: var(--concept-page);
    border: 1px solid var(--concept-border);
    border-radius: 0.8rem;
    max-width: none;
    padding-inline: clamp(1.25rem, 3.5vw, 3rem);
}

.custom-healthcare-section-heading,
.custom-healthcare-prose {
    max-width: 51rem;
}

.custom-healthcare-section-heading {
    margin-bottom: 1.65rem;
}

.custom-healthcare-section h2 {
    color: var(--concept-ink);
    font-size: clamp(1.65rem, 2.6vw, 2.35rem);
    line-height: 1.14;
    margin-bottom: 0.7rem;
}

.custom-healthcare-section-heading > p:not(.custom-healthcare-kicker),
.custom-healthcare-prose > p,
.custom-healthcare-focus p {
    color: var(--concept-muted);
    font-size: 1.0625rem;
    line-height: 1.66;
}

.custom-healthcare-lead {
    color: var(--concept-ink) !important;
    font-size: clamp(1.1rem, 1.45vw, 1.25rem) !important;
    font-weight: 550;
    line-height: 1.55 !important;
}

.custom-healthcare-principles {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 1.8rem 0 0;
    max-width: 72rem;
    padding: 0;
}

.custom-healthcare-principles li {
    background: var(--concept-mint);
    border: 1px solid #c8e5dc;
    border-radius: 0.7rem;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 1rem;
}

.custom-healthcare-principles li > span {
    color: var(--concept-green-dark);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    padding-top: 0.18rem;
}

.custom-healthcare-principles strong {
    color: var(--concept-ink);
    display: block;
    font-size: 1rem;
    margin-bottom: 0.25rem;
}

.custom-healthcare-principles p {
    color: var(--concept-muted);
    font-size: 0.94rem;
    line-height: 1.5;
    margin: 0;
}

.custom-healthcare-experience {
    padding-top: 0.75rem;
}

.custom-healthcare-experience-grid {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 72rem;
}

.custom-healthcare-stat {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.7rem;
    padding: 1.1rem;
}

.custom-healthcare-stat > strong {
    color: var(--concept-green-dark);
    display: block;
    font-size: clamp(1.25rem, 2vw, 1.7rem);
    line-height: 1.15;
    margin-bottom: 0.65rem;
}

.custom-healthcare-stat h3,
.custom-healthcare-focus h3,
.custom-healthcare-proof h3 {
    color: var(--concept-ink);
    font-size: 1.05rem;
    margin-bottom: 0.4rem;
}

.custom-healthcare-stat p {
    color: var(--concept-muted);
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0;
}

.custom-healthcare-focus {
    border-left: 0.3rem solid var(--concept-green);
    margin-top: 1.4rem;
    max-width: 72rem;
    padding: 0.35rem 0 0.35rem 1.15rem;
}

.custom-healthcare-focus ul {
    column-count: 2;
    column-gap: 2rem;
    margin: 0;
    padding-left: 1.2rem;
}

.custom-healthcare-focus li {
    break-inside: avoid;
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 0.25rem;
}

.custom-healthcare-integration-layout {
    align-items: start;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3.5rem);
    grid-template-columns: minmax(0, 1.02fr) minmax(23rem, 0.98fr);
}

.custom-healthcare-integration-visuals {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.custom-healthcare-media {
    background: #edf7f5;
    border: 1px solid #b9dcd2;
    border-radius: 0.85rem;
    margin: 0;
    overflow: hidden;
    position: relative;
}

.custom-healthcare-media img {
    display: block;
    height: 100%;
    max-width: none;
    width: 100%;
}

.custom-healthcare-dashboard-media {
    height: clamp(14rem, 22vw, 19rem);
}

.custom-healthcare-dashboard-media img {
    object-fit: cover;
    object-position: center;
}

.custom-healthcare-proof {
    align-items: flex-start;
    background: var(--concept-surface);
    border: 1px solid #b9dcd2;
    border-radius: 0.7rem;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: 2.6rem minmax(0, 1fr);
    margin-top: 1.2rem;
    padding: 1rem;
}

.custom-healthcare-proof > span {
    align-items: center;
    background: var(--concept-mint);
    border-radius: 50%;
    color: var(--concept-green-dark);
    display: flex;
    font-size: 1.25rem;
    font-weight: 900;
    height: 2.6rem;
    justify-content: center;
    width: 2.6rem;
}

.custom-healthcare-proof p {
    color: var(--concept-muted);
    font-size: 0.94rem;
    line-height: 1.55;
    margin: 0;
}

.custom-integration-map {
    background: linear-gradient(145deg, #003b40, #002c31);
    border: 1px solid #1b6565;
    border-radius: 0.85rem;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    overflow: hidden;
    padding: 1.15rem;
    position: relative;
}

.custom-integration-map::before {
    background: radial-gradient(circle, rgba(65, 214, 174, 0.22) 0 2px, transparent 3px);
    background-size: 1.25rem 1.25rem;
    content: "";
    inset: 0;
    opacity: 0.45;
    pointer-events: none;
    position: absolute;
}

.custom-integration-core,
.custom-integration-node,
.custom-integration-map figcaption {
    position: relative;
    z-index: 1;
}

.custom-integration-core {
    background: #e8fbf5;
    border: 1px solid #74dfc0;
    border-radius: 0.65rem;
    display: flex;
    flex-direction: column;
    grid-column: 1 / -1;
    min-height: 7rem;
    justify-content: center;
    padding: 1rem;
    text-align: center;
}

.custom-integration-core span {
    color: #006f53;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.custom-integration-core strong {
    color: #0b282b;
    font-size: 1.2rem;
    margin-top: 0.25rem;
}

.custom-integration-node {
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(164, 231, 218, 0.34);
    border-radius: 0.55rem;
    display: flex;
    flex-direction: column;
    min-height: 4.75rem;
    padding: 0.8rem;
}

.custom-integration-node strong {
    color: #fff;
    font-size: 1rem;
}

.custom-integration-node span {
    color: #c6deda;
    font-size: 0.82rem;
    line-height: 1.35;
}

.custom-integration-node-amms {
    background: rgba(45, 198, 156, 0.15);
    border-color: rgba(114, 228, 196, 0.65);
    grid-column: 1 / -1;
}

.custom-integration-map figcaption {
    color: #c9ddda;
    font-size: 0.75rem;
    grid-column: 1 / -1;
    line-height: 1.45;
    margin-top: 0.15rem;
}

.custom-healthcare-standards {
    background: linear-gradient(135deg, #00383d, #002a2f);
    border-radius: 0.8rem;
    color: #e3f1ef;
    max-width: none;
    padding-inline: clamp(1.25rem, 3.5vw, 3rem);
}

.custom-healthcare-standards .custom-healthcare-section-heading > p:not(.custom-healthcare-kicker) {
    color: #c6dcd8;
}

.custom-healthcare-standards h2,
.custom-healthcare-standards h3 {
    color: #fff;
}

.custom-standard-list {
    border: 1px solid rgba(172, 222, 214, 0.3);
    border-radius: 0.8rem;
    max-width: 72rem;
    overflow: hidden;
}

.custom-standard-list article {
    align-items: start;
    background: rgba(255, 255, 255, 0.045);
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 7.4rem minmax(0, 1fr);
    padding: 1.15rem;
}

.custom-standard-list article + article {
    border-top: 1px solid rgba(172, 222, 214, 0.22);
}

.custom-standard-code {
    color: #7ce9cc;
    font-size: 1.1rem;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.custom-standard-list h3 {
    font-size: 1.1rem;
    margin-bottom: 0.35rem;
}

.custom-standard-list p {
    color: #c9deda;
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 0.55rem;
}

.custom-standard-source {
    color: #91efd5;
    font-size: 0.86rem;
    font-weight: 750;
}

.custom-standard-source:hover {
    color: #fff;
}

.custom-standard-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
}

.custom-semantics {
    background: #f1fbf8;
    border: 1px solid #8cd5c2;
    border-radius: 0.8rem;
    color: var(--concept-ink);
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.9fr);
    margin-top: 1rem;
    max-width: 72rem;
    padding: 1.25rem;
}

.custom-semantics h3 {
    color: var(--concept-ink);
    font-size: 1.2rem;
}

.custom-semantics p:not(.custom-healthcare-kicker) {
    color: var(--concept-muted);
    font-size: 0.96rem;
    line-height: 1.55;
    margin: 0;
}

.custom-semantics dl {
    display: grid;
    gap: 0.35rem;
    margin: 0;
}

.custom-semantics dl > div {
    align-items: baseline;
    border-bottom: 1px solid #cfe6df;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 7.2rem minmax(0, 1fr);
    padding: 0.35rem 0;
}

.custom-semantics dt,
.custom-semantics dd {
    margin: 0;
}

.custom-semantics dt a {
    color: var(--concept-green-dark);
    font-weight: 850;
}

.custom-semantics dd {
    color: var(--concept-muted);
    font-size: 0.88rem;
}

.custom-product-proof-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.custom-product-proof-grid article {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.7rem;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1.15rem;
}

.custom-product-proof-grid article:hover {
    border-color: #94cabd;
    box-shadow: var(--concept-shadow);
}

.custom-product-number {
    color: var(--concept-green-dark);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 0.55rem;
}

.custom-product-proof-grid h3 {
    color: var(--concept-ink);
    font-size: 1.2rem;
    margin-bottom: 0.45rem;
}

.custom-product-proof-grid p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.55;
}

.custom-product-proof-grid a {
    align-items: center;
    align-self: flex-start;
    color: var(--concept-green-dark);
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 800;
    margin-top: auto;
    min-height: 2.75rem;
    text-decoration: none;
}

.custom-product-proof-grid a:hover {
    color: var(--concept-ink);
    text-decoration: underline;
}

.custom-scope-grid {
    display: grid;
    gap: 0.6rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    max-width: 72rem;
    padding: 0;
}

.custom-scope-grid li {
    align-items: flex-start;
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.55rem;
    color: var(--concept-ink);
    display: flex;
    font-size: 1rem;
    font-weight: 600;
    gap: 0.65rem;
    line-height: 1.45;
    padding: 0.8rem 0.9rem;
}

.custom-scope-grid li span {
    color: var(--concept-green-dark);
    font-weight: 900;
}

.custom-healthcare-ecosystem-media {
    height: clamp(5.5rem, 7vw, 6rem);
    margin-top: 1rem;
    max-width: 72rem;
}

.custom-healthcare-ecosystem-media img {
    object-fit: cover;
    object-position: center bottom;
}

.custom-healthcare-process-section {
    max-width: 78rem;
}

.custom-healthcare-process {
    list-style: none;
    margin: 0;
    max-width: 51rem;
    padding: 0;
}

.custom-healthcare-process > li {
    padding: 0 0 0.9rem 3.9rem;
    position: relative;
}

.custom-healthcare-process > li::before {
    background: #b8ddd3;
    bottom: -0.15rem;
    content: "";
    left: 1.48rem;
    position: absolute;
    top: 3.2rem;
    width: 2px;
}

.custom-healthcare-process > li:last-child::before {
    display: none;
}

.custom-healthcare-process article {
    align-items: start;
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    display: grid;
    gap: 0.9rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 1rem;
}

.custom-healthcare-process article > span {
    align-items: center;
    background: var(--concept-night);
    border-radius: 50%;
    color: #78e2c5;
    display: flex;
    font-size: 0.72rem;
    font-weight: 900;
    height: 3rem;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0.35rem;
    width: 3rem;
}

.custom-healthcare-process h3 {
    color: var(--concept-ink);
    font-size: 1.08rem;
    margin: 0.08rem 0 0.3rem;
}

.custom-healthcare-process p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
}

.custom-healthcare-cta {
    align-items: center;
    background: linear-gradient(130deg, #004148, #003238);
    border-radius: 0.85rem;
    color: #e7f4f2;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 0.6fr);
    margin: 0 auto clamp(2.7rem, 5vw, 4.5rem);
    max-width: 86rem;
    padding: clamp(1.4rem, 3vw, 2.2rem);
}

.custom-healthcare-cta h2 {
    color: #fff;
    font-size: clamp(1.55rem, 2.2vw, 2.15rem);
    margin-bottom: 0.55rem;
}

.custom-healthcare-cta p:not(.custom-healthcare-kicker) {
    color: #cde0dd;
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
    max-width: 68ch;
}

.custom-healthcare-cta .button-row {
    align-items: stretch;
    flex-direction: column;
}

.custom-healthcare-cta .button {
    justify-content: center;
    text-align: center;
    width: 100%;
}

.custom-healthcare-cta .button-ghost {
    border-color: rgba(255, 255, 255, 0.62);
    color: #fff;
}

html[data-color-scheme="dark"] .custom-healthcare-page,
html[data-color-scheme="dark"] .custom-healthcare-page-content,
html[data-color-scheme="dark"] .custom-healthcare-content,
html[data-color-scheme="dark"] .custom-healthcare-nav {
    background: var(--concept-surface);
}

html[data-color-scheme="dark"] .custom-healthcare-section-soft {
    background: var(--concept-page);
}

html[data-color-scheme="dark"] .custom-healthcare-principles li,
html[data-color-scheme="dark"] .custom-healthcare-stat,
html[data-color-scheme="dark"] .custom-healthcare-proof,
html[data-color-scheme="dark"] .custom-product-proof-grid article,
html[data-color-scheme="dark"] .custom-scope-grid li,
html[data-color-scheme="dark"] .custom-healthcare-process article {
    background: var(--concept-surface);
    border-color: var(--concept-border);
}

html[data-color-scheme="dark"] .custom-semantics {
    background: #132f30;
    border-color: #477c73;
}

html[data-color-scheme="dark"] .custom-healthcare-media {
    background: #132f30;
    border-color: #477c73;
}

html[data-color-scheme="dark"] .custom-semantics dl > div {
    border-color: #365959;
}

@media (max-width: 64rem) {
    .custom-healthcare-layout {
        gap: 0;
        grid-template-columns: 1fr;
    }

    .custom-healthcare-nav {
        margin-top: 2rem;
        position: static;
    }

    .custom-healthcare-nav ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .custom-healthcare-main .custom-healthcare-section:first-child {
        padding-top: 2rem;
    }

    .custom-healthcare-integration-layout {
        grid-template-columns: 1fr;
    }

    .custom-healthcare-dashboard-media {
        height: clamp(18rem, 38vw, 24rem);
    }

    .custom-integration-map {
        max-width: 42rem;
        width: 100%;
    }

    .custom-healthcare-cta {
        max-width: none;
    }
}

@media (max-width: 52rem) {
    .custom-healthcare-hero {
        min-height: 24rem;
    }

    .custom-healthcare-hero-copy {
        max-width: 42rem;
        width: 100%;
    }

    .custom-healthcare-hero-overlay {
        background: linear-gradient(180deg, rgba(0, 38, 42, 0.72), rgba(0, 39, 43, 0.97));
    }

    .custom-healthcare-hero-image {
        object-position: 82% center;
        width: 100%;
    }

    .custom-healthcare-principles,
    .custom-healthcare-experience-grid,
    .custom-product-proof-grid,
    .custom-scope-grid,
    .custom-semantics,
    .custom-healthcare-cta {
        grid-template-columns: 1fr;
    }

    .custom-healthcare-focus ul {
        column-count: 1;
    }

    .custom-semantics {
        gap: 1rem;
    }

    .custom-healthcare-dashboard-media {
        height: clamp(13rem, 54vw, 20rem);
    }

}

@media (max-width: 35rem) {
    .custom-healthcare-hero {
        min-height: 27rem;
    }

    .custom-healthcare-hero-image {
        object-position: 82% center;
    }

    .custom-healthcare-nav ol {
        grid-template-columns: 1fr;
    }

    .custom-healthcare-hero .button-row,
    .custom-healthcare-cta .button-row {
        align-items: stretch;
        flex-direction: column;
    }

    .custom-healthcare-hero .button,
    .custom-healthcare-cta .button {
        justify-content: center;
        width: 100%;
    }

    .custom-standard-list article {
        gap: 0.5rem;
        grid-template-columns: 1fr;
    }

    .custom-standard-code {
        border-bottom: 1px solid rgba(172, 222, 214, 0.22);
        padding-bottom: 0.45rem;
    }

    .custom-semantics dl > div {
        grid-template-columns: 1fr;
        gap: 0.1rem;
    }

    .custom-healthcare-ecosystem-media {
        height: 5.5rem;
    }

    .custom-healthcare-process > li {
        padding-left: 3.25rem;
    }

    .custom-healthcare-process article > span {
        height: 2.55rem;
        left: 0;
        width: 2.55rem;
    }

    .custom-healthcare-process > li::before {
        left: 1.25rem;
        top: 2.75rem;
    }

    .custom-healthcare-process article {
        display: block;
    }
}

/* Partner technologiczny */
.eu-partnership-hero {
    min-height: 19rem;
}

.eu-partnership-hero .custom-healthcare-hero-image {
    object-position: center;
    width: 72%;
}

.eu-partnership-hero .custom-healthcare-hero-overlay {
    background: linear-gradient(90deg, rgba(0, 35, 39, 0.99) 0%, rgba(0, 40, 44, 0.97) 44%, rgba(0, 44, 47, 0.62) 70%, rgba(0, 36, 40, 0.23) 100%);
}

.eu-partnership-hero .custom-healthcare-hero-copy {
    max-width: 52rem;
}

.eu-partnership-hero h1 {
    font-size: clamp(1.9rem, 2.75vw, 2.7rem);
    max-width: 22ch;
}

.eu-partnership-content .custom-healthcare-section-heading,
.eu-partnership-content .custom-healthcare-prose {
    max-width: 55rem;
}

.eu-partnership-cycle {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 1.8rem 0 0;
    max-width: 72rem;
    padding: 0;
}

.eu-partnership-cycle li {
    background: linear-gradient(145deg, #f1faf7, #fff);
    border: 1px solid #cfe5df;
    border-top: 0.28rem solid var(--concept-green);
    border-radius: 0.65rem;
    min-width: 0;
    padding: 1rem;
}

.eu-partnership-cycle span {
    color: var(--concept-green-dark);
    display: block;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 0.45rem;
}

.eu-partnership-cycle strong {
    color: var(--concept-ink);
    display: block;
    font-size: 1.08rem;
    margin-bottom: 0.3rem;
}

.eu-partnership-cycle p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}

.eu-partnership-roles {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    list-style: none;
    margin: 1rem 0 0;
    max-width: 72rem;
    padding: 0;
}

.eu-partnership-roles li {
    background: var(--concept-night);
    border-radius: 999px;
    color: #dff4ef;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.35;
    padding: 0.55rem 0.85rem;
}

.eu-partnership-support-grid {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.eu-partnership-support-grid article {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.75rem;
    min-width: 0;
    padding: 1.2rem;
}

.eu-partnership-support-grid article > span {
    color: var(--concept-green-dark);
    display: block;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 0.55rem;
}

.eu-partnership-support-grid h3,
.eu-partnership-documentation-grid h3,
.eu-partnership-why > h3 {
    color: var(--concept-ink);
    font-size: 1.15rem;
    margin-bottom: 0.5rem;
}

.eu-partnership-support-grid p,
.eu-partnership-support-grid li,
.eu-partnership-split p,
.eu-partnership-documentation-grid p,
.eu-partnership-documentation-grid li {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.58;
}

.eu-partnership-support-grid p {
    margin-bottom: 0.65rem;
}

.eu-partnership-support-grid ul,
.eu-partnership-documentation-grid ul {
    margin: 0;
    padding-left: 1.2rem;
}

.eu-partnership-split {
    align-items: start;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
    max-width: 72rem;
}

.eu-partnership-split h2 {
    max-width: 24ch;
}

.eu-partnership-disclaimer {
    align-items: start;
    background: #f1faf7;
    border: 1px solid #99cfc1;
    border-radius: 0.75rem;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 2.7rem minmax(0, 1fr);
    padding: 1.2rem;
}

.eu-partnership-disclaimer > span {
    align-items: center;
    background: var(--concept-night);
    border-radius: 50%;
    color: #7de5c8;
    display: flex;
    font-size: 1.15rem;
    font-weight: 900;
    height: 2.7rem;
    justify-content: center;
    width: 2.7rem;
}

.eu-partnership-disclaimer h3 {
    color: var(--concept-ink);
    font-size: 1.08rem;
    margin-bottom: 0.4rem;
}

.eu-partnership-disclaimer p {
    margin: 0;
}

.eu-partnership-delivery-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.eu-partnership-delivery-grid article {
    align-items: start;
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid rgba(172, 222, 214, 0.3);
    border-radius: 0.75rem;
    display: grid;
    gap: 0.9rem;
    grid-template-columns: 3.2rem minmax(0, 1fr);
    padding: 1.2rem;
}

.eu-partnership-delivery-grid article > span {
    align-items: center;
    background: #e8fbf5;
    border-radius: 0.55rem;
    color: #006f53;
    display: flex;
    font-size: 0.77rem;
    font-weight: 900;
    height: 3.2rem;
    justify-content: center;
    width: 3.2rem;
}

.eu-partnership-delivery-grid h3 {
    color: #fff;
    font-size: 1.12rem;
    margin-bottom: 0.4rem;
}

.eu-partnership-delivery-grid p {
    color: #c9deda;
    font-size: 1rem;
    line-height: 1.58;
    margin: 0;
}

.eu-partnership-related-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.4rem;
    margin: 1.2rem 0 0;
}

.eu-partnership-related-links a {
    color: #91efd5;
    font-size: 1rem;
    font-weight: 800;
    min-height: 2.75rem;
}

.eu-partnership-related-links a:hover {
    color: #fff;
}

.eu-partnership-documentation-grid {
    align-items: start;
    display: grid;
    gap: clamp(1.25rem, 4vw, 2.5rem);
    grid-template-columns: minmax(0, 1.2fr) minmax(17rem, 0.8fr);
    max-width: 72rem;
}

.eu-partnership-documentation-grid aside {
    background: var(--concept-mint);
    border-left: 0.3rem solid var(--concept-green);
    border-radius: 0.55rem;
    padding: 1.15rem;
}

.eu-partnership-audience-grid {
    display: grid;
    gap: 0.55rem 0.9rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    max-width: 72rem;
    padding: 0;
}

.eu-partnership-audience-grid li {
    align-items: flex-start;
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.55rem;
    color: var(--concept-ink);
    display: flex;
    font-size: 1rem;
    font-weight: 650;
    gap: 0.65rem;
    line-height: 1.45;
    padding: 0.8rem 0.9rem;
}

.eu-partnership-audience-grid li::before {
    color: var(--concept-green-dark);
    content: "✓";
    font-weight: 900;
}

.eu-partnership-why {
    margin-top: 1.5rem;
    max-width: 72rem;
}

.eu-partnership-why > div {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.eu-partnership-why article {
    border-top: 0.2rem solid var(--concept-green);
    padding: 0.9rem 0.2rem 0;
}

.eu-partnership-why strong {
    color: var(--concept-ink);
    display: block;
    font-size: 1.05rem;
    margin-bottom: 0.35rem;
}

.eu-partnership-why p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
}

.eu-partnership-process {
    max-width: 58rem;
}

html[data-color-scheme="dark"] .eu-partnership-cycle li,
html[data-color-scheme="dark"] .eu-partnership-support-grid article,
html[data-color-scheme="dark"] .eu-partnership-audience-grid li {
    background: var(--concept-surface);
    border-color: var(--concept-border);
}

html[data-color-scheme="dark"] .eu-partnership-disclaimer,
html[data-color-scheme="dark"] .eu-partnership-documentation-grid aside {
    background: #15332f;
    border-color: #477c73;
}

@media (max-width: 64rem) {
    .eu-partnership-cycle {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .eu-partnership-split,
    .eu-partnership-documentation-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 52rem) {
    .eu-partnership-hero {
        min-height: 27rem;
    }

    .eu-partnership-hero .custom-healthcare-hero-image {
        object-position: 70% center;
        width: 100%;
    }

    .eu-partnership-hero .custom-healthcare-hero-overlay {
        background: linear-gradient(180deg, rgba(0, 35, 39, 0.72), rgba(0, 36, 40, 0.98));
    }

    .eu-partnership-support-grid,
    .eu-partnership-delivery-grid,
    .eu-partnership-audience-grid,
    .eu-partnership-why > div {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 35rem) {
    .eu-partnership-cycle {
        grid-template-columns: 1fr;
    }

    .eu-partnership-delivery-grid article {
        grid-template-columns: 1fr;
    }
}

/* Badania i rozwój */
.research-development-hero {
    min-height: 19rem;
}

.research-development-hero .custom-healthcare-hero-image {
    object-position: center;
    width: 100%;
}

.research-development-hero .custom-healthcare-hero-overlay {
    background: linear-gradient(90deg, rgba(0, 27, 32, 0.98) 0%, rgba(0, 34, 39, 0.94) 39%, rgba(0, 36, 41, 0.5) 67%, rgba(0, 30, 35, 0.1) 100%);
}

.research-development-hero .custom-healthcare-hero-copy {
    max-width: 54rem;
}

.research-development-hero h1 {
    font-size: clamp(2rem, 2.8vw, 2.75rem);
    max-width: 20ch;
}

.research-development-nav {
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.research-development-content .custom-healthcare-section-heading,
.research-development-content .custom-healthcare-prose {
    max-width: 51rem;
}

.rd-path {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 1.8rem 0 0;
    max-width: 72rem;
    padding: 0;
}

.rd-path li {
    border-top: 0.22rem solid var(--concept-green);
    min-width: 0;
    padding: 0.9rem 0.35rem 0.15rem;
}

.rd-path span,
.rd-delivery-stack article > span,
.rd-cooperation-grid article > span {
    color: var(--concept-green-dark);
    display: block;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 0.35rem;
}

.rd-path strong {
    color: var(--concept-ink);
    display: block;
    font-size: 1.08rem;
    margin-bottom: 0.25rem;
}

.rd-path p,
.rd-cooperation-grid p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}

.rd-check-grid,
.rd-audience-list {
    display: grid;
    gap: 0.3rem 2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    max-width: 72rem;
    padding: 0;
}

.rd-check-grid li,
.rd-audience-list li {
    align-items: flex-start;
    border-bottom: 1px solid var(--concept-border);
    color: var(--concept-ink);
    display: flex;
    font-size: 1rem;
    font-weight: 600;
    gap: 0.65rem;
    line-height: 1.52;
    padding: 0.75rem 0;
}

.rd-check-grid li::before,
.rd-audience-list li::before {
    color: var(--concept-green-dark);
    content: "✓";
    flex: 0 0 auto;
    font-weight: 900;
}

.rd-editorial-pair {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.rd-editorial-pair article {
    border-left: 0.25rem solid var(--concept-green);
    display: grid;
    gap: 0.8rem;
    grid-template-columns: 2rem minmax(0, 1fr);
    padding: 0.4rem 0 0.4rem 1rem;
}

.rd-editorial-pair article > span {
    color: var(--concept-green-dark);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    padding-top: 0.2rem;
}

.rd-editorial-pair h3,
.rd-data-layout h3,
.rd-validation-grid h3,
.rd-team-layout h3,
.rd-cooperation-grid h3 {
    color: var(--concept-ink);
    font-size: 1.15rem;
    margin-bottom: 0.45rem;
}

.rd-editorial-pair p,
.rd-editorial-pair li,
.rd-data-layout p,
.rd-data-layout li,
.rd-validation-grid p,
.rd-documentation-layout p,
.rd-documentation-layout li,
.rd-team-layout p,
.rd-team-layout li {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.rd-editorial-pair p {
    margin-bottom: 0.55rem;
}

.rd-editorial-pair ul,
.rd-data-layout ul,
.rd-documentation-layout ul,
.rd-team-layout ul {
    margin: 0;
    padding-left: 1.2rem;
}

.rd-note {
    align-items: start;
    background: var(--concept-mint);
    border: 1px solid #9bcfc2;
    border-radius: 0.65rem;
    display: grid;
    gap: 0.2rem 1rem;
    grid-template-columns: minmax(13rem, 0.45fr) minmax(0, 1fr);
    margin-top: 1.5rem;
    max-width: 72rem;
    padding: 1rem;
}

.rd-note strong {
    color: var(--concept-ink);
    font-size: 1rem;
}

.rd-note p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
}

.rd-ai {
    padding-inline: clamp(1.25rem, 3.5vw, 3rem);
}

.rd-capability-list {
    column-count: 2;
    column-gap: 2.5rem;
    list-style: none;
    margin: 0;
    max-width: 68rem;
    padding: 0;
}

.rd-capability-list li {
    break-inside: avoid;
    color: #e7f4f2;
    font-size: 1rem;
    line-height: 1.5;
    padding: 0.38rem 0 0.38rem 1.25rem;
    position: relative;
}

.rd-capability-list li::before {
    color: #79e5c7;
    content: "•";
    font-size: 1.35rem;
    left: 0;
    position: absolute;
    top: 0.18rem;
}

.rd-data-layout,
.rd-validation-grid,
.rd-documentation-layout,
.rd-team-layout {
    align-items: start;
    display: grid;
    gap: clamp(1.4rem, 4vw, 3rem);
    grid-template-columns: minmax(0, 1.1fr) minmax(19rem, 0.9fr);
    max-width: 72rem;
}

.rd-data-layout aside {
    background: #effaf7;
    border: 1px solid #9ccfc3;
    border-radius: 0.7rem;
    padding: 1.2rem;
}

.rd-data-layout aside p:last-child {
    margin-bottom: 0;
}

.rd-delivery-stack {
    display: grid;
    gap: 0;
    max-width: 72rem;
}

.rd-delivery-stack article {
    align-items: start;
    border-top: 1px solid var(--concept-border);
    display: grid;
    gap: 1rem;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    padding: 1.15rem 0;
}

.rd-delivery-stack article:last-child {
    border-bottom: 1px solid var(--concept-border);
}

.rd-delivery-stack h3 {
    color: var(--concept-ink);
    font-size: 1.18rem;
    margin-bottom: 0.35rem;
}

.rd-delivery-stack p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.62;
    margin: 0;
    max-width: 70ch;
}

.rd-validation-grid article {
    border-top: 0.22rem solid var(--concept-green);
    padding-top: 1rem;
}

.rd-validation-grid p {
    margin-bottom: 0.65rem;
}

.rd-documentation-layout {
    background: var(--concept-night);
    border-radius: 0.8rem;
    color: #e8f4f2;
    grid-template-columns: minmax(0, 1.05fr) minmax(19rem, 0.95fr);
    padding: clamp(1.35rem, 3.5vw, 2.4rem);
}

.rd-documentation-layout h2 {
    color: #fff;
}

.rd-documentation-layout p,
.rd-documentation-layout li {
    color: #cbdedb;
}

.rd-documentation-layout li::marker {
    color: #79e5c7;
}

.rd-experience-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.rd-experience-grid article {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.75rem;
    display: grid;
    min-width: 0;
    overflow: hidden;
}

.rd-experience-grid figure {
    height: clamp(12rem, 19vw, 16rem);
    margin: 0;
    overflow: hidden;
}

.rd-experience-grid figure img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.rd-experience-grid article > div:not(.rd-experience-symbol) {
    display: flex;
    flex-direction: column;
    padding: 1.2rem;
}

.rd-experience-label {
    color: var(--concept-green-dark) !important;
    font-size: 0.8rem !important;
    font-weight: 850;
    letter-spacing: 0.06em;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.rd-experience-grid h3 {
    color: var(--concept-ink);
    font-size: 1.35rem;
    margin-bottom: 0.45rem;
}

.rd-experience-grid p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.rd-experience-grid a {
    align-items: center;
    align-self: flex-start;
    color: var(--concept-green-dark);
    display: inline-flex;
    font-size: 1rem;
    font-weight: 800;
    margin-top: auto;
    min-height: 2.75rem;
}

.rd-experience-grid a:hover {
    color: var(--concept-ink);
    text-decoration: underline;
}

.rd-experience-historical {
    align-items: center;
    grid-column: 1 / -1;
    grid-template-columns: minmax(8rem, 0.28fr) minmax(0, 1fr);
}

.rd-experience-symbol {
    align-items: center;
    align-self: stretch;
    background: linear-gradient(145deg, #003c42, #002b30);
    color: #79e5c7;
    display: flex;
    font-size: clamp(1.7rem, 4vw, 3rem);
    font-weight: 900;
    justify-content: center;
    letter-spacing: -0.04em;
    min-height: 13rem;
}

.rd-team-layout > div > p:not(.custom-healthcare-kicker) {
    margin-bottom: 0.75rem;
}

.rd-team-layout ul {
    display: grid;
    gap: 0.45rem;
    list-style: none;
    padding: 0;
}

.rd-team-layout li {
    border-bottom: 1px solid var(--concept-border);
    color: var(--concept-ink);
    font-weight: 650;
    padding: 0.4rem 0;
}

.rd-cooperation-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.rd-cooperation-grid article {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    min-width: 0;
    padding: 1.1rem;
}

.rd-cooperation-wide {
    grid-column: 1 / -1;
}

.rd-process {
    max-width: 58rem;
}

.rd-audience-list {
    max-width: 58rem;
}

html[data-color-scheme="dark"] .rd-data-layout aside,
html[data-color-scheme="dark"] .rd-note {
    background: #15332f;
    border-color: #477c73;
}

html[data-color-scheme="dark"] .rd-experience-grid article,
html[data-color-scheme="dark"] .rd-cooperation-grid article {
    background: var(--concept-surface);
    border-color: var(--concept-border);
}

@media (max-width: 64rem) {
    .research-development-nav {
        max-height: none;
        overflow: visible;
    }

    .rd-data-layout,
    .rd-documentation-layout,
    .rd-team-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 52rem) {
    .research-development-hero {
        min-height: 27rem;
    }

    .research-development-hero .custom-healthcare-hero-image {
        object-position: 70% center;
    }

    .research-development-hero .custom-healthcare-hero-overlay {
        background: linear-gradient(180deg, rgba(0, 27, 32, 0.68), rgba(0, 31, 35, 0.98));
    }

    .rd-path,
    .rd-check-grid,
    .rd-audience-list,
    .rd-editorial-pair,
    .rd-validation-grid,
    .rd-experience-grid,
    .rd-cooperation-grid {
        grid-template-columns: 1fr;
    }

    .rd-experience-historical,
    .rd-cooperation-wide {
        grid-column: auto;
    }

    .rd-experience-historical {
        grid-template-columns: 1fr;
    }

    .rd-experience-symbol {
        min-height: 8rem;
    }
}

@media (max-width: 35rem) {
    .rd-capability-list {
        column-count: 1;
    }

    .rd-editorial-pair article,
    .rd-delivery-stack article {
        grid-template-columns: 1fr;
    }

    .rd-note {
        grid-template-columns: 1fr;
    }
}

/* AI + B+R */
.ai-rd-hero {
    min-height: 19rem;
}

.ai-rd-hero .custom-healthcare-hero-image {
    object-position: center;
    width: 100%;
}

.ai-rd-hero .custom-healthcare-hero-overlay {
    background: linear-gradient(90deg, rgba(0, 25, 34, 0.99) 0%, rgba(0, 32, 42, 0.94) 42%, rgba(0, 39, 47, 0.42) 69%, rgba(0, 28, 36, 0.08) 100%);
}

.ai-rd-hero .custom-healthcare-hero-copy {
    max-width: 58rem;
}

.ai-rd-hero h1 {
    font-size: clamp(1.95rem, 2.75vw, 2.7rem);
    max-width: 24ch;
}

.ai-rd-nav {
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.ai-rd-main .custom-healthcare-section-heading {
    max-width: 55rem;
}

.ai-rd-statement {
    background: linear-gradient(135deg, #003b42, #002b34);
    border: 0;
    border-left: 0.3rem solid #62d9b7;
    border-radius: 0.7rem;
    margin: 0 0 1.5rem;
    max-width: 72rem;
    padding: 1.25rem 1.4rem;
}

.ai-rd-statement p {
    color: #fff;
    font-size: clamp(1.12rem, 1.5vw, 1.3rem);
    font-weight: 700;
    line-height: 1.5;
    margin: 0;
    max-width: 62ch;
}

.ai-rd-foundation-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.ai-rd-foundation-grid article {
    border-top: 0.22rem solid var(--concept-green);
    padding: 1rem 0.35rem 0;
}

.ai-rd-index,
.ai-rd-capability-list article > span,
.ai-rd-cooperation-grid article > span {
    color: var(--concept-green-dark);
    display: block;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.09em;
    margin-bottom: 0.42rem;
}

.ai-rd-foundation-grid h3,
.ai-rd-data-layout h3,
.ai-rd-engineering-pair h3,
.ai-rd-history h3,
.ai-rd-cooperation-grid h3 {
    color: var(--concept-ink);
    font-size: 1.15rem;
    line-height: 1.35;
    margin-bottom: 0.5rem;
}

.ai-rd-foundation-grid p,
.ai-rd-foundation-grid li,
.ai-rd-data-layout li,
.ai-rd-engineering-pair li,
.ai-rd-cooperation-grid p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.62;
}

.ai-rd-foundation-grid p {
    margin-bottom: 0.65rem;
}

.ai-rd-foundation-grid ul,
.ai-rd-foundation-grid ol,
.ai-rd-data-layout ul,
.ai-rd-engineering-pair ul {
    margin: 0;
    padding-left: 1.2rem;
}

.ai-rd-foundation-grid li,
.ai-rd-data-layout li,
.ai-rd-engineering-pair li {
    margin-bottom: 0.25rem;
}

.ai-rd-domain-note {
    align-items: start;
    background: var(--concept-mint);
    border: 1px solid #a9d8cc;
    border-radius: 0.7rem;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(15rem, 0.42fr) minmax(0, 0.58fr);
    margin-top: 1.25rem;
    max-width: 72rem;
    padding: 1.2rem;
}

.ai-rd-domain-note h3 {
    color: var(--concept-ink);
    font-size: 1.15rem;
    margin: 0;
}

.ai-rd-domain-note p:last-child {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.62;
    margin: 0;
}

.ai-rd-capability-list {
    display: grid;
    gap: 0 2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.ai-rd-capability-list article {
    border-top: 1px solid var(--concept-border);
    display: grid;
    gap: 0.8rem;
    grid-template-columns: 2rem minmax(0, 1fr);
    padding: 1.1rem 0;
}

.ai-rd-capability-list h3 {
    color: var(--concept-ink);
    font-size: 1.12rem;
    line-height: 1.35;
    margin-bottom: 0.35rem;
}

.ai-rd-capability-list p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

.ai-rd-context-strip {
    align-items: center;
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.7rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.25rem;
    max-width: 72rem;
    padding: 0.9rem;
}

.ai-rd-context-strip strong {
    color: var(--concept-ink);
    font-size: 0.95rem;
    margin-right: 0.25rem;
}

.ai-rd-context-strip span {
    background: var(--concept-mint);
    border-radius: 999px;
    color: var(--concept-green-dark);
    font-size: 0.88rem;
    font-weight: 700;
    padding: 0.42rem 0.7rem;
}

.ai-rd-data-layout {
    align-items: start;
    display: grid;
    gap: clamp(1.25rem, 4vw, 3rem);
    grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
    max-width: 72rem;
}

.ai-rd-check-list {
    columns: 2;
    column-gap: 2rem;
    list-style: none;
    padding-left: 0 !important;
}

.ai-rd-check-list li {
    break-inside: avoid;
    padding: 0.35rem 0 0.35rem 1.25rem;
    position: relative;
}

.ai-rd-check-list li::before {
    color: var(--concept-green-dark);
    content: "✓";
    font-weight: 900;
    left: 0;
    position: absolute;
}

.ai-rd-data-layout aside {
    background: linear-gradient(145deg, #003d43, #002d34);
    border-radius: 0.7rem;
    padding: 1.25rem;
}

.ai-rd-data-layout aside h3 {
    color: #fff;
}

.ai-rd-data-layout aside li {
    color: #d2e5e2;
}

.ai-rd-data-layout aside li::marker {
    color: #79e5c7;
}

.ai-rd-reality-check {
    border-left: 0.3rem solid var(--concept-green);
    display: grid;
    gap: 0.4rem 1.3rem;
    grid-template-columns: minmax(12rem, 0.34fr) minmax(0, 0.66fr);
    margin-top: 1.4rem;
    max-width: 72rem;
    padding: 0.45rem 0 0.45rem 1rem;
}

.ai-rd-reality-check strong {
    color: var(--concept-ink);
    font-size: 1rem;
}

.ai-rd-reality-check p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

.ai-rd-flow {
    align-items: stretch;
    background: linear-gradient(145deg, #003a42, #002b33);
    border-radius: 0.8rem;
    display: grid;
    gap: 0.6rem;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    margin: 0;
    max-width: 72rem;
    padding: 1rem;
}

.ai-rd-flow > div {
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(164, 231, 218, 0.36);
    border-radius: 0.6rem;
    padding: 0.9rem;
}

.ai-rd-flow strong,
.ai-rd-flow span {
    display: block;
}

.ai-rd-flow strong {
    color: #fff;
    font-size: 1rem;
    margin-bottom: 0.35rem;
}

.ai-rd-flow span {
    color: #c9dfdc;
    font-size: 0.86rem;
    line-height: 1.48;
}

.ai-rd-flow > b {
    align-items: center;
    color: #79e5c7;
    display: flex;
    font-size: 1.2rem;
}

.ai-rd-flow figcaption {
    color: #c9dfdc;
    font-size: 0.78rem;
    grid-column: 1 / -1;
    line-height: 1.5;
    margin-top: 0.25rem;
}

.ai-rd-engineering-pair {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1.25rem;
    max-width: 72rem;
}

.ai-rd-engineering-pair article {
    border-top: 0.22rem solid var(--concept-green);
    padding-top: 1rem;
}

.ai-rd-cycle {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 1.5rem 0 0;
    max-width: 72rem;
}

.ai-rd-cycle span {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 999px;
    color: var(--concept-ink);
    font-size: 0.9rem;
    font-weight: 750;
    padding: 0.48rem 0.72rem;
}

.ai-rd-cycle i {
    color: var(--concept-green-dark);
    font-style: normal;
    font-weight: 900;
}

.ai-rd-responsibility {
    background: linear-gradient(135deg, #00373e, #002831);
    border-radius: 0.8rem;
    color: #e7f2f0;
    padding-inline: clamp(1.25rem, 3.5vw, 3rem);
}

.ai-rd-responsibility .custom-healthcare-kicker {
    color: #79e5c7;
}

.ai-rd-responsibility h2,
.ai-rd-responsibility h3 {
    color: #fff;
}

.ai-rd-responsibility .custom-healthcare-section-heading > p:not(.custom-healthcare-kicker) {
    color: #cbdedb;
}

.ai-rd-responsibility-grid {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.ai-rd-responsibility-grid article {
    border: 1px solid rgba(166, 225, 214, 0.32);
    border-radius: 0.65rem;
    display: grid;
    gap: 0.35rem 0.85rem;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    padding: 1rem;
}

.ai-rd-responsibility-grid article > span {
    align-items: center;
    background: rgba(121, 229, 199, 0.12);
    border-radius: 50%;
    color: #79e5c7;
    display: flex;
    font-size: 1.25rem;
    grid-row: 1 / span 2;
    height: 2.4rem;
    justify-content: center;
    width: 2.4rem;
}

.ai-rd-responsibility-grid h3 {
    font-size: 1.08rem;
    margin: 0;
}

.ai-rd-responsibility-grid p {
    color: #cbdedb;
    font-size: 1rem;
    line-height: 1.58;
    margin: 0;
}

.ai-rd-oversight {
    border-top: 1px solid rgba(166, 225, 214, 0.35);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(14rem, 0.38fr) minmax(0, 0.62fr);
    margin-top: 1.25rem;
    max-width: 72rem;
    padding-top: 1.15rem;
}

.ai-rd-oversight strong {
    color: #fff;
}

.ai-rd-oversight p {
    color: #cbdedb;
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

.ai-rd-project-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.ai-rd-project-grid > article {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.75rem;
    display: grid;
    min-width: 0;
    overflow: hidden;
}

.ai-rd-project-grid figure {
    aspect-ratio: 16 / 7;
    margin: 0;
    overflow: hidden;
}

.ai-rd-project-grid figure img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.ai-rd-project-grid article > div {
    display: flex;
    flex-direction: column;
    padding: 1.15rem;
}

.ai-rd-project-status {
    color: var(--concept-green-dark) !important;
    font-size: 0.88rem !important;
    font-weight: 800;
    line-height: 1.4 !important;
    margin-bottom: 0.55rem;
}

.ai-rd-project-status span {
    color: var(--concept-ink);
}

.ai-rd-project-grid h3 {
    color: var(--concept-ink);
    font-size: 1.45rem;
    margin-bottom: 0.45rem;
}

.ai-rd-project-grid p,
.ai-rd-project-grid li {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.58;
}

.ai-rd-project-grid ul {
    margin: 0 0 0.65rem;
    padding-left: 1.2rem;
}

.ai-rd-project-grid a,
.ai-rd-team-grid a {
    align-items: center;
    align-self: flex-start;
    color: var(--concept-green-dark);
    display: inline-flex;
    font-size: 0.98rem;
    font-weight: 800;
    margin-top: auto;
    min-height: 2.75rem;
}

.ai-rd-project-grid a:hover,
.ai-rd-team-grid a:hover {
    color: var(--concept-ink);
    text-decoration: underline;
}

.ai-rd-history {
    align-items: start;
    border-left: 0.3rem solid var(--concept-green);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(10rem, 0.28fr) minmax(0, 0.72fr);
    margin-top: 1.25rem;
    max-width: 72rem;
    padding: 0.5rem 0 0.5rem 1rem;
}

.ai-rd-history > span {
    color: var(--concept-green-dark);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.ai-rd-history p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

.ai-rd-team-grid {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.ai-rd-team-grid article {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.7rem;
    display: grid;
    grid-template-columns: 3.3rem minmax(0, 1fr);
    padding: 1rem;
}

.ai-rd-avatar {
    align-items: center;
    background: var(--concept-mint);
    border-radius: 50%;
    color: var(--concept-green-dark);
    display: flex;
    font-size: 0.85rem;
    font-weight: 900;
    grid-row: 1 / span 4;
    height: 3.3rem;
    justify-content: center;
    margin-right: 0.85rem;
    width: 3.3rem;
}

.ai-rd-team-grid h3 {
    color: var(--concept-ink);
    font-size: 1.08rem;
    line-height: 1.35;
    margin-bottom: 0.25rem;
}

.ai-rd-team-grid p {
    color: var(--concept-muted);
    font-size: 0.95rem;
    line-height: 1.48;
    margin-bottom: 0.55rem;
}

.ai-rd-team-grid ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ai-rd-team-grid li {
    background: var(--concept-mint);
    border-radius: 999px;
    color: var(--concept-green-dark);
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.3rem 0.55rem;
}

.ai-rd-team-link {
    margin: 1.15rem 0 0;
}

.ai-rd-people-list {
    max-width: 72rem;
}

.ai-rd-people-list .about-person-summary > .about-profile-link {
    align-self: flex-start;
    margin-top: auto;
}

.ai-rd-process-list {
    display: grid;
    gap: 0 1.4rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    max-width: 72rem;
    padding: 0;
}

.ai-rd-process-list li {
    border-top: 1px solid var(--concept-border);
    display: grid;
    gap: 0.7rem;
    grid-template-columns: 2rem minmax(0, 1fr);
    padding: 1rem 0;
}

.ai-rd-process-list li > span {
    color: var(--concept-green-dark);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    padding-top: 0.2rem;
}

.ai-rd-process-list h3 {
    color: var(--concept-ink);
    font-size: 1.05rem;
    margin-bottom: 0.3rem;
}

.ai-rd-process-list p {
    color: var(--concept-muted);
    font-size: 0.95rem;
    line-height: 1.52;
    margin: 0;
}

.ai-rd-cooperation-grid {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.ai-rd-cooperation-grid article {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    padding: 1rem;
}

.ai-rd-cooperation-grid p {
    margin: 0;
}

.ai-rd-final-cta {
    align-items: center;
    background: linear-gradient(135deg, #003b42, #002a31);
    border-radius: 0.8rem;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3.5rem);
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
    margin-bottom: clamp(2.7rem, 5vw, 4.5rem);
    padding-inline: clamp(1.25rem, 3.5vw, 3rem);
}

.ai-rd-final-cta .custom-healthcare-kicker {
    color: #79e5c7;
}

.ai-rd-final-cta h2 {
    color: #fff;
}

.ai-rd-final-cta p:not(.custom-healthcare-kicker) {
    color: #cbdedb;
    font-size: 1rem;
    line-height: 1.62;
}

.ai-rd-final-cta .button-row {
    align-items: stretch;
    flex-direction: column;
}

.ai-rd-final-cta .button {
    justify-content: center;
    text-align: center;
    width: 100%;
}

.ai-rd-final-cta .button-ghost {
    border-color: rgba(255, 255, 255, 0.64);
    color: #fff;
}

html[data-color-scheme="dark"] .ai-rd-domain-note,
html[data-color-scheme="dark"] .ai-rd-context-strip,
html[data-color-scheme="dark"] .ai-rd-project-grid > article,
html[data-color-scheme="dark"] .ai-rd-team-grid article,
html[data-color-scheme="dark"] .ai-rd-cooperation-grid article {
    background: var(--concept-surface);
    border-color: var(--concept-border);
}

html[data-color-scheme="dark"] .ai-rd-context-strip span,
html[data-color-scheme="dark"] .ai-rd-team-grid li,
html[data-color-scheme="dark"] .ai-rd-avatar {
    background: #173d38;
}

@media (max-width: 64rem) {
    .ai-rd-nav {
        max-height: none;
        overflow: visible;
    }

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

    .ai-rd-flow > b {
        display: none;
    }

    .ai-rd-process-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 52rem) {
    .ai-rd-hero {
        min-height: 27rem;
    }

    .ai-rd-hero .custom-healthcare-hero-image {
        object-position: 72% center;
    }

    .ai-rd-hero .custom-healthcare-hero-overlay {
        background: linear-gradient(180deg, rgba(0, 25, 34, 0.65), rgba(0, 30, 38, 0.98));
    }

    .ai-rd-foundation-grid,
    .ai-rd-capability-list,
    .ai-rd-data-layout,
    .ai-rd-engineering-pair,
    .ai-rd-responsibility-grid,
    .ai-rd-project-grid,
    .ai-rd-team-grid,
    .ai-rd-process-list,
    .ai-rd-cooperation-grid,
    .ai-rd-final-cta {
        grid-template-columns: 1fr;
    }

    .ai-rd-domain-note,
    .ai-rd-reality-check,
    .ai-rd-oversight,
    .ai-rd-history {
        grid-template-columns: 1fr;
    }

    .ai-rd-flow {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 35rem) {
    .ai-rd-hero {
        min-height: 31rem;
    }

    .ai-rd-hero h1 {
        font-size: clamp(1.75rem, 8vw, 2.15rem);
    }

    .ai-rd-check-list {
        columns: 1;
    }

    .ai-rd-capability-list article,
    .ai-rd-team-grid article,
    .ai-rd-responsibility-grid article {
        grid-template-columns: 1fr;
    }

    .ai-rd-avatar,
    .ai-rd-responsibility-grid article > span {
        grid-row: auto;
    }

    .ai-rd-cycle i {
        display: none;
    }
}

/* MedAlert */
.medalert-page {
    background: var(--concept-surface);
}

.medalert-page :focus-visible {
    outline: 0.2rem solid var(--concept-focus, #ffbf47);
    outline-offset: 0.18rem;
}

.medalert-hero {
    background: linear-gradient(132deg, #002b30 0%, #063f42 55%, #0d5858 100%);
    overflow: hidden;
}

.medalert-hero-grid {
    align-items: stretch;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3.5rem);
    grid-template-columns: minmax(0, 1.02fr) minmax(24rem, 0.98fr);
    min-height: 27rem;
    padding-block: 1rem 1.6rem;
}

.medalert-hero-copy {
    align-self: center;
    max-width: 46rem;
}

.medalert-hero .breadcrumbs {
    color: #c9ddda;
    font-size: 0.78rem;
    margin-bottom: 1.15rem;
}

.medalert-hero .breadcrumbs a {
    color: #effaf8;
}

.medalert-hero-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    margin-bottom: 0.5rem;
}

.medalert-hero .custom-healthcare-kicker {
    color: #75e7c7;
    margin: 0;
}

.medalert-hero h1 {
    color: #fff;
    font-size: clamp(2.25rem, 4vw, 3.8rem);
    letter-spacing: -0.045em;
    line-height: 0.98;
    margin-bottom: 0.65rem;
}

.medalert-hero-value {
    color: #fff;
    font-size: clamp(1.3rem, 2vw, 1.85rem);
    font-weight: 800;
    line-height: 1.22;
    margin-bottom: 0.65rem;
    max-width: 31ch;
}

.medalert-hero-lead {
    color: #d5e9e6;
    font-size: 1.0625rem;
    line-height: 1.62;
    margin-bottom: 0.9rem;
    max-width: 63ch;
}

.medalert-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
}

.medalert-hero-tags li {
    border: 1px solid rgba(180, 235, 224, 0.42);
    border-radius: 999px;
    color: #eefaf8;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.35;
    padding: 0.35rem 0.7rem;
}

.medalert-hero .button-row {
    gap: 0.65rem;
}

.medalert-hero .button {
    min-height: 2.9rem;
}

.medalert-hero .button-ghost {
    border-color: rgba(255, 255, 255, 0.7);
    color: #fff;
}

.medalert-hero-availability {
    color: #bcd6d2;
    font-size: 0.86rem;
    font-weight: 650;
    margin: 0.7rem 0 0;
}

.medalert-hero-visual {
    align-self: stretch;
    border-left: 1px solid rgba(255, 255, 255, 0.16);
    margin: -1rem calc((100vw - min(100vw - 2rem, 76rem)) / -2) -1.6rem 0;
    min-height: 27rem;
    overflow: hidden;
    position: relative;
}

.medalert-hero-visual::after {
    background: linear-gradient(90deg, rgba(0, 45, 49, 0.48), transparent 35%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.medalert-hero-visual img {
    height: 100%;
    object-fit: cover;
    object-position: 58% center;
    width: 100%;
}

.medalert-layout {
    grid-template-columns: minmax(12.5rem, 15rem) minmax(0, 1fr);
}

.medalert-nav {
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.medalert-main,
.medalert-content {
    min-width: 0;
}

.medalert-content .custom-healthcare-section-heading,
.medalert-content .custom-healthcare-prose {
    max-width: 51rem;
}

.medalert-question-grid {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 1.5rem 0 0;
    max-width: 72rem;
    padding: 0;
}

.medalert-question-grid li {
    align-items: flex-start;
    border-bottom: 1px solid var(--concept-border);
    color: var(--concept-ink);
    display: flex;
    font-size: 1rem;
    font-weight: 700;
    gap: 0.65rem;
    line-height: 1.5;
    padding: 0.75rem 1rem 0.75rem 0;
}

.medalert-question-grid li::before,
.medalert-event-list li::before {
    color: var(--concept-green-dark);
    content: "✓";
    flex: 0 0 auto;
    font-weight: 900;
}

.medalert-message-shift {
    align-items: center;
    background: var(--concept-night);
    border-radius: 0.75rem;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 0.75fr) auto minmax(0, 1.25fr);
    margin-top: 1.7rem;
    max-width: 72rem;
    padding: clamp(1.2rem, 3vw, 2rem);
}

.medalert-message-shift > div > span {
    color: #79e5c7;
    display: block;
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    margin-bottom: 0.4rem;
    text-transform: uppercase;
}

.medalert-message-shift p {
    color: #fff;
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
}

.medalert-message-arrow {
    color: #79e5c7;
    font-size: 1.8rem;
    font-weight: 800;
}

.medalert-operation-steps,
.medalert-implementation-steps {
    list-style: none;
    margin: 0;
    max-width: 72rem;
    padding: 0;
}

.medalert-operation-steps li {
    align-items: start;
    border-top: 1px solid var(--concept-border);
    display: grid;
    gap: clamp(1rem, 3vw, 2rem);
    grid-template-columns: 3.4rem minmax(0, 1fr);
    padding: 1.1rem 0;
}

.medalert-operation-steps li:last-child {
    border-bottom: 1px solid var(--concept-border);
}

.medalert-operation-steps li > span,
.medalert-implementation-steps li > span {
    color: var(--concept-green-dark);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    padding-top: 0.22rem;
}

.medalert-operation-steps h3,
.medalert-implementation-steps h3,
.medalert-integration-details h3 {
    color: var(--concept-ink);
    font-size: 1.12rem;
    line-height: 1.35;
    margin-bottom: 0.32rem;
}

.medalert-operation-steps p,
.medalert-implementation-steps p,
.medalert-integration-details p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

.medalert-algorithms {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 72rem;
}

.medalert-algorithms article {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.75rem;
    min-width: 0;
    padding: 1.25rem;
}

.medalert-algorithm-code {
    color: var(--concept-green-dark) !important;
    font-size: 0.82rem !important;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-bottom: 0.55rem;
}

.medalert-algorithms h3 {
    color: var(--concept-ink);
    font-size: 1.2rem;
    line-height: 1.3;
    margin-bottom: 0.65rem;
}

.medalert-algorithms article > p:last-child {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.58;
    margin-bottom: 0;
}

.medalert-evidence-note {
    align-items: start;
    background: var(--concept-mint);
    border: 1px solid #9ccfc3;
    border-radius: 0.65rem;
    display: grid;
    gap: 0.4rem 1.5rem;
    grid-template-columns: minmax(12rem, 0.38fr) minmax(0, 1fr);
    margin-top: 1rem;
    max-width: 72rem;
    padding: 1.15rem;
}

.medalert-evidence-note strong {
    color: var(--concept-ink);
    font-size: 1rem;
}

.medalert-evidence-note > p:empty {
    display: none;
}

.medalert-evidence-note p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.58;
    margin: 0;
}

.medalert-events-layout {
    align-items: start;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    grid-template-columns: minmax(0, 1.05fr) minmax(19rem, 0.95fr);
    max-width: 72rem;
}

.medalert-event-list {
    display: grid;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.medalert-event-list li {
    align-items: flex-start;
    border-bottom: 1px solid var(--concept-border);
    color: var(--concept-ink);
    display: flex;
    font-size: 1rem;
    font-weight: 600;
    gap: 0.65rem;
    line-height: 1.52;
    padding: 0.65rem 0;
}

.medalert-distinction {
    background: linear-gradient(145deg, var(--concept-night), #06484b);
    border-radius: 0.75rem;
    padding: 1.25rem;
}

.medalert-distinction h3 {
    color: #fff;
    font-size: 1.3rem;
    margin-bottom: 0.85rem;
}

.medalert-distinction dl,
.medalert-distinction dl > div {
    margin: 0;
}

.medalert-distinction dl > div {
    border-top: 1px solid rgba(199, 231, 225, 0.24);
    padding: 0.75rem 0;
}

.medalert-distinction dt {
    color: #79e5c7;
    font-size: 0.92rem;
    font-weight: 800;
    margin-bottom: 0.2rem;
}

.medalert-distinction dd {
    color: #d6e8e5;
    font-size: 1rem;
    line-height: 1.52;
    margin: 0;
}

.medalert-benefit-groups {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 72rem;
}

.medalert-benefit-group {
    border: 1px solid var(--concept-border);
    border-radius: 0.8rem;
    min-width: 0;
    padding: clamp(1.2rem, 2.5vw, 1.7rem);
}

.medalert-benefit-clinical {
    background: var(--concept-page);
}

.medalert-benefit-management {
    background: #effaf7;
    border-color: #9ccfc3;
}

.medalert-group-label {
    color: var(--concept-green-dark) !important;
    font-size: 0.78rem !important;
    font-weight: 850;
    letter-spacing: 0.08em;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.medalert-benefit-group > h3 {
    color: var(--concept-ink);
    font-size: 1.35rem;
    line-height: 1.3;
    margin-bottom: 1rem;
}

.medalert-role-list {
    display: grid;
    gap: 0;
}

.medalert-role-list section {
    border-top: 1px solid var(--concept-border);
    padding: 0.85rem 0;
}

.medalert-role-list h4 {
    color: var(--concept-ink);
    font-size: 1rem;
    margin-bottom: 0.4rem;
}

.medalert-role-list ul {
    margin: 0;
    padding-left: 1.15rem;
}

.medalert-role-list li {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.5;
}

.medalert-role-list li + li {
    margin-top: 0.28rem;
}

.medalert-management-list {
    display: grid;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.medalert-management-list li {
    border-top: 1px solid #abd5cb;
    display: grid;
    gap: 0.25rem;
    padding: 0.8rem 0;
}

.medalert-management-list strong {
    color: var(--concept-ink);
    font-size: 1rem;
}

.medalert-management-list span {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.52;
}

.medalert-integration-diagram {
    align-items: center;
    background: var(--concept-page);
    border: 1px solid var(--concept-border);
    border-radius: 0.8rem;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(9rem, 0.8fr) auto minmax(17rem, 1.35fr) auto minmax(9rem, 0.8fr);
    margin: 0;
    max-width: 72rem;
    padding: clamp(1.2rem, 3vw, 2rem);
}

.medalert-diagram-sources,
.medalert-diagram-users {
    display: grid;
    gap: 0.55rem;
}

.medalert-diagram-sources span,
.medalert-diagram-users span {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.45rem;
    color: var(--concept-ink);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.35;
    padding: 0.65rem;
    text-align: center;
}

.medalert-diagram-core {
    background: linear-gradient(145deg, #00363b, #075b5b);
    border-radius: 0.7rem;
    color: #fff;
    display: flex;
    flex-direction: column;
    min-height: 10.5rem;
    justify-content: center;
    padding: 1.2rem;
    text-align: center;
}

.medalert-diagram-core small {
    color: #a9dcd2;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.medalert-diagram-core strong {
    color: #fff;
    font-size: 1.85rem;
    line-height: 1.2;
    margin-block: 0.35rem;
}

.medalert-diagram-core span {
    color: #d8ece8;
    font-size: 0.84rem;
    line-height: 1.45;
}

.medalert-diagram-arrow {
    color: var(--concept-green-dark);
    font-size: 1.75rem;
    font-weight: 900;
}

.medalert-integration-diagram figcaption {
    color: var(--concept-muted);
    font-size: 0.88rem;
    grid-column: 1 / -1;
    line-height: 1.5;
    margin-top: 0.25rem;
    text-align: center;
}

.medalert-integration-details {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
    max-width: 72rem;
}

.medalert-integration-details > div {
    border-left: 0.25rem solid var(--concept-green);
    padding: 0.45rem 0 0.45rem 1rem;
}

.medalert-clinical-role-layout {
    align-items: start;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
    max-width: 72rem;
}

.medalert-clinical-role-layout h2 {
    max-width: 28ch;
}

.medalert-clinical-role-layout > div > p:last-child,
.medalert-clinical-role-layout aside p {
    color: var(--concept-muted);
    font-size: 1.0625rem;
    line-height: 1.66;
}

.medalert-clinical-role-layout aside {
    background: var(--concept-surface);
    border-left: 0.3rem solid var(--concept-green);
    box-shadow: 0 0.8rem 2rem rgba(0, 42, 45, 0.08);
    padding: 1.2rem;
}

.medalert-clinical-role-layout aside strong {
    color: var(--concept-ink);
    display: block;
    font-size: 1.15rem;
    line-height: 1.42;
    margin-bottom: 0.6rem;
}

.medalert-clinical-role-layout aside p {
    font-size: 1rem;
    margin: 0;
}

.medalert-implementation-steps {
    display: grid;
    gap: 0 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.medalert-implementation-steps li {
    align-items: start;
    border-top: 1px solid var(--concept-border);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    min-width: 0;
    padding: 1rem 0;
}

.medalert-rd-card {
    align-items: end;
    background: linear-gradient(135deg, var(--concept-night-deep), #075151);
    border-radius: 0.8rem;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.34fr);
    max-width: 72rem;
    padding: clamp(1.35rem, 3.5vw, 2.5rem);
}

.medalert-rd-card h2 {
    color: #fff;
}

.medalert-rd-card > div:first-child > p:not(.custom-healthcare-kicker) {
    color: #d6e9e6;
    font-size: 1rem;
    line-height: 1.62;
}

.medalert-rd-links {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.medalert-rd-links .button {
    justify-content: center;
    text-align: center;
}

.medalert-rd-links .text-link {
    color: #fff;
    min-height: 2.75rem;
}

.medalert-final-cta {
    align-items: end;
    background: #e9f7f3;
    border: 1px solid #a6d7cc;
    border-radius: 0.8rem;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: clamp(2.7rem, 5vw, 4.5rem);
    max-width: 72rem;
    padding: clamp(1.4rem, 3.5vw, 2.4rem);
}

.medalert-final-cta h2 {
    color: var(--concept-ink);
    font-size: clamp(1.65rem, 2.6vw, 2.35rem);
    line-height: 1.14;
    margin-bottom: 0.7rem;
}

.medalert-final-cta p:not(.custom-healthcare-kicker) {
    color: var(--concept-muted);
    font-size: 1.0625rem;
    line-height: 1.62;
    margin: 0;
    max-width: 65ch;
}

.medalert-final-cta .button-row {
    align-items: stretch;
    flex-direction: column;
}

.medalert-final-cta .button-ghost {
    border-color: var(--concept-green-dark);
    color: var(--concept-green-dark);
}

html[data-color-scheme="dark"] .medalert-page,
html[data-color-scheme="dark"] .medalert-page-content {
    background: var(--concept-surface);
}

html[data-color-scheme="dark"] .medalert-algorithms article,
html[data-color-scheme="dark"] .medalert-benefit-clinical,
html[data-color-scheme="dark"] .medalert-integration-diagram,
html[data-color-scheme="dark"] .medalert-diagram-sources span,
html[data-color-scheme="dark"] .medalert-diagram-users span,
html[data-color-scheme="dark"] .medalert-clinical-role-layout aside {
    background: var(--concept-surface);
    border-color: var(--concept-border);
}

html[data-color-scheme="dark"] .medalert-benefit-management,
html[data-color-scheme="dark"] .medalert-evidence-note,
html[data-color-scheme="dark"] .medalert-final-cta {
    background: #14332f;
    border-color: #477c73;
}

html[data-color-scheme="dark"] .medalert-management-list li {
    border-color: #41645f;
}

@media (max-width: 70rem) {
    .medalert-hero-grid {
        grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr);
    }

    .medalert-hero-visual {
        margin-right: -1rem;
    }
}

@media (max-width: 64rem) {
    .medalert-nav {
        max-height: none;
        overflow: visible;
    }

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

@media (max-width: 52rem) {
    .medalert-hero-grid {
        gap: 1.25rem;
        grid-template-columns: 1fr;
        padding-bottom: 0;
    }

    .medalert-hero-copy {
        max-width: none;
    }

    .medalert-hero-visual {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.18);
        height: clamp(14rem, 58vw, 24rem);
        margin: 0 -1rem;
        min-height: 0;
    }

    .medalert-hero-visual::after {
        background: linear-gradient(180deg, rgba(0, 45, 49, 0.36), transparent 34%);
    }

    .medalert-hero-visual img {
        object-position: 58% center;
    }

    .medalert-algorithms,
    .medalert-events-layout,
    .medalert-benefit-groups,
    .medalert-clinical-role-layout,
    .medalert-implementation-steps,
    .medalert-rd-card,
    .medalert-final-cta {
        grid-template-columns: 1fr;
    }

    .medalert-integration-diagram {
        grid-template-columns: 1fr;
    }

    .medalert-diagram-arrow {
        line-height: 1;
        text-align: center;
        transform: rotate(90deg);
    }

    .medalert-integration-details {
        grid-template-columns: 1fr;
    }

    .medalert-final-cta {
        align-items: start;
    }
}

@media (max-width: 35rem) {
    .medalert-hero h1 {
        font-size: 2.35rem;
    }

    .medalert-hero-value {
        font-size: 1.25rem;
    }

    .medalert-hero .button-row,
    .medalert-final-cta .button-row {
        align-items: stretch;
        flex-direction: column;
    }

    .medalert-hero .button,
    .medalert-final-cta .button {
        justify-content: center;
        width: 100%;
    }

    .medalert-question-grid,
    .medalert-message-shift,
    .medalert-evidence-note {
        grid-template-columns: 1fr;
    }

    .medalert-message-arrow {
        line-height: 1;
        transform: rotate(90deg);
    }

    .medalert-operation-steps li,
    .medalert-implementation-steps li {
        grid-template-columns: 1fr;
    }
}

/* Pharma Flow product page */
.pharmaflow-page {
    background: var(--concept-surface);
}

.pharmaflow-page :focus-visible {
    outline: 0.2rem solid var(--concept-focus, #ffbf47);
    outline-offset: 0.18rem;
}

.pharmaflow-hero {
    background: linear-gradient(132deg, #002b30 0%, #064448 56%, #0b5957 100%);
    overflow: hidden;
}

.pharmaflow-hero-grid {
    align-items: stretch;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3.5rem);
    grid-template-columns: minmax(0, 1.04fr) minmax(24rem, 0.96fr);
    min-height: 27rem;
    padding-block: 1rem 1.35rem;
}

.pharmaflow-hero-copy {
    align-self: center;
    max-width: 47rem;
}

.pharmaflow-hero .breadcrumbs {
    color: #c9ddda;
    font-size: 0.78rem;
    margin-bottom: 1.1rem;
}

.pharmaflow-hero .breadcrumbs a {
    color: #effaf8;
}

.pharmaflow-hero-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    margin-bottom: 0.5rem;
}

.pharmaflow-hero .custom-healthcare-kicker {
    color: #75e7c7;
    margin: 0;
}

.pharmaflow-hero h1 {
    color: #fff;
    font-size: clamp(2.25rem, 4vw, 3.8rem);
    letter-spacing: -0.045em;
    line-height: 0.98;
    margin-bottom: 0.65rem;
}

.pharmaflow-hero-value {
    color: #fff;
    font-size: clamp(1.3rem, 2vw, 1.82rem);
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 0.65rem;
    max-width: 34ch;
}

.pharmaflow-hero-lead {
    color: #d5e9e6;
    font-size: 1.0625rem;
    line-height: 1.62;
    margin-bottom: 0.9rem;
    max-width: 63ch;
}

.pharmaflow-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
}

.pharmaflow-hero-tags li {
    border: 1px solid rgba(180, 235, 224, 0.42);
    border-radius: 999px;
    color: #eefaf8;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.35;
    padding: 0.35rem 0.7rem;
}

.pharmaflow-hero .button-row {
    gap: 0.65rem;
}

.pharmaflow-hero .button {
    min-height: 2.9rem;
}

.pharmaflow-hero .button-ghost {
    border-color: rgba(255, 255, 255, 0.7);
    color: #fff;
}

.pharmaflow-hero-availability {
    color: #bcd6d2;
    font-size: 0.86rem;
    font-weight: 650;
    margin: 0.7rem 0 0;
}

.pharmaflow-hero-visual {
    align-self: stretch;
    border-left: 1px solid rgba(255, 255, 255, 0.16);
    margin: -1rem calc((100vw - min(100vw - 2rem, 76rem)) / -2) -1.35rem 0;
    min-height: 27rem;
    overflow: hidden;
    position: relative;
}

.pharmaflow-hero-visual::after {
    background: linear-gradient(90deg, rgba(0, 45, 49, 0.46), transparent 34%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.pharmaflow-hero-visual img {
    height: 100%;
    object-fit: cover;
    object-position: 52% center;
    width: 100%;
}

.pharmaflow-hero-visual figcaption {
    background: rgba(0, 35, 38, 0.88);
    border: 1px solid rgba(208, 239, 233, 0.28);
    border-radius: 999px;
    bottom: 1rem;
    color: #effaf8;
    font-size: 0.76rem;
    font-weight: 700;
    left: 1rem;
    line-height: 1.35;
    padding: 0.4rem 0.72rem;
    position: absolute;
    z-index: 1;
}

.pharmaflow-hero-notice {
    align-items: baseline;
    border-top: 1px solid rgba(255, 255, 255, 0.17);
    color: #d7e9e6;
    display: flex;
    font-size: 0.88rem;
    gap: 0.7rem 1rem;
    line-height: 1.5;
    padding-block: 0.8rem;
}

.pharmaflow-hero-notice strong {
    color: #79e5c7;
    flex: 0 0 auto;
    text-transform: uppercase;
}

.pharmaflow-page-layout {
    align-items: start;
    display: grid;
    gap: clamp(2rem, 5vw, 4rem);
    grid-template-columns: minmax(12.5rem, 15rem) minmax(0, 1fr);
}

.pharmaflow-nav-wrap {
    min-width: 0;
}

.pharmaflow-nav {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    margin-top: clamp(2.7rem, 5vw, 4.5rem);
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
    padding: 1.2rem;
    position: sticky;
    scrollbar-gutter: stable;
    top: 6.5rem;
}

.pharmaflow-nav > strong {
    color: var(--concept-ink);
    display: block;
    font-size: 1rem;
    margin-bottom: 0.85rem;
}

.pharmaflow-nav ul {
    display: grid;
    gap: 0.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pharmaflow-nav a {
    align-items: center;
    border-left: 0.2rem solid transparent;
    border-radius: 0.25rem;
    color: var(--concept-ink);
    display: flex;
    font-size: 0.88rem;
    font-weight: 650;
    line-height: 1.35;
    min-height: 2.75rem;
    padding: 0.5rem 0.65rem;
    text-decoration: none;
}

.pharmaflow-nav a:hover,
.pharmaflow-nav a:focus-visible {
    background: var(--concept-mint);
    border-left-color: var(--concept-green-dark);
    color: var(--concept-green-dark);
}

.pharmaflow-content {
    min-width: 0;
}

.pharmaflow-content p:empty {
    display: none;
}

.pharmaflow-content .custom-healthcare-section-heading {
    max-width: 51rem;
}

.pharmaflow-risk-balance,
.pharmaflow-question-grid,
.pharmaflow-operation-steps,
.pharmaflow-targets,
.pharmaflow-dashboard,
.pharmaflow-pillars,
.pharmaflow-federated-diagram,
.pharmaflow-caution,
.pharmaflow-integration-diagram,
.pharmaflow-stakeholders,
.pharmaflow-oversight,
.pharmaflow-deployment-models,
.pharmaflow-implementation-steps,
.pharmaflow-status-card,
.pharmaflow-collaboration,
.pharmaflow-final-cta {
    max-width: 72rem;
}

.pharmaflow-risk-balance {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pharmaflow-risk-balance article {
    align-items: flex-start;
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.7rem;
    display: grid;
    gap: 0.9rem;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    padding: 1.15rem;
}

.pharmaflow-risk-balance article > span {
    align-items: center;
    background: var(--concept-mint);
    border-radius: 999px;
    color: var(--concept-green-dark);
    display: flex;
    font-size: 1.25rem;
    font-weight: 900;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.pharmaflow-risk-balance h3,
.pharmaflow-intro-panel h3,
.pharmaflow-targets h3,
.pharmaflow-dashboard-grid strong,
.pharmaflow-pillars h3,
.pharmaflow-stakeholders h3,
.pharmaflow-deployment-models h3,
.pharmaflow-collaboration h3 {
    color: var(--concept-ink);
}

.pharmaflow-risk-balance h3 {
    font-size: 1.15rem;
    margin-bottom: 0.3rem;
}

.pharmaflow-risk-balance p,
.pharmaflow-intro-panel > p,
.pharmaflow-pillars p,
.pharmaflow-deployment-models p,
.pharmaflow-collaboration p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

.pharmaflow-intro-panel {
    align-items: start;
    background: linear-gradient(135deg, var(--concept-night), #075151);
    border-radius: 0.75rem;
    display: grid;
    gap: clamp(1rem, 3vw, 2.2rem);
    grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.28fr);
    margin-top: 1rem;
    max-width: 72rem;
    padding: clamp(1.2rem, 3vw, 2rem);
}

.pharmaflow-intro-panel .custom-healthcare-kicker {
    color: #79e5c7;
}

.pharmaflow-intro-panel h3,
.pharmaflow-intro-panel > p {
    color: #fff;
}

.pharmaflow-intro-panel h3 {
    font-size: 1.35rem;
    line-height: 1.25;
    margin: 0;
}

.pharmaflow-intro-panel > p {
    color: #d7e9e6;
}

.pharmaflow-question-grid {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 1.45rem 0 0;
    padding: 0;
}

.pharmaflow-question-grid li {
    border-bottom: 1px solid var(--concept-border);
    color: var(--concept-ink);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    padding: 0.75rem 1rem 0.75rem 1.55rem;
    position: relative;
}

.pharmaflow-question-grid li::before {
    color: var(--concept-green-dark);
    content: "?";
    font-weight: 900;
    left: 0;
    position: absolute;
}

.pharmaflow-operation-steps,
.pharmaflow-implementation-steps {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.pharmaflow-operation-steps li,
.pharmaflow-implementation-steps li {
    align-items: start;
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.65rem;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    padding: 1.05rem;
}

.pharmaflow-operation-steps li > span,
.pharmaflow-implementation-steps li > span {
    color: var(--concept-green-dark);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    padding-top: 0.2rem;
}

.pharmaflow-operation-steps h3,
.pharmaflow-implementation-steps h3 {
    color: var(--concept-ink);
    font-size: 1.08rem;
    line-height: 1.35;
    margin-bottom: 0.35rem;
}

.pharmaflow-operation-steps p,
.pharmaflow-implementation-steps p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.58;
    margin: 0;
}

.pharmaflow-targets {
    align-items: center;
    background: linear-gradient(135deg, var(--concept-night-deep), #075151);
    border-radius: 0.75rem;
    display: grid;
    gap: clamp(1.2rem, 3vw, 2.5rem);
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    margin-top: 1.1rem;
    padding: clamp(1.25rem, 3vw, 2rem);
}

.pharmaflow-targets .custom-healthcare-kicker {
    color: #79e5c7;
}

.pharmaflow-targets h3 {
    color: #fff;
    font-size: 1.35rem;
    line-height: 1.25;
    margin-bottom: 0.5rem;
}

.pharmaflow-targets > div:first-child > p:not(.custom-healthcare-kicker) {
    color: #d6e9e6;
    font-size: 1rem;
    line-height: 1.58;
    margin: 0;
}

.pharmaflow-target-grid {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pharmaflow-target-grid article {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(201, 235, 228, 0.24);
    border-radius: 0.6rem;
    padding: 0.9rem;
}

.pharmaflow-target-grid strong {
    color: #79e5c7;
    display: block;
    font-size: 1.75rem;
    line-height: 1;
    margin-bottom: 0.45rem;
}

.pharmaflow-target-grid span {
    color: #fff;
    display: block;
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.4;
}

.pharmaflow-dashboard {
    background: #082f33;
    border: 1px solid #2c6765;
    border-radius: 0.85rem;
    box-shadow: 0 1.3rem 3rem rgba(0, 45, 49, 0.16);
    overflow: hidden;
    padding: 1rem;
}

.pharmaflow-dashboard-bar {
    align-items: center;
    border-bottom: 1px solid rgba(208, 239, 233, 0.2);
    display: flex;
    justify-content: space-between;
    padding: 0.2rem 0.25rem 0.9rem;
}

.pharmaflow-dashboard-bar strong {
    color: #fff;
    font-size: 1.15rem;
}

.pharmaflow-dashboard-bar span {
    background: #dff7f0;
    border-radius: 999px;
    color: #075348;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    padding: 0.35rem 0.6rem;
    text-transform: uppercase;
}

.pharmaflow-dashboard-grid {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: 0.8rem;
}

.pharmaflow-dashboard-grid article {
    background: #f8fbfa;
    border-radius: 0.6rem;
    min-width: 0;
    padding: 1rem;
}

.pharmaflow-dashboard-grid article > span {
    color: var(--concept-green-dark);
    display: block;
    font-size: 0.75rem;
    font-weight: 850;
    letter-spacing: 0.07em;
    margin-bottom: 0.3rem;
    text-transform: uppercase;
}

.pharmaflow-dashboard-grid article > strong {
    display: block;
    font-size: 1.05rem;
    margin-bottom: 0.65rem;
}

.pharmaflow-dashboard-grid ul {
    color: #405257;
    display: grid;
    font-size: 1rem;
    gap: 0.35rem;
    line-height: 1.45;
    margin: 0;
    padding-left: 1.1rem;
}

.pharmaflow-dashboard-grid small {
    color: #52666a;
    display: block;
    font-size: 0.78rem;
    margin-top: 0.45rem;
}

.pharmaflow-chart {
    align-items: end;
    border-bottom: 1px solid #a8c9c2;
    display: flex;
    gap: 0.45rem;
    height: 4.2rem;
    padding-inline: 0.2rem;
}

.pharmaflow-chart i {
    background: linear-gradient(180deg, #42c8aa, #0b7468);
    border-radius: 0.25rem 0.25rem 0 0;
    flex: 1;
    height: 38%;
}

.pharmaflow-chart i:nth-child(2) { height: 54%; }
.pharmaflow-chart i:nth-child(3) { height: 47%; }
.pharmaflow-chart i:nth-child(4) { height: 70%; }
.pharmaflow-chart i:nth-child(5) { height: 65%; }
.pharmaflow-chart i:nth-child(6) { height: 86%; }

.pharmaflow-pillars {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pharmaflow-pillars article {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.7rem;
    padding: 1.25rem;
}

.pharmaflow-pillars article > span,
.pharmaflow-deployment-models article > span {
    color: var(--concept-green-dark);
    display: block;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-bottom: 0.55rem;
    text-transform: uppercase;
}

.pharmaflow-pillars h3 {
    font-size: 1.28rem;
    margin-bottom: 0.5rem;
}

.pharmaflow-federated-diagram {
    background: var(--concept-page);
    border: 1px solid var(--concept-border);
    border-radius: 0.8rem;
    margin-inline: 0;
    padding: clamp(1.1rem, 3vw, 2rem);
}

.pharmaflow-hospital-models {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pharmaflow-hospital-models > div {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.6rem;
    padding: 0.85rem;
    text-align: center;
}

.pharmaflow-hospital-models strong,
.pharmaflow-hospital-models span,
.pharmaflow-hospital-models small {
    display: block;
}

.pharmaflow-hospital-models strong {
    color: var(--concept-ink);
    font-size: 1rem;
}

.pharmaflow-hospital-models span {
    color: var(--concept-muted);
    font-size: 0.85rem;
    margin-block: 0.25rem;
}

.pharmaflow-hospital-models small {
    color: var(--concept-green-dark);
    font-size: 0.78rem;
    font-weight: 800;
}

.pharmaflow-model-flow {
    color: var(--concept-green-dark);
    display: grid;
    font-size: 0.78rem;
    font-weight: 800;
    gap: 0.2rem;
    justify-items: center;
    padding: 0.65rem 0;
    text-transform: uppercase;
}

.pharmaflow-model-flow b {
    font-size: 1.25rem;
}

.pharmaflow-model-core {
    background: linear-gradient(135deg, var(--concept-night), #075151);
    border-radius: 0.65rem;
    color: #fff;
    margin-inline: auto;
    max-width: 36rem;
    padding: 1rem;
    text-align: center;
}

.pharmaflow-model-core small,
.pharmaflow-model-core strong,
.pharmaflow-model-core span {
    display: block;
}

.pharmaflow-model-core small {
    color: #79e5c7;
    font-size: 0.75rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pharmaflow-model-core strong {
    font-size: 1.45rem;
    margin-block: 0.3rem;
}

.pharmaflow-model-core span {
    color: #d7e9e6;
    font-size: 1rem;
    line-height: 1.45;
}

.pharmaflow-federated-diagram figcaption,
.pharmaflow-integration-diagram figcaption {
    color: var(--concept-muted);
    font-size: 0.84rem;
    line-height: 1.5;
    margin-top: 0.9rem;
    text-align: center;
}

.pharmaflow-caution {
    align-items: start;
    background: #e9f7f3;
    border: 1px solid #9ccfc3;
    border-radius: 0.65rem;
    display: grid;
    gap: 0.45rem 1.5rem;
    grid-template-columns: minmax(15rem, 0.55fr) minmax(0, 1.45fr);
    margin-top: 0.85rem;
    padding: 1rem;
}

.pharmaflow-caution strong {
    color: var(--concept-ink);
    font-size: 1rem;
    line-height: 1.45;
}

.pharmaflow-caution p {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.58;
    margin: 0;
}

.pharmaflow-integration-diagram {
    align-items: center;
    display: grid;
    gap: 0.45rem;
    justify-items: center;
    margin-inline: 0;
}

.pharmaflow-integration-diagram > div {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.6rem;
    max-width: 40rem;
    padding: 0.8rem 1rem;
    text-align: center;
    width: 100%;
}

.pharmaflow-integration-diagram > div strong,
.pharmaflow-integration-diagram > div span {
    display: block;
}

.pharmaflow-integration-diagram > div strong {
    color: var(--concept-ink);
    font-size: 1.05rem;
}

.pharmaflow-integration-diagram > div span {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.45;
    margin-top: 0.2rem;
}

.pharmaflow-integration-diagram > b {
    color: var(--concept-green-dark);
    font-size: 1.25rem;
}

.pharmaflow-integration-diagram .pharmaflow-integration-core {
    background: linear-gradient(135deg, var(--concept-night), #075151);
    border-color: #2b7470;
}

.pharmaflow-integration-diagram .pharmaflow-integration-core strong,
.pharmaflow-integration-diagram .pharmaflow-integration-core span {
    color: #fff;
}

.pharmaflow-stakeholders {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pharmaflow-stakeholders article {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-radius: 0.7rem;
    padding: 1.2rem;
}

.pharmaflow-stakeholders h3 {
    border-bottom: 1px solid var(--concept-border);
    font-size: 1.2rem;
    margin-bottom: 0.7rem;
    padding-bottom: 0.65rem;
}

.pharmaflow-stakeholders ul,
.pharmaflow-oversight ul {
    display: grid;
    gap: 0.45rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pharmaflow-stakeholders li {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.5;
    padding-left: 1.15rem;
    position: relative;
}

.pharmaflow-stakeholders li::before {
    color: var(--concept-green-dark);
    content: "✓";
    font-weight: 900;
    left: 0;
    position: absolute;
}

.pharmaflow-oversight {
    align-items: center;
    background: linear-gradient(135deg, var(--concept-night-deep), #075151);
    border-radius: 0.8rem;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.72fr);
    padding: clamp(1.35rem, 3.5vw, 2.4rem);
}

.pharmaflow-oversight .custom-healthcare-kicker {
    color: #79e5c7;
}

.pharmaflow-oversight h2 {
    color: #fff;
}

.pharmaflow-oversight > div > p:not(.custom-healthcare-kicker) {
    color: #d7e9e6;
    font-size: 1rem;
    line-height: 1.62;
    margin: 0;
}

.pharmaflow-oversight ul {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(201, 235, 228, 0.22);
    border-radius: 0.65rem;
    padding: 1rem;
}

.pharmaflow-oversight li {
    border-bottom: 1px solid rgba(201, 235, 228, 0.18);
    color: #fff;
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.45;
    padding: 0.45rem 0;
}

.pharmaflow-oversight li:last-child {
    border-bottom: 0;
}

.pharmaflow-deployment-models {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.pharmaflow-deployment-models article {
    background: #e9f7f3;
    border: 1px solid #9ccfc3;
    border-radius: 0.7rem;
    padding: 1.2rem;
}

.pharmaflow-deployment-models h3 {
    font-size: 1.3rem;
    margin-bottom: 0.45rem;
}

.pharmaflow-status-card {
    align-items: end;
    background: linear-gradient(135deg, var(--concept-night-deep), #075151);
    border-radius: 0.8rem;
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.36fr);
    padding: clamp(1.35rem, 3.5vw, 2.5rem);
}

.pharmaflow-status-card .custom-healthcare-kicker {
    color: #79e5c7;
}

.pharmaflow-status-card h2 {
    color: #fff;
}

.pharmaflow-status-card > div:first-child > p:not(.custom-healthcare-kicker) {
    color: #d6e9e6;
    font-size: 1rem;
    line-height: 1.62;
}

.pharmaflow-status-card > div:first-child > p strong {
    color: #fff;
}

.pharmaflow-status-actions {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.pharmaflow-status-actions .button {
    justify-content: center;
    text-align: center;
}

.pharmaflow-status-actions .text-link {
    color: #fff;
    min-height: 2.75rem;
}

.pharmaflow-collaboration {
    background: var(--concept-surface);
    border: 1px solid var(--concept-border);
    border-left: 0.25rem solid var(--concept-green-dark);
    border-radius: 0.55rem;
    margin-top: 0.9rem;
    padding: 1.05rem 1.2rem;
}

.pharmaflow-collaboration h3 {
    font-size: 1.15rem;
    margin-bottom: 0.35rem;
}

.pharmaflow-final-cta {
    align-items: end;
    background: #e9f7f3;
    border: 1px solid #a6d7cc;
    border-radius: 0.8rem;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: clamp(2.7rem, 5vw, 4.5rem);
    padding: clamp(1.4rem, 3.5vw, 2.4rem);
}

.pharmaflow-final-cta h2 {
    color: var(--concept-ink);
    font-size: clamp(1.65rem, 2.6vw, 2.35rem);
    line-height: 1.14;
    margin-bottom: 0.7rem;
}

.pharmaflow-final-cta p:not(.custom-healthcare-kicker) {
    color: var(--concept-muted);
    font-size: 1.0625rem;
    line-height: 1.62;
    margin: 0;
    max-width: 65ch;
}

.pharmaflow-final-cta .button-row {
    align-items: stretch;
    flex-direction: column;
}

.pharmaflow-final-cta .button-ghost {
    border-color: var(--concept-green-dark);
    color: var(--concept-green-dark);
}

html[data-color-scheme="dark"] .pharmaflow-page,
html[data-color-scheme="dark"] .pharmaflow-risk-balance article,
html[data-color-scheme="dark"] .pharmaflow-operation-steps li,
html[data-color-scheme="dark"] .pharmaflow-implementation-steps li,
html[data-color-scheme="dark"] .pharmaflow-pillars article,
html[data-color-scheme="dark"] .pharmaflow-federated-diagram,
html[data-color-scheme="dark"] .pharmaflow-hospital-models > div,
html[data-color-scheme="dark"] .pharmaflow-integration-diagram > div:not(.pharmaflow-integration-core),
html[data-color-scheme="dark"] .pharmaflow-stakeholders article,
html[data-color-scheme="dark"] .pharmaflow-collaboration {
    background: var(--concept-surface);
    border-color: var(--concept-border);
}

html[data-color-scheme="dark"] .pharmaflow-caution,
html[data-color-scheme="dark"] .pharmaflow-deployment-models article,
html[data-color-scheme="dark"] .pharmaflow-final-cta {
    background: #14332f;
    border-color: #477c73;
}

html[data-color-scheme="dark"] .pharmaflow-dashboard-grid article {
    background: #163a36;
    border: 1px solid #477c73;
}

html[data-color-scheme="dark"] .pharmaflow-dashboard-grid article > span {
    color: #8de8c5;
}

html[data-color-scheme="dark"] .pharmaflow-dashboard-grid article > strong {
    color: #fff;
}

html[data-color-scheme="dark"] .pharmaflow-dashboard-grid ul {
    color: #d8e8e5;
}

html[data-color-scheme="dark"] .pharmaflow-dashboard-grid small {
    color: #c2d5d1;
}

html[data-color-scheme="dark"] .pharmaflow-chart {
    border-bottom-color: #8fbab2;
}

@media (max-width: 70rem) {
    .pharmaflow-hero-grid {
        grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
    }

    .pharmaflow-hero-visual {
        margin-right: -1rem;
    }
}

@media (max-width: 64rem) {
    .pharmaflow-page-layout {
        grid-template-columns: 1fr;
    }

    .pharmaflow-nav {
        max-height: none;
        overflow: visible;
        position: static;
    }

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

@media (max-width: 52rem) {
    .pharmaflow-hero-grid {
        gap: 1.25rem;
        grid-template-columns: 1fr;
        padding-bottom: 0;
    }

    .pharmaflow-hero-copy {
        max-width: none;
    }

    .pharmaflow-hero-visual {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.18);
        height: clamp(14rem, 58vw, 24rem);
        margin: 0 -1rem;
        min-height: 0;
    }

    .pharmaflow-hero-visual::after {
        background: linear-gradient(180deg, rgba(0, 45, 49, 0.34), transparent 35%);
    }

    .pharmaflow-hero-notice,
    .pharmaflow-intro-panel,
    .pharmaflow-targets,
    .pharmaflow-caution,
    .pharmaflow-oversight,
    .pharmaflow-status-card,
    .pharmaflow-final-cta {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .pharmaflow-hero-notice {
        align-items: flex-start;
        flex-direction: column;
    }

    .pharmaflow-target-grid,
    .pharmaflow-hospital-models {
        grid-template-columns: 1fr;
    }

    .pharmaflow-final-cta {
        align-items: start;
    }
}

@media (max-width: 42rem) {
    .pharmaflow-risk-balance,
    .pharmaflow-question-grid,
    .pharmaflow-operation-steps,
    .pharmaflow-dashboard-grid,
    .pharmaflow-pillars,
    .pharmaflow-stakeholders,
    .pharmaflow-deployment-models,
    .pharmaflow-implementation-steps,
    .pharmaflow-nav ul {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 35rem) {
    .pharmaflow-hero h1 {
        font-size: 2.35rem;
    }

    .pharmaflow-hero-value {
        font-size: 1.25rem;
    }

    .pharmaflow-hero .button-row,
    .pharmaflow-final-cta .button-row {
        align-items: stretch;
        flex-direction: column;
    }

    .pharmaflow-hero .button,
    .pharmaflow-final-cta .button {
        justify-content: center;
        width: 100%;
    }

    .pharmaflow-operation-steps li,
    .pharmaflow-implementation-steps li {
        grid-template-columns: 1fr;
    }

    .pharmaflow-hero-visual figcaption {
        border-radius: 0.45rem;
        bottom: 0.65rem;
        left: 0.65rem;
        max-width: calc(100% - 1.3rem);
    }
}

/* Dwukolorowy wskaźnik pozostaje czytelny na jasnych i ciemnych powierzchniach. */
:focus-visible {
    box-shadow: 0 0 0 6px var(--focus) !important;
    outline: 3px solid #fff !important;
    outline-offset: 3px !important;
}

/* Contact page */
.contact-page {
    background: var(--concept-page);
    color: var(--concept-ink);
}

.contact-hero {
    background:
        radial-gradient(circle at 84% 18%, rgba(76, 224, 180, 0.18), transparent 22rem),
        linear-gradient(115deg, #002f35 0%, #003c40 55%, #00292f 100%);
    overflow: hidden;
    padding: 0;
    position: relative;
}

.contact-hero-grid {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 5vw, 5rem);
    grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
    min-height: 31rem;
    padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.contact-hero-copy {
    min-width: 0;
}

.contact-hero .breadcrumbs {
    margin-bottom: clamp(2rem, 4vw, 3.4rem);
}

.contact-hero .eyebrow {
    color: #7bf0cc;
    letter-spacing: 0.14em;
    margin-bottom: 0.8rem;
}

.contact-hero h1 {
    color: #fff;
    font-size: clamp(2.55rem, 4.2vw, 4rem);
    letter-spacing: -0.04em;
    line-height: 1.04;
    margin: 0;
    max-width: 15ch;
    text-wrap: balance;
}

.contact-hero-intro {
    color: #e2f3ef;
    font-size: clamp(1.05rem, 1.35vw, 1.2rem);
    line-height: 1.62;
    margin: 1.3rem 0 0;
    max-width: 57ch;
}

.contact-hero-actions {
    margin-top: 1.8rem;
}

.contact-hero-actions .button {
    min-height: 3.15rem;
}

.contact-hero-actions .button-ghost {
    background: rgba(0, 23, 27, 0.3);
    border-color: rgba(255, 255, 255, 0.75);
    color: #fff;
}

.contact-hero-actions .button-ghost:hover {
    background: #fff;
    border-color: #fff;
    color: #003c40;
}

.contact-hero-visual {
    aspect-ratio: 1 / 0.88;
    isolation: isolate;
    min-height: 22rem;
    position: relative;
}

.contact-hero-visual::before {
    background:
        radial-gradient(circle, rgba(74, 228, 184, 0.22), transparent 62%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.025));
    border: 1px solid rgba(180, 245, 227, 0.2);
    border-radius: 2rem;
    content: "";
    inset: 4% 2% 3% 5%;
    position: absolute;
    transform: rotate(-3deg);
    z-index: -1;
}

.contact-visual-orbit {
    border: 1px solid rgba(151, 239, 215, 0.28);
    border-radius: 50%;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.contact-visual-orbit--one {
    height: 15rem;
    width: 15rem;
}

.contact-visual-orbit--two {
    height: 22rem;
    width: 22rem;
}

.contact-visual-core {
    align-items: center;
    background: linear-gradient(145deg, #6be6c1, #29ba91);
    border: 0.45rem solid rgba(0, 44, 48, 0.82);
    border-radius: 50%;
    box-shadow: 0 1.25rem 3rem rgba(0, 13, 16, 0.32);
    color: #003c3d;
    display: flex;
    height: 7.8rem;
    justify-content: center;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 7.8rem;
}

.contact-visual-core svg {
    fill: none;
    height: 3.5rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
    width: 3.5rem;
}

.contact-visual-topic {
    align-items: center;
    backdrop-filter: blur(0.5rem);
    background: rgba(2, 42, 46, 0.84);
    border: 1px solid rgba(181, 245, 228, 0.34);
    border-radius: 999px;
    box-shadow: 0 0.7rem 1.8rem rgba(0, 13, 16, 0.24);
    color: #fff;
    display: flex;
    font-size: 0.92rem;
    font-weight: 800;
    min-height: 3rem;
    padding: 0.65rem 1rem;
    position: absolute;
}

.contact-visual-topic::before {
    background: #65e7bf;
    border-radius: 50%;
    content: "";
    height: 0.48rem;
    margin-right: 0.58rem;
    width: 0.48rem;
}

.contact-visual-topic--product {
    left: 4%;
    top: 18%;
}

.contact-visual-topic--implementation {
    right: 0;
    top: 28%;
}

.contact-visual-topic--research {
    bottom: 12%;
    left: 18%;
}

.contact-form-section {
    background: #eaf4f2;
    padding-block: clamp(3.25rem, 6vw, 5.5rem);
}

.contact-form-layout {
    align-items: stretch;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
}

.contact-form-intro-panel,
.contact-form-panel {
    border-radius: 1rem;
    box-shadow: 0 1rem 2.5rem rgba(4, 43, 45, 0.09);
    min-width: 0;
}

.contact-form-intro-panel {
    background:
        radial-gradient(circle at 90% 10%, rgba(105, 230, 191, 0.18), transparent 17rem),
        linear-gradient(145deg, #003b40, #002f35);
    color: #e6f5f1;
    padding: clamp(1.6rem, 3vw, 2.6rem);
}

.contact-form-intro-panel .contact-kicker {
    color: #83efd0;
}

.contact-form-intro-panel h2 {
    color: #fff;
    font-size: clamp(1.85rem, 3vw, 2.65rem);
    letter-spacing: -0.035em;
    line-height: 1.12;
    margin: 0;
    text-wrap: balance;
}

.contact-form-intro-panel > p:not(.contact-kicker) {
    color: #d8ece8;
    font-size: 1.05rem;
    line-height: 1.65;
    margin: 1.1rem 0 0;
}

.contact-form-assurance {
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(204, 247, 235, 0.22);
    border-radius: 0.75rem;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: auto minmax(0, 1fr);
    margin-top: 2rem;
    padding: 1rem;
}

.contact-form-assurance svg {
    fill: none;
    height: 2rem;
    stroke: #7aebca;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 2rem;
}

.contact-form-assurance p {
    color: #e0f1ed;
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
}

.contact-form-panel {
    background: #fff;
    border: 1px solid var(--concept-border);
    padding: clamp(1.4rem, 3vw, 2.5rem);
    scroll-margin-top: 7rem;
}

.contact-form-test-notice,
.contact-form-status {
    border-radius: 0.7rem;
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 1.25rem;
    padding: 0.9rem 1rem;
}

.contact-form-test-notice {
    background: #fff5d6;
    border: 1px solid #c58b17;
    color: #614000;
}

.contact-form-status strong,
.contact-form-status p {
    display: block;
}

.contact-form-status p {
    margin: 0.3rem 0 0;
}

.contact-form-status ul {
    margin: 0.65rem 0 0;
    padding-left: 1.25rem;
}

.contact-form-status a {
    color: inherit;
    font-weight: 750;
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.contact-form-status--success {
    background: #e4f5e9;
    border: 1px solid #397d4e;
    color: #174c29;
}

.contact-form-status--error {
    background: #fff0f0;
    border: 2px solid #a61b1b;
    color: #791414;
}

.contact-form-status--notice {
    background: #edf3f5;
    border: 1px solid #607880;
    color: #29464f;
}

.contact-form-required-note {
    color: var(--concept-muted);
    font-size: 0.95rem;
    margin: 0 0 1.2rem;
}

.contact-form-grid {
    display: grid;
    gap: 1.15rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form-field {
    min-width: 0;
}

.contact-form-field--full {
    grid-column: 1 / -1;
}

.contact-form-field label {
    color: var(--concept-ink);
    display: block;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.4;
    margin-bottom: 0.45rem;
}

.contact-form-field label small {
    color: var(--concept-muted);
    font-size: 0.9rem;
    font-weight: 500;
}

.contact-form-field input,
.contact-form-field select,
.contact-form-field textarea {
    appearance: none;
    background: #fff;
    border: 1px solid #7d9692;
    border-radius: 0.55rem;
    color: #102027;
    font: inherit;
    line-height: 1.45;
    max-width: 100%;
    padding: 0.72rem 0.8rem;
    width: 100%;
}

.contact-form-field input,
.contact-form-field select {
    min-height: 3rem;
}

.contact-form-field select {
    background-image:
        linear-gradient(45deg, transparent 50%, #345f59 50%),
        linear-gradient(135deg, #345f59 50%, transparent 50%);
    background-position:
        calc(100% - 1.1rem) 1.25rem,
        calc(100% - 0.8rem) 1.25rem;
    background-repeat: no-repeat;
    background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
    padding-right: 2.3rem;
}

.contact-form-field textarea {
    min-height: 10rem;
    resize: vertical;
}

.contact-form-field [aria-invalid="true"],
.contact-form-privacy.has-error {
    border-color: #a61b1b;
    border-width: 2px;
}

.contact-form-help,
.contact-form-field-error {
    font-size: 0.95rem;
    line-height: 1.45;
    margin: 0.4rem 0 0;
}

.contact-form-help {
    color: var(--concept-muted);
}

.contact-form-field-error {
    color: #8d1515;
    font-weight: 700;
}

.contact-form-privacy {
    align-items: flex-start;
    border: 1px solid transparent;
    border-radius: 0.55rem;
    display: grid;
    gap: 0.7rem;
    grid-template-columns: auto minmax(0, 1fr);
    margin-top: 1.3rem;
    padding: 0.55rem;
}

.contact-form-privacy input {
    accent-color: #007a65;
    height: 1.35rem;
    margin: 0.1rem 0 0;
    width: 1.35rem;
}

.contact-form-privacy label {
    color: var(--concept-ink);
    font-size: 1rem;
    line-height: 1.55;
}

.contact-form-privacy a {
    color: var(--concept-green-dark);
    font-weight: 750;
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.contact-form-sensitive-note {
    color: var(--concept-muted);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 1.1rem 0 0;
}

.contact-form-submit {
    margin-top: 1.25rem;
    min-height: 3rem;
}

.contact-form-submit:disabled {
    cursor: not-allowed;
    opacity: 0.58;
}

.contact-form-trap {
    height: 1px;
    left: -10000px;
    overflow: hidden;
    position: absolute;
    top: auto;
    width: 1px;
}

.contact-topics-section,
.contact-details-section,
.contact-prepare-section {
    padding-block: clamp(3.8rem, 7vw, 6.5rem);
}

.contact-section-heading {
    margin-bottom: clamp(2rem, 4vw, 3rem);
    max-width: 52rem;
}

.contact-kicker,
.contact-topic-label {
    color: var(--concept-green-dark);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.1em;
    margin: 0 0 0.65rem;
    text-transform: uppercase;
}

.contact-section-heading h2,
.contact-direct-panel h2,
.contact-company-panel h2,
.contact-prepare-heading h2 {
    color: var(--concept-ink);
    font-size: clamp(2rem, 3.3vw, 3rem);
    letter-spacing: -0.035em;
    line-height: 1.1;
    margin: 0;
    text-wrap: balance;
}

.contact-section-heading > p:last-child,
.contact-prepare-heading > p {
    color: var(--concept-muted);
    font-size: 1.0625rem;
    line-height: 1.65;
    margin: 1rem 0 0;
    max-width: 66ch;
}

.contact-topic-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contact-topic-card {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0) 55%, rgba(57, 196, 155, 0.075)),
        #fff;
    border: 1px solid var(--concept-border);
    border-radius: 0.9rem;
    box-shadow: 0 0.75rem 2rem rgba(9, 51, 51, 0.065);
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(1.35rem, 2.5vw, 2rem);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.contact-topic-card:hover {
    border-color: #86c8b7;
    box-shadow: 0 1rem 2.25rem rgba(9, 51, 51, 0.1);
    transform: translateY(-2px);
}

.contact-topic-topline {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.4rem;
}

.contact-topic-icon {
    align-items: center;
    background: linear-gradient(145deg, #e8f8f3, #d9f0ea);
    border: 1px solid #aed9cd;
    border-radius: 0.75rem;
    color: #006b61;
    display: inline-flex;
    height: 3.35rem;
    justify-content: center;
    width: 3.35rem;
}

.contact-topic-icon svg {
    fill: none;
    height: 1.75rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
    width: 1.75rem;
}

.contact-topic-number {
    color: #70908c;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.08em;
}

.contact-topic-card h3 {
    color: var(--concept-ink);
    font-size: clamp(1.35rem, 2vw, 1.65rem);
    line-height: 1.25;
    margin: 0;
}

.contact-topic-card > p:not(.contact-topic-label) {
    color: var(--concept-muted);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0.9rem 0 0;
}

.contact-topic-link,
.contact-map-link {
    align-items: center;
    align-self: flex-start;
    color: var(--concept-green-dark);
    display: inline-flex;
    font-size: 0.96rem;
    font-weight: 850;
    gap: 0.5rem;
    margin-top: auto;
    min-height: 2.75rem;
    padding-top: 1.25rem;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.17em;
}

.contact-topic-link:hover,
.contact-map-link:hover {
    color: var(--concept-ink);
}

.contact-topic-link:focus-visible,
.contact-map-link:focus-visible,
.contact-method:focus-visible {
    border-radius: 0.3rem;
    outline: 0.2rem solid var(--focus);
    outline-offset: 0.2rem;
}

.contact-details-section {
    background: #edf6f4;
}

.contact-details-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(20rem, 0.82fr) minmax(0, 1.18fr);
}

.contact-direct-panel,
.contact-company-panel {
    border-radius: 1rem;
    box-shadow: 0 1rem 2.5rem rgba(4, 43, 45, 0.09);
    min-width: 0;
    overflow: hidden;
}

.contact-direct-panel {
    background:
        radial-gradient(circle at 95% 5%, rgba(88, 227, 185, 0.18), transparent 16rem),
        #003b40;
    color: #fff;
    padding: clamp(1.6rem, 3.2vw, 2.6rem);
}

.contact-direct-panel .contact-kicker {
    color: #7ef0ce;
}

.contact-direct-panel h2 {
    color: #fff;
    font-size: clamp(1.9rem, 3vw, 2.65rem);
}

.contact-direct-intro {
    color: #dcefeb;
    font-size: 1.02rem;
    line-height: 1.65;
    margin: 1rem 0 0;
}

.contact-method-list {
    display: grid;
    gap: 0.75rem;
    margin-top: 2rem;
}

.contact-method {
    align-items: center;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(207, 248, 236, 0.22);
    border-radius: 0.75rem;
    color: #fff;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 5.4rem;
    padding: 0.9rem;
    text-decoration: none;
    transition: background-color 180ms ease, border-color 180ms ease;
}

.contact-method:hover {
    background: rgba(95, 227, 188, 0.14);
    border-color: rgba(163, 246, 222, 0.48);
    color: #fff;
}

.contact-method-icon {
    align-items: center;
    background: #68e5bf;
    border-radius: 0.62rem;
    color: #003d3d;
    display: inline-flex;
    height: 2.85rem;
    justify-content: center;
    width: 2.85rem;
}

.contact-method-icon svg {
    fill: none;
    height: 1.45rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 1.45rem;
}

.contact-method small,
.contact-method strong,
.contact-method em {
    display: block;
    min-width: 0;
}

.contact-method small {
    color: #a9d8cf;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.contact-method strong {
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    line-height: 1.35;
    margin-top: 0.15rem;
    overflow-wrap: anywhere;
}

.contact-method em {
    color: #cde5e0;
    font-size: 0.82rem;
    font-style: normal;
    line-height: 1.4;
    margin-top: 0.25rem;
}

.contact-company-panel {
    background: #fff;
    border: 1px solid var(--concept-border);
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(14rem, 0.85fr);
}

.contact-company-copy {
    padding: clamp(1.6rem, 3.2vw, 2.6rem);
}

.contact-company-panel h2 {
    font-size: clamp(1.7rem, 2.6vw, 2.35rem);
}

.contact-company-panel address {
    color: var(--concept-muted);
    font-size: 1.02rem;
    font-style: normal;
    line-height: 1.65;
    margin-top: 1.35rem;
}

.contact-company-panel address strong {
    color: var(--concept-ink);
}

.contact-company-facts {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 1.5rem 0 0;
}

.contact-company-facts > div {
    background: #f2f8f6;
    border: 1px solid #d0e3de;
    border-radius: 0.55rem;
    min-width: 0;
    padding: 0.7rem;
}

.contact-company-facts dt {
    color: #56736f;
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.08em;
}

.contact-company-facts dd {
    color: var(--concept-ink);
    font-size: clamp(0.76rem, 1vw, 0.88rem);
    font-weight: 800;
    margin: 0.25rem 0 0;
    overflow-wrap: anywhere;
}

.contact-location-visual {
    align-items: center;
    background:
        linear-gradient(35deg, transparent 44%, rgba(44, 123, 111, 0.16) 45%, rgba(44, 123, 111, 0.16) 48%, transparent 49%),
        linear-gradient(125deg, transparent 45%, rgba(44, 123, 111, 0.13) 46%, rgba(44, 123, 111, 0.13) 49%, transparent 50%),
        #dff0eb;
    display: flex;
    justify-content: center;
    min-height: 100%;
    overflow: hidden;
    position: relative;
}

.contact-location-visual::after {
    border: 1px solid rgba(24, 111, 96, 0.18);
    border-radius: 50%;
    content: "";
    height: 13rem;
    position: absolute;
    width: 13rem;
}

.contact-map-road {
    background: rgba(255, 255, 255, 0.7);
    height: 0.6rem;
    position: absolute;
    width: 150%;
}

.contact-map-road--one {
    transform: rotate(27deg);
}

.contact-map-road--two {
    transform: rotate(-38deg) translateY(4rem);
}

.contact-map-road--three {
    transform: rotate(75deg) translateY(-5rem);
}

.contact-map-pin {
    color: #00785f;
    filter: drop-shadow(0 0.5rem 0.7rem rgba(0, 70, 61, 0.2));
    position: relative;
    transform: translateY(-1.1rem);
    z-index: 2;
}

.contact-map-pin svg {
    fill: currentColor;
    height: 4.5rem;
    width: 3.6rem;
}

.contact-map-pin circle {
    fill: #dff0eb;
}

.contact-location-visual > strong {
    background: #fff;
    border-radius: 999px;
    bottom: 18%;
    color: #004b43;
    font-size: 0.88rem;
    padding: 0.45rem 0.75rem;
    position: absolute;
    z-index: 2;
}

.contact-prepare-section {
    background: var(--concept-page);
}

.contact-prepare-panel {
    background:
        radial-gradient(circle at 7% 5%, rgba(67, 210, 166, 0.13), transparent 18rem),
        linear-gradient(135deg, #ecf8f4, #f8fbfa);
    border: 1px solid #bcded4;
    border-radius: 1rem;
    display: grid;
    gap: clamp(2rem, 5vw, 4.5rem);
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    padding: clamp(1.5rem, 4vw, 3.2rem);
}

.contact-prepare-heading .button {
    margin-top: 1.65rem;
}

.contact-prepare-steps {
    display: grid;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.contact-prepare-steps li {
    align-items: start;
    border-bottom: 1px solid #bedbd3;
    display: grid;
    gap: 1rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 1.2rem 0;
}

.contact-prepare-steps li:first-child {
    padding-top: 0;
}

.contact-prepare-steps li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.contact-prepare-steps li > span {
    align-items: center;
    background: #007b63;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 850;
    height: 2.3rem;
    justify-content: center;
    width: 2.3rem;
}

.contact-prepare-steps h3 {
    color: var(--concept-ink);
    font-size: 1.15rem;
    line-height: 1.35;
    margin: 0;
}

.contact-prepare-steps p {
    color: var(--concept-muted);
    font-size: 0.98rem;
    line-height: 1.55;
    margin: 0.35rem 0 0;
}

html[data-color-scheme="dark"] .contact-topics-section,
html[data-color-scheme="dark"] .contact-prepare-section {
    background: var(--concept-page);
}

html[data-color-scheme="dark"] .contact-form-section {
    background: #0b2224;
}

html[data-color-scheme="dark"] .contact-form-panel {
    background: var(--concept-surface);
    border-color: var(--concept-border);
}

html[data-color-scheme="dark"] .contact-form-field input,
html[data-color-scheme="dark"] .contact-form-field select,
html[data-color-scheme="dark"] .contact-form-field textarea {
    background-color: #0c2627;
    border-color: #73918b;
    color: #f1faf7;
}

html[data-color-scheme="dark"] .contact-form-test-notice {
    background: #3b300d;
    border-color: #d0a236;
    color: #ffe7a6;
}

html[data-color-scheme="dark"] .contact-form-status--success {
    background: #123b26;
    border-color: #69b984;
    color: #d9f5e2;
}

html[data-color-scheme="dark"] .contact-form-status--error {
    background: #461a1a;
    border-color: #f28d8d;
    color: #ffe1e1;
}

html[data-color-scheme="dark"] .contact-form-status--notice {
    background: #173238;
    border-color: #7fa1aa;
    color: #e0f2f5;
}

html[data-color-scheme="dark"] .contact-form-field-error {
    color: #ffabab;
}

html[data-color-scheme="dark"] .contact-details-section {
    background: #0b2224;
}

html[data-color-scheme="dark"] .contact-topic-card,
html[data-color-scheme="dark"] .contact-company-panel {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0) 55%, rgba(66, 207, 166, 0.06)),
        var(--concept-surface);
    border-color: var(--concept-border);
}

html[data-color-scheme="dark"] .contact-topic-icon,
html[data-color-scheme="dark"] .contact-company-facts > div {
    background: #15332f;
    border-color: #3f6e65;
}

html[data-color-scheme="dark"] .contact-topic-icon {
    color: #8cedcf;
}

html[data-color-scheme="dark"] .contact-company-facts dt {
    color: #9cbcb6;
}

html[data-color-scheme="dark"] .contact-prepare-panel {
    background:
        radial-gradient(circle at 7% 5%, rgba(67, 210, 166, 0.08), transparent 18rem),
        linear-gradient(135deg, #102c2b, #0d2526);
    border-color: #426d65;
}

html[data-color-scheme="dark"] .contact-prepare-steps li {
    border-color: #345954;
}

html[data-color-scheme="dark"] .contact-location-visual {
    background:
        linear-gradient(35deg, transparent 44%, rgba(97, 194, 168, 0.13) 45%, rgba(97, 194, 168, 0.13) 48%, transparent 49%),
        linear-gradient(125deg, transparent 45%, rgba(97, 194, 168, 0.1) 46%, rgba(97, 194, 168, 0.1) 49%, transparent 50%),
        #12312e;
}

html[data-color-scheme="dark"] .contact-map-road {
    background: rgba(138, 215, 194, 0.12);
}

html[data-color-scheme="dark"] .contact-map-pin circle {
    fill: #12312e;
}

html[data-color-scheme="dark"] .contact-location-visual > strong {
    background: #071d1f;
    color: #a8f2dc;
}

@media (max-width: 64rem) {
    .contact-form-layout,
    .contact-details-grid,
    .contact-prepare-panel {
        grid-template-columns: 1fr;
    }

    .contact-form-layout {
        max-width: 58rem;
    }

    .contact-details-grid {
        max-width: 58rem;
    }

    .contact-company-panel {
        min-height: 29rem;
    }
}

@media (max-width: 56rem) {
    .contact-hero-grid {
        gap: 1.5rem;
        grid-template-columns: 1fr;
        padding-block: 2.5rem 2rem;
    }

    .contact-hero-copy {
        max-width: 48rem;
    }

    .contact-hero .breadcrumbs {
        margin-bottom: 2rem;
    }

    .contact-hero-visual {
        aspect-ratio: auto;
        height: 15rem;
        margin-inline: auto;
        max-width: 30rem;
        min-height: 15rem;
        width: 100%;
    }
}

@media (max-width: 52rem) {
    .contact-topic-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-topic-card:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 47.999rem) {
    .contact-form-grid {
        grid-template-columns: 1fr;
    }

    .contact-form-field--full {
        grid-column: auto;
    }

    .contact-hero-grid {
        gap: 1rem;
        min-height: 0;
        padding-block: 2.25rem 1.5rem;
    }

    .contact-hero .breadcrumbs {
        margin-bottom: 1.8rem;
    }

    .contact-hero h1 {
        font-size: clamp(2.35rem, 11vw, 3.3rem);
    }

    .contact-hero-visual {
        height: 14rem;
        min-height: 14rem;
    }

    .contact-visual-orbit--one {
        height: 10rem;
        width: 10rem;
    }

    .contact-visual-orbit--two {
        height: 15rem;
        width: 15rem;
    }

    .contact-visual-core {
        height: 5.8rem;
        width: 5.8rem;
    }

    .contact-visual-core svg {
        height: 2.7rem;
        width: 2.7rem;
    }

    .contact-visual-topic {
        font-size: 0.78rem;
        min-height: 2.5rem;
        padding: 0.5rem 0.7rem;
    }

    .contact-topic-grid,
    .contact-company-panel {
        grid-template-columns: 1fr;
    }

    .contact-topic-card:last-child {
        grid-column: auto;
    }

    .contact-company-panel {
        min-height: 0;
    }

    .contact-location-visual {
        min-height: 17rem;
    }

    .contact-company-facts {
        grid-template-columns: 1fr;
    }

    .contact-company-facts dd {
        font-size: 0.9rem;
    }
}

@media (max-width: 35rem) {
    .contact-form-submit {
        justify-content: center;
        width: 100%;
    }

    .contact-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .contact-hero-actions .button,
    .contact-prepare-heading .button {
        justify-content: center;
        width: 100%;
    }

    .contact-method {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .contact-method > span:last-child {
        display: none;
    }

    .contact-visual-topic--product {
        left: 0;
    }

    .contact-visual-topic--implementation {
        right: 0;
    }

    .contact-visual-topic--research {
        bottom: 7%;
        left: 8%;
    }
}

@media (forced-colors: active) {
    .competency-item,
    .competency-icon,
    .contact-topic-card,
    .contact-form-intro-panel,
    .contact-form-panel,
    .contact-direct-panel,
    .contact-company-panel,
    .contact-prepare-panel,
    .contact-method {
        border: 2px solid ButtonText;
    }

    .contact-form-field input,
    .contact-form-field select,
    .contact-form-field textarea {
        border: 2px solid FieldText;
    }

    .contact-hero-visual,
    .contact-location-visual {
        display: none;
    }
}

/* Wspólny system banerów podstron — wzorzec: hero strony „O nas”. */
:root {
    --itbs-inner-hero-height: 18rem;
    --itbs-inner-hero-title-size: clamp(1.85rem, 2.4vw, 2.45rem);
    --itbs-inner-hero-text-size: 1rem;
}

.itbs-inner-hero.itbs-inner-hero {
    box-sizing: border-box;
    min-height: var(--itbs-inner-hero-height);
    padding-block: 0;
}

.itbs-inner-hero.itbs-inner-hero > .container {
    box-sizing: border-box;
    min-height: var(--itbs-inner-hero-height);
    padding-block: 0.65rem;
}

.page-hero.itbs-inner-hero > .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page-hero.itbs-inner-hero > .eu-projects-hero-grid {
    display: grid;
}

.itbs-inner-hero.itbs-inner-hero h1 {
    font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: var(--itbs-inner-hero-title-size);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.08;
    margin-bottom: 0.65rem;
    max-width: 36ch;
    text-wrap: balance;
}

.itbs-inner-hero.article-detail-hero h1 {
    max-width: none;
}

.itbs-inner-hero .article-detail-hero-copy {
    max-width: 68rem;
    width: 82%;
}

.itbs-inner-hero.project-hero h1 {
    max-width: none;
    text-wrap: pretty;
}

.itbs-inner-hero.project-hero .breadcrumbs [aria-current="page"] {
    display: inline-block;
    max-width: min(45vw, 34rem);
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}

.itbs-inner-hero .eyebrow,
.itbs-inner-hero .about-hero-eyebrow,
.itbs-inner-hero .custom-healthcare-kicker,
.itbs-inner-hero .infokolektor-kicker {
    font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    line-height: 1.3;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.itbs-inner-hero .infokolektor-hero-meta .infokolektor-kicker,
.itbs-inner-hero .medalert-hero-meta .custom-healthcare-kicker,
.itbs-inner-hero .pharmaflow-hero-meta .custom-healthcare-kicker {
    margin: 0;
}

.itbs-inner-hero .about-hero-lead,
.itbs-inner-hero .page-intro,
.itbs-inner-hero .page-intro p,
.page-hero.itbs-inner-hero > .container > p:not(.eyebrow),
.itbs-inner-hero .hero-lead,
.itbs-inner-hero .news-detail-lead,
.itbs-inner-hero .article-lead,
.itbs-inner-hero .custom-healthcare-hero-copy > p:not(.custom-healthcare-kicker),
.itbs-inner-hero .infokolektor-hero-value,
.itbs-inner-hero .medalert-hero-value,
.itbs-inner-hero .medalert-hero-lead,
.itbs-inner-hero .pharmaflow-hero-value,
.itbs-inner-hero .pharmaflow-hero-lead,
.itbs-inner-hero .contact-hero-intro {
    font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: var(--itbs-inner-hero-text-size);
    line-height: 1.45;
}

.itbs-inner-hero .about-hero-lead,
.itbs-inner-hero .news-detail-lead,
.itbs-inner-hero .article-lead,
.itbs-inner-hero .custom-healthcare-hero-copy > p:not(.custom-healthcare-kicker),
.itbs-inner-hero .infokolektor-hero-value,
.itbs-inner-hero .medalert-hero-value,
.itbs-inner-hero .medalert-hero-lead,
.itbs-inner-hero .pharmaflow-hero-value,
.itbs-inner-hero .pharmaflow-hero-lead,
.itbs-inner-hero .contact-hero-intro {
    margin-top: 0;
}

.itbs-inner-hero .breadcrumbs {
    font-size: 0.78rem;
    margin-bottom: 0.65rem;
}

.itbs-inner-hero .status-badge-hero {
    margin-bottom: 0.55rem;
}

.itbs-inner-hero .infokolektor-hero-meta .status-badge-hero,
.itbs-inner-hero .medalert-hero-meta .status-badge-hero,
.itbs-inner-hero .pharmaflow-hero-meta .status-badge-hero {
    margin-bottom: 0;
}

.itbs-inner-hero .button-row,
.itbs-inner-hero .contact-hero-actions,
.itbs-inner-hero .infokolektor-hero-actions {
    gap: 0.65rem;
    margin-top: 0.65rem;
}

.itbs-inner-hero .button {
    min-height: 2.75rem;
    padding-block: 0.45rem;
}

.itbs-inner-hero .infokolektor-hero-tags,
.itbs-inner-hero .medalert-hero-tags,
.itbs-inner-hero .pharmaflow-hero-tags {
    margin-block: 0.5rem 0;
}

.itbs-inner-hero .medalert-hero-availability,
.itbs-inner-hero .pharmaflow-hero-availability {
    margin-top: 0.45rem;
}

.itbs-inner-hero .article-detail-hero-content,
.itbs-inner-hero .news-detail-hero-content {
    justify-content: center;
}

.itbs-inner-hero .article-detail-hero-copy,
.itbs-inner-hero .news-detail-hero-copy,
.itbs-inner-hero .custom-healthcare-hero-copy,
.itbs-inner-hero .contact-hero-copy {
    margin-block: auto;
}

.itbs-inner-hero .infokolektor-hero-grid,
.itbs-inner-hero .medalert-hero-grid,
.itbs-inner-hero .pharmaflow-hero-grid,
.itbs-inner-hero .contact-hero-grid,
.itbs-inner-hero .product-hero-grid,
.itbs-inner-hero .eu-projects-hero-grid {
    gap: clamp(1.25rem, 3vw, 3rem);
}

.itbs-inner-hero .infokolektor-hero-visual,
.itbs-inner-hero .contact-hero-visual {
    height: 15.75rem;
    min-height: 0;
}

.itbs-inner-hero .medalert-hero-visual,
.itbs-inner-hero .pharmaflow-hero-visual {
    height: var(--itbs-inner-hero-height);
    margin-block: -0.65rem;
    min-height: 0;
}

.itbs-inner-hero .product-hero-media {
    max-height: 15.75rem;
    overflow: hidden;
}

.itbs-inner-hero .product-hero-media img {
    height: 15.75rem;
    object-fit: cover;
}

.itbs-inner-hero .product-symbol {
    max-width: 14rem;
}

.itbs-inner-hero .eu-projects-hero-mark {
    max-height: 15.75rem;
}

.product-hero-support {
    background: var(--concept-surface);
    border-bottom: 1px solid var(--concept-border);
}

.product-hero-support-grid {
    align-items: center;
    display: grid;
    gap: 0.8rem 1.5rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-block: 0.8rem;
}

.product-hero-support .medalert-hero-tags,
.product-hero-support .pharmaflow-hero-tags {
    margin: 0;
}

.product-hero-support .medalert-hero-tags li,
.product-hero-support .pharmaflow-hero-tags li {
    border-color: #a9cec6;
    color: var(--concept-ink);
}

.product-hero-support-actions {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
}

.product-hero-support-actions .button-row {
    gap: 0.55rem;
}

.product-hero-support-actions .button {
    min-height: 2.75rem;
    padding-block: 0.45rem;
}

.product-hero-support .medalert-hero-availability,
.product-hero-support .pharmaflow-hero-availability {
    color: var(--concept-muted);
    margin: 0.35rem 0 0;
    text-align: right;
}

.pharmaflow-hero-support .pharmaflow-hero-notice {
    border-bottom: 1px solid var(--concept-border);
    border-top: 1px solid var(--concept-border);
    color: var(--concept-muted);
}

.pharmaflow-hero-support .pharmaflow-hero-notice strong {
    color: var(--concept-green-dark);
}

@media (min-width: 52.01rem) and (max-width: 68rem) {
    .itbs-inner-hero.article-detail-hero > .container,
    .itbs-inner-hero.project-hero > .container {
        padding-block: 0.25rem;
    }
}

@media (max-width: 52rem) {
    :root {
        --itbs-inner-hero-height: 27rem;
    }

    .itbs-inner-hero.itbs-inner-hero,
    .itbs-inner-hero.itbs-inner-hero > .container {
        min-height: var(--itbs-inner-hero-height);
    }

    .itbs-inner-hero.itbs-inner-hero > .container {
        padding-block: 0.9rem;
    }

    .itbs-inner-hero .infokolektor-hero-grid,
    .itbs-inner-hero .medalert-hero-grid,
    .itbs-inner-hero .pharmaflow-hero-grid,
    .itbs-inner-hero .contact-hero-grid,
    .itbs-inner-hero .product-hero-grid {
        grid-template-columns: 1fr;
    }

    .itbs-inner-hero .infokolektor-hero-visual,
    .itbs-inner-hero .medalert-hero-visual,
    .itbs-inner-hero .pharmaflow-hero-visual,
    .itbs-inner-hero .contact-hero-visual,
    .itbs-inner-hero .product-hero-media,
    .itbs-inner-hero .product-symbol {
        display: none;
    }

    .itbs-inner-hero .about-hero-copy,
    .itbs-inner-hero .article-detail-hero-copy,
    .itbs-inner-hero .custom-healthcare-hero-copy,
    .itbs-inner-hero .contact-hero-copy,
    .itbs-inner-hero .infokolektor-hero-copy,
    .itbs-inner-hero .medalert-hero-copy,
    .itbs-inner-hero .pharmaflow-hero-copy {
        max-width: 48rem;
        width: 100%;
    }
}

@media (max-width: 35rem) {
    .itbs-inner-hero.itbs-inner-hero h1 {
        font-size: 1.85rem;
    }

    .itbs-inner-hero .button-row,
    .itbs-inner-hero .contact-hero-actions,
    .itbs-inner-hero .infokolektor-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .itbs-inner-hero .button {
        justify-content: center;
        width: 100%;
    }

    .product-hero-support-grid {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .product-hero-support-actions {
        align-items: stretch;
    }

    .product-hero-support-actions .button-row {
        align-items: stretch;
        flex-direction: column;
    }

    .product-hero-support-actions .button {
        justify-content: center;
        width: 100%;
    }

    .product-hero-support .medalert-hero-availability,
    .product-hero-support .pharmaflow-hero-availability {
        text-align: left;
    }
}

/* Finalne nadpisania tokenów po deklaracjach komponentów. */
.concept-product-card,
.home-news-card,
.article-card,
.project-card,
.contact-topic-card,
.contact-company-panel {
    border-radius: var(--itbs-radius-sm);
    box-shadow: var(--itbs-elevation-1);
}

.concept-product-card:hover,
.home-news-card:hover,
.article-card:hover,
.project-card:hover {
    box-shadow: var(--itbs-elevation-2);
}

.product-grid:not(.concept-product-grid) .concept-product-visual {
    aspect-ratio: 5 / 3;
}

.product-grid:not(.concept-product-grid) .concept-product-visual img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.home-news-card-content > .compact-link {
    margin-top: auto;
}

@media (max-width: 64rem) {
    .infokolektor-page-nav .container {
        display: grid;
        gap: 0.6rem;
        overflow: visible;
        padding-block: 0.85rem;
        padding-inline-end: 1.25rem;
    }

    .infokolektor-page-nav .container > span {
        display: block;
    }

    .infokolektor-page-nav ul {
        display: grid;
        flex: initial;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .infokolektor-page-nav a {
        line-height: 1.35;
        white-space: normal;
        width: 100%;
    }
}

@media (max-width: 35rem) {
    .infokolektor-page-nav ul,
    .about-tabs-list,
    .article-toc ol,
    .custom-healthcare-nav ol,
    .pharmaflow-nav ul {
        columns: 1;
        display: grid;
        grid-template-columns: 1fr;
    }
}
