/* Ujednolicenie elementów całego serwisu z językiem scen: kontakt, newsletter, karty, stopka */
:root { --su-lime:#cbe800; --su-ink:#12041e; }

/* ===== KONTAKT: ciemna scena, ogromny tytuł, formularz z kreskami (bez różowej karty) ===== */
main > section#kontakt, main > section#kontakt.band, main > section#kontakt.sc {
  background: radial-gradient(900px 560px at 88% 0, rgba(228,0,124,.22), transparent 62%), radial-gradient(800px 560px at 0 100%, rgba(138,24,176,.30), transparent 62%), #12041e !important;
  color:#fff; --text:#f7e9f1; --text-muted:#c9a8d2; --hairline:rgba(255,255,255,.16);
  box-shadow: 0 -22px 50px -18px rgba(0,0,0,.6), 0 -1px 0 rgba(255,255,255,.1) inset !important; border-radius:34px 34px 0 0; }
main > section#kontakt .cta { background:none !important; border:0 !important; box-shadow:none !important; border-radius:0 !important; padding:0 !important; margin:0; max-width:none; color:#fff;
  display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); column-gap: clamp(30px,6vw,96px); row-gap:0; align-items:start;
  grid-template-areas: "eb form" "h2 form" "p form" "ct form"; grid-template-rows: auto auto auto 1fr; }
main > section#kontakt .cta::before, main > section#kontakt .cta::after { display:none !important; }
main > section#kontakt .cta > .eyebrow { grid-area:eb; color:#fff !important; opacity:.9; letter-spacing:.26em; }
main > section#kontakt .cta > h2 { grid-area:h2; font-family:var(--sans); font-weight:800; text-transform:uppercase; letter-spacing:-.03em; line-height:.96; font-size: clamp(2rem, 5vw, 5rem); margin:.35em 0 .5em; max-width:12ch; overflow-wrap:break-word; color:#fff; }
main > section#kontakt .cta > p { grid-area:p; font-size: var(--step-1); font-weight:300; color:rgba(255,255,255,.88); max-width:40ch; margin:0 0 1.6em; }
main > section#kontakt .cta > .qf-form { grid-area:form; margin-top:0; max-width:none; }
main > section#kontakt .cta > .cta-contacts { grid-area:ct; align-self:end; margin-top:1.2em; padding-top:1.4em; border-top:1px solid rgba(255,255,255,.2); display:flex; flex-direction:column; gap:14px; }
main > section#kontakt .cta > .cta-contacts .lbl { color: var(--su-lime); }
@media (max-width: 960px) {
  main > section#kontakt .cta { grid-template-columns:1fr; grid-template-areas: "eb" "h2" "p" "form" "ct"; }
  main > section#kontakt .cta > h2 { max-width:none; }
  main > section#kontakt .cta > .cta-contacts { margin-top:2em; }
}
/* pola formularza: tylko dolna kreska */
.qf-form input[type=text], .qf-form input[type=email], .qf-form textarea {
  background: transparent !important; border:0 !important; border-bottom:1.5px solid rgba(255,255,255,.38) !important; border-radius:0 !important; padding: .75em 0 !important; color:#fff; box-shadow:none !important; }
.qf-form input:focus, .qf-form textarea:focus { border-bottom-color: var(--su-lime) !important; background: transparent !important; box-shadow:none !important; }
.qf-form .qf-l { color: rgba(255,255,255,.72); text-transform:uppercase; letter-spacing:.14em; font-size:.74rem; font-weight:700; }
.qf-form textarea { min-height: 120px; }
.qf-form .qf-help { text-transform:none; letter-spacing:0; font-weight:400; }
.qf-form .qf-bad { border-bottom-color:#ff8fb2 !important; }

/* ===== NEWSLETTER: bez karty, duży tekst + pole z kreską ===== */
.news-card { background:none !important; border:0 !important; box-shadow:none !important; padding:0 !important; border-radius:0 !important; }
.news-card::before, .news-card::after { display:none !important; }
.news-grid p { font-size: clamp(1.4rem, 2.6vw, 2.4rem) !important; font-weight:300 !important; line-height:1.25 !important; letter-spacing:-.01em; max-width: 24ch !important; color: var(--text) !important; }
.news-row input, .fn-row input { background:transparent !important; border:0 !important; border-bottom:1.5px solid rgba(43,10,71,.35) !important; border-radius:0 !important; padding-left:0 !important; box-shadow:none !important; }
.news-row input:focus, .fn-row input:focus { border-bottom-color: var(--magenta) !important; box-shadow:none !important; }

/* ===== KARTY: płasko, ostre rogi, cienka linia (jak kafelki w menu) ===== */
.card, .case, .post, .bx-type, .bx-step, .tm, .val, .why-col { border-radius:6px !important; box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.card, .case, .post, .bx-type, .bx-step, .tm, .val { background: var(--card, #fff) !important; border:1px solid var(--hairline, #ead9e1) !important; }
.card:hover, .case:hover, .post:hover, .bx-type:hover, .bx-step:hover, .tm:hover, .val:hover { border-color: var(--magenta) !important; box-shadow: 0 18px 40px -24px rgba(43,10,71,.45) !important; }
.card .ic, .tm .av { border-radius:6px !important; }

/* ===== STOPKA: ciemna scena ===== */
footer { border-radius:34px 34px 0 0; position:relative; z-index:3; margin-top:-34px; }
footer .btn { white-space:nowrap; }

/* ===== PRZYCISKI: limonkowe, wielkie litery, zaokrąglony prostokąt (jak na wzorze) ===== */
.btn { border-radius:4px !important; text-transform:uppercase; letter-spacing:.07em; font-weight:700 !important; font-size:.84rem !important; box-shadow:none !important;
  background: var(--su-lime) !important; color: var(--su-ink) !important; border:1.5px solid transparent; padding: 1.05em 1.6em !important; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.btn:hover { background:#e2ff2e !important; color: var(--su-ink) !important; transform: translateY(-2px); box-shadow:none !important; }
.btn .arw { font-size:1.1em; }
.btn.lime { background: var(--su-lime) !important; color: var(--su-ink) !important; }
.btn.ghost { background: transparent !important; color: inherit !important; border-color: currentColor; }
.btn.ghost:hover { background: var(--su-lime) !important; color: var(--su-ink) !important; border-color: var(--su-lime); }
.nav-links > .btn { padding: .9em 1.35em !important; height:46px; display:inline-flex; align-items:center; }
.fm-open-btn { border-radius:4px !important; height:46px; background: var(--su-ink) !important; color:#fff !important; border:0 !important; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.fm-open-btn:hover { background: var(--su-lime) !important; color: var(--su-ink) !important; }
:root[data-theme="dark"] .fm-open-btn { background:#f1efe4 !important; color:var(--su-ink) !important; }
.news-row .btn, .fn-row .btn { white-space:nowrap; }
.qf-form .btn { align-self:flex-start; }
@media (prefers-reduced-motion: reduce) { .btn:hover { transform:none; } }

/* ===== TELEFON: nagłówek mieści się w ekranie, brak poziomego przewijania ===== */
html, body { overflow-x: clip; max-width: 100%; }
@media (max-width: 760px) {
  header .nav { gap: 10px; }
  .nav-links { gap: 8px; flex-wrap: nowrap; min-width: 0; }
  .nav-links > .btn { display: none !important; }
  .logo img.brand-img { max-height: 34px; width: auto; }
  .fm-open-btn { height: 42px; padding: 0 16px 0 14px; }
}
/* ===== KONTAKT: długie słowa w tytule nie łamią się na dwie linie ===== */
main > section#kontakt .cta > h2 { overflow-wrap: normal !important; word-break: normal; hyphens: manual; font-size: clamp(1.5rem, 3.3vw, 3.5rem); max-width: 14ch; }
@media (max-width: 960px) { main > section#kontakt .cta > h2 { font-size: clamp(1.7rem, 8.4vw, 4.4rem); } }

/* ===== REALIZACJE: panel "Zakres prac" bez różowego pola ===== */
.case-side { background: none !important; border: 0 !important; border-top: 1px solid var(--hairline, #ead9e1) !important; border-radius: 0 !important; box-shadow: none !important; padding: 1.4em 0 0 !important; }
.case-side .klabel { background: none !important; padding: 0 !important; color: var(--text-muted) !important; text-transform: uppercase; letter-spacing: .2em; font-size: .74rem; font-weight: 700; }
.scope span { background: none !important; color: var(--text, #2b0a47) !important; border: 1px solid var(--hairline, #d9c7d1) !important; border-radius: 6px !important; font-size: .78rem !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .06em; padding: .55em .9em !important; }
.case-side .back { color: var(--text) !important; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; border-bottom: 2px solid var(--su-lime); padding-bottom: 2px; display: inline-block; }
.case-side .back:hover { text-decoration: none; background: var(--su-lime); color: var(--su-ink) !important; }

/* ===== STOPKA: ciemna scena z kolumnami ===== */
footer { background: #0c0215 !important; color:#fff; border-top:0 !important; padding-block:0 !important; --text:#f7e9f1; --text-muted:#c9a8d2; --hairline:rgba(255,255,255,.16);
  box-shadow: 0 -22px 50px -18px rgba(0,0,0,.6), 0 -1px 0 rgba(255,255,255,.1) inset; }
footer .brand-light { display:none !important; } footer .brand-dark { display:inline-block !important; }
footer .foot-news { padding-block: clamp(40px,6vw,76px) clamp(30px,4vw,48px); border-bottom:1px solid rgba(255,255,255,.14); }
footer .foot-news-txt .eyebrow { color:#fff; }
footer .foot-news-txt p { color:rgba(255,255,255,.9) !important; font-size: clamp(1.1rem,2vw,1.6rem); font-weight:300; max-width:34ch; }
footer .fn-row input[type=email] { color:#fff; border-bottom-color:rgba(255,255,255,.4) !important; }
footer .fn-row input::placeholder { color:rgba(255,255,255,.6); }
footer .fn-row input:focus { border-bottom-color:var(--su-lime) !important; }
footer .consent, footer .consent span { color: var(--text-muted); }
footer .consent a, footer .foot-meta a { color:#fff; }
footer .foot { display:grid !important; grid-template-columns: minmax(0,1.3fr) minmax(0,2.6fr); gap: clamp(28px,5vw,72px); align-items:start; padding-block: clamp(36px,5vw,64px) 28px; }
footer .foot > div:first-child small { display:block; margin-top:14px; max-width:30ch; line-height:1.55; color:var(--text-muted); font-size:.9rem; }
footer .foot .brand-img { height:46px; width:auto; }
footer .foot-nav { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(20px,3vw,44px); font-size:.95rem; }
footer .fg { display:flex; flex-direction:column; gap:10px; min-width:0; }
footer .fg-t { font-size:.72rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--su-lime); margin-bottom:6px; }
footer .foot-nav a, footer .fg-txt { color:rgba(255,255,255,.88); overflow-wrap:break-word; transition: color .2s, transform .2s; }
footer .foot-nav a:hover { color:var(--su-lime); transform:translateX(3px); }
footer .fg-txt { color:var(--text-muted); }
footer .foot-meta { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:8px 28px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); color:var(--text-muted); font-size:.82rem; }
footer .foot-meta a { text-decoration:underline; text-underline-offset:3px; }
@media (max-width: 900px) { footer .foot { grid-template-columns:1fr; } footer .foot-nav { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px) { footer .foot-nav { grid-template-columns:1fr; } }
/* menu: podkategorie w ofercie */
.nav-dd-menu a.dd-sub { padding-left:28px !important; font-size:.92em; opacity:.85; }
.nav-dd-menu a.dd-sub::before { content:'· '; }
.mnav a.sub2 { padding-left:2.2em; opacity:.85; }
.kg { display:inline-block; white-space:nowrap; }
.kw.kp, .kw.kp.hl { background:none !important; padding:0 !important; margin:0 !important; }

/* podpisy pod zdjeciami: ukryte w calym serwisie */
figure figcaption, .art-fig figcaption, .case-fig figcaption { display:none !important; }
.rl-grid figure figcaption { display:block !important; }

/* liczby i teksty z gradientem: tlo nie ucina liter (ogonki, J, g) */
.stat-num, .stat-num.stat-txt { padding: .16em .1em .2em !important; margin: -.16em -.1em -.2em !important; line-height: 1.08 !important; }

/* opisy pod liczbami: ta sama szerokosc i wysokosc */
.stats-band .stats { align-items: stretch !important; }
.stats-band .stat-lab { max-width: 28ch; min-height: 4.5em; line-height: 1.5; }

/* liczby/napisy w pasku statystyk: dolne krawedzie na jednej linii */
.stats-band .stats { display: grid !important; grid-template-columns: repeat(2, max-content); justify-content: start; column-gap: clamp(30px,8vw,120px) !important; row-gap: 0 !important; }
.stats-band .stat { display: grid !important; grid-row: span 2; grid-template-rows: subgrid; row-gap: 10px; }
.stats-band .stat-num { align-self: end; }
@media (max-width: 760px) { .stats-band .stats { grid-template-columns: minmax(0,1fr); row-gap: 22px !important; } .stats-band .stat { grid-row: auto; grid-template-rows: auto auto; } }
.stats-band .stat-lab { max-width: none !important; min-height: 3em !important; }

/* 365 OKAZJI: ciemna scena (tlo nie ginie pod ogolna regula .band) */
main > section.band.feature365 { background: radial-gradient(900px 560px at 88% 0, rgba(228,0,124,.22), transparent 62%), radial-gradient(800px 560px at 0 100%, rgba(138,24,176,.30), transparent 62%), #12041e !important; color:#fff; }
main > section.band.feature365 h2 { font-family:var(--sans); font-weight:800; text-transform:uppercase; letter-spacing:-.03em; line-height:.98; font-size: clamp(1.8rem, 3.8vw, 3.8rem); max-width:min(100%,22ch); color:#fff; overflow-wrap:normal; }
main > section.band.feature365 p { color: rgba(255,255,255,.9); }

/* ===== CZYTELNOSC W OBU MOTYWACH: kontrast rozowych tekstow, bez automatycznego przyciemniania przez przegladarke ===== */
:root { color-scheme: light; }
:root[data-theme="dark"] { color-scheme: dark; }
:root:not([data-theme="dark"]) main .article a, :root:not([data-theme="dark"]) main .article-back a, :root:not([data-theme="dark"]) main a.bx-link, :root:not([data-theme="dark"]) main .klabel, :root:not([data-theme="dark"]) main .pmore, :root:not([data-theme="dark"]) main .case-more, :root:not([data-theme="dark"]) main .back, :root:not([data-theme="dark"]) main .k, :root:not([data-theme="dark"]) main .bx-type .n, :root:not([data-theme="dark"]) main .values .val .n { color:#b8005f; }
:root[data-theme="dark"] main .article a, :root[data-theme="dark"] main .article-back a, :root[data-theme="dark"] main a.bx-link, :root[data-theme="dark"] main .klabel, :root[data-theme="dark"] main .pmore, :root[data-theme="dark"] main .case-more, :root[data-theme="dark"] main .back, :root[data-theme="dark"] main .k, :root[data-theme="dark"] main .bx-type .n, :root[data-theme="dark"] main .values .val .n { color:#ff80bc; }
main > section.band.alt:not(#kontakt) .bx-type .n { color:#ff80bc !important; }
main > section#kontakt .qf-consent a, footer .consent a { color:#fff; }
.case-side .back { color: var(--text) !important; }
