/* OnePager v5 – evolution of v3 style (same dark palette, more modern layout) */
:root{
  --ut-bg: #0b0f14;
  --ut-surface: rgba(255,255,255,.06);
  --ut-surface-2: rgba(255,255,255,.04);
  --ut-border: rgba(255,255,255,.11);
  --ut-text: rgba(255,255,255,.92);
  --ut-muted: rgba(255,255,255,.72);
  --ut-muted-2: rgba(255,255,255,.58);

  --ut-accent: #f6d84f;
  --ut-accent-2: #f0b429;

  --ut-shadow-soft: 0 10px 30px rgba(0,0,0,.28);
  --ut-radius: 18px;
  --ut-max: 1180px;
  --ut-header-h: 120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color: var(--ut-text);
  background: var(--ut-bg);
}
a{color:inherit}
img{max-width:100%; height:auto; display:block}
.ut-wrap{max-width: var(--ut-max); margin:0 auto; padding:0 18px}

/* Header */
.ut-header{
  position: sticky;
  top:0;
  z-index: 50;
  height: var(--ut-header-h);
  display:flex;
  align-items:center;
  background: rgba(11,15,20,.86);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--ut-border);
}
.ut-header::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(246,216,79,.32), transparent);
  pointer-events:none;
}
.ut-header__inner{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
}
.ut-brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.ut-brand img{
  width: 190px;
  height:auto;
  filter: drop-shadow(0 10px 25px rgba(0,0,0,.38));
}

/* Desktop nav */
.ut-nav{display:flex; align-items:center; gap: 6px}
.ut-nav a{
  text-decoration:none;
  color: var(--ut-muted);
  font-weight: 800;
  font-size: 14px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.ut-nav a:hover{
  color: var(--ut-text);
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
}
.ut-nav a.ut-active{
  color: var(--ut-text);
  border-color: rgba(246,216,79,.30);
  background: rgba(246,216,79,.10);
}

/* CTA buttons */
.ut-cta{display:flex; align-items:center; gap:10px}
.ut-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: var(--ut-text);
  text-decoration:none;
  font-weight: 900;
  letter-spacing:.1px;
  transition: transform .12s ease, filter .12s ease, background .12s ease, border-color .12s ease;
  white-space: nowrap;
}
.ut-btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18)}
.ut-btn--primary{
  border-color: rgba(246,216,79,.35);
  background: linear-gradient(135deg, rgba(246,216,79,.96), rgba(240,180,41,.92));
  color: rgba(10,12,16,.98);
  box-shadow: var(--ut-shadow-soft);
}
.ut-btn--primary:hover{filter: brightness(1.03)}

.ut-burger{display:none}
@media (max-width: 980px){
  .ut-nav{display:none}
  .ut-burger{
    display:inline-flex;
    width:44px; height:44px;
    border-radius: 14px;
    border:1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.03);
    color: var(--ut-text);
    font-weight: 900;
    align-items:center;
    justify-content:center;
  }
}

/* Mobile menu */
.ut-mobile{
  display:none;
  padding: 12px 0 16px;
  border-bottom: 1px solid var(--ut-border);
  background: rgba(11,15,20,.86);
  backdrop-filter: blur(10px);
}
.ut-mobile.open{display:block}
.ut-mobile a{
  display:block;
  text-decoration:none;
  color: var(--ut-muted);
  font-weight: 900;
  padding: 12px 14px;
  margin: 8px 0;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
}
.ut-mobile a:hover{color: var(--ut-text)}

/* Sections */
.ut-section{padding: 84px 0}
.ut-section--alt{
  background: radial-gradient(700px 320px at 15% 0%, rgba(246,216,79,.07), transparent 60%),
              radial-gradient(700px 320px at 85% 0%, rgba(240,180,41,.05), transparent 60%);
}
@media (max-width: 720px){ .ut-section{padding: 64px 0} }

.ut-kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: var(--ut-muted);
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 12px;
}
.ut-h1{
  margin: 14px 0 12px;
  font-size: clamp(32px, 3.9vw, 52px);
  line-height: 1.06;
  letter-spacing: -0.6px;
}
.ut-lead{
  margin: 0 0 20px;
  color: var(--ut-muted);
  font-size: 17px;
  max-width: 72ch;
}
.ut-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  align-items: stretch;
}
@media (max-width: 980px){ .ut-grid{grid-template-columns: 1fr} }

/* Cards */
.ut-card{
  border-radius: var(--ut-radius);
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.035));
  box-shadow: var(--ut-shadow-soft);
}
.ut-card--pad{padding: 18px}

/* Hero art */
.ut-heroArt{display:flex; align-items:center; justify-content:center; padding: 14px; overflow:hidden}
.ut-heroArt img{
  width: min(520px, 100%);
  opacity: .96;
  filter: drop-shadow(0 18px 50px rgba(0,0,0,.45));
}

/* Chips */
.ut-chips{display:flex; gap:10px; flex-wrap:wrap; margin-top: 14px}
.ut-chip{
  display:inline-flex; align-items:center; gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: var(--ut-muted);
  font-weight: 850;
  font-size: 13px;
}
.ut-chip img{width:22px; height:22px}

/* Section headings */
.ut-head{display:flex; align-items:flex-end; justify-content:space-between; gap: 14px; margin-bottom: 18px}
.ut-head h2{margin:0; font-size: clamp(22px, 2.7vw, 34px); letter-spacing: -0.3px}
.ut-head p{margin:0; color: var(--ut-muted); max-width: 78ch}

/* Tiles */
.ut-tiles{display:grid; grid-template-columns: repeat(4, 1fr); gap: 14px}
@media (max-width: 1100px){ .ut-tiles{grid-template-columns: repeat(2, 1fr)} }
@media (max-width: 640px){ .ut-tiles{grid-template-columns: 1fr} }

.ut-tile{padding: 16px}
.ut-tile h3{margin: 10px 0 6px; font-size: 18px}
.ut-tile p{margin: 0; color: var(--ut-muted); font-size: 14px}
.ut-icon{
  width: 46px; height: 46px;
  border-radius: 14px;
  border:1px solid rgba(246,216,79,.22);
  background: rgba(246,216,79,.10);
  display:flex; align-items:center; justify-content:center;
}
.ut-icon img{width: 28px; height: 28px}

/* Gallery */
.ut-gallery{
  display:grid;
  grid-template-columns: 1.45fr .8fr .8fr;
  grid-template-rows: 230px 230px;
  gap: 14px;
}
@media (max-width: 980px){ .ut-gallery{grid-template-columns: 1fr; grid-template-rows:auto} }
.ut-shot{
  border-radius: var(--ut-radius);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  display:flex; align-items:center; justify-content:center;
  padding: 18px;
  min-height: 170px;
}
.ut-shot img{max-height: 160px; opacity: .92}
.ut-shot--big{grid-row: span 2}
@media (max-width: 980px){ .ut-shot--big{grid-row:auto} }

/* Pricing */
.ut-pricing{display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px}
@media (max-width: 980px){ .ut-pricing{grid-template-columns: 1fr} }
.ut-plan{padding: 18px}
.ut-price{font-size: 34px; font-weight: 950; margin: 12px 0 10px}
.ut-plan ul{margin:0; padding-left: 18px; color: var(--ut-muted)}
.ut-plan li{margin: 7px 0}
.ut-plan .ut-btn{width:100%; margin-top: 14px}
.ut-plan--featured{
  border-color: rgba(246,216,79,.30);
  background: linear-gradient(180deg, rgba(246,216,79,.10), rgba(255,255,255,.035));
}

/* Contact */
.ut-contact{display:grid; grid-template-columns: .95fr 1.05fr; gap: 14px}
@media (max-width: 980px){ .ut-contact{grid-template-columns: 1fr} }
.ut-contactCard{padding: 18px}
.ut-contactItem{display:flex; gap:12px; align-items:flex-start; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.08)}
.ut-contactItem:first-child{border-top:0}
.ut-contactItem img{width:26px; height:26px; margin-top:2px; opacity:.95}

.ut-form{display:grid; gap: 10px; margin-top: 12px}
.ut-two{display:grid; grid-template-columns: 1fr 1fr; gap: 10px}
@media (max-width: 680px){ .ut-two{grid-template-columns: 1fr} }
.ut-label{font-weight: 900; font-size: 13px; color: var(--ut-muted)}
.ut-input, .ut-textarea{
  width:100%;
  padding: 12px 12px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  color: var(--ut-text);
  outline:none;
}
.ut-textarea{min-height: 120px; resize: vertical}
.ut-input:focus, .ut-textarea:focus{border-color: rgba(246,216,79,.45)}

/* Footer */
.ut-footer{
  padding: 34px 0 52px;
  border-top: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
}
.ut-footRow{
  display:flex; justify-content:space-between; align-items:center;
  gap: 14px; flex-wrap:wrap;
  color: var(--ut-muted);
  font-size: 13px;
}
.ut-iconStrip{display:flex; flex-wrap:wrap; gap: 8px; margin-top: 14px}
.ut-iconStrip img{
  width: 28px; height: 28px;
  padding: 6px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  opacity: .9;
}

/* v6 additions: full pricing table + simple testimonials */
.ut-priceTable{width:100%; border-collapse:separate; border-spacing:0; overflow:hidden}
.ut-priceTable th,.ut-priceTable td{
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: var(--ut-text);
  vertical-align: top;
  font-size: 14px;
}
.ut-priceTable th{
  color: var(--ut-muted);
  font-weight: 900;
  text-align:left;
  background: rgba(255,255,255,.03);
}
.ut-priceTable tr:last-child td{border-bottom:0}
.ut-badge{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: var(--ut-muted);
  font-weight: 900;
  font-size: 12px;
  white-space: nowrap;
}
.ut-note{
  margin: 12px 0 0;
  color: var(--ut-muted);
  font-size: 13px;
  line-height: 1.5;
}
.ut-quote{
  padding: 16px;
}
.ut-quote p{margin: 10px 0 0; color: var(--ut-muted); font-size: 14px; line-height: 1.55}
.ut-quote .ut-quoteHead{display:flex; align-items:center; gap:10px}
.ut-quote .ut-quoteHead img{width:26px; height:26px; opacity:.95}
.ut-quote .ut-quoteHead strong{font-weight: 950}

/* v7.1 PRO – additions */
.ut-trust{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 16px;
}
@media (max-width: 980px){ .ut-trust{grid-template-columns: 1fr} }
.ut-trust__item{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}
.ut-trust__item strong{display:block; font-weight: 950; font-size: 14px}
.ut-trust__item span{display:block; color: var(--ut-muted); font-size: 13px; margin-top:2px}
.ut-dot{
  width:10px; height:10px;
  border-radius: 999px;
  margin-top: 5px;
  background: rgba(246,216,79,.9);
  box-shadow: 0 0 0 4px rgba(246,216,79,.15);
  flex: 0 0 auto;
}

/* Split card */
.ut-split{display:grid; grid-template-columns: 1.15fr .85fr; gap: 14px; align-items: stretch}
@media (max-width: 980px){ .ut-split{grid-template-columns: 1fr} }
.ut-split__left{padding: 6px}
.ut-split__right{display:flex; align-items:center}
.ut-miniGrid{display:grid; grid-template-columns: 1fr 1fr; gap: 10px; width:100%}
.ut-mini{
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.14);
}
.ut-mini__k{display:block; color: var(--ut-muted-2); font-weight: 900; font-size: 12px; letter-spacing:.08em; text-transform: uppercase}
.ut-mini__v{display:block; color: var(--ut-text); font-weight: 950; margin-top:6px}

/* Steps */
.ut-steps{display:grid; grid-template-columns: repeat(2, 1fr); gap: 14px}
@media (max-width: 980px){ .ut-steps{grid-template-columns: 1fr} }
.ut-step{padding: 16px; display:flex; gap: 12px}
.ut-step__n{
  width: 40px; height: 40px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  font-weight: 950;
  border: 1px solid rgba(246,216,79,.25);
  background: rgba(246,216,79,.10);
}
.ut-step__h{margin: 2px 0 6px; font-size: 18px}
.ut-step__p{margin:0; color: var(--ut-muted); font-size: 14px; line-height:1.55}

/* FAQ */
.ut-faq{display:grid; gap: 10px}
.ut-faq__q{
  width: 100%;
  text-align: left;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 10px;
  padding: 14px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: var(--ut-text);
  font-weight: 950;
  cursor: pointer;
}
.ut-faq__chev{opacity:.8}
.ut-faq__a{
  overflow:hidden;
  max-height: 0;
  transition: max-height .22s ease;
  padding: 0 14px;
  color: var(--ut-muted);
  line-height: 1.6;
}
.ut-faq__q[aria-expanded="true"] + .ut-faq__a{
  padding: 12px 14px 14px;
  max-height: 280px;
}
.ut-faq__q[aria-expanded="true"] .ut-faq__chev{transform: rotate(180deg)}

/* Floating quick actions */
.ut-float{
  position: fixed;
  right: 14px;
  bottom: 14px;
  display:flex;
  flex-direction: column;
  gap: 10px;
  z-index: 60;
}
.ut-float__btn{
  width: 46px; height: 46px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(11,15,20,.78);
  color: var(--ut-text);
  text-decoration:none;
  font-size: 18px;
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 26px rgba(0,0,0,.32);
}
.ut-float__btn--primary{
  border-color: rgba(246,216,79,.35);
  background: linear-gradient(135deg, rgba(246,216,79,.96), rgba(240,180,41,.92));
  color: rgba(10,12,16,.98);
}

/* v7.3: topbar – taller header, logo size preserved, no vertical clipping */
.ut-header{ height: var(--ut-header-h); }
.ut-header__inner{ padding-top: 10px; padding-bottom: 10px; }
.ut-brand img{
  /* do not change logo width; only ensure it fits vertically */
  max-height: calc(var(--ut-header-h) - 20px);
  height: auto;
  object-fit: contain;
}

/* v7.3: dropdown "Więcej" – keeps nav in one line */
.ut-nav{flex-wrap: nowrap}
.ut-nav a{white-space: nowrap}
.ut-more{position: relative; display:inline-flex; align-items:center}
.ut-more__btn{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  height: 40px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.03);
  color: var(--ut-muted);
  font-weight: 900;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .12s ease;
  white-space: nowrap;
}
.ut-more__btn:hover{
  color: var(--ut-text);
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.05);
  transform: translateY(-1px);
}
.ut-more__btn[aria-expanded="true"]{
  color: var(--ut-text);
  border-color: rgba(246,216,79,.30);
  background: rgba(246,216,79,.10);
}
.ut-more__chev{opacity:.85; font-size: 12px}
.ut-more__menu{
  position:absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 240px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(11,15,20,.92);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 55px rgba(0,0,0,.45);
  display:none;
}
.ut-more__menu a{
  display:block;
  padding: 10px 10px;
  border-radius: 12px;
  text-decoration:none;
  color: var(--ut-muted);
  font-weight: 900;
  border: 1px solid transparent;
}
.ut-more__menu a:hover{
  color: var(--ut-text);
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
}
.ut-more.open .ut-more__menu{display:block}

/* v7.4: logo width lock (keep size consistent with v7.1 feel) */
.ut-brand img{
  width: 200px;
}

/* v7.6: topbar – logo vertical alignment + header border layering */
.ut-header{ overflow: visible; }
.ut-header::after{ z-index: 0; }
.ut-header__inner{ position: relative; z-index: 2; align-items: center; }
.ut-brand{ position: relative; z-index: 3; padding-top: 10px; padding-bottom: 6px; }
.ut-brand img{ display:block; margin-top: 6px; }

/* v7.7: topbar – logo height 150px + header height 170px (no clipping) */
.ut-header{ overflow: visible; }
.ut-header__inner{ align-items: center; }
.ut-brand{ flex: 0 0 auto; display:flex; align-items:center; padding-top: 8px; padding-bottom: 8px; }
.ut-brand img{
  height: 150px;
  width: auto;
  max-height: none;
  min-width: 0;
  flex-shrink: 0;
  display:block;
}

/* v7.13 topbar redesign (from scratch) */
.ut-topbar{
  position: sticky;
  top: 0;
  z-index: 1000;
  height: var(--ut-header-h);
  overflow: visible;
}
.ut-topbar .ut-wrap{padding: 0 18px;}
.ut-topbar__row{
  height: var(--ut-header-h);
  display:flex;
  align-items:center;
  gap: 14px;
}
.ut-topbar__brand{
  display:flex;
  align-items:center;
  margin-right:auto;
  padding: 10px 0;
  z-index: 1010;
  position: relative;
  text-decoration:none;
}
.ut-topbar__brand img{
  height: 150px;
  width: auto;
  display:block;
}

.ut-topbar__nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 10px;
  flex-wrap: nowrap;
}
.ut-topbar__link{
  white-space: nowrap;
  text-decoration:none;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid transparent;
  color: var(--ut-muted);
  font-weight: 900;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .12s ease;
}
.ut-topbar__link:hover{
  color: var(--ut-text);
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.12);
  transform: translateY(-1px);
}
.ut-topbar__link.is-active{
  color: var(--ut-text);
  border-color: rgba(246,216,79,.30);
  background: rgba(246,216,79,.10);
}

.ut-topbar__cta{
  display:flex;
  align-items:center;
  gap: 10px;
}
.ut-topbar__burger{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.03);
  display:none; /* shown on mobile */
  cursor:pointer;
}
.ut-topbar__burger span{
  display:block;
  width: 18px;
  height: 2px;
  background: rgba(255,255,255,.78);
  margin: 4px auto;
  border-radius: 2px;
}

/* Dropdown: click-only */
.ut-topbar__more{ position: relative; z-index: 1200; }
.ut-topbar__moreBtn{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  height: 40px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.03);
  color: var(--ut-muted);
  font-weight: 900;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .12s ease;
  white-space: nowrap;
}
.ut-topbar__moreBtn:hover{
  color: var(--ut-text);
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.05);
  transform: translateY(-1px);
}
.ut-topbar__moreBtn[aria-expanded="true"]{
  color: var(--ut-text);
  border-color: rgba(246,216,79,.30);
  background: rgba(246,216,79,.10);
}
.ut-topbar__chev{opacity:.85; font-size: 12px}
.ut-topbar__menu{
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  left: auto;
  min-width: 240px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: #0b0f14;
  box-shadow: 0 18px 55px rgba(0,0,0,.45);
  display:none;
  z-index: 1300;
}
#moreWrap.open .ut-topbar__menu{ display:block; }
.ut-topbar__menu a{
  display:block;
  padding: 10px 10px;
  border-radius: 12px;
  text-decoration:none;
  color: var(--ut-muted);
  font-weight: 900;
  border: 1px solid transparent;
}
.ut-topbar__menu a:hover{
  color: var(--ut-text);
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
}

/* Mobile behavior: hide desktop nav+cta button, show burger, show mobile sheet under header */
@media (max-width: 980px){
  .ut-topbar__nav{ display:none; }
  .ut-topbar__ctaBtn{ display:none; }
  .ut-topbar__burger{ display:inline-flex; align-items:center; justify-content:center; }
  #mobileMenu{
    position: fixed;
    top: var(--ut-header-h);
    left: 0; right: 0;
    z-index: 1400;
  }
}

/* override centered 1180px only for topbar */
  width: 100%;
}
.ut-topbar__row{
  width: 100%;
}

/* v7.15.2: topbar within content width */
.ut-topbar .ut-wrap{
  max-width: var(--ut-max);
  width: 100%;
  margin: 0 auto;
  padding: 0 18px;
}
.ut-topbar__row{ width: 100%; }





/* v7.15.4: anchor scroll handled by JS for precise offset */

/* mobile */
@media (max-width: 820px){
  .ut-priceGrid{ grid-template-columns: 1fr; }
  .ut-priceItem--wide{ grid-column: auto; }
}

/* v7.18: cennik accordion */
.ut-accordion{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.ut-accItem{
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.12);
  overflow: hidden;
}
.ut-accBtn{
  width: 100%;
  display:grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items:center;
  padding: 16px 16px;
  background: rgba(255,255,255,.02);
  border: none;
  color: var(--ut-text);
  cursor: pointer;
  text-align:left;
}
.ut-accTitle{
  font-weight: 1000;
}
.ut-accMeta{
  color: var(--ut-muted);
  font-weight: 900;
  white-space: nowrap;
}
.ut-accIcon{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: var(--ut-muted);
  transition: transform .18s ease, color .18s ease, border-color .18s ease, background .18s ease;
}
.ut-accItem.is-open .ut-accIcon{
  transform: rotate(180deg);
  color: var(--ut-text);
  border-color: rgba(246,216,79,.30);
  background: rgba(246,216,79,.10);
}
.ut-accPanel{
  padding: 14px 14px 16px 14px;
}

/* reused card styles from v7.17 (grid of price items) */
.ut-priceGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.ut-priceItem{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
}
.ut-priceItem--wide{ grid-column: 1 / -1; }
.ut-priceName{ font-weight: 900; color: var(--ut-text); }
.ut-priceVal{ font-weight: 900; color: rgba(246,216,79,.92); white-space: nowrap; }

.ut-priceNote{ margin-top: 10px; }
.ut-noteCard{
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  padding: 18px 18px;
}
.ut-noteCard ul{
  margin: 0 0 14px 0;
  padding-left: 18px;
  color: var(--ut-muted);
  line-height: 1.6;
}
.ut-noteCta{ display:flex; gap: 10px; flex-wrap: wrap; }

@media (max-width: 820px){
  .ut-accBtn{ grid-template-columns: 1fr auto; }
  .ut-accMeta{ display:none; }
  .ut-priceGrid{ grid-template-columns: 1fr; }
  .ut-priceItem--wide{ grid-column: auto; }
}

/* FAQ */
.ut-faq{display:grid;gap:12px}
.ut-faqItem{border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.02)}
.ut-faqBtn{width:100%;padding:16px 18px;font-weight:800;display:flex;justify-content:space-between;align-items:center;background:none;border:none;color:var(--ut-text);cursor:pointer}
.ut-faqPanel{padding:0 18px 18px 18px;color:var(--ut-muted);line-height:1.6}

/* v7.20: HERO (normal) */
.ut-hero{
  padding: 34px 0 10px;
}
.ut-heroGrid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
  align-items:center;
}
.ut-heroCopy{
  padding: 18px 18px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}
.ut-heroTitle{
  margin: 10px 0 10px 0;
  font-size: clamp(28px, 3.3vw, 44px);
  line-height: 1.08;
  letter-spacing: -0.02em;
}
.ut-heroLead{
  margin: 0;
  color: var(--ut-muted);
  line-height: 1.7;
  font-weight: 650;
}
.ut-heroCta{
  margin-top: 14px;
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ut-heroArt{
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.10);
  background: radial-gradient(100% 100% at 50% 0%, rgba(246,216,79,.10), rgba(255,255,255,.02));
}
.ut-heroMosaic{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px;
}
.ut-heroTile{
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 18px;
  min-height: 120px;
}
.ut-heroTile img{
  width: 78px;
  height: 78px;
  object-fit: contain;
  filter: drop-shadow(0 12px 35px rgba(0,0,0,.35));
  opacity: .98;
}

@media (max-width: 980px){
  .ut-hero{ padding-top: 22px; }
  .ut-heroGrid{ grid-template-columns: 1fr; }
  .ut-heroArt{ order: -1; }
}

/* v7.21: hero proportions fix */
.ut-heroGrid{
  grid-template-columns: 1fr .82fr;
  align-items: stretch; /* keep both columns aligned from top */
}
.ut-heroCopy{ padding: 16px; }
.ut-heroTitle{
  font-size: clamp(26px, 3.0vw, 40px);
  line-height: 1.10;
}
.ut-heroArt{
  height: 100%;
  display:flex;
}
.ut-heroMosaic{
  flex:1;
  display:grid;
  align-content:center; /* visually center mosaic without affecting outer alignment */
}
@media (max-width: 980px){
  .ut-heroGrid{ grid-template-columns: 1fr; }
  .ut-heroTitle{ font-size: clamp(26px, 6.0vw, 40px); }
}

/* v7.22: HERO – logo instead of icon mosaic */
.ut-heroMosaic{
  min-height: 240px;
}
.ut-heroLogoWrap{
  width: 100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 18px;
}
.ut-heroLogo{
  width: min(340px, 80%);
  height: auto;
  display:block;
  filter: drop-shadow(0 14px 26px rgba(0,0,0,.45));
  opacity: .98;
}
@media (max-width: 980px){
  .ut-heroLogo{ width: min(300px, 78%); }
}

/* v7.23: topbar – no left link, keep layout pushing menu right */
.ut-topbar__brandSpacer{
  margin-right: auto; /* keeps nav on the right */
  width: 1px;
  height: 1px;
}

/* v7.23: HERO – logo in the right card (replaces icon mosaic) */
.ut-heroLogoWrap{
  width: 100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 22px;
}
.ut-heroLogo{
  width: min(380px, 86%);
  height: auto;
  display:block;
  filter: drop-shadow(0 16px 30px rgba(0,0,0,.45));
  opacity: .98;
}
@media (max-width: 980px){
  .ut-heroLogo{ width: min(320px, 82%); }
}

/* v7.25: HERO PRO – large centered logo in right hero card */
.ut-heroArt .ut-heroMosaic{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height: 360px;
}

.ut-heroArt .ut-heroLogoWrap{
  width: 100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding: 26px !important;
}

.ut-heroArt img.ut-heroLogo{
  width: min(780px, 96%) !important; /* BIG */
  max-width: 780px !important;
  height: auto !important;
  display:block !important;
  filter: drop-shadow(0 18px 38px rgba(0,0,0,.55)) !important;
  opacity: .995 !important;
}

/* subtle premium halo behind the logo */
.ut-heroArt .ut-heroLogoWrap::before{
  content:"";
  position:absolute;
  inset: -10%;
  margin:auto;
  width: min(520px, 80%);
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(246,216,79,.12), rgba(246,216,79,0) 65%);
  filter: blur(6px);
  pointer-events:none;
}

.ut-heroArt .ut-heroLogoWrap{
  position: relative;
}

@media (max-width: 980px){
  .ut-heroArt .ut-heroMosaic{ min-height: 300px; }
  .ut-heroArt img.ut-heroLogo{
    width: min(520px, 92%) !important;
    max-width: 520px !important;
  }
}

/* v7.26: HERO glow+float – visible but classy */
.ut-heroArt .ut-heroLogoWrap::before{
  width: min(640px, 92%) !important;
  inset: -18% !important;
  background: radial-gradient(circle,
    rgba(246,216,79,.34) 0%,
    rgba(246,216,79,.16) 28%,
    rgba(246,216,79,0) 68%) !important;
  filter: blur(10px) !important;
  opacity: .95 !important;
  transform: translateY(6px);
  animation: utGlowPulse 4.8s ease-in-out infinite;
}

/* extra subtle ambient glow layer for depth */
.ut-heroArt .ut-heroMosaic::after{
  content:"";
  position:absolute;
  inset:-12%;
  margin:auto;
  width:min(720px, 110%);
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: radial-gradient(circle,
    rgba(255,255,255,.06) 0%,
    rgba(255,255,255,0) 60%);
  filter: blur(14px);
  pointer-events:none;
  opacity:.55;
}

.ut-heroArt .ut-heroMosaic{
  position: relative;
}

/* v7.27: hero logo static, glow stays */
.ut-heroArt img.ut-heroLogo{
  animation: none !important;
  will-change: auto;
  transform: none !important;
}

@keyframes utGlowPulse{
  0%, 100% { transform: translateY(6px) scale(1); opacity: .85; }
  50% { transform: translateY(2px) scale(1.03); opacity: .98; }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  .ut-heroArt img.ut-heroLogo{ animation: none !important; }
  .ut-heroArt .ut-heroLogoWrap::before{ animation: none !important; }
}


/* Offer section v7.28 */
.ut-head--offer{
  align-items:center;
}
.ut-offerBadge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid rgba(246,216,79,.34);
  background: linear-gradient(135deg, rgba(246,216,79,.14), rgba(240,180,41,.08));
  color: var(--ut-text);
  font-weight: 950;
  font-size: 13px;
  letter-spacing: .02em;
  box-shadow: 0 12px 28px rgba(0,0,0,.20);
}
.ut-offerGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.ut-offerCard{
  padding: 22px;
}
.ut-offerCard__top{
  display:grid;
  grid-template-columns: 56px 1fr;
  gap: 14px;
  align-items:start;
}
.ut-offerCard h3{
  margin: 0 0 8px;
  font-size: 22px;
}
.ut-offerCard__top p,
.ut-offerNote{
  margin: 0;
  color: var(--ut-muted);
  line-height: 1.65;
}
.ut-offerList{
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display:grid;
  gap: 10px;
}
.ut-offerList li{
  position: relative;
  padding-left: 18px;
  color: var(--ut-text);
  line-height: 1.6;
}
.ut-offerList li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--ut-accent);
  box-shadow: 0 0 0 5px rgba(246,216,79,.10);
}
.ut-offerNote{
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.10);
}
@media (max-width: 980px){
  .ut-head--offer{
    align-items:flex-start;
    flex-direction:column;
  }
  .ut-offerGrid{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px){
  .ut-offerCard{
    padding: 18px;
  }
  .ut-offerCard__top{
    grid-template-columns: 1fr;
  }
  .ut-offerCard h3{
    font-size: 20px;
  }
  .ut-offerBadge{
    width: 100%;
    border-radius: 16px;
    text-align:center;
  }
}


/* v7.31: referencje - refined hierarchy + scroll snap */
.ut-head--reviews{align-items:center}
.ut-reviewsMeta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(246,216,79,.22);
  background: rgba(246,216,79,.08);
  color: var(--ut-text);
  font-weight: 900;
  text-align:center;
}
.ut-reviews{
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
  padding: 18px;
}
.ut-reviews__track{
  display:grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(320px, calc((100% - 24px) / 3));
  gap: 12px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(246,216,79,.38) rgba(255,255,255,.05);
  padding: 0 2px 8px;
  scroll-behavior: smooth;
}
.ut-reviews__track::-webkit-scrollbar{height:10px}
.ut-reviews__track::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}
.ut-reviews__track::-webkit-scrollbar-thumb{background:rgba(246,216,79,.34);border-radius:999px}
.ut-reviewCard{
  min-height: 100%;
  padding: 18px;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  display:flex;
  flex-direction:column;
}
.ut-reviewCard__topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.ut-reviewCard__source{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  color: rgba(246,216,79,.92);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.ut-reviewCard__source::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(246,216,79,.92);
  box-shadow: 0 0 14px rgba(246,216,79,.35);
}
.ut-reviewCard__date,
.ut-reviewCard__meta{
  color: var(--ut-muted-2);
  font-size: 13px;
  line-height: 1.5;
}
.ut-reviewCard__date{
  display:block;
  white-space: nowrap;
  text-align:right;
}
.ut-reviewCard__name{
  display:block;
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 8px;
}
.ut-reviewCard__meta{
  min-height: 2.9em;
  margin-bottom: 14px;
}
.ut-reviewCard__stars{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  margin-bottom: 14px;
  color: var(--ut-text);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ut-reviewCard__starsIcons{
  color: rgba(246,216,79,.94);
  font-size: 14px;
  letter-spacing: .12em;
}
.ut-reviewCard p{
  margin: 0;
  color: var(--ut-text);
  line-height: 1.72;
  font-size: 15px;
  flex:1;
}
@media (max-width: 980px){
  .ut-reviews__track{grid-auto-columns: minmax(300px, calc((100% - 12px) / 2));}
}
@media (max-width: 640px){
  .ut-head--reviews{align-items:flex-start}
  .ut-reviews{padding: 14px}
  .ut-reviews__track{grid-auto-columns: 86%;}
  .ut-reviewCard{padding: 16px}
  .ut-reviewCard__topline{align-items:flex-start}
  .ut-reviewCard__date{white-space: normal}
  .ut-reviewCard__name{font-size: 20px}
}


/* v7.32: realizacje - featured case */
.ut-head--cases{
  align-items:center;
}
.ut-caseMeta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(246,216,79,.22);
  background: rgba(246,216,79,.08);
  color: var(--ut-text);
  font-weight: 900;
  text-align:center;
}
.ut-caseHero{
  overflow:hidden;
  display:grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
}
.ut-caseHero__media{
  position:relative;
  min-height: 100%;
  background: rgba(255,255,255,.03);
}
.ut-caseHero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, transparent 0%, rgba(11,15,20,.06) 100%);
  pointer-events:none;
}
.ut-caseHero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  aspect-ratio: 4 / 3;
  transition: transform .35s ease, filter .35s ease;
}
.ut-caseHero:hover .ut-caseHero__media img{
  transform: scale(1.02);
  filter: saturate(1.03);
}
.ut-caseHero__content{
  padding: 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ut-caseHero__pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(246,216,79,.22);
  background: rgba(246,216,79,.08);
  color: rgba(246,216,79,.96);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ut-caseHero__pill::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(246,216,79,.94);
  box-shadow: 0 0 14px rgba(246,216,79,.35);
}
.ut-caseHero h3{
  margin: 16px 0 10px;
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.08;
}
.ut-caseHero__meta{
  color: var(--ut-muted-2);
  font-size: 14px;
  margin-bottom: 16px;
}
.ut-caseHero p{
  margin:0;
  color: var(--ut-text);
  line-height:1.7;
}
.ut-caseHero__list{
  margin: 18px 0 0;
  padding-left: 18px;
  color: var(--ut-muted);
}
.ut-caseHero__list li{
  margin: 8px 0;
  line-height: 1.6;
}
@media (max-width: 980px){
  .ut-head--cases{
    align-items:flex-start;
  }
  .ut-caseHero{
    grid-template-columns: 1fr;
  }
  .ut-caseHero__content{
    padding: 20px;
  }
}
@media (max-width: 640px){
  .ut-caseMeta{
    padding: 9px 12px;
    font-size: 13px;
  }
  .ut-caseHero__content{
    padding: 18px;
  }
  .ut-caseHero h3{
    margin-top: 14px;
  }
}


/* v7.33: realizacje - grid na kolejne 4 realizacje + referencje uniwersalne */
.ut-caseGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}
.ut-caseStub{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.ut-caseStub__media{
  position:relative;
  aspect-ratio: 16 / 10;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:
    radial-gradient(circle at 20% 20%, rgba(246,216,79,.12), transparent 35%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ut-caseStub__media::before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:20px;
  border:1px dashed rgba(246,216,79,.24);
}
.ut-caseStub__media span{
  position:relative;
  z-index:1;
  color: var(--ut-muted-2);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ut-caseStub__content{
  padding: 20px;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.ut-caseStub__pill{
  display:inline-flex;
  align-items:center;
  width: fit-content;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(246,216,79,.18);
  background: rgba(246,216,79,.07);
  color: rgba(246,216,79,.92);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.ut-caseStub h3{
  margin: 0;
  font-size: 24px;
  line-height: 1.12;
}
.ut-caseStub__meta{
  color: var(--ut-muted-2);
  font-size: 14px;
}
.ut-caseStub p{
  margin:0;
  color: var(--ut-text);
  line-height:1.7;
}
@media (max-width: 980px){
  .ut-caseGrid{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px){
  .ut-caseGrid{
    gap: 14px;
  }
  .ut-caseStub__content{
    padding: 18px;
  }
  .ut-caseStub h3{
    font-size: 22px;
  }
}


/* v7.35: realizacje - układ v7.33 z natywnym przewijaniem i bez zoomu */
.ut-caseScroller{
  display:flex;
  gap:16px;
  margin-top:18px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  padding-bottom:10px;
}
.ut-caseScroller::-webkit-scrollbar{
  height:10px;
}
.ut-caseScroller::-webkit-scrollbar-track{
  background: rgba(255,255,255,.05);
  border-radius:999px;
}
.ut-caseScroller::-webkit-scrollbar-thumb{
  background: rgba(246,216,79,.45);
  border-radius:999px;
}
.ut-caseCard{
  scroll-snap-align:start;
  flex:0 0 min(100%, 560px);
}
.ut-caseHero{
  min-width:min(100%, 720px);
}
.ut-caseHero__media{
  display:block;
}
.ut-caseHero__media img{
  transition:none;
}
.ut-caseHero:hover .ut-caseHero__media img{
  transform:none;
  filter:none;
}
.ut-caseLink{
  text-decoration:none;
}
.ut-caseLink:focus-visible{
  outline:2px solid rgba(246,216,79,.9);
  outline-offset:4px;
}
.ut-caseGrid{
  display:flex;
  gap:16px;
  margin-top:0;
}
.ut-caseStub{
  flex:0 0 360px;
}
@media (max-width: 980px){
  .ut-caseScroller{
    gap:14px;
  }
  .ut-caseHero{
    min-width:min(92vw, 640px);
  }
  .ut-caseStub{
    flex-basis:min(84vw, 360px);
  }
}
@media (max-width: 640px){
  .ut-caseHero{
    min-width:min(92vw, 420px);
  }
  .ut-caseStub{
    flex-basis:min(84vw, 320px);
  }
}

/* v7.36: realizacje - wszystkie karty w układzie jak realizacja 1 */
.ut-caseScroller{
  align-items: stretch;
}
.ut-caseCard{
  flex: 0 0 min(100%, 720px);
}
.ut-caseHero{
  min-width: min(100%, 720px);
}
.ut-caseHero--stub .ut-caseHero__media{
  display:flex;
  align-items:center;
  justify-content:center;
}
.ut-caseStubMedia{
  position: relative;
  min-height: 100%;
  background:
    radial-gradient(circle at 20% 20%, rgba(246,216,79,.12), transparent 35%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border-right: 1px solid rgba(255,255,255,.08);
}
.ut-caseStubMedia::before{
  content:"";
  position:absolute;
  inset:22px;
  border-radius:20px;
  border:1px dashed rgba(246,216,79,.24);
}
.ut-caseStubMedia span{
  position:relative;
  z-index:1;
  color: var(--ut-muted-2);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ut-caseHero--stub .ut-caseHero__list{
  color: var(--ut-muted);
}
@media (max-width: 980px){
  .ut-caseCard,
  .ut-caseHero{
    flex-basis: min(92vw, 640px);
    min-width: min(92vw, 640px);
  }
  .ut-caseStubMedia{
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
}
@media (max-width: 640px){
  .ut-caseCard,
  .ut-caseHero{
    flex-basis: min(92vw, 420px);
    min-width: min(92vw, 420px);
  }
}

/* v7.37: realizacje - pełna szerokość każdej karty + zdjęcia 4:3 */
.ut-caseScroller{
  gap: 18px;
  scroll-snap-type: x mandatory;
}
.ut-caseCard,
.ut-caseHero{
  flex: 0 0 100%;
  min-width: 100%;
}
.ut-caseHero__media{
  align-self: stretch;
}
.ut-caseHero__media img{
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.ut-caseHero:hover .ut-caseHero__media img{
  transform: none;
  filter: none;
}
.ut-caseHero--stub .ut-caseHero__media,
.ut-caseStubMedia{
  min-height: 100%;
}
@media (max-width: 980px){
  .ut-caseScroller{
    gap: 14px;
  }
  .ut-caseCard,
  .ut-caseHero{
    flex-basis: 100%;
    min-width: 100%;
  }
}


/* v7.38: obszar działania */
.ut-head--area{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.ut-areaBadge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  padding:14px 20px;
  border-radius:999px;
  border:1px solid rgba(246,216,79,.24);
  background:linear-gradient(180deg, rgba(246,216,79,.08), rgba(246,216,79,.03));
  color:var(--ut-text);
  font-weight:800;
  white-space:nowrap;
}
.ut-areaCard{
  display:grid;
  gap:22px;
}
.ut-areaGroup{
  display:grid;
  gap:14px;
}
.ut-areaLabel{
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ut-muted-2);
}
.ut-areaChips{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.ut-areaChip{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  color:var(--ut-text);
  font-weight:700;
}
.ut-areaDivider{
  height:1px;
  background:linear-gradient(90deg, rgba(246,216,79,.18), rgba(255,255,255,.06), rgba(255,255,255,0));
}
.ut-areaCounties{
  margin:0;
  color:var(--ut-muted);
  line-height:1.8;
}
.ut-areaNote{
  margin-top:4px;
}
@media (max-width: 860px){
  .ut-head--area{
    flex-direction:column;
    align-items:flex-start;
  }
  .ut-areaBadge{
    white-space:normal;
  }
}

/* v7.39: oferta – większe ikony */
.ut-offerCard .ut-icon{
  width: 100px;
  height: 100px;
  border-radius: 24px;
}
.ut-offerCard .ut-icon img{
  width: 90px;
  height: 90px;
  object-fit: contain;
}
.ut-offerCard__top{
  grid-template-columns: 100px 1fr;
  gap: 16px;
}
@media (max-width: 640px){
  .ut-offerCard .ut-icon{
    width: 100px;
    height: 100px;
    margin-bottom: 2px;
  }
  .ut-offerCard .ut-icon img{
    width: 90px;
    height: 90px;
  }
}


/* v7.40: obszar działania – bardziej premium */
.ut-areaCard{
  position:relative;
  overflow:hidden;
}
.ut-areaCard::before{
  content:"";
  position:absolute;
  inset:auto -120px -140px auto;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(246,216,79,.08) 0%, rgba(246,216,79,.04) 35%, rgba(246,216,79,0) 72%);
  pointer-events:none;
}
.ut-areaMain{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.3fr) minmax(220px, .7fr);
  gap:24px;
  align-items:center;
}
.ut-areaCopy{
  display:grid;
  gap:22px;
}
.ut-areaIntro{
  display:grid;
  gap:12px;
}
.ut-areaIntro p{
  margin:0;
  color:var(--ut-muted);
  max-width:62ch;
}
.ut-areaVisual{
  position:relative;
  min-height:240px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    radial-gradient(260px 180px at 70% 25%, rgba(246,216,79,.12), rgba(246,216,79,0) 70%),
    radial-gradient(220px 180px at 30% 70%, rgba(255,255,255,.06), rgba(255,255,255,0) 72%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.ut-areaVisual__glow{
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(246,216,79,.22) 0%, rgba(246,216,79,.08) 40%, rgba(246,216,79,0) 72%);
  filter:blur(6px);
}
.ut-areaVisual__ring{
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  border:1px solid rgba(246,216,79,.16);
  box-shadow:0 0 0 24px rgba(255,255,255,.02), 0 0 0 48px rgba(255,255,255,.015);
}
.ut-areaVisual__img{
  position:relative;
  z-index:1;
  width:118px;
  height:118px;
  object-fit:contain;
  opacity:.96;
  filter:drop-shadow(0 16px 34px rgba(0,0,0,.36));
}
.ut-areaVisual__caption{
  position:absolute;
  left:16px;
  right:16px;
  bottom:14px;
  text-align:center;
  color:var(--ut-muted);
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ut-areaNote{ margin-top:4px; }
@media (max-width: 860px){
  .ut-areaMain{
    grid-template-columns:1fr;
  }
  .ut-areaVisual{
    min-height:180px;
  }
  .ut-areaCard::before{
    width:300px;
    height:300px;
    right:-120px;
    bottom:-120px;
  }
}


/* v7.41: obszar działania – uproszczenie + mapa Mazowsza w tle */
.ut-head--areaClean{
  display:block;
}
.ut-head--areaClean p{
  max-width:58ch;
}
.ut-areaCard--map{
  position:relative;
  overflow:hidden;
  min-height:0;
}
.ut-areaCard--map::before{
  content:"";
  position:absolute;
  inset:auto -120px -120px auto;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(246,216,79,.09) 0%, rgba(246,216,79,.035) 38%, rgba(246,216,79,0) 72%);
  pointer-events:none;
}
.ut-areaMap{
  position:absolute;
  inset:24px 20px 20px auto;
  width:min(44%, 460px);
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  opacity:.22;
}
.ut-areaMap img{
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 20px 48px rgba(0,0,0,.24));
}
.ut-areaMap__dot{
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#f6d84f;
  box-shadow:0 0 0 6px rgba(246,216,79,.12), 0 0 28px rgba(246,216,79,.3);
}
.ut-areaMap__dot::before{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:50%;
  border:1px solid rgba(246,216,79,.36);
}
.ut-areaMap__dot--warszawa{
  left:50.8%;
  top:41.2%;
}
.ut-areaMap__dot--piaseczno{
  left:47.7%;
  top:46.8%;
  width:8px;
  height:8px;
  opacity:.95;
}
.ut-areaMap__dot--gora{
  left:46.3%;
  top:54.8%;
  width:8px;
  height:8px;
  opacity:.95;
}
.ut-areaMap__dot--konstancin{
  left:46.9%;
  top:44.5%;
  width:8px;
  height:8px;
  opacity:.95;
}
.ut-areaMap__dot--otwock{
  left:55.6%;
  top:47.8%;
  width:8px;
  height:8px;
  opacity:.95;
}
.ut-areaCopy--centered{
  position:relative;
  z-index:1;
  max-width:760px;
  gap:26px;
}
.ut-areaCard--map .ut-areaGroup{
  gap:16px;
}
.ut-areaCard--map .ut-areaChips{
  gap:14px;
}
.ut-areaCard--map .ut-areaChip{
  padding:12px 18px;
  min-height:48px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  backdrop-filter:blur(2px);
}
.ut-areaCard--map .ut-areaCounties{
  max-width:60ch;
}
@media (max-width: 980px){
  .ut-areaMap{
    width:min(48%, 360px);
    inset:38px 6px auto auto;
    opacity:.18;
  }
}
@media (max-width: 760px){
  .ut-areaMap{
    position:relative;
    inset:auto;
    width:min(100%, 280px);
    margin:0 auto 18px;
    opacity:.16;
  }
  .ut-areaCard--map{
    display:grid;
    gap:8px;
  }
  .ut-areaCopy--centered{
    max-width:none;
  }
}


/* v7.43: obszar działania – ring działania zamiast pseudo-mapy */
.ut-areaCard--ring{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(280px, .95fr);
  gap:28px;
  align-items:center;
}
.ut-areaCard--ring::before{
  inset:auto -120px -140px auto;
  width:380px;
  height:380px;
  background:radial-gradient(circle, rgba(246,216,79,.08) 0%, rgba(246,216,79,.03) 42%, rgba(246,216,79,0) 74%);
}
.ut-areaCard--ring .ut-areaCopy--centered{
  max-width:none;
}
.ut-areaRing{
  position:relative;
  min-height:380px;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.ut-areaRing__halo{
  position:absolute;
  width:300px;
  height:300px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(246,216,79,.12) 0%, rgba(246,216,79,.05) 34%, rgba(246,216,79,0) 68%);
  filter:blur(10px);
}
.ut-areaRing__circle{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(246,216,79,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.ut-areaRing__circle--outer{
  width:318px;
  height:318px;
}
.ut-areaRing__circle--mid{
  width:236px;
  height:236px;
  border-color:rgba(255,255,255,.1);
}
.ut-areaRing__circle--inner{
  width:136px;
  height:136px;
  border-color:rgba(246,216,79,.24);
}
.ut-areaRing__city{
  position:absolute;
  display:inline-flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}
.ut-areaRing__dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#f6d84f;
  box-shadow:0 0 0 6px rgba(246,216,79,.11), 0 0 26px rgba(246,216,79,.28);
  flex:0 0 auto;
}
.ut-areaRing__label{
  font-size:13px;
  font-weight:800;
  letter-spacing:.01em;
  color:rgba(255,255,255,.86);
  text-shadow:0 2px 10px rgba(0,0,0,.38);
}
.ut-areaRing__city--warszawa{
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  flex-direction:column;
  gap:8px;
}
.ut-areaRing__city--warszawa .ut-areaRing__dot{
  width:12px;
  height:12px;
  box-shadow:0 0 0 8px rgba(246,216,79,.12), 0 0 34px rgba(246,216,79,.34);
}
.ut-areaRing__city--warszawa .ut-areaRing__label{
  font-size:14px;
}
 .ut-areaRing__city--piaseczno{
  top:62%;
  left:41%;
}
 .ut-areaRing__city--konstancin{
  top:66%;
  left:56%;
}
 .ut-areaRing__city--otwock{
  top:72%;
  right:20%;
}
 .ut-areaRing__city--jozefow{
  top:59%;
  right:22%;
}
 .ut-areaRing__city--gora{
  top:84%;
  right:22%;
}
@media (max-width: 980px){
  .ut-areaCard--ring{
    grid-template-columns:1fr;
    gap:12px;
  }
  .ut-areaRing{
    order:-1;
    min-height:320px;
    margin-bottom:8px;
  }
}
@media (max-width: 760px){
  .ut-areaRing{
    min-height:300px;
  }
  .ut-areaRing__circle--outer{
    width:258px;
    height:258px;
  }
  .ut-areaRing__circle--mid{
    width:196px;
    height:196px;
  }
  .ut-areaRing__circle--inner{
    width:118px;
    height:118px;
  }
  .ut-areaRing__label{
    font-size:12px;
  }
  .ut-areaRing__city--piaseczno{
    top:62%;
    left:41%;
  }
  .ut-areaRing__city--konstancin{
    top:66%;
    left:56%;
  }
  .ut-areaRing__city--otwock{
    top:72%;
    right:20%;
  }
  .ut-areaRing__city--jozefow{
    top:59%;
    right:22%;
  }
  .ut-areaRing__city--gora{
    top:84%;
    right:22%;
  }
}
@media (max-width: 520px){
  .ut-areaRing{
    min-height:286px;
    overflow:hidden;
  }
  .ut-areaRing__city{
    gap:8px;
  }
  .ut-areaRing__city--warszawa .ut-areaRing__label{
    font-size:13px;
  }
  .ut-areaRing__city--konstancin .ut-areaRing__label{
    max-width:112px;
    white-space:normal;
    line-height:1.15;
  }
  .ut-areaRing__city--piaseczno{
    left:41%;
    top:62%;
  }
  .ut-areaRing__city--konstancin{
    left:56%;
    top:66%;
  }
  .ut-areaRing__city--otwock{
    right:20%;
    top:72%;
  }
  .ut-areaRing__city--jozefow{
    right:22%;
    top:59%;
  }
  .ut-areaRing__city--gora{
    right:22%;
    top:84%;
  }
}


/* v7.48: cennik refinement */
.ut-sectionHead--pricing .ut-muted{
  max-width: 76ch;
  line-height: 1.7;
}
.ut-pricingIntro{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 18px;
}
.ut-pricingIntro__item{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
  padding: 14px 16px;
  display:grid;
  gap: 6px;
  box-shadow: var(--ut-shadow-soft);
}
.ut-pricingIntro__item strong{
  font-size: 14px;
  line-height: 1.2;
}
.ut-pricingIntro__item span{
  color: var(--ut-muted);
  font-size: 13px;
  line-height: 1.55;
}
.ut-accItem{
  border-color: rgba(255,255,255,.11);
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018));
}
.ut-accBtn{
  grid-template-columns: 1fr auto;
  padding: 18px 18px;
  gap: 18px;
  transition: background .18s ease, border-color .18s ease;
}
.ut-accBtn:hover{
  background: rgba(255,255,255,.03);
}
.ut-accHead{
  display:flex;
  align-items:center;
  gap: 14px;
  min-width: 0;
}
.ut-accThumb{
  width: 58px;
  height: 58px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: radial-gradient(circle at 50% 10%, rgba(246,216,79,.14), rgba(255,255,255,.02) 60%);
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 58px;
}
.ut-accThumb img{
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: drop-shadow(0 10px 16px rgba(0,0,0,.32));
}
.ut-accText{
  min-width:0;
  display:grid;
  gap: 4px;
}
.ut-accTitle{
  display:block;
  font-size: 18px;
  line-height: 1.2;
}
.ut-accMeta{
  display:block;
  white-space: normal;
  font-size: 13px;
  font-weight: 800;
}
.ut-accPanel{
  padding: 0 18px 18px 18px;
}
.ut-priceGrid{
  gap: 14px;
}
.ut-priceItem{
  align-items: center;
  padding: 15px 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.024);
}
.ut-priceName{
  line-height: 1.45;
}
.ut-priceVal{
  font-size: 15px;
}
.ut-priceItem--focus{
  border-color: rgba(246,216,79,.24);
  background: linear-gradient(180deg, rgba(246,216,79,.08), rgba(255,255,255,.02));
  box-shadow: 0 0 0 1px rgba(246,216,79,.04) inset;
}
.ut-noteCard h3{
  margin: 0 0 12px;
  font-size: 18px;
}
.ut-noteCard{
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
}
@media (max-width: 980px){
  .ut-pricingIntro{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 820px){
  .ut-accBtn{
    padding: 16px;
  }
  .ut-accHead{
    gap: 12px;
  }
  .ut-accThumb{
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }
  .ut-accThumb img{
    width: 30px;
    height: 30px;
  }
  .ut-accTitle{
    font-size: 16px;
  }
  .ut-accMeta{
    display:block;
    font-size: 12px;
  }
  .ut-priceItem{
    align-items:flex-start;
  }
}
@media (max-width: 560px){
  .ut-accHead{
    align-items:flex-start;
  }
  .ut-priceItem{
    flex-direction: column;
    gap: 6px;
  }
  .ut-priceVal{
    white-space: normal;
  }
}


/* v7.49 FAQ grouped */
.ut-faqGroups{display:grid;gap:20px}
.ut-faqGroup{position:relative;padding:22px;border-radius:24px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));box-shadow:0 12px 36px rgba(0,0,0,.18)}
.ut-faqGroup__head{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.ut-faqGroup__icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:22px;background:radial-gradient(circle at 30% 30%, rgba(236,181,74,.22), rgba(236,181,74,.08));border:1px solid rgba(236,181,74,.22);box-shadow:0 0 20px rgba(236,181,74,.12)}
.ut-faqGroup__title{margin:0;font-size:clamp(1.05rem, 2vw, 1.2rem)}
.ut-faqGroup__meta{margin:4px 0 0;color:var(--ut-muted);font-size:.95rem;line-height:1.5}
.ut-faqGroup .ut-faq{display:grid;gap:12px}
.ut-faqGroup .ut-faqItem{border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.018);transition:border-color .2s ease, background-color .2s ease, transform .2s ease}
.ut-faqGroup .ut-faqItem:hover{border-color:rgba(236,181,74,.26);background:rgba(255,255,255,.03);transform:translateY(-1px)}
.ut-faqBtn{gap:16px;text-align:left}
.ut-faqBtn .ut-faqIcon{flex:0 0 auto;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02);transition:transform .2s ease, border-color .2s ease, background-color .2s ease}
.ut-faqBtn[aria-expanded="true"] .ut-faqIcon{transform:rotate(45deg);border-color:rgba(236,181,74,.28);background:rgba(236,181,74,.08)}
.ut-faqPanel p{margin:0}
@media (min-width: 900px){
  .ut-faqGroups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ut-faqGroup:last-child{grid-column:1/-1}
}
@media (max-width: 640px){
  .ut-faqGroup{padding:18px}
  .ut-faqGroup__head{grid-template-columns:42px 1fr;gap:12px}
  .ut-faqGroup__icon{width:42px;height:42px;border-radius:14px;font-size:20px}
  .ut-faqBtn{padding:15px 16px;font-size:.96rem}
}


/* FAQ icon consistency upgrade */
.ut-faqGroup__icon{overflow:hidden}
.ut-faqGroup__icon img{width:24px;height:24px;object-fit:contain;display:block;filter:drop-shadow(0 0 10px rgba(236,181,74,.18))}
.ut-faqGroup{transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease}
.ut-faqGroup:hover{border-color:rgba(236,181,74,.18);box-shadow:0 18px 40px rgba(0,0,0,.22)}
.ut-faqGroup__head{align-items:center}
.ut-faqGroup__title{letter-spacing:.01em}
.ut-faqBtn{transition:color .2s ease}
.ut-faqBtn:hover{color:var(--ut-accent)}
.ut-faqBtn[aria-expanded="true"]{color:var(--ut-accent)}
.ut-faqBtn[aria-expanded="true"] + .ut-faqPanel{padding-top:2px}
@media (max-width: 767px){
  .ut-faqGroup__icon img{width:22px;height:22px}
}


/* v7.52 – why/proces refresh */
.ut-tiles--why{grid-template-columns:repeat(4,1fr)}
@media (max-width: 1100px){ .ut-tiles--why{grid-template-columns: repeat(2,1fr)} }
@media (max-width: 640px){ .ut-tiles--why{grid-template-columns: 1fr} }
.ut-tile--why{min-height:100%}
.ut-icon--why{width:54px; height:54px}
.ut-icon--why img{width:32px; height:32px}
.ut-steps--timeline{grid-template-columns:repeat(4,1fr)}
@media (max-width: 1200px){ .ut-steps--timeline{grid-template-columns: repeat(2,1fr)} }
@media (max-width: 640px){ .ut-steps--timeline{grid-template-columns: 1fr} }
.ut-step--rich{display:flex; flex-direction:column; gap:14px; min-height:100%}
.ut-step__top{display:flex; align-items:center; justify-content:space-between; gap:12px}
.ut-step__icon{flex:0 0 auto}
.ut-step--rich .ut-step__h{margin:0 0 8px}


/* v7.53 why/process icon cleanup */
.ut-tile--why h3{margin-top:0}
.ut-step__top{justify-content:flex-start}
.ut-step__n{margin-right:0}


/* v7.54: simplified contact section */
.ut-contact--simple{align-items:stretch;}
.ut-contactCard--info{display:flex; flex-direction:column; justify-content:flex-start;}
.ut-contactPhone{display:inline-block; margin-top:14px; font-size:clamp(34px,4vw,56px); line-height:1.05; font-weight:950; letter-spacing:-.02em; color:var(--ut-text); text-decoration:none;}
.ut-contactPhone:hover{color:var(--ut-accent);}
.ut-contactMeta{margin-top:10px; color:var(--ut-muted); font-weight:700;}
.ut-contactLabel{font-weight:950;}
.ut-contactValue{color:var(--ut-muted); text-decoration:none;}
.ut-contactValue:hover{color:var(--ut-text);}
.ut-contactIntro{margin:12px 0 0; color:var(--ut-muted);}
.ut-contactHint{margin:8px 0 0; color:var(--ut-muted-2); font-size:13px;}
#kontakt, #zapytanie{scroll-margin-top:120px;}
@media (max-width: 640px){ .ut-contactPhone{font-size:40px;} #kontakt, #zapytanie{scroll-margin-top:96px;} }


/* v7.55 SEO + polish */
.ut-hero,
.ut-section,
#kontakt,
#zapytanie,
#oferta,
#realizacje,
#referencje,
#obszar,
#dlaczego,
#proces,
#faq,
#cennik {
  scroll-margin-top: calc(var(--ut-header-h) + 14px);
}

.ut-card,
.ut-offerCard,
.ut-processCard,
.ut-whyCard,
.ut-contactCard,
.ut-accItem,
.ut-faqGroup,
.ut-refCard,
.ut-realCard {
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

@media (hover:hover) and (pointer:fine) {
  .ut-card:hover,
  .ut-offerCard:hover,
  .ut-processCard:hover,
  .ut-whyCard:hover,
  .ut-contactCard:hover,
  .ut-accItem:hover,
  .ut-faqGroup:hover,
  .ut-refCard:hover,
  .ut-realCard:hover {
    transform: translateY(-2px);
    border-color: rgba(246,216,79,.18);
    box-shadow: 0 14px 36px rgba(0,0,0,.24);
  }
}

.ut-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .45s ease, transform .45s ease;
}

.ut-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .ut-reveal, .ut-reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.ut-footAreas {
  margin-top: 8px;
  color: rgba(255,255,255,.64);
  font-size: 14px;
  line-height: 1.55;
}


/* v7.59: UX PRO polish – subtelne mikroanimacje, hinty i delikatny glow */
.ut-hero{
  position:relative;
  overflow:hidden;
}
.ut-hero::before{
  content:"";
  position:absolute;
  inset:-120px auto auto -120px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(246,216,79,.12) 0%, rgba(246,216,79,.04) 42%, rgba(246,216,79,0) 72%);
  pointer-events:none;
  filter:blur(4px);
}
.ut-hero::after{
  content:"";
  position:absolute;
  inset:auto -140px -160px auto;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.08) 0%, rgba(255,255,255,.02) 38%, rgba(255,255,255,0) 74%);
  pointer-events:none;
}
.ut-heroGrid,
.ut-head,
.ut-offerGrid,
.ut-caseScroller,
.ut-reviews,
.ut-steps--timeline,
.ut-areaCard,
.ut-acc,
.ut-contact--simple{
  position:relative;
  z-index:1;
}

.ut-heroLogoWrap{
  position:relative;
}
.ut-heroLogoWrap::before{
  content:"";
  position:absolute;
  inset:10% 12%;
  border-radius:28px;
  background:radial-gradient(circle, rgba(246,216,79,.20) 0%, rgba(246,216,79,.08) 35%, rgba(246,216,79,0) 74%);
  filter:blur(18px);
  pointer-events:none;
}
.ut-heroLogo{
  position:relative;
  animation: utHeroFloat 7s ease-in-out infinite;
}
@keyframes utHeroFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}

.ut-offerCard{
  position:relative;
  overflow:hidden;
}
.ut-offerCard::before,
.ut-reviewCard::before,
.ut-step--rich::before,
.ut-accItem::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(246,216,79,.42), transparent);
  opacity:.55;
  pointer-events:none;
}
.ut-offerCard::after{
  content:"";
  position:absolute;
  inset:auto -80px -80px auto;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(246,216,79,.09) 0%, rgba(246,216,79,0) 72%);
  opacity:0;
  transition:opacity .24s ease;
  pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
  .ut-offerCard:hover::after{opacity:1}
  .ut-offerCard:hover .ut-icon{
    transform:translateY(-2px) scale(1.02);
    box-shadow:0 14px 28px rgba(0,0,0,.24), 0 0 0 1px rgba(246,216,79,.08) inset;
  }
}
.ut-icon{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.ut-scrollHint{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:0 0 12px;
  color:var(--ut-muted-2);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ut-scrollHint__arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  animation: utScrollNudge 1.8s ease-in-out infinite;
}
@keyframes utScrollNudge{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(4px)}
}

.ut-caseMeta--pro,
.ut-reviewsMeta{
  position:relative;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(246,216,79,.20);
  background:linear-gradient(180deg, rgba(246,216,79,.08), rgba(255,255,255,.025));
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.ut-caseHero{
  position:relative;
  overflow:hidden;
}
.ut-caseHero::after{
  content:"";
  position:absolute;
  inset:auto -120px -120px auto;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(246,216,79,.10) 0%, rgba(246,216,79,0) 72%);
  pointer-events:none;
  opacity:.75;
}
.ut-caseHero__media{
  overflow:hidden;
}
.ut-caseHero__media img{
  transition:transform .55s ease, filter .55s ease;
}
@media (hover:hover) and (pointer:fine){
  .ut-caseHero:hover .ut-caseHero__media img{
    transform:scale(1.018);
    filter:saturate(1.03);
  }
}

.ut-reviews--pro{
  position:relative;
}
.ut-reviews--pro::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:84px;
  height:100%;
  background:linear-gradient(90deg, rgba(11,15,20,0), rgba(11,15,20,.74) 70%, rgba(11,15,20,.94));
  pointer-events:none;
}
.ut-reviewCard{
  position:relative;
  overflow:hidden;
}
.ut-reviewCard__stars{
  text-shadow:0 0 14px rgba(246,216,79,.12);
}

.ut-step--rich{
  position:relative;
  overflow:hidden;
}
.ut-step__n{
  box-shadow:0 8px 22px rgba(0,0,0,.22), 0 0 0 1px rgba(246,216,79,.14) inset;
}

.ut-areaCard--ring{
  box-shadow:0 20px 50px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}
.ut-areaRing__halo{
  animation: utPulseHalo 6s ease-in-out infinite;
}
@keyframes utPulseHalo{
  0%,100%{transform:scale(1); opacity:.82}
  50%{transform:scale(1.04); opacity:1}
}
.ut-areaRing__dot{
  box-shadow:0 0 0 6px rgba(246,216,79,.10), 0 0 20px rgba(246,216,79,.18);
}
.ut-areaRing__label{
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.ut-topbar__link,
.ut-topbar__moreBtn,
.ut-mobile a,
.ut-btn,
.ut-accBtn,
.ut-faqBtn{
  transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
@media (hover:hover) and (pointer:fine){
  .ut-topbar__link:hover,
  .ut-topbar__moreBtn:hover{
    box-shadow:0 10px 22px rgba(0,0,0,.14);
  }
  .ut-btn--primary:hover{
    box-shadow:0 18px 40px rgba(0,0,0,.26), 0 0 22px rgba(246,216,79,.16);
  }
}

@media (max-width: 860px){
  .ut-scrollHint{justify-content:flex-start}
  .ut-reviews--pro::after{width:52px}
}
@media (max-width: 640px){
  .ut-heroLogo{animation:none}
  .ut-scrollHint{font-size:11px; letter-spacing:.06em}
  .ut-scrollHint__arrow{width:24px; height:24px}
}
@media (prefers-reduced-motion: reduce){
  .ut-heroLogo,
  .ut-scrollHint__arrow,
  .ut-areaRing__halo{animation:none}
  .ut-caseHero__media img,
  .ut-icon,
  .ut-topbar__link,
  .ut-topbar__moreBtn,
  .ut-mobile a,
  .ut-btn,
  .ut-accBtn,
  .ut-faqBtn{transition:none}
}

/* v7.60: kontakt + dane firmy + większe ikony w stopce */
.ut-contactCompany{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
}
.ut-contactCompany__name{
  margin-top:8px;
  font-weight:900;
  line-height:1.45;
}
.ut-contactCompany__line,
.ut-contactCompany__meta{
  margin-top:6px;
  color:var(--ut-muted);
  line-height:1.6;
}

.ut-footRow--company{
  align-items:flex-start;
}
.ut-footCompany{
  margin-top:12px;
  display:grid;
  gap:6px;
  color:var(--ut-muted);
  line-height:1.65;
}
.ut-footCompany__name{
  color:var(--ut-text);
  font-weight:900;
  letter-spacing:.01em;
}
.ut-footCompany__meta{
  color:rgba(255,255,255,.78);
}
.ut-iconStrip{
  gap:10px;
  margin-top:18px;
}
.ut-iconStrip img{
  width:36px;
  height:36px;
  padding:7px;
  border-radius:14px;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, opacity .18s ease;
}
@media (hover:hover) and (pointer:fine){
  .ut-iconStrip img:hover{
    transform:translateY(-2px);
    opacity:1;
    border-color:rgba(246,216,79,.24);
    background:rgba(255,255,255,.06);
    box-shadow:0 10px 24px rgba(0,0,0,.22);
  }
}
@media (max-width:640px){
  .ut-iconStrip img{
    width:34px;
    height:34px;
    padding:6px;
  }
  .ut-footCompany__meta span[aria-hidden="true"]{
    display:none;
  }
}


/* v7.63: Oferta Variant B – premium native horizontal scroller */
.ut-offerScroller{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 18px) / 2.16);
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:rgba(246,216,79,.28) rgba(255,255,255,.06);
  padding:2px 22px 14px 2px;
  margin-right:-22px;
}
.ut-offerScroller::-webkit-scrollbar{height:10px}
.ut-offerScroller::-webkit-scrollbar-track{background:rgba(255,255,255,.04); border-radius:999px}
.ut-offerScroller::-webkit-scrollbar-thumb{background:rgba(246,216,79,.26); border-radius:999px}
.ut-offerScroller:focus-visible{
  outline:1px solid rgba(246,216,79,.30);
  outline-offset:6px;
  border-radius:24px;
}
.ut-offerScroller .ut-offerCard{
  height:100%;
  scroll-snap-align:start;
}
.ut-scrollHint--offer{
  justify-content:flex-start;
  margin-bottom:14px;
}
@media (max-width: 1180px){
  .ut-offerScroller{grid-auto-columns:calc((100% - 18px) / 1.82)}
}
@media (max-width: 980px){
  .ut-offerScroller{
    grid-auto-columns:minmax(320px, 74%);
    padding-right:16px;
    margin-right:-16px;
  }
}
@media (max-width: 640px){
  .ut-offerScroller{
    grid-auto-columns:88%;
    gap:14px;
    padding-bottom:10px;
  }
}


/* v7.64 portfolio + B2B bridge */
.ut-footB2B{display:inline-block;margin-top:8px;color:rgba(246,216,79,.94);font-weight:800;text-decoration:none}.ut-footB2B:hover{text-decoration:underline}.ut-caseHero__content{min-width:0}.ut-caseHero__meta{overflow-wrap:anywhere}


/* v7.68: mocniej wyeksponowana oferta B2B + korekty CTA i stopki */
.ut-topbar__b2bBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(246,216,79,.34);
  background:rgba(246,216,79,.08);
  color:var(--ut-text);
  text-decoration:none;
  font-weight:900;
  white-space:nowrap;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.ut-topbar__b2bBtn:hover{
  transform:translateY(-1px);
  border-color:rgba(246,216,79,.58);
  background:rgba(246,216,79,.15);
  color:var(--ut-text);
  box-shadow:0 10px 24px rgba(0,0,0,.20);
}

/* Primary CTA ma zachować złoty styl również po najechaniu. */
.ut-btn--primary:hover{
  background:linear-gradient(135deg, rgba(246,216,79,.99), rgba(240,180,41,.96));
  border-color:rgba(246,216,79,.48);
  color:rgba(10,12,16,.98);
  filter:brightness(1.03);
}

.ut-footB2B{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:12px;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid rgba(246,216,79,.28);
  background:rgba(246,216,79,.07);
  color:var(--ut-text);
  text-decoration:none;
  font-weight:900;
  line-height:1.2;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.ut-footB2B:hover{
  transform:translateY(-1px);
  border-color:rgba(246,216,79,.50);
  background:rgba(246,216,79,.13);
  color:var(--ut-text);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

@media (max-width:980px){
  .ut-topbar__b2bBtn{
    min-height:38px;
    padding:0 12px;
    font-size:14px;
  }
}
@media (max-width:420px){
  .ut-topbar__b2bBtn{
    min-height:36px;
    padding:0 10px;
    font-size:13px;
  }
}


/* v7.70: Dla firm pozostaje neutralnym elementem nawigacji; aktywna jest bieżąca sekcja. */
