  :root{--bg:#fff;--ink:#0a1118;--text:#0b0d10;--text-dim:rgba(11,13,16,.58);--text-faint:rgba(11,13,16,.34);
    --line:rgba(10,14,18,.09);--line-strong:rgba(10,14,18,.2);--accent:#46b4f0;--accent-deep:#0f6fb4;
    --font:'Poppins',system-ui,sans-serif;--nav-h:80px}
  *{margin:0;padding:0;box-sizing:border-box}
  html,body{overscroll-behavior-x:none}
  body{background:var(--bg);color:var(--text);font-family:var(--font);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  ::selection{background:var(--accent);color:#fff}
  h1,h2,h3{letter-spacing:-.03em}
  a{color:inherit;text-decoration:none}

  ul{list-style:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1400px;margin:0 auto;padding:0 clamp(20px,4vw,60px)}
  .grad{background:linear-gradient(93deg,var(--ink) 0%,var(--accent-deep) 42%,var(--accent) 68%,#8fd6ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
  .grad-light{background:linear-gradient(93deg,#fff 15%,#bfe6ff 55%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
  /* delikatne falowanie gradientu w hero podstron — czysty CSS, zero JS */
  .sh-title .grad-light{background-image:linear-gradient(93deg,#fff 10%,#bfe6ff 38%,var(--accent) 62%,#8fd6ff 86%,#fff 100%);
    background-size:220% 100%;animation:gradShift 7s ease-in-out infinite alternate}
  @keyframes gradShift{from{background-position:42% 50%}to{background-position:100% 50%}}
  @media (prefers-reduced-motion:reduce){.sh-title .grad-light{animation:none}}

  header{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;
    padding:0 clamp(20px,4vw,60px);background:transparent;transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent;color:#fff}
  header.scrolled{background:rgba(255,255,255,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom-color:var(--line);color:var(--text)}
  header.menu-open{z-index:70;background:transparent !important;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent !important;box-shadow:none !important;color:#fff !important}
  .logo{font-size:1.5rem;font-weight:700;letter-spacing:-.045em;z-index:70}
  .logo .dot{color:var(--accent)}
  nav.desktop{display:flex;align-items:center;gap:clamp(10px,1.3vw,20px)}
  nav.desktop a{font-size:.76rem;font-weight:400;letter-spacing:.05em;opacity:.85;position:relative;padding:6px 2px;white-space:nowrap;transition:opacity .3s}
  nav.desktop a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.65,0,.35,1)}
  nav.desktop a:hover{opacity:1}
  nav.desktop a:hover::after{transform:scaleX(1);transform-origin:left}
  nav.desktop a.active{opacity:1;color:var(--accent)}
  nav.desktop a.active::after{transform:scaleX(1)}
  .nav-cta{border:1px solid currentColor;border-radius:999px;padding:9px 18px !important;font-weight:500 !important;opacity:1 !important;transition:background .3s,color .3s,border-color .3s}
  .nav-cta::after{display:none}
  .nav-cta:hover{background:var(--accent);border-color:var(--accent);color:#fff !important}
  .menu-btn{display:none;z-index:70;position:relative;width:48px;height:48px;background:none;border:0;cursor:pointer;
    flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0;color:currentColor}
  .menu-btn .bar{display:block;width:27px;height:2px;background:currentColor;border-radius:2px;transition:transform .35s cubic-bezier(.2,.6,.2,1),opacity .25s}
  .menu-btn.open{color:#fff}
  .menu-btn.open .bar:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .menu-btn.open .bar:nth-child(2){opacity:0}
  .menu-btn.open .bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  #mobileMenu{position:fixed;inset:0;z-index:60;background:#0a1118;color:#fff;
    opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease,visibility 0s linear .4s;
    display:flex;flex-direction:column;justify-content:flex-start;padding:calc(var(--nav-h) + 2vh) 9vw 7vh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
  #mobileMenu .big-e{position:fixed;right:-8vw;bottom:-14vw;font-weight:700;font-size:min(90vw,34rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);pointer-events:none;user-select:none}
  #mobileMenu .big-e b{color:rgba(70,180,240,.15);-webkit-text-stroke:0}
  #mobileMenu ul{display:flex;flex-direction:column;gap:2px;position:relative;z-index:2;margin:auto 0}
  #mobileMenu.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .4s ease}
  #mobileMenu .mm-item a, #mobileMenu .mm-cta a{transform:translateY(26px);opacity:0;transition:transform .5s cubic-bezier(.2,.6,.2,1),opacity .5s}
  #mobileMenu.open .mm-item a, #mobileMenu.open .mm-cta a{transform:none;opacity:1}
  #mobileMenu .mm-item:nth-child(1) a{transition-delay:.08s}#mobileMenu .mm-item:nth-child(2) a{transition-delay:.12s}
  #mobileMenu .mm-item:nth-child(3) a{transition-delay:.16s}#mobileMenu .mm-item:nth-child(4) a{transition-delay:.2s}
  #mobileMenu .mm-item:nth-child(5) a{transition-delay:.24s}#mobileMenu .mm-item:nth-child(6) a{transition-delay:.28s}
  #mobileMenu .mm-item:nth-child(7) a{transition-delay:.32s}#mobileMenu .mm-item:nth-child(8) a{transition-delay:.36s}
  #mobileMenu .mm-item:nth-child(9) a{transition-delay:.4s}#mobileMenu .mm-item:nth-child(10) a{transition-delay:.44s}
  #mobileMenu .mm-item:nth-child(11) a{transition-delay:.48s}
  #mobileMenu .mm-cta a{transition-delay:.54s}
  #mobileMenu ul a{font-size:clamp(1.5rem,5.6vw,2.3rem);font-weight:600;letter-spacing:-.02em;display:flex;align-items:baseline;gap:14px;padding:5px 0}
  #mobileMenu ul a small{font-size:.65rem;opacity:.4;letter-spacing:.2em;font-weight:400}
  #mobileMenu .mm-item{overflow:hidden}
  #mobileMenu .mm-cta{margin-top:24px;z-index:2;position:relative}
  #mobileMenu .mm-cta a{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:13px 26px;font-weight:600;font-size:.95rem}
  #mobileMenu .mm-foot{position:absolute;bottom:24px;left:9vw;font-size:.68rem;opacity:.4;letter-spacing:.18em;z-index:2}
  @media (max-width:1180px){nav.desktop{display:none}.menu-btn{display:flex}}

  .sub-hero{position:relative;min-height:72vh;min-height:72svh;display:flex;flex-direction:column;justify-content:flex-end;
    background:var(--ink);color:#fff;overflow:hidden;padding-bottom:clamp(44px,7vh,80px)}
  .sub-hero .hbg{position:absolute;inset:0;opacity:.45}
  .sub-hero .hbg img{width:100%;height:100%;object-fit:cover}
  .sub-hero .hbg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--ink) 4%,rgba(10,17,24,.38) 60%,rgba(10,17,24,.62))}
  .sub-hero .glow{position:absolute;width:60vw;height:60vw;right:-20vw;top:-25vw;background:radial-gradient(circle,rgba(70,180,240,.16),transparent 65%);pointer-events:none}
  .sub-hero .wrap{position:relative;z-index:2}
  .sh-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;opacity:.85;font-weight:500;margin-bottom:24px}
  .sh-eyebrow::before{content:"";width:38px;height:1px;background:var(--accent)}
  .sh-title{font-size:clamp(2.8rem,8.4vw,7.6rem);font-weight:800;line-height:.99;letter-spacing:-.035em}
  .sh-title .ln{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}
  .sh-title .ln > span{display:inline-block;will-change:transform}
  .sh-lead{max-width:640px;margin-top:26px;font-size:1.05rem;opacity:.85}

  section{position:relative}
  .sec{padding:clamp(80px,11vw,160px) 0}
  .sec-title{font-size:clamp(2.2rem,5.6vw,4.6rem);font-weight:800;line-height:1.03;margin-bottom:clamp(36px,5vw,70px)}
  .lead-dim{color:var(--text-dim);max-width:560px;font-size:1rem}

  .rows{border-top:1px solid var(--line)}
  .row{display:flex;align-items:baseline;gap:clamp(18px,4vw,60px);padding:clamp(24px,3.2vw,42px) 0;border-bottom:1px solid var(--line);position:relative;transition:padding-left .4s cubic-bezier(.2,.6,.2,1)}
  a.row{cursor:pointer}
  .row:hover{padding-left:clamp(10px,1.5vw,26px)}
  .row .no{font-size:.8rem;letter-spacing:.22em;color:var(--text-faint);font-weight:500;min-width:44px}
  .row h3{font-size:clamp(1.5rem,3.6vw,3rem);font-weight:700;line-height:1.08}
  .row:hover h3{background:linear-gradient(93deg,var(--ink),var(--accent-deep) 45%,var(--accent) 80%);-webkit-background-clip:text;background-clip:text;color:transparent}
  .row .tag{display:block;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-deep);font-weight:600;margin-bottom:8px}
  .row p{margin-left:auto;max-width:360px;color:var(--text-dim);font-size:.92rem}
  @media (max-width:860px){.row{flex-direction:column;gap:8px}.row p{margin-left:0}}

  .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
  .step{background:#fff;padding:clamp(26px,3vw,42px);min-height:230px;display:flex;flex-direction:column;gap:16px}
  .step .no{font-size:.75rem;letter-spacing:.25em;color:var(--accent-deep);font-weight:600}
  .step h3{font-size:1.3rem;font-weight:600}
  .step p{color:var(--text-dim);font-size:.92rem}

  .band{background:var(--ink);color:#fff;padding:clamp(80px,11vw,150px) 0;position:relative;overflow:hidden}
  .band .glow{position:absolute;width:50vw;height:50vw;left:-15vw;bottom:-25vw;background:radial-gradient(circle,rgba(70,180,240,.18),transparent 65%)}
  .band h2{font-size:clamp(2.4rem,6.6vw,5.6rem);font-weight:800;line-height:1;position:relative;z-index:2}
  .band p{opacity:.75;max-width:560px;margin-top:22px;position:relative;z-index:2}
  .band .k-cta{margin-top:34px;position:relative;z-index:2}
  .bmeta{display:flex;gap:clamp(30px,6vw,90px);margin-top:clamp(34px,5vw,60px);flex-wrap:wrap;position:relative;z-index:2}
  .bmeta div{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
  .bmeta b{display:block;font-size:clamp(1.9rem,4vw,3rem);font-weight:700;letter-spacing:0;text-transform:none;opacity:1}
  .bmeta b i{font-style:normal;color:var(--accent)}

  .btn{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:.95rem;padding:16px 30px;border-radius:999px;position:relative;overflow:hidden;cursor:pointer;transition:color .35s,border-color .35s}
  .btn .arr{transition:transform .35s}
  .btn:hover .arr{transform:translateX(5px)}
  .btn-primary{background:var(--accent);color:#fff}
  .btn-primary::before{content:"";position:absolute;inset:0;background:#0b0d10;transform:scaleY(0);transform-origin:bottom;transition:transform .4s cubic-bezier(.65,0,.35,1)}
  .btn-primary:hover::before{transform:scaleY(1)}
  .btn-primary span{position:relative;z-index:1}

  .pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:clamp(20px,2.6vw,36px)}
  .pcard{position:relative}
  .pcard .pimg{aspect-ratio:16/11;overflow:hidden;border-radius:14px;background:#eef1f4;box-shadow:0 8px 26px rgba(10,20,30,.08)}
  .pcard .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.6,.2,1)}
  .pcard:hover .pimg img{transform:scale(1.06)}
  .pcard h3{font-size:1.2rem;font-weight:600;margin-top:16px}
  .pcard .ptags{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
  .pcard .ptags i{font-style:normal;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);border:1px solid rgba(70,180,240,.4);border-radius:999px;padding:4px 10px}
  .pcard p{color:var(--text-dim);font-size:.88rem;margin-top:8px}

  .photos2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:clamp(36px,5vw,60px) 0}
  @media (max-width:760px){.photos2{grid-template-columns:1fr}}
  .ph{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:4/3;background:#eef1f4;box-shadow:0 10px 30px rgba(10,20,30,.08)}
  .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
  .ph:hover img{transform:scale(1.05)}
  .timeline{border-left:1px solid var(--line);padding-left:30px;display:flex;flex-direction:column;gap:32px;margin-top:clamp(36px,5vw,60px)}
  .tl{position:relative}
  .tl::before{content:"";position:absolute;left:-34.5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--accent)}
  .tl .yr{font-weight:700;font-size:1.25rem;color:var(--accent-deep)}
  .tl p{color:var(--text-dim);font-size:.92rem;max-width:460px;margin-top:4px}
  .duo{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,100px)}
  @media (max-width:960px){.duo{grid-template-columns:1fr}}
  .founders{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);height:fit-content}
  .founder{background:#f6f8fa;padding:clamp(24px,2.6vw,38px)}
  .founder h4{font-size:1.2rem;font-weight:600}
  .founder .role{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-deep);margin:8px 0 12px;font-weight:600}
  .founder p{color:var(--text-dim);font-size:.88rem}

  .chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
  .chip{font-weight:500;font-size:clamp(.9rem,1.4vw,1.1rem);border:1px solid var(--line-strong);border-radius:999px;padding:13px 24px;color:var(--text-dim);transition:all .35s;cursor:default}
  .chip:hover{border-color:var(--accent);color:var(--accent-deep);transform:translateY(-3px)}

  .offices{display:flex;flex-wrap:wrap;gap:clamp(24px,5vw,80px);margin-top:clamp(40px,6vw,70px);font-size:.9rem}
  .offices div{color:var(--text-dim)}
  .offices b{display:block;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:6px;font-weight:600}
  .legal{margin-top:40px;font-size:.75rem;color:var(--text-faint);letter-spacing:.05em;max-width:680px}

  footer{background:var(--ink);color:#fff;padding:30px clamp(20px,4vw,60px);display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
  footer .f-logo{font-weight:700;font-size:1.1rem;letter-spacing:-.03em}
  footer .f-logo .dot{color:var(--accent)}
  footer p{font-size:.7rem;opacity:.45;letter-spacing:.08em}
  footer .f-links{display:flex;gap:8px 22px;flex-wrap:wrap}
  footer .f-links a{font-size:.78rem;opacity:.6;transition:opacity .3s,color .3s}
  footer .f-links a:hover{opacity:1;color:var(--accent)}
  footer .top-btn{width:46px;height:46px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:none;color:#fff;cursor:pointer;font-size:1rem;transition:all .3s}
  footer .top-btn:hover{background:var(--accent);border-color:var(--accent)}
  @supports not (aspect-ratio: 1/1){.pcard .pimg{height:260px}.ph{height:300px}}

  /* marquee */
  .mq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:20px 0;background:#fbfcfe;white-space:nowrap}
  .mq-track{display:inline-flex;gap:52px;animation:mqmove 32s linear infinite;will-change:transform}
  .mq-track span{font-weight:600;font-size:1rem;letter-spacing:.05em;color:var(--text-dim);display:inline-flex;gap:52px;align-items:center}
  .mq-track span::after{content:"✦";color:var(--accent);font-size:.8rem}
  @keyframes mqmove{to{transform:translateX(-50%)}}

  /* split: zdjęcie + treść */
  .split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,80px);align-items:center}
  @media (max-width:900px){.split{grid-template-columns:1fr}}
  .simg2{position:relative;overflow:hidden;border-radius:18px;aspect-ratio:4/3;box-shadow:0 18px 50px rgba(10,20,30,.14);background:#eef1f4}
  .simg2 img{width:100%;height:114%;object-fit:cover;will-change:transform}
  @supports not (aspect-ratio: 1/1){.simg2{height:340px}}
  .split h3{font-size:clamp(1.7rem,3.4vw,2.8rem);font-weight:700;margin-bottom:16px;line-height:1.1}
  .split > div > p{color:var(--text-dim)}
  .split ul{margin-top:20px;display:flex;flex-direction:column;gap:12px}
  .split ul li{padding-left:28px;position:relative;color:var(--text-dim);font-size:.95rem}
  .split ul li::before{content:"";position:absolute;left:0;top:8px;width:10px;height:10px;border-radius:50%;background:var(--accent)}

  /* statement — słowa wjeżdżające przy scrollu */
  .statement-sec{padding:clamp(70px,9vw,130px) 0;background:#fbfcfe;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .statement{font-size:clamp(1.55rem,3.4vw,2.9rem);font-weight:600;line-height:1.32;letter-spacing:-.015em;max-width:1040px}
  .statement .word{opacity:.13}
  .statement .accent-w{color:var(--accent-deep)}

  /* pływające kropki */
  .fdots{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
  .fdot{position:absolute;border-radius:50%;background:var(--accent);opacity:.55;will-change:transform}
  .fdot.o{background:transparent;border:2px solid var(--accent);opacity:.4}


  /* ciemna wersja strony (realizacje) */
  body.page-dark{background:var(--ink);color:#fff}
  body.page-dark .statement-sec{background:#0c141c;border-color:rgba(255,255,255,.08)}
  body.page-dark .statement .word{color:#fff}
  body.page-dark .mq{background:#0c141c;border-color:rgba(255,255,255,.08)}
  body.page-dark .mq-track span{color:rgba(255,255,255,.55)}

  body.page-dark header.scrolled{background:rgba(10,17,24,.82);color:#fff;border-bottom-color:rgba(255,255,255,.08);box-shadow:none}
  body.page-dark nav.desktop a.active{color:var(--accent)}

  /* SHOWCASE — monumentalne kadry */
  .show{position:relative;padding:clamp(70px,12vh,140px) 0;overflow:hidden}
  .show-in{position:relative;width:min(1520px,94vw);margin:0 auto}
  .show-no{position:absolute;top:-.16em;right:-2vw;font-size:clamp(7rem,24vw,22rem);font-weight:800;line-height:1;
    color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.10);z-index:0;pointer-events:none;user-select:none}
  .show.alt .show-no{right:auto;left:-2vw}
  .show-img{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:22px;background:#101820;box-shadow:0 30px 90px rgba(0,0,0,.5);z-index:1}
  @supports not (aspect-ratio: 1/1){.show-img{height:56vw;max-height:760px}}
  .show-img img{width:100%;height:120%;object-fit:cover;will-change:transform}
  .show-img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,12,18,.62),transparent 48%)}
  .show-title{position:absolute;left:clamp(18px,4vw,60px);bottom:clamp(18px,4vw,54px);z-index:2;max-width:86%}
  .show.alt .show-title{left:auto;right:clamp(18px,4vw,60px);text-align:right}
  .show.alt .show-tags{justify-content:flex-end}
  .show-title .ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
  .show-title h2{font-size:clamp(2.2rem,7vw,6.2rem);font-weight:800;letter-spacing:-.03em;line-height:1;margin:0}
  .show-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
  .show-tags i{font-style:normal;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#bfe6ff;
    border:1px solid rgba(70,180,240,.45);border-radius:999px;padding:5px 12px;background:rgba(6,12,18,.45);backdrop-filter:blur(6px)}
  .show-desc{max-width:560px;color:rgba(255,255,255,.7);margin-top:24px;font-size:.98rem}
  .show.alt .show-desc{margin-left:auto;text-align:right}

  .show-counter{position:fixed;right:clamp(12px,2.6vw,36px);top:50%;transform:translateY(-50%);z-index:40;
    font-weight:600;font-size:.85rem;letter-spacing:.18em;display:flex;flex-direction:column;align-items:center;gap:10px;
    color:#fff;opacity:0;pointer-events:none}
  .show-counter i{font-style:normal;width:1px;height:54px;background:linear-gradient(var(--accent),transparent)}
  .show-counter small{opacity:.45}
  @media (max-width:760px){.show-counter{display:none}}


  /* zalozyciele */
  .founders-band{background:var(--ink);color:#fff;padding:clamp(90px,12vw,170px) 0;position:relative;overflow:hidden}
  .fb-eyebrow{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-weight:600}
  .fb-title{font-size:clamp(2.2rem,5.6vw,4.6rem);font-weight:800;line-height:1.05;margin:16px 0 clamp(40px,6vw,80px)}
  .fp{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(36px,5vw,70px) 0;position:relative}
  .fp.alt .fp-img{order:2}
  @media (max-width:900px){.fp,.fp.alt{grid-template-columns:1fr}.fp.alt .fp-img{order:0}}
  .fp-img{position:relative;overflow:hidden;border-radius:20px;aspect-ratio:4/5;box-shadow:0 30px 80px rgba(0,0,0,.5);background:#101820;max-width:460px}
  @supports not (aspect-ratio: 1/1){.fp-img{height:520px}}
  .fp-img img{width:100%;height:112%;object-fit:cover;will-change:transform}
  .fp-body{position:relative}
  .fp-role{font-size:.66rem;letter-spacing:.3em;color:var(--accent);font-weight:600;text-transform:uppercase}
  .fp-body h2{font-size:clamp(2.1rem,5vw,4rem);font-weight:800;line-height:1;margin:14px 0 20px}
  .fp .bio{color:rgba(255,255,255,.72);max-width:560px;font-size:.98rem}
  .fp-contact{margin-top:28px;display:flex;flex-direction:column;gap:12px}
  .fp-contact a{display:inline-flex;gap:14px;align-items:baseline;color:#fff;font-weight:500;width:fit-content;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:4px;transition:border-color .3s,color .3s}
  .fp-contact a:hover{color:var(--accent);border-color:var(--accent)}
  .fp-contact i{font-style:normal;font-size:.6rem;letter-spacing:.22em;color:rgba(255,255,255,.4);text-transform:uppercase;min-width:70px}
  .fp-ghost{position:absolute;top:-1.2em;right:0;font-size:clamp(3rem,9vw,7rem);font-weight:800;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);pointer-events:none;white-space:nowrap;user-select:none}

  /* rozdzialy miast */
  .city{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:clamp(60px,9vw,120px) 0}
  .city .cbg{position:absolute;inset:0}
  .city .cbg img{width:100%;height:116%;object-fit:cover;will-change:transform}
  .city .cbg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,12,18,.85) 0%,rgba(6,12,18,.15) 55%,rgba(6,12,18,.5) 100%)}
  .city-name{position:absolute;top:clamp(70px,13vh,150px);left:0;width:100%;text-align:center;font-size:clamp(4.2rem,17vw,15rem);font-weight:800;line-height:1;
    color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.4);white-space:nowrap;pointer-events:none;letter-spacing:-.02em;user-select:none;z-index:1}
  .city-card{position:relative;z-index:2;background:rgba(10,17,24,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:clamp(24px,3vw,42px);max-width:560px;color:#fff}
  .city.alt .wrap{display:flex;justify-content:flex-end}
  .cc-city{display:block;font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:18px}
  .cc-rows{display:flex;flex-direction:column;gap:12px;font-size:.95rem}
  .cc-rows > div{display:flex;gap:14px;align-items:baseline;color:rgba(255,255,255,.85)}
  .cc-rows i{font-style:normal;font-size:.6rem;letter-spacing:.22em;color:rgba(255,255,255,.4);text-transform:uppercase;min-width:76px;flex-shrink:0}
  .cc-rows a{color:#fff;border-bottom:1px solid rgba(255,255,255,.25);transition:color .3s,border-color .3s}
  .cc-rows a:hover{color:var(--accent);border-color:var(--accent)}
  body.page-dark .chip{border-color:rgba(255,255,255,.28);color:rgba(255,255,255,.65)}
  body.page-dark .chip:hover{border-color:var(--accent);color:var(--accent)}
  body.page-dark .legal{color:rgba(255,255,255,.45)}


  /* PASY */
  .mstripe{position:relative;padding:clamp(60px,8vw,110px) 0;border-top:1px solid var(--line);overflow:hidden;background:#fff}
  .mstripe.dark{background:var(--ink);color:#fff;border-top-color:rgba(255,255,255,.08)}
  .mstripe .in{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,5vw,90px);align-items:center;position:relative;z-index:2}
  @media (max-width:860px){.mstripe .in{grid-template-columns:1fr;gap:14px}}
  .mstripe.rev .in > div:first-child{order:2}
  @media (max-width:860px){.mstripe.rev .in > div:first-child{order:0}}
  .ms-kicker{font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-deep);font-weight:600}
  .mstripe.dark .ms-kicker{color:var(--accent)}
  .mstripe h3{font-size:clamp(1.9rem,4.4vw,3.7rem);font-weight:800;line-height:1.03;margin-top:12px;letter-spacing:-.02em}
  .mstripe .ms-txt{color:var(--text-dim);font-size:1rem;max-width:560px}
  .mstripe.dark .ms-txt{color:rgba(255,255,255,.72)}
  .ms-no{position:absolute;top:50%;transform:translateY(-50%);right:1vw;font-size:clamp(5rem,13vw,10.5rem);font-weight:800;line-height:1;
    color:transparent;-webkit-text-stroke:1px var(--line-strong);pointer-events:none;user-select:none;z-index:1}
  .mstripe.dark .ms-no{-webkit-text-stroke:1px rgba(255,255,255,.1)}
  .mstripe.rev .ms-no{right:auto;left:1vw}
  .mstripe .chips{margin-top:26px}

  /* GŁÓWNE CECHY */
  .feats{background:var(--ink);color:#fff;padding:clamp(80px,11vw,150px) 0;position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.08)}
  .feats .ghostw{position:absolute;right:-2vw;top:-.25em;font-size:clamp(8rem,26vw,21rem);font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.06);pointer-events:none;user-select:none}
  .feats h2{font-size:clamp(2.2rem,5.4vw,4.4rem);font-weight:800;line-height:1.04;margin-bottom:clamp(36px,5vw,64px);position:relative;z-index:2}
  .feat{display:flex;align-items:center;gap:clamp(18px,3vw,42px);padding:clamp(20px,2.7vw,36px) 0;border-bottom:1px solid rgba(255,255,255,.1);position:relative;z-index:2;will-change:transform}
  .feat:first-of-type{border-top:1px solid rgba(255,255,255,.1)}
  .feat .fno{font-size:.78rem;letter-spacing:.24em;color:rgba(255,255,255,.38);min-width:52px;font-weight:500}
  .feat .fck{width:38px;height:38px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#08131b;font-weight:800;font-size:1.1rem;flex-shrink:0;box-shadow:0 0 0 6px rgba(70,180,240,.15)}
  .feat h3{font-size:clamp(1.4rem,3.2vw,2.7rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}
  .feat h3 b{font-weight:700;background:linear-gradient(93deg,#8fd6ff,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
  /* mozaika zdjęć */
  .mosaic{display:grid;grid-template-columns:1.25fr .75fr;grid-auto-rows:clamp(200px,24vw,330px);gap:clamp(12px,1.6vw,20px)}
  @media (max-width:760px){.mosaic{grid-template-columns:1fr;grid-auto-rows:56vw}}
  .mo{position:relative;overflow:hidden;border-radius:16px;background:#eef1f4;box-shadow:0 14px 40px rgba(10,20,30,.12)}
  .mo.tall{grid-row:span 2}
  @media (max-width:760px){.mo.tall{grid-row:span 1}}
  .mo img{width:100%;height:112%;object-fit:cover;will-change:transform}
  .mo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,12,18,.34),transparent 45%)}
  .mo b{position:absolute;left:20px;bottom:16px;color:#fff;font-weight:600;font-size:.95rem;letter-spacing:.04em;z-index:2}

  .ms-list{margin-top:20px;display:flex;flex-direction:column;gap:12px}
  .ms-list li{padding-left:30px;position:relative;color:var(--text-dim);font-size:.95rem;list-style:none}
  .mstripe.dark .ms-list li{color:rgba(255,255,255,.72)}
  .ms-list li::before{content:"";position:absolute;left:0;top:7px;width:11px;height:11px;border-radius:50%;background:var(--accent)}
  .ms-list li b{color:var(--text);font-weight:600}
  .mstripe.dark .ms-list li b{color:#fff}
  .fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-top:clamp(30px,4vw,50px)}
  .fg{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:14px 18px;background:#fff;font-size:.92rem;font-weight:500;transition:border-color .3s,transform .3s}
  .fg:hover{border-color:var(--accent);transform:translateY(-3px)}
  .fg i{font-style:normal;width:26px;height:26px;border-radius:50%;background:rgba(70,180,240,.14);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;flex-shrink:0}
  .xrow .no{color:#d24a4a !important}

  /* błyskawiczny formularz */
  .qwrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,80px);align-items:start}
  @media (max-width:960px){.qwrap{grid-template-columns:1fr}}
  .qform{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:20px;
    padding:clamp(22px,2.6vw,38px);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .qform h3{font-size:1.3rem;font-weight:700;margin-bottom:18px}
  .qf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  @media (max-width:560px){.qf-grid{grid-template-columns:1fr}}
  .qform input[type=text],.qform input[type=email],.qform textarea{
    width:100%;background:rgba(10,17,24,.55);border:1px solid rgba(255,255,255,.16);border-radius:10px;
    padding:14px 16px;color:#fff;font-family:var(--font);font-size:.95rem;transition:border-color .3s;outline:none}
  .qform input:focus,.qform textarea:focus{border-color:var(--accent)}
  .qform ::placeholder{color:rgba(255,255,255,.4)}
  .qform textarea{min-height:110px;resize:vertical;margin-top:12px}
  .qtopics{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}
  .qtopics label{cursor:pointer}
  .qtopics input{position:absolute;opacity:0;pointer-events:none}
  .qtopics span{display:inline-block;border:1px solid rgba(255,255,255,.25);border-radius:999px;
    padding:8px 15px;font-size:.78rem;color:rgba(255,255,255,.7);transition:all .25s;user-select:none}
  .qtopics input:checked + span{background:var(--accent);border-color:var(--accent);color:#08131b;font-weight:600}
  .qconsent{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:.72rem;color:rgba(255,255,255,.55);line-height:1.5}
  .qconsent input{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}
  .qform .btn{width:100%;justify-content:center;margin-top:6px}
  .qside h2{font-size:clamp(2.4rem,5.6vw,4.6rem);font-weight:800;line-height:1.02;margin-bottom:20px}
  .qside p{color:rgba(255,255,255,.72);max-width:440px}
  .qcall{margin-top:28px;display:flex;flex-direction:column;gap:10px}
  .qcall a{display:inline-flex;gap:14px;align-items:baseline;color:#fff;font-weight:600;font-size:1.15rem;width:fit-content;
    border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:4px;transition:color .3s,border-color .3s}
  .qcall a:hover{color:var(--accent);border-color:var(--accent)}
  .qcall i{font-style:normal;font-size:.6rem;letter-spacing:.22em;color:rgba(255,255,255,.4);text-transform:uppercase;min-width:70px}

  /* pakiety */
  .packs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px);margin-top:clamp(30px,4vw,50px)}
  @media (max-width:860px){.packs{grid-template-columns:1fr}}
  .pack{border:1px solid var(--line);border-radius:20px;padding:clamp(26px,3vw,42px);position:relative;background:#fff;box-shadow:0 14px 40px rgba(10,20,30,.08);transition:transform .35s}
  .pack:hover{transform:translateY(-5px)}
  .pack.reco{border:2px solid var(--accent);box-shadow:0 24px 70px rgba(70,180,240,.28)}
  .pack .badge{position:absolute;top:-15px;left:28px;background:var(--accent);color:#08131b;font-weight:700;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;border-radius:999px;padding:7px 16px}
  .pack h3{font-size:1.7rem;font-weight:800;letter-spacing:-.02em}
  .pack .psub{color:var(--text-dim);font-size:.92rem;margin-top:8px}
  .pack ul{margin-top:20px;display:flex;flex-direction:column;gap:11px}
  .pack li{list-style:none;padding-left:28px;position:relative;color:var(--text-dim);font-size:.93rem}
  .pack li::before{content:"✓";position:absolute;left:0;color:var(--accent-deep);font-weight:800}
  .pack li b{color:var(--text);font-weight:600}
  .pack .price{margin-top:22px;font-size:.82rem;color:var(--text-faint);border-top:1px solid var(--line);padding-top:16px}
  .pack .price b{color:var(--text);font-size:1.2rem;font-weight:800}

  .qcompany{border:1px solid rgba(255,255,255,.16);border-left:3px solid var(--accent);border-radius:12px;
    padding:18px 22px;margin-bottom:26px;background:rgba(255,255,255,.04)}
  .qcompany em{display:block;font-style:normal;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px}
  .qcompany b{display:block;font-size:1.05rem;font-weight:700;letter-spacing:-.01em}
  .qcompany span{display:block;color:rgba(255,255,255,.72);font-size:.88rem;margin-top:4px}
  .qstar{margin-top:22px;font-size:.85rem;color:rgba(255,255,255,.6)}
  .qstar a{color:var(--accent);font-weight:600;border-bottom:1px solid rgba(70,180,240,.4)}
  .rv{opacity:0}
  /* ekrany 2000px+ — szerszy kontener i wieksza typografia */
  @media (min-width:2100px){
    html{font-size:17.5px}
    .wrap{max-width:1800px}
    .statement{max-width:1240px}
    .sh-lead{max-width:740px}
    .ms-txt,.bio,.show-desc,.lead-dim{max-width:640px}
    .fp-img{max-width:520px}
  }
  /* 500-1520px — mniejsze naglowki, menu i kontener (kluczowa rozdzielczosc: 1280) */
  @media (min-width:500px) and (max-width:1520px){
    .wrap{max-width:1080px}
    .sh-title{font-size:clamp(2.6rem,6.6vw,5.4rem)}
    .sec-title{font-size:clamp(2rem,4.4vw,3.6rem)}
    .band h2{font-size:clamp(2.2rem,5.2vw,4.4rem)}
    .show-title h2{font-size:clamp(2rem,5.6vw,4.8rem)}
    .fp-body h2{font-size:clamp(1.9rem,4vw,3.2rem)}
    .feats h2{font-size:clamp(2rem,4.3vw,3.5rem)}
    .qside h2{font-size:clamp(2.1rem,4.4vw,3.6rem)}
    .statement{font-size:clamp(1.4rem,2.7vw,2.3rem)}
    nav.desktop a{font-size:.7rem}
    .logo{font-size:1.35rem}
  }
  /* menu mobilne: przewijalne, dopasowane do niskich ekranow (tablet poziomo) */
  @media (max-height:820px){
    #mobileMenu ul a{font-size:clamp(1.25rem,4.4vh,2rem);padding:4px 0}
    #mobileMenu .mm-cta{margin-top:16px}
    #mobileMenu .mm-cta a{padding:10px 22px;font-size:.85rem}
    #mobileMenu .mm-foot{display:none}
  }
