    :root {
      --em-green: #0f2d27; /* ciemna zieleń */
      --em-black: #0b0f10;
      --em-gray-1: #f3f5f5;
      --em-gray-2: #e7eceb;
      --em-gray-3: #6b7674;
      --em-white: #ffffff;
    }

    body {
      background: var(--em-white);
      color: var(--em-black);
    }

    /* Hero */
    .em-hero {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(1200px 400px at 10% 20%, rgba(15, 45, 39, .12), transparent 60%),
        radial-gradient(900px 350px at 85% 10%, rgba(15, 45, 39, .10), transparent 55%),
        linear-gradient(180deg, var(--em-gray-1), var(--em-white));
      border-bottom: 1px solid rgba(15, 45, 39, .10);
    }

    .em-hero .em-badge {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: .45rem .75rem;
      border: 1px solid rgba(15, 45, 39, .18);
      background: rgba(255, 255, 255, .7);
      backdrop-filter: blur(6px);
      border-radius: 999px;
      font-weight: 600;
      color: var(--em-green);
      font-size: 14px;
    }

    .em-hero h1 {
      color: var(--em-black);
      letter-spacing: -0.02em;
      line-height: 1.05;
      margin-top: 14px;
      margin-bottom: 14px;
    }

    .em-hero p.lead {
      color: var(--em-gray-3);
      font-size: 18px;
      line-height: 1.7;
      margin-bottom: 22px;
      max-width: 60ch;
    }

    .em-hero .em-cta {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      align-items: center;
    }

    .em-btn-primary {
      background: var(--em-green);
      color: var(--em-white);
      border: 1px solid var(--em-green);
      border-radius: 14px;
      padding: 12px 18px;
      font-weight: 700;
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
      box-shadow: 0 14px 35px rgba(15, 45, 39, .18);
    }

    .em-btn-primary:hover {
      background: #0b241f;
      transform: translateY(-1px);
      box-shadow: 0 18px 45px rgba(15, 45, 39, .22);
      color: var(--em-white);
    }

    .em-btn-ghost {
      background: transparent;
      color: var(--em-green);
      border: 1px solid rgba(15, 45, 39, .25);
      border-radius: 14px;
      padding: 12px 18px;
      font-weight: 700;
      transition: transform .2s ease, background .2s ease;
    }

    .em-btn-ghost:hover {
      background: rgba(15, 45, 39, .06);
      transform: translateY(-1px);
      color: var(--em-green);
    }

    .em-hero-card {
      background: rgba(255, 255, 255, .85);
      border: 1px solid rgba(15, 45, 39, .12);
      border-radius: 22px;
      padding: 18px;
      box-shadow: 0 18px 45px rgba(0, 0, 0, .06);
    }

    .em-kpis {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin-top: 14px;
    }

    .em-kpi {
      border: 1px solid rgba(15, 45, 39, .12);
      border-radius: 18px;
      padding: 14px;
      background: linear-gradient(180deg, #fff, rgba(243, 245, 245, .55));
    }

    .em-kpi .t {
      font-weight: 800;
      color: var(--em-green);
      font-size: 14px;
      margin-bottom: 4px;
    }

    .em-kpi .d {
      color: var(--em-gray-3);
      font-size: 14px;
      line-height: 1.55;
      margin: 0;
    }

    /* Sections */
    .em-section {
      padding: 70px 0;
    }

    .em-section.em-alt {
      background: linear-gradient(180deg, var(--em-white), var(--em-gray-1));
      border-top: 1px solid rgba(15, 45, 39, .08);
      border-bottom: 1px solid rgba(15, 45, 39, .08);
    }

    .em-h2 {
      color: var(--em-black);
      letter-spacing: -0.02em;
      margin-bottom: 10px;
    }

    .em-sub {
      color: var(--em-gray-3);
      max-width: 78ch;
      margin-bottom: 28px;
    }

    /* Feature cards */
    .em-card {
      height: 100%;
      background: #fff;
      border: 1px solid rgba(15, 45, 39, .12);
      border-radius: 22px;
      padding: 18px;
      box-shadow: 0 16px 35px rgba(0, 0, 0, .05);
      transition: transform .2s ease, box-shadow .2s ease;
    }

    .em-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 22px 55px rgba(0, 0, 0, .08);
    }

    .em-icon {
      width: 46px;
      height: 46px;
      border-radius: 14px;
      background: rgba(15, 45, 39, .08);
      border: 1px solid rgba(15, 45, 39, .12);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 12px;
      color: var(--em-green);
    }

    .em-card h3 {
      font-size: 18px;
      margin-bottom: 8px;
      color: var(--em-black);
    }

    .em-card p {
      color: var(--em-gray-3);
      margin: 0;
      line-height: 1.7;
    }

    /* Offer grid */
    .em-offer {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: 14px;
    }

    .em-offer .em-tile {
      grid-column: span 6;
      padding: 18px;
      border-radius: 22px;
      border: 1px solid rgba(15, 45, 39, .12);
      background:
        radial-gradient(600px 260px at 15% 10%, rgba(15, 45, 39, .10), transparent 55%),
        linear-gradient(180deg, #fff, rgba(243, 245, 245, .65));
      box-shadow: 0 18px 40px rgba(0, 0, 0, .06);
      height: 100%;
    }

    .em-offer .em-tile h3 {
      font-size: 18px;
      margin-bottom: 6px;
      color: var(--em-black);
    }

    .em-offer .em-tile p {
      color: var(--em-gray-3);
      margin: 0;
      line-height: 1.7;
    }

    .em-offer .em-tile .em-mini {
      display: flex;
      gap: 10px;
      align-items: center;
      margin-bottom: 10px;
    }

    .em-offer .em-tile .em-mini i {
      color: var(--em-green);
      font-size: 18px;
    }

    @media (max-width: 991.98px) {
      .em-offer .em-tile { grid-column: span 12; }
      .em-kpis { grid-template-columns: 1fr; }
      .em-hero p.lead { font-size: 16px; }
    }

    /* Process */
    .em-steps {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: 14px;
    }

    .em-step {
      grid-column: span 4;
      border: 1px solid rgba(15, 45, 39, .12);
      border-radius: 22px;
      padding: 18px;
      background: #fff;
      box-shadow: 0 16px 35px rgba(0, 0, 0, .05);
      height: 100%;
      position: relative;
      overflow: hidden;
    }

    .em-step:before {
      content: "";
      position: absolute;
      inset: -40px -40px auto auto;
      width: 140px;
      height: 140px;
      background: rgba(15, 45, 39, .07);
      border-radius: 999px;
      filter: blur(0px);
    }

    .em-step .n {
      font-weight: 900;
      color: var(--em-green);
      font-size: 14px;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 6px;
    }

    .em-step h3 {
      font-size: 18px;
      margin-bottom: 8px;
      color: var(--em-black);
      position: relative;
      z-index: 1;
    }

    .em-step p {
      color: var(--em-gray-3);
      margin: 0;
      line-height: 1.7;
      position: relative;
      z-index: 1;
    }

    @media (max-width: 991.98px) {
      .em-step { grid-column: span 12; }
    }

    /* Accordion (Bootstrap) */
    .accordion .accordion-item {
      border: 1px solid rgba(15, 45, 39, .12);
      border-radius: 16px;
      overflow: hidden;
      margin-bottom: 12px;
      background: #fff;
    }

    .accordion-button {
      color: var(--em-black);
      font-weight: 800;
      background: #fff;
    }

    .accordion-button:not(.collapsed) {
      background: rgba(15, 45, 39, .06);
      color: var(--em-green);
      box-shadow: none;
    }

    .accordion-body {
      color: var(--em-gray-3);
      line-height: 1.8;
    }

    /* CTA band */
    .em-cta-band {
      border-radius: 26px;
      padding: 26px;
      border: 1px solid rgba(15, 45, 39, .14);
      background:
        radial-gradient(700px 260px at 10% 0%, rgba(15, 45, 39, .16), transparent 60%),
        linear-gradient(180deg, #fff, rgba(243, 245, 245, .65));
      box-shadow: 0 22px 55px rgba(0, 0, 0, .08);
    }

    .em-cta-band h3 {
      margin: 0 0 8px 0;
      color: var(--em-black);
      letter-spacing: -0.02em;
    }

    .em-cta-band p {
      margin: 0;
      color: var(--em-gray-3);
      line-height: 1.7;
    }

    .em-pill {
      display: inline-flex;
      gap: 8px;
      align-items: center;
      border: 1px dashed rgba(15, 45, 39, .28);
      padding: 8px 12px;
      border-radius: 999px;
      color: var(--em-green);
      font-weight: 700;
      background: rgba(255,255,255,.7);
      font-size: 14px;
      white-space: nowrap;
    }

    /* Small helper */
    .em-muted { color: var(--em-gray-3); }
    .em-divider { height: 1px; background: rgba(15,45,39,.10); margin: 26px 0; }