 *{
    box-sizing: border-box;
 }
 html, body {
      min-height: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      background-color: #000000;
      background-image: linear-gradient(to bottom, #000000 00%, #000000 50%, #11012e 100%);
      background-attachment: fixed;
      color: #f3f7fa;
    }
    body {            
      min-height: 100vh;
      font-family: 'Lexend', Arial, sans-serif;
      color: #f3f7fa;
      position: relative; /* Ważne dla z-index */
      overflow-x: hidden;
    }
    /* Kontener dla Three.js - powinien być tłem */
    #three-bg { 
        position: fixed; 
        left: 0; 
        top: 0; 
        width: 100vw; 
        height: 100vh; 
        z-index: 0; /* Za treścią strony */
        pointer-events: auto !important; /* Kluczowe, aby canvas łapał myszkę */
        overflow: hidden;  
    }
    .bold{
        font-weight: 600;
    }

    .rk-logo {
      font-family: 'Lexend', Arial, sans-serif;
      font-weight: 700;
      font-size: 2.05rem;
      color: #fff;
      z-index: 10; /* Nad wszystkim */
      letter-spacing: -0.01em;
      background: none;
      user-select: none;
      pointer-events: none; /* Logo nie powinno przechwytywać myszki */

    }
    .rk-logo small{
        font-size: 14px;
    }
    .header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      width: 100vw;
      position: fixed;
      top: 0px;
      left: 0px;
      padding: 1.2rem;
      backdrop-filter: blur(6px);
      background: rgba(0,0,0,0.1);
      z-index: 2;
    }    
    .header small{
        font-size: 1.1rem;
        font-weight: 100;
        letter-spacing: -0.05rem;
        text-align: right;
        color: #f3f7fa;
    }
    .rk-logo span{
        background: #121FCF;
        background: linear-gradient(to right, #abfefd 0%, #1e62af 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;     
    }
    /* Kontenery z treścią strony - muszą mieć wyższy z-index niż #three-bg, jeśli mają być klikalne */
    .content-section {
        position: relative; /* Aby z-index działał */
        z-index: 1; /* Nad #three-bg */
        /* Twoje pozostałe style dla sekcji */
    }
    .content-section {
      width: 100vw;
      min-height: 80vh; 
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      /* z-index: 2; już jest w .content-section */
    }
     .hero-content {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 10vw 3vw 0;
      max-width: 800px;
    }
    .bg-glass { /* Dla sekcji formularza */
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      padding:0;
    }
    /* ... reszta Twoich stylów ... */
    .typing {
      display: flex;
      height: clamp(2.4rem, 12vw, 6rem);
      font-weight: 700;
      font-size: clamp(1rem, 10vw, 4.6rem);
      padding: 0;      
      margin: 0;
      border-right: 2px solid #339cff;
      white-space: nowrap;
      overflow: hidden;
      animation: blink-caret .7s step-end infinite;
      color: #f3f7fa;
      letter-spacing: -2px;
        background: #121FCF;
        background: linear-gradient(to right, #abfefd 0%, #430797 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .lead {
      font-size: clamp(1rem, 2vw, 1.6rem);
      color: #abfefd;
      font-weight: 100;
      text-align: center; 
      background: linear-gradient(to right, #d5f1f1 0%, #7d6ec0 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .form-lead{
        font-size: clamp(1rem, 7vw, 2.6rem);
        letter-spacing: -2px;
        background: #121FCF;
        background: linear-gradient(to right, #abfefd 0%, #430797 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;        
    }
    .form-text{
        font-size: 1rem;
        font-weight: 100;
        line-height: 1.6;
    }

    .form-check{
        
    }

    @keyframes blink-caret {
      from, to { border-color: transparent }
      50% { border-color: #86bad0 }
    }

    .btn-group{
        display: flex;
        margin: 16px;
        gap: 16px;        
    }
    #main-btn{
        width: 200px;
        height: 54px;
        text-align: center;
         transition: opacity 0.5s ease;
    }
    .cta-btn {
      display: inline-block;
      padding: 14px 24px;            
      border-radius: 2rem;
      font-weight: 600;
      font-size: 1rem;
      letter-spacing: 0.01em;
      backdrop-filter: blur(10px);
      background: rgba(0,0,0,0.5);
      color: #f3f7fa;
      border: 2px solid rgba(255,255,255,0.2);      
      font-family: 'Lexend', Arial, sans-serif;
      text-decoration: none;
      transition: background .14s, color .14s, border-color .15s, box-shadow .17s;
    }
    .cta-btn:hover,
    .cta-btn:focus {
      background: #bbbfd1;
      border: 2px solid #bbbfd1;
      color: #23243a;
      box-shadow: 0 3px 16px 0 rgba(42,46,66,0.19);
    }
     .contact-form-card {
      width: 100%;
      max-width: 600px;
      padding: clamp(0.2rem, 10vw, 3rem);
      box-sizing: border-box;
      background: rgba(28, 35, 53, 0.2);      
      backdrop-filter: blur(8px);
      border: 1px solid rgba(42,46,66,0.9);
      border-radius: 1.5rem;
      box-shadow: 0 20px 44px rgba(26, 137, 192, 0.2);
      color: #f3f7fa; /* Dodane dla tekstu wewnątrz */
    }
    .contact-form-card h2 {
      margin-bottom: 1rem;
    }
    .contact-form-card p {
      margin-bottom: 1.5rem;
      color: #d0d4e0;
    }
     .form-control,
    .contact-form-card textarea {
      width: 100%; /* Użyj box-sizing: border-box; jeśli padding psuje szerokość */
      box-sizing: border-box;
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.2);
      color: #fff;
      padding: 1rem 1.2rem;
      border-radius: 0.75rem;
      margin-bottom: 1rem;
      font-size: 1rem;
      transition: border-color 0.2s, box-shadow 0.2s;
    }
    .contact-form-card input::placeholder,
    .contact-form-card textarea::placeholder {
      color: rgba(255,255,255,0.65);
    }
    .contact-form-card input:focus,
    .contact-form-card textarea:focus {
      border-color: #bbbfd1;
      box-shadow: 0 0 0 3px rgba(187,191,209,0.25);
      outline: none;
      background: rgba(255,255,255,0.08);
    }
    .contact-form-card .form-check {
      display: flex;
      align-items: center;
      margin-bottom: 1.5rem;
    }
    .contact-form-card .form-check-label {
      margin-left: 0.5rem;
      color: #d0d4e0;
      font-weight: 100;
    }
     .contact-form-card .form-check-label a { /* Styl dla linku w checkboxie */
      color: #339cff;
      text-decoration: underline;
      transition: color .13s;
    }
    .contact-form-card .form-check-label a:hover {
      color: #2bbbad;
    }
    .cta-btn.w-100 {
      width: 100%;
      display: block;
    }
    .footer{
        display: flex;
        width: 100vw;
        justify-content: center;
        padding: 3rem 0;
    }
    #cursor-circle {
      position: fixed;
      width: 600px;
      height: 600px;
      mix-blend-mode: screen;
      border-radius: 50%;
      pointer-events: none;
      background: radial-gradient(circle, rgba(119, 189, 255, 1) 0%, rgba(119, 189, 255, 0.2) 1%, rgba(238, 152, 237, 0.05) 10%, transparent 70%);
      transform: translate(-50%, -50%);
      z-index: 1;
    }

    .form-message {
      margin-bottom: 1rem;
      font-size: 1rem;
      color: #f3f7fa;
      text-align: center;
    }
    .form-message.error { color: #f28b82; }
    .form-message.success { color: #a5d6a7; }