 :root{
      --panel: rgba(0,0,0,.35);
      --stroke: rgba(255,255,255,.12);
      --stroke2: rgba(255,255,255,.18);
      --text: rgba(255,255,255,.92);
      --muted: rgba(255,255,255,.70);
      --ease: cubic-bezier(.22,1,.36,1);
      --ease2: cubic-bezier(.16,1,.3,1);
    }

    /* =========================
   CUSTOM SCROLLBAR
   ========================= */

/* Chrome, Edge, Safari */
::-webkit-scrollbar{
  width: 10px;
}

::-webkit-scrollbar-track{
  background: #000000;
}

::-webkit-scrollbar-thumb{
  background: #FF2D2B;
  border-radius: 8px;
}

::-webkit-scrollbar-thumb:hover{
  background: #ff4d4b;
}

/* Firefox */
html{
  scrollbar-width: thin;
  scrollbar-color: #FF2D2B #000000;
}

::selection {
  background: #FF2D2B;
  color: #ffffff; /* kolor tekstu po zaznaczeniu */
}

    *{ box-sizing:border-box; }
    html,body{ height:100%; }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
      color: var(--text);
      background:#000;
      overflow-x:hidden;
    }

    /* HERO */
    .hero{
      min-height: 100vh;
      min-height: 100svh;
      min-height: 100dvh;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 110px 18px 70px;
      overflow: visible;
      background: transparent;
      opacity: 1 !important;
      transform: none !important;
      filter: none !important;
      -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
      mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
    }
    @media (min-width: 980px){
      .hero{ padding: 140px 18px 90px; }
    }

    /* FIXED BACKGROUND */
    #ribbons{
      position:fixed;
      inset:0;
      width:100vw;
      height:100vh;
      display:block;
      z-index:0;
      background:#000;
      pointer-events:none;
    }
    .grain{
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:2;
      opacity:.12;
      background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
      mix-blend-mode: overlay;
    }
    .vignette{
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:3;
      background: radial-gradient(1200px 900px at 50% 35%, transparent 28%, rgba(0,0,0,.88) 88%);
    }

    /* NAV */
    .navWrap{
      position:fixed;
      top:20px; left:0; right:0;
      z-index:60;
      display:flex;
      justify-content:center;
      padding:0 16px;
    }
    .nav{
      width:min(1040px, 100%);
      display:flex;
      align-items:center;
      gap:10px;
      padding:10px 12px 10px 16px;
      border-radius: 999px;
      background: rgba(0,0,0,.42);
      border:1px solid var(--stroke);
      backdrop-filter: blur(14px);
      box-shadow: 0 18px 60px rgba(0,0,0,.45);
      transition: background-color .55s var(--ease), border-color .55s var(--ease);
    }
    .nav:hover{ background: rgba(0,0,0,.52); border-color: var(--stroke2); }

    .brand{
      display:flex; align-items:center; gap:10px;
      font-weight:700;
      letter-spacing:-.02em;
      white-space:nowrap;
      flex: 0 0 auto;
    }
    .logo{
      width:34px; height:34px;
      border-radius:12px;
      background: linear-gradient(135deg,#0B00CF 0%,#300A6E 33%,#FF2D2B 66%,#C10A28 100%);
      box-shadow: 0 10px 35px rgba(11,0,207,.25), 0 0 0 1px rgba(255,255,255,.12) inset;
      flex:0 0 auto;
    }

    .navLinks{
      margin:0 auto;
      display:none;
      gap:6px;
      align-items:center;
      flex: 1 1 auto;
      justify-content:center;
      min-width: 0;
    }
    @media (min-width: 980px){
      .navLinks{ display:flex; }
    }

    .nav a{
      position: relative;
      color: rgba(255,255,255,.65);
      text-decoration:none;
      padding:10px 14px;
      border-radius: 999px;
      font-size: 13px;
      border:1px solid transparent;
      opacity:.75;
      transition:
        color .45s ease,
        background-color .70s var(--ease),
        border-color .70s var(--ease),
        transform .70s var(--ease),
        opacity .45s ease;
      will-change: transform, background-color, border-color;
    }
    .nav a:hover{
      color:#fff;
      background: rgba(255,255,255,.08);
      border-color: rgba(255,255,255,.10);
      opacity: 1;
      transform: translateY(-1px);
    }

    .navRight{
      margin-left:auto;
      display:flex;
      align-items:center;
      gap:12px;
      flex: 0 0 auto;
    }

    .btn{
      height:38px;
      padding:0 14px;
      border-radius: 999px;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.06);
      color:#fff;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      gap:8px;
      transition:
        background-color .55s var(--ease),
        border-color     .55s var(--ease),
        box-shadow       .55s var(--ease),
        transform        .45s var(--ease);
    }
    .btn:hover{
      background: rgba(255,255,255,.10);
      border-color: rgba(255,255,255,.22);
      box-shadow: 0 6px 22px rgba(0,0,0,.35);
      transform: translateY(-1px);
    }
    .btn:active{ transform: translateY(0px) scale(.99); }

    @media (max-width: 428px){
      .contactBtn{ display:none !important; }
    }

    .menuBtn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:40px;
      height:40px;
      padding:0;
      border:none;
      background: transparent;
      color: rgba(255,255,255,.92);
      cursor:pointer;
      border-radius: 12px;
      transition: transform .45s var(--ease), opacity .45s ease;
      opacity:.92;
    }
    .menuBtn:hover{ transform: translateY(-1px); opacity:1; }
    .menuBtn:active{ transform: translateY(0px) scale(.98); }
    .menuBtn svg{ width:22px; height:22px; stroke-width:2; }

    .menuBtn{ display:inline-flex; }
    @media (min-width: 980px){
      .menuBtn{ display:none; }
    }

    /* HERO CONTENT */
    .heroInner{
      width:min(1040px, 100%);
      position:relative;
      text-align:center;
      z-index:10;
    }
    .pill{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding: 10px 16px;
      border-radius: 999px;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.06);
      backdrop-filter: blur(12px);
      box-shadow: 0 10px 40px rgba(0,0,0,.30);
      color: rgba(255,255,255,.86);
      font-size: 12.5px;
      letter-spacing:.02em;
    }
    h1{
      margin: 18px 0 10px;
      font-size: clamp(38px, 6vw, 74px);
      line-height:1.03;
      letter-spacing:-.04em;
      text-shadow: 0 20px 80px rgba(0,0,0,.7);
    }
    .gradText{
      background: linear-gradient(90deg,#F5F7FA 0%,#DCE1E8 50%,#B8C0CC 100%);
      -webkit-background-clip:text;
      background-clip:text;
      color: transparent;
    }
    .sub{
      max-width: 880px;
      margin: 0 auto 26px;
      color: var(--muted);
      font-size: clamp(15px, 2vw, 20px);
      line-height:1.55;
    }
    .cta{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      height:64px;
      padding: 0 26px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.22);
      background: rgba(255,255,255,.08);
      backdrop-filter: blur(14px);
      color:#fff;
      text-decoration:none;
      font-weight:800;
      font-size: 18px;
      position:relative;
      overflow:hidden;
      box-shadow: 0 18px 70px rgba(0,0,0,.45);
      transition: transform .55s var(--ease), background-color .55s var(--ease), border-color .55s var(--ease);
    }
    .cta:hover{
      transform: scale(1.02);
      background: rgba(255,255,255,.12);
      border-color: rgba(255,255,255,.30);
    }
    .cta::before{
      content:"";
      position:absolute; inset:0;
      transform: translateX(-120%);
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
      animation: shimmer 1.35s linear infinite;
    }
    @keyframes shimmer{
      0%{ transform: translateX(-120%); }
      100%{ transform: translateX(120%); }
    }

    /* DRAWER */
    .drawerOverlay{
      position:fixed;
      inset:0;
      background: rgba(0,0,0,.55);
      backdrop-filter: blur(6px);
      z-index:80;
      opacity:0;
      pointer-events:none;
      transition: opacity .45s var(--ease);
    }
    .drawer{
      position:fixed;
      top:0; left:0;
      width:100vw;
      height:100vh;
      z-index:90;
      background: rgba(0,0,0,.72);
      backdrop-filter: blur(18px);
      border-right: 1px solid rgba(255,255,255,.10);
      box-shadow: 40px 0 140px rgba(0,0,0,.65);
      transform: translate3d(-100%,0,0);
      pointer-events:none;
      transition: transform .65s var(--ease2);
      overflow:hidden;
      display:flex;
      flex-direction:column;
    }
    .drawer::before{
      content:"";
      position:absolute;
      inset:-30%;
      background:
        radial-gradient(closest-side at 18% 30%, rgba(11,0,207,.35), transparent 60%),
        radial-gradient(closest-side at 55% 55%, rgba(255,45,43,.25), transparent 62%),
        radial-gradient(closest-side at 82% 70%, rgba(193,10,40,.25), transparent 62%);
      filter: blur(18px);
      opacity:.95;
      pointer-events:none;
    }
    .drawerTop{
      position:relative;
      z-index:2;
      padding: 22px 18px 14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      border-bottom: 1px solid rgba(255,255,255,.10);
    }
    .drawerBrand{
      display:flex;
      align-items:center;
      gap:10px;
      font-weight:800;
      letter-spacing:-.02em;
    }
    .drawerBrand .logo{ width:34px; height:34px; border-radius:12px; }
    .drawerClose{
      border:none;
      background: transparent;
      color: rgba(255,255,255,.95);
      cursor:pointer;
      width:44px;
      height:44px;
      display:grid;
      place-items:center;
      border-radius: 14px;
      transition: transform .45s var(--ease), opacity .45s ease;
      opacity:.92;
    }
    .drawerClose:hover{ transform: translateY(-1px); opacity:1; }
    .drawerClose:active{ transform: translateY(0) scale(.98); }
    .drawerBody{
      position:relative;
      z-index:2;
      padding: 18px;
      flex:1;
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:14px;
    }
    .drawerLink{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:16px 14px;
      border-radius: 18px;
      text-decoration:none;
      color: rgba(255,255,255,.92);
      border:1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.05);
      transition: transform .55s var(--ease), background-color .55s var(--ease), border-color .55s var(--ease);
      font-size: 16px;
      letter-spacing:-.01em;
    }
    .drawerLink:hover{
      transform: translateY(-2px);
      background: rgba(255,255,255,.08);
      border-color: rgba(255,255,255,.18);
    }
    .drawerFooter{
      position:relative;
      z-index:2;
      padding: 18px;
      border-top: 1px solid rgba(255,255,255,.10);
      display:flex;
      gap:10px;
    }
    .drawerFooter .btn{
      width:100%;
      justify-content:center;
      height:52px;
      border-radius: 16px;
      font-size: 15px;
    }
    body.menu-open .drawerOverlay{ opacity:1; pointer-events:auto; }
    body.menu-open .drawer{ transform: translate3d(0,0,0); pointer-events:auto; }
    @media (min-width: 980px){
      .drawer, .drawerOverlay{ display:none !important; }
    }

    /* SECTION WIDTH */
    #solution .wrap,
    #model .wrap,
    #market .wrap,
    #ops .wrap,
    #contact .wrap{
      width: min(1040px, 100%) !important;
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }

    /* SOLUTION */
    #solution{
      position: relative;
      padding: 96px 18px;
      background: transparent;
      overflow: hidden;
    }
    #solution .sectionHead{
      text-align: center;
      margin: 0 auto 30px;
      max-width: 900px;
    }
    #solution .sectionHead h2{
      margin: 0;
      font-size: clamp(26px, 3.2vw, 44px);
      line-height: 1.12;
      letter-spacing: -0.035em;
      color: #ffffff;
      text-shadow: 0 18px 70px #000000;
    }
    #solution .grid3{
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      width:100%;
    }
    @media (max-width: 980px){
      #solution{ padding: 78px 18px; }
      #solution .grid3{ grid-template-columns: 1fr; gap: 12px; }
      #solution .sectionHead{ margin-bottom: 22px; }
    }
    #solution .feature{
      position: relative;
      display: grid;
      grid-template-columns: 42px 1fr;
      grid-template-rows: auto auto;
      column-gap: 12px;
      row-gap: 10px;
      align-items: start;
      padding: 18px 16px 16px;
      border-radius: 22px;
      background: #ffffff0b;
      border: 1px solid #ffffff1f;
      backdrop-filter: blur(14px);
      box-shadow: 0 18px 70px #00000073, 0 0 0 1px #ffffff0f inset;
      transition: transform .70s var(--ease), background-color .70s var(--ease), border-color .70s var(--ease), box-shadow .70s var(--ease);
      overflow: hidden;
      min-height: 158px;
    }
    #solution .feature::before{
      content:"";
      position: absolute;
      inset: -1px;
      border-radius: inherit;
      pointer-events: none;
      background: radial-gradient(900px 260px at 50% 0%, #ffffff1a, transparent 62%);
      opacity: .55;
    }
    #solution .feature::after{
      content:"";
      position: absolute;
      inset: -2px;
      border-radius: inherit;
      pointer-events: none;
      background:
        linear-gradient(135deg, #0b00cf2e, transparent 45%),
        linear-gradient(315deg, #ff2d2b24, transparent 48%);
      opacity: 0;
      transition: opacity .70s var(--ease);
    }
    #solution .feature:hover{
      transform: translateY(-4px);
      background: #ffffff0f;
      border-color: #ffffff2e;
      box-shadow: 0 26px 110px #00000099, 0 0 0 1px #ffffff14 inset;
    }
    #solution .feature:hover::after{ opacity: 1; }
    #solution .feature .icon{
      grid-column: 1;
      grid-row: 1;
      width: 42px;
      height: 42px;
      border-radius: 14px;
      display: grid;
      place-items: center;
      border: 1px solid #ffffff24;
      background: #00000047;
      box-shadow: 0 12px 40px #00000059;
      transition: transform .70s var(--ease), border-color .70s var(--ease), background-color .70s var(--ease);
    }
    #solution .feature:hover .icon{
      transform: translateY(-1px) scale(1.03);
      border-color: #ffffff38;
      background: #00000038;
    }
    #solution .feature h3{
      grid-column: 2;
      grid-row: 1;
      align-self: center;
      margin: 0;
      font-size: 16px;
      line-height: 1.2;
      letter-spacing: -0.02em;
      color: #ffffff;
    }
    #solution .feature p{
      grid-column: 1 / -1;
      grid-row: 2;
      margin: 0;
      color: #ffffffb3;
      font-size: 13.5px;
      line-height: 1.55;
    }

    /* BUSINESS MODEL */
    #model{
      position: relative;
      padding: 110px 18px;
      background: transparent;
      overflow: hidden;
    }
    #model .sectionHead{
      text-align: center;
      margin: 0 auto 44px;
      max-width: 900px;
    }
    #model .sectionHead h2{
      margin: 0;
      font-size: clamp(32px, 3.8vw, 54px);
      line-height: 1.05;
      letter-spacing: -0.045em;
      color: #ffffff;
      text-shadow: 0 20px 80px #000000;
    }
    #model .grid2{
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 22px;
      align-items: stretch;
      width:100%;
    }
    @media (max-width: 980px){
      #model{ padding: 86px 18px; }
      #model .grid2{ grid-template-columns: 1fr; gap: 18px; }
    }
    #model .card{
      position: relative;
      border-radius: 24px;
      background: #0000006b;
      border: 1px solid #ffffff1f;
      backdrop-filter: blur(14px);
      box-shadow: 0 18px 60px #00000073;
      overflow: hidden;
      padding: 26px 24px 24px;
      display: flex;
      flex-direction: column;
      height: 100%;
      transition: transform .55s var(--ease), background-color .55s var(--ease), border-color .55s var(--ease), box-shadow .55s var(--ease);
    }
    #model .card:hover{
      transform: translateY(-6px);
      background: #00000085;
      border-color: #ffffff2e;
      box-shadow: 0 28px 90px #00000099;
    }
    #model .tiny{
      font-size: 13px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: #ffffffcc;
      margin-bottom: 12px;
    }
    #model .list{
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 18px;
    }
    #model .list li{
      display: grid;
      grid-template-columns: 52px 1fr;
      gap: 16px;
      align-items: start;
    }
    #model .check{
      width: 52px;
      height: 52px;
      border-radius: 18px;
      display: grid;
      place-items: center;
      background: #ffffff0f;
      border: 1px solid #ffffff29;
      box-shadow: 0 14px 40px #00000073;
    }
    #model .ttl{
      font-weight: 900;
      font-size: 17px;
      letter-spacing: -0.02em;
      color: #ffffff;
      margin: 0 0 4px;
    }
    #model .sm{
      margin: 0;
      font-size: 14px;
      line-height: 1.7;
      color: #ffffffb8;
    }
    #model .numbers{
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
      margin-top: 12px;
      grid-auto-rows: 1fr;
    }
    @media (max-width: 520px){
      #model .numbers{
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
      }
    }
    #model .num{
      border-radius: 20px;
      padding: 18px 16px;
      background: #ffffff0d;
      border: 1px solid #ffffff1f;
      height: 100%;
      display: flex;
      flex-direction: column;
      transition: background .4s ease, transform .4s ease, border-color .4s ease;
    }
    #model .num:hover{
      background: #ffffff14;
      border-color: #ffffff33;
      transform: translateY(-3px);
    }
    #model .big{
      font-weight: 900;
      font-size: 24px;
      letter-spacing: -0.04em;
      color: #ffffff;
    }
    #model .lbl{
      margin-top: 8px;
      font-size: 14px;
      line-height: 1.7;
      color: #ffffffb8;
    }
    #model .hr{
      height: 1px;
      background: #ffffff1f;
      margin: 22px 0 18px;
      margin-top: auto;
    }
    #model .chips{
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }
    #model .chip{
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 12px;
      border-radius: 999px;
      border: 1px solid #ffffff29;
      background: #ffffff0f;
      color: #ffffffd6;
      font-size: 13px;
    }
    #model .modelNote{
      margin-top: auto;
      padding-top: 24px;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 14px;
      padding-bottom: 4px;
    }
    #model .modelNote svg{
      width: 22px;
      height: 22px;
      color: #ff2d55;
    }
    #model .modelNote span{
      font-size: 14px;
      line-height: 1.7;
      color: #ffffffcc;
    }
    #model .modelNote span strong{ color: #ff2d55; }

    /* MARKET */
    #market{
      position: relative;
      padding: 110px 18px;
      background: transparent;
      overflow: hidden;
    }
    #market .sectionHead{
      text-align: center;
      margin: 0 auto 44px;
      max-width: 920px;
    }
    #market .sectionHead h2{
      margin: 0;
      font-size: clamp(32px, 3.8vw, 54px);
      line-height: 1.05;
      letter-spacing: -0.045em;
      color: #ffffff;
      text-shadow: 0 20px 80px #000000;
    }
    #market .grid3{
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
      align-items: stretch;
      width:100%;
    }
    @media (max-width: 980px){
      #market{ padding: 86px 18px; }
      #market .sectionHead{ margin-bottom: 26px; }
      #market .grid3{ grid-template-columns: 1fr; gap: 12px; }
    }
    #market .feature{
      position: relative;
      border-radius: 24px;
      background: #0000006b;
      border: 1px solid #ffffff1f;
      backdrop-filter: blur(14px);
      box-shadow: 0 18px 60px #00000073;
      padding: 22px 20px 20px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      height: 100%;
      transition: transform .55s var(--ease), background-color .55s var(--ease), border-color .55s var(--ease), box-shadow .55s var(--ease);
    }
    #market .feature:hover{
      transform: translateY(-6px);
      background: #00000085;
      border-color: #ffffff2e;
      box-shadow: 0 28px 90px #00000099;
    }
    #market .feature::before{
      content:"";
      position:absolute;
      inset:-1px;
      border-radius: inherit;
      pointer-events:none;
      background: radial-gradient(900px 260px at 50% 0%, #ffffff14, transparent 62%);
      opacity: .55;
    }
    #market .feature::after{
      content:"";
      position:absolute;
      inset:-2px;
      border-radius: inherit;
      pointer-events:none;
      background:
        linear-gradient(135deg, #0b00cf24, transparent 45%),
        linear-gradient(315deg, #ff2d2b1f, transparent 48%);
      opacity: 0;
      transition: opacity .55s var(--ease);
    }
    #market .feature:hover::after{ opacity: 1; }
    #market .featureHeader{
      display:flex;
      align-items:center;
      gap: 14px;
      margin-bottom: 12px;
    }
    #market .feature .icon{
      width: 52px;
      height: 52px;
      border-radius: 18px;
      display: grid;
      place-items: center;
      background: #ffffff0f;
      border: 1px solid #ffffff29;
      box-shadow: 0 14px 40px #00000073;
      font-size: 22px;
      line-height: 1;
      transition: transform .55s var(--ease), border-color .55s var(--ease), background-color .55s var(--ease);
      flex: 0 0 auto;
    }
    #market .feature:hover .icon{
      transform: translateY(-1px) scale(1.03);
      background: #ffffff14;
      border-color: #ffffff33;
    }
    #market .feature h3{
      margin: 0;
      font-weight: 900;
      font-size: 18px;
      letter-spacing: -0.02em;
      line-height: 1.2;
      color: #ffffff;
    }
    #market .feature p{
      margin: 0;
      color: #ffffffb8;
      font-size: 14.5px;
      line-height: 1.65;
    }
    #market .card{
      position: relative;
      border-radius: 24px;
      background: #0000006b;
      border: 1px solid #ffffff1f;
      backdrop-filter: blur(14px);
      box-shadow: 0 18px 60px #00000073;
      padding: 26px 24px 24px;
      overflow: hidden;
      transition: transform .55s var(--ease), background-color .55s var(--ease), border-color .55s var(--ease), box-shadow .55s var(--ease);
    }
    #market .card:hover{
      transform: translateY(-6px);
      background: #00000085;
      border-color: #ffffff2e;
      box-shadow: 0 28px 90px #00000099;
    }
    #market .card::before{
      content:"";
      position:absolute;
      inset:-1px;
      border-radius: inherit;
      pointer-events:none;
      background: radial-gradient(900px 260px at 50% 0%, #ffffff14, transparent 62%);
      opacity: .55;
    }
    #market .card > div[style*="font-weight:900"]{
      color: #ffffff;
      font-size: 18px !important;
      line-height: 1.35;
      letter-spacing: -0.02em !important;
    }
    #market .card .sub{
      color: #ffffffb8;
      font-size: 15px;
      line-height: 1.7;
    }
    #market .card > div[style*="height:10px"]{ height: 8px !important; }

    /* OPS */
    #ops{
      position: relative;
      padding: 110px 18px;
      background: transparent;
      overflow: hidden;
    }
    #ops .sectionHead{
      text-align: center;
      margin: 0 auto 44px;
      max-width: 920px;
    }
    #ops .sectionHead h2{
      margin: 0;
      font-size: clamp(32px, 3.8vw, 54px);
      line-height: 1.05;
      letter-spacing: -0.045em;
      color: #ffffff;
      text-shadow: 0 20px 80px #000000;
    }
    #ops .grid2{
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
      align-items: stretch;
      width:100%;
    }
    @media (max-width: 980px){
      #ops{ padding: 86px 18px; }
      #ops .sectionHead{ margin-bottom: 26px; }
      #ops .grid2{ grid-template-columns: 1fr; gap: 12px; }
    }
    #ops .feature{
      position: relative;
      border-radius: 24px;
      background: #0000006b;
      border: 1px solid #ffffff1f;
      backdrop-filter: blur(14px);
      box-shadow: 0 18px 60px #00000073;
      padding: 22px 20px 20px;
      overflow: hidden;
      display: grid;
      grid-template-columns: 56px 1fr;
      grid-template-rows: auto auto;
      column-gap: 16px;
      row-gap: 10px;
      align-items: center;
      height: 100%;
      transition: transform .55s var(--ease), background-color .55s var(--ease), border-color .55s var(--ease), box-shadow .55s var(--ease);
    }
    #ops .feature:hover{
      transform: translateY(-6px);
      background: #00000085;
      border-color: #ffffff2e;
      box-shadow: 0 28px 90px #00000099;
    }
    #ops .feature::before{
      content:"";
      position:absolute;
      inset:-1px;
      border-radius: inherit;
      pointer-events:none;
      background: radial-gradient(900px 260px at 50% 0%, #ffffff14, transparent 62%);
      opacity: .55;
    }
    #ops .feature::after{
      content:"";
      position:absolute;
      inset:-2px;
      border-radius: inherit;
      pointer-events:none;
      background:
        linear-gradient(135deg, #0b00cf24, transparent 45%),
        linear-gradient(315deg, #ff2d2b1f, transparent 48%);
      opacity: 0;
      transition: opacity .55s var(--ease);
    }
    #ops .feature:hover::after{ opacity: 1; }
    #ops .feature .icon{
      grid-column: 1;
      grid-row: 1;
      width: 52px;
      height: 52px;
      border-radius: 18px;
      display: grid;
      place-items: center;
      background: #ffffff0f;
      border: 1px solid #ffffff29;
      box-shadow: 0 14px 40px #00000073;
      font-size: 22px;
      line-height: 1;
      transition: transform .55s var(--ease), border-color .55s var(--ease), background-color .55s var(--ease);
    }
    #ops .feature:hover .icon{
      transform: translateY(-1px) scale(1.03);
      background: #ffffff14;
      border-color: #ffffff33;
    }
    #ops .feature h3{
      grid-column: 2;
      grid-row: 1;
      margin: 0;
      font-weight: 900;
      font-size: 18px;
      letter-spacing: -0.02em;
      line-height: 1.2;
      color: #ffffff;
      display: flex;
      align-items: center;
    }
    #ops .feature p{
      grid-column: 1 / -1;
      grid-row: 2;
      margin: 0;
      color: #ffffffb8;
      font-size: 14.5px;
      line-height: 1.65;
    }

    /* CONTACT */
    #contact{
      position: relative;
      padding: 110px 18px;
      background: transparent;
      overflow: hidden;
    }
    #contact .sectionHead{
      text-align: center;
      margin: 0 auto 44px;
      max-width: 920px;
    }
    #contact .sectionHead h2{
      margin: 0;
      font-size: clamp(32px, 3.8vw, 54px);
      line-height: 1.05;
      letter-spacing: -0.045em;
      color: #ffffff;
      text-shadow: 0 20px 80px #000000;
    }
    #contact .grid2{
      display: grid;
      grid-template-columns: 1.05fr 0.95fr;
      gap: 18px;
      align-items: stretch;
      width:100%;
    }
    @media (max-width: 980px){
      #contact{ padding: 86px 18px; }
      #contact .sectionHead{ margin-bottom: 26px; }
      #contact .grid2{ grid-template-columns: 1fr; gap: 12px; }
    }

    #contact .card{
      position: relative;
      border-radius: 24px;
      background: #0000006b;
      border: 1px solid #ffffff1f;
      backdrop-filter: blur(14px);
      box-shadow: 0 18px 60px #00000073;
      overflow: hidden;
      padding: 26px 24px 24px;
      transition: transform .55s var(--ease), background-color .55s var(--ease), border-color .55s var(--ease), box-shadow .55s var(--ease);
    }
    #contact .card:hover{
      transform: translateY(-6px);
      background: #00000085;
      border-color: #ffffff2e;
      box-shadow: 0 28px 90px #00000099;
    }
    #contact .card::before{
      content:"";
      position:absolute;
      inset:-1px;
      border-radius: inherit;
      pointer-events:none;
      background: radial-gradient(900px 260px at 50% 0%, #ffffff14, transparent 62%);
      opacity: .55;
    }
    #contact .left{
      display:flex;
      flex-direction: column;
      gap: 14px;
    }
    #contact .kicker{
      font-size: 13px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: #ffffffcc;
    }
    #contact .lead{
      margin: 0;
      color: #ffffffb8;
      font-size: 15px;
      line-height: 1.7;
    }
    #contact form{
      display: grid;
      gap: 12px;
      margin-top: 8px;
    }
    #contact .row2{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }
    @media (max-width: 520px){
      #contact .row2{ grid-template-columns: 1fr; }
    }
    #contact label{
      display:block;
      font-size: 12.5px;
      color: #ffffffcc;
      margin: 0 0 6px;
      letter-spacing: -0.01em;
    }
    #contact input,
    #contact textarea{
      width: 100%;
      border-radius: 16px;
      border: 1px solid #ffffff1f;
      background: #ffffff0b;
      color: #ffffff;
      padding: 12px 12px;
      outline: none;
      box-shadow: 0 0 0 1px #ffffff0a inset;
      transition: border-color .35s ease, background-color .35s ease;
    }
    #contact textarea{
      min-height: 120px;
      resize: vertical;
    }
    #contact input:focus,
    #contact textarea:focus{
      border-color: #ffffff33;
      background: #ffffff10;
    }
    #contact .actions{
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
      align-items:center;
      margin-top: 6px;
    }
    #contact .submit{
      height: 52px;
      padding: 0 16px;
      border-radius: 16px;
      border: 1px solid #ffffff29;
      background: #ffffff0f;
      color: #ffffff;
      font-weight: 900;
      letter-spacing: -0.02em;
      cursor: pointer;
      display:inline-flex;
      align-items:center;
      gap: 10px;
      transition: transform .45s var(--ease), background-color .55s var(--ease), border-color .55s var(--ease), box-shadow .55s var(--ease);
    }
    #contact .submit:hover{
      transform: translateY(-2px);
      background: #ffffff14;
      border-color: #ffffff38;
      box-shadow: 0 14px 40px #00000073;
    }
    #contact .submit svg{ width: 16px; height: 16px; }

    #contact button.submit{
      color: #e6e6e6 !important;
      -webkit-text-fill-color: #e6e6e6 !important;
    }
    #contact button.submit:hover{
      color: #ffffff !important;
      -webkit-text-fill-color: #ffffff !important;
    }
    #contact button.submit svg,
    #contact button.submit svg *{
      stroke: #e6e6e6 !important;
      fill: none !important;
    }
    #contact button.submit:hover svg,
    #contact button.submit:hover svg *{
      stroke: #ffffff !important;
      fill: none !important;
    }

    #contact .globeCard{
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      backdrop-filter: none !important;
      padding: 26px 24px 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: visible;
    }
    #globe{
      position: relative;
      width: 100%;
      max-width: 520px;
      height: 520px;
      overflow: visible;
      background: transparent !important;
    }
    @media (max-width: 980px){
      #globe{ max-width: 520px; height: 520px; }
    }
    @media (max-width: 520px){
      #globe{ max-width: 360px; height: 360px; }
    }
    #globe canvas{
      position: absolute;
      inset: 0;
      width: 100% !important;
      height: 100% !important;
      display: block;
    }
    #globe .globeLabel{
      padding: 8px 10px;
      border-radius: 999px;
      border: 1px solid #ffffff29;
      background: #00000080;
      backdrop-filter: blur(10px);
      color: #ffffff;
      font-size: 12.5px;
      letter-spacing: -0.01em;
      box-shadow: 0 14px 40px #00000073;
      white-space: nowrap;
      transform: translate(-50%, -110%);
      pointer-events: none;
      display: none;
    }
    #globe .globeLabel.is-on{ display: block; }
    #globe .globeDot{
      width: 10px;
      height: 10px;
      border-radius: 999px;
      background: #ff2d2b;
      box-shadow: 0 0 0 2px rgba(255,45,43,.35), 0 0 18px rgba(255,45,43,.55);
      display:inline-block;
      margin-right: 8px;
      vertical-align: middle;
    }

    @media (max-width: 980px){
      #contact .grid2{ display:flex; flex-direction: column; }
      #contact .globeCard{ order: -1; }
    }

    /* FOOTER */
    #footer{
      position: relative;
      z-index: 100;
      isolation: isolate;
      padding: 70px 18px 40px;
      background: #000000;
      border-top: 1px solid #222222;
    }
    #footer .footerWrap{
      width: min(1040px, 100%);
      margin: 0 auto;
    }
    #footer .footerTop{
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 40px;
      flex-wrap: wrap;
      padding-bottom: 40px;
      border-bottom: 1px solid #222222;
    }
    #footer .footerBrand{
      display: flex;
      align-items: center;
      gap: 14px;
    }
    #footer .footerLogo{
      width: 42px;
      height: 42px;
      border-radius: 14px;
      background: linear-gradient(135deg,#0B00CF,#300A6E,#FF2D2B,#C10A28);
    }
    #footer .footerTitle{
      font-weight: 800;
      font-size: 18px;
      color: #ffffff;
    }
    #footer .footerSub{
      font-size: 13px;
      color: #ffffff;
      opacity: 0.85;
    }
    #footer .footerLinks{
      display: flex;
      gap: 24px;
      flex-wrap: wrap;
    }
    #footer .footerLinks a{
      color: #ffffff;
      opacity: 0.78;
      text-decoration: none;
      font-size: 14px;
      transition: opacity .25s ease, color .25s ease;
    }
    #footer .footerLinks a:hover{ color: #ffffff; opacity: 1; }
    #footer .footerBottom{
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 30px;
      flex-wrap: wrap;
      gap: 16px;
      font-size: 13px;
      color: #ffffff;
      opacity: 0.78;
    }
    #footer .footerLegal{ display: flex; gap: 18px; }
    #footer .footerLegal a{
      color: #ffffff;
      opacity: 0.78;
      text-decoration: none;
      transition: opacity .25s ease, color .25s ease;
    }
    #footer .footerLegal a:hover{ color: #ffffff; opacity: 1; }
    @media (max-width: 768px){
      #footer .footerTop{ flex-direction: column; align-items: flex-start; }
      #footer .footerBottom{ flex-direction: column; align-items: flex-start; }
    }

    /* SMOOTH SCROLL + REVEALS */
    html{
      scroll-behavior: smooth;
      scroll-padding-top: 92px;
    }
    section[id]{ scroll-margin-top: 92px; }

    .reveal{
      opacity: 0;
      transform: translateY(14px);
      transition: opacity .90s var(--ease), transform .90s var(--ease);
      will-change: opacity, transform;
    }
    .reveal.is-in{
      opacity: 1;
      transform: translateY(0);
    }

    section{
      opacity: 0;
      transform: translateY(22px) scale(.985);
      filter: blur(8px);
      transition: opacity .85s var(--ease), transform .85s var(--ease), filter .85s var(--ease);
      will-change: opacity, transform, filter;
    }
    section.is-in{
      opacity: 1;
      transform: translateY(0) scale(1);
      filter: blur(0);
    }
    section .sectionHead,
    section .grid3,
    section .grid2,
    section .card,
    section .feature{
      opacity: 0;
      transform: translateY(14px);
      transition: opacity .85s var(--ease), transform .85s var(--ease);
      will-change: opacity, transform;
    }
    section.is-in .sectionHead,
    section.is-in .grid3,
    section.is-in .grid2,
    section.is-in .card,
    section.is-in .feature{
      opacity: 1;
      transform: translateY(0);
    }
    section.is-in .sectionHead{ transition-delay: .06s; }
    section.is-in .grid3{      transition-delay: .12s; }
    section.is-in .grid2{      transition-delay: .12s; }
    section.is-in .card{       transition-delay: .16s; }
    section.is-in .feature:nth-child(1){ transition-delay: .16s; }
    section.is-in .feature:nth-child(2){ transition-delay: .22s; }
    section.is-in .feature:nth-child(3){ transition-delay: .28s; }
    section.is-in .feature:nth-child(4){ transition-delay: .34s; }
    section.is-in .feature:nth-child(5){ transition-delay: .40s; }
    section.is-in .feature:nth-child(6){ transition-delay: .46s; }

    @media (prefers-reduced-motion: reduce){
      #ribbons{ display:none; }
      .cta::before{ animation:none !important; }
      .drawer, .drawerOverlay, .nav, .nav a, .btn, .menuBtn{ transition:none !important; }

      html{ scroll-behavior: auto; }
      section,
      section .sectionHead,
      section .grid3,
      section .grid2,
      section .card,
      section .feature{
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
      }
      .reveal{
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
      }
    }

/* =========================
   TOAST NOTIFICATIONS
   ========================= */

#toastContainer{
  position: fixed;
  top: 26px;
  right: 26px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 9999;
  pointer-events: none; /* żeby nie blokowało klików */
}

.toast{
  pointer-events: auto;
  min-width: 280px;
  max-width: 380px;
  padding: 16px 18px;
  border-radius: 18px;
  font-size: 14px;
  font-weight: 650;
  color: #ffffff;
  border: 1px solid #222222;
  background: rgba(17,17,17,.92);
  box-shadow: 0 20px 60px rgba(0,0,0,.65);
  backdrop-filter: blur(16px);

  display: flex;
  align-items: center;
  gap: 12px;

  opacity: 0;
  transform: translateY(-14px) scale(.985);
  filter: blur(6px);
  transition:
    transform .55s cubic-bezier(.22,1,.36,1),
    opacity   .45s ease,
    filter    .55s ease;
}

/* pokazanie */
.toast.show{
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

/* chowanie */
.toast.hide{
  opacity: 0;
  transform: translateY(-10px) scale(.985);
  filter: blur(6px);
}

/* Mobile: na środku, ale u góry */
@media (max-width: 768px){
  #toastContainer{
    top: 14vh;          /* <-- środek, ale u góry */
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    align-items: center;
  }

  .toast{
    min-width: min(92vw, 360px);
    max-width: 92vw;
  }
}

/* SUCCESS */
.toast.success{
  border-color: rgba(0,200,83,.7);
  box-shadow: 0 0 42px rgba(0,200,83,.25), 0 20px 60px rgba(0,0,0,.65);
}

/* ERROR */
.toast.error{
  border-color: rgba(255,45,43,.85);
  box-shadow: 0 0 42px rgba(255,45,43,.25), 0 20px 60px rgba(0,0,0,.65);
}

/* icon */
.toast svg{
  width: 18px;
  height: 18px;
  stroke: #ffffff;
  flex: 0 0 auto;
}

/* =========================
   AUTOFILL FIX (DARK MODE)
   ========================= */

#contact input:-webkit-autofill,
#contact textarea:-webkit-autofill,
#contact input:-webkit-autofill:hover,
#contact textarea:-webkit-autofill:hover,
#contact input:-webkit-autofill:focus,
#contact textarea:-webkit-autofill:focus {

  -webkit-box-shadow: 0 0 0 1000px #000000 inset !important;
  box-shadow: 0 0 0 1000px #000000 inset !important;

  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;

  border: 1px solid #ffffff1f !important;
}

.hero{ position:relative; overflow:hidden; isolation:isolate; }
#ribbons{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.heroInner{ position:relative; z-index:2; transform: translateZ(0); -webkit-transform: translateZ(0); }
.gradText{ display:inline-block; transform: translateZ(0); -webkit-transform: translateZ(0); backface-visibility:hidden; -webkit-backface-visibility:hidden; }

/* =========================
   DRAWER — FULL SCREEN ON MOBILE (FIX VH)
   ========================= */
@media (max-width: 980px){

  .drawer,
  .drawerOverlay{
    position: fixed;
    inset: 0;            /* top/right/bottom/left = 0 */
  }

  .drawer{
    width: 100%;
    height: 100dvh;      /* realna widoczna wysokość (nowe przeglądarki) */
    height: 100svh;      /* fallback dla iOS */
    height: 100vh;       /* ostateczny fallback */
    max-height: 100dvh;

    /* żeby content nie “wchodził” pod dolny pasek systemu */
    padding-bottom: env(safe-area-inset-bottom);
  }

  .drawerBody{
    /* żeby lista się mieściła i dało się przewijać gdy ekran niski */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .drawerFooter{
    padding-bottom: calc(18px + env(safe-area-inset-bottom));
  }
}

/* =========================
   LOCK SCROLL WHEN MOBILE MENU OPEN
   ========================= */
body.menu-open{
  overflow: hidden;
  height: 100%;
  touch-action: none; /* blokuje przewijanie gestami */
}

/* iOS Safari: twardy lock */
@media (max-width: 980px){
  html, body{ height: 100%; }

  body.menu-open{
    position: fixed;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
  }
}

/* =========================
   AUTOFILL FIX (Mobile + Chrome + Safari)
   ========================= */

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {

  -webkit-text-fill-color: #ffffff !important; /* kolor tekstu */
  transition: background-color 9999s ease-in-out 0s;
  
  box-shadow: 0 0 0px 1000px #000000 inset !important; /* czarne tło */
  -webkit-box-shadow: 0 0 0px 1000px #000000 inset !important;

  border-color: rgba(255,255,255,0.15) !important;
}
