/* Podstrony FAQ i usług */
.vx-content-page { background: #f7f9fd; }
.vx-content-hero { position: relative; overflow: hidden; padding: 168px 0 82px; background: #07101f; color: #fff; }
.vx-content-hero::before { position: absolute; inset: auto -120px -290px auto; width: 540px; height: 540px; border: 1px solid rgba(96, 165, 250, .2); border-radius: 50%; background: radial-gradient(circle, rgba(37, 99, 235, .24), transparent 68%); content: ''; }
.vx-content-hero .container { position: relative; max-width: 900px; }
.vx-content-hero .vx-label { color: #93c5fd; }
.vx-content-hero h1 { max-width: 820px; margin: 0 0 22px; font-size: clamp(46px, 7vw, 82px); line-height: .98; letter-spacing: -.055em; }
.vx-content-hero h1 em, .vx-content-heading h2 em, .vx-faq-page h2 em { color: #60a5fa; font-style: normal; }
.vx-content-hero p { max-width: 670px; margin: 0; color: #b7c4d8; font-size: clamp(17px, 1.7vw, 20px); line-height: 1.65; }
.vx-content-back { display: inline-block; margin-bottom: 34px; color: #bfdbfe; font-size: 14px; font-weight: 800; }
.vx-service-content, .vx-faq-page, .vx-services-page { padding: 82px 0 118px; }
.vx-service-summary { display: grid; grid-template-columns: .82fr 1.25fr auto; gap: 32px; align-items: center; margin-bottom: 96px; padding: 30px 34px; border: 1px solid #d8e1ee; border-radius: 18px; background: #fff; box-shadow: 0 18px 45px rgba(15, 23, 42, .06); }
.vx-service-summary span { display: block; margin-bottom: 8px; color: #2563eb; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.vx-service-summary strong { display: block; color: #0f172a; font-size: clamp(24px, 2.5vw, 35px); letter-spacing: -.04em; }
.vx-service-summary p, .vx-services-page__card p, .vx-service-scope p, .vx-faq-page aside p { margin: 0; color: #60708a; line-height: 1.7; }
.vx-content-button { display: inline-flex; align-items: center; gap: 14px; justify-content: center; padding: 14px 18px; border-radius: 9px; background: #2563eb; color: #fff; font-size: 14px; font-weight: 800; white-space: nowrap; transition: transform .2s ease, background .2s ease; }
.vx-content-button:hover { background: #1d4ed8; color: #fff; transform: translateY(-2px); }
.vx-content-heading { max-width: 730px; margin-bottom: 38px; }
.vx-content-heading h2, .vx-faq-page h2 { margin: 0; color: #0f172a; font-size: clamp(34px, 5vw, 57px); line-height: 1.03; letter-spacing: -.05em; }
.vx-service-scope { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 104px; border: 1px solid #d8e1ee; border-radius: 18px; background: #fff; overflow: hidden; }
.vx-service-scope article { min-height: 250px; padding: 31px; border-right: 1px solid #d8e1ee; }
.vx-service-scope article:last-child { border-right: 0; }
.vx-service-scope span, .vx-services-page__card > span { display: block; margin-bottom: 47px; color: #2563eb; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.vx-service-scope h2 { margin: 0 0 12px; color: #0f172a; font-size: 23px; letter-spacing: -.035em; }
.vx-content-faq { padding-top: 4px; }
.vx-content-accordion { border-top: 1px solid #d8e1ee; }
.vx-content-accordion details { border-bottom: 1px solid #d8e1ee; }
.vx-content-accordion summary { display: flex; justify-content: space-between; gap: 24px; padding: 24px 6px; color: #0f172a; cursor: pointer; font-size: 18px; font-weight: 750; list-style: none; }
.vx-content-accordion summary::-webkit-details-marker { display: none; }
.vx-content-accordion summary span { color: #2563eb; font-size: 22px; line-height: 1; transition: transform .3s ease; }
.vx-content-accordion details[open] summary span { transform: rotate(45deg); }
.vx-content-accordion p { max-width: 760px; margin: 0; padding: 0 50px 25px 6px; color: #60708a; line-height: 1.75; }
.vx-faq-page__layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; align-items: start; }
.vx-faq-page aside { position: sticky; top: 118px; }
.vx-faq-page aside p { margin: 22px 0 28px; }
.vx-services-page__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #d8e1ee; }
.vx-services-page__card { display: grid; grid-template-columns: 75px 1fr auto; gap: 22px; align-items: start; min-height: 235px; padding: 36px 24px; border-right: 1px solid #d8e1ee; border-bottom: 1px solid #d8e1ee; color: inherit; transition: background .25s ease, box-shadow .25s ease; }
.vx-services-page__card:nth-child(even) { border-right: 0; }
.vx-services-page__card:hover { background: #fff; box-shadow: inset 0 3px #2563eb; color: inherit; }
.vx-services-page__card > span { margin: 5px 0 0; }
.vx-services-page__card h2 { margin: 0 0 13px; color: #0f172a; font-size: 28px; letter-spacing: -.04em; }
.vx-services-page__card b { display: grid; width: 42px; height: 42px; border: 1px solid #cfd9e8; border-radius: 50%; color: #2563eb; font-size: 19px; place-items: center; }
@media (max-width: 800px) { .vx-content-hero { padding: 128px 0 65px; } .vx-service-content, .vx-faq-page, .vx-services-page { padding: 62px 0 82px; } .vx-service-summary, .vx-faq-page__layout { grid-template-columns: 1fr; gap: 25px; margin-bottom: 65px; } .vx-faq-page aside { position: static; } .vx-service-scope { grid-template-columns: 1fr; margin-bottom: 70px; } .vx-service-scope article { min-height: auto; border-right: 0; border-bottom: 1px solid #d8e1ee; } .vx-service-scope article:last-child { border-bottom: 0; } .vx-service-scope span { margin-bottom: 25px; } .vx-services-page__grid { grid-template-columns: 1fr; } .vx-services-page__card, .vx-services-page__card:nth-child(even) { border-right: 0; } }
@media (prefers-reduced-motion: reduce) { .vx-content-button, .vx-content-accordion summary span, .vx-services-page__card { transition: none; } }
@media (max-width: 800px) { .vx-services-page__card { grid-template-columns: 52px minmax(0, 1fr); min-width: 0; padding: 28px 16px; } .vx-services-page__card h2, .vx-services-page__card p { min-width: 0; } .vx-services-page__card b { grid-column: 2; justify-self: end; } }

/* Compact responsive service cards: the arrow remains inline and cards do not create empty vertical space. */
@media (min-width: 801px) {
    .vx-service-content, .vx-faq-page, .vx-services-page { padding-block: 68px 92px; }
    .vx-services-page__card { min-height: 210px; padding: 30px 22px; }
    .vx-services-page__card > span { margin-bottom: 30px; }
}
@media (max-width: 800px) {
    .vx-service-content, .vx-faq-page, .vx-services-page { padding-block: 42px 60px; }
    .vx-services-page__card, .vx-services-page__card:nth-child(even) { grid-template-columns: 44px minmax(0, 1fr) 32px; gap: 12px; min-height: 0; padding: 24px 12px; }
    .vx-services-page__card > span { margin: 4px 0 0; }
    .vx-services-page__card h2 { margin-bottom: 8px; font-size: 22px; }
    .vx-services-page__card p { font-size: 15px; line-height: 1.55; }
    .vx-services-page__card b { grid-column: 3; grid-row: 1; width: 32px; height: 32px; font-size: 16px; align-self: start; }
}

/* Naturalne linki wewnętrzne do pełnych stron ofertowych. */
.vx-related-pages { margin-top: 72px; padding-top: 52px; border-top: 1px solid #d8e1ee; }
.vx-related-pages h2 { max-width: 620px; margin: 10px 0 28px; color: #0f172a; font-size: clamp(30px, 4vw, 46px); line-height: 1.05; letter-spacing: -.05em; }
.vx-related-pages h2 em { color: #2563eb; font-style: normal; }
.vx-related-pages__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vx-related-pages__grid a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 66px; padding: 18px 20px; border: 1px solid #d8e1ee; border-radius: 10px; background: #fff; color: #0f172a; font-weight: 800; transition: border-color .2s ease, color .2s ease, transform .2s ease; }
.vx-related-pages__grid a span { color: #2563eb; font-size: 20px; }
.vx-related-pages__grid a:hover { border-color: #2563eb; color: #2563eb; transform: translateY(-2px); }
@media (max-width: 800px) { .vx-related-pages { margin-top: 48px; padding-top: 38px; } .vx-related-pages__grid { grid-template-columns: 1fr; } .vx-related-pages__grid a { min-height: 58px; padding: 15px 16px; } }

/* Centrum usług: strzałki są optycznie wyśrodkowane, a punkty startu mają pełną szerokość. */
.vx-services-page__card b { align-self: center; }
.vx-related-pages { width: 100%; }
.vx-related-pages h2 { max-width: 760px; }
.vx-related-pages__group + .vx-related-pages__group { margin-top: 34px; }
.vx-related-pages__group h3 { margin: 0 0 13px; color: #60708a; font-size: 13px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.vx-related-pages__grid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); width: 100%; }
@media (max-width: 800px) { .vx-services-page__card b { grid-column: 3; grid-row: 1; align-self: center; } .vx-related-pages__group + .vx-related-pages__group { margin-top: 28px; } }

/* Compact page heroes on phones without crowding the fixed header. */
@media (max-width: 700px) {
    .vx-content-hero {
        padding: 74px 0 52px;
    }

    .vx-content-back {
        margin-bottom: 22px;
    }
}

/* Keep one clean divider after the last service card on phones. */
@media (max-width: 800px) {
  .vx-related-pages {
    margin-top: 34px;
    padding-top: 0;
    border-top: 0;
  }
}

.vx-offer-seo { margin: 0 0 104px; padding: 48px; border: 1px solid #d8e1ee; border-radius: 18px; background: #fff; }
.vx-offer-seo .vx-content-heading { margin-bottom: 24px; }
.vx-offer-seo__lead { max-width: 860px; margin: 0 0 36px; color: #41516a; font-size: 18px; line-height: 1.8; }
.vx-offer-seo__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 48px; }
.vx-offer-seo__grid article { padding-top: 24px; border-top: 1px solid #d8e1ee; }
.vx-offer-seo__grid h3 { margin: 0 0 12px; color: #0f172a; font-size: 22px; letter-spacing: -.03em; }
.vx-offer-seo__grid p { margin: 0; color: #60708a; line-height: 1.75; }
@media (max-width: 800px) { .vx-offer-seo { margin-bottom: 70px; padding: 28px 22px; } .vx-offer-seo__grid { grid-template-columns: 1fr; gap: 26px; } .vx-offer-seo__lead { font-size: 16px; } }
