
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,300..900;1,300..900&display=swap');

:root {
    --red: #b7352e;
    --red-dark: #8f241f;
    --black: #111111;
    --white: #ffffff;
    --soft: #f3f3f1;
    --line: #d9d9d5;
    --muted: #696966;
    --container: 1480px;
    --header-height: 66px;
    --anchor-offset: calc(var(--header-height) + 6px);
    color: var(--black);
    background: var(--white);
    font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

[id] {
    scroll-margin-top: var(--anchor-offset);
}

body {
    margin: 0;
    overflow-x: hidden;
    background: var(--white);
}

body.menu-open {
    overflow: hidden;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #f0ba25;
    outline-offset: 3px;
}

.shell {
    width: min(calc(100% - 48px), var(--container));
    margin-inline: auto;
}

.skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    transform: translateY(-150%);
    padding: 10px 16px;
    color: var(--white);
    background: var(--black);
}

.skip-link:focus {
    transform: translateY(0);
}

.brand-bar {
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.site-header {
    min-height: calc(120px + var(--header-height));
}

.brand img {
    width: 220px;
    height: auto;
}

.header-tools {
    display: flex;
    align-items: center;
    gap: 38px;
}

.language-nav {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 1.1rem;
    font-weight: 700;
}

.language-label {
    margin-right: 4px;
    color: var(--muted);
    font-weight: 400;
}

.language-nav a {
    padding-block: 6px;
    border-bottom: 2px solid transparent;
}

.language-nav a:hover,
.language-nav .is-current {
    color: var(--red);
    border-color: var(--red);
}

.social-list {
    display: flex;
    gap: 9px;
}

.social-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid var(--black);
    color: var(--black);
    background: var(--white);
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: color 180ms ease, border-color 180ms ease;
}

.social-icon:hover {
    border-color: var(--red);
    color: var(--red);
}

.social-youtube {
    font-size: 16px;
}

.social-instagram {
    font-size: 18px;
}

.nav-wrap {
    position: relative;
    z-index: 100;
    color: var(--white);
    background: var(--black);
}

body.nav-stuck .nav-wrap {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

.nav-shell {
    position: relative;
    min-height: var(--header-height);
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.sticky-brand,
.sticky-socials {
    position: absolute;
    top: 50%;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(-50% - 8px));
    transition: opacity 180ms ease, transform 180ms ease;
}

.sticky-brand {
    left: 0;
}

.sticky-brand img {
    width: 120px;
    height: auto;
}

.sticky-socials {
    right: 0;
    gap: 20px;
}

.sticky-socials a {
    display: grid;
    place-items: center;
    color: var(--white);
    font-size: 1.14rem;
    transition: color 180ms ease, transform 180ms ease;
}

.sticky-socials a:hover {
    color: #ef5a50;
    transform: translateY(-2px);
}

body.nav-stuck .sticky-brand,
body.nav-stuck .sticky-socials {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(-50%);
}

.primary-nav > ul {
    height: 100%;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav-item {
    position: relative;
    display: flex;
}

.nav-item > a,
.nav-item > button {
    min-height: var(--header-height);
    display: flex;
    align-items: center;
    gap: 12px;
    border: 0;
    padding: 0 30px;
    color: var(--white);
    background: transparent;
    font-size: 1.25rem;
    font-weight: 700;
    cursor: pointer;
}

.nav-chevron {
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform 180ms ease;
}

.nav-item.is-open .nav-chevron {
    transform: translateY(2px) rotate(225deg);
}

.nav-item > a:hover,
.nav-item > button:hover,
.nav-item.is-open > button {
    background: var(--red);
}

.submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    width: max-content;
    max-width: min(1100px, calc(100vw - 48px));
    display: flex;
    align-items: stretch;
    border-top: 4px solid var(--red);
    background: var(--white);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 8px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.submenu-wide {
    width: max-content;
}

.nav-item.is-open .submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.submenu a {
    display: flex;
    align-items: center;
    padding: 17px 22px;
    border-right: 1px solid var(--line);
    color: var(--black);
    font-size: 1rem;
    font-weight: 700;
    white-space: nowrap;
}

.submenu a:last-child {
    border-right: 0;
}

.submenu a:hover {
    color: var(--red);
    background: var(--soft);
}

@media (min-width: 992px) {
    .nav-item {
        position: static;
    }

    .submenu,
    .submenu-wide {
        width: max-content;
        max-width: 100%;
    }

    .submenu a {
        min-width: 0;
        flex: 0 1 auto;
        justify-content: center;
        text-align: center;
        white-space: normal;
    }
}

.menu-toggle {
    display: none;
    align-items: center;
    gap: 12px;
    border: 0;
    padding: 0;
    color: var(--white);
    background: transparent;
    font-weight: 700;
}

.menu-toggle-lines,
.menu-toggle-lines::before,
.menu-toggle-lines::after {
    width: 24px;
    height: 2px;
    display: block;
    background: currentColor;
    content: "";
}

.menu-toggle-lines {
    position: relative;
}

.menu-toggle-lines::before {
    position: absolute;
    top: -7px;
}

.menu-toggle-lines::after {
    position: absolute;
    top: 7px;
}

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

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

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

.hero {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(290px, 1fr);
    min-height: 650px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.slider {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    background: #2b2b2b;
}

.slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 450ms ease;
}

.slide.is-active {
    opacity: 1;
    visibility: visible;
}

.slide > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slide-shade {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.47);
}

.slide-content {
    position: absolute;
    z-index: 2;
    left: clamp(28px, 6vw, 90px);
    bottom: clamp(70px, 9vw, 120px);
    max-width: 720px;
    color: var(--white);
}

.eyebrow {
    margin: 0 0 13px;
    color: var(--red);
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
}

.slide-content .eyebrow {
    color: var(--white);
}

.slide-content h1,
.slide-content h2 {
    max-width: 670px;
    margin: 0;
    font-size: clamp(2.75rem, 5vw, 5.25rem);
    line-height: 0.98;
    letter-spacing: 0;
}

.slide-content > p:not(.eyebrow) {
    max-width: 590px;
    margin: 24px 0 30px;
    font-size: clamp(1rem, 1.7vw, 1.25rem);
}

.button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid currentColor;
    padding: 10px 20px;
    font-size: 0.88rem;
    font-weight: 700;
}

.button-light {
    color: var(--black);
    border-color: var(--white);
    background: var(--white);
}

.button-light:hover {
    color: var(--white);
    background: transparent;
}

.button-dark {
    color: var(--white);
    border-color: var(--black);
    background: var(--black);
}

.button-dark:hover {
    color: var(--black);
    background: transparent;
}

.slider-controls {
    position: absolute;
    z-index: 3;
    right: 18px;
    bottom: 18px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.slider-arrow,
.calendar-arrow {
    width: 44px;
    height: 44px;
    border: 1px solid currentColor;
    color: inherit;
    background: transparent;
    cursor: pointer;
}

.slider-arrow:hover {
    color: var(--black);
    background: var(--white);
}

.slider-dots {
    display: flex;
    gap: 8px;
}

.slider-dots button {
    position: relative;
    width: 35px;
    height: 12px;
    overflow: hidden;
    border: 0;
    padding: 0;
    background: rgba(255, 255, 255, 0.45);
    cursor: pointer;
}

.slider-dots button.is-active::after {
    position: absolute;
    inset: 0;
    background: var(--white);
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    animation: slider-progress 7500ms linear forwards;
}

.slider.is-paused .slider-dots button.is-active::after {
    animation-play-state: paused;
}

@keyframes slider-progress {
    to {
        transform: scaleX(1);
    }
}

.tax-panel {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    color: var(--white);
    background: linear-gradient(145deg, #f55445 0%, var(--red) 48%, #8d1d17 100%);
}

.support-panel-block {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(30px, 3.2vw, 52px) clamp(28px, 3.5vw, 58px);
}

.support-panel-block + .support-panel-block {
    border-top: 1px solid rgba(255, 255, 255, 0.46);
}

.tax-panel .eyebrow {
    color: var(--white);
}

.tax-panel h2 {
    margin: 0 0 16px;
    font-size: clamp(1.55rem, 2vw, 2.25rem);
    line-height: 1.08;
}

.support-panel-block > p:not(.eyebrow, .krs) {
    margin: 0 0 22px;
    line-height: 1.5;
}

.tax-logo {
    width: min(100px, 100%);
    max-width: 100px;
    height: auto;
    margin-bottom: 24px;
}

.krs {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.krs span {
    display: block;
    font-size: 0.7rem;
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--red);
    font-size: 1.2rem;
    font-weight: 700;
    transition: color 180ms ease;
}

.tax-panel .text-link,
.text-link-light {
    color: var(--white);
}

.text-link:hover,
.tax-panel .text-link:hover,
.text-link-light:hover {
    color: var(--black);
}

.text-link span,
.feature-card a span,
.compact-card a span,
.support-links span {
    font-size: 1.25rem;
}

.calendar-band {
    padding: 30px 0;
    border-bottom: 1px solid var(--line);
}

.calendar-layout {
    display: grid;
    grid-template-columns: 190px 44px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 20px;
}

.calendar-intro h2 {
    margin: 0;
    font-size: 1.85rem;
}

.calendar-intro .eyebrow {
    font-size: 1rem;
}

.calendar-arrow:hover {
    color: var(--white);
    background: var(--black);
}

.calendar-arrow:disabled {
    opacity: 0.35;
    color: var(--black);
    background: transparent;
    cursor: not-allowed;
}

.calendar-days {
    --calendar-day-min-width: 118px;
    --calendar-day-width: var(--calendar-day-min-width);
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: var(--calendar-day-width);
    gap: 8px;
    overflow-x: auto;
    visibility: hidden;
    scroll-behavior: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.calendar-days.is-ready {
    visibility: visible;
    scroll-behavior: smooth;
}

.calendar-days.is-layouting {
    scroll-behavior: auto;
}

.calendar-days::-webkit-scrollbar {
    display: none;
}

.calendar-days > a:not(.calendar-range-link) {
    height: 90px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid var(--line);
    padding: 8px 10px;
    color: var(--black);
    background: var(--white);
    text-align: left;
    cursor: pointer;
    scroll-snap-align: start;
    text-decoration: none;
}

.calendar-range-link {
    height: 90px;
    grid-column: span 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid var(--line);
    padding: 10px 16px;
    color: var(--black);
    background: var(--soft);
    font-size: 0.92rem;
    line-height: 1.25;
    scroll-snap-align: start;
    transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.calendar-range-link:hover {
    border-color: var(--black);
    color: var(--white);
    background: var(--black);
}

.calendar-range-link span {
    flex: 0 0 auto;
    font-size: 1.2rem;
}

.calendar-days > a:not(.calendar-range-link):hover,
.calendar-days > a.is-today {
    border-color: var(--red);
}

.calendar-days > a.is-today {
    color: var(--white);
    background: linear-gradient(145deg, #f55445 0%, var(--red) 48%, #8d1d17 100%);
}

.calendar-days span {
    font-size: 0.72rem;
    text-transform: uppercase;
}

.calendar-days strong {
    margin-top: 1px;
    font-size: 1.55rem;
    line-height: 1;
}

.calendar-days i {
    margin-top: auto;
    font-size: 0.62rem;
    font-style: normal;
    font-weight: 700;
}

.home-foundation-intro {
    padding-block: clamp(36px, 4vw, 52px);
    border-bottom: 1px solid #e5e2df;
    background: #fbfbfb;
}

.home-foundation-intro-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: clamp(42px, 5vw, 72px);
}

.home-foundation-intro h1 {
    max-width: none;
    margin: 10px 0 0;
    font-size: clamp(2.1rem, 3vw, 2.65rem);
    line-height: 1.06;
}

.home-foundation-intro-copy {
    padding-left: clamp(26px, 3vw, 42px);
    border-left: 3px solid rgba(180, 61, 52, 0.42);
}

.home-foundation-intro-copy p {
    max-width: none;
    margin: 0;
    color: var(--muted);
    font-size: clamp(1.05rem, 1.25vw, 1.16rem);
    line-height: 1.65;
}

.home-foundation-intro-copy .text-link {
    margin-top: 24px;
}

@media (min-width: 1200px) {
    .home-foundation-intro h1 {
        white-space: nowrap;
    }
}

@media (max-width: 767px) {
    .home-foundation-intro-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .home-foundation-intro-copy {
        padding-top: 22px;
        padding-left: 0;
        border-top: 2px solid rgba(180, 61, 52, 0.35);
        border-left: 0;
    }
}

.section {
    padding: clamp(72px, 8vw, 126px) 0;
}

.section-dark {
    color: var(--white);
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 42%, #6e0300 100%);
}

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

.breadcrumbs {
    margin-bottom: 30px;
    font-size: 0.9rem;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumbs li {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.breadcrumbs li:not(:last-child)::after {
    color: rgba(255, 255, 255, 0.4);
    content: "/";
}

.breadcrumbs a {
    color: rgba(255, 255, 255, 0.78);
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 4px;
    transition: color 180ms ease, text-decoration-color 180ms ease;
}

.breadcrumbs a:hover {
    color: var(--white);
    text-decoration-color: currentColor;
}

.breadcrumbs [aria-current="page"] {
    color: rgba(255, 255, 255, 0.58);
}

.partners-hero {
    position: relative;
    overflow: hidden;
    color: var(--white);
    background: linear-gradient(135deg, #160d0c 0%, #3d100e 56%, #6e0300 100%);
}

.partners-hero::before {
    content: none;
}

.partners-hero::after {
    position: absolute;
    top: 50%;
    right: 3%;
    width: min(36vw, 520px);
    aspect-ratio: 1;
    background: url("/grafika/svg/logo_fwg_grafika_kontur.svg") center / contain no-repeat;
    content: "";
    opacity: 0.12;
    transform: translateY(-50%) rotate(-4deg);
}

.partners-hero-layout {
    position: relative;
    z-index: 1;
    min-height: 480px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(50px, 9vw, 150px);
    padding-block: clamp(45px, 5.6vw, 84px);
}

.partners-hero .eyebrow,
.partners-invite .eyebrow {
    color: #f17b73;
    font-size: 1.3rem;
}

.partners-section .eyebrow {
    color: var(--red);
    font-size: 1.3rem;
}

.partners-hero h1 {
    margin: 12px 0 28px;
    font-size: 7.5rem;
    line-height: 0.86;
}

.partners-lead {
    max-width: 820px;
    margin: 0;
    font-size: clamp(1.15rem, 1.7vw, 1.55rem);
    line-height: 1.55;
}

.partners-year {
    min-width: 250px;
    padding-left: clamp(30px, 4vw, 68px);
    border-left: 1px solid rgba(255, 255, 255, 0.3);
}

.partners-year span,
.partners-year i {
    display: block;
    font-size: 0.9rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.partners-year strong {
    display: block;
    margin-block: 5px;
    color: #f17b73;
    font-size: clamp(4.6rem, 7vw, 7.4rem);
    line-height: 1;
}

.partners-section {
    padding-block: clamp(40px, 4.5vw, 70px);
    background: var(--soft);
}

.partners-heading .eyebrow {
    font-size: 1.3rem;
}

.partners-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 520px);
    align-items: end;
    gap: 50px;
    margin-bottom: clamp(42px, 6vw, 72px);
}

.partners-heading h2,
.partners-invite h2 {
    margin: 10px 0 0;
    font-size: 4rem;
    line-height: 0.98;
}

.partners-heading > p {
    margin: 0;
    color: var(--muted);
    font-size: 1.15rem;
    line-height: 1.6;
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.partner-card {
    position: relative;
    min-height: 570px;
    display: grid;
    grid-template-rows: 300px 1fr;
    border: 1px solid var(--line);
    background: var(--white);
}

.partner-card-featured {
    border-color: #c9aaa7;
}

.partner-card-label {
    position: absolute;
    z-index: 1;
    top: 24px;
    left: 24px;
    padding: 9px 13px;
    color: var(--white);
    background: var(--red);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.partner-logo {
    display: grid;
    place-items: center;
    padding: 55px clamp(35px, 6vw, 90px) 35px;
    border-bottom: 1px solid var(--line);
    background: radial-gradient(circle at center, #fff 0%, #fff 36%, #f7f7f4 72%, #e8e8e4 100%);
}

.partner-logo img {
    width: 100%;
    height: 170px;
    object-fit: contain;
}

.partner-card-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(30px, 4vw, 48px);
}

.partner-card-content h3 {
    margin: 0 0 14px;
    font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.partner-card-content p {
    max-width: 580px;
    margin: 0 0 30px;
    color: var(--muted);
    font-size: 1.08rem;
    line-height: 1.6;
}

.partner-link {
    display: inline-flex;
    gap: 10px;
    margin-top: auto;
    color: var(--red);
    font-size: 1.3rem;
    font-weight: 800;
    transition: color 180ms ease;
}

.partner-link:hover {
    color: var(--black);
}

.partners-invite {
    padding: clamp(42px, 5vw, 74px) 0;
    color: var(--white);
    background: var(--black);
}

.partners-invite-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    align-items: center;
    gap: clamp(50px, 9vw, 150px);
}

.partners-invite h2 {
    max-width: 850px;
}

.partners-invite-layout > div > p:last-child {
    max-width: 760px;
    margin: 28px 0 0;
    color: #c9c9c4;
    font-size: 1.15rem;
    line-height: 1.65;
}

.partners-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(30px, 4vw, 52px);
    border-left: 4px solid var(--red);
    background: #1c1c1c;
    font-style: normal;
}

.partners-contact span {
    margin-bottom: 22px;
    color: #f17b73;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.partners-contact strong {
    font-size: 1.55rem;
}

.partners-contact p {
    margin: 8px 0 25px;
    color: #adada8;
    font-style: italic;
    line-height: 1.5;
}

.partners-contact a {
    color: var(--white);
    font-weight: 700;
    line-height: 1.8;
    transition: color 180ms ease;
}

.partners-contact a:hover {
    color: #f17b73;
}

.support-overview-hero {
    position: relative;
    overflow: hidden;
    color: var(--white);
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #3f0c09 100%);
}

.support-overview-hero::after {
    position: absolute;
    top: 50%;
    right: 3%;
    width: min(38vw, 540px);
    aspect-ratio: 1;
    background: url("/grafika/svg/logo_fwg_grafika_kontur.svg") center / contain no-repeat;
    content: "";
    opacity: 0.1;
    transform: translateY(-50%) rotate(5deg);
}

.support-overview-hero-layout {
    position: relative;
    z-index: 1;
    min-height: 470px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: clamp(50px, 8vw, 130px);
    padding-block: clamp(55px, 6vw, 90px);
}

.support-overview-hero .eyebrow,
.support-overview-section .eyebrow {
    font-size: 1.3rem;
}

.support-overview-hero .eyebrow {
    color: #f17b73;
}

.support-overview-hero h1 {
    max-width: 980px;
    margin: 12px 0 28px;
    font-size: clamp(4.5rem, 8vw, 7.5rem);
    line-height: 0.9;
}

.support-overview-lead {
    max-width: 850px;
    margin: 0;
    font-size: clamp(1.15rem, 1.7vw, 1.5rem);
    line-height: 1.55;
}

.support-overview-section {
    padding-block: clamp(48px, 5.5vw, 86px);
    background: var(--white);
}

.support-overview-heading {
    max-width: 950px;
    margin-bottom: clamp(40px, 5vw, 70px);
}

.support-overview-heading .eyebrow {
    color: var(--red);
}

.support-overview-heading h2 {
    margin: 10px 0 0;
    font-size: clamp(2.8rem, 5vw, 4.5rem);
    line-height: 0.98;
}

.support-options-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.support-option {
    min-height: 440px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(24px, 3vw, 44px);
    padding: clamp(34px, 4.5vw, 62px);
    border: 1px solid var(--line);
    background: linear-gradient(145deg, #ffffff 0%, #f7f7f4 48%, #e8e8e4 100%);
    transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.support-option:hover {
    border-color: #c9aaa7;
    box-shadow: 0 18px 46px rgba(37, 14, 12, 0.09);
    transform: translateY(-4px);
}

.support-option-primary {
    color: var(--white);
    border-color: var(--red);
    background: linear-gradient(145deg, #f55445 0%, var(--red) 48%, #8d1d17 100%);
}

.support-option-number {
    color: var(--red);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.support-option-primary .support-option-number,
.support-option-primary .support-option-kicker {
    color: rgba(255, 255, 255, 0.78);
}

.support-option > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.support-option-kicker {
    margin: 0 0 14px;
    color: var(--red);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.support-option h3 {
    max-width: 620px;
    margin: 0 0 24px;
    font-size: clamp(2rem, 3.5vw, 3.5rem);
    line-height: 1;
}

.support-option p:not(.support-option-kicker) {
    max-width: 590px;
    margin: 0 0 30px;
    color: var(--muted);
    font-size: 1.1rem;
    line-height: 1.6;
}

.support-option-primary p:not(.support-option-kicker) {
    color: rgba(255, 255, 255, 0.88);
}

.support-option strong {
    margin: -8px 0 26px;
    color: var(--red);
    font-size: 1.25rem;
    letter-spacing: 0.04em;
}

.support-option a {
    display: inline-flex;
    gap: 10px;
    margin-top: auto;
    color: var(--red);
    font-size: 1.3rem;
    font-weight: 800;
    transition: color 180ms ease;
}

.support-option a:hover {
    color: var(--black);
}

.support-option-primary a {
    color: var(--white);
}

.support-option-primary a:hover {
    color: var(--black);
}

.support-option-rental {
    background: linear-gradient(145deg, #ffffff 0%, #f5f2ef 48%, #dfd8d2 100%);
}

.support-option-idea {
    background: linear-gradient(145deg, #ffffff 0%, #f4f1ee 52%, #e7deda 100%);
}

.support-option-community {
    grid-column: 1 / -1;
    min-height: 300px;
    color: #111;
    background: linear-gradient(145deg, #e8e8e4 0%, #f7f7f4 48%, #ffffff 100%);
}

.support-option-community .support-option-number,
.support-option-community .support-option-kicker {
    color: var(--red);
}

.support-option-community h3 {
    max-width: 1050px;
}

.support-option-community p:not(.support-option-kicker) {
    max-width: none;
    margin-bottom: 0;
    color: var(--muted);
}

.language-hero {
    position: relative;
    overflow: hidden;
    color: var(--white);
    background: linear-gradient(140deg, #160d0c 0%, #3f0b09 55%, #6e0300 100%);
}

.language-hero::after {
    position: absolute;
    top: 50%;
    right: 2%;
    width: min(38vw, 540px);
    aspect-ratio: 1;
    background: url("/grafika/svg/logo_fwg_grafika_kontur.svg") center / contain no-repeat;
    content: "";
    opacity: 0.1;
    transform: translateY(-50%) rotate(-5deg);
}

.language-hero-layout {
    position: relative;
    z-index: 1;
    min-height: 500px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: clamp(50px, 8vw, 130px);
    padding-block: clamp(55px, 6vw, 92px);
}

.language-hero .eyebrow,
.language-about .eyebrow,
.language-cooperation .eyebrow {
    font-size: 1.15rem;
}

.language-hero .eyebrow,
.language-cooperation .eyebrow {
    color: #f17b73;
}

.language-hero h1 {
    max-width: 1040px;
    margin: 12px 0 28px;
    font-size: clamp(4rem, 7vw, 7rem);
    line-height: 0.92;
}

.language-lead {
    max-width: 850px;
    margin: 0;
    font-size: clamp(1.15rem, 1.7vw, 1.5rem);
    line-height: 1.6;
}

.language-about {
    padding-block: clamp(55px, 6vw, 95px);
    background: var(--white);
}

.language-about-grid {
    display: grid;
    grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(50px, 9vw, 150px);
}

.language-about .eyebrow {
    color: var(--red);
}

.language-intro h2,
.language-cooperation h2 {
    margin: 10px 0 0;
    font-size: 3.5rem;
    line-height: 1;
}

.language-copy {
    max-width: 760px;
}

.language-copy p {
    margin: 0;
    color: #3e3e3b;
    font-size: 1.18rem;
    line-height: 1.75;
}

.language-copy p + p {
    margin-top: 25px;
}

.language-highlights {
    padding-block: clamp(55px, 6vw, 95px);
    color: var(--white);
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 42%, #6e0300 100%);
}

.language-highlights-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.language-highlights article {
    min-height: 390px;
    display: flex;
    flex-direction: column;
    padding: clamp(32px, 4vw, 58px);
    border: 1px solid rgba(255, 255, 255, 0.22);
}

.language-highlights article + article {
    border-left: 0;
}

.language-highlights span {
    color: #f17b73;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.language-highlights h2 {
    margin: auto 0 22px;
    font-size: clamp(1.8rem, 2.8vw, 3rem);
    line-height: 1.05;
}

.language-highlights p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.05rem;
    line-height: 1.65;
}

.language-history-preview {
    padding-block: clamp(58px, 7vw, 92px);
    background: #fbfbfb;
}

.language-history-preview-layout {
    display: grid;
    grid-template-columns: minmax(250px, 0.65fr) minmax(0, 1.35fr);
    align-items: center;
    gap: clamp(50px, 8vw, 120px);
}

.language-history-years {
    display: grid;
    grid-template-columns: auto minmax(65px, 1fr) auto;
    align-items: center;
    gap: 18px;
    color: var(--red);
    font-size: clamp(1.55rem, 2.4vw, 2.35rem);
    font-weight: 900;
}

.language-history-years i {
    position: relative;
    height: 1px;
    background: #c9c5c2;
}

.language-history-years i::before,
.language-history-years i::after {
    position: absolute;
    top: 50%;
    width: 11px;
    height: 11px;
    border: 2px solid var(--red);
    background: #fbfbfb;
    transform: translateY(-50%) rotate(45deg);
    content: '';
}

.language-history-years i::before { left: 0; }
.language-history-years i::after { right: 0; }
.language-history-preview .eyebrow { color: var(--red); font-size: 1.15rem; }
.language-history-preview h2 { max-width: none; margin: 10px 0 20px; font-size: clamp(2rem, 3vw, 2.75rem); line-height: 1.08; }
.language-history-preview div > p:not(.eyebrow):not(.language-history-note) { max-width: 850px; margin: 0 0 27px; color: #514c49; font-size: 1.14rem; line-height: 1.72; }
.language-history-link { display: inline-flex; align-items: center; gap: 12px; padding-bottom: 6px; border-bottom: 2px solid var(--red); color: var(--red); font-size: 1.16rem; font-weight: 800; }
.language-history-link:hover, .language-history-link:focus-visible { border-color: #111; color: #111; }
.language-history-note { max-width: 760px; margin: 25px 0 0; padding-left: 17px; border-left: 2px solid #d7d4d1; color: #706967; font-size: 0.94rem; line-height: 1.6; }

.language-cooperation {
    padding-block: clamp(55px, 6vw, 95px);
    background: var(--white);
}

.language-cooperation .eyebrow {
    color: var(--red);
}

.language-cooperation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(310px, 0.8fr);
    align-items: center;
    gap: clamp(50px, 9vw, 150px);
}

.language-cooperation-layout > div > p:last-child {
    max-width: 760px;
    margin: 26px 0 0;
    color: var(--muted);
    font-size: 1.12rem;
    line-height: 1.65;
}

.language-cooperation address {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(30px, 4vw, 50px);
    border-left: 4px solid var(--red);
    background: linear-gradient(145deg, #ffffff 0%, #f7f7f4 48%, #e8e8e4 100%);
    font-style: normal;
}

.language-cooperation address span {
    margin-bottom: 20px;
    color: var(--red);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.language-cooperation address strong {
    margin-bottom: 16px;
    font-size: 1.45rem;
}

.language-cooperation address a {
    color: var(--black);
    font-weight: 700;
    line-height: 1.8;
    transition: color 180ms ease;
}

.language-cooperation address a:hover {
    color: var(--red);
}

.rental-hero {
    position: relative;
    overflow: hidden;
    color: var(--white);
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 72%, #2d1110 100%);
}

.rental-hero::after {
    position: absolute;
    top: 50%;
    right: 3%;
    width: min(38vw, 540px);
    aspect-ratio: 1;
    background: url("/grafika/svg/logo_fwg_grafika_kontur.svg") center / contain no-repeat;
    content: "";
    opacity: 0.1;
    transform: translateY(-50%) rotate(-4deg);
}

.rental-hero-layout {
    position: relative;
    z-index: 1;
    min-height: 560px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: clamp(45px, 6vw, 95px);
}

.rental-hero-copy {
    align-self: center;
    padding-block: clamp(55px, 6vw, 90px);
}

.rental-hero .eyebrow,
.rental-extras .eyebrow {
    color: #f17b73;
    font-size: 1.15rem;
}

.rental-hero h1 {
    max-width: 900px;
    margin: 12px 0 28px;
    font-size: 5.5rem;
    line-height: 0.92;
}

.rental-hero-copy > p:not(.eyebrow) {
    max-width: 730px;
    margin: 0 0 34px;
    font-size: clamp(1.1rem, 1.6vw, 1.4rem);
    line-height: 1.6;
}

.rental-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.rental-button-outline {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.65);
    background: transparent;
}

.rental-button-outline:hover {
    color: var(--black);
    border-color: var(--white);
    background: var(--white);
}

.rental-intro {
    padding-block: clamp(52px, 5.5vw, 86px);
}

.rental-intro-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(50px, 9vw, 150px);
}

.rental-intro .eyebrow,
.rental-workshops .eyebrow,
.rental-booking .eyebrow {
    color: var(--red);
    font-size: 1.1rem;
}

.rental-intro h2,
.rental-section-heading h2,
.rental-booking h2 {
    margin: 10px 0 0;
    font-size: 3.2rem;
    line-height: 1;
}

.rental-intro-layout > div:last-child p {
    margin: 0;
    color: #41413e;
    font-size: 1.16rem;
    line-height: 1.75;
}

.rental-intro-layout > div:last-child p + p {
    margin-top: 22px;
}

.rental-room-featured {
    color: var(--white);
    background: #171312;
}

.rental-room-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
    align-items: stretch;
}

.rental-room-image {
    min-height: 650px;
    overflow: hidden;
}

.rental-room-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rental-room-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(45px, 6vw, 90px);
}

.rental-room-copy .eyebrow {
    color: #f17b73;
    font-size: 1rem;
}

.rental-room-copy h2 {
    margin: 10px 0 12px;
    font-size: clamp(2.8rem, 4.5vw, 4.6rem);
    line-height: 0.98;
}

.rental-room-size {
    margin: 0 0 26px;
    color: #f17b73;
    font-size: 1.35rem;
    font-weight: 800;
}

.rental-room-copy > p:not(.eyebrow, .rental-room-size) {
    margin: 0 0 32px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.05rem;
    line-height: 1.65;
}

.rental-capacity {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: 32px;
    background: rgba(255, 255, 255, 0.15);
}

.rental-capacity span {
    display: flex;
    flex-direction: column;
    padding: 14px;
    background: #211d1c;
    font-size: 0.78rem;
}

.rental-capacity strong {
    color: var(--white);
    font-size: 1.5rem;
}

.rental-price {
    display: flex;
    flex-direction: column;
    padding-left: 20px;
    border-left: 3px solid var(--red);
}

.rental-price span,
.rental-price small {
    color: rgba(255, 255, 255, 0.62);
}

.rental-price strong {
    margin-block: 3px;
    font-size: 1.55rem;
}

.rental-price small {
    max-width: 480px;
    line-height: 1.45;
}

.rental-workshops {
    padding-block: clamp(52px, 5.5vw, 86px);
    background: var(--white);
}

.rental-section-heading {
    max-width: 950px;
    margin-bottom: clamp(38px, 5vw, 64px);
}

.rental-workshops-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.rental-workshop-card {
    display: grid;
    grid-template-rows: 340px 1fr;
    border: 1px solid var(--line);
    background: linear-gradient(145deg, #ffffff 0%, #f7f7f4 48%, #e8e8e4 100%);
}

.rental-workshop-card > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rental-workshop-card > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(30px, 4vw, 48px);
}

.rental-workshop-card h3 {
    margin: 8px 0 18px;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1.05;
}

.rental-workshop-card p:not(.eyebrow) {
    margin: 0 0 22px;
    color: var(--muted);
    font-size: 1.04rem;
    line-height: 1.6;
}

.rental-workshop-card ul {
    margin: 0 0 28px;
    padding-left: 20px;
    color: #454542;
    line-height: 1.7;
}

.rental-workshop-card strong {
    margin-top: auto;
    color: var(--red);
    font-size: 1.25rem;
}

.rental-price-note {
    max-width: none;
    margin: 28px 0 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.6;
}

.rental-extras {
    padding-block: clamp(52px, 5.5vw, 86px);
    color: var(--white);
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 44%, #6e0300 100%);
}

.rental-section-heading-light h2 {
    max-width: 760px;
}

.rental-extras-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rental-extras article {
    min-height: 300px;
    padding: clamp(30px, 4vw, 50px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.rental-extras article + article {
    border-left: 0;
}

.rental-extras article span {
    color: #f17b73;
    font-size: 0.85rem;
    font-weight: 800;
}

.rental-extras article h3 {
    margin: 65px 0 18px;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.rental-extras article p {
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    line-height: 1.65;
}

.rental-booking {
    padding-block: clamp(52px, 5.5vw, 86px);
    background: var(--white);
}

.rental-booking-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.8fr);
    align-items: center;
    gap: clamp(50px, 9vw, 150px);
}

.rental-booking-layout > div > p:last-child {
    max-width: 780px;
    margin: 26px 0 0;
    color: var(--muted);
    font-size: 1.1rem;
    line-height: 1.65;
}

.rental-form-toggle {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
    padding: 0 0 8px;
    border: 0;
    border-bottom: 2px solid var(--red);
    color: var(--black);
    background: transparent;
    font: inherit;
    font-size: 1.15rem;
    font-weight: 800;
    cursor: pointer;
}

.rental-form-toggle span {
    color: var(--red);
    font-size: 1.35rem;
    transition: transform 180ms ease;
}

.rental-form-toggle[aria-expanded="true"] span {
    transform: rotate(180deg);
}

.rental-booking address {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(30px, 4vw, 50px);
    border-left: 4px solid var(--red);
    background: linear-gradient(145deg, #ffffff 0%, #f7f7f4 48%, #e8e8e4 100%);
    font-style: normal;
}

.rental-booking address span {
    margin-bottom: 18px;
    color: var(--red);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.rental-booking address strong {
    margin-bottom: 14px;
    font-size: 1.55rem;
}

.rental-booking address .rental-contact-role {
    margin: -5px 0 20px;
    color: var(--muted);
    font-style: italic;
    line-height: 1.5;
}

.rental-booking address a {
    color: var(--black);
    font-weight: 700;
    line-height: 1.8;
    transition: color 180ms ease;
}

.rental-booking address a:hover {
    color: var(--red);
}

.rental-booking address p {
    margin: 22px 0 0;
    color: var(--muted);
    line-height: 1.55;
}

.rental-form-section[hidden] {
    display: none;
}

.rental-form-section {
    padding-block: clamp(55px, 6vw, 96px);
    border-top: 1px solid var(--line);
    background: #fbfbfb;
}

.rental-form-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: clamp(50px, 8vw, 130px);
}

.rental-form-intro {
    position: sticky;
    top: calc(var(--header-height) + 40px);
}

.rental-form-intro .eyebrow {
    color: var(--red);
    font-size: 1.1rem;
}

.rental-form-intro h2 {
    margin: 10px 0 24px;
    font-size: 3.2rem;
    line-height: 1;
}

.rental-form-intro > p:last-child {
    margin: 0;
    color: var(--muted);
    font-size: 1.08rem;
    line-height: 1.65;
}

.rental-form {
    padding: clamp(30px, 4vw, 54px);
    border: 1px solid var(--line);
    background: var(--white);
}

.rental-form fieldset {
    margin: 0 0 34px;
    padding: 0;
    border: 0;
}

.rental-party-fields[hidden] {
    display: none;
}

.rental-party-fields,
.rental-agreement-fields {
    padding-top: 6px;
}

.rental-agreement-fields {
    padding-top: 32px !important;
    border-top: 1px solid var(--line) !important;
}

.rental-form legend {
    margin-bottom: 14px;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rental-form-type {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.rental-form-type legend {
    flex: 0 0 100%;
}

.rental-form-type label {
    position: relative;
    cursor: pointer;
}

.rental-form-type input {
    position: absolute;
    opacity: 0;
}

.rental-form-type span {
    display: block;
    padding: 13px 18px;
    border: 1px solid var(--line);
    font-weight: 700;
    transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.rental-form-type input:checked + span {
    color: var(--white);
    border-color: var(--red);
    background: var(--red);
}

.rental-form-type input:focus-visible + span {
    outline: 2px solid var(--black);
    outline-offset: 3px;
}

.rental-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 20px;
}

.rental-form-grid label {
    display: flex;
    flex-direction: column;
    gap: 9px;
    font-size: 0.86rem;
    font-weight: 800;
}

.rental-form-grid label small {
    color: var(--muted);
    font-weight: 400;
}

.rental-form-grid input,
.rental-form-grid select,
.rental-form-grid textarea {
    width: 100%;
    min-height: 52px;
    padding: 13px 14px;
    border: 1px solid #c9c9c4;
    border-radius: 0;
    color: var(--black);
    background: var(--white);
    font: inherit;
    font-weight: 400;
}

.rental-form-grid textarea {
    min-height: 130px;
    resize: vertical;
}

.rental-form-grid input:focus,
.rental-form-grid select:focus,
.rental-form-grid textarea:focus {
    border-color: var(--red);
    outline: 2px solid rgba(183, 53, 46, 0.15);
}

.rental-form-wide {
    grid-column: 1 / -1;
}

.rental-form-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 28px 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

.rental-form-consent input {
    margin-top: 3px;
    accent-color: var(--red);
}

.rental-form-note {
    margin: 18px 0 0;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.5;
}

.rental-form-trap {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.rental-form-alert {
    border-left: 4px solid;
    padding: 16px 18px;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.55;
}

.rental-form-alert-success {
    border-color: #477653;
    color: #31553a;
    background: #eef8f0;
}

.rental-form-alert-error {
    border-color: #a72f27;
    color: #73231d;
    background: #fff0ef;
}

.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 46px;
}

.section-heading h2 {
    margin: 0;
    font-size: clamp(2.15rem, 4vw, 4rem);
    line-height: 1;
}

.heading-on-dark .eyebrow {
    color: #e76f68;
}

#projekty-glowne .section-heading .eyebrow {
    font-size: 0.9rem;
}

#projekty-glowne .text-link-light:hover {
    color: var(--red);
}

.feature-grid {
    display: flex;
    gap: 20px;
}

.projects-carousel {
    width: 100%;
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) 76px;
    align-items: center;
    gap: 22px;
    padding-inline: 24px;
}

.projects-carousel-viewport {
    min-width: 0;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.projects-carousel-viewport::-webkit-scrollbar {
    display: none;
}

.projects-carousel-arrow {
    width: 76px;
    height: 132px;
    border: 0;
    padding: 0;
    color: var(--white);
    background: transparent;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 4.5rem;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    transition: color 180ms ease, opacity 180ms ease;
}

.projects-carousel-arrow span {
    display: block;
    transform: scaleY(1.32);
}

.projects-carousel-arrow:hover {
    color: var(--red);
}

.projects-carousel-arrow:disabled {
    opacity: 0.2;
    background: transparent;
    cursor: not-allowed;
}

.feature-card {
    position: relative;
    flex: 0 0 var(--projects-card-width, clamp(320px, 23vw, 440px));
    min-height: 510px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: var(--black);
    background: var(--white);
    scroll-snap-align: start;
}

.feature-card-logo {
    min-height: 265px;
    display: grid;
    place-items: center;
    padding: 38px;
    border-bottom: 1px solid var(--line);
    background: radial-gradient(circle at center, #ffffff 0%, #ffffff 32%, #fafaf8 68%, #e8e8e4 100%);
}

.feature-card-logo img {
    width: min(280px, 86%);
    height: 150px;
    max-width: 100%;
    max-height: 150px;
    object-fit: contain;
    object-position: center;
    aspect-ratio: auto;
    mix-blend-mode: multiply;
    transition: transform 300ms ease;
}

.feature-card:hover .feature-card-logo img {
    transform: scale(1.045);
}

.feature-card-content {
    min-height: 245px;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 34px;
}

.project-copy > span,
.compact-card span,
.event-place {
    color: inherit;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
}

.feature-card-content p {
    margin: 0 0 28px;
    color: #42423f;
    font-size: 1.2rem;
    line-height: 1.5;
}

.feature-card a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    color: var(--red);
    font-size: 1.3rem;
    font-weight: 700;
    transition: color 180ms ease;
}

.feature-card a:hover {
    color: var(--black);
}

.more-projects {
    overflow: hidden;
    background: #fbfbfb;
}

.more-projects-heading > div {
    max-width: 920px;
}

.more-projects-heading h2 {
    margin-bottom: 18px;
}

.more-projects-heading p:last-child {
    max-width: 780px;
    margin: 0;
    color: var(--muted);
    font-size: 1.1rem;
    line-height: 1.6;
}

@media (min-width: 1200px) {
    .more-projects-heading > div,
    .more-projects-heading p:last-child {
        max-width: none;
    }
}

.more-projects-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(290px, auto));
    gap: 18px;
}

.more-projects-featured {
    position: relative;
    grid-row: 1 / 3;
    min-height: 598px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    padding: clamp(34px, 4vw, 64px);
    color: var(--white);
    background: linear-gradient(145deg, #6e0300 0%, #2b1110 54%, #160d0c 100%);
}

.more-projects-mark {
    position: absolute;
    top: -4%;
    right: -9%;
    width: 88%;
    height: auto;
    opacity: 0.12;
    filter: brightness(0) invert(1);
    pointer-events: none;
}

.more-projects-featured-copy {
    position: relative;
    z-index: 1;
}

.more-projects-featured-hit {
    position: absolute;
    z-index: 2;
    inset: 0;
}

.more-projects-featured-copy,
.more-projects-mark {
    pointer-events: none;
}

.more-projects-type {
    display: block;
    color: var(--red);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.more-projects-featured .more-projects-type {
    color: #f19a93;
}

.more-projects-featured h3 {
    max-width: 620px;
    margin: 14px 0 22px;
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height: 1.05;
}

.more-projects-featured p {
    max-width: 620px;
    margin: 0 0 32px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.08rem;
    line-height: 1.65;
}

.more-projects-status {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.88rem;
    font-weight: 700;
}

.more-projects-status::before {
    width: 26px;
    height: 2px;
    background: #f19a93;
    content: "";
}

.more-projects-card {
    position: relative;
    min-width: 0;
    display: grid;
    grid-template-columns: 42% 58%;
    overflow: hidden;
    border: 1px solid var(--line);
    background: var(--white);
    transition: box-shadow 180ms ease, transform 180ms ease;
}

.more-projects-card:hover {
    z-index: 1;
    box-shadow: 0 16px 38px rgba(22, 13, 12, 0.11);
    transform: translateY(-3px);
}

.more-projects-card-hit {
    position: absolute;
    z-index: 2;
    inset: 0;
}

.more-projects-image {
    min-height: 100%;
    overflow: hidden;
    background: var(--soft);
}

.more-projects-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms ease;
}

.more-projects-card:hover .more-projects-image img {
    transform: scale(1.035);
}

.more-projects-copy {
    position: relative;
    min-width: 0;
    padding: clamp(24px, 2.4vw, 38px) clamp(22px, 2.4vw, 36px) 64px;
}

.more-projects-copy h3 {
    margin: 11px 0 14px;
    font-size: clamp(1.35rem, 1.75vw, 1.85rem);
    line-height: 1.12;
}

.more-projects-copy p {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}

.more-projects-arrow {
    position: absolute;
    right: 28px;
    bottom: 22px;
    color: var(--red);
    font-size: 1.35rem;
    font-weight: 700;
}

@media (max-width: 1199px) {
    .more-projects-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
    }

    .more-projects-featured {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 430px;
    }

    .more-projects-card {
        min-height: 300px;
    }
}

@media (max-width: 767px) {
    .more-projects-grid {
        grid-template-columns: 1fr;
    }

    .more-projects-featured {
        grid-column: auto;
        min-height: 410px;
    }

    .more-projects-card {
        min-height: 270px;
    }
}

@media (max-width: 600px) {
    .more-projects-featured {
        min-height: 390px;
        padding: 32px 26px;
    }

    .more-projects-featured h3 {
        font-size: 2rem;
    }

    .more-projects-featured p {
        font-size: 1rem;
    }

    .more-projects-card {
        grid-template-columns: 1fr;
    }

    .more-projects-image {
        min-height: 190px;
        aspect-ratio: 16 / 9;
    }

    .more-projects-copy {
        min-height: 220px;
    }
}

.project-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid var(--line);
}

.project-card {
    display: grid;
    grid-template-columns: 48% 52%;
    min-height: 360px;
    border-bottom: 1px solid var(--line);
}

.project-card:nth-child(odd) {
    border-right: 1px solid var(--line);
}

.project-image {
    overflow: hidden;
}

.project-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-copy {
    position: relative;
    padding: clamp(26px, 4vw, 52px);
}

.project-copy > span,
.compact-card span,
.event-place {
    color: var(--red);
}

.project-copy h3 {
    margin: 10px 0 18px;
    font-size: clamp(1.45rem, 2.4vw, 2.35rem);
    line-height: 1.08;
}

.project-copy p {
    margin: 0;
    color: var(--muted);
}

.project-copy > a {
    position: absolute;
    right: 24px;
    bottom: 22px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--white);
    background: var(--black);
    font-size: 1.25rem;
}

.compact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.compact-card {
    min-height: 470px;
    display: grid;
    grid-template-rows: 58% 42%;
    border: 1px solid var(--line);
    background: var(--white);
}

.compact-card > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.compact-card > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 28px;
}

.compact-card h3 {
    margin: 8px 0 20px;
    font-size: 1.65rem;
    line-height: 1.1;
}

.compact-card p {
    margin: 0 0 24px;
    color: var(--muted);
}

.compact-card a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    font-size: 0.84rem;
    font-weight: 700;
}

.compact-card-text {
    grid-template-rows: 1fr;
    color: var(--white);
    border-color: var(--red);
    background: var(--red);
}

.compact-card-text > div {
    justify-content: flex-end;
    padding: clamp(30px, 4vw, 54px);
}

.compact-card-text span,
.compact-card-text p {
    color: var(--white);
}

.compact-card-text h3 {
    font-size: clamp(2rem, 3vw, 3.1rem);
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--black);
    border-left: 1px solid var(--line);
}

.event-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(150px, auto);
    align-items: end;
    gap: clamp(14px, 1.5vw, 22px);
    margin-bottom: 34px;
    border: 1px solid var(--line);
    border-top: 3px solid var(--red);
    padding: clamp(20px, 2.2vw, 30px);
    background: linear-gradient(145deg, #fff 0%, #f7f7f7 58%, #efefef 100%);
    box-shadow: 0 14px 32px rgba(22, 13, 12, 0.06);
}

.event-filters label {
    position: relative;
    display: grid;
    gap: 9px;
    min-width: 0;
}

.event-filters label > span {
    color: #4d4543;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.event-filters label::after {
    content: "⌄";
    position: absolute;
    right: 17px;
    bottom: 15px;
    color: var(--red);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
}

.event-filters select {
    appearance: none;
    width: 100%;
    min-height: 54px;
    border: 1px solid #cfcac8;
    border-radius: 0;
    padding: 0 48px 0 17px;
    color: var(--black);
    background: var(--white);
    font: inherit;
    font-weight: 650;
    cursor: pointer;
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.event-filters select:hover {
    border-color: var(--red);
}

.event-filters select:focus-visible {
    border-color: var(--red);
    outline: none;
    box-shadow: 0 0 0 3px rgba(174, 55, 47, 0.16);
}

.event-filters .button {
    width: 100%;
    min-height: 54px;
    justify-content: center;
    border: 1px solid var(--black);
    cursor: pointer;
}

.event-card {
    min-height: 330px;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.event-card-rich {
    position: relative;
    min-width: 0;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.event-card[hidden] {
    display: none;
}

.event-card-rich:hover {
    z-index: 1;
    transform: translateY(-4px);
    box-shadow: 0 18px 45px rgba(22, 13, 12, 0.12);
}

.event-card-hit {
    position: absolute;
    z-index: 3;
    inset: 0;
}

.event-card-media {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--soft);
}

.event-card-media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 350ms ease;
}

.event-card-rich:hover .event-card-media > img {
    transform: scale(1.025);
}

.event-card-media-placeholder > img {
    padding: 22%;
    object-fit: contain;
}

.event-card-info-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: -26px -26px 24px;
    min-height: 56px;
    border-top: 1px solid rgba(22, 13, 12, 0.06);
    border-bottom: 1px solid var(--line);
    padding: 9px 18px;
    color: var(--black);
    background: linear-gradient(135deg, #ffffff 0%, #f4f2f1 100%);
}

.event-card-info-row .event-date {
    flex: 0 0 auto;
    min-width: 0;
    min-height: 0;
    border: 0;
    padding: 0;
    color: var(--red);
    background: transparent;
}

.event-card-info-row .event-date strong {
    color: inherit;
    font-size: 1.65rem;
}

.event-card-info-row .event-date span {
    color: inherit;
}

.event-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
    color: var(--red);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.event-card-info-row .event-meta {
    justify-content: flex-end;
    color: var(--red);
    text-align: right;
}

.event-card-info-row .event-meta span + span::before {
    color: var(--line);
}

.event-meta span + span::before {
    margin-right: 12px;
    color: var(--line);
    content: "•";
}

.event-body .event-time {
    color: var(--black);
    font-weight: 700;
}

.event-body .event-excerpt {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 12px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.event-card-footer {
    position: absolute;
    z-index: 4;
    right: 24px;
    bottom: 20px;
    left: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
}

.event-card-arrow {
    color: var(--red);
    font-size: 1.35rem;
    font-weight: 700;
}

.event-duration {
    position: relative;
    pointer-events: auto;
}

.event-duration-trigger {
    display: grid;
    width: 34px;
    height: 34px;
    border: 0;
    padding: 0;
    color: var(--red);
    background: transparent;
    cursor: help;
    place-items: center;
}

.event-duration-trigger:hover,
.event-duration-trigger:focus-visible,
.event-duration.is-open .event-duration-trigger {
    color: var(--black);
}

.event-duration-trigger:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 2px;
}

.event-duration-tooltip {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    width: max-content;
    max-width: min(260px, calc(100vw - 48px));
    padding: 9px 12px;
    color: var(--white);
    background: var(--black);
    box-shadow: 0 8px 24px rgba(22, 13, 12, 0.2);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.35;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity 150ms ease, transform 150ms ease;
}

.event-duration-tooltip::after {
    position: absolute;
    top: 100%;
    left: 12px;
    border: 5px solid transparent;
    border-top-color: var(--black);
    content: "";
}

.event-duration:hover .event-duration-tooltip,
.event-duration-trigger:focus-visible + .event-duration-tooltip,
.event-duration.is-open .event-duration-tooltip {
    opacity: 1;
    transform: translateY(0);
}

.events-actions {
    display: flex;
    justify-content: center;
    margin-top: 34px;
}

.events-actions [data-events-more] {
    font-size: 1.1rem;
}

#wydarzenia.section {
    padding-block: clamp(44px, 5vw, 72px);
}

.events-empty {
    margin: 0;
    border: 1px solid var(--line);
    padding: 52px 24px;
    color: var(--muted);
    text-align: center;
}

.events-page-hero {
    padding: clamp(48px, 5vw, 72px) 0;
    color: var(--white);
    background: linear-gradient(145deg, #160d0c 0%, #6e0300 100%);
}

.events-page-hero h1 {
    max-width: none;
    margin: 18px 0 20px;
    font-size: clamp(3.2rem, 7vw, 6rem);
    line-height: 0.94;
}

.events-page-hero p:last-child {
    max-width: 720px;
    font-size: 1.2rem;
    line-height: 1.65;
}

.events-day-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 24px;
}

.events-day-hero h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.08;
}

.events-day-heading h2 {
    margin: 8px 0 0;
    font-size: clamp(1.8rem, 3vw, 2.65rem);
    line-height: 1.1;
}

.events-day-heading .text-link {
    flex: 0 0 auto;
}

@media (max-width: 600px) {
    .events-day-heading {
        align-items: start;
        flex-direction: column;
        gap: 18px;
    }
}

.events-list-hero {
    padding-block: clamp(34px, 4vw, 50px);
}

.events-list-section {
    padding-block: clamp(20px, 2vw, 30px);
}

.event-detail-hero {
    padding-block: clamp(30px, 3vw, 40px);
}

.event-detail-hero h1 {
    margin-block: 14px 16px;
    font-size: 3rem;
    line-height: 1.05;
}

.event-detail-page .eyebrow {
    font-size: 0.9rem;
}

.event-detail-page > .section {
    padding-block: clamp(55px, 6vw, 86px);
}

.event-detail-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    align-items: start;
    gap: clamp(22px, 3vw, 45px);
}

.event-detail-content {
    width: 100%;
    max-width: none;
    font-size: 1.12rem;
    line-height: 1.75;
}

.event-detail-content > :first-child {
    margin-top: 0;
}

.event-detail-content p {
    margin-block: 0 1.35em;
}

.event-detail-content a {
    color: var(--red);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
    overflow-wrap: anywhere;
    transition: color 180ms ease;
}

.event-detail-content a:hover,
.event-detail-content a:focus-visible {
    color: #111;
}

.event-detail-content :where(p, div, span, li, strong, em) {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit;
}

.event-detail-content img,
.event-detail-content iframe,
.event-detail-content table {
    max-width: 100%;
}

.event-detail-sidebar {
    position: sticky;
    top: 110px;
    width: 260px;
}

.event-detail-image {
    display: block;
    width: 260px;
    height: 260px;
    aspect-ratio: 1;
    object-fit: cover;
}

.event-detail-image-placeholder {
    display: grid;
    place-items: center;
    background: var(--soft);
}

.event-detail-image-placeholder img {
    max-width: 58%;
    max-height: 58%;
}

.event-detail-aside {
    border-top: 3px solid var(--red);
    padding: 26px 22px 28px;
    background: var(--soft);
}

.event-detail-aside dt {
    margin-top: 22px;
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.event-detail-aside dd {
    margin: 5px 0 0;
    font-weight: 700;
}

.event-source-link {
    display: inline-block;
    margin-top: 30px;
}

.events-results-count {
    margin: 0 0 18px;
    color: var(--muted);
    font-weight: 700;
}

.events-pagination {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) auto minmax(130px, 1fr);
    align-items: center;
    gap: 24px;
    margin-top: 38px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
}

.events-pagination-direction {
    color: var(--black);
    font-size: 1rem;
    font-weight: 850;
}

.events-pagination-direction:last-child {
    text-align: right;
}

a.events-pagination-direction:hover {
    color: var(--red);
}

.events-pagination-direction.is-disabled {
    color: #aaa6a2;
}

.events-pagination-pages {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.events-pagination-pages a,
.events-pagination-pages .is-current {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--line);
    color: var(--black);
    font-weight: 850;
}

.events-pagination-pages a:hover {
    border-color: var(--red);
    color: var(--red);
}

.events-pagination-pages .is-current {
    border-color: var(--red);
    color: #fff;
    background: var(--red);
}

.events-pagination-gap {
    display: grid;
    width: 28px;
    height: 42px;
    place-items: center;
    color: var(--muted);
}

@media (max-width: 1050px) {
    .event-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 620px) {
    .event-filters {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .events-pagination {
        grid-template-columns: 1fr 1fr;
        gap: 20px 12px;
    }

    .events-pagination-pages {
        grid-column: 1 / -1;
        grid-row: 1;
        flex-wrap: wrap;
    }

    .events-pagination-direction {
        grid-row: 2;
    }
}

@media (max-width: 760px) {
    .event-detail-layout {
        grid-template-columns: 1fr;
    }

    .event-detail-sidebar {
        position: static;
        width: min(100%, 320px);
    }

    .event-detail-image {
        width: min(100%, 260px);
        height: auto;
    }
}

.event-date {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 24px 26px 18px;
    border-bottom: 1px solid var(--line);
}

.event-date strong {
    color: var(--red);
    font-size: 3.4rem;
    line-height: 1;
}

.event-date span {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.event-body {
    position: relative;
    flex: 1;
    padding: 26px 26px 60px;
}

.event-body h3 {
    margin: 12px 0 20px;
    font-size: 1.35rem;
    line-height: 1.2;
}

.event-body p {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.event-body > a {
    position: absolute;
    right: 24px;
    bottom: 20px;
    font-size: 1.35rem;
    font-weight: 700;
}

.engagement {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.engagement-newsletter,
.engagement-support {
    min-height: 520px;
    display: flex;
    align-items: center;
    padding: clamp(50px, 7vw, 110px);
}

.engagement-newsletter {
    background: var(--soft);
}

.engagement-support {
    color: var(--white);
    background: var(--red);
}

.engagement-inner {
    width: min(100%, 650px);
    margin-inline: auto;
}

.engagement h2 {
    margin: 0 0 22px;
    font-size: clamp(2.6rem, 5vw, 5rem);
    line-height: 0.95;
}

.engagement .eyebrow {
    font-size: 1.3rem;
}

.engagement-inner > p:not(.eyebrow) {
    max-width: 550px;
    margin: 0 0 34px;
    font-size: 1.2rem;
}

.engagement-support .eyebrow {
    color: var(--white);
}

.newsletter-form label {
    display: block;
    margin-bottom: 7px;
    font-size: 1rem;
    font-weight: 700;
}

.newsletter-form > div {
    display: grid;
    grid-template-columns: 1fr auto;
}

.newsletter-form input {
    min-width: 0;
    height: 54px;
    border: 1px solid var(--black);
    padding: 0 16px;
    background: var(--white);
    transition: background-color 180ms ease;
}

.newsletter-form input:focus,
.newsletter-form input:focus-visible {
    outline: none;
    background: #f8f8f8;
}

.newsletter-form button {
    height: 54px;
    border: 1px solid var(--black);
    padding: 0 24px;
    color: var(--white);
    background: var(--black);
    font-size: 1.2rem;
    font-weight: 700;
    cursor: pointer;
    transition: color 180ms ease, background-color 180ms ease;
}

.newsletter-form button:hover,
.newsletter-form button:focus-visible {
    outline: none;
    color: #f2f2f2;
    background: #292929;
}

.support-links {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 52px;
}

.support-links a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding-bottom: 7px;
    color: var(--white);
    font-size: 1.3rem;
    font-weight: 700;
}

.support-links a::before,
.support-links a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
}

.support-links a::before {
    background: rgba(255, 255, 255, 0.7);
}

.support-links a::after {
    background: var(--black);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 350ms ease;
}

.support-links a:hover::after,
.support-links a:focus-visible::after {
    transform: scaleX(1);
}

.support-link-premium-row {
    flex: 0 0 100%;
    margin-top: 3px;
}

.support-links .support-link-premium {
    width: fit-content;
    letter-spacing: 0.01em;
}

.support-links .support-link-premium::before {
    height: 2px;
    background: linear-gradient(90deg, #ffd0cc 0%, rgba(255, 255, 255, 0.72) 58%, rgba(255, 255, 255, 0.18) 100%);
}

.support-links .support-link-premium i {
    display: inline-block;
    padding-block: 2px;
    color: transparent;
    background: linear-gradient(135deg, #fff2cf 0%, #f5c46f 45%, #d88b2f 100%);
    background-size: 160% 160%;
    background-position: 0 50%;
    background-clip: text;
    -webkit-background-clip: text;
    font-size: 0.85rem;
    font-style: normal;
    line-height: 1.15;
    overflow: visible;
    vertical-align: -0.05em;
    transition: background-position 220ms ease, filter 220ms ease, transform 180ms ease;
}

.support-links .support-link-premium:hover i,
.support-links .support-link-premium:focus-visible i {
    background-position: 100% 50%;
    filter: brightness(1.1);
    transform: translateY(-1px) scale(1.08);
}

.site-footer {
    color: var(--white);
    background: var(--black);
}

.footer-main {
    display: grid;
    grid-template-columns: 1.7fr 1fr 1fr 1.2fr;
    gap: clamp(32px, 6vw, 90px);
    padding-block: 82px;
}

.footer-brand img {
    width: 260px;
    height: auto;
    background: transparent;
}

.footer-brand p {
    max-width: 380px;
    margin: 30px 0 0;
    color: #bdbdbd;
    font-size: 1.2rem;
}

.site-footer h2 {
    margin: 0 0 22px;
    font-size: 1.3rem;
    text-transform: uppercase;
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 11px;
}

.footer-column h2 {
    margin-bottom: 11px;
}

.footer-column a,
.footer-contact a,
.footer-contact p,
.footer-contact address {
    color: #bdbdbd;
    font-size: 1.1rem;
    font-style: normal;
}

.footer-column a:hover,
.footer-contact a:hover {
    color: var(--white);
}

.footer-contact p {
    margin: 18px 0 24px;
}

.social-list-footer .social-icon {
    color: var(--white);
    border-color: #5d5d5d;
    background: transparent;
}

.footer-contact .social-list-footer .social-icon:hover {
    color: var(--red);
    border-color: var(--red);
}

.footer-bottom {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #3b3b3b;
    color: #8f8f8f;
    font-size: 1rem;
}

.footer-registration {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.footer-registration > span + span::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin: 0 14px 2px 0;
    background: currentColor;
}

.back-to-top {
    position: fixed;
    z-index: 120;
    right: max(24px, env(safe-area-inset-right));
    bottom: max(24px, env(safe-area-inset-bottom));
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 1px solid var(--black);
    padding: 0;
    color: var(--white);
    background: var(--red);
    box-shadow: 0 7px 20px rgba(0, 0, 0, 0.2);
    font-size: 1.15rem;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: color 180ms ease, background-color 180ms ease, opacity 180ms ease, transform 180ms ease;
    cursor: pointer;
}

.back-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.back-to-top:hover,
.back-to-top:focus-visible {
    color: var(--white);
    background: var(--black);
}

@media (max-width: 1535px) {
    :root {
        --container: 1320px;
    }

    .hero,
    .slider {
        min-height: 600px;
    }

    .slide-content h1,
    .slide-content h2 {
        font-size: clamp(2.75rem, 5vw, 4.5rem);
    }
}

@media (max-width: 1199px) {
    :root {
        --container: 1080px;
    }

    .brand-bar {
        min-height: 116px;
    }

    .site-header {
        min-height: calc(116px + var(--header-height));
    }

    .brand img {
        width: 220px;
    }

    .language-label {
        display: none;
    }

    .nav-item > a,
    .nav-item > button {
        padding-inline: 21px;
    }

    .hero {
        grid-template-columns: minmax(0, 2fr) minmax(285px, 1fr);
    }

    .calendar-layout {
        grid-template-columns: 150px 40px minmax(0, 1fr) 40px;
        gap: 12px;
    }

    .feature-card {
        flex-basis: var(--projects-card-width, clamp(300px, 42vw, 390px));
        min-height: 450px;
    }

    .project-card {
        grid-template-columns: 1fr;
        grid-template-rows: 240px 1fr;
    }

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

.support-detail-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #6e0300 100%);
}

.support-detail-hero::after {
    position: absolute;
    right: -8%;
    bottom: -55%;
    width: min(46vw, 720px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transform: rotate(45deg);
    content: "";
    pointer-events: none;
}

.support-detail-hero-layout {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 550px;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
    align-items: center;
    gap: clamp(48px, 8vw, 130px);
    padding-top: clamp(70px, 8vw, 118px);
    padding-bottom: clamp(70px, 8vw, 118px);
}

.support-detail-hero .breadcrumbs,
.support-detail-hero .breadcrumbs a {
    color: rgba(255, 255, 255, 0.72);
}

.support-detail-hero .eyebrow {
    color: #ff786b;
}

.support-detail-hero h1 {
    max-width: 900px;
    margin: 12px 0 24px;
    font-size: clamp(4rem, 6.2vw, 7.2rem);
    line-height: 0.92;
}

.support-detail-hero p:not(.eyebrow) {
    max-width: 700px;
    font-size: clamp(1.15rem, 1.5vw, 1.45rem);
    line-height: 1.6;
}

.support-detail-symbol {
    display: grid;
    width: min(25vw, 310px);
    aspect-ratio: 1;
    place-items: center;
    justify-self: end;
    border: 1px solid rgba(255, 255, 255, 0.24);
    transform: rotate(45deg);
    background: rgba(255, 255, 255, 0.05);
}

.support-detail-symbol i {
    transform: rotate(-45deg);
    font-size: clamp(4rem, 7vw, 7rem);
    color: #fff;
}

.support-detail-hero-image img {
    width: 100%;
    max-height: 390px;
    object-fit: cover;
    box-shadow: 28px 28px 0 rgba(255, 255, 255, 0.08);
}

.support-detail-content {
    background: #fff;
}

.support-detail-two-columns,
.support-detail-contact-layout,
.support-detail-note-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
    gap: clamp(55px, 9vw, 145px);
    align-items: start;
}

.support-detail-content h2,
.support-detail-contact h2,
.support-detail-note h2 {
    margin-top: 10px;
    font-size: 4rem;
    line-height: 1.02;
}

.statute-hero {
    overflow: hidden;
    color: #fff;
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #6e0300 100%);
}

.statute-hero-layout {
    display: grid;
    min-height: 470px;
    grid-template-columns: 1fr 280px;
    align-items: center;
    gap: 80px;
    padding-top: 75px;
    padding-bottom: 75px;
}

.statute-hero .breadcrumbs,
.statute-hero .breadcrumbs a { color: rgba(255, 255, 255, 0.72); }
.statute-hero .eyebrow { color: #ff786b; }
.statute-hero h1 { margin: 10px 0 20px; font-size: clamp(5rem, 8vw, 8rem); line-height: 0.9; }
.statute-hero p:not(.eyebrow) { max-width: 720px; font-size: 1.25rem; line-height: 1.6; }

.statute-mark {
    display: grid;
    width: 220px;
    aspect-ratio: 1;
    place-items: center;
    justify-self: end;
    border: 1px solid rgba(255, 255, 255, 0.25);
    transform: rotate(45deg);
    background: rgba(255, 255, 255, 0.05);
}

.statute-mark span { transform: rotate(-45deg); font-family: Georgia, serif; font-size: 7rem; }

.statute-page { padding: clamp(65px, 8vw, 115px) 0; background: #fbfbfb; }
.statute-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 4fr); gap: clamp(40px, 5vw, 80px); align-items: start; }
.statute-nav { position: sticky; top: 115px; padding-top: 8px; }
.statute-nav .eyebrow { font-size: 1.2rem; }
.statute-nav a { display: block; padding: 13px 0; border-bottom: 1px solid #d9d9d5; color: #222; font-weight: 700; line-height: 1.3; }
.statute-nav a:hover { color: var(--red); }
.statute-document { padding: clamp(32px, 5vw, 70px); background: #fff; box-shadow: 0 18px 55px rgba(37, 37, 37, 0.07); font-size: 1.08rem; line-height: 1.75; }
.statute-document h2 { margin: 75px 0 32px; padding-bottom: 18px; border-bottom: 2px solid var(--red); font-size: clamp(1.75rem, 2.5vw, 2.5rem); line-height: 1.15; }
.statute-document h2:first-child { margin-top: 0; }
.statute-document h3 { margin: 45px 0 16px; font-size: 1.45rem; color: var(--red); }

.records-hero { color: #fff; background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #6e0300 100%); }
.records-hero-layout { display: grid; min-height: 500px; grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr); align-items: center; gap: clamp(55px, 8vw, 130px); padding-top: 75px; padding-bottom: 75px; }
.records-hero .breadcrumbs, .records-hero .breadcrumbs a { color: rgba(255, 255, 255, 0.72); }
.records-hero .eyebrow { color: #ff786b; }
.reports-hero .eyebrow,
.records-section .eyebrow,
.records-disclosure .eyebrow { font-size: 1.3rem; }
.records-hero h1 { margin: 10px 0 22px; font-size: 6rem; line-height: 0.9; }
.records-hero p:not(.eyebrow) { max-width: 720px; font-size: 1.25rem; line-height: 1.65; }
.records-krs { padding: clamp(35px, 5vw, 65px); border: 1px solid rgba(255, 255, 255, 0.28); background: rgba(255, 255, 255, 0.05); }
.records-krs span { display: block; margin-bottom: 22px; font-size: 0.85rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #ff786b; }
.records-krs strong { font-size: 4rem; line-height: 1.05; }
.records-heading { max-width: 900px; margin-bottom: 55px; }
.records-heading h2, .subsidy-content h2 { margin: 10px 0 22px; font-size: 3rem; line-height: 1.02; }
.records-heading > p:last-child { font-size: 1.15rem; }
.records-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.record-card { display: grid; min-height: 420px; grid-template-rows: auto 1fr auto; padding: clamp(32px, 4vw, 55px); background: linear-gradient(145deg, #fff 0%, #f7f7f4 48%, #e8e8e4 100%); border-top: 4px solid var(--red); }
.record-number { margin-bottom: 50px; font-weight: 800; color: var(--red); }
.record-card h3 { margin: 9px 0 18px; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.05; }
.record-card p:not(.eyebrow) { font-size: 1.1rem; line-height: 1.65; }
.record-card > a { width: fit-content; margin-top: 38px; font-size: 1.2rem; font-weight: 800; color: var(--red); }
.record-card > a:hover { color: #111; }
.records-disclosure, .subsidy-content { padding: clamp(65px, 8vw, 110px) 0; background: #fbfbfb; }
.records-disclosure-layout { display: grid; grid-template-columns: minmax(180px, 0.25fr) minmax(0, 0.75fr); gap: clamp(45px, 8vw, 120px); align-items: start; }
.records-disclosure-layout > p:last-child { max-width: 900px; margin: 0; font-size: 2rem; line-height: 1.45; }
.records-hero-light { color: #111; background: #fff; }
.hero-light .breadcrumbs { color: #202020; }
.hero-light .breadcrumbs a { color: #202020; text-decoration-color: rgba(32, 32, 32, 0.45); }
.hero-light .breadcrumbs a:hover { color: var(--red); text-decoration-color: currentColor; }
.hero-light .breadcrumbs li:not(:last-child)::after { color: #777; }
.hero-light .breadcrumbs [aria-current="page"] { color: #555; }
.records-hero-light .eyebrow,
.subsidy-content .eyebrow {
    color: var(--red);
    font-size: 1.3rem;
}
.records-logo { padding: clamp(30px, 5vw, 65px); background: radial-gradient(circle, #fff 0%, #f3f3f1 70%, #e4e4e0 100%); }
.records-logo img { width: min(100%, 420px); height: auto; margin-inline: auto; mix-blend-mode: multiply; }
.subsidy-content-layout { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr); gap: clamp(55px, 9vw, 145px); align-items: start; }
.subsidy-message { padding: clamp(32px, 4vw, 55px); border-left: 5px solid var(--red); background: #fff; }
.subsidy-message p { margin-top: 0; font-size: 1.2rem; line-height: 1.7; }
.subsidy-message p:last-child { margin: 25px 0 0; color: var(--red); }

.downloads-hero { color: #fff; background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #6e0300 100%); }
.downloads-hero-layout { display: grid; min-height: 530px; grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.75fr); align-items: center; gap: clamp(55px, 8vw, 130px); padding-top: 75px; padding-bottom: 75px; }
.downloads-hero .breadcrumbs, .downloads-hero .breadcrumbs a { color: rgba(255, 255, 255, 0.72); }
.downloads-hero .eyebrow { color: #ff786b; font-size: 1.3rem; }
.downloads-hero h1 { max-width: 850px; margin: 10px 0 24px; font-size: 5rem; line-height: 0.92; }
.downloads-hero p:not(.eyebrow) { max-width: 720px; font-size: 1.2rem; line-height: 1.65; }
.downloads-shortcuts { border-top: 1px solid rgba(255, 255, 255, 0.25); }
.downloads-shortcuts a { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 20px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.25); font-size: 1.15rem; font-weight: 750; transition: color 180ms ease, padding-left 180ms ease; }
.downloads-shortcuts a span { color: #ff786b; }
.downloads-shortcuts a:hover { padding-left: 8px; color: #ff786b; }
.downloads-page { padding: clamp(65px, 8vw, 110px) 0; background: #fbfbfb; }
.download-group { scroll-margin-top: var(--anchor-offset); }
.download-group + .download-group { margin-top: clamp(85px, 10vw, 145px); padding-top: clamp(75px, 8vw, 110px); border-top: 1px solid #d7d7d3; }
.download-group-heading { display: grid; grid-template-columns: minmax(0, 0.65fr) minmax(320px, 0.35fr); gap: clamp(45px, 8vw, 120px); align-items: end; margin-bottom: 45px; }
.download-group-heading .eyebrow { font-size: 1.15rem; }
.download-group-heading h2 { margin: 8px 0 0; font-size: 3rem; line-height: 1; }
.download-group-heading > p { margin: 0; font-size: 1.1rem; line-height: 1.65; color: #555; }
.download-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.download-card { display: grid; min-width: 0; grid-template-rows: 220px 1fr; background: #fff; border: 1px solid #e1e1de; transition: transform 180ms ease, box-shadow 180ms ease; }
.download-card:hover { transform: translateY(-5px); box-shadow: 0 18px 45px rgba(37, 37, 37, 0.1); }
.download-preview { display: grid; place-items: center; padding: 30px; overflow: hidden; background: radial-gradient(circle, #fff 0%, #f3f3f1 70%, #e4e4e0 100%); }
.download-preview img { width: auto; max-width: 100%; max-height: 150px; object-fit: contain; mix-blend-mode: multiply; }
.download-card-content { display: flex; min-width: 0; flex-direction: column; padding: 30px; border-top: 1px solid #ddd; }
.download-card-content > span { font-size: 0.85rem; font-weight: 800; letter-spacing: 0.1em; color: var(--red); }
.download-card-content h3 { margin: 12px 0 32px; font-size: 1.8rem; line-height: 1.1; }
.download-card-content a { width: fit-content; margin-top: auto; font-size: 1.15rem; font-weight: 800; color: var(--red); }
.download-card-content a i { margin-left: 10px; }
.download-card-content a:hover { color: #111; }

.history-hero { color: #fff; background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #6e0300 100%); }
.history-hero-layout { display: grid; min-height: 500px; grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr); align-items: center; gap: clamp(55px, 8vw, 120px); padding-top: 75px; padding-bottom: 75px; }
.history-hero .breadcrumbs, .history-hero .breadcrumbs a { color: rgba(255, 255, 255, 0.72); }
.history-hero .eyebrow { color: #ff786b; font-size: 1.15rem; }
.history-hero h1 { margin: 10px 0 24px; font-size: 5rem; line-height: 0.94; }
.history-hero p:not(.eyebrow) { max-width: 680px; font-size: 1.2rem; line-height: 1.65; }
.history-years { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid rgba(255, 255, 255, 0.24); }
.history-years div { min-height: 210px; display: flex; flex-direction: column; justify-content: space-between; padding: 30px; background: rgba(255, 255, 255, 0.045); }
.history-years div + div { border-left: 1px solid rgba(255, 255, 255, 0.24); }
.history-years span { font-size: 1rem; font-weight: 700; color: rgba(255, 255, 255, 0.72); }
.history-years strong { font-size: 3.5rem; line-height: 1; }
.history-origin, .history-legacy, .history-cooperation { padding: clamp(70px, 8vw, 110px) 0; }
.history-origin { background: #fff; }
.history-two-columns, .history-cooperation-layout { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(380px, 1.15fr); gap: clamp(55px, 9vw, 140px); align-items: start; }
.history-origin .eyebrow, .history-legacy .eyebrow, .history-cooperation .eyebrow, .history-mission .eyebrow { font-size: 1.15rem; }
.history-origin h2, .history-legacy h2, .history-cooperation h2, .history-mission h2 { margin: 10px 0 0; font-size: 3rem; line-height: 1.04; }
.history-copy p, .history-legacy-content > p, .history-cooperation-layout > p { margin: 0 0 24px; font-size: 1.15rem; line-height: 1.75; }
.history-timeline-preview { position: relative; overflow: hidden; padding: clamp(62px, 7vw, 96px) 0; background: #fbfbfb; }
.history-timeline-preview::after { position: absolute; right: -90px; bottom: -150px; width: 380px; aspect-ratio: 1; background: url('/grafika/svg/logo_fwg_grafika_kontur.svg') center / contain no-repeat; opacity: 0.045; transform: rotate(7deg); content: ''; pointer-events: none; }
.history-timeline-preview-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(250px, 0.65fr) minmax(0, 1.35fr); gap: clamp(55px, 9vw, 140px); align-items: center; }
.history-timeline-preview-years { display: grid; grid-template-columns: auto minmax(70px, 1fr) auto; align-items: center; gap: 18px; color: var(--red); font-size: clamp(1.55rem, 2.4vw, 2.35rem); font-weight: 900; }
.history-timeline-preview-years i { position: relative; height: 1px; background: #c9c5c2; }
.history-timeline-preview-years i::before, .history-timeline-preview-years i::after { position: absolute; top: 50%; width: 11px; height: 11px; border: 2px solid var(--red); background: #fbfbfb; transform: translateY(-50%) rotate(45deg); content: ''; }
.history-timeline-preview-years i::before { left: 0; }
.history-timeline-preview-years i::after { right: 0; }
.history-timeline-preview .eyebrow { color: var(--red); font-size: 1.15rem; }
.history-timeline-preview h2 { max-width: none; margin: 10px 0 22px; font-size: clamp(2.1rem, 3vw, 2.8rem); line-height: 1.06; }
.history-timeline-preview-copy > p:not(.eyebrow) { max-width: 860px; margin: 0 0 28px; color: #514c49; font-size: 1.16rem; line-height: 1.75; }
.history-timeline-preview a { display: inline-flex; align-items: center; gap: 13px; padding-bottom: 6px; border-bottom: 2px solid var(--red); color: var(--red); font-size: 1.18rem; font-weight: 800; }
.history-timeline-preview a:hover, .history-timeline-preview a:focus-visible { border-color: #111; color: #111; }
.history-mission { padding: clamp(75px, 9vw, 125px) 0; color: #fff; background: #111; }
.history-mission .eyebrow { color: #ef665c; }
.history-section-heading { max-width: 930px; margin-bottom: 55px; }
.history-section-heading > p:last-child { max-width: 780px; margin-top: 26px; font-size: 1.15rem; line-height: 1.7; color: rgba(255, 255, 255, 0.75); }
.history-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid rgba(255, 255, 255, 0.2); }
.history-values article { min-height: 310px; padding: clamp(28px, 3vw, 42px); }
.history-values article + article { border-left: 1px solid rgba(255, 255, 255, 0.2); }
.history-values span { display: block; margin-bottom: 60px; font-weight: 800; color: #ef665c; }
.history-values h3 { margin: 0 0 15px; font-size: 1.75rem; }
.history-values p { margin: 0; font-size: 1.05rem; line-height: 1.65; color: rgba(255, 255, 255, 0.72); }
.history-legacy { background: #fff; }
.history-publications { margin-top: 40px; padding: 30px 34px; border-left: 4px solid var(--red); background: linear-gradient(145deg, #fff 0%, #f7f7f4 48%, #e8e8e4 100%); }
.history-publications h3 { margin: 0 0 12px; font-size: 1.65rem; }
.history-publications p { margin: 0; font-size: 1.05rem; line-height: 1.7; }
.history-cooperation { background: #fbfbfb; }
.history-cooperation-layout > p { margin: 8px 0 0; }

.foundation-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #6e0300 100%); }
.foundation-hero-layout { position: relative; z-index: 1; display: grid; min-height: 500px; grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr); align-items: center; gap: clamp(55px, 8vw, 120px); padding-top: 75px; padding-bottom: 75px; }
.foundation-hero .breadcrumbs, .foundation-hero .breadcrumbs a { color: rgba(255, 255, 255, 0.72); }
.foundation-hero .eyebrow { color: #ff786b; font-size: 1.15rem; }
.foundation-hero h1 { max-width: 780px; margin: 10px 0 24px; font-size: 5rem; line-height: 0.94; }
.foundation-hero p:not(.eyebrow) { max-width: 720px; font-size: 1.2rem; line-height: 1.65; }
.foundation-hero-mark { width: min(30vw, 390px); aspect-ratio: 1; justify-self: end; background: url('/grafika/svg/logo_fwg_grafika_kontur.svg') center / contain no-repeat; opacity: 0.16; transform: rotate(5deg); }
.foundation-index { padding: clamp(45px, 6vw, 80px) 0; background: #fff; }
.foundation-row { display: grid; grid-template-columns: 60px minmax(260px, 0.75fr) minmax(360px, 1.25fr); gap: clamp(28px, 5vw, 75px); align-items: start; padding: clamp(42px, 5vw, 70px) 0; border-bottom: 1px solid #d9d9d5; }
.foundation-row:first-child { border-top: 1px solid #d9d9d5; }
.foundation-row-number { padding-top: 5px; font-weight: 800; color: var(--red); }
.foundation-row .eyebrow, .foundation-resources .eyebrow, .foundation-support .eyebrow, .foundation-social .eyebrow { font-size: 1.15rem; }
.foundation-row h2, .foundation-resources h2, .foundation-support h2, .foundation-social h2 { margin: 8px 0 0; font-size: 3rem; line-height: 1.04; }
.foundation-row > div:last-child p { max-width: 690px; margin: 4px 0 26px; font-size: 1.15rem; line-height: 1.7; color: #555; }
.foundation-row a, .foundation-support a { display: inline-flex; gap: 12px; padding-bottom: 6px; border-bottom: 2px solid var(--red); color: var(--red); font-size: 1.2rem; font-weight: 800; }
.foundation-row a:hover, .foundation-support a:hover { color: #111; border-color: #111; }
.foundation-resources { padding: clamp(75px, 9vw, 125px) 0; color: #fff; background: #111; }
.foundation-resources-layout, .foundation-support-layout, .foundation-social-layout { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(380px, 1.1fr); gap: clamp(55px, 9vw, 140px); align-items: start; }
.foundation-resources .eyebrow { color: #ef665c; }
.foundation-resources-layout > div > p:last-child { max-width: 650px; margin-top: 25px; font-size: 1.1rem; line-height: 1.7; color: rgba(255, 255, 255, 0.72); }
.foundation-resource-links { border-top: 1px solid rgba(255, 255, 255, 0.25); }
.foundation-resource-links a { display: grid; grid-template-columns: 42px 1fr auto; gap: 16px; align-items: center; padding: 23px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.25); transition: color 180ms ease, padding-left 180ms ease; }
.foundation-resource-links a:hover { padding-left: 8px; color: #ef665c; }
.foundation-resource-links span { color: #ef665c; font-weight: 800; }
.foundation-resource-links strong { font-size: 1.25rem; }
.foundation-resource-links i { font-size: 1.25rem; font-style: normal; }
.foundation-support { padding: clamp(75px, 9vw, 120px) 0; color: #fff; background: linear-gradient(145deg, #f55445 0%, var(--red) 48%, #8d1d17 100%); }
.foundation-support .eyebrow { color: rgba(255, 255, 255, 0.78); }
.foundation-support-layout > div:last-child p { margin: 6px 0 32px; font-size: 1.15rem; line-height: 1.72; color: rgba(255, 255, 255, 0.88); }
.foundation-support a { color: #fff; border-color: rgba(255, 255, 255, 0.75); }
.foundation-support a:hover { color: #111; border-color: #111; }
.foundation-social { padding: clamp(65px, 7vw, 95px) 0; background: #fbfbfb; }
.foundation-social h2 { max-width: 620px; }
.foundation-social-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #d9d9d5; }
.foundation-social-links a { min-height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; background: #fff; transition: color 180ms ease, background 180ms ease; }
.foundation-social-links a + a { border-left: 1px solid #d9d9d5; }
.foundation-social-links i { font-size: 1.8rem; }
.foundation-social-links span { font-size: 1.05rem; font-weight: 800; }
.foundation-social-links a:hover { color: var(--red); background: #f6f6f3; }

.contact-hero { color: #fff; background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #6e0300 100%); }
.contact-hero-layout { display: grid; min-height: 500px; grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr); align-items: center; gap: clamp(55px, 9vw, 140px); padding-top: 75px; padding-bottom: 75px; }
.contact-hero .breadcrumbs, .contact-hero .breadcrumbs a { color: rgba(255, 255, 255, 0.72); }
.contact-hero .eyebrow { color: #ff786b; font-size: 1.15rem; }
.contact-hero h1 { margin: 10px 0 24px; font-size: 5rem; line-height: 0.94; }
.contact-hero p:not(.eyebrow) { max-width: 680px; font-size: 1.2rem; line-height: 1.65; }
.contact-hero-direct { padding: clamp(32px, 4.5vw, 58px); border: 1px solid rgba(255, 255, 255, 0.25); background: rgba(255, 255, 255, 0.05); }
.contact-hero-direct span { display: block; margin-bottom: 24px; color: #ff786b; font-size: 1rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.contact-hero-direct a { display: block; width: fit-content; margin-top: 12px; font-size: clamp(1.25rem, 2vw, 1.7rem); font-weight: 700; overflow-wrap: anywhere; }
.contact-hero-direct a:hover { color: #ff786b; }
.contact-office { padding: clamp(75px, 9vw, 120px) 0; background: #fff; }
.contact-office-layout { display: grid; grid-template-columns: minmax(330px, 0.75fr) minmax(0, 1.25fr); gap: clamp(55px, 8vw, 120px); align-items: stretch; }
.contact-office .eyebrow, .contact-details .eyebrow, .contact-team .eyebrow { font-size: 1.15rem; }
.contact-office h2, .contact-team h2 { margin: 10px 0 30px; font-size: 3rem; line-height: 1.04; }
.contact-office h2 { margin-bottom: 10px; }
.contact-office h3 { margin: 0 0 30px; font-size: 1.65rem; line-height: 1.2; color: #555; }
.contact-office address { font-style: normal; font-size: 1.15rem; line-height: 1.75; }
.contact-hours { margin: 32px 0; padding: 24px 0; border-top: 1px solid #d9d9d5; border-bottom: 1px solid #d9d9d5; }
.contact-hours span { display: block; margin-bottom: 8px; color: var(--red); font-size: 1rem; font-weight: 800; }
.contact-hours strong { font-size: 1.15rem; line-height: 1.6; }
.contact-office-actions { display: flex; flex-wrap: wrap; gap: 18px 32px; }
.contact-route { display: inline-flex; gap: 10px; padding-bottom: 6px; border-bottom: 2px solid var(--red); color: var(--red); font-size: 1.2rem; font-weight: 800; }
.contact-route:hover { color: #111; border-color: #111; }
.contact-map { min-height: 470px; overflow: hidden; background: #e6e6e2; }
.contact-map iframe { width: 100%; height: 100%; min-height: 470px; display: block; border: 0; filter: grayscale(0.3); }
.contact-details { padding: clamp(38px, 4.5vw, 58px) 0; color: #fff; background: #111; }
.contact-details-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(255, 255, 255, 0.2); }
.contact-details-grid > div { min-width: 0; padding: clamp(24px, 3vw, 34px); background: #111; }
.contact-details .eyebrow { color: #ef665c; }
.contact-details dl { margin: 25px 0 0; }
.contact-details dl div { display: flex; justify-content: space-between; gap: 25px; padding: 11px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
.contact-details dt { color: rgba(255, 255, 255, 0.65); }
.contact-details dd { margin: 0; font-weight: 800; }
.contact-details-grid > div > span { display: block; margin: 26px 0 12px; color: rgba(255, 255, 255, 0.68); }
.contact-details-grid > div > strong { display: block; font-size: 1.25rem; line-height: 1.5; overflow-wrap: anywhere; }
.contact-details address { margin-top: 25px; font-style: normal; font-size: 1.1rem; line-height: 1.7; }
.contact-team { padding: clamp(75px, 9vw, 120px) 0; background: #fbfbfb; }
.contact-team-heading { max-width: 850px; margin-bottom: 50px; }
.contact-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #d9d9d5; border: 1px solid #d9d9d5; }
.contact-person { min-width: 0; min-height: 260px; display: flex; flex-direction: column; padding: clamp(28px, 3.5vw, 42px); background: #fff; }
.contact-person h3 { margin: 0 0 10px; font-size: 1.6rem; line-height: 1.12; }
.contact-person > p { margin: 0 0 28px; color: #666; font-size: 1rem; line-height: 1.5; }
.contact-person > div { margin-top: auto; }
.contact-person a { display: block; width: fit-content; max-width: 100%; margin-top: 8px; color: var(--red); font-weight: 700; overflow-wrap: anywhere; }
.contact-person a:hover { color: #111; }

.demo-hero { color: #fff; background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #6e0300 100%); }
.demo-hero-layout { display: grid; min-height: 430px; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 70px; padding-top: 65px; padding-bottom: 65px; }
.demo-hero .breadcrumbs, .demo-hero .breadcrumbs a { color: rgba(255, 255, 255, 0.72); }
.demo-hero .eyebrow { color: #ff786b; font-size: 1.15rem; }
.demo-hero h1 { margin: 10px 0 24px; font-size: 5rem; line-height: 0.94; }
.demo-hero p:not(.eyebrow) { max-width: 760px; font-size: 1.15rem; line-height: 1.65; }
.demo-badge { display: grid; width: 150px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255, 255, 255, 0.3); transform: rotate(45deg); color: #ff786b; font-size: 1.2rem; font-weight: 900; letter-spacing: 0.12em; }
.demo-badge b { transform: rotate(-45deg); }
.demo-workbench { padding: clamp(65px, 8vw, 110px) 0; background: #fbfbfb; }
.demo-workbench-heading { max-width: 850px; margin-bottom: 42px; }
.demo-workbench-heading .eyebrow { font-size: 1.15rem; }
.demo-workbench-heading h2 { margin: 10px 0 20px; font-size: 3rem; line-height: 1.04; }
.demo-workbench-heading > p:last-child { max-width: 700px; font-size: 1.1rem; line-height: 1.65; color: #555; }
.demo-canvas { min-height: 420px; display: grid; gap: 42px; place-items: center; padding: clamp(28px, 5vw, 70px); border: 1px dashed #aaa; background: #fff; }
.demo-database-status { width: min(100%, 680px); padding: clamp(28px, 4vw, 45px); border: 1px solid #d9d9d5; border-left-width: 6px; background: #fbfbfb; }
.demo-database-status-success { border-left-color: #27834b; }
.demo-database-status-error { border-left-color: var(--red); }
.demo-status-heading { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; }
.demo-status-heading .eyebrow { margin-bottom: 5px; font-size: 1rem; }
.demo-status-heading h3 { margin: 0; font-size: 2rem; }
.demo-status-dot { width: 18px; height: 18px; flex: 0 0 18px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 7px rgba(183, 53, 46, 0.12); }
.demo-database-status-success .demo-status-dot { background: #27834b; box-shadow: 0 0 0 7px rgba(39, 131, 75, 0.12); }
.demo-database-status > p { margin: 0 0 26px; font-size: 1.15rem; line-height: 1.6; }
.demo-database-status dl { margin: 0; }
.demo-database-status dl div { display: flex; justify-content: space-between; gap: 30px; padding: 11px 0; border-top: 1px solid #ddd; }
.demo-database-status dt { color: #666; }
.demo-database-status dd { margin: 0; font-weight: 800; }
.demo-project-pages { width: 100%; }
.demo-project-pages-heading { max-width: 850px; margin-bottom: 28px; }
.demo-project-pages-heading .eyebrow { font-size: 1rem; }
.demo-project-pages-heading h3 { margin: 7px 0 12px; font-size: clamp(1.7rem, 2.4vw, 2.3rem); }
.demo-project-pages-heading > p:last-child { margin: 0; color: #666; font-size: 1.02rem; line-height: 1.6; }
.demo-project-pages ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid #ddd; border-left: 1px solid #ddd; list-style: none; }
.demo-project-pages li { min-width: 0; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; }
.demo-project-pages a { display: flex; min-height: 92px; align-items: center; justify-content: space-between; gap: 20px; padding: 22px; color: #171313; font-size: 1.06rem; font-weight: 800; line-height: 1.3; text-decoration: none; transition: color 180ms ease, background-color 180ms ease; }
.demo-project-pages a span:last-child { flex: 0 0 auto; color: var(--red); font-size: 1.35rem; transition: transform 180ms ease; }
.demo-project-pages a:hover, .demo-project-pages a:focus-visible { color: var(--red); background: #fbfbfb; }
.demo-project-pages a:hover span:last-child, .demo-project-pages a:focus-visible span:last-child { transform: translateX(4px); }
.demo-archive-project-pages { padding-top: 42px; border-top: 1px solid #ddd; }
.demo-archive-project-pages a span:first-child { display: grid; gap: 7px; }
.demo-archive-project-pages a small { color: var(--red); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }

@media (max-width: 991px) {
    .demo-project-pages ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .demo-project-pages ul { grid-template-columns: 1fr; }
    .demo-project-pages a { min-height: 72px; padding: 18px; }
}

.projects-overview-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 55%, #3f0c09 100%);
}

.projects-overview-hero::after {
    position: absolute;
    top: 50%;
    right: 3%;
    width: min(37vw, 500px);
    aspect-ratio: 1;
    background: url("/grafika/svg/logo_fwg_grafika_kontur.svg") center / contain no-repeat;
    content: "";
    opacity: 0.1;
    transform: translateY(-50%) rotate(5deg);
}

.projects-overview-hero-layout {
    position: relative;
    z-index: 1;
    min-height: 430px;
    display: grid;
    align-items: center;
    padding-block: clamp(48px, 5vw, 70px);
}

.projects-overview-hero .breadcrumbs,
.projects-overview-hero .breadcrumbs a {
    color: rgba(255, 255, 255, 0.72);
}

.projects-overview-hero .eyebrow,
.projects-overview-intro .eyebrow,
.projects-overview-group .eyebrow {
    font-size: 1.15rem;
}

.projects-overview-hero .eyebrow,
.projects-overview-group .eyebrow {
    color: #ef665c;
}

.projects-overview-hero h1 {
    max-width: 1050px;
    margin: 12px 0 24px;
    font-size: clamp(4rem, 7vw, 6rem);
    line-height: 0.94;
}

.projects-overview-lead {
    max-width: 900px;
    margin: 0;
    font-size: clamp(1.15rem, 1.6vw, 1.4rem);
    line-height: 1.6;
}

.projects-overview-intro {
    padding-block: clamp(50px, 5.5vw, 78px);
    background: #fbfbfb;
}

.projects-overview-intro-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(45px, 8vw, 120px);
    align-items: start;
}

.projects-overview-intro .eyebrow {
    color: var(--red);
}

.projects-overview-intro h2,
.projects-overview-heading h2 {
    margin: 10px 0 0;
    font-size: clamp(2.7rem, 4.5vw, 4rem);
    line-height: 1;
}

.projects-overview-intro-layout > p {
    max-width: 760px;
    margin: 0;
    color: #474341;
    font-size: 1.18rem;
    line-height: 1.75;
}

.projects-overview-group {
    padding-block: clamp(52px, 6vw, 82px);
    background: #fff;
}

.projects-overview-group-soft {
    background: #fbfbfb;
}

.projects-overview-heading {
    max-width: 970px;
    margin-bottom: clamp(34px, 4vw, 54px);
}

.projects-overview-heading > p:last-child {
    max-width: 760px;
    margin: 20px 0 0;
    color: #5e5855;
    font-size: 1.12rem;
    line-height: 1.65;
}

.projects-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid #d9d9d5;
    border-left: 1px solid #d9d9d5;
}

.project-overview-card {
    min-width: 0;
    display: grid;
    grid-template-rows: 220px 1fr;
    border-right: 1px solid #d9d9d5;
    border-bottom: 1px solid #d9d9d5;
    background: #fff;
}

.project-overview-logo {
    display: grid;
    place-items: center;
    padding: 34px;
    border-bottom: 1px solid #deded9;
    background: radial-gradient(circle at center, #fff 0%, #f7f7f4 54%, #e4e4df 100%);
}

.project-overview-logo img {
    display: block;
    width: auto;
    height: auto;
    max-width: min(78%, 330px);
    max-height: 125px;
    object-fit: contain;
}

.project-overview-copy {
    min-height: 360px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(30px, 3.5vw, 48px);
}

.project-overview-tag {
    margin: 0 0 15px;
    color: var(--red);
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.project-overview-copy h3 {
    margin: 0 0 20px;
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.04;
}

.project-overview-copy > p:not(.project-overview-tag) {
    max-width: 680px;
    margin: 0 0 28px;
    color: #55514f;
    font-size: 1.12rem;
    line-height: 1.68;
}

.project-overview-copy a {
    display: inline-flex;
    gap: 10px;
    margin-top: auto;
    color: var(--red);
    font-size: 1.2rem;
    font-weight: 800;
    transition: color 180ms ease;
}

.project-overview-copy a:hover {
    color: #111;
}

.support-detail-content p,
.support-detail-contact p,
.support-detail-note p,
.support-detail-list li {
    font-size: 1.15rem;
    line-height: 1.72;
}

.donation-account,
.support-detail-contact address {
    padding: clamp(34px, 4.5vw, 62px);
    background: linear-gradient(145deg, #fff 0%, #f7f7f4 48%, #e8e8e4 100%);
    border-left: 5px solid var(--red);
    font-style: normal;
}

.donation-account > span,
.support-detail-contact address > span,
.tax-krs span {
    display: block;
    margin-bottom: 14px;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--red);
}

.donation-account h2 {
    margin: 0 0 20px;
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
}

.donation-account strong {
    display: block;
    margin: 26px 0 12px;
    font-size: clamp(1.25rem, 2vw, 2rem);
    overflow-wrap: anywhere;
    color: var(--red);
}

.donation-account small {
    font-size: 1rem;
}

.support-detail-heading {
    max-width: 900px;
    margin-bottom: 55px;
}

.volunteer-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px;
    background: #ddd;
}

.volunteer-benefits article {
    min-height: 310px;
    padding: clamp(30px, 4vw, 55px);
    background: linear-gradient(145deg, #fff 0%, #f8f8f6 52%, #ededeb 100%);
}

.volunteer-benefits span {
    display: block;
    margin-bottom: 70px;
    font-weight: 800;
    color: var(--red);
}

.volunteer-benefits h3 {
    margin-bottom: 16px;
    font-size: 2rem;
}

.support-detail-contact {
    padding: clamp(70px, 8vw, 120px) 0;
    color: #fff;
    background: #111;
}

.support-detail-contact .eyebrow {
    color: #ff6659;
}

.support-detail-contact address {
    color: #181818;
}

.support-detail-contact address strong,
.support-detail-contact address a {
    display: block;
}

.support-detail-contact address strong {
    margin-bottom: 22px;
    font-size: clamp(1.7rem, 2.3vw, 2.5rem);
}

.support-detail-contact address a {
    width: fit-content;
    margin-top: 10px;
    font-size: 1.15rem;
    color: inherit;
}

.support-detail-contact address a:hover {
    color: var(--red);
}

.tax-krs {
    padding: 38px 0;
    color: #fff;
    background: var(--red);
}

.tax-krs-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.tax-krs span {
    margin-bottom: 5px;
    color: rgba(255, 255, 255, 0.78);
}

.tax-krs strong {
    display: block;
    font-size: clamp(2rem, 3.8vw, 4rem);
}

.support-detail-list {
    padding-top: 8px;
}

.support-detail-list ul {
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
}

.support-detail-list li {
    position: relative;
    padding: 13px 0 13px 31px;
    border-bottom: 1px solid #ddd;
}

.support-detail-list li::before {
    position: absolute;
    top: 20px;
    left: 2px;
    width: 9px;
    height: 9px;
    transform: rotate(45deg);
    background: var(--red);
    content: "";
}

.support-detail-note {
    padding: clamp(65px, 8vw, 115px) 0;
    background: #fbfbfb;
}

.support-detail-note h2 {
    margin-bottom: 0;
}

.support-legal-note {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #ccc;
    font-size: 0.92rem !important;
    color: #666;
}

@media (max-width: 991px) {
    :root {
        --anchor-offset: 62px;
    }

    .shell {
        width: min(calc(100% - 36px), var(--container));
    }

    .brand-bar {
        min-height: 102px;
    }

    .site-header {
        min-height: 160px;
    }

    .brand img {
        width: 210px;
    }

    .header-tools {
        gap: 18px;
    }

    .language-nav {
        gap: 10px;
    }

    .header-tools .social-list {
        display: none;
    }

    .nav-shell {
        min-height: 58px;
        align-items: center;
        justify-content: flex-end;
    }

    .sticky-socials {
        right: auto;
        left: 0;
        display: flex;
        gap: 18px;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(-50%);
    }

    body.nav-stuck .sticky-socials {
        opacity: 0;
        pointer-events: none;
        transform: translateY(calc(-50% - 8px));
    }

    .sticky-brand {
        display: flex;
    }

    .sticky-brand img {
        width: 110px;
    }

    .menu-toggle {
        min-height: 58px;
        display: flex;
        margin-left: auto;
    }

    .primary-nav {
        position: fixed;
        z-index: 1000;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        transform: translateX(100%);
        color: var(--black);
        background: var(--white);
        transition: transform 250ms ease;
    }

    .primary-nav.is-open {
        transform: translateX(0);
        box-shadow: none;
    }

    .mobile-nav-header {
        min-height: 86px;
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        padding: 16px 22px;
        border-bottom: 1px solid var(--line);
        background: #fff;
    }

    .mobile-nav-brand {
        display: block;
        width: min(42vw, 150px);
    }

    .mobile-nav-brand img {
        width: 100%;
        height: auto;
    }

    .mobile-nav-close {
        position: relative;
        width: 46px;
        height: 46px;
        flex: 0 0 46px;
        border: 0;
        color: var(--black);
        background: transparent;
        cursor: pointer;
    }

    .mobile-nav-close::before,
    .mobile-nav-close::after {
        position: absolute;
        top: 22px;
        left: 10px;
        width: 27px;
        height: 2px;
        background: currentColor;
        content: "";
    }

    .mobile-nav-close::before {
        transform: rotate(45deg);
    }

    .mobile-nav-close::after {
        transform: rotate(-45deg);
    }

    .mobile-nav-close:hover {
        color: var(--red);
    }

    .mobile-nav-socials {
        display: flex;
        flex: 0 0 auto;
        justify-content: center;
        gap: 12px;
        padding: 18px 22px max(18px, env(safe-area-inset-bottom));
        border-top: 1px solid var(--line);
        background: #fbfbfb;
    }

    .mobile-nav-socials .social-icon {
        width: 42px;
        height: 42px;
        color: var(--black);
        border-color: #b8b8b4;
        background: #fff;
    }

    .mobile-nav-socials .social-icon:hover,
    .mobile-nav-socials .social-icon:focus-visible {
        color: var(--red);
        border-color: var(--red);
    }

    .primary-nav > ul {
        width: 100%;
        height: auto;
        display: block;
        flex: 1 1 auto;
        margin: 0;
        padding: 12px 22px 32px;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .nav-item {
        display: block;
        border-bottom: 1px solid var(--line);
    }

    .nav-item > a,
    .nav-item > button {
        width: 100%;
        min-height: 58px;
        justify-content: space-between;
        padding: 0 6px;
        color: var(--black);
        text-align: left;
    }

    .nav-item > a:hover,
    .nav-item > button:hover,
    .nav-item.is-open > button {
        color: var(--red);
        background: transparent;
    }

    .submenu {
        position: static;
        width: 100%;
        max-width: none;
        display: none;
        flex-direction: column;
        align-items: stretch;
        border-top: 0;
        padding: 0 0 10px 14px;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: none;
    }

    .nav-item.is-open .submenu {
        display: flex;
        transform: none;
    }

    .submenu a {
        padding: 11px 6px;
        border-right: 0;
        white-space: normal;
    }

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

    .hero,
    .slider {
        min-height: 570px;
    }

    .tax-panel {
        min-height: 430px;
    }

    .calendar-layout {
        grid-template-columns: 1fr 40px 40px;
    }

    .calendar-intro {
        grid-column: 1;
    }

    .calendar-days {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .calendar-layout > [data-calendar-prev] {
        grid-column: 2;
        grid-row: 1;
    }

    .calendar-layout > [data-calendar-next] {
        grid-column: 3;
        grid-row: 1;
    }

    .feature-grid,
    .compact-grid {
        grid-template-columns: 1fr 1fr;
    }

    .feature-card:last-child,
    .compact-card:last-child {
        grid-column: 1 / -1;
    }

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

    .project-card:nth-child(odd) {
        border-right: 0;
    }

    .engagement {
        grid-template-columns: 1fr;
    }

    .engagement-newsletter,
    .engagement-support {
        min-height: 440px;
    }

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

    .footer-contact {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .shell {
        width: min(calc(100% - 28px), var(--container));
    }

    body.nav-stuck .site-header {
        padding-bottom: 58px;
    }

    .brand-bar {
        min-height: auto;
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        padding-block: 24px;
    }

    .site-header {
        min-height: 0;
    }

    .brand img {
        width: min(72vw, 250px);
    }

    .header-tools {
        width: 100%;
        overflow-x: auto;
    }

    .language-nav {
        min-width: max-content;
    }

    .hero {
        width: 100%;
        margin-top: 0;
    }

    .hero,
    .slider {
        min-height: 600px;
    }

    .slide-content {
        left: 22px;
        right: 22px;
        bottom: 96px;
    }

    .slide-content h1,
    .slide-content h2 {
        font-size: clamp(2.55rem, 13vw, 4.3rem);
    }

    .slider-controls {
        right: 16px;
        bottom: 16px;
    }

    .tax-panel {
        min-height: 470px;
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 34px;
    }

    .feature-grid,
    .compact-grid,
    .events-grid {
        grid-template-columns: 1fr;
    }

    .projects-carousel {
        grid-template-columns: 46px minmax(0, 1fr) 46px;
        gap: 8px;
        padding-inline: 10px;
    }

    .projects-carousel-arrow {
        width: 46px;
        height: 84px;
        font-size: 3.2rem;
    }

    .feature-card,
    .feature-card:last-child,
    .compact-card,
    .compact-card:last-child {
        grid-column: auto;
    }

    .feature-card {
        flex-basis: var(--projects-card-width, 100%);
        min-height: 430px;
    }

    .project-card {
        grid-template-rows: 220px auto;
    }

    .project-copy {
        min-height: 260px;
    }

    .events-grid {
        border-left: 0;
    }

    .event-card {
        min-height: 260px;
        border-left: 1px solid var(--line);
    }

    .engagement-newsletter,
    .engagement-support {
        padding: 64px 22px;
    }

    .newsletter-form > div {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 46px 24px;
        padding-block: 64px;
    }

    .footer-brand,
    .footer-contact {
        grid-column: 1 / -1;
    }
}

@media (max-width: 479px) {
    .language-nav {
        gap: 9px;
        font-size: 0.72rem;
    }

    .hero,
    .slider {
        min-height: 570px;
    }

    .slide-content h1,
    .slide-content h2 {
        font-size: 2.65rem;
    }

    .slider-arrow {
        width: 40px;
        height: 40px;
    }

    .tax-panel {
        min-height: 600px;
    }

    .support-panel-block {
        padding: 38px 24px;
    }

    .calendar-days {
        --calendar-day-min-width: 100px;
    }

    .section {
        padding-block: 72px;
    }

    .compact-card {
        min-height: 430px;
    }

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

    .footer-brand,
    .footer-contact {
        grid-column: auto;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 4px;
        padding-block: 14px;
    }

    .back-to-top {
        right: max(16px, env(safe-area-inset-right));
        bottom: max(16px, env(safe-area-inset-bottom));
        width: 48px;
        height: 48px;
    }
}

@media (max-width: 991px) {
    .partners-hero-layout,
    .partners-heading,
    .partners-invite-layout {
        grid-template-columns: 1fr;
    }

    .partners-hero-layout {
        min-height: auto;
        gap: 48px;
    }

    .partners-year {
        min-width: 0;
        padding: 30px 0 0;
        border-top: 1px solid rgba(255, 255, 255, 0.3);
        border-left: 0;
    }

    .partners-year strong {
        font-size: 5rem;
    }

    .partners-heading {
        align-items: start;
        gap: 24px;
    }

    .partners-invite-layout {
        gap: 48px;
    }
}

@media (max-width: 767px) {
    .partners-hero h1 {
        font-size: clamp(3.7rem, 18vw, 6rem);
    }

    .partners-grid {
        grid-template-columns: 1fr;
    }

    .partners-heading h2,
    .partners-invite h2 {
        font-size: clamp(2.4rem, 11vw, 3.5rem);
    }

    .partner-card {
        min-height: 520px;
        grid-template-rows: 250px 1fr;
    }

    .partner-logo {
        padding-inline: 32px;
    }

    .partner-logo img {
        height: 135px;
    }

    .partners-contact {
        padding: 30px 26px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .slider-dots button.is-active::after {
        animation: none;
        transform: scaleX(1);
    }
}

@media (min-width: 1200px) {
    .hero {
        height: 680px;
        min-height: 0;
        overflow: hidden;
    }

    .slider {
        height: 100%;
        min-height: 0;
    }

    .support-panel-block {
        padding: 24px clamp(30px, 2.5vw, 44px);
    }

    .tax-panel h2 {
        margin-bottom: 12px;
        font-size: clamp(1.45rem, 1.55vw, 1.8rem);
    }

    .support-panel-block > p:not(.eyebrow, .krs) {
        margin-bottom: 16px;
        font-size: 0.96rem;
        line-height: 1.42;
    }

    .tax-logo {
        width: 100px;
        margin-bottom: 16px;
    }

    .krs {
        font-size: 1.35rem;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .nav-item > a,
    .nav-item > button {
        padding-inline: 20px;
    }

    .hero {
        height: 700px;
        min-height: 0;
        overflow: hidden;
    }

    .slider {
        height: 100%;
        min-height: 0;
    }

    .support-panel-block {
        padding: 26px 30px;
    }

    .tax-panel h2 {
        margin-bottom: 12px;
        font-size: 1.45rem;
    }

    .tax-logo {
        width: 100px;
        margin-bottom: 14px;
    }

    .support-panel-block > p:not(.eyebrow, .krs) {
        margin-bottom: 14px;
        font-size: 0.92rem;
    }
}

/* Slider strony startowej: material 1100 x 550 px zawsze widoczny w calosci. */
.hero {
    height: auto;
    min-height: 0;
    align-items: stretch;
}

.slider {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 2 / 1;
    background: #171312;
}

.slide-link {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: inherit;
    background: #171312;
}

.slide-link::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(12, 10, 10, 0.2) 0%,
        rgba(12, 10, 10, 0.04) 35%,
        rgba(12, 10, 10, 0.04) 65%,
        rgba(12, 10, 10, 0.24) 100%
    );
    content: "";
    pointer-events: none;
}

.slide-link .slide-backdrop {
    position: absolute;
    z-index: 0;
    inset: -7%;
    display: block;
    width: 114%;
    height: 114%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    filter: blur(28px) saturate(0.9) brightness(0.72);
    transform: scale(1.04);
}

.slide-link .slide-image {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.slide-link:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: -5px;
}

.slider-empty {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #160d0c 0%, #381412 55%, #6e0300 100%);
}

.slider-empty img {
    width: min(42%, 300px);
    height: auto;
    opacity: 0.82;
}

@media (max-width: 1199px) {
    .hero,
    .slider {
        height: auto;
        min-height: 0;
    }
}

@media (max-width: 600px) {
    .slider-controls {
        right: 10px;
        bottom: 10px;
        gap: 6px;
    }

    .slider-dots {
        gap: 5px;
    }

    .slider-dots button {
        width: 35px;
        height: 12px;
    }
}

@media (max-width: 991px) {
    .support-overview-hero-layout {
        min-height: auto;
        grid-template-columns: 1fr;
    }

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

    .support-option {
        min-height: 390px;
    }

    .language-hero-layout,
    .language-about-grid,
    .language-cooperation-layout,
    .language-history-preview-layout {
        grid-template-columns: 1fr;
    }

    .language-hero-layout {
        min-height: auto;
    }

    .language-about-grid,
    .language-cooperation-layout {
        gap: 42px;
    }

    .language-highlights-grid {
        grid-template-columns: 1fr;
    }

    .language-highlights article {
        min-height: 300px;
    }

    .language-highlights article + article {
        border-top: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.22);
    }

    .rental-hero-layout,
    .rental-intro-layout,
    .rental-room-layout,
    .rental-booking-layout {
        grid-template-columns: 1fr;
    }

    .rental-hero-layout {
        gap: 0;
    }

    .rental-room-image {
        min-height: 480px;
    }

    .rental-workshops-grid,
    .rental-extras-grid {
        grid-template-columns: 1fr;
    }

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

    .rental-form-intro {
        position: static;
    }

    .rental-extras article {
        min-height: 250px;
    }

    .rental-extras article + article {
        border-top: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.2);
    }

    .support-detail-hero-layout,
    .support-detail-two-columns,
    .support-detail-contact-layout,
    .support-detail-note-layout {
        grid-template-columns: 1fr;
    }

    .support-detail-hero-layout {
        min-height: auto;
        gap: 50px;
    }

    .support-detail-symbol {
        width: 220px;
        justify-self: start;
        margin-left: 35px;
    }

    .support-detail-hero-image img {
        max-width: 620px;
    }

    .volunteer-benefits {
        grid-template-columns: 1fr;
    }

    .statute-hero-layout,
    .statute-layout { grid-template-columns: 1fr; }
    .statute-mark { width: 170px; justify-self: start; margin-left: 30px; }
    .statute-nav { position: static; }

    .records-hero-layout,
    .records-disclosure-layout,
    .subsidy-content-layout { grid-template-columns: 1fr; }
    .records-grid { grid-template-columns: 1fr; }
    .records-krs, .records-logo { max-width: 620px; }

    .downloads-hero-layout,
    .download-group-heading { grid-template-columns: 1fr; }
    .downloads-shortcuts { max-width: 620px; }
    .download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .history-hero-layout,
    .history-two-columns,
    .history-cooperation-layout,
    .history-timeline-preview-layout { grid-template-columns: 1fr; }
    .history-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .history-values article:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.2); }
    .history-values article:nth-child(4) { border-top: 1px solid rgba(255, 255, 255, 0.2); }

    .foundation-hero-layout,
    .foundation-resources-layout,
    .foundation-support-layout,
    .foundation-social-layout { grid-template-columns: 1fr; }
    .foundation-hero-mark { width: 220px; justify-self: start; }
    .foundation-row { grid-template-columns: 45px 1fr; }
    .foundation-row > div:last-child { grid-column: 2; }

    .contact-hero-layout,
    .contact-office-layout { grid-template-columns: 1fr; }
    .contact-hero-direct { max-width: 620px; }
    .contact-details-grid,
    .contact-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .demo-hero-layout { grid-template-columns: 1fr; }
    .demo-badge { width: 120px; margin-left: 22px; }
}

@media (max-width: 767px) {
    .support-detail-content h2,
    .support-detail-contact h2,
    .support-detail-note h2 {
        font-size: 3rem;
    }
    .support-overview-hero h1 {
        font-size: clamp(3.6rem, 17vw, 5.5rem);
    }

    .support-overview-hero::after {
        right: -80px;
        width: 360px;
    }

    .support-option {
        min-height: 420px;
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 32px 26px;
    }

    .support-option h3 {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .language-hero h1 {
        font-size: clamp(3.3rem, 15vw, 5rem);
    }

    .language-hero::after {
        right: -90px;
        width: 360px;
    }

    .language-highlights article {
        min-height: 280px;
        padding: 32px 26px;
    }

    .rental-hero h1 {
        font-size: clamp(3.2rem, 14vw, 4.8rem);
    }

    .rental-intro h2,
    .rental-section-heading h2,
    .rental-booking h2,
    .rental-form-intro h2 {
        font-size: clamp(2.4rem, 10vw, 3.2rem);
    }

    .rental-hero-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .rental-room-image {
        min-height: 320px;
    }

    .rental-room-copy {
        padding: 48px 26px;
    }

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

    .rental-workshop-card {
        grid-template-rows: 260px 1fr;
    }

    .rental-extras article {
        padding: 32px 26px;
    }

    .rental-extras article h3 {
        margin-top: 44px;
    }

    .rental-form {
        padding: 30px 24px;
    }

    .rental-form-grid {
        grid-template-columns: 1fr;
    }

    .rental-form-wide {
        grid-column: auto;
    }

    .support-detail-hero h1 {
        font-size: clamp(3.2rem, 14vw, 5rem);
    }

    .support-detail-hero-layout {
        padding-top: 58px;
        padding-bottom: 68px;
    }

    .support-detail-symbol {
        width: 155px;
        margin: 0 0 25px 25px;
    }

    .support-detail-hero-image img {
        max-height: 300px;
    }

    .support-detail-two-columns,
    .support-detail-contact-layout,
    .support-detail-note-layout {
        gap: 38px;
    }

    .volunteer-benefits article {
        min-height: 260px;
    }

    .volunteer-benefits span {
        margin-bottom: 42px;
    }

    .tax-krs-layout {
        align-items: flex-start;
        flex-direction: column;
    }

    .statute-hero-layout { min-height: auto; gap: 45px; padding-top: 58px; padding-bottom: 68px; }
    .statute-hero h1 { font-size: 4.8rem; }
    .statute-mark { width: 130px; }
    .statute-mark span { font-size: 4.7rem; }
    .statute-document { padding: 30px 24px; font-size: 1rem; }
    .statute-document h2 { margin-top: 55px; }

    .records-hero-layout { min-height: auto; gap: 45px; padding-top: 58px; padding-bottom: 68px; }
    .records-hero h1 { font-size: 4.5rem; }
    .record-card { min-height: 380px; }

    .downloads-hero-layout { min-height: auto; gap: 50px; padding-top: 58px; padding-bottom: 68px; }
    .downloads-hero h1 { font-size: clamp(3.5rem, 14vw, 5rem); }
    .download-grid { grid-template-columns: 1fr; }
    .download-card { grid-template-rows: 190px 1fr; }
    .download-group-heading h2 { font-size: 2.6rem; }

    .history-hero-layout { min-height: auto; gap: 45px; padding-top: 58px; padding-bottom: 68px; }
    .history-hero h1 { font-size: 3.5rem; }
    .history-years { grid-template-columns: 1fr; }
    .history-years div { min-height: 155px; }
    .history-years div + div { border-top: 1px solid rgba(255, 255, 255, 0.24); border-left: 0; }
    .history-origin h2, .history-legacy h2, .history-cooperation h2, .history-mission h2 { font-size: 2.4rem; }
    .history-values { grid-template-columns: 1fr; }
    .history-values article + article { border-top: 1px solid rgba(255, 255, 255, 0.2); border-left: 0; }
    .history-values article { min-height: 270px; }

    .foundation-hero-layout { min-height: auto; gap: 40px; padding-top: 58px; padding-bottom: 68px; }
    .foundation-hero h1 { font-size: 3.5rem; }
    .foundation-hero-mark { width: 150px; }
    .foundation-row { grid-template-columns: 1fr; gap: 20px; }
    .foundation-row > div:last-child { grid-column: auto; }
    .foundation-row h2, .foundation-resources h2, .foundation-support h2, .foundation-social h2 { font-size: 2.4rem; }
    .foundation-social-links { grid-template-columns: 1fr; }
    .foundation-social-links a { min-height: 110px; flex-direction: row; }
    .foundation-social-links a + a { border-top: 1px solid #d9d9d5; border-left: 0; }

    .contact-hero-layout { min-height: auto; gap: 42px; padding-top: 58px; padding-bottom: 68px; }
    .contact-hero h1 { font-size: 3.5rem; }
    .contact-office h2, .contact-team h2 { font-size: 2.4rem; }
    .contact-map, .contact-map iframe { min-height: 340px; }
    .contact-details-grid,
    .contact-team-grid { grid-template-columns: 1fr; }
    .contact-person { min-height: 230px; }

    .demo-hero-layout { min-height: auto; gap: 38px; padding-top: 58px; padding-bottom: 68px; }
    .demo-hero h1 { font-size: 3.5rem; }
    .demo-workbench-heading h2 { font-size: 2.4rem; }
}

@media (max-width: 1050px) {
    .projects-overview-intro-layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .projects-overview-intro-layout > p {
        max-width: 850px;
    }

    .project-overview-card {
        grid-template-rows: 190px 1fr;
    }

    .project-overview-copy {
        min-height: 390px;
    }
}

@media (max-width: 767px) {
    .projects-overview-hero::after {
        right: -90px;
        width: 350px;
    }

    .projects-overview-hero-layout {
        min-height: auto;
        padding-block: 46px 54px;
    }

    .projects-overview-hero h1 {
        font-size: clamp(3.3rem, 15vw, 4.8rem);
    }

    .projects-overview-intro h2,
    .projects-overview-heading h2 {
        font-size: 2.55rem;
    }

    .projects-overview-grid {
        grid-template-columns: 1fr;
    }

    .project-overview-card {
        grid-template-rows: 180px 1fr;
    }

    .project-overview-copy {
        min-height: 0;
        padding: 30px 26px 34px;
    }

    .project-overview-copy h3 {
        font-size: 2.2rem;
    }

    .project-overview-copy a {
        margin-top: 12px;
    }
}

/* Wspólny limit nagłówków stron. Chroni także przyszłe sekcje hero przed
   przypadkowym przywróceniem ponadwymiarowych tytułów. */
.hero h1,
[class*="-hero"] h1 {
    font-size: clamp(2.25rem, 4vw, 3rem);
}

/* Spójna, spokojniejsza skala nagłówków w treści stron. */
.slide-content h2,
.partners-heading h2,
.partners-invite h2,
.support-overview-heading h2,
.language-intro h2,
.language-cooperation h2,
.language-highlights h2,
.rental-intro h2,
.rental-section-heading h2,
.rental-booking h2,
.rental-room-copy h2,
.rental-form-intro h2,
.section-heading h2,
.engagement h2,
.support-detail-content h2,
.support-detail-contact h2,
.support-detail-note h2,
.donation-account h2,
.records-heading h2,
.subsidy-content h2,
.download-group-heading h2,
.history-origin h2,
.history-legacy h2,
.history-cooperation h2,
.history-mission h2,
.foundation-row h2,
.foundation-resources h2,
.foundation-support h2,
.foundation-social h2,
.contact-office h2,
.contact-team h2,
.demo-workbench-heading h2,
.projects-overview-intro h2,
.projects-overview-heading h2 {
    font-size: clamp(1.9rem, 3vw, 2.75rem);
}

.partner-card-content h3,
.support-option h3,
.rental-workshop-card h3,
.rental-extras article h3,
.project-copy h3,
.compact-card-text h3,
.record-card h3,
.project-overview-copy h3 {
    font-size: clamp(1.55rem, 2.3vw, 2.2rem);
}

.partners-year strong,
.event-date strong,
.records-krs strong,
.history-years strong,
.tax-krs strong {
    font-size: clamp(2rem, 3vw, 2.75rem);
}

.statute-mark span {
    font-size: 3rem;
}

/* Nagłówki sekcji mogą korzystać z całej szerokości kolumny. Ograniczenia
   długości pozostają na akapitach, gdzie poprawiają czytelność tekstu. */
.partners-invite h2,
.support-overview-heading,
.rental-section-heading,
.support-detail-heading,
.records-heading,
.history-section-heading,
.foundation-social h2,
.contact-team-heading,
.demo-workbench-heading,
.projects-overview-heading,
.projects-overview-intro h2,
.projects-overview-heading h2 {
    max-width: none;
}

main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
    max-width: none;
}

.newsletter-form-note,
.newsletter-return-note {
    max-width: 580px;
    margin: 12px 0 0;
    color: #66615f;
    font-size: 0.9rem;
    line-height: 1.55;
}

.newsletter-confirmation-hero {
    color: #fff;
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #3f0c09 100%);
}

.newsletter-confirmation-hero-layout {
    min-height: 320px;
    display: grid;
    align-content: center;
    padding-block: 48px 56px;
}

.newsletter-confirmation-hero .breadcrumbs,
.newsletter-confirmation-hero .breadcrumbs a {
    color: rgba(255, 255, 255, 0.72);
}

.newsletter-confirmation-hero .eyebrow {
    color: #ff786b;
    font-size: 1.05rem;
}

.newsletter-confirmation-hero h1 {
    margin: 10px 0 18px;
}

.newsletter-confirmation-hero p:last-child {
    max-width: 780px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.15rem;
    line-height: 1.65;
}

.newsletter-confirmation-section {
    padding-block: clamp(58px, 7vw, 92px);
    background: #fbfbfb;
}

.newsletter-confirmation-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);
    gap: clamp(46px, 8vw, 120px);
    align-items: start;
}

.newsletter-confirmation-intro .eyebrow {
    color: var(--red);
    font-size: 1.05rem;
}

.newsletter-confirmation-intro h2 {
    margin: 10px 0 22px;
    font-size: clamp(2rem, 3vw, 2.65rem);
    line-height: 1.05;
}

.newsletter-confirmation-intro > p:last-of-type {
    margin: 0;
    color: #55514f;
    font-size: 1.08rem;
    line-height: 1.7;
}

.newsletter-steps {
    margin: 42px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #d7d4d1;
}

.newsletter-steps li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 15px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid #d7d4d1;
    color: #77716e;
}

.newsletter-steps li > span {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 0.82rem;
    font-weight: 800;
}

.newsletter-steps strong,
.newsletter-steps small {
    display: block;
}

.newsletter-steps small {
    margin-top: 4px;
}

.newsletter-steps .is-complete,
.newsletter-steps .is-current {
    color: var(--red);
}

.newsletter-steps .is-current {
    font-weight: 700;
}

.newsletter-confirmation-card {
    padding: clamp(32px, 5vw, 64px);
    border-top: 5px solid var(--red);
    background: #fff;
    box-shadow: 0 20px 55px rgba(35, 26, 24, 0.08);
}

.newsletter-confirmation-label {
    margin: 0 0 12px;
    color: var(--red);
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.newsletter-confirmation-email {
    display: block;
    font-size: clamp(1.35rem, 2.5vw, 2.1rem);
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.newsletter-change-email {
    display: inline-flex;
    gap: 10px;
    margin-top: 16px;
    border: 0;
    padding: 0;
    color: var(--red);
    background: transparent;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.newsletter-change-email:hover {
    color: #111;
}

.newsletter-inline-edit {
    margin-top: 10px;
    padding: 24px;
    border: 1px solid #d7d4d1;
    background: #fbfbfb;
}

.newsletter-inline-edit label {
    display: block;
    margin-bottom: 8px;
    font-size: 0.92rem;
    font-weight: 800;
}

.newsletter-inline-edit > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}

.newsletter-inline-edit input,
.newsletter-inline-edit > div > button {
    min-width: 0;
    height: 52px;
    border: 1px solid #111;
    padding-inline: 16px;
    font: inherit;
}

.newsletter-inline-edit input {
    background: #fff;
}

.newsletter-inline-edit > div > button {
    color: #fff;
    background: #111;
    font-weight: 800;
    cursor: pointer;
}

.newsletter-inline-cancel {
    margin-top: 13px;
    border: 0;
    padding: 0;
    color: #625c59;
    background: transparent;
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.newsletter-consent-form {
    margin-top: 38px;
    padding-top: 30px;
    border-top: 1px solid #d7d4d1;
}

.newsletter-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.newsletter-consent-option {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 15px;
    align-items: start;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.6;
    cursor: pointer;
}

.newsletter-consent-option input {
    width: 21px;
    height: 21px;
    margin-top: 3px;
    accent-color: var(--red);
}

.newsletter-consent-form > p {
    margin: 22px 0;
    color: #67615e;
    font-size: 0.94rem;
    line-height: 1.65;
}

.newsletter-consent-form > p a {
    color: var(--red);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.newsletter-privacy-note {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 16px;
    margin: 28px 0 24px;
    padding: 22px 24px;
    border-left: 4px solid var(--red);
    background: linear-gradient(145deg, #fff 0%, #f7f7f4 52%, #ecece8 100%);
}

.newsletter-privacy-note i {
    margin-top: 3px;
    color: var(--red);
    font-size: 1.15rem;
}

.newsletter-privacy-note p {
    margin: 0;
    color: #4d4845;
    font-size: 0.97rem;
    line-height: 1.65;
}

.newsletter-privacy-note strong {
    color: #111;
}

.newsletter-consent-form .button[disabled] {
    opacity: 0.48;
    cursor: not-allowed;
}

.newsletter-confirmation-error h2 {
    margin: 8px 0 18px;
    font-size: clamp(1.9rem, 3vw, 2.6rem);
}

.newsletter-confirmation-error > p:not(.newsletter-confirmation-label) {
    color: #5e5855;
    line-height: 1.65;
}

.newsletter-retry-form {
    margin-top: 32px;
}

.newsletter-result-card {
    max-width: 840px;
    display: grid;
    justify-items: start;
    gap: 20px;
    border-top: 5px solid var(--red);
    padding: clamp(32px, 5vw, 58px);
    background: #fff;
    box-shadow: 0 20px 55px rgba(35, 26, 24, 0.08);
}

.newsletter-result-card > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--red);
    font-size: 1.55rem;
    font-weight: 900;
}

.newsletter-result-success {
    border-top-color: #477653;
}

.newsletter-result-success > span {
    background: #477653;
}

.newsletter-result-card h2,
.newsletter-result-card p {
    margin: 0;
}

.newsletter-result-card h2 {
    font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.newsletter-result-card p {
    max-width: 720px;
    color: #5e5855;
    font-size: 1.08rem;
    line-height: 1.7;
}

.newsletter-result-card form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px 24px;
}

@media (max-width: 900px) {
    .newsletter-confirmation-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .newsletter-confirmation-intro {
        max-width: 760px;
    }
}

@media (max-width: 600px) {
    .newsletter-confirmation-hero-layout {
        min-height: auto;
        padding-block: 42px 48px;
    }

    .newsletter-confirmation-section {
        padding-block: 44px;
    }

    .newsletter-confirmation-card {
        padding: 30px 24px;
    }

    .newsletter-inline-edit > div {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

.activity-history-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 56%, #3f0c09 100%);
}

.activity-history-hero-layout {
    min-height: 390px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.36fr);
    gap: clamp(40px, 8vw, 120px);
    align-items: center;
    padding-block: 56px 64px;
}

.activity-history-hero .breadcrumbs,
.activity-history-hero .breadcrumbs a {
    color: rgba(255, 255, 255, 0.72);
}

.activity-history-hero .eyebrow,
.activity-history-timeline-section .eyebrow,
.activity-history-closing .eyebrow {
    color: #ff786b;
    font-size: 1.08rem;
}

.activity-history-hero h1 {
    margin: 10px 0 20px;
}

.activity-history-hero h1 + p {
    max-width: 820px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.18rem;
    line-height: 1.65;
}

.activity-history-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    margin-top: 30px;
    padding: 14px 20px;
    border: 1px solid rgba(255, 255, 255, 0.58);
    color: #fff;
    font-size: 1.08rem;
    font-weight: 800;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.activity-history-hero-link:hover,
.activity-history-hero-link:focus-visible {
    border-color: #fff;
    background: #fff;
    color: var(--red);
}

.activity-history-hero-mark {
    width: min(28vw, 340px);
    aspect-ratio: 1;
    justify-self: end;
    background: url('/grafika/svg/logo_fwg_grafika_kontur.svg') center / contain no-repeat;
    opacity: 0.15;
    transform: rotate(5deg);
}

.activity-history-intro {
    padding-block: clamp(58px, 7vw, 92px);
    background: #fbfbfb;
}

.activity-history-intro-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(46px, 8vw, 120px);
    align-items: start;
}

.activity-history-intro .eyebrow {
    color: var(--red);
    font-size: 1.08rem;
}

.activity-history-intro h2,
.activity-history-heading h2,
.activity-history-closing h2 {
    max-width: none;
    margin: 10px 0 0;
    font-size: clamp(2rem, 3vw, 2.7rem);
    line-height: 1.05;
}

.activity-history-intro-copy > p {
    margin: 0;
    color: #514c49;
    font-size: 1.12rem;
    line-height: 1.75;
}

.activity-history-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 42px;
    border-top: 1px solid #d7d4d1;
    border-bottom: 1px solid #d7d4d1;
}

.activity-history-stats > div {
    min-height: 135px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px;
}

.activity-history-stats > div + div {
    border-left: 1px solid #d7d4d1;
}

.activity-history-stats strong,
.activity-history-stats span {
    display: block;
}

.activity-history-stats strong {
    color: var(--red);
    font-size: clamp(2rem, 3vw, 2.75rem);
    line-height: 1;
}

.activity-history-stats span {
    margin-top: 10px;
    color: #625c59;
    font-size: 0.9rem;
    line-height: 1.4;
}

.activity-history-timeline-section {
    position: relative;
    overflow: hidden;
    scroll-margin-top: var(--anchor-offset);
    padding-block: clamp(62px, 8vw, 105px);
    color: #fff;
    background: linear-gradient(145deg, #160d0c 0%, #260d0a 54%, #6e0300 100%);
}

.activity-history-timeline-section > .shell {
    position: relative;
    z-index: 1;
}

.activity-history-gallery {
    display: none;
}

.activity-history-heading {
    margin-bottom: clamp(48px, 7vw, 88px);
}

.activity-history-timeline {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.activity-history-timeline::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(22% + 38px);
    width: 1px;
    background: rgba(255, 255, 255, 0.26);
    content: '';
}

.activity-history-entry {
    position: relative;
    display: grid;
    grid-template-columns: 22% 76px minmax(0, 1fr);
    align-items: start;
    padding-bottom: clamp(42px, 5vw, 72px);
}

.activity-history-entry:last-child {
    padding-bottom: 0;
}

.activity-history-year {
    padding-top: 2px;
    text-align: right;
}

.activity-history-year span,
.activity-history-year small {
    display: block;
}

.activity-history-year span {
    font-size: clamp(2rem, 3vw, 2.75rem);
    font-weight: 900;
    line-height: 1;
}

.activity-history-year small {
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.88rem;
    font-weight: 700;
}

.activity-history-dot {
    position: relative;
    z-index: 1;
    width: 15px;
    height: 15px;
    justify-self: center;
    margin-top: 8px;
    border: 4px solid #260d0a;
    border-radius: 50%;
    background: #ef665c;
    box-sizing: content-box;
}

.activity-history-entry.is-current .activity-history-dot {
    background: #fff;
    box-shadow: 0 0 0 7px rgba(239, 102, 92, 0.28);
}

.activity-history-entry.is-project .activity-history-dot {
    width: 17px;
    height: 17px;
    border: 3px solid #f5c65c;
    border-radius: 2px;
    background: #6e0300;
    box-shadow: 0 0 0 7px rgba(245, 198, 92, 0.1);
    transform: rotate(45deg);
}

.activity-history-entry.is-major .activity-history-year span {
    color: #f5c65c;
    text-shadow: 0 0 30px rgba(245, 198, 92, 0.18);
}

.activity-history-entry.is-major .activity-history-dot {
    width: 21px;
    height: 21px;
    border-width: 4px;
    background: #f5c65c;
    box-shadow: 0 0 0 9px rgba(245, 198, 92, 0.13), 0 0 34px rgba(245, 198, 92, 0.22);
}

.activity-history-entry.is-major .activity-history-copy {
    position: relative;
    margin-top: -24px;
    padding: 26px clamp(24px, 3vw, 40px) 30px;
    border: 1px solid rgba(245, 198, 92, 0.3);
    background: linear-gradient(135deg, rgba(110, 3, 0, 0.5) 0%, rgba(255, 255, 255, 0.045) 100%);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.16);
}

.activity-history-copy {
    max-width: 850px;
    padding: 0 0 8px clamp(8px, 2vw, 28px);
}

.activity-history-copy h3 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.55rem, 2.3vw, 2.15rem);
    line-height: 1.08;
}

.activity-history-project-label {
    display: inline-block;
    margin: 0 0 12px;
    color: #f5c65c;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.09em;
    line-height: 1.3;
    text-transform: uppercase;
}

.activity-history-major-label {
    display: block;
    margin-bottom: 10px;
    color: #fff;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.11em;
    line-height: 1.3;
    text-transform: uppercase;
}

.activity-history-entry.is-major .activity-history-project-label {
    color: #f5c65c;
}

/* Klub Przyjaciół i Mecenasów */
.friends-club-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #3f0c09 100%);
}

.friends-club-hero::after {
    position: absolute;
    right: -8%;
    bottom: -55%;
    width: min(55vw, 760px);
    aspect-ratio: 1;
    border: 1px solid rgba(245, 198, 92, 0.12);
    content: "";
    transform: rotate(45deg);
}

.friends-club-hero-layout {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 510px;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 0.42fr);
    align-items: center;
    gap: clamp(50px, 8vw, 120px);
    padding-block: clamp(56px, 6vw, 82px);
}

.friends-club-hero .breadcrumbs,
.friends-club-hero .breadcrumbs a {
    color: rgba(255, 255, 255, 0.72);
}

.friends-club-hero .eyebrow,
.friends-club-intro .eyebrow,
.friends-club-benefits .eyebrow,
.friends-club-levels .eyebrow,
.friends-club-steps .eyebrow,
.friends-club-patrons .eyebrow,
.friends-club-join .eyebrow {
    font-size: 1.15rem;
}

.friends-club-hero .eyebrow,
.friends-club-levels .eyebrow,
.friends-club-patrons .eyebrow,
.friends-club-join .eyebrow {
    color: #f5c65c;
}

.friends-club-hero h1 {
    max-width: 880px;
    margin: 12px 0 24px;
    font-size: clamp(2.45rem, 4vw, 3rem);
    line-height: 1;
}

.friends-club-lead {
    max-width: 800px;
    margin: 0;
    font-size: clamp(1.13rem, 1.5vw, 1.3rem);
    line-height: 1.65;
}

.friends-club-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px 30px;
    margin-top: 34px;
}

.friends-club-text-link {
    display: inline-flex;
    gap: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.65);
    font-size: 1.1rem;
    font-weight: 800;
}

.friends-club-text-link:hover {
    border-color: #f5c65c;
    color: #f5c65c;
}

.friends-club-hero-mark {
    display: grid;
    width: min(24vw, 285px);
    aspect-ratio: 1;
    place-items: center;
    justify-self: end;
    border: 1px solid rgba(245, 198, 92, 0.42);
    background: rgba(255, 255, 255, 0.035);
    transform: rotate(45deg);
}

.friends-club-hero-mark i {
    color: #f5c65c;
    font-size: clamp(3.2rem, 7vw, 6.5rem);
    transform: rotate(-45deg);
}

.friends-club-intro,
.friends-club-benefits,
.friends-club-levels,
.friends-club-steps,
.friends-club-patrons,
.friends-club-join {
    scroll-margin-top: var(--anchor-offset);
}

.friends-club-intro {
    padding-block: clamp(58px, 6vw, 86px);
    background: #fff;
}

.friends-club-intro-layout,
.friends-club-steps-layout,
.friends-club-patrons-layout,
.friends-club-join-layout {
    display: grid;
    grid-template-columns: minmax(290px, 0.85fr) minmax(0, 1.15fr);
    align-items: start;
    gap: clamp(45px, 8vw, 120px);
}

.friends-club-intro .eyebrow,
.friends-club-benefits .eyebrow,
.friends-club-steps .eyebrow {
    color: var(--red);
}

.friends-club-intro h2,
.friends-club-heading h2,
.friends-club-steps h2,
.friends-club-patrons h2,
.friends-club-join h2 {
    margin: 10px 0 0;
    font-size: clamp(2rem, 3.2vw, 2.8rem);
    line-height: 1.05;
}

.friends-club-intro-copy p {
    margin: 0;
    color: #514d4b;
    font-size: 1.16rem;
    line-height: 1.75;
}

.friends-club-intro-copy p + p {
    margin-top: 22px;
}

.friends-club-benefits {
    padding-block: clamp(54px, 6vw, 82px);
    background: #fbfbfb;
}

.friends-club-heading {
    max-width: 950px;
    margin-bottom: clamp(36px, 4vw, 54px);
}

.friends-club-heading > p:last-child {
    max-width: 830px;
    margin: 20px 0 0;
    font-size: 1.13rem;
    line-height: 1.7;
}

.friends-club-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid #d9d9d5;
    background: #d9d9d5;
}

.friends-club-benefits-grid article {
    min-height: 285px;
    padding: clamp(30px, 3.5vw, 46px);
    background: #fff;
}

.friends-club-benefits-grid span {
    display: block;
    margin-bottom: 52px;
    color: var(--red);
    font-weight: 900;
}

.friends-club-benefits-grid h3 {
    margin: 0 0 15px;
    font-size: clamp(1.55rem, 2vw, 1.9rem);
}

.friends-club-benefits-grid p {
    margin: 0;
    color: #5c5754;
    font-size: 1.06rem;
    line-height: 1.65;
}

.friends-club-levels {
    padding-block: clamp(62px, 7vw, 96px);
    color: #fff;
    background: linear-gradient(145deg, #6e0300 0%, #160d0c 46%, #6e0300 100%);
}

.friends-club-heading-light > p:last-child {
    color: rgba(255, 255, 255, 0.76);
}

.friends-club-level-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.friends-club-level {
    position: relative;
    min-height: 560px;
    display: flex;
    flex-direction: column;
    padding: clamp(30px, 4vw, 50px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(9, 7, 7, 0.64);
}

.friends-club-level-featured,
.friends-club-level-patron {
    border-color: rgba(245, 198, 92, 0.55);
    background: linear-gradient(145deg, rgba(110, 3, 0, 0.74), rgba(20, 13, 12, 0.9));
}

.friends-club-level-badge {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    margin-bottom: 26px;
    color: #f5c65c;
    font-size: 0.85rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.friends-club-level:not(.friends-club-level-featured):not(.friends-club-level-patron) header {
    padding-top: 45px;
}

.friends-club-level header p {
    margin: 0 0 8px;
    color: #f5c65c;
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.friends-club-level h3 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.7rem);
}

.friends-club-level ul {
    margin: 30px 0 34px;
    padding: 0;
    list-style: none;
}

.friends-club-level li {
    position: relative;
    padding: 12px 0 12px 27px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.04rem;
    line-height: 1.5;
}

.friends-club-level li::before {
    position: absolute;
    top: 19px;
    left: 2px;
    width: 8px;
    height: 8px;
    background: #f5c65c;
    content: "";
    transform: rotate(45deg);
}

.friends-club-level > a {
    display: inline-flex;
    width: fit-content;
    gap: 10px;
    margin-top: auto;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(245, 198, 92, 0.68);
    color: #f5c65c;
    font-size: 1.1rem;
    font-weight: 900;
}

.friends-club-level > a:hover {
    border-color: #fff;
    color: #fff;
}

.friends-club-level-note {
    max-width: 950px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.96rem;
    line-height: 1.6;
}

@media (min-width: 1200px) {
    .friends-club-heading,
    .friends-club-heading-light > p:last-child,
    .friends-club-level-note {
        max-width: none;
    }
}

/* Static project details */
.project-detail-hero {
    position: relative;
    overflow: hidden;
    padding-block: clamp(46px, 5vw, 72px);
    color: #fff;
    background: linear-gradient(145deg, #160d0c 0%, #42120f 58%, #6e0300 100%);
}

.project-detail-hero::after {
    content: "";
    position: absolute;
    right: -8vw;
    bottom: -22vw;
    width: min(46vw, 680px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, 0.08);
    transform: rotate(18deg);
    pointer-events: none;
}

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

.project-detail-hero .breadcrumbs,
.project-detail-hero .breadcrumbs a {
    color: rgba(255, 255, 255, 0.78);
}

.project-detail-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 360px);
    align-items: center;
    gap: clamp(44px, 7vw, 110px);
    margin-top: clamp(30px, 4vw, 54px);
}

.project-detail-hero .eyebrow,
.project-detail-content .eyebrow,
.project-detail-visit .eyebrow {
    font-size: 1rem;
}

.project-detail-hero h1 {
    max-width: none;
    margin: 12px 0 18px;
    font-size: clamp(2.15rem, 3.3vw, 3rem);
    line-height: 1.05;
}

.project-detail-lead {
    max-width: 900px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: clamp(1.08rem, 1.4vw, 1.28rem);
    line-height: 1.65;
}

.project-detail-logo {
    display: grid;
    place-items: center;
    min-height: 270px;
    padding: clamp(30px, 4vw, 54px);
    background: radial-gradient(circle at center, #fff 0%, #f5f5f3 58%, #dddcd8 100%);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
}

.project-detail-logo img {
    display: block;
    width: 100%;
    max-width: 245px;
    max-height: 170px;
    object-fit: contain;
}

.project-detail-content {
    padding-block: clamp(54px, 6vw, 88px);
    background: #fff;
}

.project-detail-content-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(42px, 7vw, 110px);
    align-items: start;
}

.project-detail-content h2,
.project-detail-visit h2 {
    max-width: none;
    margin: 12px 0 0;
    font-size: clamp(2rem, 3vw, 2.75rem);
    line-height: 1.12;
}

.project-detail-prose {
    font-size: 1.12rem;
    line-height: 1.78;
}

.project-detail-prose p {
    margin: 0;
}

.project-detail-prose p + p {
    margin-top: 22px;
}

.project-detail-visit {
    padding-block: clamp(48px, 5vw, 72px);
    background: #fbfbfb;
}

.project-detail-visit-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: clamp(32px, 6vw, 90px);
}

.project-detail-visit h2 {
    margin-bottom: 16px;
}

.project-detail-visit p:last-child {
    max-width: 900px;
    margin: 0;
    color: #5e5a58;
    font-size: 1.08rem;
    line-height: 1.7;
}

.project-detail-visit .button {
    white-space: nowrap;
}

@media (max-width: 991px) {
    .project-detail-hero-layout,
    .project-detail-content-layout {
        grid-template-columns: 1fr;
    }

    .project-detail-logo {
        width: min(100%, 420px);
        min-height: 220px;
    }

    .project-detail-content-layout {
        gap: 30px;
    }

    .project-detail-visit-layout {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

@media (max-width: 600px) {
    .project-detail-hero {
        padding-block: 34px 44px;
    }

    .project-detail-hero-layout {
        gap: 30px;
        margin-top: 25px;
    }

    .project-detail-logo {
        min-height: 180px;
        padding: 28px;
    }

    .project-detail-logo img {
        max-height: 125px;
    }

    .project-detail-content,
    .project-detail-visit {
        padding-block: 44px;
    }

    .project-detail-prose {
        font-size: 1.04rem;
    }

    .project-detail-visit .button {
        white-space: normal;
    }
}

/* Restored recurring and occasional projects */
.archive-project-hero { padding-block: clamp(48px, 5vw, 76px); color: #fff; background: linear-gradient(145deg, #6e0300 0%, #160d0c 58%, #3b100d 100%); }
.archive-project-hero-layout { display: block; }
.archive-project-hero .eyebrow, .archive-project-content .eyebrow { font-size: 1rem; }
.archive-project-hero h1 { max-width: none; margin: 12px 0 18px; font-size: clamp(2.1rem, 3.2vw, 3rem); line-height: 1.08; }
.archive-project-content { padding-block: clamp(52px,6vw,86px); background: #fff; }
.archive-project-legacy-content { display: flow-root; width: 100%; font-size: 1.08rem; line-height: 1.75; }
.archive-project-legacy-content p { max-width: none; }
.archive-project-legacy-content img { max-width: 100%; height: auto; }
.archive-project-legacy-content .archive-project-lead-image { display: block; float: none !important; width: auto; max-width: min(100%, 760px); margin: 0 auto 34px !important; }
.archive-project-legacy-content img.obrazek { display: block; width: 100%; max-width: none; height: 100% !important; margin: 0; object-fit: cover; transition: transform 220ms ease; }
.archive-project-legacy-content iframe,
.archive-project-legacy-content video { display: block; width: min(100%, 900px); max-width: 100%; margin: 28px auto; aspect-ratio: 16 / 9; height: auto; border: 0; }
.archive-project-legacy-content audio { max-width: 100%; }
.archive-project-legacy-content a { color: var(--red); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.archive-project-legacy-content a:hover { color: #171313; }
.archive-project-legacy-content ol,
.archive-project-legacy-content ul { padding-left: 24px; }
.archive-project-legacy-content li { margin-block: 8px; }
.archive-project-featured-download { display: flex !important; width: fit-content; max-width: 100%; justify-content: center; margin-inline: auto; text-align: center; }
.archive-photo-grid { display: flex; clear: both; flex-wrap: wrap; align-items: flex-start; gap: 12px; margin-block: 30px; }
.archive-photo-grid-item { width: max-content; max-width: 100%; min-width: 0; }
.archive-photo-grid > a,
.archive-photo-grid .pocztowki-galeria-box > a { position: relative; display: inline-block; overflow: hidden; width: auto; max-width: 100%; height: 110px; margin: 0; background: #eee; }
.archive-photo-grid img.obrazek { width: auto; max-width: 100%; height: 110px !important; object-fit: contain; }
.archive-photo-grid > a::after,
.archive-photo-grid .pocztowki-galeria-box > a::after { content: "+"; position: absolute; right: 10px; bottom: 10px; display: grid; width: 34px; height: 34px; place-items: center; color: #fff; background: rgba(110,3,0,.82); font-size: 1.35rem; line-height: 1; opacity: 0; transform: translateY(5px); transition: opacity 180ms ease, transform 180ms ease; }
.archive-photo-grid > a:hover::after,
.archive-photo-grid .pocztowki-galeria-box > a:hover::after { opacity: 1; transform: none; }
.archive-photo-grid > a:hover img,
.archive-photo-grid .pocztowki-galeria-box > a:hover img { transform: scale(1.035); }
.archive-photo-grid .pocztowki-galeria-box { width: min-content; min-width: 110px; max-width: 100%; margin: 0; }
.archive-photo-grid .pocztowki-galeria-box p { margin: 9px 2px 0; color: #686260; font-size: .78rem; line-height: 1.4; }
.archive-project-legacy-content-pocztowki .archive-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 18px; }
.archive-project-legacy-content-pocztowki .archive-photo-grid .pocztowki-galeria-box { display: flex; width: auto; min-width: 0; padding: 12px; flex-direction: column; border: 1px solid #deddd9; background: #fbfbfb; }
.archive-project-legacy-content-pocztowki .archive-photo-grid .pocztowki-galeria-box > a { display: block; width: fit-content; max-width: 100%; height: 150px; margin-inline: auto; flex: 0 0 150px; background: #e9e9e6; }
.archive-project-legacy-content-pocztowki .archive-photo-grid img.obrazek { width: auto; max-width: 100%; height: 150px !important; object-fit: contain; }
.archive-project-legacy-content-pocztowki .archive-photo-grid .pocztowki-galeria-box p { margin: 13px 2px 2px; color: #484443; font-size: .9rem; line-height: 1.52; }
body.project-lightbox-open { overflow: hidden; }
.project-lightbox[hidden] { display: none; }
.project-lightbox { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center; padding: clamp(12px,3vw,36px); }
.project-lightbox-backdrop { position: absolute; inset: 0; background: rgba(10,8,8,.94); }
.project-lightbox-dialog { position: relative; z-index: 1; display: grid; width: min(100%, 1500px); height: min(100%, 940px); grid-template-columns: 54px minmax(0,1fr) 54px; align-items: center; }
.project-lightbox figure { display: grid; min-width: 0; max-height: 100%; margin: 0; justify-items: center; }
.project-lightbox img { display: block; max-width: 100%; max-height: calc(100vh - 150px); object-fit: contain; }
.project-lightbox figcaption { display: flex; width: min(100%, 1000px); justify-content: space-between; gap: 24px; padding-top: 14px; color: rgba(255,255,255,.84); font-size: .92rem; line-height: 1.45; }
.project-lightbox figcaption small { flex: 0 0 auto; color: rgba(255,255,255,.58); font-size: .82rem; }
.project-lightbox button { color: #fff; border: 0; background: transparent; cursor: pointer; }
.project-lightbox-close { position: absolute; z-index: 2; top: 0; right: 0; width: 48px; height: 48px; font-size: 2.2rem; line-height: 1; }
.project-lightbox-nav { width: 54px; height: 88px; font-size: 4rem; font-weight: 200; line-height: 1; opacity: .76; transition: opacity 160ms ease, color 160ms ease; }
.project-lightbox-nav:hover,
.project-lightbox-nav:focus-visible,
.project-lightbox-close:hover,
.project-lightbox-close:focus-visible { color: #ff685b; opacity: 1; }
@media (max-width: 600px) { .archive-photo-grid { gap: 8px; } .project-lightbox { padding: 8px; } .project-lightbox-dialog { grid-template-columns: 38px minmax(0,1fr) 38px; } .project-lightbox-nav { width: 38px; height: 64px; font-size: 3rem; } .project-lightbox figcaption { padding-inline: 4px; } }
@media (max-width: 991px) { .archive-project-legacy-content-pocztowki .archive-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .archive-project-legacy-content-pocztowki .archive-photo-grid { grid-template-columns: 1fr; gap: 12px; } .archive-project-legacy-content-pocztowki .archive-photo-grid .pocztowki-galeria-box > a, .archive-project-legacy-content-pocztowki .archive-photo-grid img.obrazek { height: 170px !important; } }
@media (max-width: 600px) { .archive-project-hero { padding-block: 38px 46px; } .archive-project-content { padding-block: 44px; } .archive-project-legacy-content { font-size: 1.02rem; } }

/* Więcej naszych działań */
.activities-hero,
.wsf-hero {
    overflow: hidden;
    color: var(--white);
    background: linear-gradient(145deg, #160d0c 0%, #4b1714 58%, #6e0300 100%);
}

.activities-hero-layout,
.wsf-hero-layout {
    position: relative;
    min-height: 390px;
    display: flex;
    align-items: center;
    padding-block: 56px;
}

.activities-hero-layout > div,
.wsf-hero-layout > div {
    position: relative;
    z-index: 1;
    max-width: 980px;
}

.activities-hero h1,
.wsf-hero h1 {
    margin: 12px 0 22px;
    font-size: clamp(2.35rem, 4vw, 3rem);
    line-height: 1.02;
}

.activities-hero h1 + p,
.wsf-hero h1 + p {
    max-width: 850px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.15rem;
    line-height: 1.65;
}

.wsf-hero-action {
    margin-top: 28px;
}

.activities-hero-layout > img,
.wsf-hero-layout > img {
    position: absolute;
    top: 50%;
    right: -3%;
    width: min(420px, 36vw);
    opacity: 0.13;
    filter: brightness(0) invert(1);
    transform: translateY(-50%);
}

.activities-intro,
.wsf-intro {
    padding-block: clamp(54px, 6vw, 82px);
    background: var(--white);
}

.activities-intro-layout,
.wsf-intro-layout,
.activities-wsf-layout,
.wsf-manifesto-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: clamp(38px, 7vw, 112px);
    align-items: start;
}

.activities-intro h2,
.activities-wsf h2,
.activities-heading h2,
.wsf-intro h2,
.wsf-heading h2,
.wsf-manifesto h2 {
    max-width: none;
    margin: 10px 0 0;
    font-size: clamp(2rem, 3.4vw, 2.8rem);
    line-height: 1.08;
}

.activities-intro-layout > p,
.wsf-intro-layout > div:last-child p,
.activities-wsf-layout > div:last-child p,
.wsf-manifesto-layout > div:last-child p {
    margin: 0;
    color: var(--muted);
    font-size: 1.1rem;
    line-height: 1.75;
}

.wsf-intro-layout > div:last-child p + p,
.wsf-manifesto-layout > div:last-child p + p {
    margin-top: 20px;
}

.activities-wsf {
    padding-block: clamp(58px, 7vw, 92px);
    color: var(--white);
    background: linear-gradient(145deg, #6e0300 0%, #2b1110 56%, #160d0c 100%);
}

.activities-wsf .eyebrow {
    color: #f19a93;
}

.activities-wsf-layout > div:last-child p {
    color: rgba(255, 255, 255, 0.78);
}

.activities-wsf a,
.wsf-manifesto a {
    display: inline-flex;
    gap: 12px;
    margin-top: 28px;
    padding-bottom: 5px;
    border-bottom: 1px solid currentColor;
    color: inherit;
    font-size: 1.08rem;
    font-weight: 800;
}

.activities-wsf a:hover {
    color: #f19a93;
}

.activities-directory,
.wsf-streams {
    padding-block: clamp(58px, 7vw, 96px);
    background: var(--white);
}

.activities-directory-soft,
.wsf-manifesto {
    background: #fbfbfb;
}

.activities-heading,
.wsf-heading {
    margin-bottom: 38px;
}

.activities-heading > p:last-child {
    max-width: 980px;
    margin: 18px 0 0;
    color: var(--muted);
    font-size: 1.08rem;
    line-height: 1.65;
}

.activities-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.activities-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    background: var(--white);
    transition: box-shadow 180ms ease, transform 180ms ease;
}

.activities-card:hover {
    box-shadow: 0 16px 38px rgba(22, 13, 12, 0.1);
    transform: translateY(-3px);
}

.activities-card-hit {
    position: absolute;
    z-index: 2;
    inset: 0;
}

.activities-card-image {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--soft);
}

.activities-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms ease;
}

.activities-card:hover .activities-card-image img {
    transform: scale(1.035);
}

.activities-card-copy {
    position: relative;
    min-height: 245px;
    padding: 30px 30px 64px;
}

.activities-card-copy h3 {
    margin: 0 0 14px;
    font-size: clamp(1.35rem, 1.8vw, 1.75rem);
    line-height: 1.14;
}

.activities-card-copy p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

.activities-card-copy > span {
    position: absolute;
    right: 28px;
    bottom: 22px;
    color: var(--red);
    font-size: 1.35rem;
    font-weight: 800;
}

/* Wydział Spraw Fundamentalnych */
.wsf-streams {
    background: #160d0c;
    color: var(--white);
}

.wsf-streams .eyebrow {
    color: #f19a93;
}

.wsf-streams-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.wsf-streams-grid article {
    min-height: 360px;
    padding: clamp(30px, 3.5vw, 52px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.wsf-streams-grid article + article {
    border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.wsf-streams-grid span {
    color: #f19a93;
    font-size: 0.88rem;
    font-weight: 800;
}

.wsf-streams-grid h3 {
    margin: 30px 0 20px;
    font-size: clamp(1.55rem, 2.2vw, 2.15rem);
    line-height: 1.12;
}

.wsf-streams-grid p {
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.68;
}

.wsf-manifesto {
    padding-block: clamp(58px, 7vw, 92px);
}

.wsf-manifesto a {
    color: var(--red);
}

.wsf-manifesto a:hover {
    color: var(--black);
}

.wsf-archive {
    padding-block: clamp(58px, 7vw, 92px);
    background: #fff;
}

.wsf-archive-heading > p:last-child {
    max-width: none;
    margin: 18px 0 0;
    color: var(--muted);
    font-size: 1.08rem;
    line-height: 1.68;
}

.wsf-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.wsf-archive-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid #deded9;
    background: #fff;
    transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.wsf-archive-card:hover,
.wsf-archive-card:focus-within {
    border-color: rgba(180, 61, 52, 0.65);
    box-shadow: 0 18px 38px rgba(31, 20, 18, 0.09);
    transform: translateY(-3px);
}

.wsf-archive-card-hit {
    position: absolute;
    z-index: 2;
    inset: 0;
}

.wsf-archive-card-hit:focus-visible {
    outline: 3px solid var(--red);
    outline-offset: 3px;
}

.wsf-archive-card-image {
    display: grid;
    min-height: 220px;
    place-items: center;
    overflow: hidden;
    padding: 18px;
    border-bottom: 1px solid #deded9;
    background: radial-gradient(circle at center, #fff 0%, #f0f0ed 100%);
}

.wsf-archive-card-image > img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 230px;
    object-fit: contain;
}

.wsf-archive-card-image > .wsf-archive-card-placeholder {
    width: 120px;
    opacity: 0.16;
}

.wsf-archive-card-copy {
    display: flex;
    min-height: 265px;
    flex: 1;
    flex-direction: column;
    padding: 26px;
}

.wsf-archive-card-copy time {
    color: var(--red);
    font-size: 0.88rem;
    font-weight: 900;
    letter-spacing: 0.05em;
}

.wsf-archive-card-copy h3 {
    margin: 14px 0 16px;
    font-size: clamp(1.25rem, 1.5vw, 1.55rem);
    line-height: 1.22;
}

.wsf-archive-card-copy p {
    margin: 0 0 24px;
    color: var(--muted);
    line-height: 1.6;
}

.wsf-archive-card-copy > span {
    margin-top: auto;
    color: var(--red);
    font-size: 1.02rem;
    font-weight: 850;
}

.wsf-archive-empty {
    margin: 0;
    padding: 28px;
    border-left: 4px solid var(--red);
    background: #f6f6f3;
    font-size: 1.08rem;
}

.wsf-entry-hero {
    padding-block: 46px;
    color: #fff;
    background: linear-gradient(145deg, #160d0c 0%, #4b1714 58%, #6e0300 100%);
}

.wsf-entry-hero h1,
.wsf-entry-unavailable h1 {
    max-width: none;
    margin: 12px 0 18px;
    font-size: clamp(2rem, 3.5vw, 3rem);
    line-height: 1.08;
}

.wsf-entry-hero time {
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.05rem;
    font-weight: 800;
}

.wsf-entry-body {
    padding-block: clamp(44px, 6vw, 78px);
    background: #fff;
}

.wsf-entry-layout {
    display: grid;
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
    gap: clamp(32px, 4vw, 64px);
    align-items: start;
}

.wsf-entry-sidebar {
    display: grid;
    gap: 24px;
}

.wsf-entry-sidebar > img,
.wsf-entry-image-placeholder {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
}

.wsf-entry-image-placeholder {
    display: grid;
    width: 100%;
    min-height: 260px;
    place-items: center;
    background: radial-gradient(circle at center, #fff 0%, #ecece8 100%);
}

.wsf-entry-image-placeholder img {
    width: 130px;
    opacity: 0.16;
}

.wsf-entry-sidebar > a {
    color: var(--red);
    font-weight: 850;
}

.wsf-entry-sidebar > a:hover {
    color: #111;
}

.wsf-entry-content {
    min-width: 0;
    color: #292725;
    font-size: 1.08rem;
    line-height: 1.78;
}

.wsf-entry-content > :first-child {
    margin-top: 0;
}

.wsf-entry-content > :last-child {
    margin-bottom: 0;
}

.wsf-entry-content p {
    margin: 0 0 1.25em;
}

.wsf-entry-content a {
    color: var(--red);
    font-weight: 750;
    overflow-wrap: anywhere;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.wsf-entry-content a:hover {
    color: #111;
}

.wsf-entry-content img,
.wsf-entry-content iframe {
    max-width: 100%;
}

.wsf-entry-unavailable {
    padding-block: clamp(60px, 9vw, 120px);
    background: #fbfbfb;
}

@media (max-width: 991px) {
    .activities-grid,
    .wsf-streams-grid,
    .wsf-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wsf-streams-grid article:nth-child(3) {
        border-left: 0;
    }
}

@media (max-width: 767px) {
    .activities-hero-layout,
    .wsf-hero-layout {
        min-height: 330px;
        padding-block: 44px;
    }

    .activities-hero-layout > img,
    .wsf-hero-layout > img {
        display: none;
    }

    .activities-intro-layout,
    .wsf-intro-layout,
    .activities-wsf-layout,
    .wsf-manifesto-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .activities-grid,
    .wsf-streams-grid,
    .wsf-archive-grid {
        grid-template-columns: 1fr;
    }

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

    .wsf-entry-sidebar {
        justify-items: start;
    }

    .wsf-entry-sidebar > img,
    .wsf-entry-image-placeholder {
        margin-inline: 0;
    }

    .wsf-streams-grid article,
    .wsf-streams-grid article + article {
        min-height: 0;
        border-left: 0;
    }
}

.friends-club-steps {
    padding-block: clamp(56px, 6vw, 86px);
    background: #fff;
}

.friends-club-steps ol {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #d9d9d5;
}

.friends-club-steps li {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 20px;
    padding: 24px 0;
    border-bottom: 1px solid #d9d9d5;
}

.friends-club-steps li > span {
    color: var(--red);
    font-weight: 900;
}

.friends-club-steps h3 {
    margin: 0 0 7px;
    font-size: 1.45rem;
}

.friends-club-steps li p {
    margin: 0;
    color: #5c5754;
    font-size: 1.05rem;
    line-height: 1.6;
}

.friends-club-patrons {
    padding-block: clamp(58px, 6vw, 88px);
    color: #fff;
    background: linear-gradient(145deg, #0d0d0d 0%, #1a1a1a 52%, #262626 100%);
}

.friends-club-patrons-layout > div:last-child p {
    margin: 0 0 28px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1.15rem;
    line-height: 1.72;
}

.friends-club-patrons-layout a,
.friends-club-join-action a {
    display: inline-flex;
    width: fit-content;
    gap: 10px;
    padding-bottom: 5px;
    border-bottom: 2px solid #f5c65c;
    color: #f5c65c;
    font-size: 1.14rem;
    font-weight: 900;
}

.friends-club-patrons-layout a:hover {
    border-color: #fff;
    color: #fff;
}

.friends-club-join {
    padding-block: clamp(58px, 6vw, 88px);
    background: #fbfbfb;
}

.friends-club-join-layout > div:first-child > p:last-child {
    margin: 24px 0 0;
    color: #55514f;
    font-size: 1.14rem;
    line-height: 1.72;
}

.friends-club-join-action {
    padding: clamp(30px, 4vw, 48px);
    border-left: 5px solid var(--red);
    background: linear-gradient(145deg, #fff 0%, #f7f7f4 48%, #e8e8e4 100%);
}

.friends-club-join-action > span {
    display: block;
    margin-bottom: 20px;
    color: var(--red);
    font-size: 0.9rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.friends-club-join-action a {
    display: block;
    margin-top: 12px;
    border: 0;
    color: #181818;
    overflow-wrap: anywhere;
}

.friends-club-join-action a:hover {
    color: var(--red);
}

@media (max-width: 900px) {
    .friends-club-hero-layout,
    .friends-club-intro-layout,
    .friends-club-steps-layout,
    .friends-club-patrons-layout,
    .friends-club-join-layout {
        grid-template-columns: 1fr;
    }

    .friends-club-hero-layout {
        min-height: auto;
    }

    .friends-club-hero-mark {
        display: none;
    }

    .friends-club-benefits-grid {
        grid-template-columns: 1fr;
    }

    .friends-club-benefits-grid article {
        min-height: auto;
    }

    .friends-club-benefits-grid span {
        margin-bottom: 30px;
    }
}

@media (max-width: 700px) {
    .friends-club-level-grid {
        grid-template-columns: 1fr;
    }

    .friends-club-level {
        min-height: auto;
    }
}

@media (min-width: 601px) and (max-width: 767px) {
    .brand-bar {
        min-height: 102px;
        align-items: center;
        flex-direction: row;
        gap: 20px;
        padding-block: 0;
    }

    .brand {
        flex: 0 0 auto;
    }

    .brand img {
        width: 180px;
    }

    .header-tools {
        width: auto;
        margin-left: auto;
        overflow: visible;
    }

    .language-nav {
        min-width: 0;
        gap: 8px;
        font-size: 0.86rem;
    }
}

@media (max-width: 600px) {
    .brand-bar {
        align-items: center;
    }

    .brand {
        width: 200px;
        margin-inline: auto;
    }

    .brand img {
        width: 200px;
    }

    .header-tools {
        display: none;
    }

    .language-nav {
        width: 100%;
        min-width: 0;
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
    }

    .mobile-nav-languages {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        gap: 18px;
        padding: 15px 18px max(17px, env(safe-area-inset-bottom));
        border-top: 1px solid var(--line);
        background: #fff;
        font-size: 0.86rem;
        font-weight: 800;
    }

    .mobile-nav-languages a {
        padding: 4px 0;
        border-bottom: 2px solid transparent;
    }

    .mobile-nav-languages a:hover,
    .mobile-nav-languages a:focus-visible,
    .mobile-nav-languages .is-current {
        color: var(--red);
        border-color: var(--red);
    }

    .feature-card {
        min-height: 350px;
    }

    .feature-card-logo {
        min-height: 155px;
        padding: 24px;
    }

    .feature-card-logo img {
        width: min(220px, 78%);
        height: 95px;
        max-height: 95px;
    }

    .feature-card-content {
        min-height: 195px;
        padding: 24px;
    }

    .feature-card-content p {
        margin-bottom: 20px;
        font-size: 1.05rem;
    }

    .feature-card a {
        font-size: 1.12rem;
    }

    .footer-main {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 42px;
        padding-block: 58px;
        text-align: center;
    }

    .footer-brand,
    .footer-contact {
        grid-column: auto;
        width: 100%;
        text-align: center;
    }

    .footer-brand img {
        margin-inline: auto;
    }

    .footer-brand p {
        margin-inline: auto;
    }

    .footer-column {
        width: fit-content;
        min-width: 180px;
        margin-inline: auto;
        align-items: flex-start;
        text-align: left;
    }

    .footer-column h2 {
        width: 100%;
        text-align: center;
    }

    .footer-contact .social-list-footer {
        justify-content: center;
    }

    .footer-bottom {
        min-height: 0;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        gap: 12px;
        padding-block: 18px;
        text-align: center;
    }

    .footer-registration {
        align-items: center;
        flex-direction: column;
        gap: 6px;
    }

    .footer-registration > span + span::before {
        display: none;
    }
}

.activity-history-project-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin-top: 20px;
}

.activity-history-project-links a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(245, 198, 92, 0.58);
    color: #f5c65c;
    font-size: 0.94rem;
    font-weight: 800;
    transition: border-color 0.2s ease, color 0.2s ease;
}

.activity-history-project-links a:hover,
.activity-history-project-links a:focus-visible {
    border-color: #fff;
    color: #fff;
}

.activity-history-copy p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 1.08rem;
    line-height: 1.7;
}

.activity-history-highlights {
    margin-top: 24px;
    padding-top: 17px;
    border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.activity-history-highlights-title {
    display: block;
    margin-bottom: 10px;
    color: rgba(255, 255, 255, 0.48);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.activity-history-highlights ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.activity-history-highlights li {
    position: relative;
    padding-left: 14px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.9rem;
    line-height: 1.45;
}

.activity-history-highlights a {
    color: inherit;
    text-decoration-color: rgba(255, 255, 255, 0.32);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.activity-history-highlights a:hover,
.activity-history-highlights a:focus-visible {
    color: #fff;
    text-decoration-color: #ef665c;
}

.activity-history-entry.is-project .activity-history-highlights a:hover,
.activity-history-entry.is-project .activity-history-highlights a:focus-visible {
    text-decoration-color: #f5c65c;
}

.activity-history-highlights li::before {
    position: absolute;
    top: 0.58em;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #ef665c;
    content: '';
}

.activity-history-entry.is-project .activity-history-highlights li::before {
    background: #f5c65c;
}

@media (min-width: 1200px) {
    .activity-history-hero .eyebrow,
    .activity-history-intro .eyebrow,
    .activity-history-timeline-section .eyebrow,
    .activity-history-closing .eyebrow {
        font-size: 1.15rem;
    }

    .activity-history-hero h1 + p {
        font-size: 1.28rem;
    }

    .activity-history-intro h2,
    .activity-history-heading h2,
    .activity-history-closing h2 {
        font-size: 2.85rem;
    }

    .activity-history-intro-copy > p {
        font-size: 1.22rem;
    }

    .activity-history-stats span {
        font-size: 1rem;
    }

    .activity-history-year small {
        font-size: 0.98rem;
    }

    .activity-history-copy h3 {
        font-size: 2.25rem;
    }

    .activity-history-copy p {
        font-size: 1.18rem;
    }

    .activity-history-project-label,
    .activity-history-highlights-title {
        font-size: 0.84rem;
    }

    .activity-history-project-links a {
        font-size: 1.02rem;
    }

    .activity-history-highlights li {
        font-size: 1.02rem;
        line-height: 1.5;
    }
}

@media (min-width: 1900px) {
    .activity-history-gallery {
        position: absolute;
        z-index: 0;
        top: 330px;
        bottom: 120px;
        width: clamp(138px, 8.4vw, 178px);
        display: grid;
        grid-template-rows: repeat(12, minmax(0, 1fr));
        align-items: center;
        pointer-events: none;
    }

    .activity-history-gallery-left {
        left: max(22px, calc(50% - 935px));
    }

    .activity-history-gallery-right {
        right: max(22px, calc(50% - 935px));
    }

    .activity-history-gallery img {
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        border: 1px solid rgba(255, 255, 255, 0.18);
        box-shadow: 0 18px 45px rgba(0, 0, 0, 0.24);
        opacity: 0.72;
        filter: saturate(0.82) contrast(1.04);
    }

    .activity-history-gallery-left img:nth-child(odd),
    .activity-history-gallery-right img:nth-child(even) {
        transform: rotate(-2deg);
    }

    .activity-history-gallery-left img:nth-child(even),
    .activity-history-gallery-right img:nth-child(odd) {
        transform: rotate(2deg);
    }
}

.activity-history-closing {
    padding-block: clamp(58px, 7vw, 94px);
    background: #fff;
}

.activity-history-closing .eyebrow {
    color: var(--red);
}

.activity-history-closing-layout > p:last-child {
    max-width: 960px;
    margin: 26px 0 0;
    color: #514c49;
    font-size: 1.15rem;
    line-height: 1.75;
}

@media (min-width: 1200px) {
    .activity-history-closing-layout > p:last-child {
        font-size: 1.22rem;
    }
}

@media (max-width: 900px) {
    .activity-history-hero-layout,
    .activity-history-intro-layout {
        grid-template-columns: 1fr;
    }

    .activity-history-hero-mark {
        display: none;
    }

    .activity-history-timeline::before {
        left: 24px;
    }

    .activity-history-entry {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .activity-history-year {
        grid-column: 2;
        text-align: left;
    }

    .activity-history-dot {
        grid-column: 1;
        grid-row: 1 / span 2;
        margin-top: 7px;
    }

    .activity-history-copy {
        grid-column: 2;
        padding: 18px 0 0;
    }
}

@media (max-width: 600px) {
    .activity-history-hero-layout {
        min-height: auto;
        padding-block: 42px 50px;
    }

    .activity-history-stats {
        grid-template-columns: 1fr;
    }

    .activity-history-stats > div {
        min-height: 105px;
    }

    .activity-history-stats > div + div {
        border-top: 1px solid #d7d4d1;
        border-left: 0;
    }
}
