/* ==========================================================================
       DESIGN TOKENS & RESET
       ========================================================================== */
    :root {
      --bg: #f8faff;
      --bg-dark: #0a0f24;
      --bg-darker: #060a19;
      --ink: #0f172a;
      --ink-muted: #52607d;
      --ink-light: #8d9bb5;
      --border-light: rgba(226, 232, 240, 0.8);
      --border-glass: rgba(255, 255, 255, 0.65);
      
      /* Vibrant Brand Palette */
      --blue: #0066ff;
      --blue-glow: rgba(0, 102, 255, 0.35);
      --cyan: #00d2ff;
      --purple: #7928ca;
      --purple-light: #9d4edd;
      --magenta: #d946ef;
      --pink: #ec4899;
      --orange: #ff5e36;
      --amber: #f59e0b;
      --emerald: #10b981;
      --teal: #06b6d4;
      
      /* Gradients */
      --grad-hero: linear-gradient(135deg, #a855f7 0%, #ec4899 50%, #f43f5e 100%);
      --grad-blue: linear-gradient(135deg, #0061ff 0%, #00c6ff 100%);
      --grad-purple: linear-gradient(135deg, #7928ca 0%, #b800ff 100%);
      --grad-orange: linear-gradient(135deg, #ff5e36 0%, #ff0844 100%);
      --grad-emerald: linear-gradient(135deg, #059669 0%, #10b981 100%);
      --grad-cta: linear-gradient(108deg, #0052d4 0%, #4364f7 32%, #7928ca 65%, #d946ef 88%, #00d2ff 100%);
      
      /* Shadows */
      --shadow-sm: 0 4px 12px rgba(15, 23, 42, 0.05);
      --shadow-md: 0 12px 32px rgba(15, 23, 42, 0.08);
      --shadow-lg: 0 24px 60px rgba(15, 23, 42, 0.12);
      --shadow-glow: 0 16px 40px rgba(0, 102, 255, 0.28);
    }

    *, *::before, *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    body {
      font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      background-color: var(--bg);
      color: var(--ink);
      line-height: 1.6;
      overflow-x: hidden;
    }

    a {
      text-decoration: none;
      color: inherit;
    }

    button {
      font-family: inherit;
      cursor: pointer;
      border: none;
      background: none;
    }

    .container {
      width: min(1280px, calc(100% - 48px));
      margin-inline: auto;
    }

    /* Ambient Auroras */
    .aurora-bg {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 980px;
      overflow: hidden;
      pointer-events: none;
      z-index: 0;
    }

    .aurora-blob {
      position: absolute;
      border-radius: 50%;
      filter: blur(100px);
      opacity: 0.42;
      animation: pulseAurora 12s ease-in-out infinite alternate;
    }

    .blob-1 {
      width: 650px;
      height: 650px;
      background: radial-gradient(circle, #e9d5ff 0%, #c084fc 60%, transparent 80%);
      top: -120px;
      left: -150px;
    }

    .blob-2 {
      width: 720px;
      height: 600px;
      background: radial-gradient(circle, #bae6fd 0%, #38bdf8 50%, #c084fc 80%, transparent 100%);
      top: 40px;
      right: -180px;
      opacity: 0.38;
      animation-delay: -4s;
    }

    .blob-3 {
      width: 500px;
      height: 450px;
      background: radial-gradient(circle, #fbcfe8 0%, #f472b6 60%, transparent 80%);
      top: 320px;
      right: 25%;
      opacity: 0.22;
      animation-delay: -7s;
    }

    @keyframes pulseAurora {
      0% { transform: scale(1) translate(0, 0); }
      50% { transform: scale(1.08) translate(20px, -15px); }
      100% { transform: scale(0.95) translate(-15px, 20px); }
    }

    /* ==========================================================================
       FLOATING NAVIGATION BAR
       ========================================================================== */
    .navbar-wrapper {
      position: fixed;
      top: 20px;
      left: 0;
      right: 0;
      z-index: 1000;
      display: flex;
      justify-content: center;
      padding-inline: 16px;
      pointer-events: none;
    }

    .navbar {
      pointer-events: auto;
      width: min(1180px, 100%);
      height: 64px;
      background: rgba(255, 255, 255, 0.82);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.95);
      border-radius: 999px;
      box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(0, 0, 0, 0.02);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 6px 10px 6px 26px;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .navbar.scrolled {
      background: rgba(255, 255, 255, 0.94);
      box-shadow: 0 16px 40px rgba(15, 23, 42, 0.1);
      transform: translateY(-2px);
    }

    .brand-logo, .logo a {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      text-decoration: none;
      user-select: none;
      transition: transform 0.2s ease;
    }

    .brand-logo:hover {
      transform: translateY(-1px);
    }

    .brand-logo i,
    .brand-logo .logo-icon {
      font-size: 1.65rem;
      background: var(--grad-blue);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      display: inline-flex;
      align-items: center;
    }

    .brand-logo .logo-text {
      display: inline-flex;
      align-items: baseline;
      line-height: 1;
      font-family: 'Outfit', sans-serif;
      font-weight: 800;
      letter-spacing: -0.6px;
    }

    .brand-logo .logo-arx {
      font-family: 'Outfit', sans-serif;
      font-weight: 800;
      letter-spacing: -0.6px;
      color: var(--ink);
      font-size: 1.55rem;
    }

    .brand-logo .logo-code {
      font-family: 'Outfit', sans-serif;
      font-weight: 800;
      letter-spacing: -0.6px;
      font-size: 1.55rem;
      background: var(--grad-blue);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      display: inline-block;
    }

    .footer-brand .logo-arx {
      color: #ffffff;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 34px;
      list-style: none;
    }

    .nav-links a {
      font-size: 14px;
      font-weight: 500;
      color: #4b5876;
      transition: color 0.2s ease;
      position: relative;
    }

    .nav-links a:hover,
    .nav-links a.active {
      color: var(--blue);
    }

    .nav-links a::after {
      content: '';
      position: absolute;
      bottom: -6px;
      left: 50%;
      transform: translateX(-50%) scaleX(0);
      width: 14px;
      height: 2px;
      background: var(--blue);
      border-radius: 2px;
      transition: transform 0.2s ease;
    }

    .nav-links a:hover::after,
    .nav-links a.active::after {
      transform: translateX(-50%) scaleX(1);
    }

    .btn-nav {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--blue);
      color: #fff;
      font-size: 13.5px;
      font-weight: 600;
      padding: 10px 22px;
      border-radius: 999px;
      box-shadow: 0 8px 20px rgba(0, 102, 255, 0.25);
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .btn-nav:hover {
      background: #0052cc;
      box-shadow: 0 12px 28px rgba(0, 102, 255, 0.38);
      transform: translateY(-2px);
    }

    .btn-nav svg {
      transition: transform 0.2s ease;
    }

    .btn-nav:hover svg {
      transform: translateX(3px);
    }

    .mobile-menu-btn {
      display: none;
      padding: 8px;
      color: var(--ink);
      font-size: 24px;
      align-items: center;
      justify-content: center;
    }

    /* Mobile Drawer */
    .mobile-drawer {
      display: none;
      position: fixed;
      top: 86px;
      left: 16px;
      right: 16px;
      background: #ffffff;
      border: 1px solid rgba(226, 232, 240, 0.95);
      border-radius: 24px;
      padding: 18px 18px 22px;
      box-shadow: 0 24px 65px rgba(15, 23, 42, 0.22);
      z-index: 1500;
      flex-direction: column;
      gap: 10px;
      max-height: calc(100vh - 105px);
      overflow-y: auto;
      transform: translateY(-12px);
      opacity: 0;
      transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
      pointer-events: none;
      scrollbar-width: thin;
      scrollbar-color: #cbd5e1 #f8fafc;
    }

    .mobile-drawer.open {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }

    .mobile-drawer-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 4px 10px 4px;
      border-bottom: 1px solid #f1f5f9;
      margin-bottom: 2px;
    }

    .mobile-drawer-title {
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.8px;
      color: #94a3b8;
    }

    .mobile-drawer-close {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: #f1f5f9;
      border: none;
      color: #64748b;
      font-size: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all 0.2s ease;
    }

    .mobile-drawer-close:hover {
      background: #e2e8f0;
      color: #0f172a;
    }

    .mobile-nav-list {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .mobile-nav-link {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 11px 14px;
      border-radius: 14px;
      font-size: 15px;
      font-weight: 600;
      color: #1e293b;
      text-decoration: none;
      transition: background 0.18s ease, color 0.18s ease;
    }

    .mobile-nav-link i {
      color: var(--blue);
      font-size: 15px;
      width: 20px;
      text-align: center;
    }

    .mobile-nav-link:hover, .mobile-nav-link:active {
      background: #f8fafc;
      color: var(--blue);
    }

    /* Mobile Dropdown (Projekty) */
    .mobile-dropdown-wrapper {
      background: #f8fafc;
      border: 1.5px solid #e2e8f0;
      border-radius: 16px;
      overflow: hidden;
      margin: 4px 0;
      transition: border-color 0.2s ease;
    }

    .mobile-dropdown-wrapper.open {
      border-color: #cbd5e1;
    }

    .mobile-dropdown-trigger {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 12px 14px;
      background: transparent;
      border: none;
      font-family: inherit;
      font-size: 15px;
      font-weight: 700;
      color: #0f172a;
      cursor: pointer;
      user-select: none;
    }

    .mobile-dropdown-label {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .mobile-dropdown-label i {
      color: var(--blue);
      font-size: 15px;
      width: 20px;
      text-align: center;
    }

    .mobile-dropdown-chevron {
      font-size: 13px;
      color: #94a3b8;
      transition: transform 0.25s ease;
    }

    .mobile-dropdown-wrapper.open .mobile-dropdown-chevron {
      transform: rotate(180deg);
      color: var(--blue);
    }

    .mobile-dropdown-content {
      display: none;
      flex-direction: column;
      gap: 7px;
      padding: 4px 10px 12px 10px;
      border-top: 1px solid #e2e8f0;
    }

    .mobile-dropdown-wrapper.open .mobile-dropdown-content {
      display: flex;
      animation: mobileDdSlide 0.2s ease;
    }

    @keyframes mobileDdSlide {
      from { opacity: 0; transform: translateY(-6px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .mobile-project-item {
      display: flex;
      align-items: center;
      gap: 11px;
      padding: 9px 12px;
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      text-decoration: none;
      transition: all 0.18s ease;
    }

    .mobile-project-item:hover, .mobile-project-item:active {
      border-color: #cbd5e1;
      transform: translateY(-1px);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    }

    .mpi-icon {
      font-size: 18px;
      width: 32px;
      height: 32px;
      background: #f1f5f9;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .mpi-info {
      flex-grow: 1;
      text-align: left;
    }

    .mpi-info strong {
      display: block;
      font-size: 13.5px;
      font-weight: 700;
      color: #0f172a;
      line-height: 1.2;
    }

    .mpi-info span {
      display: block;
      font-size: 11px;
      color: #64748b;
      margin-top: 2px;
    }

    .mpi-ext, .mpi-arr {
      font-size: 12px;
      color: #94a3b8;
    }

    .mobile-project-all {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 8px 10px;
      font-size: 12px;
      font-weight: 600;
      color: var(--blue);
      text-decoration: none;
      border-radius: 8px;
      transition: background 0.18s ease;
    }

    .mobile-project-all:hover {
      background: rgba(0, 102, 255, 0.06);
    }

    .mobile-drawer-footer {
      margin-top: 2px;
      padding-top: 10px;
      border-top: 1px solid #f1f5f9;
    }

    .mobile-cta-btn {
      width: 100% !important;
      display: flex !important;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 12px !important;
      font-size: 14.5px !important;
      border-radius: 12px !important;
    }

    /* ==========================================================================
       HERO SECTION
       ========================================================================== */
    .hero-section {
      position: relative;
      padding-top: 140px;
      padding-bottom: 90px;
      min-height: 840px;
      display: flex;
      align-items: center;
      z-index: 1;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.05fr 1.15fr;
      align-items: center;
      gap: 30px;
    }

    .hero-badge-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-family: 'JetBrains Mono', monospace;
      font-size: 11.5px;
      font-weight: 700;
      letter-spacing: 1.8px;
      color: var(--blue);
      text-transform: uppercase;
      margin-bottom: 18px;
    }

    .hero-title {
      font-size: clamp(44px, 5.2vw, 68px);
      font-weight: 800;
      line-height: 1.05;
      letter-spacing: -2.5px;
      color: #0b1328;
      max-width: 620px;
      margin-bottom: 22px;
    }

    .gradient-headline {
      background: var(--grad-hero);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      display: inline-block;
    }

    .hero-desc {
      font-size: 17.5px;
      line-height: 1.6;
      color: #53627f;
      max-width: 530px;
      margin-bottom: 32px;
    }

    .hero-actions {
      display: flex;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
      margin-bottom: 34px;
    }

    .btn-primary-hero {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      background: linear-gradient(135deg, #0056f6 0%, #2563eb 50%, #7928ca 100%);
      color: #fff;
      font-size: 14.5px;
      font-weight: 600;
      padding: 13px 26px;
      border-radius: 999px;
      box-shadow: 0 10px 28px rgba(0, 86, 246, 0.35);
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .btn-primary-hero:hover {
      transform: translateY(-3px);
      box-shadow: 0 16px 36px rgba(0, 86, 246, 0.45);
    }

    .btn-secondary-hero {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #ffffff;
      color: #1e293b;
      font-size: 14.5px;
      font-weight: 600;
      padding: 13px 24px;
      border-radius: 999px;
      border: 1px solid #d9e1ec;
      box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .btn-secondary-hero:hover {
      border-color: #cbd5e1;
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
      color: var(--blue);
    }

    .hero-tags {
      display: flex;
      align-items: center;
      gap: 20px;
      flex-wrap: wrap;
    }

    .hero-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 13.5px;
      font-weight: 600;
      color: #4a5775;
    }

    .hero-tag svg {
      color: #7b8ba8;
    }

    /* HERO VISUAL STAGE */
    .hero-visual-stage {
      position: relative;
      height: 540px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* 3D Wave platform backdrop */
    .fluid-3d-ribbon {
      position: absolute;
      width: 580px;
      height: 400px;
      background: linear-gradient(135deg, rgba(0, 102, 255, 0.85) 0%, rgba(121, 40, 202, 0.88) 55%, rgba(217, 70, 239, 0.8) 100%);
      border-radius: 54% 46% 62% 38% / 45% 58% 42% 55%;
      filter: blur(1px);
      box-shadow: 0 25px 80px rgba(121, 40, 202, 0.38), inset 0 2px 30px rgba(255, 255, 255, 0.45);
      transform: rotate(-10deg) scale(0.95);
      opacity: 0.95;
      animation: morphRibbon 9s ease-in-out infinite alternate;
      z-index: 1;
    }

    @keyframes morphRibbon {
      0% {
        border-radius: 54% 46% 62% 38% / 45% 58% 42% 55%;
        transform: rotate(-10deg) scale(0.95);
      }
      100% {
        border-radius: 42% 58% 48% 52% / 56% 40% 60% 44%;
        transform: rotate(-5deg) scale(1.02);
      }
    }

    /* Code Window */
    .hero-code-window {
      position: relative;
      width: 440px;
      background: #090f22;
      border-radius: 20px;
      border: 1px solid rgba(255, 255, 255, 0.16);
      box-shadow: 0 35px 80px rgba(8, 14, 38, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.05);
      overflow: hidden;
      transform: perspective(1000px) rotateY(-4deg) rotateX(3deg) rotateZ(-2deg);
      transition: transform 0.4s ease;
      z-index: 3;
    }

    .hero-code-window:hover {
      transform: perspective(1000px) rotateY(-1deg) rotateX(1deg) rotateZ(0deg) translateY(-4px);
    }

    .window-header {
      background: #0f1836;
      height: 42px;
      display: flex;
      align-items: center;
      padding: 0 16px;
      gap: 7px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }

    .win-btn {
      width: 10px;
      height: 10px;
      border-radius: 50%;
    }

    .win-btn.close { background: #ff5f56; }
    .win-btn.min { background: #ffbd2e; }
    .win-btn.max { background: #27c93f; }

    .window-title {
      margin-left: 12px;
      font-family: 'JetBrains Mono', monospace;
      font-size: 11.5px;
      color: #a4b4db;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .window-body {
      padding: 24px 26px;
      font-family: 'JetBrains Mono', monospace;
      font-size: 13.5px;
      line-height: 1.85;
      color: #d2deff;
    }

    .kw-const { color: #c084fc; font-weight: 600; }
    .kw-var { color: #60a5fa; }
    .kw-key { color: #93c5fd; }
    .kw-bool { color: #4ade80; font-weight: 600; }
    .kw-comment { color: #64748b; font-style: italic; }
    .kw-fn { color: #f472b6; }
    .kw-str { color: #fbbf24; }

    /* Frosted Feature Card */
    .hero-glass-card {
      position: absolute;
      right: 25px;
      top: 195px;
      width: 195px;
      background: rgba(255, 255, 255, 0.22);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      border: 1px solid rgba(255, 255, 255, 0.65);
      border-radius: 18px;
      padding: 16px 18px;
      box-shadow: 0 20px 50px rgba(10, 15, 45, 0.25);
      z-index: 4;
      display: flex;
      flex-direction: column;
      gap: 12px;
      transform: translateY(0);
      animation: floatSlow 6s ease-in-out infinite;
    }

    .glass-item {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 13.5px;
      font-weight: 700;
      color: #ffffff;
      text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    }

    .glass-item svg {
      stroke: #ffffff;
      opacity: 0.95;
    }

    /* 3D Floating Squircle Badges */
    .squircle-badge {
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 18px;
      color: #ffffff;
      font-weight: 800;
      box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22), inset 0 2px 4px rgba(255, 255, 255, 0.45);
      z-index: 5;
      user-select: none;
      transition: transform 0.3s ease;
    }

    .badge-code {
      width: 62px;
      height: 62px;
      background: linear-gradient(135deg, #00d2ff 0%, #0066ff 100%);
      top: 40px;
      right: 120px;
      font-family: 'JetBrains Mono', monospace;
      font-size: 20px;
      animation: floatBadge 5s ease-in-out infinite alternate;
    }

    .badge-ai {
      width: 58px;
      height: 58px;
      background: linear-gradient(135deg, #a3e635 0%, #65a30d 100%);
      top: 75px;
      left: 15px;
      font-size: 18px;
      letter-spacing: -0.5px;
      animation: floatBadge 6.5s ease-in-out infinite alternate -1.5s;
    }

    .badge-curly {
      width: 64px;
      height: 64px;
      background: linear-gradient(135deg, #c084fc 0%, #7928ca 100%);
      bottom: 105px;
      left: 20px;
      font-family: 'JetBrains Mono', monospace;
      font-size: 22px;
      animation: floatBadge 5.8s ease-in-out infinite alternate -2.8s;
    }

    .badge-js {
      width: 54px;
      height: 54px;
      background: linear-gradient(135deg, #fbbf24 0%, #ea580c 100%);
      bottom: 185px;
      right: 10px;
      font-family: 'JetBrains Mono', monospace;
      font-size: 16px;
      animation: floatBadge 5.2s ease-in-out infinite alternate -3.5s;
    }

    @keyframes floatSlow {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-10px); }
    }

    @keyframes floatBadge {
      0% { transform: translateY(0) rotate(0deg); }
      100% { transform: translateY(-14px) rotate(4deg); }
    }

    /* Handwritten Whimsical Annotation */
    .hero-handwritten {
      position: absolute;
      right: -25px;
      top: 105px;
      font-family: 'Caveat', cursive;
      font-size: 20px;
      font-weight: 700;
      color: #3b4262;
      line-height: 1.15;
      text-align: center;
      transform: rotate(5deg);
      z-index: 6;
      pointer-events: none;
    }

    .hero-handwritten .sub-note {
      font-size: 17px;
      color: var(--blue);
      display: block;
      margin-top: 2px;
    }

    .handwritten-arrow {
      position: absolute;
      top: 48px;
      right: 50px;
      width: 75px;
      height: 65px;
      pointer-events: none;
    }

    /* ==========================================================================
       SECTION 2: SERVICES ("CO ROBIMY?")
       ========================================================================== */
    .services-section {
      padding: 90px 0 105px;
      position: relative;
      z-index: 1;
    }

    .services-grid-wrapper {
      display: grid;
      grid-template-columns: 1.15fr 3.85fr;
      gap: 28px;
      align-items: stretch;
    }

    .services-info-col {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding-right: 12px;
    }

    .section-kicker {
      font-family: 'JetBrains Mono', monospace;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 1.8px;
      text-transform: uppercase;
      color: var(--blue);
      margin-bottom: 12px;
    }

    .section-main-title {
      font-size: clamp(30px, 3.2vw, 40px);
      font-weight: 800;
      line-height: 1.15;
      letter-spacing: -1.4px;
      color: #0b1328;
      margin-bottom: 16px;
    }

    .section-lead-desc {
      font-size: 15px;
      line-height: 1.65;
      color: #556380;
    }

    .services-cards-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
    }

    .service-card {
      position: relative;
      border-radius: 24px;
      padding: 26px 22px 22px;
      color: #ffffff;
      display: flex;
      flex-direction: column;
      min-height: 250px;
      overflow: hidden;
      box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .service-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 24px 50px rgba(15, 23, 42, 0.18);
    }

    .service-card.sc-blue { background: var(--grad-blue); }
    .service-card.sc-purple { background: var(--grad-purple); }
    .service-card.sc-orange { background: var(--grad-orange); }
    .service-card.sc-teal { background: var(--grad-emerald); }

    .service-card-icon {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.2);
      backdrop-filter: blur(10px);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      font-weight: 700;
      margin-bottom: auto;
      border: 1px solid rgba(255, 255, 255, 0.3);
    }

    .service-card h3 {
      font-size: 19px;
      font-weight: 700;
      line-height: 1.25;
      margin-bottom: 8px;
      letter-spacing: -0.4px;
    }

    .service-card p {
      font-size: 13px;
      line-height: 1.5;
      color: rgba(255, 255, 255, 0.92);
      margin-bottom: 22px;
    }

    .service-card-action {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.22);
      border: 1px solid rgba(255, 255, 255, 0.45);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 14px;
      transition: all 0.2s ease;
    }

    .service-card:hover .service-card-action {
      background: #ffffff;
      color: #0f172a;
      transform: translateX(4px);
    }

    /* Ambient decor inside card */
    .service-card::after {
      content: '';
      position: absolute;
      top: -30px;
      right: -30px;
      width: 110px;
      height: 110px;
      background: radial-gradient(circle, rgba(255, 255, 255, 0.25) 0%, transparent 70%);
      border-radius: 50%;
      pointer-events: none;
    }

    /* ==========================================================================
       SECTION 3: SELECTED PROJECTS ("WYBRANE PROJEKTY / NASZE REALIZACJE")
       ========================================================================== */
    .projects-section {
      background: #090e24;
      color: #ffffff;
      padding: 105px 0 115px;
      position: relative;
      overflow: hidden;
    }

    .projects-glow-bg {
      position: absolute;
      width: 650px;
      height: 650px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(121, 40, 202, 0.35) 0%, rgba(0, 102, 255, 0.15) 50%, transparent 70%);
      top: 10%;
      left: -200px;
      filter: blur(80px);
      pointer-events: none;
    }

    /* 3-Column Projects Grid */
    .projects-header {
      text-align: center;
      max-width: 680px;
      margin: 0 auto 48px;
    }

    .projects-header .section-kicker {
      color: #38bdf8;
    }

    .projects-header .section-main-title {
      color: #ffffff;
      margin-bottom: 12px;
    }

    .projects-header .section-lead-desc {
      color: #94a3b8;
    }

    .projects-trio-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      position: relative;
      z-index: 1;
    }

    .project-card-col {
      border-radius: 28px;
      padding: 32px 28px 26px;
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      min-height: 250px;
      border: 1px solid rgba(255, 255, 255, 0.12);
      box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .project-card-col:hover {
      transform: translateY(-8px);
      box-shadow: 0 35px 80px rgba(0, 0, 0, 0.5);
    }

    .project-card-col.card-edusuite {
      background: linear-gradient(155deg, #1e1b4b 0%, #312e81 45%, #4338ca 100%);
    }

    .project-card-col.card-arxbot {
      background: linear-gradient(155deg, #0c4a6e 0%, #0369a1 45%, #0284c7 100%);
    }

    .project-card-col.card-arxdial {
      background: linear-gradient(155deg, #7c2d12 0%, #c2410c 45%, #ea580c 100%);
    }

    .pcc-header {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 14px;
    }

    .pcc-icon {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.18);
      backdrop-filter: blur(10px);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      border: 1px solid rgba(255, 255, 255, 0.25);
    }

    .pcc-header h3 {
      font-size: 24px;
      font-weight: 800;
      color: #ffffff;
      letter-spacing: -0.5px;
    }

    .pcc-header span {
      display: block;
      font-size: 12px;
      color: rgba(255, 255, 255, 0.82);
    }

    .pcc-desc {
      font-size: 14px;
      line-height: 1.6;
      color: rgba(255, 255, 255, 0.92);
      margin-bottom: 24px;
      flex-grow: 1;
    }

    .pcc-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-top: auto;
      padding-top: 14px;
      border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .pcc-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #ffffff;
      color: #0f172a;
      font-size: 13.5px;
      font-weight: 700;
      padding: 9px 20px;
      border-radius: 999px;
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
      transition: all 0.2s ease;
      text-decoration: none;
    }

    .pcc-btn:hover {
      background: #f8fafc;
      transform: translateY(-2px);
      box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
    }

    .pcc-badge-status {
      font-family: 'JetBrains Mono', monospace;
      font-size: 11px;
      font-weight: 600;
      color: rgba(255, 255, 255, 0.75);
      background: rgba(255, 255, 255, 0.12);
      padding: 4px 10px;
      border-radius: 999px;
    }

    /* Primary Featured Project Card (EduSuite) */
    .project-card-main {
      background: linear-gradient(135deg, #4338ca 0%, #312e81 40%, #1e1b4b 100%);
      border-radius: 28px;
      padding: 34px 34px 28px;
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.12);
      box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
      display: grid;
      grid-template-columns: 1.05fr 1fr;
      gap: 20px;
      align-items: center;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .project-card-main:hover {
      transform: translateY(-5px);
      box-shadow: 0 35px 80px rgba(0, 0, 0, 0.45);
    }

    .pcm-badge {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 12px;
    }

    .pcm-badge .icon-box {
      width: 38px;
      height: 38px;
      background: rgba(255, 255, 255, 0.18);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
    }

    .pcm-badge .title-group h3 {
      font-size: 24px;
      font-weight: 800;
      color: #ffffff;
      letter-spacing: -0.5px;
    }

    .pcm-badge .title-group span {
      font-size: 12px;
      color: #cbd5e1;
    }

    .pcm-tags {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
      margin: 16px 0 18px;
    }

    .pcm-tags span {
      background: rgba(255, 255, 255, 0.14);
      border: 1px solid rgba(255, 255, 255, 0.16);
      padding: 4px 11px;
      border-radius: 999px;
      font-size: 11.5px;
      font-weight: 600;
      color: #e2e8f0;
    }

    .pcm-desc {
      font-size: 13.5px;
      line-height: 1.6;
      color: #e2e8f0;
      margin-bottom: 24px;
    }

    .btn-project-view {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #ffffff;
      color: #1e1b4b;
      font-size: 13.5px;
      font-weight: 700;
      padding: 10px 20px;
      border-radius: 999px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
      transition: all 0.2s ease;
    }

    .btn-project-view:hover {
      background: #f8fafc;
      transform: translateY(-2px);
      box-shadow: 0 12px 26px rgba(0, 0, 0, 0.28);
    }

    /* Realistic 3D Laptop Mockup */
    .laptop-mockup-wrap {
      position: relative;
      perspective: 1200px;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .laptop-screen-frame {
      width: 100%;
      aspect-ratio: 16 / 10;
      background: #0f172a;
      border-radius: 14px;
      border: 3px solid #334155;
      box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.1);
      overflow: hidden;
      transform: rotateY(-8deg) rotateX(6deg);
      transition: transform 0.4s ease;
    }

    .project-card-main:hover .laptop-screen-frame {
      transform: rotateY(-3deg) rotateX(3deg) scale(1.02);
    }

    /* Simulated SaaS Dashboard inside laptop */
    .dash-ui {
      width: 100%;
      height: 100%;
      background: #f8fafc;
      display: grid;
      grid-template-columns: 52px 1fr;
    }

    .dash-sidebar {
      background: #0f172a;
      padding: 10px 8px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: center;
    }

    .dash-sb-logo {
      width: 22px;
      height: 22px;
      background: #6366f1;
      border-radius: 6px;
      margin-bottom: 6px;
    }

    .dash-sb-item {
      width: 26px;
      height: 26px;
      border-radius: 6px;
      background: rgba(255, 255, 255, 0.1);
    }

    .dash-sb-item.active { background: #3b82f6; }

    .dash-main {
      padding: 12px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      overflow: hidden;
    }

    .dash-topbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .dash-pill-line {
      height: 10px;
      width: 90px;
      background: #cbd5e1;
      border-radius: 999px;
    }

    .dash-avatar {
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: #6366f1;
    }

    .dash-widgets-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
    }

    .dash-widget {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      padding: 8px;
    }

    .dash-w-title {
      height: 6px;
      width: 60%;
      background: #94a3b8;
      border-radius: 3px;
      margin-bottom: 6px;
    }

    .dash-w-val {
      height: 12px;
      width: 40%;
      background: #6366f1;
      border-radius: 4px;
    }

    .dash-chart-card {
      flex: 1;
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      padding: 10px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
    }

    .dash-bars {
      display: flex;
      align-items: flex-end;
      gap: 7px;
      height: 52px;
      padding-top: 6px;
    }

    .dash-bar {
      flex: 1;
      background: linear-gradient(180deg, #6366f1 0%, #a5b4fc 100%);
      border-radius: 4px 4px 0 0;
    }

    /* Stacked Side Cards (ArxBot & ArxDial) */
    .projects-side-stack {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .project-card-sub {
      border-radius: 24px;
      padding: 24px 22px;
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      min-height: 168px;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
      border: 1px solid rgba(255, 255, 255, 0.15);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .project-card-sub:hover {
      transform: translateY(-4px);
      box-shadow: 0 24px 50px rgba(0, 0, 0, 0.35);
    }

    .project-card-sub.pcs-bot {
      background: linear-gradient(135deg, #0284c7 0%, #0369a1 40%, #0c4a6e 100%);
    }

    .project-card-sub.pcs-dial {
      background: linear-gradient(135deg, #ea580c 0%, #c2410c 40%, #9a3412 100%);
    }

    .pcs-header {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .pcs-header .pcs-icon {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.18);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
    }

    .pcs-header h4 {
      font-size: 19px;
      font-weight: 700;
      color: #ffffff;
    }

    .pcs-header span {
      font-size: 12px;
      color: rgba(255, 255, 255, 0.85);
      display: block;
    }

    .pcs-tags {
      display: flex;
      gap: 6px;
      margin-top: 14px;
      margin-bottom: auto;
    }

    .pcs-tags span {
      background: rgba(255, 255, 255, 0.16);
      padding: 3px 9px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 600;
      color: #ffffff;
    }

    .pcs-bottom {
      display: flex;
      justify-content: flex-end;
      margin-top: 12px;
    }

    .pcs-arrow-btn {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.22);
      border: 1px solid rgba(255, 255, 255, 0.4);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 14px;
      transition: all 0.2s ease;
    }

    .project-card-sub:hover .pcs-arrow-btn {
      background: #ffffff;
      color: #0f172a;
      transform: translateX(3px);
    }

    /* 3D Visual Accents inside Sub Cards */
    .bot-3d-visual {
      position: absolute;
      right: 18px;
      top: 50%;
      transform: translateY(-50%);
      width: 72px;
      height: 72px;
      background: radial-gradient(circle at 35% 35%, #7dd3fc 0%, #0284c7 60%, #0369a1 100%);
      border-radius: 20px;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35), inset 0 2px 6px rgba(255, 255, 255, 0.6);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      border: 1px solid rgba(255, 255, 255, 0.4);
    }

    .bot-eyes {
      display: flex;
      gap: 10px;
    }

    .bot-eye {
      width: 8px;
      height: 12px;
      background: #ffffff;
      border-radius: 4px;
      box-shadow: 0 0 10px #ffffff;
      animation: blinkBot 4s infinite;
    }

    @keyframes blinkBot {
      0%, 96%, 100% { transform: scaleY(1); }
      98% { transform: scaleY(0.1); }
    }

    .bot-mouth {
      width: 22px;
      height: 4px;
      background: #ffffff;
      border-radius: 2px;
    }

    .shield-3d-visual {
      position: absolute;
      right: 22px;
      top: 50%;
      transform: translateY(-50%);
      width: 68px;
      height: 76px;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.1) 100%);
      backdrop-filter: blur(10px);
      clip-path: polygon(50% 0%, 100% 22%, 100% 70%, 50% 100%, 0% 70%, 0% 22%);
      border: 1px solid rgba(255, 255, 255, 0.5);
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    }

    .shield-inner {
      width: 44px;
      height: 52px;
      background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%);
      clip-path: polygon(50% 0%, 100% 22%, 100% 70%, 50% 100%, 0% 70%, 0% 22%);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 18px;
      box-shadow: inset 0 2px 6px rgba(255, 255, 255, 0.5);
    }

    /* ==========================================================================
       SECTION 4: PROCESS ("JAK PRACUJEMY? / OD POMYSŁU -> DO PRODUKTU")
       ========================================================================== */
    .process-section {
      padding: 100px 0;
      position: relative;
      background: #ffffff;
    }

    .process-grid-layout {
      display: grid;
      grid-template-columns: 1.15fr 2.6fr;
      gap: 50px;
      align-items: center;
    }

    .steps-row {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      position: relative;
    }

    .step-item {
      display: flex;
      flex-direction: column;
      position: relative;
    }

    .step-num-circle {
      width: 58px;
      height: 58px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 16px;
      font-weight: 800;
      margin-bottom: 18px;
      box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
      position: relative;
    }

    .step-1 .step-num-circle { background: linear-gradient(135deg, #0066ff 0%, #00d2ff 100%); }
    .step-2 .step-num-circle { background: linear-gradient(135deg, #7928ca 0%, #c084fc 100%); }
    .step-3 .step-num-circle { background: linear-gradient(135deg, #00b4d8 0%, #06b6d4 100%); }
    .step-4 .step-num-circle { background: linear-gradient(135deg, #ec4899 0%, #ff5e36 100%); }

    .step-item:not(:last-child)::after {
      content: '→';
      position: absolute;
      top: 18px;
      right: -10px;
      font-size: 20px;
      font-weight: 700;
      color: #cbd5e1;
    }

    .step-title-group {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-bottom: 6px;
    }

    .step-title-group svg {
      stroke: var(--ink);
    }

    .step-title-group h4 {
      font-size: 14px;
      font-weight: 800;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      color: #0f172a;
    }

    .step-desc {
      font-size: 12.5px;
      line-height: 1.5;
      color: #64748b;
    }

    /* ==========================================================================
       SECTION 5: TECHNOLOGIES ("WE SPEAK CODE.")
       ========================================================================== */
    .tech-section {
      padding: 70px 0;
      background: linear-gradient(90deg, #f0f7ff 0%, #fdf4ff 50%, #f0fdf4 100%);
      border-top: 1px solid rgba(226, 232, 240, 0.7);
      border-bottom: 1px solid rgba(226, 232, 240, 0.7);
      position: relative;
      overflow: hidden;
    }

    .tech-row-flex {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 40px;
    }

    .tech-heading-col {
      min-width: 320px;
    }

    .tech-heading-col .section-main-title {
      font-size: 34px;
      margin-bottom: 8px;
    }

    .tech-code-word {
      background: var(--grad-hero);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

    .tech-badges-flow {
      display: flex;
      flex-direction: column;
      gap: 10px;
      align-items: flex-end;
    }

    .tech-badge-row {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .tech-pill {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 999px;
      padding: 8px 16px;
      font-size: 12.5px;
      font-weight: 600;
      color: #334155;
      box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
      transition: all 0.2s ease;
      cursor: default;
    }

    .tech-pill:hover {
      border-color: #93c5fd;
      color: var(--blue);
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(0, 102, 255, 0.12);
    }

    .tech-pill.more {
      background: transparent;
      border-style: dashed;
      color: #64748b;
    }

    /* Ambient 3D balls in tech section */
    .floating-tech-orb {
      position: absolute;
      right: 20px;
      bottom: -25px;
      width: 90px;
      height: 90px;
      border-radius: 50%;
      background: radial-gradient(circle at 30% 30%, #60a5fa 0%, #0066ff 60%, #1e3a8a 100%);
      box-shadow: 0 20px 40px rgba(0, 102, 255, 0.28);
      pointer-events: none;
      opacity: 0.85;
      animation: floatSlow 7s ease-in-out infinite;
    }

    /* ==========================================================================
       SECTION 6: ABOUT ARXCODE + METRICS + CRYSTAL BANNER
       ========================================================================== */
    .about-section {
      padding: 100px 0 60px;
      position: relative;
    }

    .about-top-grid {
      display: grid;
      grid-template-columns: 1.15fr 1.6fr;
      gap: 50px;
      align-items: center;
      margin-bottom: 50px;
    }

    .about-stats-wrap {
      display: flex;
      flex-direction: column;
      gap: 24px;
    }

    .stats-trio {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }

    .stat-box {
      background: #ffffff;
      border: 1px solid var(--border-light);
      border-radius: 20px;
      padding: 22px;
      box-shadow: var(--shadow-sm);
      transition: transform 0.25s ease;
    }

    .stat-box:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow-md);
    }

    .stat-val {
      font-size: 34px;
      font-weight: 800;
      color: var(--blue);
      line-height: 1;
      margin-bottom: 6px;
      letter-spacing: -1px;
    }

    .stat-label {
      font-size: 12.5px;
      font-weight: 500;
      color: #64748b;
    }

    .about-quote-box {
      align-self: flex-end;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .about-handwritten-quote {
      font-family: 'Caveat', cursive;
      font-size: 22px;
      font-weight: 700;
      color: #1e293b;
    }

    .about-tag-code {
      font-family: 'JetBrains Mono', monospace;
      color: var(--blue);
      font-weight: 700;
      font-size: 18px;
    }

    /* Crystal Mountains Landscape at bottom of About */
    .crystal-landscape-banner {
      width: 100%;
      height: 140px;
      border-radius: 24px;
      overflow: hidden;
      position: relative;
      background: linear-gradient(135deg, #090f26 0%, #172554 45%, #3b0764 100%);
      box-shadow: var(--shadow-md);
      display: flex;
      align-items: flex-end;
    }

    .crystal-peaks {
      width: 100%;
      height: 100%;
    }

    /* ==========================================================================
       SECTION 7: CONTACT CALL TO ACTION BANNER ("MASZ POMYSŁ NA CYFROWY PRODUKT?")
       ========================================================================== */
    .contact-banner-section {
      padding: 40px 0 90px;
      position: relative;
    }

    .cta-big-card {
      position: relative;
      border-radius: 36px;
      background: var(--grad-cta);
      padding: 60px 65px;
      color: #ffffff;
      box-shadow: 0 30px 80px rgba(67, 100, 247, 0.4);
      display: grid;
      grid-template-columns: 1.35fr 1fr;
      align-items: center;
      gap: 40px;
      overflow: hidden;
    }

    .cta-card-content {
      position: relative;
      z-index: 2;
    }

    .cta-kicker {
      font-family: 'JetBrains Mono', monospace;
      font-size: 11.5px;
      font-weight: 700;
      letter-spacing: 2px;
      color: rgba(255, 255, 255, 0.85);
      text-transform: uppercase;
      margin-bottom: 12px;
    }

    .cta-title {
      font-size: clamp(34px, 3.8vw, 48px);
      font-weight: 800;
      line-height: 1.1;
      letter-spacing: -1.6px;
      margin-bottom: 14px;
    }

    .cta-desc {
      font-size: 16px;
      color: rgba(255, 255, 255, 0.9);
      margin-bottom: 28px;
      max-width: 480px;
    }

    .btn-contact-action {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: #ffffff;
      color: #2563eb;
      font-size: 14.5px;
      font-weight: 700;
      padding: 13px 28px;
      border-radius: 999px;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
      transition: all 0.25s ease;
    }

    .btn-contact-action:hover {
      background: #f8fafc;
      transform: translateY(-2px);
      box-shadow: 0 16px 36px rgba(0, 0, 0, 0.25);
      color: #1d4ed8;
    }

    .cta-details-col {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      gap: 18px;
      background: rgba(255, 255, 255, 0.12);
      backdrop-filter: blur(15px);
      padding: 28px 32px;
      border-radius: 24px;
      border: 1px solid rgba(255, 255, 255, 0.25);
    }

    .contact-item {
      display: flex;
      align-items: center;
      gap: 14px;
      font-size: 14.5px;
      font-weight: 500;
      color: #ffffff;
      transition: opacity 0.2s ease;
    }

    .contact-item:hover {
      opacity: 0.85;
    }

    .contact-item svg {
      stroke: #ffffff;
      opacity: 0.9;
    }

    /* Ambient glossy 3D orbs */
    .cta-ambient-orb-1 {
      position: absolute;
      top: -30px;
      right: 40px;
      width: 140px;
      height: 140px;
      border-radius: 50%;
      background: radial-gradient(circle at 30% 30%, #f472b6 0%, #ec4899 50%, #9d174d 100%);
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
      pointer-events: none;
      opacity: 0.85;
      animation: floatSlow 8s ease-in-out infinite;
    }

    .cta-ambient-orb-2 {
      position: absolute;
      bottom: -40px;
      right: 280px;
      width: 100px;
      height: 100px;
      border-radius: 50%;
      background: radial-gradient(circle at 35% 35%, #67e8f9 0%, #06b6d4 60%, #0e7490 100%);
      box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
      pointer-events: none;
      opacity: 0.8;
      animation: floatSlow 6s ease-in-out infinite -2s;
    }

    /* ==========================================================================
       FOOTER
       ========================================================================== */
    .site-footer {
      background: var(--bg-dark);
      color: #94a3b8;
      padding: 40px 0;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      font-size: 13.5px;
    }

    .footer-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      flex-wrap: wrap;
    }

    .footer-brand {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #ffffff;
      font-weight: 800;
      font-size: 19px;
    }

    .footer-links-list {
      display: flex;
      gap: 26px;
      list-style: none;
    }

    .footer-links-list a {
      color: #94a3b8;
      transition: color 0.2s ease;
    }

    .footer-links-list a:hover {
      color: #ffffff;
    }

    /* ==========================================================================
       MODAL: CONTACT & START PROJECT
       ========================================================================== */
    .modal-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(10, 15, 36, 0.65);
      backdrop-filter: blur(12px);
      z-index: 2000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      opacity: 0;
      pointer-events: none;
      transition: all 0.3s ease;
    }

    .modal-backdrop.active {
      opacity: 1;
      pointer-events: auto;
    }

    .modal-window {
      background: #ffffff;
      border-radius: 28px;
      width: min(620px, 94vw);
      max-height: 90vh;
      overflow-y: auto;
      padding: 34px 36px;
      box-shadow: 0 35px 80px rgba(10, 15, 40, 0.35);
      position: relative;
      transform: scale(0.92) translateY(20px);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      scrollbar-width: thin;
      scrollbar-color: #cbd5e1 #f8fafc;
    }

    .modal-window::-webkit-scrollbar {
      width: 6px;
    }

    .modal-window::-webkit-scrollbar-track {
      background: #f8fafc;
      border-radius: 8px;
    }

    .modal-window::-webkit-scrollbar-thumb {
      background: #cbd5e1;
      border-radius: 8px;
    }

    .modal-backdrop.active .modal-window {
      transform: scale(1) translateY(0);
    }

    .modal-close-btn {
      position: absolute;
      top: 20px;
      right: 20px;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: #f1f5f9;
      color: #64748b;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 16px;
      border: none;
      cursor: pointer;
      transition: all 0.2s ease;
      z-index: 5;
    }

    .modal-close-btn:hover {
      background: #e2e8f0;
      color: #0f172a;
      transform: rotate(90deg);
    }

    .modal-header-badge {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 4px 12px;
      border-radius: 999px;
      background: rgba(0, 102, 255, 0.08);
      color: var(--blue);
      font-size: 12px;
      font-weight: 700;
      margin-bottom: 12px;
      letter-spacing: 0.2px;
    }

    .modal-title {
      font-size: 26px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 6px;
      line-height: 1.25;
    }

    .modal-sub {
      font-size: 14px;
      color: #64748b;
      margin-bottom: 20px;
      line-height: 1.5;
    }

    /* In-modal Error Alert */
    .modal-alert-error {
      background: #fef2f2;
      border: 1px solid #fecaca;
      border-radius: 14px;
      padding: 12px 16px;
      margin-bottom: 18px;
      display: flex;
      gap: 12px;
      align-items: flex-start;
      color: #991b1b;
      animation: alertFadeIn 0.25s ease;
    }

    @keyframes alertFadeIn {
      from { opacity: 0; transform: translateY(-6px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .modal-alert-icon {
      font-size: 18px;
      color: #ef4444;
      margin-top: 1px;
    }

    .modal-alert-content strong {
      display: block;
      font-size: 13.5px;
      font-weight: 700;
      margin-bottom: 2px;
    }

    .modal-alert-content p {
      font-size: 13px;
      color: #7f1d1d;
      margin: 0;
      line-height: 1.4;
    }

    .btn-fallback-mailto {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 7px 14px;
      background: #dc2626;
      color: #ffffff;
      border-radius: 8px;
      font-size: 12.5px;
      font-weight: 600;
      text-decoration: none;
      transition: background 0.2s ease;
    }

    .btn-fallback-mailto:hover {
      background: #b91c1c;
      color: #ffffff;
    }

    /* Modal Form Elements */
    .modal-row-2 {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }

    @media (max-width: 580px) {
      .modal-row-2 {
        grid-template-columns: 1fr;
        gap: 0;
      }
    }

    .modal-form-group {
      margin-bottom: 14px;
      display: flex;
      flex-direction: column;
      gap: 5px;
    }

    .modal-form-group label {
      font-size: 13px;
      font-weight: 600;
      color: #334155;
      display: flex;
      align-items: center;
    }

    .required-star {
      color: #ef4444;
      font-weight: 700;
      margin-left: 3px;
    }

    .optional-tag {
      font-weight: 400;
      color: #94a3b8;
      font-size: 12px;
      margin-left: 4px;
    }

    .modal-input, .modal-textarea {
      width: 100%;
      padding: 11px 14px;
      border-radius: 12px;
      border: 1.5px solid #cbd5e1;
      font-family: inherit;
      font-size: 14px;
      color: #0f172a;
      background: #ffffff;
      outline: none;
      transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    }

    .modal-input::placeholder, .modal-textarea::placeholder {
      color: #94a3b8;
    }

    .modal-input:focus, .modal-textarea:focus {
      border-color: var(--blue);
      box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.15);
    }

    .modal-input.has-error, .modal-textarea.has-error {
      border-color: #ef4444 !important;
      background-color: #fffbfb;
      box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
    }

    .field-error-msg {
      font-size: 11.5px;
      color: #ef4444;
      font-weight: 500;
      display: none;
      margin-top: 2px;
    }

    .field-error-msg.visible {
      display: block;
    }

    /* Chips Selectors (Project Type & Budget) */
    .chip-selector {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      margin-top: 2px;
    }

    .chip-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 7px 12px;
      font-size: 12.5px;
      font-weight: 600;
      font-family: inherit;
      color: #475569;
      background: #f8fafc;
      border: 1.5px solid #e2e8f0;
      border-radius: 20px;
      cursor: pointer;
      transition: all 0.18s ease;
      user-select: none;
    }

    .chip-btn:hover {
      border-color: #cbd5e1;
      background: #f1f5f9;
      color: #0f172a;
    }

    .chip-btn.active {
      background: var(--blue);
      color: #ffffff;
      border-color: var(--blue);
      box-shadow: 0 4px 12px rgba(0, 102, 255, 0.25);
      transform: translateY(-1px);
    }

    .chip-btn.active i {
      color: #ffffff;
    }

    .chip-btn i {
      color: #64748b;
      font-size: 12px;
      transition: color 0.18s ease;
    }

    /* Textarea Header & Counter */
    .textarea-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .char-counter {
      font-size: 11.5px;
      color: #94a3b8;
      font-variant-numeric: tabular-nums;
    }

    .modal-textarea {
      resize: vertical;
      min-height: 85px;
      line-height: 1.5;
    }

    /* Consent Checkbox */
    .modal-consent-row {
      margin: 12px 0 16px 0;
    }

    .custom-checkbox-container {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      cursor: pointer;
      font-size: 12.5px;
      color: #475569;
      line-height: 1.45;
      user-select: none;
    }

    .custom-checkbox-container input[type="checkbox"] {
      width: 17px;
      height: 17px;
      margin-top: 2px;
      border-radius: 4px;
      cursor: pointer;
      accent-color: var(--blue);
      flex-shrink: 0;
    }

    /* Submit Button */
    .btn-modal-submit {
      width: 100%;
      background: linear-gradient(135deg, var(--blue) 0%, #0052cc 100%);
      color: #ffffff;
      padding: 13px;
      border-radius: 12px;
      font-weight: 700;
      font-size: 15px;
      font-family: inherit;
      border: none;
      cursor: pointer;
      box-shadow: 0 8px 22px rgba(0, 102, 255, 0.3);
      transition: all 0.2s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }

    .btn-modal-submit:hover:not(:disabled) {
      background: linear-gradient(135deg, #005ce6 0%, #0047b3 100%);
      transform: translateY(-2px);
      box-shadow: 0 12px 28px rgba(0, 102, 255, 0.35);
    }

    .btn-modal-submit:disabled {
      opacity: 0.75;
      cursor: not-allowed;
      transform: none !important;
      box-shadow: none;
    }

    .modal-security-note {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: 11.5px;
      color: #64748b;
      margin-top: 12px;
      text-align: center;
      line-height: 1.4;
    }

    .modal-security-note i {
      color: #10b981;
      font-size: 13px;
    }

    /* Success State */
    .modal-success-container {
      padding: 15px 5px;
      text-align: center;
      animation: modalStateFadeIn 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }

    @keyframes modalStateFadeIn {
      from { opacity: 0; transform: scale(0.96) translateY(10px); }
      to { opacity: 1; transform: scale(1) translateY(0); }
    }

    .success-icon-wrap {
      width: 68px;
      height: 68px;
      margin: 0 auto 16px;
      border-radius: 50%;
      background: #ecfdf5;
      color: #10b981;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 36px;
      box-shadow: 0 8px 24px rgba(16, 185, 129, 0.2);
    }

    .success-title {
      font-size: 24px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 8px;
    }

    .success-desc {
      font-size: 14px;
      color: #475569;
      max-width: 440px;
      margin: 0 auto 20px;
      line-height: 1.5;
    }

    .success-summary-card {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      padding: 16px 20px;
      text-align: left;
      margin-bottom: 22px;
      display: flex;
      flex-direction: column;
      gap: 9px;
      font-size: 13.5px;
    }

    .summary-item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
    }

    .summary-label {
      color: #64748b;
      font-weight: 500;
    }

    .summary-value {
      color: #0f172a;
      font-weight: 700;
      word-break: break-all;
    }

    .badge-summary {
      background: rgba(0, 102, 255, 0.1);
      color: var(--blue);
      padding: 2px 10px;
      border-radius: 999px;
      font-size: 12px;
    }

    .success-actions {
      display: flex;
      gap: 12px;
      justify-content: center;
      flex-wrap: wrap;
    }

    .btn-success-reset {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 10px 18px;
      border-radius: 12px;
      border: 1.5px solid #cbd5e1;
      background: #ffffff;
      color: #0f172a;
      font-size: 13.5px;
      font-weight: 600;
      font-family: inherit;
      cursor: pointer;
      transition: all 0.2s;
    }

    .btn-success-reset:hover {
      background: #f1f5f9;
      border-color: #94a3b8;
    }

    .btn-success-close {
      padding: 10px 22px;
      border-radius: 12px;
      border: none;
      background: var(--blue);
      color: #ffffff;
      font-size: 13.5px;
      font-weight: 700;
      font-family: inherit;
      cursor: pointer;
      transition: all 0.2s;
      box-shadow: 0 6px 18px rgba(0, 102, 255, 0.25);
    }

    .btn-success-close:hover {
      background: #0052cc;
      transform: translateY(-1px);
    }

    /* Toast notification */
    .toast-notice {
      position: fixed;
      bottom: 24px;
      right: 24px;
      background: #0f172a;
      color: #ffffff;
      padding: 12px 20px;
      border-radius: 12px;
      font-size: 14px;
      font-weight: 600;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
      display: flex;
      align-items: center;
      gap: 10px;
      transform: translateY(100px);
      opacity: 0;
      transition: all 0.3s ease;
      z-index: 3000;
    }

    .toast-notice.show {
      transform: translateY(0);
      opacity: 1;
    }

    /* ==========================================================================
       RESPONSIVE DESIGN (BREAKPOINTS)
       ========================================================================== */
    @media (max-width: 1100px) {
      .services-grid-wrapper {
        grid-template-columns: 1fr;
      }
      .services-info-col {
        margin-bottom: 10px;
      }
      .services-cards-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .projects-trio-grid {
        grid-template-columns: 1fr;
        max-width: 580px;
        margin-inline: auto;
      }
      .tech-row-flex {
        flex-direction: column;
        align-items: flex-start;
      }
      .tech-badges-flow {
        align-items: flex-start;
      }
      .tech-badge-row {
        justify-content: flex-start;
      }
    }

    @media (max-width: 900px) {
      .hero-grid {
        grid-template-columns: 1fr;
        gap: 60px;
      }
      .hero-section {
        padding-top: 130px;
        min-height: auto;
      }
      .hero-visual-stage {
        height: 480px;
      }
      .about-top-grid {
        grid-template-columns: 1fr;
      }
      .process-grid-layout {
        grid-template-columns: 1fr;
      }
      .steps-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px;
      }
      .step-item:not(:last-child)::after {
        display: none;
      }
      .cta-big-card {
        grid-template-columns: 1fr;
        padding: 44px 34px;
      }
    }

    @media (max-width: 768px) {
      .nav-links, .btn-nav {
        display: none;
      }
      .mobile-menu-btn {
        display: flex;
      }
      .mobile-drawer {
        display: flex;
      }
      .hero-title {
        font-size: 40px;
        letter-spacing: -1.5px;
      }
      .hero-visual-stage {
        height: 380px;
      }
      .fluid-3d-ribbon {
        width: 380px;
        height: 280px;
      }
      .hero-code-window {
        width: 340px;
      }
      .window-body {
        font-size: 11.5px;
        padding: 16px;
      }
      .hero-glass-card {
        right: 0px;
        top: 160px;
        width: 155px;
        padding: 12px;
      }
      .hero-handwritten {
        display: none;
      }
      .project-card-main {
        grid-template-columns: 1fr;
      }
      .projects-side-stack {
        grid-template-columns: 1fr;
      }
      .services-cards-grid {
        grid-template-columns: 1fr;
      }
      .stats-trio {
        grid-template-columns: 1fr;
      }
      .footer-inner {
        flex-direction: column;
        text-align: center;
        gap: 16px;
      }
    }

    @media (max-width: 480px) {
      .container {
        width: calc(100% - 32px);
      }
      .hero-title {
        font-size: 34px;
      }
      .hero-actions {
        flex-direction: column;
        align-items: stretch;
      }
      .btn-primary-hero, .btn-secondary-hero {
        justify-content: center;
      }
      .steps-row {
        grid-template-columns: 1fr;
      }
      .hero-glass-card {
        display: none;
      }
    }

    /* ==========================================================================
       NAVBAR DROPDOWN
       ========================================================================== */
    .nav-dropdown-item {
      position: relative;
      display: inline-flex;
      align-items: center;
      padding-block: 10px;
    }

    .dropdown-trigger {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      cursor: pointer;
      user-select: none;
    }

    .nav-chevron {
      font-size: 10px;
      transition: transform 0.25s ease;
    }

    .nav-dropdown-item:hover .nav-chevron,
    .nav-dropdown-item.open .nav-chevron {
      transform: rotate(180deg);
    }

    .nav-dropdown-menu {
      position: absolute;
      top: calc(100% + 4px);
      left: 50%;
      transform: translateX(-50%) translateY(8px);
      width: 250px;
      background: rgba(255, 255, 255, 0.98);
      backdrop-filter: blur(25px);
      -webkit-backdrop-filter: blur(25px);
      border: 1px solid rgba(226, 232, 240, 0.95);
      border-radius: 18px;
      padding: 8px;
      box-shadow: 0 20px 45px rgba(15, 23, 42, 0.16);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
      display: flex;
      flex-direction: column;
      gap: 4px;
      z-index: 1000;
    }

    /* Invisible hover bridge: covers the gap between trigger and dropdown menu */
    .nav-dropdown-menu::before {
      content: '';
      position: absolute;
      top: -24px;
      left: 0;
      right: 0;
      height: 24px;
      background: transparent;
    }

    .nav-dropdown-item:hover .nav-dropdown-menu,
    .nav-dropdown-item.open .nav-dropdown-menu,
    .nav-dropdown-item:focus-within .nav-dropdown-menu {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0);
    }

    .dropdown-link {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 10px 14px;
      border-radius: 12px;
      transition: background 0.2s ease, transform 0.2s ease;
      text-align: left;
      cursor: pointer;
      pointer-events: auto;
    }

    .dropdown-link:hover {
      background: #f1f5f9;
      transform: translateX(3px);
    }

    .dd-icon {
      font-size: 20px;
    }

    .dd-info strong {
      display: block;
      font-size: 13.5px;
      color: #0f172a;
      font-weight: 700;
    }

    .dd-info span {
      display: block;
      font-size: 11.5px;
      color: #64748b;
    }


    /* ==========================================================================
       PROJECT CARD DESCRIPTIONS & LINKS
       ========================================================================== */
    .pcs-desc {
      font-size: 12.5px;
      line-height: 1.5;
      color: rgba(255, 255, 255, 0.9);
      margin: 8px 0 12px;
      max-width: 80%;
    }

    .pcs-action-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #ffffff;
      font-size: 12.5px;
      font-weight: 700;
      transition: all 0.2s ease;
    }

    .pcs-action-link:hover {
      color: #ffffff;
      transform: translateX(3px);
    }

    .pcs-action-link:hover .pcs-arrow-btn {
      background: #ffffff;
      color: #0f172a;
    }

    /* ==========================================================================
       SOCIAL MEDIA BUTTONS
       ========================================================================== */
    .cta-social-links {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-top: 6px;
      padding-top: 14px;
      border-top: 1px solid rgba(255, 255, 255, 0.18);
    }

    .cta-social-btn {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.16);
      border: 1px solid rgba(255, 255, 255, 0.3);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 15px;
      transition: all 0.25s ease;
    }

    .cta-social-btn:hover {
      background: #ffffff;
      color: #2563eb;
      transform: translateY(-3px);
      box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
    }

    .footer-social-links {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .footer-social-links a {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.12);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #94a3b8;
      font-size: 13px;
      transition: all 0.2s ease;
    }

    .footer-social-links a:hover {
      background: var(--blue);
      color: #ffffff;
      border-color: var(--blue);
      transform: translateY(-2px);
    }
