/* =========================================================================
   Case Studies — wspólne style ręcznie kodowanych landingów.
   Wszystko ograniczone do .glcs-landing (single-case_study.php).
   ========================================================================= */

.glcs-landing {
    --glcs-accent: #be0505;
    --glcs-accent-dark: #9e0404;
    --glcs-ink: #0f0f0f;
    --glcs-dark: #1b201f;
    --glcs-gray: #f1f1f1;
    --glcs-text: #3d3d3d;
    --glcs-muted: #6b6b6b;
    --glcs-line: #d2d2d2;
    --glcs-gutter: 40px;
    --glcs-header-h: 111px;
    --glcs-subnav-h: 72px;
    color: var(--glcs-ink);
    background: #fff;
    font-family: Poppins, "GLCS Poppins", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    padding-top: var(--glcs-header-h);
    overflow-x: clip;
}
.glcs-landing *, .glcs-landing *::before, .glcs-landing *::after { box-sizing: border-box; }
.glcs-landing [hidden] { display: none !important; }
.glcs-landing img { max-width: 100%; height: auto; display: block; }
.glcs-landing a { transition: color .15s ease, background-color .15s ease, border-color .15s ease; }
.glcs-landing a:focus-visible, .glcs-landing button:focus-visible, .glcs-landing summary:focus-visible,
.glcs-landing input:focus-visible, .glcs-landing textarea:focus-visible { outline: 3px solid #e83838; outline-offset: 3px; }
/* Motyw ustawia button { border: none !important; outline: inherit !important } — przywracamy obramowania i fokus. */
.glcs-landing button:focus-visible { outline: 3px solid #e83838 !important; outline-offset: 3px; }
.glcs-landing .glcs-more__toggle { border: 1.5px solid #000 !important; }
.glcs-landing .glcs-others__arrow { border: 1.5px solid rgba(255, 255, 255, .6) !important; }
.glcs-landing .glcs-others__arrow--filled { border-color: #fff !important; }
.glcs-landing .screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.glcs-landing ul, .glcs-landing ol, .glcs-landing dl, .glcs-landing dd, .glcs-landing figure { margin: 0; padding: 0; }
.glcs-landing ul { list-style: none; }

/* ---- Starsze klasy (szablon DEMO i fallback) ---- */
:where(.glcs-project-demo, .glcs-project-fallback) h1, :where(.glcs-project-demo, .glcs-project-fallback) h2, :where(.glcs-project-demo, .glcs-project-fallback) h3 { color: inherit; font-family: inherit; font-weight: 700; line-height: 1.12; letter-spacing: -.035em; margin: 0 0 24px; text-transform: none; overflow-wrap: anywhere; }
:where(.glcs-project-demo, .glcs-project-fallback) h1 { font-size: clamp(36px, 6vw, 76px); }
:where(.glcs-project-demo, .glcs-project-fallback) h2 { font-size: clamp(28px, 4vw, 46px); }
:where(.glcs-project-demo, .glcs-project-fallback) h3 { font-size: clamp(22px, 2.5vw, 28px); }
:where(.glcs-project-demo, .glcs-project-fallback) p { color: inherit; margin: 0 0 24px; }
.glcs-landing .glcs-container { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.glcs-landing .glcs-section { padding-block: clamp(48px, 7vw, 104px); }
.glcs-landing .glcs-section[id] { scroll-margin-top: calc(var(--glcs-header-h) + 8px); }
.glcs-landing .glcs-kicker { font-size: 12px; letter-spacing: .16em; font-weight: 700; text-transform: uppercase; }
.glcs-landing .glcs-lead { font-size: clamp(17px, 2vw, 21px); max-width: 760px; line-height: 1.6; }
.glcs-landing .glcs-grid-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 5vw, 72px); align-items: center; }
.glcs-landing .glcs-grid-three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.glcs-landing .glcs-hero { background: #f3f3f5; }
.glcs-landing .glcs-hero--dark, .glcs-landing .glcs-cta { background: #17191c; color: #fff; }
.glcs-landing .glcs-hero--dark strong { color: #ff7474; }
.glcs-landing .glcs-cta { text-align: center; }
.glcs-landing .glcs-cta .glcs-lead { margin-inline: auto; }
.glcs-landing .glcs-btn { display: inline-flex; justify-content: center; gap: 24px; padding: 15px 24px; min-height: 48px; border: 1px solid var(--glcs-accent); border-radius: 2px; background: var(--glcs-accent); color: #fff; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.glcs-landing .glcs-btn:hover { filter: brightness(.9); }
.glcs-landing .glcs-link { color: var(--glcs-accent); text-decoration: underline; text-underline-offset: 4px; }
.glcs-landing .glcs-cover { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; margin-bottom: 24px; }
.glcs-landing .glcs-stat { border-top: 1px solid #d9dadd; padding-top: 24px; }
.glcs-landing .glcs-stat strong { display: block; color: var(--glcs-accent); font-size: clamp(36px, 5vw, 64px); line-height: 1.1; margin-bottom: 12px; }

/* ---- Układ i typografia ---- */
.glcs-landing .glcs-wrap { width: min(1200px, calc(100% - 2 * var(--glcs-gutter))); margin-inline: auto; }
.glcs-landing .glcs-anchor { scroll-margin-top: calc(var(--glcs-header-h) + var(--glcs-subnav-h)); }
.glcs-landing #kontakt { scroll-margin-top: var(--glcs-header-h); }
.glcs-landing .glcs-accent { color: var(--glcs-accent); }
.glcs-landing .glcs-label { display: inline-flex; align-items: center; gap: 10px; margin: 0; color: #000; font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: .84px; text-transform: uppercase; }
.glcs-landing .glcs-label::before { content: ""; flex: none; width: 10px; height: 10px; background: var(--glcs-accent); }
.glcs-landing .glcs-label--light { color: #fff; }
.glcs-landing .glcs-h2 { margin: 0; color: #000; font-size: 42px; font-weight: 700; line-height: 1.15; letter-spacing: 0; text-transform: none; overflow-wrap: break-word; }
.glcs-landing .glcs-h2--light { color: #fff; }
.glcs-landing .glcs-text { margin: 0; color: var(--glcs-text); font-size: 17px; line-height: 1.65; }
.glcs-landing .glcs-only-mobile, .glcs-landing .glcs-only-mobile-block { display: none; }

/* ---- Przyciski i linki ---- */
.glcs-landing .glcs-btn-arrow { display: inline-flex; align-items: center; gap: 24px; min-height: 55px; padding: 10px 10px 10px 28px; border: 0; background: var(--glcs-accent); color: #fff; font-size: 16px; font-weight: 700; line-height: 1.25; text-align: left; text-decoration: none; cursor: pointer; }
.glcs-landing .glcs-btn-arrow:hover, .glcs-landing .glcs-btn-arrow:focus-visible { background: var(--glcs-accent-dark); color: #fff; }
.glcs-landing .glcs-btn-arrow__icon { flex: none; width: 34px; height: 35px; }
.glcs-landing .glcs-text-link { color: #000; font-size: 15px; font-weight: 600; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
.glcs-landing .glcs-text-link--light { color: #fff; }
.glcs-landing .glcs-text-link--red { color: var(--glcs-accent); }
.glcs-landing .glcs-text-link:hover { text-decoration-thickness: 2px; }

/* ---- Breadcrumbs ---- */
.glcs-landing .glcs-crumbs { background: var(--glcs-gray); padding-block: 14px; font-size: 13px; line-height: 1.5; }
.glcs-landing .glcs-crumbs .glcs-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.glcs-landing .glcs-crumbs a { color: var(--glcs-muted); text-decoration: underline; text-underline-offset: 2px; }
.glcs-landing .glcs-crumbs a:hover { color: var(--glcs-accent); }
.glcs-landing .glcs-crumbs__sep { color: #a6a6a6; }
.glcs-landing .glcs-crumbs__current { color: #000; font-weight: 600; }

/* ---- Tagi, punktory, akordeon ---- */
.glcs-landing .glcs-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.glcs-landing .glcs-tags li { padding: 6px 12px; border: 1px solid rgba(255, 255, 255, .32); color: #fff; font-size: 13px; font-weight: 500; line-height: 1.5; }
.glcs-landing .glcs-bullets { display: flex; flex-direction: column; gap: 10px; }
.glcs-landing .glcs-bullets li { display: flex; align-items: center; gap: 12px; color: #fff; font-size: 14px; font-weight: 500; line-height: 1.5; }
.glcs-landing .glcs-bullets li::before { content: ""; flex: none; width: 8px; height: 8px; background: var(--glcs-accent); }
.glcs-landing .glcs-acc__toggle { display: none; }
.glcs-landing .glcs-acc__panel { display: flex; flex-direction: column; gap: 28px; }

/* ---- Menu sekcji (sticky) ---- */
/* 1px pod nagłówkiem (z-index 100): bez szczeliny przy ułamkowych wysokościach. */
.glcs-landing .glcs-subnav { position: sticky; top: calc(var(--glcs-header-h) - 1px); z-index: 40; background: var(--glcs-ink); }
.glcs-landing .glcs-subnav__list { display: grid; grid-template-columns: repeat(var(--glcs-subnav-cols, 5), minmax(0, 1fr)); }
.glcs-landing .glcs-subnav a { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; height: var(--glcs-subnav-h); padding: 3px 8px 0; color: #bdbdbd; font-size: 15px; font-weight: 500; line-height: 1.5; text-decoration: none; white-space: nowrap; }
.glcs-landing .glcs-subnav a::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: transparent; }
.glcs-landing .glcs-subnav a:hover, .glcs-landing .glcs-subnav a[aria-current] { color: #fff; }
.glcs-landing .glcs-subnav a[aria-current] { font-weight: 600; }
.glcs-landing .glcs-subnav a[aria-current]::after { background: var(--glcs-accent); }
.glcs-landing .glcs-subnav .glcs-icon { width: 22px; height: 22px; }

/* ---- Rozwijany opis ---- */
.glcs-landing .glcs-more { --glcs-fade: #fff; display: flex; flex-direction: column; gap: 28px; }
.glcs-landing .glcs-more__content { position: relative; display: flex; flex-direction: column; gap: 18px; }
.glcs-landing .glcs-more__content p { margin: 0; color: var(--glcs-text); font-size: 17px; line-height: 1.65; }
.glcs-landing .glcs-more.is-collapsed .glcs-more__content { max-height: 250px; overflow: hidden; }
.glcs-landing .glcs-more.is-collapsed .glcs-more__content::after { content: ""; position: absolute; inset: auto 0 0; height: 130px; background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--glcs-fade)); pointer-events: none; }
.glcs-landing .glcs-more__toggle { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 56px; padding: 0 16px; border: 1.5px solid #000; border-radius: 0; background: #fff; color: #000; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.glcs-landing .glcs-more__toggle:hover { background: var(--glcs-gray); }
.glcs-landing .glcs-more__chevron { width: 20px; height: 20px; transition: transform .2s ease; }
.glcs-landing .glcs-more__toggle[aria-expanded="true"] .glcs-more__chevron { transform: rotate(180deg); }

/* ---- Lista problemów / wyzwań ---- */
.glcs-landing .glcs-issues { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.glcs-landing .glcs-issue { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.glcs-landing .glcs-issue .glcs-icon { width: 32px; height: 32px; }
.glcs-landing .glcs-issue__line { width: 48px; height: 3px; background: var(--glcs-accent); }
.glcs-landing .glcs-issue h3 { margin: 0; color: #fff; font-size: 22px; font-weight: 600; line-height: 1.3; letter-spacing: 0; }
.glcs-landing .glcs-issue p { margin: 0; color: #b8b8b8; font-size: 16px; line-height: 1.6; }

/* ---- Wprowadzenie: nagłówek po lewej, tekst po prawej ---- */
.glcs-landing .glcs-intro { display: grid; grid-template-columns: 380px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 96px; }
.glcs-landing .glcs-intro > .glcs-label { grid-column: 1; grid-row: 1; justify-self: start; }
.glcs-landing .glcs-intro__title { grid-column: 1; grid-row: 2; margin-top: 16px; }
.glcs-landing .glcs-intro__text { grid-column: 2; grid-row: 1 / 3; display: flex; flex-direction: column; gap: 18px; padding-top: 34px; }
.glcs-landing .glcs-intro__text p { margin: 0; color: var(--glcs-text); font-size: 17px; line-height: 1.65; }

/* ---- Moduły działań: tekst + materiał ---- */
.glcs-landing .glcs-modules { margin-top: 72px; border-bottom: 1px solid var(--glcs-line); }
.glcs-landing .glcs-module { display: flex; align-items: flex-start; gap: 96px; padding-block: 64px; border-top: 1px solid var(--glcs-line); }
.glcs-landing .glcs-module__text { flex: 0 0 380px; display: flex; flex-direction: column; gap: 20px; }
.glcs-landing .glcs-module__text > p { margin: 0; color: var(--glcs-text); font-size: 17px; line-height: 1.65; }
.glcs-landing .glcs-module__num { margin: 0; color: var(--glcs-accent) !important; font-size: 14px !important; font-weight: 600; line-height: 1.5 !important; letter-spacing: .84px; }
.glcs-landing .glcs-module__title { margin: 0; color: #000; font-size: 28px; font-weight: 700; line-height: 1.22; letter-spacing: 0; }
.glcs-landing .glcs-why { display: flex; flex-direction: column; gap: 6px; padding-left: 18px; border-left: 3px solid var(--glcs-accent); }
.glcs-landing .glcs-why p { margin: 0; color: var(--glcs-text); font-size: 15px; line-height: 1.55; }
.glcs-landing .glcs-why .glcs-why__label { color: var(--glcs-muted); font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: .96px; text-transform: uppercase; }
.glcs-landing .glcs-module__media { position: relative; flex: 1 1 0; min-width: 0; height: 460px; overflow: hidden; }
.glcs-landing .glcs-module__media--framed { border: 1px solid #e3e3e3; background: #fff; }
.glcs-landing .glcs-module__media > img { width: 100%; height: 100%; object-fit: cover; }
.glcs-landing .glcs-module__media--contain > img { object-fit: contain; }

/* ---- Karty wyników: ciemny dowód + nachodzący panel ---- */
.glcs-landing .glcs-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 72px 64px; margin-top: 72px; align-items: start; }
.glcs-landing .glcs-result { display: flex; flex-direction: column; min-width: 0; }
.glcs-landing .glcs-result__proof { display: flex; flex-direction: column; gap: 26px; min-height: 540px; padding: 44px 44px 164px; background: var(--glcs-dark); color: #fff; }
.glcs-landing .glcs-result--outlined .glcs-result__proof { border: 1px solid #3a403f; }
.glcs-landing .glcs-result__caption { margin: 0; color: #a9adac; font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: .72px; text-transform: uppercase; }
.glcs-landing .glcs-result__footnote { margin: 0; color: #a9adac; font-size: 12px; line-height: 1.5; }
.glcs-landing .glcs-result__panel { position: relative; display: flex; flex-direction: column; gap: 12px; margin: -120px 32px 0; padding: 32px 32px 28px; border: 1px solid #e3e3e3; background: #fff; }
.glcs-landing .glcs-result__panel::before { content: ""; position: absolute; inset: -1px -1px auto; height: 4px; background: var(--glcs-accent); }
.glcs-landing .glcs-result__eyebrow { margin: 0; color: var(--glcs-muted); font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: .96px; text-transform: uppercase; }
.glcs-landing .glcs-result__title { margin: 0; color: #000; font-size: 26px; font-weight: 700; line-height: 1.22; letter-spacing: 0; }
.glcs-landing .glcs-result__text { margin: 0; color: var(--glcs-text); font-size: 16px; line-height: 1.6; }
.glcs-landing .glcs-result__meta { display: flex; gap: 24px; padding-top: 14px; border-top: 1px solid #e3e3e3; }
.glcs-landing .glcs-result__meta > div { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.glcs-landing .glcs-result__meta dt { color: var(--glcs-muted); font-size: 11px; font-weight: 600; line-height: 1.5; letter-spacing: .88px; text-transform: uppercase; }
.glcs-landing .glcs-result__meta dd { color: #000; font-size: 14px; font-weight: 500; line-height: 1.4; }

/* ---- Baner CTA ---- */
.glcs-landing .glcs-band { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 48px; margin-top: 120px; padding: 64px 72px; background: var(--glcs-dark); }
.glcs-landing .glcs-band__square { position: absolute; top: 0; right: 0; width: 16px; height: 16px; background: var(--glcs-accent); }
.glcs-landing .glcs-band__text { flex: 0 1 720px; display: flex; flex-direction: column; gap: 18px; }
.glcs-landing .glcs-band__title { margin: 0; color: #fff; font-size: 34px; font-weight: 700; line-height: 1.5; letter-spacing: 0; }
.glcs-landing .glcs-band__text p:not(.glcs-label) { margin: 0; color: #d6d6d6; font-size: 17px; line-height: 1.6; }
.glcs-landing .glcs-band__btn { flex: none; }

/* ---- Podsumowanie ---- */
.glcs-landing .glcs-summary { padding-block: 72px 120px; }
.glcs-landing .glcs-summary__grid { display: grid; grid-template-columns: 380px minmax(0, 1fr); column-gap: 96px; align-items: start; }
.glcs-landing .glcs-summary__title { display: flex; align-items: flex-end; gap: 12px; }
.glcs-landing .glcs-summary__dot { flex: none; width: 12px; height: 12px; margin-bottom: 14px; background: var(--glcs-accent); }
.glcs-landing .glcs-summary__text { display: flex; flex-direction: column; gap: 24px; padding-top: 6px; }
.glcs-landing .glcs-summary__text p { margin: 0; color: #1f1f1f; font-size: 21px; line-height: 1.6; }
.glcs-landing .glcs-summary__btn { align-self: flex-start; margin-top: 16px; }

/* ---- Kontakt i formularz CF7 ---- */
.glcs-landing .glcs-contact { padding-block: 120px; background: var(--glcs-gray); }
.glcs-landing .glcs-contact__grid { display: flex; align-items: flex-start; gap: 56px; }
.glcs-landing .glcs-contact__intro { flex: 0 0 396px; display: flex; flex-direction: column; gap: 24px; }
.glcs-landing .glcs-contact__box { display: flex; flex-direction: column; gap: 8px; padding: 24px 24px 24px 28px; border-left: 4px solid var(--glcs-accent); background: #fff; }
.glcs-landing .glcs-contact__box p { margin: 0; color: var(--glcs-text); font-size: 15px; line-height: 1.55; }
.glcs-landing .glcs-contact__box .glcs-contact__box-title { color: #000; font-size: 18px; font-weight: 600; line-height: 1.5; }
.glcs-landing .glcs-quick-contact { display: none; }
.glcs-landing .glcs-contact__form { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 22px; padding: 44px 40px; background: #fff; }
.glcs-landing .glcs-contact__form-title { margin: 0; color: #000; font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: 0; }
.glcs-landing .glcs-cf7 { display: flex; flex-direction: column; gap: 22px; margin: 0; }
.glcs-landing .glcs-cf7 p { margin: 0; }
.glcs-landing .glcs-cf7 br { display: none; }
.glcs-landing .glcs-cf7 .glcf-field { display: flex; flex-direction: column; gap: 8px; }
.glcs-landing .glcs-cf7 label { margin: 0; color: #000; font-size: 14px; font-weight: 600; line-height: 1.5; }
.glcs-landing .glcs-cf7 .wpcf7-form-control-wrap { display: block; }
.glcs-landing .glcs-cf7 input[type="email"], .glcs-landing .glcs-cf7 input[type="tel"], .glcs-landing .glcs-cf7 textarea { display: block; width: 100%; height: 52px; margin: 0; padding: 14px 16px; border: 1px solid #bdbdbd; border-radius: 0; background: #fff; box-shadow: none; color: var(--glcs-ink); font-family: inherit; font-size: 15px; line-height: 1.5; }
.glcs-landing .glcs-cf7 textarea { height: 132px; min-height: 132px; resize: vertical; }
.glcs-landing .glcs-cf7 input::placeholder, .glcs-landing .glcs-cf7 textarea::placeholder { color: #8a8a8a; opacity: 1; }
.glcs-landing .glcs-cf7 input:focus, .glcs-landing .glcs-cf7 textarea:focus { outline: none; border-color: var(--glcs-accent); box-shadow: 0 0 0 1px var(--glcs-accent); }
.glcs-landing .glcs-cf7 .wpcf7-not-valid { border-color: var(--glcs-accent); }
.glcs-landing .glcs-cf7 .wpcf7-not-valid-tip { margin-top: 6px; color: var(--glcs-accent); font-size: 13px; font-weight: 500; line-height: 1.4; }
.glcs-landing .glcs-cf7 .glcf-consent .wpcf7-list-item { margin: 0; }
.glcs-landing .glcs-cf7 .glcf-consent label { position: relative; display: block; min-height: 20px; padding-left: 32px; color: #4a4a4a; font-size: 12px; font-weight: 400; line-height: 1.5; cursor: pointer; }
.glcs-landing .glcs-cf7 .glcf-consent .wpcf7-list-item-label, .glcs-landing .glcs-cf7 .glcf-consent a { display: inline; }
.glcs-landing .glcs-cf7 .glcf-consent a { color: inherit; font-weight: inherit; text-decoration: underline; }
.glcs-landing .glcs-cf7 .glcf-consent input[type="checkbox"] { position: absolute; top: 0; left: 0; display: grid; place-content: center; width: 20px !important; height: 20px !important; min-height: 0; margin: 0; padding: 0; border: 1.5px solid #8a8a8a; border-radius: 0; background: #fff; cursor: pointer; appearance: none; -webkit-appearance: none; }
.glcs-landing .glcs-cf7 .glcf-consent input[type="checkbox"]:checked { border-color: var(--glcs-accent); background: var(--glcs-accent); }
.glcs-landing .glcs-cf7 .glcf-consent input[type="checkbox"]:checked::after { content: ""; width: 10px; height: 6px; border: solid #fff; border-width: 0 0 2px 2px; transform: translateY(-1px) rotate(-45deg); }
.glcs-landing .glcs-cf7 .glcf-submit { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 55px; margin: 0; padding: 10px 10px 10px 28px; border: 0; border-radius: 0; background: var(--glcs-accent); color: #fff; font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.25; text-align: left; cursor: pointer; transition: background-color .15s ease; }
.glcs-landing .glcs-cf7 .glcf-submit:hover:not(:disabled) { background: var(--glcs-accent-dark); }
.glcs-landing .glcs-cf7 .glcf-submit:disabled { cursor: not-allowed; opacity: .75; }
.glcs-landing .glcs-cf7 .glcf-submit__icon { flex: none; width: 34px; height: 35px; background: url("icons/arrow-square.svg") center / contain no-repeat; }
.glcs-landing .glcs-cf7 .wpcf7-spinner { position: absolute; margin: 0; }
.glcs-landing .glcs-cf7 .glcf-note { display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--glcs-muted); font-size: 13px; font-weight: 500; line-height: 1.5; }
.glcs-landing .glcs-cf7 .glcf-note__ok { display: inline-flex; align-items: center; gap: 6px; }
.glcs-landing .glcs-cf7 .glcf-note__ok::before { content: ""; width: 16px; height: 16px; background: url("icons/check.svg") center / contain no-repeat; }
.glcs-landing .glcs-cf7 .wpcf7-response-output { margin: 0 !important; padding: 12px 16px !important; border-width: 1px !important; font-size: 14px; font-weight: 500; line-height: 1.5; }
.glcs-landing .glcs-cf7 .wpcf7-turnstile { margin: 0; }
.glcs-landing .glcs-cf7 .wpcf7-turnstile:empty, .glcs-landing .glcs-cf7 .wpcf7-turnstile > div:empty { display: none; }

/* ---- Karuzela innych realizacji ---- */
.glcs-landing .glcs-others { position: relative; padding-block: 120px; background: var(--glcs-ink); overflow: hidden; }
.glcs-landing .glcs-others__decor { position: absolute; top: 0; left: 50%; width: 1440px; height: 900px; transform: translateX(-50%); background: url("icons/decor-others.svg") center / 1440px 900px no-repeat; pointer-events: none; }
.glcs-landing .glcs-others__head { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.glcs-landing .glcs-others__head .glcs-h2 { margin-top: 16px; }
.glcs-landing .glcs-others__arrows { display: flex; gap: 12px; }
.glcs-landing .glcs-others__arrow { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; padding: 0; border: 1.5px solid rgba(255, 255, 255, .6); border-radius: 0; background: transparent; cursor: pointer; }
.glcs-landing .glcs-others__arrow--filled { border-color: #fff; background: #fff; }
.glcs-landing .glcs-others__arrow:disabled { opacity: .45; cursor: default; }
.glcs-landing .glcs-others__arrow .glcs-icon { width: 32px; height: 32px; }
.glcs-landing .glcs-others__track { --glcs-track-pad: max(var(--glcs-gutter), calc((100% - 1200px) / 2)); position: relative; display: flex; gap: 32px; margin-top: 56px; padding-inline: var(--glcs-track-pad); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--glcs-track-pad); scrollbar-width: none; }
.glcs-landing .glcs-others__track::-webkit-scrollbar { display: none; }
.glcs-landing .glcs-others__track:focus-visible { outline: 3px solid #e83838; outline-offset: -3px; }
.glcs-landing .glcs-others__card { flex: 0 0 min(960px, 100%); display: flex; min-height: 480px; background: #fff; scroll-snap-align: start; }
.glcs-landing .glcs-others__body { flex: 0 0 400px; display: flex; flex-direction: column; gap: 20px; padding: 40px; }
.glcs-landing .glcs-others__result { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px 14px 20px; border-left: 4px solid var(--glcs-accent); background: var(--glcs-gray); }
.glcs-landing .glcs-others__result p { margin: 0; }
.glcs-landing .glcs-others__kind { color: var(--glcs-muted); font-size: 11px; font-weight: 600; line-height: 1.5; letter-spacing: .88px; text-transform: uppercase; }
.glcs-landing .glcs-others__value { color: #000; font-size: 20px; font-weight: 700; line-height: 1.25; }
.glcs-landing .glcs-others__note { color: #4a4a4a; font-size: 13px; line-height: 1.4; }
.glcs-landing .glcs-others__title { margin: 0; color: #000; font-size: 26px; font-weight: 700; line-height: 1.2; letter-spacing: 0; }
.glcs-landing .glcs-others__text { margin: 0; color: var(--glcs-text); font-size: 15px; line-height: 1.6; }
.glcs-landing .glcs-others__btn { align-self: flex-start; margin-top: auto; }
.glcs-landing .glcs-others__media { position: relative; flex: 1 1 0; min-width: 0; background: #e7e7e7; }
.glcs-landing .glcs-others__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.glcs-landing .glcs-others__category { position: absolute; top: 24px; left: 24px; padding: 6px 12px; background: #fff; color: #000; font-size: 13px; font-weight: 500; line-height: 1.5; }
.glcs-landing .glcs-others__foot { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 56px; }
.glcs-landing .glcs-others__dots { display: none; }
.glcs-landing .glcs-others__all { display: inline-flex; align-items: center; gap: 12px; color: #fff; font-size: 16px; font-weight: 600; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
.glcs-landing .glcs-others__all .glcs-icon { width: 24px; height: 24px; }

/* ---- Kontakt bezpośredni ---- */
.glcs-landing .glcs-direct { padding-block: 96px 88px; background: #fff; }
.glcs-landing .glcs-direct__title { margin: 0; color: #000; font-size: 40px; font-weight: 700; line-height: 1.15; letter-spacing: 0; }
.glcs-landing .glcs-direct__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.glcs-landing .glcs-direct__list a { display: flex; align-items: center; gap: 20px; color: #000; font-size: 19px; font-weight: 600; line-height: 1.5; text-decoration: none; overflow-wrap: anywhere; }
.glcs-landing .glcs-direct__list a:hover { color: var(--glcs-accent); }
.glcs-landing .glcs-direct__list .glcs-icon { flex: none; width: 48px; height: 48px; }

/* ---- Pasek CTA na telefonie ---- */
.glcs-landing .glcs-mobile-bar { display: none; }

/* =========================================================================
   Responsywność
   ========================================================================= */
@media (max-width: 1279px) {
    .glcs-landing { --glcs-gutter: 32px; }
    .glcs-landing .glcs-intro, .glcs-landing .glcs-summary__grid { grid-template-columns: 320px minmax(0, 1fr); column-gap: 56px; }
    .glcs-landing .glcs-module { gap: 56px; }
    .glcs-landing .glcs-module__text { flex-basis: 340px; }
    .glcs-landing .glcs-results { column-gap: 40px; }
    .glcs-landing .glcs-result__proof { padding-inline: 32px; }
    .glcs-landing .glcs-result__panel { margin-inline: 20px; padding-inline: 24px; }
    .glcs-landing .glcs-others__card { flex-basis: min(880px, 92%); }
    .glcs-landing .glcs-others__body { flex-basis: 380px; }
}
@media (max-width: 1023px) {
    .glcs-landing .glcs-h2 { font-size: 36px; }
    .glcs-landing .glcs-subnav__list { display: flex; overflow-x: auto; scrollbar-width: none; }
    .glcs-landing .glcs-subnav__list::-webkit-scrollbar { display: none; }
    .glcs-landing .glcs-subnav__list li { flex: 1 0 auto; }
    .glcs-landing .glcs-subnav a { padding-inline: 18px; }
    .glcs-landing .glcs-issues { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 32px; }
    .glcs-landing .glcs-intro, .glcs-landing .glcs-summary__grid { grid-template-columns: minmax(0, 1fr); }
    .glcs-landing .glcs-intro__text { grid-column: 1; grid-row: auto; padding-top: 24px; }
    .glcs-landing .glcs-summary__text { padding-top: 24px; }
    .glcs-landing .glcs-module { flex-direction: column; gap: 32px; }
    .glcs-landing .glcs-module__text { flex: none; width: 100%; }
    .glcs-landing .glcs-module__media { flex: none; width: 100%; height: auto; aspect-ratio: 704 / 460; }
    .glcs-landing .glcs-results { grid-template-columns: minmax(0, 1fr); row-gap: 56px; }
    .glcs-landing .glcs-result__proof { min-height: 0; }
    .glcs-landing .glcs-band { flex-direction: column; align-items: flex-start; padding: 48px 40px; }
    .glcs-landing .glcs-contact__grid { flex-direction: column; gap: 40px; }
    .glcs-landing .glcs-contact__intro { flex: none; width: 100%; }
    .glcs-landing .glcs-contact__form { width: 100%; }
    .glcs-landing .glcs-others__card { flex-basis: min(720px, 88%); }
    .glcs-landing .glcs-others__body { flex-basis: 50%; padding: 32px; }
    .glcs-landing .glcs-direct__list { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 767px) {
    .glcs-landing { --glcs-gutter: 20px; --glcs-subnav-h: 0px; font-size: 15px; }
    .glcs-landing .glcs-only-desktop { display: none; }
    .glcs-landing .glcs-only-mobile { display: inline; }
    .glcs-landing .glcs-only-mobile-block { display: flex; }
    .glcs-landing .glcs-crumbs, .glcs-landing .glcs-subnav { display: none; }
    .glcs-landing .glcs-h2 { font-size: 28px; line-height: 1.22; }
    .glcs-landing .glcs-text { font-size: 15px; line-height: 1.55; }
    /* Wariant mobilny z Figmy: tekst i strzałka rozsunięte do krawędzi, bez stałego odstępu 24 px. */
    .glcs-landing .glcs-btn-arrow { justify-content: space-between; gap: 12px; width: 100%; }

    .glcs-landing .glcs-acc { display: flex; flex-direction: column; gap: 16px; }
    .glcs-landing .glcs-acc__toggle { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 16px 0; border: 0 !important; border-top: 1px solid #3a403f !important; border-bottom: 1px solid #3a403f !important; border-radius: 0; background: none; color: #fff; font: inherit; font-size: 15px; font-weight: 600; line-height: 1.5; text-align: left; cursor: pointer; }
    .glcs-landing .glcs-acc__sign { position: relative; flex: none; width: 14px; height: 14px; }
    .glcs-landing .glcs-acc__sign::before, .glcs-landing .glcs-acc__sign::after { content: ""; position: absolute; top: 6px; left: 0; width: 14px; height: 2px; background: var(--glcs-accent); }
    .glcs-landing .glcs-acc__sign::after { transform: rotate(90deg); transition: transform .2s ease; }
    .glcs-landing .glcs-acc__toggle[aria-expanded="true"] .glcs-acc__sign::after { transform: rotate(0deg); }
    .glcs-landing .glcs-acc.is-collapsed .glcs-acc__panel { display: none; }

    .glcs-landing .glcs-more { gap: 18px; }
    .glcs-landing .glcs-more__content p { font-size: 15px; }

    .glcs-landing .glcs-issues { grid-template-columns: minmax(0, 1fr); gap: 18px; }

    .glcs-landing .glcs-intro { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
    .glcs-landing .glcs-intro__text { display: contents; }
    .glcs-landing .glcs-intro > .glcs-label { order: 1; }
    .glcs-landing .glcs-intro__first { order: 2; }
    .glcs-landing .glcs-intro__title { order: 3; margin-top: 0; }
    .glcs-landing .glcs-intro__second { order: 4; }
    .glcs-landing .glcs-intro__text p { font-size: 15px; line-height: 1.55; }

    .glcs-landing .glcs-modules { display: flex; flex-direction: column; gap: 56px; margin-top: 16px; border-bottom: 0; }
    .glcs-landing .glcs-module { gap: 24px; padding-block: 40px; }
    .glcs-landing .glcs-module__text { gap: 16px; }
    .glcs-landing .glcs-module__text > p { font-size: 16px; }
    .glcs-landing .glcs-module__title { font-size: 24px; }
    .glcs-landing .glcs-module__media { aspect-ratio: auto; height: 240px; }

    .glcs-landing .glcs-results { gap: 40px; margin-top: 16px; }
    .glcs-landing .glcs-result__proof { padding: 44px 44px 84px; border: 1px solid #3a403f; }
    .glcs-landing .glcs-result__panel { margin: -56px 16px 0; padding: 26px 20px 22px; }
    .glcs-landing .glcs-result__title { font-size: 22px; }
    .glcs-landing .glcs-result__meta { flex-direction: column; gap: 10px; }

    .glcs-landing .glcs-band { gap: 22px; margin-top: 0; padding: 32px 24px; }
    .glcs-landing .glcs-band__square { width: 14px; height: 14px; }
    .glcs-landing .glcs-band__text { flex: none; gap: 22px; }
    .glcs-landing .glcs-band__title { font-size: 26px; line-height: 1.22; }
    .glcs-landing .glcs-band__text p:not(.glcs-label) { font-size: 15px; line-height: 1.55; }

    .glcs-landing .glcs-summary { padding-block: 48px; }
    .glcs-landing .glcs-summary__grid { display: flex; flex-direction: column; gap: 18px; }
    .glcs-landing .glcs-summary__dot { display: none; }
    .glcs-landing .glcs-summary__text { gap: 18px; padding-top: 0; }
    .glcs-landing .glcs-summary__text p { font-size: 15px; line-height: 1.55; }
    .glcs-landing .glcs-summary__btn { margin-top: 0; }

    .glcs-landing .glcs-contact { padding-block: 48px; }
    .glcs-landing .glcs-contact__grid { gap: 18px; }
    .glcs-landing .glcs-contact__intro { gap: 18px; }
    .glcs-landing .glcs-contact__box { gap: 18px; padding: 0; border: 0; background: none; }
    .glcs-landing .glcs-contact__box .glcs-contact__box-title { font-size: 17px; line-height: 1.55; }
    .glcs-landing .glcs-quick-contact { display: flex; gap: 10px; }
    .glcs-landing .glcs-quick-contact li { flex: 1 1 0; min-width: 0; }
    .glcs-landing .glcs-quick-contact a { display: flex; flex-direction: column; align-items: center; gap: 8px; padding-block: 14px; border: 1px solid #e7e7e7; background: #fff; color: var(--glcs-ink); font-size: 13px; font-weight: 600; line-height: 1.5; text-decoration: none; }
    .glcs-landing .glcs-quick-contact .glcs-icon { width: 28px; height: 28px; }
    .glcs-landing .glcs-contact__form { padding: 44px 20px; }

    .glcs-landing .glcs-others { padding-block: 48px; }
    .glcs-landing .glcs-others__decor, .glcs-landing .glcs-others__arrows { display: none; }
    .glcs-landing .glcs-others__head .glcs-h2 { margin-top: 20px; font-size: 26px; }
    .glcs-landing .glcs-others__track { gap: 16px; margin-top: 20px; }
    .glcs-landing .glcs-others__card { flex: 0 0 300px; flex-direction: column; min-height: 0; }
    .glcs-landing .glcs-others__media { flex: none; order: -1; height: 220px; }
    .glcs-landing .glcs-others__body { flex: 1 1 auto; gap: 16px; padding: 24px 24px 28px; }
    .glcs-landing .glcs-others__title { font-size: 22px; }
    .glcs-landing .glcs-others__btn { gap: 24px; width: auto; margin-top: 0; }
    .glcs-landing .glcs-others__foot { margin-top: 20px; }
    .glcs-landing .glcs-others__dots { display: flex; gap: 8px; }
    .glcs-landing .glcs-others__dots span { width: 8px; height: 8px; background: #4a4f4e; transition: width .2s ease; }
    .glcs-landing .glcs-others__dots span.is-active { width: 24px; background: var(--glcs-accent); }
    .glcs-landing .glcs-others__all { font-size: 15px; line-height: 1.55; }
    .glcs-landing .glcs-others__all .glcs-icon { display: none; }

    .glcs-landing .glcs-direct { padding-block: 40px; }
    .glcs-landing .glcs-direct__title { font-size: 24px; line-height: 1.22; }
    .glcs-landing .glcs-direct__list { gap: 18px; margin-top: 18px; }

    .glcs-landing .glcs-mobile-bar { position: fixed; inset: auto 0 0; z-index: 90; display: flex; align-items: center; gap: 10px; height: calc(76px + env(safe-area-inset-bottom, 0px)); padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: #fff; box-shadow: 0 -4px 16px rgba(0, 0, 0, .14); }
    .glcs-landing .glcs-mobile-bar__cta { flex: 1 1 auto; width: auto; min-width: 0; white-space: nowrap; }
    .glcs-landing .glcs-mobile-bar__icon { display: flex; flex: none; align-items: center; justify-content: center; width: 52px; height: 52px; border: 1px solid #e7e7e7; background: #fff; }
    .glcs-landing .glcs-mobile-bar__icon .glcs-icon { width: 26px; height: 26px; }
    /* Miejsce pod pasek (z obszarem bezpiecznym); aktywne pola formularza przewijane ponad pasek. */
    body:has(.glcs-mobile-bar) { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
    html:has(.glcs-mobile-bar) { scroll-padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
    body:has(.glcs-mobile-bar) .gl-wa-float { display: none; }
    /* Klawiatura ekranowa: pasek nie zasłania aktywnego pola formularza. */
    .glcs-landing:has(input:not([type=checkbox]):focus, textarea:focus, select:focus) .glcs-mobile-bar { display: none; }
}
@media (max-width: 389px) {
    /* Węższe telefony (np. 360 px): tekst paska CTA nadal w jednej linii. */
    .glcs-landing .glcs-mobile-bar { gap: 8px; padding-inline: 12px; }
    .glcs-landing .glcs-mobile-bar__cta { padding-left: 16px; font-size: 15px; }
}

/* =========================================================================
   Sekcje landingu realizacji (earna_cs_case_hero, earna_cs_about, ...).
   Projekt ustawia tylko zmienne: --glcs-brand, --glcs-hero-bg(-m), --glcs-hero-mobile-h, --glcs-wide-ratio.
   ========================================================================= */

/* ---- Hero ---- */
.glcs-landing .glcs-chero { container-type: inline-size; display: grid; grid-template-columns: minmax(460px, 600fr) minmax(0, 840fr); background: #1b201f; }
/* Lewy margines treści wyrównany do kontenera 1200 px (50cqw = połowa szerokości sekcji bez paska przewijania). */
.glcs-landing .glcs-chero__panel { display: flex; flex-direction: column; gap: 28px; padding: 72px 64px 72px max(var(--glcs-gutter), calc(50cqw - 600px)); background: #1b201f; }
.glcs-landing .glcs-chero__head { display: flex; flex-direction: column; align-items: flex-start; gap: 28px; }
.glcs-landing .glcs-chero__head .glcs-label { font-size: 13px; letter-spacing: 1.04px; }
.glcs-landing .glcs-chero__title { margin: 0; color: #fff; font-size: 36px; font-weight: 700; line-height: 1.16; letter-spacing: 0; text-transform: none; }
.glcs-landing .glcs-chero__brand { color: var(--glcs-brand, var(--glcs-accent)); }
.glcs-landing .glcs-chero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.glcs-landing .glcs-chero__details { display: flex; flex-direction: column; gap: 28px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .2); }
.glcs-landing .glcs-meta { display: flex; flex-direction: column; gap: 12px; }
.glcs-landing .glcs-meta__label { margin: 0; color: #a9adac; font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: 1.2px; text-transform: uppercase; }
.glcs-landing .glcs-meta__text { margin: 0; color: #fff; font-size: 16px; font-weight: 500; line-height: 1.45; }
.glcs-landing .glcs-chero__media { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; overflow: hidden; background: var(--glcs-hero-bg, #e8e7ea); }
.glcs-landing .glcs-chero__img { width: 100%; height: auto; object-fit: contain; }
.glcs-landing .glcs-chero__decor-square { position: absolute; top: 676px; left: 20.24%; width: 16px; height: 16px; background: #be0505; }
.glcs-landing .glcs-chero__decor-corner { position: absolute; top: 800px; right: 20px; width: 60px; height: 60px; }

/* ---- Efekty w skrócie (tylko telefon) ---- */
.glcs-landing .glcs-glance { flex-direction: column; align-items: flex-start; gap: 18px; padding: 40px 20px 36px; background: #fff; }
.glcs-landing .glcs-glance__label { color: #0f0f0f; font-size: 13px; letter-spacing: .78px; }
.glcs-landing .glcs-glance__list { display: flex; flex-direction: column; gap: 18px; width: 100%; }
.glcs-landing .glcs-glance__list li { display: flex; flex-direction: column; gap: 4px; padding-left: 14px; border-left: 4px solid #be0505; }
.glcs-landing .glcs-glance__list span { color: #6b6b6b; font-size: 11px; font-weight: 600; line-height: 1.5; letter-spacing: .66px; text-transform: uppercase; }
.glcs-landing .glcs-glance__list strong { color: #0f0f0f; font-size: 19px; font-weight: 700; line-height: 1.25; }

/* ---- O kliencie ---- */
.glcs-landing .glcs-about { padding-block: 120px; background: #fff; }
.glcs-landing .glcs-about__grid { display: flex; align-items: flex-start; gap: 80px; }
.glcs-landing .glcs-about__media { position: relative; flex: 0 0 560px; aspect-ratio: 560 / 620; }
.glcs-landing .glcs-about__media > * { position: absolute; }
.glcs-landing .glcs-about__corner { top: 0; left: 0; width: 11.43%; height: auto; }
.glcs-landing .glcs-about__main { top: 3.23%; left: 3.57%; width: 71.43%; height: 77.42%; object-fit: cover; }
.glcs-landing .glcs-about__sq--red { top: 38.06%; left: 80%; width: 15.71%; aspect-ratio: 1; background: #be0505; }
.glcs-landing .glcs-about__second { top: 56.77%; left: 47.86%; width: 51.79%; height: 39.52%; border: 10px solid #fff; object-fit: cover; background: #fff; }
.glcs-landing .glcs-about__sq--black { top: 90.32%; left: 44.64%; width: 5%; aspect-ratio: 1; background: #000; }
.glcs-landing .glcs-about__text { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 28px; }
.glcs-landing .glcs-about__lead { margin: 0; color: #000; font-size: 28px; font-weight: 600; line-height: 1.32; letter-spacing: 0; text-transform: none; }
.glcs-landing .glcs-about .glcs-more { align-self: stretch; }

/* ---- Wyzwania ---- */
.glcs-landing .glcs-challenges { position: relative; padding-block: 120px; background: #0f0f0f; }
.glcs-landing .glcs-challenges__decor { position: absolute; top: 128px; right: max(var(--glcs-gutter), calc(50% - 600px)); width: 104px; height: 62px; }
.glcs-landing .glcs-challenges__head { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; max-width: 960px; margin-bottom: 72px; }
.glcs-landing .glcs-challenges__intro { max-width: 760px; margin: 0; color: #b8b8b8; font-size: 18px; line-height: 1.6; }
.glcs-landing .glcs-issues--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.glcs-landing .glcs-issues--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* ---- Rozwiązania ---- */
.glcs-landing .glcs-solutions { padding-block: 120px; background: #f1f1f1; }

/* ---- Efekty ---- */
.glcs-landing .glcs-outcomes { padding-block: 120px; background: #fff; }
.glcs-landing .glcs-result__proof--big { gap: 18px; }
/* Dowód obrazkowy: zdjęcie pod ciemną warstwą 88% (jak w projekcie). */
.glcs-landing .glcs-result__proof--image { position: relative; overflow: hidden; padding: 0; }
.glcs-landing .glcs-result__proof--image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.glcs-landing .glcs-result__proof--image::after { content: ""; position: absolute; inset: 0; background: rgba(27, 32, 31, .88); }
.glcs-landing .glcs-proof-big__line { width: 48px; height: 3px; background: #dc2a2a; }
.glcs-landing .glcs-proof-big__value { margin: 0; color: #fff; font-size: 72px; font-weight: 700; line-height: 1.1; }
.glcs-landing .glcs-proof-big__text { margin: 0; color: #d6d6d6; font-size: 18px; line-height: 1.5; }

/* ---- Cele współpracy ---- */
.glcs-landing .glcs-goals { padding-block: 24px 120px; background: #fff; }
.glcs-landing .glcs-goals__frame { position: relative; padding: 24px; border: 1px solid #d6d6d6; }
.glcs-landing .glcs-goals__label { position: absolute; top: -15px; left: 50%; padding: 4px 20px; background: #fff; transform: translateX(-50%); white-space: nowrap; }
.glcs-landing .glcs-goals__surface { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; min-height: 460px; padding: 72px 120px; background-color: #f1f1f1; background-image: linear-gradient(to right, #e2e2e2 1px, transparent 1px), linear-gradient(to bottom, #e2e2e2 1px, transparent 1px); background-size: 48px 46px; background-position: -1px -1px; text-align: center; }
.glcs-landing .glcs-goals__corner { position: absolute; width: 32px; height: 32px; }
.glcs-landing .glcs-goals__corner--tl { top: 20px; left: 20px; }
.glcs-landing .glcs-goals__corner--tr { top: 20px; right: 20px; }
.glcs-landing .glcs-goals__corner--bl { bottom: 20px; left: 20px; }
.glcs-landing .glcs-goals__corner--br { right: 20px; bottom: 20px; }
.glcs-landing .glcs-goals__quote { position: relative; max-width: 912px; margin: 0; color: #000; font-size: 30px; font-weight: 600; line-height: 1.35; }
.glcs-landing .glcs-goals__note { position: relative; max-width: 912px; margin: 0; color: #6b6b6b; font-size: 15px; line-height: 1.5; }

/* ---- Szeroka grafika i separator ---- */
.glcs-landing .glcs-wide img { width: 100%; height: var(--glcs-wide-h, 530px); object-fit: cover; }
.glcs-landing .glcs-separator { padding-top: 80px; }
.glcs-landing .glcs-separator img { width: 100%; height: auto; }

/* ---- Responsywność ---- */
@media (max-width: 1279px) {
    .glcs-landing .glcs-chero__panel { padding-right: 48px; }
    .glcs-landing .glcs-about__grid { gap: 56px; }
    .glcs-landing .glcs-about__media { flex-basis: 46%; }
    .glcs-landing .glcs-goals__surface { padding-inline: 72px; }
}
@media (max-width: 1023px) {
    .glcs-landing .glcs-chero { grid-template-columns: minmax(0, 1fr); }
    .glcs-landing .glcs-chero__panel { padding: 56px var(--glcs-gutter); }
    .glcs-landing .glcs-chero__media { padding: 32px var(--glcs-gutter); }
    .glcs-landing .glcs-chero__img { max-width: 720px; }
    .glcs-landing .glcs-chero__decor-square { top: 71.2%; }
    /* Dowód obrazkowy nie ma treści w przepływie: na tablecie stała wysokość zamiast zerowej. */
    .glcs-landing .glcs-result__proof--image { min-height: 420px; }
    .glcs-landing .glcs-chero__decor-corner { top: auto; bottom: 20px; }
    .glcs-landing .glcs-about, .glcs-landing .glcs-challenges, .glcs-landing .glcs-solutions, .glcs-landing .glcs-outcomes { padding-block: 88px; }
    .glcs-landing .glcs-about__grid { flex-direction: column; gap: 48px; }
    .glcs-landing .glcs-about__media { flex: none; width: min(560px, 100%); }
    .glcs-landing .glcs-challenges__decor { top: 88px; }
    .glcs-landing .glcs-challenges__head { padding-right: 120px; margin-bottom: 56px; }
    .glcs-landing .glcs-issues--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .glcs-landing .glcs-goals__surface { padding: 64px 48px; }
    .glcs-landing .glcs-goals__quote { font-size: 26px; }
    .glcs-landing .glcs-wide img { height: auto; aspect-ratio: var(--glcs-wide-ratio, 1440 / 530); }
}
@media (max-width: 767px) {
    /* Hero: nagłówek, makieta, szczegóły — kolejność z ramki mobilnej */
    .glcs-landing .glcs-chero { display: flex; flex-direction: column; }
    .glcs-landing .glcs-chero__panel { display: contents; }
    .glcs-landing .glcs-chero__head { order: 1; gap: 18px; padding: 28px 20px; background: #1b201f; }
    .glcs-landing .glcs-chero__title { font-size: 30px; line-height: 1.18; }
    .glcs-landing .glcs-chero__cta { flex-direction: column; align-items: stretch; gap: 14px; width: 100%; }
    .glcs-landing .glcs-chero__cta .glcs-text-link { text-align: center; }
    .glcs-landing .glcs-chero__media { order: 2; height: var(--glcs-hero-mobile-h, 244px); padding: 0; background: var(--glcs-hero-bg-m, var(--glcs-hero-bg, #e8e7ea)); }
    .glcs-landing .glcs-chero__img { width: 100%; height: 100%; max-width: none; }
    .glcs-landing .glcs-chero__decor-square, .glcs-landing .glcs-chero__decor-corner { display: none; }
    .glcs-landing .glcs-chero__details { order: 3; gap: 24px; padding: 28px 20px 32px; border-top: 0; background: #1b201f; }
    .glcs-landing .glcs-chero .glcs-acc__panel { gap: 24px; }

    /* O kliencie: tekst, potem jedno zdjęcie */
    .glcs-landing .glcs-about { padding: 48px 0; background: #f1f1f1; }
    .glcs-landing .glcs-about__grid { gap: 18px; }
    .glcs-landing .glcs-about__text { order: 1; gap: 18px; }
    .glcs-landing .glcs-about__lead { font-size: 21px; line-height: 1.35; }
    .glcs-landing .glcs-about .glcs-more { --glcs-fade: #f1f1f1; }
    .glcs-landing .glcs-about__media { order: 2; width: 100%; height: 420px; aspect-ratio: auto; }
    .glcs-landing .glcs-about__main { position: static; width: 100%; height: 100%; }
    .glcs-landing .glcs-about__corner, .glcs-landing .glcs-about__sq, .glcs-landing .glcs-about__second { display: none; }

    .glcs-landing .glcs-challenges { padding-block: 48px; }
    .glcs-landing .glcs-challenges__decor { display: none; }
    .glcs-landing .glcs-challenges__head { gap: 18px; margin-bottom: 18px; padding-right: 0; }
    .glcs-landing .glcs-challenges__intro { font-size: 15px; line-height: 1.55; }
    .glcs-landing .glcs-issues--3, .glcs-landing .glcs-issues--2 { grid-template-columns: minmax(0, 1fr); }

    .glcs-landing .glcs-solutions { padding: 48px 0 0; background: #fff; }
    .glcs-landing .glcs-solutions .glcs-modules { margin-top: 40px; padding-bottom: 48px; }

    .glcs-landing .glcs-outcomes { padding: 48px 0 48px; }
    .glcs-landing .glcs-outcomes .glcs-results { margin-top: 40px; }
    .glcs-landing .glcs-outcomes .glcs-band { margin-top: 40px; }
    .glcs-landing .glcs-result__proof--big { min-height: 320px; padding-bottom: 56px; }
    .glcs-landing .glcs-result__proof--image { min-height: 320px; padding: 0; }
    .glcs-landing .glcs-proof-big__line { width: 100%; }
    .glcs-landing .glcs-proof-big__value { font-size: 52px; }
    .glcs-landing .glcs-proof-big__text { font-size: 15px; }

    /* Cele: ramka z czerwoną krawędzią zamiast siatki */
    .glcs-landing .glcs-goals { padding: 8px 0 48px; }
    .glcs-landing .glcs-goals__frame { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 28px 24px; border: 0; border-left: 3px solid #be0505; background: #f1f1f1; }
    .glcs-landing .glcs-goals__label { position: static; padding: 0; background: none; color: #0f0f0f; font-size: 13px; letter-spacing: .78px; transform: none; white-space: normal; }
    .glcs-landing .glcs-goals__surface { display: contents; }
    .glcs-landing .glcs-goals__corner { display: none; }
    .glcs-landing .glcs-goals__quote { font-size: 20px; line-height: 1.55; text-align: left; }
    .glcs-landing .glcs-goals__note { font-size: 14px; line-height: 1.55; text-align: left; }

    .glcs-landing .glcs-wide img { height: var(--glcs-wide-mobile-h, 144px); aspect-ratio: auto; }
    .glcs-landing .glcs-separator { display: none; }
}

/* =========================================================================
   Opcjonalne elementy sekcji (od ClimCover): opis w hero, podpis materiału,
   plakietka na zdjęciu, podpis szerokiej grafiki, nagłówek podsumowania.
   ========================================================================= */
.glcs-landing .glcs-chero__lead { margin: 0; color: #d6d6d6; font-size: 16px; line-height: 1.6; }
.glcs-landing .glcs-chero__caption { position: absolute; left: 48px; bottom: 32px; display: flex; align-items: center; gap: 10px; margin: 0; color: #3d3d3d; font-size: 14px; font-weight: 500; line-height: 1.5; }
.glcs-landing .glcs-chero__caption::before { content: ""; flex: none; width: 8px; height: 8px; background: var(--glcs-accent); }
.glcs-landing .glcs-about__badge { top: 72.58%; left: 6.43%; display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; background: #000; color: #fff; font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: 1px; text-transform: uppercase; }
.glcs-landing .glcs-about__badge::before { content: ""; flex: none; width: 8px; height: 8px; background: var(--glcs-accent); }
.glcs-landing .glcs-wide__caption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding-top: 24px; }
.glcs-landing .glcs-wide__caption p { margin: 0; color: var(--glcs-muted); font-size: 15px; line-height: 1.5; }
.glcs-landing .glcs-summary__head { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.glcs-landing .glcs-summary__heading { margin: 0; color: #000; font-size: 34px; font-weight: 700; line-height: 1.15; letter-spacing: 0; text-transform: none; }

/* =========================================================================
   Porównanie „przed / po” z zakładkami (earna_cs_compare + [data-glcs-compare])
   ========================================================================= */
.glcs-landing .glcs-compare { padding-block: 120px; background: var(--glcs-gray); }
.glcs-landing .glcs-compare__inner { display: flex; flex-direction: column; gap: 56px; }
.glcs-landing .glcs-compare__head { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.glcs-landing .glcs-compare__title { max-width: 900px; margin: 0; color: #000; font-size: 42px; font-weight: 700; line-height: 1.15; letter-spacing: 0; text-transform: none; }
.glcs-landing .glcs-compare__intro { max-width: 820px; margin: 0; color: var(--glcs-text); font-size: 18px; line-height: 1.6; }
.glcs-landing .glcs-compare__body { display: flex; flex-direction: column; gap: 36px; }
.glcs-landing .glcs-compare__tabs { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid #d6d6d6; }
.glcs-landing .glcs-compare__tab { position: relative; padding: 14px 22px 16px; border: 0 !important; background: none; color: var(--glcs-muted); font: inherit; font-size: 15px; font-weight: 500; line-height: 1.5; cursor: pointer; }
.glcs-landing .glcs-compare__tab::after { content: ""; position: absolute; inset: auto 0 -1px; height: 3px; background: transparent; }
.glcs-landing .glcs-compare__tab:hover { color: #000; }
.glcs-landing .glcs-compare__tab[aria-selected="true"] { color: #000; font-weight: 600; }
.glcs-landing .glcs-compare__tab[aria-selected="true"]::after { background: var(--glcs-accent); }
.glcs-landing .glcs-compare__panel { display: flex; flex-direction: column; gap: 36px; }
.glcs-landing .glcs-compare__panel[hidden] { display: none !important; }
.glcs-landing .glcs-compare__panel:focus-visible { outline: 3px solid #e83838; outline-offset: 6px; }
.glcs-landing .glcs-compare__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.glcs-landing .glcs-compare__shot { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin: 0; }
.glcs-landing .glcs-compare__chip { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border: 1px solid #000; background: #fff; color: #000; font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: 1.2px; text-transform: uppercase; }
.glcs-landing .glcs-compare__shot--after .glcs-compare__chip { padding: 6px 13px; border: 0; background: var(--glcs-accent); color: #fff; }
.glcs-landing .glcs-compare__frame { width: 100%; aspect-ratio: 584 / 440; overflow: hidden; border: 1px solid #d6d6d6; background: #fff; }
.glcs-landing .glcs-compare__frame img { width: 100%; height: 100%; object-fit: cover; }
.glcs-landing .glcs-compare__desc { display: grid; grid-template-columns: 380px minmax(0, 1fr); column-gap: 96px; align-items: start; }
.glcs-landing .glcs-compare__desc-title { margin: 0; color: #000; font-size: 26px; font-weight: 700; line-height: 1.25; letter-spacing: 0; text-transform: none; }
.glcs-landing .glcs-compare__desc-body { display: flex; flex-direction: column; gap: 28px; }
.glcs-landing .glcs-compare__desc-body > p { margin: 0; color: var(--glcs-text); font-size: 17px; line-height: 1.65; }
.glcs-landing .glcs-compare__points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.glcs-landing .glcs-compare__points li { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; border-top: 2px solid var(--glcs-accent); color: #000; font-size: 15px; font-weight: 600; line-height: 1.45; }
.glcs-landing .glcs-compare__num { color: var(--glcs-accent); font-size: 13px; line-height: 1.5; letter-spacing: .78px; }

@media (max-width: 1279px) {
    .glcs-landing .glcs-compare__desc { grid-template-columns: 320px minmax(0, 1fr); column-gap: 56px; }
}
@media (max-width: 1023px) {
    .glcs-landing .glcs-chero__caption { display: none; }
    .glcs-landing .glcs-compare { padding-block: 88px; }
    .glcs-landing .glcs-compare__pair { gap: 24px; }
    .glcs-landing .glcs-compare__desc { grid-template-columns: minmax(0, 1fr); row-gap: 24px; }
    .glcs-landing .glcs-summary__heading { font-size: 30px; }
}
@media (max-width: 767px) {
    .glcs-landing .glcs-chero__lead { font-size: 15px; }
    .glcs-landing .glcs-about__badge { display: none; }
    /* Podpis szerokiej grafiki: tekst, potem etykieta (ramka mobilna). */
    .glcs-landing .glcs-wide__caption { flex-direction: column-reverse; align-items: flex-start; gap: 8px; padding-top: 16px; }
    .glcs-landing .glcs-wide__caption p { font-size: 13px; line-height: 1.55; }
    .glcs-landing .glcs-wide__caption .glcs-label { font-size: 13px; }
    .glcs-landing .glcs-wide__caption .glcs-label::before { display: none; }
    /* Podsumowanie z nagłówkiem: etykieta, akapit, nagłówek, akapit, przycisk. */
    .glcs-landing .glcs-summary--titled .glcs-summary__head, .glcs-landing .glcs-summary--titled .glcs-summary__text { display: contents; }
    .glcs-landing .glcs-summary--titled .glcs-label { order: 1; }
    .glcs-landing .glcs-summary--titled .glcs-summary__text p:first-of-type { order: 2; }
    .glcs-landing .glcs-summary--titled .glcs-summary__heading { order: 3; font-size: 28px; line-height: 1.22; }
    .glcs-landing .glcs-summary--titled .glcs-summary__text p:nth-of-type(2) { order: 4; }
    .glcs-landing .glcs-summary--titled .glcs-summary__btn { order: 5; }

    .glcs-landing .glcs-compare { padding-block: 48px; background: #fff; }
    .glcs-landing .glcs-compare__inner, .glcs-landing .glcs-compare__body, .glcs-landing .glcs-compare__panel { gap: 18px; }
    .glcs-landing .glcs-compare__head { gap: 18px; }
    .glcs-landing .glcs-compare__head .glcs-label { font-size: 13px; letter-spacing: .78px; }
    .glcs-landing .glcs-compare__title { font-size: 28px; line-height: 1.22; }
    .glcs-landing .glcs-compare__intro { font-size: 15px; line-height: 1.55; }
    /* Zakładki jako przyciski-pigułki (cel dotyku min. 44 px). */
    .glcs-landing .glcs-compare__tabs { border-bottom: 0; }
    .glcs-landing .glcs-compare__tab { min-height: 44px; padding: 8px 14px; background: var(--glcs-gray); color: var(--glcs-ink); font-size: 13px; font-weight: 600; }
    .glcs-landing .glcs-compare__tab::after { display: none; }
    .glcs-landing .glcs-compare__tab[aria-selected="true"] { background: var(--glcs-ink); color: #fff; }
    .glcs-landing .glcs-compare__pair { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .glcs-landing .glcs-compare__shot { gap: 18px; }
    .glcs-landing .glcs-compare__chip, .glcs-landing .glcs-compare__shot--after .glcs-compare__chip { padding: 6px 12px; border: 0; background: var(--glcs-ink); color: #fff; letter-spacing: .72px; }
    .glcs-landing .glcs-compare__chip::before { content: ""; flex: none; width: 8px; height: 8px; background: var(--glcs-accent); }
    .glcs-landing .glcs-compare__frame { aspect-ratio: 350 / 264; border-color: #e7e7e7; }
    .glcs-landing .glcs-compare__desc, .glcs-landing .glcs-compare__desc-body { row-gap: 18px; gap: 18px; }
    .glcs-landing .glcs-compare__desc-title { font-size: 20px; line-height: 1.55; }
    .glcs-landing .glcs-compare__desc-body > p { font-size: 15px; line-height: 1.55; }
    .glcs-landing .glcs-compare__points { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .glcs-landing .glcs-compare__points li { flex-direction: row; align-items: flex-start; gap: 14px; padding-top: 0; border-top: 0; color: var(--glcs-ink); font-size: 16px; line-height: 1.35; }
    .glcs-landing .glcs-compare__num { display: flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; background: var(--glcs-accent); color: #fff; font-size: 14px; font-weight: 700; letter-spacing: 0; }
}
/* Cele współpracy: opcjonalne zakończenie (akcent + zdanie). */
.glcs-landing .glcs-goals__accent { position: relative; width: 48px; height: 3px; background: var(--glcs-accent); }
.glcs-landing .glcs-goals__closing { position: relative; max-width: 912px; margin: 0; color: #000; font-size: 20px; font-weight: 600; line-height: 1.4; }
@media (max-width: 767px) {
    .glcs-landing .glcs-goals__accent { display: none; }
    .glcs-landing .glcs-goals__closing { font-size: 17px; line-height: 1.55; text-align: left; }
}
/* Hero: osobny obraz na telefon (<picture>) i lead podsumowania. */
.glcs-landing .glcs-chero__picture { display: contents; }
.glcs-landing .glcs-summary__text p.glcs-summary__lead { color: #0f0f0f; font-size: 22px; font-weight: 600; line-height: 1.35; }
@media (max-width: 767px) {
    .glcs-landing .glcs-summary__text p.glcs-summary__lead { font-size: 19px; line-height: 1.35; }
}
/* Telefon: linki tekstowe mają pole dotyku min. 44 px; padding + ujemny margines nie zmieniają układu. */
@media (max-width: 767px) {
    .glcs-landing .glcs-text-link, .glcs-landing .glcs-others__all, .glcs-landing .glcs-link { padding-block: 10.5px; margin-block: -10.5px; }
}
/* Hero z obrazem wypełniającym blok (Figma: object-cover) — opcja 'fit' => 'cover'. Tablet bez zmian. */
@media (min-width: 1024px) {
    .glcs-landing .glcs-chero--cover .glcs-chero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
}
@media (max-width: 767px) {
    .glcs-landing .glcs-chero--cover .glcs-chero__img { object-fit: cover; }
}
/* Kontakt bezpośredni: opcjonalny opis pod tytułem (np. „Wolisz porozmawiać bezpośrednio?”). */
.glcs-landing .glcs-direct__text { margin: 16px 0 0; color: #3d3d3d; font-size: 17px; line-height: 1.65; }
@media (max-width: 767px) {
    .glcs-landing .glcs-direct__text { margin-top: 12px; font-size: 15px; line-height: 1.55; }
}
/* Formularz CF7: autop owija zgodę i notkę w <p>, a motyw (style.css) narzuca .wpcf7-list-item-label czarny tekst 10 px z marginesem. */
.glcs-landing .glcs-cf7 .glcf-note > p { display: contents; color: inherit; font: inherit; }
.glcs-landing .glcs-cf7 .glcf-consent > p { margin: 0; }
.glcs-landing .glcs-cf7 .glcf-consent .wpcf7-list-item-label { display: inline; width: auto; margin: 0; color: inherit; font-size: inherit !important; font-weight: 400 !important; line-height: inherit !important; }
/* Moduł z tekstem w kilku akapitach — telefon (Figma mobile: jeden blok tekstu, akapity bez odstępu). */
@media (max-width: 767px) {
    .glcs-landing .glcs-module__text > p + p { margin-top: -16px; }
}
@media (prefers-reduced-motion: no-preference) { .glcs-landing .glcs-btn { transition: filter .15s ease; } }
@media (prefers-reduced-motion: reduce) { .glcs-landing *, .glcs-landing *::before, .glcs-landing *::after { transition: none !important; } }
