/* Sto Procent Studio – Style */
:root {
  --s100-red:     #E8192C;
  --s100-red-l:   #ff3347;
  --s100-red-ll:  #ff6677;
  --s100-red-d:   #b5111f;
  --s100-glow:    rgba(232,25,44,0.35);
  --s100-bg:      #0d0a0a;
  --s100-bg2:     #120d0d;
  --s100-card:    #1a1212;
  --s100-card2:   #201515;
  --s100-border:  rgba(232,25,44,0.18);
  --s100-border2: rgba(232,25,44,0.35);
  --s100-white:   #ffffff;
  --s100-off:     #d4c8c8;
  --s100-muted:   #917a7a;
  --s100-faint:   #5a4444;
  --s100-ease:    cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ANIMACJE */
.s100-block .rev {
  opacity:0;
  transition: opacity .85s var(--s100-ease), transform .85s var(--s100-ease);
}
.s100-block .rev.vis       { opacity:1; transform:none !important; }
.s100-block .rev.rev-up    { transform:translateY(48px); }
.s100-block .rev.rev-left  { transform:translateX(-56px); }
.s100-block .rev.rev-right { transform:translateX(56px); }
.s100-block .rev.d1 { transition-delay:.12s; }
.s100-block .rev.d2 { transition-delay:.24s; }
.s100-block .rev.d3 { transition-delay:.36s; }
.s100-block .rev.d4 { transition-delay:.48s; }

@keyframes s100LineGrow { from{width:0;opacity:0} to{width:28px;opacity:1} }
.s100-block .rev.vis .s100-label::before { animation:s100LineGrow .8s .2s var(--s100-ease) both; }

/* BAZA */
.s100-block { display:block; }
.s100-sec   { padding:80px 40px; background:var(--s100-bg); }

.s100-label {
  font-family:'Barlow Condensed',sans-serif;
  font-size:10px; font-weight:700; letter-spacing:4px; text-transform:uppercase;
  color:var(--s100-red); margin-bottom:16px;
  display:flex; align-items:center; gap:14px;
}
.s100-label::before {
  content:''; display:block; width:28px; height:1px; background:var(--s100-red);
}
.s100-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(42px,6vw,80px); line-height:.95; letter-spacing:2px;
  color:var(--s100-white); margin-bottom:32px;
}
.s100-red {
  background:linear-gradient(90deg,var(--s100-red-ll),var(--s100-red));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.s100-intro {
  font-size:15px; font-weight:300; line-height:1.8;
  color:var(--s100-muted); margin-bottom:28px;
}
.s100-btn {
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:var(--s100-white); background:var(--s100-red);
  padding:14px 32px; text-decoration:none; border:none; cursor:pointer;
  transition:background .3s,transform .3s,box-shadow .3s;
  position:relative; overflow:hidden;
}
.s100-btn:hover { background:var(--s100-red-l); transform:translateY(-2px); box-shadow:0 16px 48px var(--s100-glow); }
.s100-btn-full { width:100%; justify-content:center; }

/* O NAS */
.s100-onas-sec { background:var(--s100-bg2); border-top:1px solid var(--s100-border); border-bottom:1px solid var(--s100-border); }
.s100-onas-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; max-width:1280px; margin:0 auto; }
.s100-checks { display:flex; flex-direction:column; }
.s100-check {
  display:flex; align-items:flex-start; gap:20px;
  padding:18px 0; border-bottom:1px solid var(--s100-border);
}
.s100-check:first-child { border-top:1px solid var(--s100-border); }
.s100-check-icon {
  width:28px; height:28px; border:1px solid var(--s100-red);
  flex-shrink:0; display:flex; align-items:center; justify-content:center;
  margin-top:2px; transition:background .3s;
}
.s100-check-icon svg { color:var(--s100-red); }
.s100-check:hover .s100-check-icon { background:rgba(232,25,44,.2); }
.s100-check-title { font-size:16px; font-weight:600; color:var(--s100-white); margin-bottom:4px; display:block; }
.s100-check-desc  { font-size:13px; color:var(--s100-muted); line-height:1.7; margin:0; }
.s100-brands { display:flex; align-items:center; gap:28px; margin-top:36px; flex-wrap:wrap; }
.s100-brand {
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:var(--s100-faint); transition:color .3s;
}
.s100-brand:hover { color:var(--s100-red-ll); }
.s100-onas-img-wrap { position:relative; }
.s100-onas-img { width:100%; height:480px; object-fit:cover; display:block; }
.s100-onas-img-border {
  position:absolute; top:-16px; left:-16px; right:16px; bottom:16px;
  border:1px solid var(--s100-border2); z-index:-1;
}
.s100-onas-img-label {
  position:absolute; bottom:24px; left:-24px;
  background:var(--s100-red); color:var(--s100-white);
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  padding:10px 20px;
}
.s100-img-placeholder { width:100%; height:480px; background:var(--s100-card); border:2px dashed var(--s100-border2); }

/* USŁUGI */
.s100-uslugi-grid { display:grid; gap:16px; max-width:1280px; margin:0 auto; }
.s100-cols-1 { grid-template-columns:1fr; }
.s100-cols-2 { grid-template-columns:repeat(2,1fr); }
.s100-cols-3 { grid-template-columns:repeat(3,1fr); }
.s100-full-width { grid-column:1/-1; }
.s100-card {
  background:var(--s100-card); padding:40px 36px;
  border-bottom:3px solid transparent;
  transition:background .4s,border-color .4s,transform .4s,box-shadow .4s;
  position:relative; overflow:hidden; display:flex; flex-direction:column;
}
.s100-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(232,25,44,.12),transparent);
  opacity:0; transition:opacity .4s; pointer-events:none;
}
.s100-card:hover { background:var(--s100-card2); border-color:var(--s100-red); transform:translateY(-8px); box-shadow:0 20px 60px rgba(0,0,0,.4); }
.s100-card:hover::before { opacity:1; }
.s100-card-icon {
  width:56px; height:56px; margin-bottom:24px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(232,25,44,.1); border:1px solid var(--s100-border);
  transition:background .3s,border-color .3s;
}
.s100-card-icon svg { color:var(--s100-red); }
.s100-card:hover .s100-card-icon { background:rgba(232,25,44,.2); border-color:var(--s100-red); }
.s100-card-title {
  font-family:'Barlow Condensed',sans-serif;
  font-size:20px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  color:var(--s100-white); margin-bottom:12px;
}
.s100-card-desc { font-size:13px; font-weight:300; line-height:1.7; color:var(--s100-muted); margin-bottom:20px; }
.s100-for-whom-label { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--s100-red); margin-bottom:8px; margin-top:16px; }
.s100-for-whom { font-size:13px; color:var(--s100-muted); line-height:1.8; margin-bottom:12px; }
.s100-tip { font-size:13px; color:var(--s100-off); line-height:1.7; margin-bottom:6px; }
.s100-card-more {
  display:inline-flex; align-items:center; gap:8px;
  font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase;
  color:var(--s100-red); text-decoration:none;
  transition:color .3s,gap .3s; margin-top:auto;
}
.s100-card:hover .s100-card-more { color:var(--s100-red-ll); gap:12px; }

/* WYCENA */
.s100-wycena-sec { text-align:center; }
.s100-wycena-inner { max-width:640px; margin:0 auto; }
.s100-wycena-inner .s100-label { justify-content:center; }

/* KONTAKT */
.s100-kontakt-sec { background:var(--s100-bg); border-top:1px solid var(--s100-border); }
.s100-kontakt-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start; max-width:1280px; margin:0 auto; }
.s100-contact-list { display:flex; flex-direction:column; }
.s100-contact-item { display:flex; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--s100-border); }
.s100-contact-item svg { color:var(--s100-red); flex-shrink:0; }
.s100-contact-item a, .s100-contact-item span { font-size:15px; color:var(--s100-off); text-decoration:none; transition:color .3s; }
.s100-contact-item a:hover { color:var(--s100-red-ll); }

/* FORMULARZ */
.s100-form { display:flex; flex-direction:column; gap:14px; }
.s100-field { display:flex; flex-direction:column; gap:8px; }
.s100-field label { font-size:9px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--s100-faint); }
.s100-field input,
.s100-field textarea,
.s100-field select {
  background:#1a1212 !important; border:1px solid rgba(232,25,44,0.18) !important;
  color:#fff !important; font-family:'Barlow',sans-serif !important;
  font-size:14px !important; font-weight:300 !important; padding:14px 18px !important;
  outline:none !important; border-radius:0 !important; box-shadow:none !important;
  -webkit-appearance:none !important; appearance:none !important;
  box-sizing:border-box !important; width:100% !important;
  transition:border-color .3s,background .3s !important;
}
.s100-field textarea { height:120px !important; resize:none !important; }
.s100-field input:focus,
.s100-field textarea:focus,
.s100-field select:focus { border-color:#E8192C !important; background:rgba(232,25,44,.05) !important; }
.s100-field input::placeholder,
.s100-field textarea::placeholder { color:#5a4444 !important; }
.s100-field select option { background:#120d0d; color:#fff; }
.s100-form-msg { padding:12px 16px; font-size:14px; }
.s100-form-msg.ok  { background:rgba(232,25,44,.15); color:var(--s100-red-ll); border-left:3px solid var(--s100-red); }
.s100-form-msg.err { background:rgba(200,50,50,.1);  color:#f88; border-left:3px solid #f44; }

/* RESPONSIVE */
@media(max-width:1100px){
  .s100-onas-grid    { grid-template-columns:1fr; gap:48px; }
  .s100-kontakt-grid { grid-template-columns:1fr; gap:60px; }
  .s100-cols-2,.s100-cols-3 { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
  .s100-sec { padding:56px 20px; }
  .s100-cols-2,.s100-cols-3 { grid-template-columns:1fr; }
  .s100-onas-img { height:280px; }
  .s100-onas-img-border { display:none; }
  .s100-onas-img-label  { left:0; }
}

/* EDYTOR */
.s100-editor-wrap { background:var(--s100-bg); padding:24px; color:#fff; font-family:'Barlow',sans-serif; }
