:root{
    --ink:#0c1117;
    --ink-2:#131b24;
    --ink-3:#182432;
    --panel:#0f151d;
    --paper:#eef1f5;
    --cyan:#3fc6c4;
    --cyan-2:#8be3e1;
    --amber:#f0a94e;
    --muted:#8b96a5;
    --line: rgba(238,241,245,0.10);

    --f-display:'Sora', sans-serif;
    --f-body:'Inter', sans-serif;
    --f-mono:'IBM Plex Mono', monospace;

    /* Zmieniono z 1160px na 100%, aby wymusić pełną szerokość */
    --container: 100%;
    --dur:.6s;
    --ease:cubic-bezier(.16,.84,.32,1);
}

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:var(--ink); color:var(--paper);
    font-family:var(--f-body); font-size:16px; line-height:1.62;
    -webkit-font-smoothing:antialiased; overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  h1,h2,h3{font-family:var(--f-display); margin:0; font-weight:600; letter-spacing:-0.01em;}
  p{margin:0;}
  .wrap{max-width:var(--container); margin:0 auto; padding:0 28px;}
  .eyebrow{
    font-family:var(--f-mono); text-transform:uppercase; font-size:12px; letter-spacing:.14em;
    color:var(--cyan); display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:''; width:22px; height:1px; background:var(--cyan);}
  ::selection{background:var(--cyan); color:var(--ink);}
  :focus-visible{outline:2px solid var(--cyan); outline-offset:3px;}

  .reveal{opacity:0; transform:translateY(26px); transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);}
  .reveal.is-visible{opacity:1; transform:translateY(0);}
  .stagger.is-visible > *{transition-delay:calc(var(--i,0) * 80ms);}
  @media (prefers-reduced-motion: reduce){
    .reveal, .reveal.is-visible{transition:none !important; transform:none !important; opacity:1 !important;}
  }

  /* nav */
  header{position:fixed; top:0; left:0; right:0; z-index:100; padding:20px 0;
    transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), padding var(--dur) var(--ease), backdrop-filter var(--dur) var(--ease);
    border-bottom:1px solid transparent;}
  header.scrolled{background:rgba(12,17,23,0.82); backdrop-filter:blur(14px) saturate(140%); border-color:var(--line); padding:14px 0;}
  nav{display:flex; align-items:center; justify-content:space-between;}
  .logo{display:flex; align-items:center; gap:10px; font-family:var(--f-display); font-weight:700; font-size:18px;}
  .logo .dot{width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px var(--cyan);}
  .nav-links{display:none; gap:32px; font-size:14px; list-style:none; margin:0; padding:0;}
  @media(min-width:840px){.nav-links{display:flex;}}
  .nav-links a{text-decoration:none; color:var(--muted); position:relative; transition:color .3s;}
  .nav-links a:hover{color:var(--paper);}
  .nav-links a::after{content:''; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:var(--cyan); transition:width .3s var(--ease);}
  .nav-links a:hover::after{width:100%;}
  .btn{
    font-family:var(--f-mono); font-size:13px; letter-spacing:.03em;
    padding:11px 20px; border-radius:3px; border:1px solid var(--cyan); background:transparent; color:var(--paper);
    cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:8px;
    transition:background .35s var(--ease), color .35s var(--ease), transform .2s;
  }
  .btn:hover{background:var(--cyan); color:var(--ink); transform:translateY(-1px);}
  .btn.solid{background:var(--cyan); color:var(--ink);}
  .btn.solid:hover{background:var(--cyan-2); border-color:var(--cyan-2);}
  .nav-cta{display:none;}
  @media(min-width:840px){.nav-cta{display:inline-flex;}}
  .burger{display:flex; width:22px; height:16px; flex-direction:column; justify-content:space-between; background:none; border:0; cursor:pointer;}
  @media(min-width:840px){.burger{display:none;}}
  .burger span{height:1px; background:var(--paper); width:100%;}

  /* hero */
  .hero{position:relative; min-height:100svh; display:flex; align-items:center; padding-top:110px; overflow:hidden;}
  .circuit{position:absolute; inset:0; z-index:0; opacity:.5;}
  .circuit svg{width:100%; height:100%;}
  .pulse{stroke-dasharray:6 14; animation:flow 5s linear infinite;}
  @keyframes flow{to{stroke-dashoffset:-200;}}
  @media (prefers-reduced-motion: reduce){ .pulse{animation:none;} }
  .hero-veil{position:absolute; inset:0; background:radial-gradient(ellipse at 25% 30%, rgba(63,198,196,0.08), transparent 55%), linear-gradient(180deg, rgba(12,17,23,0.2), var(--ink) 92%); z-index:1;}

  .hero-grid{position:relative; z-index:2; display:grid; grid-template-columns:1fr; gap:56px; align-items:center;}
  @media(min-width:920px){.hero-grid{grid-template-columns:1.15fr .85fr;}}

  .hero-title{font-size:clamp(38px,6.4vw,74px); line-height:1.03; margin:24px 0 20px;}
  .hero-title .line{display:block; overflow:hidden;}
  .hero-title .line span{display:block; transform:translateY(112%); animation:lineUp .85s var(--ease) forwards; animation-delay:var(--d,0s);}
  @keyframes lineUp{to{transform:translateY(0);}}
  .hero-title em{font-style:normal; color:var(--cyan);}
  .hero-sub{max-width:460px; color:var(--muted); font-size:16.5px; margin-bottom:34px; opacity:0; animation:fadeUp .8s var(--ease) forwards; animation-delay:1s;}
  @keyframes fadeUp{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);}}
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap; opacity:0; animation:fadeUp .8s var(--ease) forwards; animation-delay:1.15s;}
  @media (prefers-reduced-motion: reduce){
    .hero-title .line span{animation:none; transform:none;}
    .hero-sub, .hero-actions{animation:none; opacity:1;}
  }

  /* terminal panel */
  .terminal{
    background:var(--panel); border:1px solid var(--line); border-radius:6px; overflow:hidden;
    box-shadow:0 30px 80px -30px rgba(0,0,0,0.6);
  }
  .term-bar{display:flex; align-items:center; gap:8px; padding:12px 16px; border-bottom:1px solid var(--line); font-family:var(--f-mono); font-size:11px; color:var(--muted);}
  .term-bar .d{width:9px; height:9px; border-radius:50%; background:var(--line);}
  .term-bar .d:nth-child(1){background:#e86a5d;}
  .term-bar .d:nth-child(2){background:var(--amber);}
  .term-bar .d:nth-child(3){background:var(--cyan);}
  .term-title{margin-left:8px;}
  .term-body{padding:22px 20px; font-family:var(--f-mono); font-size:13.5px; line-height:2; min-height:220px;}
  .term-line{color:var(--muted); opacity:0;}
  .term-line .ok{color:var(--cyan-2);}
  .term-line .path{color:var(--paper);}
  .term-cursor{display:inline-block; width:8px; height:14px; background:var(--cyan); animation:blink 1s steps(1) infinite; vertical-align:-2px;}
  @keyframes blink{50%{opacity:0;}}

  /* sections */
  section{position:relative; padding:112px 0;}
  .section-head{max-width:620px; margin-bottom:60px;}
  .section-head h2{font-size:clamp(28px,3.8vw,44px); margin-top:16px;}
  .section-head p{color:var(--muted); margin-top:16px; font-size:16px;}

  /* services */
  .services{border-top:1px solid var(--line);}
  .cat-grid{display:grid; grid-template-columns:1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
  @media(min-width:760px){.cat-grid{grid-template-columns:repeat(2,1fr);}}
  .cat{background:var(--ink); padding:38px 34px; transition:background .4s;}
  .cat:hover{background:var(--ink-2);}
  .cat-num{font-family:var(--f-mono); font-size:12px; color:var(--cyan); letter-spacing:.1em; margin-bottom:16px; display:block;}
  .cat h3{font-size:20px; margin-bottom:16px;}
  .cat ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
  .cat li{font-size:14.5px; color:var(--muted); padding-left:20px; position:relative;}
  .cat li::before{content:'›'; position:absolute; left:0; color:var(--cyan); font-family:var(--f-mono);}
  .cat li strong{color:var(--paper); font-weight:500;}

  /* trust */
  .trust{background:var(--ink-2);}
  .trust-grid{display:grid; grid-template-columns:1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
  @media(min-width:700px){.trust-grid{grid-template-columns:repeat(2,1fr);}}
  @media(min-width:1000px){.trust-grid{grid-template-columns:repeat(4,1fr);}}
  .trust-item{background:var(--ink-2); padding:32px 26px;}
  .trust-item .ic{width:34px; height:34px; margin-bottom:20px;}
  .trust-item h3{font-size:16.5px; margin-bottom:10px;}
  .trust-item p{color:var(--muted); font-size:14px;}

  /* process */
  .steps{display:grid; grid-template-columns:1fr; gap:0;}
  @media(min-width:760px){.steps{grid-template-columns:repeat(4,1fr);}}
  .step{padding:26px 24px 26px 0; border-top:1px solid var(--line);}
  .step:first-child{border-top:1px solid var(--line);}
  @media(min-width:760px){
    .step{border-top:none; border-left:1px solid var(--line); padding:4px 22px 0 24px;}
    .step:first-child{border-left:none; padding-left:0;}
  }
  .step-num{font-family:var(--f-mono); color:var(--cyan); font-size:13px; margin-bottom:14px; display:block;}
  .step h3{font-size:17px; margin-bottom:10px;}
  .step p{color:var(--muted); font-size:14.5px;}

  /* contact */
  .contact{border-top:1px solid var(--line);}
  .contact-grid{display:grid; grid-template-columns:1fr; gap:56px;}
  @media(min-width:860px){.contact-grid{grid-template-columns:1.05fr .95fr;}}
  .contact h2{font-size:clamp(30px,4.2vw,50px); margin-bottom:20px;}
  .contact-copy{color:var(--muted); max-width:420px; margin-bottom:32px;}
  .contact-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:16px; font-family:var(--f-mono); font-size:14px;}
  .contact-list a{text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:2px; transition:border-color .3s, color .3s;}
  .contact-list a:hover{color:var(--cyan); border-color:var(--cyan);}

  form{display:flex; flex-direction:column; gap:18px;}
  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  label{font-family:var(--f-mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--cyan); margin-bottom:8px; display:block;}
  input, select, textarea{
    width:100%; background:transparent; border:none; border-bottom:1px solid var(--line);
    color:var(--paper); font-family:var(--f-body); font-size:15px; padding:10px 2px; transition:border-color .3s;
  }
  select{appearance:none; -webkit-appearance:none;}
  select option{background:var(--ink-2); color:var(--paper);}
  input:focus, select:focus, textarea:focus{border-color:var(--cyan); outline:none;}
  textarea{resize:vertical; min-height:80px;}
  form .btn{align-self:flex-start; margin-top:8px; background:var(--cyan); color:var(--ink); border-color:var(--cyan);}
  form .btn:hover{background:var(--cyan-2);}

  footer{border-top:1px solid var(--line); padding:32px 0; font-family:var(--f-mono); font-size:12px; color:#546073;}
  .footer-row{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;}

  @media(max-width:640px){
    .field-row{grid-template-columns:1fr;}
    section{padding:80px 0;}
  }
