/*
Theme Name: Hubert Skibniewski
Theme URI: https://hubertskibniewski.pl
Author: Hubert Skibniewski
Author URI: https://hubertskibniewski.pl
Description: Niestandardowy motyw portfolio dla Huberta Skibniewski – cyfrowego architekta perfekcji.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: hubert-skibniewski
*/


/* ===== WORDPRESS RESET – wymuś czarne tło i usuń domyślne style WP ===== */
html, body {
    background: #020608 !important;
    background-color: #020608 !important;
    color: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh;
}

/* Wyłącz WP admin bar spacing */
html { margin-top: 0 !important; }
#wpadminbar { display: none !important; }

/* Reset wszelkich domyślnych marginesów WP */
.wp-site-blocks,
.entry-content,
#page,
#content,
#primary,
.site,
main,
.wp-block-group {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}

/* Usuń domyślne style Gutenberga */
body.wp-singular,
body.home,
body.page {
    background: #020608 !important;
}


/* === HUBERT SKIBNIEWSKI THEME STYLES === */

/* ===== RESET & BASE ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{background:#020608;color:#fff;font-family:'Space Grotesk',sans-serif;overflow-x:hidden;line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{border:none;background:none;cursor:pointer;font-family:inherit}

/* ===== VARIABLES ===== */
:root{
  --cyan:#00d4ff;
  --cyan-dim:rgba(0,212,255,0.12);
  --cyan-glow:rgba(0,212,255,0.4);
  --dark:#020608;
  --dark2:#060d12;
  --card:#080f16;
  --card2:#0b1520;
  --border:rgba(0,212,255,0.15);
  --border2:rgba(0,212,255,0.08);
  --text-muted:rgba(255,255,255,0.45);
  --text-dim:rgba(255,255,255,0.65);
  --grid-line:rgba(0,212,255,0.04);
}

/* ===== GRID BG ===== */
.grid-bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:60px 60px;
}
.noise{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ===== SCANLINE ===== */
.scanline{position:fixed;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.06;z-index:999;animation:scan 8s linear infinite}
@keyframes scan{0%{top:-2px}100%{top:100vh}}

/* ===== NAV ===== */
nav{
  position:fixed;top:0;width:100%;z-index:100;
  background:rgba(2,6,8,0.92);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border2);
  padding:0 5%;height:64px;
  display:flex;align-items:center;justify-content:space-between;
  transition:border-color .4s,background .4s;
}
nav.scrolled{border-bottom-color:var(--border);background:rgba(2,6,8,0.97)}
.nav-logo{display:flex;align-items:center;gap:10px}
.nav-logo-mark{
  width:32px;height:32px;border:1px solid var(--cyan);
  transform:rotate(45deg);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.nav-logo-mark span{transform:rotate(-45deg);font-size:14px;font-weight:900;color:var(--cyan)}
.nav-logo-text{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.nav-links{display:flex;gap:24px}
.nav-links a{
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--text-muted);transition:color .3s;position:relative;padding:4px 0;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;
  background:var(--cyan);transition:width .3s;
}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{
  background:transparent;border:1px solid var(--cyan);color:var(--cyan);
  padding:8px 20px;font-size:11px;letter-spacing:2px;text-transform:uppercase;
  cursor:pointer;transition:all .3s;font-family:inherit;
}
.nav-cta:hover{background:var(--cyan);color:#000}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.nav-burger span{display:block;width:22px;height:1px;background:#fff;transition:all .3s}

/* ===== SECTION COMMON ===== */
section{position:relative;z-index:1}
.section-eyebrow{
  font-size:10px;letter-spacing:3px;text-transform:uppercase;
  color:var(--cyan);margin-bottom:12px;display:flex;align-items:center;gap:8px;
}
.section-eyebrow::before{content:'';width:20px;height:1px;background:var(--cyan)}
.section-title{
  font-size:clamp(28px,4vw,52px);font-weight:900;line-height:1.05;
  letter-spacing:-1px;text-transform:uppercase;margin-bottom:20px;
}
.section-sub{font-size:15px;color:var(--text-dim);line-height:1.8;max-width:600px}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 28px;font-size:11px;letter-spacing:2px;text-transform:uppercase;
  border:1px solid;cursor:pointer;transition:all .35s;font-family:inherit;
}
.btn-cyan{border-color:var(--cyan);color:var(--cyan);background:transparent}
.btn-cyan:hover{background:var(--cyan);color:#000}
.btn-white{border-color:rgba(255,255,255,0.25);color:rgba(255,255,255,0.75);background:transparent}
.btn-white:hover{border-color:#fff;color:#fff}
.btn-fill{background:var(--cyan);color:#000;border-color:var(--cyan);font-weight:700}
.btn-fill:hover{background:transparent;color:var(--cyan)}

/* ===== REVEAL ===== */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-36px);transition:opacity .7s ease,transform .7s ease}
.reveal-left.visible{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(36px);transition:opacity .7s ease,transform .7s ease}
.reveal-right.visible{opacity:1;transform:none}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}.delay-5{transition-delay:.5s}

/* ===== HERO ===== */
#hero{
  min-height:100vh;display:flex;align-items:center;
  padding:80px 5% 60px;position:relative;overflow:hidden;
}
.hero-ambient{
  position:absolute;top:20%;right:0;width:55%;height:60%;
  background:radial-gradient(ellipse at 60% 40%,rgba(0,212,255,0.07) 0%,transparent 70%);
  pointer-events:none;
}
.hero-ambient2{
  position:absolute;bottom:0;left:0;width:40%;height:40%;
  background:radial-gradient(ellipse at 30% 80%,rgba(0,212,255,0.04) 0%,transparent 70%);
  pointer-events:none;
}
#stars{position:absolute;inset:0;pointer-events:none;z-index:0}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;width:100%;position:relative;z-index:2}
.hero-tag{font-size:11px;letter-spacing:3px;color:var(--text-muted);text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:10px}
.hero-tag::before{content:'';width:24px;height:1px;background:var(--cyan);display:block}
.hero-name{font-size:clamp(48px,7vw,96px);font-weight:900;line-height:.95;letter-spacing:-3px;margin-bottom:10px;font-family:'Inter',sans-serif}
.hero-name .line2{display:block;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,0.35)}
.hero-tagline{font-size:clamp(13px,1.6vw,18px);color:var(--cyan);letter-spacing:2px;text-transform:uppercase;margin:20px 0 12px;font-weight:300}
.hero-desc{font-size:14px;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:40px;line-height:2}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px}
.hero-ratings{display:flex;gap:32px}
.rating-badge{display:flex;align-items:center;gap:10px}
.rating-icon{width:36px;height:36px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px}
.rating-icon.g{background:rgba(66,133,244,0.1);border-color:rgba(66,133,244,0.3);color:#4285f4}
.rating-icon.f{background:rgba(24,119,242,0.1);border-color:rgba(24,119,242,0.3);color:#1877f2}
.rating-text{font-size:11px;color:var(--text-muted);letter-spacing:1px}
.rating-stars{font-size:10px;color:#ffc107}
.rating-score{font-size:13px;font-weight:700;color:#fff}

/* HERO VIZ */
.hero-viz{position:relative;height:500px;display:flex;align-items:center;justify-content:center}
.diamond-core{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
}
.ring{
  position:absolute;top:50%;left:50%;border:1px solid;
  transform:translate(-50%,-50%) rotate(45deg);
  animation:ringPulse 4s ease-in-out infinite;
}
.ring1{width:160px;height:160px;border-color:rgba(0,212,255,0.6);animation-delay:0s}
.ring2{width:230px;height:230px;border-color:rgba(0,212,255,0.3);animation-delay:.7s}
.ring3{width:310px;height:310px;border-color:rgba(0,212,255,0.15);animation-delay:1.4s}
.ring4{width:400px;height:400px;border-color:rgba(0,212,255,0.07);animation-delay:2.1s}
@keyframes ringPulse{0%,100%{opacity:.4;transform:translate(-50%,-50%) rotate(45deg) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) rotate(45deg) scale(1.03)}}
.diamond-main{
  width:110px;height:110px;background:linear-gradient(135deg,rgba(0,212,255,0.15),rgba(0,212,255,0.05));
  border:1px solid var(--cyan);transform:rotate(45deg);
  display:flex;align-items:center;justify-content:center;
  position:relative;animation:mainSpin 20s linear infinite;
  box-shadow:0 0 40px rgba(0,212,255,0.2),inset 0 0 30px rgba(0,212,255,0.05);
}
@keyframes mainSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.diamond-inner{width:60px;height:60px;border:1px solid rgba(0,212,255,0.4);animation:counterSpin 20s linear infinite;display:flex;align-items:center;justify-content:center}
@keyframes counterSpin{0%{transform:rotate(0deg)}100%{transform:rotate(-360deg)}}
.diamond-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}

/* orbit labels */
.orbit-label{
  position:absolute;font-size:9px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(0,212,255,0.7);white-space:nowrap;display:flex;align-items:center;gap:6px;
}
.orbit-label::before{content:'';width:16px;height:1px;background:var(--cyan);opacity:.5}
.ol-top{top:5%;left:50%;transform:translateX(-50%)}
.ol-right{right:0;top:30%}
.ol-bottom-right{right:2%;bottom:25%}
.ol-left{left:0;top:30%}
.ol-bottom{bottom:5%;left:50%;transform:translateX(-50%)}
.orbit-node{
  position:absolute;width:48px;height:48px;border:1px solid var(--border);
  transform:rotate(45deg);display:flex;align-items:center;justify-content:center;
  background:var(--card);cursor:default;transition:border-color .3s;
}
.orbit-node:hover{border-color:var(--cyan)}
.orbit-node i{transform:rotate(-45deg);font-size:16px;color:var(--cyan)}
.on1{top:8%;left:20%}.on2{top:8%;right:20%}.on3{right:4%;top:40%}
.on4{bottom:8%;right:20%}.on5{bottom:8%;left:20%}.on6{left:4%;top:40%}
.floating-line{
  position:absolute;top:0;left:50%;width:1px;height:100%;
  background:linear-gradient(to bottom,transparent,rgba(0,212,255,0.15),transparent);
  pointer-events:none;
}

/* ===== TOOLS STRIP ===== */
.tools-strip{padding:20px 5%;border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);background:rgba(0,212,255,0.02);position:relative;z-index:1;overflow:hidden}
.tools-scroll{display:flex;gap:48px;animation:scrollLeft 20s linear infinite;white-space:nowrap;align-items:center}
.tools-scroll:hover{animation-play-state:paused}
@keyframes scrollLeft{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.tool-item{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:8px;flex-shrink:0}
.tool-item i{font-size:14px;color:var(--cyan);opacity:.6}

/* ===== BRANCHES ===== */
#branze{padding:100px 5%;background:var(--dark)}
.branches-header{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
.branches-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1px;background:var(--border2);
}
.branch-card{
  background:var(--dark);padding:20px;cursor:pointer;
  transition:background .3s;display:flex;flex-direction:column;gap:6px;
  border:0 solid transparent;
}
.branch-card:hover{background:var(--card2)}
.branch-emoji{font-size:20px}
.branch-name{font-size:13px;font-weight:500;color:#fff}
.branch-desc{font-size:11px;color:var(--text-muted);line-height:1.5}

/* ===== SOLUTIONS ===== */
#rozwiazania{padding:100px 5%;background:var(--dark)}
.solutions-inner{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start}
.solutions-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border2)}
.sol-card{
  background:var(--dark);padding:36px 28px;cursor:pointer;
  transition:background .3s,border-color .3s;position:relative;overflow:hidden;
}
.sol-card::before{
  content:'';position:absolute;top:0;left:0;width:2px;height:0;
  background:var(--cyan);transition:height .4s;
}
.sol-card:hover{background:var(--card)}
.sol-card:hover::before{height:100%}
.sol-icon{
  width:44px;height:44px;border:1px solid var(--border);
  transform:rotate(45deg);display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;transition:border-color .3s;
}
.sol-card:hover .sol-icon{border-color:var(--cyan)}
.sol-icon i{transform:rotate(-45deg);font-size:18px;color:var(--cyan)}
.sol-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);margin-bottom:8px}
.sol-title{font-size:16px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}
.sol-desc{font-size:12px;color:var(--text-muted);line-height:1.8;margin-bottom:16px}
.sol-list{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}
.sol-list li{font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:8px}
.sol-list li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--cyan);flex-shrink:0}
.sol-link{font-size:10px;letter-spacing:2px;color:var(--cyan);text-transform:uppercase;display:flex;align-items:center;gap:6px}
.sol-link i{font-size:12px}

/* ===== OFFER ===== */
#oferta{padding:100px 5%;background:var(--dark2);position:relative;overflow:hidden}
.offer-ambient{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(0,212,255,0.04),transparent 70%);pointer-events:none}
.offer-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}
.offer-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border2);margin-top:40px}
.offer-stat{background:var(--dark2);padding:28px;text-align:center}
.offer-stat-num{font-size:36px;font-weight:900;color:#fff}
.offer-stat-num span{color:var(--cyan)}
.offer-stat-label{font-size:10px;letter-spacing:2px;color:var(--text-muted);text-transform:uppercase;margin-top:4px}
.offer-gains{margin-top:32px;display:flex;flex-direction:column;gap:10px}
.offer-gain{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-dim)}
.offer-gain-icon{width:24px;height:24px;border:1px solid rgba(0,212,255,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transform:rotate(45deg)}
.offer-gain-icon i{transform:rotate(-45deg);font-size:12px;color:var(--cyan)}
.offer-box{background:var(--card);border:1px solid var(--border);padding:48px}
.offer-box-title{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);margin-bottom:20px}
.offer-highlight{font-size:clamp(22px,3vw,32px);font-weight:900;line-height:1.2;margin-bottom:24px}
.offer-body{font-size:13px;color:var(--text-dim);line-height:1.9;margin-bottom:32px}
.offer-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px}
.offer-val{background:rgba(0,212,255,0.05);border:1px solid var(--border2);padding:16px;font-size:12px;color:var(--text-dim);line-height:1.6}
.offer-val strong{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#fff;margin-bottom:4px}

/* ===== SERVICES ===== */
#zakres-uslug{padding:100px 5%;background:var(--dark)}
.services-header{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:60px;align-items:end}
.services-grid{display:flex;flex-direction:column;gap:1px;background:var(--border2)}
.svc-row{
  background:var(--dark);display:grid;grid-template-columns:60px 1fr 1fr auto;
  gap:40px;align-items:start;padding:36px 40px;cursor:pointer;
  transition:background .3s;position:relative;overflow:hidden;
}
.svc-row::before{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--cyan);transition:width .5s}
.svc-row:hover{background:var(--card)}
.svc-row:hover::before{width:100%}
.svc-index{font-size:11px;letter-spacing:2px;color:rgba(0,212,255,0.3);font-weight:700;padding-top:4px}
.svc-main-title{font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.svc-main-desc{font-size:12px;color:var(--text-muted);line-height:1.8}
.svc-features{display:flex;flex-direction:column;gap:6px}
.svc-feature{font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:8px}
.svc-feature::before{content:'';width:4px;height:1px;background:var(--cyan);flex-shrink:0}
.svc-cta-col{display:flex;align-items:flex-start;padding-top:4px}
.svc-cta{font-size:10px;letter-spacing:2px;color:var(--cyan);text-transform:uppercase;white-space:nowrap}

/* ===== PROCESS ===== */
#wspolpraca{padding:100px 5%;background:var(--dark2)}
.process-header{margin-bottom:70px}
.process-steps{position:relative;display:flex;flex-direction:column;gap:0}
.process-line{
  position:absolute;left:25px;top:30px;bottom:30px;width:1px;
  background:linear-gradient(to bottom,var(--cyan),rgba(0,212,255,0.1));
}
.process-step{
  display:grid;grid-template-columns:50px 1fr;gap:40px;
  align-items:start;padding:36px 0;border-bottom:1px solid var(--border2);
  position:relative;
}
.process-step:last-child{border-bottom:none}
.process-dot{
  width:50px;height:50px;border:1px solid var(--border);
  transform:rotate(45deg);display:flex;align-items:center;justify-content:center;
  background:var(--dark2);flex-shrink:0;position:relative;z-index:1;
  transition:border-color .3s,background .3s;
}
.process-step:hover .process-dot{border-color:var(--cyan);background:rgba(0,212,255,0.08)}
.process-dot span{transform:rotate(-45deg);font-size:13px;font-weight:900;color:var(--cyan)}
.process-content{}
.process-step-title{font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.process-step-desc{font-size:13px;color:var(--text-muted);line-height:1.8;max-width:600px}

/* ===== VALUES ===== */
#wartosci{padding:100px 5%;background:var(--dark);position:relative}
.values-top{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:70px;align-items:end}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border2)}
.val-card{
  background:var(--dark);padding:36px 24px;
  transition:background .3s;position:relative;
}
.val-card:hover{background:var(--card)}
.val-icon{
  width:48px;height:48px;border:1px solid var(--border);
  transform:rotate(45deg);display:flex;align-items:center;justify-content:center;
  margin-bottom:24px;
}
.val-icon i{transform:rotate(-45deg);font-size:20px;color:var(--cyan)}
.val-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.val-desc{font-size:12px;color:var(--text-muted);line-height:1.8}

/* ===== STATS BAR ===== */
.stats-bar{
  background:rgba(0,212,255,0.03);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);
  padding:50px 5%;display:grid;grid-template-columns:repeat(5,1fr);
  position:relative;z-index:1;
}
.stat-item{text-align:center;padding:20px;border-right:1px solid var(--border2)}
.stat-item:last-child{border-right:none}
.stat-num{font-size:clamp(28px,3.5vw,48px);font-weight:900;font-family:'Inter',sans-serif;color:#fff;line-height:1}
.stat-num .accent{color:var(--cyan)}
.stat-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-top:8px}

/* ===== PORTFOLIO ===== */
#realizacje{padding:100px 5%;background:var(--dark2)}
.portfolio-header{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:20px}
.filter-tabs{display:flex;gap:0;border:1px solid var(--border2);margin-bottom:40px;width:fit-content}
.filter-tab{
  padding:10px 24px;font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:var(--text-muted);cursor:pointer;transition:all .3s;border-right:1px solid var(--border2);
}
.filter-tab:last-child{border-right:none}
.filter-tab.active,.filter-tab:hover{background:var(--cyan-dim);color:var(--cyan)}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border2)}
.port-card{
  background:var(--dark2);position:relative;overflow:hidden;
  cursor:pointer;
}
.port-card-inner{padding:0}
.port-screen{
  height:200px;background:linear-gradient(135deg,#061018,#091825);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;transition:transform .5s;
}
.port-card:hover .port-screen{transform:scale(1.04)}
.port-screen-mock{
  width:75%;height:75%;background:#030d14;
  border:1px solid rgba(0,212,255,0.25);position:relative;overflow:hidden;
}
.psm-bar{position:absolute;top:0;left:0;right:0;height:18px;background:rgba(0,212,255,0.06);border-bottom:1px solid rgba(0,212,255,0.1);display:flex;align-items:center;padding:0 8px;gap:4px}
.psm-dot{width:5px;height:5px;border-radius:50%}
.psm-content{position:absolute;top:20px;left:0;right:0;bottom:0;padding:10px;display:flex;flex-direction:column;gap:4px}
.psm-line{height:2px;border-radius:1px;background:rgba(255,255,255,0.06)}
.psm-line.cyan{background:rgba(0,212,255,0.25)}
.port-screen-label{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(2,6,8,.95),transparent);
  padding:24px 12px 12px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);
}
.port-info{padding:20px 24px}
.port-type{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);margin-bottom:6px}
.port-name{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.port-desc{font-size:11px;color:var(--text-muted);line-height:1.7;margin-bottom:12px}
.port-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.port-tag{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);background:rgba(0,212,255,0.06);border:1px solid var(--border2);padding:3px 8px}
.port-link{font-size:10px;letter-spacing:2px;color:var(--cyan);text-transform:uppercase;display:flex;align-items:center;gap:6px}
.port-corner{position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 28px 28px 0;border-color:transparent var(--cyan) transparent transparent;opacity:0;transition:opacity .3s}
.port-card:hover .port-corner{opacity:1}
.port-effect{font-size:11px;color:var(--text-dim);font-style:italic;border-top:1px solid var(--border2);padding-top:10px;margin-top:4px}
.port-effect strong{color:var(--cyan);font-style:normal}

/* ===== TESTIMONIALS ===== */
#zaufanie-klientow{padding:100px 5%;background:var(--dark)}
.testi-header{margin-bottom:60px}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border2);margin-bottom:60px}
.testi-card{
  background:var(--dark);padding:36px 28px;position:relative;
  transition:background .3s;
}
.testi-card:hover{background:var(--card)}
.testi-q{font-size:52px;color:var(--cyan);opacity:.2;line-height:.7;margin-bottom:16px;font-family:Georgia,serif}
.testi-text{font-size:13px;color:var(--text-dim);line-height:1.9;margin-bottom:28px}
.testi-author{display:flex;align-items:center;gap:14px}
.testi-avatar{
  width:44px;height:44px;border-radius:50%;
  background:rgba(0,212,255,0.1);border:1px solid rgba(0,212,255,0.3);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;color:var(--cyan);flex-shrink:0;
}
.testi-name{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.testi-role{font-size:10px;color:var(--text-muted);letter-spacing:1px;margin-top:2px}
.testi-stars{font-size:11px;color:#ffc107;margin-bottom:4px}
.testi-corner{position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 20px 20px 0;border-color:transparent var(--cyan) transparent transparent;opacity:.3}

/* Rating summary */
.rating-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rating-box{
  background:var(--card);border:1px solid var(--border);
  padding:32px;text-align:center;
}
.rating-big{font-size:56px;font-weight:900;color:#fff;line-height:1}
.rating-big span{color:var(--cyan)}
.rating-platform{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-top:8px}
.rating-starsrow{font-size:18px;color:#ffc107;margin:8px 0}

/* ===== FAQ ===== */
#faq{padding:100px 5%;background:var(--dark2)}
.faq-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.faq-list{display:flex;flex-direction:column;gap:1px;background:var(--border2)}
.faq-item{background:var(--dark2);overflow:hidden}
.faq-question{
  padding:24px 28px;display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;transition:background .3s;
}
.faq-question:hover{background:rgba(0,212,255,0.03)}
.faq-q-text{font-size:14px;font-weight:500;color:#fff}
.faq-toggle{
  width:28px;height:28px;border:1px solid var(--border);display:flex;align-items:center;
  justify-content:center;flex-shrink:0;transition:all .3s;color:var(--cyan);transform:rotate(45deg);
}
.faq-item.open .faq-toggle{background:var(--cyan);color:#000;border-color:var(--cyan)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.open .faq-answer{max-height:300px}
.faq-a-text{padding:0 28px 24px;font-size:13px;color:var(--text-dim);line-height:1.9}

/* ===== CONTACT ===== */
#kontakt{padding:100px 5%;background:var(--dark);position:relative;overflow:hidden}
.contact-ambient{position:absolute;bottom:0;right:0;width:40%;height:80%;background:radial-gradient(ellipse at 80% 80%,rgba(0,212,255,0.05),transparent 70%);pointer-events:none}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;position:relative;z-index:1}
.contact-info{display:flex;flex-direction:column;gap:16px;margin-top:40px}
.contact-item{
  display:flex;align-items:center;gap:20px;padding:20px 24px;
  border:1px solid var(--border2);transition:border-color .3s;
}
.contact-item:hover{border-color:var(--cyan)}
.contact-item-icon{
  width:40px;height:40px;border:1px solid var(--border);
  transform:rotate(45deg);display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:border-color .3s;
}
.contact-item:hover .contact-item-icon{border-color:var(--cyan)}
.contact-item-icon i{transform:rotate(-45deg);font-size:16px;color:var(--cyan)}
.contact-item-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.contact-item-val{font-size:13px;color:#fff}

.contact-form{margin-top:0;display:flex;flex-direction:column;gap:14px}
.contact-form-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#fff;margin-bottom:4px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.f-input{
  background:transparent;border:1px solid rgba(255,255,255,0.1);color:#fff;
  padding:14px 16px;font-size:13px;width:100%;outline:none;
  transition:border-color .3s;font-family:inherit;letter-spacing:.5px;
}
.f-input:focus{border-color:var(--cyan)}
.f-input::placeholder{color:rgba(255,255,255,0.25);font-size:11px;letter-spacing:1.5px;text-transform:uppercase}
textarea.f-input{resize:none;height:130px}
.form-note{font-size:10px;color:var(--text-muted);letter-spacing:1px;line-height:1.7}
.form-submit{
  background:transparent;border:1px solid var(--cyan);color:var(--cyan);
  padding:16px 32px;font-size:11px;letter-spacing:3px;text-transform:uppercase;
  cursor:pointer;transition:all .35s;font-family:inherit;
  display:flex;align-items:center;gap:12px;align-self:flex-start;
}
.form-submit:hover{background:var(--cyan);color:#000}
.form-success{display:none;text-align:center;padding:32px;background:rgba(0,212,255,0.05);border:1px solid var(--border)}
.form-success i{font-size:32px;color:var(--cyan);margin-bottom:12px}
.form-success p{font-size:13px;color:var(--text-dim)}

/* ===== FOOTER ===== */
footer{padding:60px 5% 30px;border-top:1px solid var(--border2);position:relative;z-index:1}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px;margin-bottom:48px}
.footer-brand-mark{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.footer-brand-name{font-size:14px;font-weight:700;letter-spacing:2px}
.footer-brand-desc{font-size:12px;color:var(--text-muted);line-height:1.8;margin-bottom:20px}
.footer-socials{display:flex;gap:10px}
.footer-social{
  width:36px;height:36px;border:1px solid var(--border2);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);transition:all .3s;
}
.footer-social:hover{border-color:var(--cyan);color:var(--cyan)}
.footer-col-title{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:20px}
.footer-links-list{display:flex;flex-direction:column;gap:10px}
.footer-links-list a{font-size:13px;color:var(--text-dim);transition:color .3s}
.footer-links-list a:hover{color:var(--cyan)}
.footer-bottom{border-top:1px solid var(--border2);padding-top:24px;display:flex;justify-content:space-between;align-items:center}
.footer-copy{font-size:11px;color:var(--text-muted);letter-spacing:1px}
.footer-motto{font-size:11px;color:var(--text-muted);letter-spacing:2px;text-transform:uppercase}

/* ===== BACK TO TOP ===== */
#btt{
  position:fixed;bottom:32px;right:32px;z-index:90;
  width:44px;height:44px;border:1px solid var(--cyan);
  display:flex;align-items:center;justify-content:center;
  color:var(--cyan);cursor:pointer;transition:all .3s;
  opacity:0;pointer-events:none;background:rgba(2,6,8,.9);
}
#btt.show{opacity:1;pointer-events:all}
#btt:hover{background:var(--cyan);color:#000}

/* ===== MOBILE NAV ===== */
.mobile-menu{
  position:fixed;top:64px;left:0;right:0;bottom:0;z-index:99;
  background:rgba(2,6,8,.98);backdrop-filter:blur(20px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;
  transform:translateX(100%);transition:transform .4s ease;
}
.mobile-menu.open{transform:none}
.mobile-menu a{font-size:14px;letter-spacing:3px;text-transform:uppercase;color:var(--text-dim);transition:color .3s}
.mobile-menu a:hover{color:var(--cyan)}

/* ===== RESPONSIVE ===== */
@media(max-width:1100px){
  .hero-inner{grid-template-columns:1fr;gap:60px}
  .hero-viz{height:360px}
  .branches-header{grid-template-columns:1fr}
  .solutions-inner{grid-template-columns:1fr}
  .offer-inner{grid-template-columns:1fr}
  .services-header{grid-template-columns:1fr}
  .svc-row{grid-template-columns:50px 1fr;gap:20px}
  .svc-features,.svc-cta-col{display:none}
  .values-grid{grid-template-columns:1fr 1fr}
  .stats-bar{grid-template-columns:repeat(3,1fr)}
  .portfolio-grid{grid-template-columns:1fr 1fr}
  .testi-grid{grid-template-columns:1fr}
  .faq-inner{grid-template-columns:1fr}
  .contact-inner{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center}
  .nav-links{display:none}
  .nav-burger{display:flex}
}
@media(max-width:640px){
  section{padding-left:5%;padding-right:5%}
  .hero-name{letter-spacing:-2px}
  .branches-grid{grid-template-columns:1fr 1fr}
  .solutions-grid{grid-template-columns:1fr}
  .offer-stats{grid-template-columns:1fr 1fr}
  .offer-values{grid-template-columns:1fr}
  .stats-bar{grid-template-columns:1fr 1fr}
  .portfolio-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr}
  .rating-summary{grid-template-columns:1fr}
  .hero-ratings{flex-direction:column;gap:16px}
  .filter-tabs{flex-wrap:wrap}
  .footer-top{grid-template-columns:1fr}
}
