/* IT-BALON.CZ – HERO SLIDER v214
   Čistá verze podle schválené reference:
   full-width background + HTML texty/CTA/tabs.
   Opravy: menší nadpisy, lepší rozložení textu, no-repeat background,
   vyčištěný spodní grafický podklad bez starých buněk.
*/

.itb214-slider,
.itb214-slider * {
  box-sizing: border-box;
}

/* Header */
@media (min-width: 901px) {
  .site-header,
  header.site-header {
    background: rgba(255,255,255,.97) !important;
    backdrop-filter: blur(18px) !important;
    border-bottom: 1px solid #d8e7f9 !important;
    box-shadow: 0 1px 0 rgba(15,23,42,.04) !important;
  }

  .site-header .header-inner,
  header.site-header .header-inner {
    height: 70px !important;
  }

  .site-header .brand-image,
  header.site-header .brand-image {
    min-width: 255px !important;
  }

  .site-header .brand-image img,
  header.site-header .brand-image img {
    height: 44px !important;
    max-height: 44px !important;
    width: auto !important;
  }

  .site-header .main-nav,
  header.site-header .main-nav {
    gap: 24px !important;
    font-size: 14px !important;
    font-weight: 760 !important;
  }

  .site-header .main-nav > a,
  header.site-header .main-nav > a {
    padding: 22px 0 !important;
  }

  .site-header .nav-actions,
  header.site-header .nav-actions {
    gap: 10px !important;
    margin-left: 10px !important;
  }

  .site-header .nav-actions .btn,
  header.site-header .nav-actions .btn {
    min-height: 44px !important;
    padding: 0 20px !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
    font-weight: 850 !important;
    box-shadow: none !important;
  }
}

/* Desktop hero */
.itb214-slider {
  --itb214-h: clamp(580px, 41vw, 690px);
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  min-height: var(--itb214-h);
  margin-left: -50vw;
  margin-right: -50vw;
  overflow: hidden;
  background: #f7f9fd;
  border-top: 1px solid rgba(15,23,42,.05);
  border-bottom: 0;
  isolation: isolate;
}

.itb214-viewport {
  position: relative;
  min-height: var(--itb214-h);
}

.itb214-slide {
  position: absolute;
  inset: 0;
  min-height: var(--itb214-h);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 520ms ease, visibility 520ms ease;
  background-image: var(--bg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat !important;
}

.itb214-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.985) 0%,
      rgba(255,255,255,.965) 18%,
      rgba(255,255,255,.88) 34%,
      rgba(255,255,255,.66) 48%,
      rgba(255,255,255,.30) 64%,
      rgba(255,255,255,.08) 82%,
      rgba(255,255,255,0) 100%
    );
  pointer-events: none;
}

.itb214-slide::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 210px;
  z-index: 2;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.78) 78%,
    rgba(255,255,255,.96) 100%
  );
  pointer-events: none;
}

.itb214-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 2;
}

.itb214-inner {
  position: relative;
  z-index: 3;
  width: min(calc(100% - 130px), 1450px);
  min-height: var(--itb214-h);
  margin: 0 auto;
  padding: 68px 0 142px;
  display: flex;
  align-items: center;
}

.itb214-content {
  width: min(560px, 43vw);
}

.itb214-eyebrow {
  margin: 0 0 18px;
  color: var(--accent, #0b63ff);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.itb214-content h1 {
  margin: 0 0 24px;
  color: #071126;
  font-size: clamp(40px, 3.65vw, 61px);
  line-height: 1.055;
  font-weight: 900;
  letter-spacing: -0.058em;
  max-width: 720px;
}

.itb214-content h1 span {
  color: var(--accent, #0b63ff);
}

.itb214-content p {
  max-width: 520px;
  margin: 0 0 26px;
  color: #46556c;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 520;
}

.itb214-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 26px;
}

.itb214-btn {
  min-height: 50px;
  padding: 0 27px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-size: 15px;
  font-weight: 850;
  text-decoration: none;
  border: 1px solid transparent;
  box-shadow: none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.itb214-btn:hover {
  transform: translateY(-1px);
}

.itb214-btn--primary {
  background: #0b63ff;
  border-color: #0b63ff;
  color: #fff;
}

.itb214-btn--dark {
  background: #071126;
  border-color: #071126;
  color: #fff;
}

.itb214-btn--danger {
  background: #e10600;
  border-color: #e10600;
  color: #fff;
}

.itb214-btn--secondary {
  background: rgba(255,255,255,.72);
  border-color: rgba(15,23,42,.23);
  color: #172033;
  backdrop-filter: blur(14px);
}

.itb214-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.itb214-counter {
  margin-right: 8px;
  color: #9aa6b8;
  font-size: 17px;
  font-weight: 800;
}

.itb214-counter strong {
  color: #071126;
  font-size: 23px;
}

.itb214-arrow {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(43,63,96,.25);
  background: rgba(255,255,255,.76);
  color: #0b2a66;
  font-size: 23px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
  backdrop-filter: blur(12px);
}

/* Bottom tabs */
.itb214-tabs {
  position: absolute;
  left: 50%;
  bottom: 28px;
  z-index: 6;
  transform: translateX(-50%);
  width: min(calc(100% - 130px), 1450px);
  min-height: 92px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  background: rgba(255,255,255,.90);
  border: 1px solid rgba(15,23,42,.06);
  border-radius: 18px;
  box-shadow: 0 28px 72px rgba(15,23,42,.12);
  backdrop-filter: blur(22px);
  overflow: hidden;
}

.itb214-tab {
  position: relative;
  min-width: 0;
  padding: 0 18px;
  border: 0;
  border-right: 1px solid rgba(83,101,132,.12);
  background: transparent;
  color: #53617a;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  font-size: 14px;
  font-weight: 720;
  white-space: nowrap;
  cursor: pointer;
}

.itb214-tab:last-child {
  border-right: 0;
}

.itb214-tab svg {
  width: 25px;
  height: 25px;
  display: block;
  stroke-width: 1.85;
}

.itb214-tab.is-active {
  color: #0016b9;
  background: rgba(255,255,255,.82);
  font-weight: 900;
}

.itb214-tab.is-active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 88px;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: #0b63ff;
  transform: translateX(-50%);
}

.services-section {
  padding-top: 52px !important;
}

.metrics-strip:empty,
.section-sm.metrics-strip {
  display: none !important;
}

/* Tablet */
@media (min-width: 901px) and (max-width: 1320px) {
  .itb214-slider {
    --itb214-h: clamp(535px, 45vw, 640px);
  }

  .itb214-inner,
  .itb214-tabs {
    width: min(calc(100% - 70px), 1280px);
  }

  .itb214-content {
    width: min(500px, 47vw);
  }

  .itb214-content h1 {
    font-size: clamp(36px, 4vw, 56px);
  }

  .itb214-content p {
    max-width: 470px;
    font-size: 15.8px;
  }

  .itb214-tabs {
    min-height: 82px;
  }

  .itb214-tab {
    gap: 9px;
    font-size: 12.5px;
    padding: 0 10px;
  }

  .itb214-tab svg {
    width: 21px;
    height: 21px;
  }
}

/* Mobile header support shortcut */
.mobile-support-shortcut {
  display: none;
}

@media (max-width: 900px) {
  .site-header .header-inner {
    gap: 10px !important;
  }

  .site-header .brand-image,
  header .brand-image {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .site-header .brand-image img,
  header .brand-image img {
    max-height: 40px !important;
    width: auto !important;
  }

  .mobile-support-shortcut {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-left: auto;
    border-radius: 14px;
    border: 1px solid #d9eaff;
    background: linear-gradient(180deg,#f7fbff,#eef6ff);
    color: #0969ff;
    box-shadow: 0 8px 18px rgba(9,105,255,.08);
  }

  .mobile-support-shortcut svg {
    width: 22px;
    height: 22px;
    display: block;
    stroke-width: 2.15;
  }

  .nav-toggle {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
  }

  .itb214-slider {
    --itb214-h: 600px;
    left: auto;
    right: auto;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    min-height: var(--itb214-h);
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: var(--itb214-h);
  }

  .itb214-slide {
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat !important;
  }

  .itb214-slide::before {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.95) 0%,
        rgba(255,255,255,.90) 18%,
        rgba(255,255,255,.76) 42%,
        rgba(255,255,255,.45) 68%,
        rgba(255,255,255,.12) 100%
      );
  }

  .itb214-slide::after {
    height: 145px;
  }

  .itb214-inner {
    width: calc(100% - 26px);
    min-height: var(--itb214-h);
    padding: 20px 0 96px;
    align-items: flex-start;
  }

  .itb214-content {
    width: 100%;
    max-width: 100%;
    text-align: center;
  }

  .itb214-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    padding: 8px 16px;
    border: 1px solid rgba(11,99,255,.22);
    border-radius: 999px;
    background: rgba(255,255,255,.68);
    font-size: 10.5px;
    letter-spacing: .15em;
  }

  .itb214-content h1 {
    max-width: 360px;
    margin: 0 auto 12px;
    font-size: clamp(27px, 7.9vw, 36px);
    line-height: 1.02;
  }

  .itb214-content p {
    max-width: 350px;
    margin: 0 auto 17px;
    font-size: 13.5px;
    line-height: 1.42;
  }

  .itb214-buttons {
    display: grid;
    gap: 9px;
    margin-bottom: 12px;
  }

  .itb214-btn {
    width: min(100%, 350px);
    min-height: 44px;
    margin: 0 auto;
    border-radius: 999px;
    font-size: 14px;
  }

  .itb214-controls {
    justify-content: center;
  }

  .itb214-tabs {
    left: 12px;
    right: 12px;
    bottom: 9px;
    width: auto;
    min-height: 86px;
    transform: none;
    grid-template-columns: repeat(3, 1fr);
    border-radius: 17px;
  }

  .itb214-tab {
    display: grid;
    place-items: center;
    gap: 4px;
    padding: 6px 4px;
    border-right: 1px solid rgba(83,101,132,.13);
    border-bottom: 1px solid rgba(83,101,132,.13);
    font-size: 9.5px;
  }

  .itb214-tab:nth-child(3n) {
    border-right: 0;
  }

  .itb214-tab:nth-child(n+4) {
    border-bottom: 0;
  }

  .itb214-tab svg {
    width: 16px;
    height: 16px;
  }

  .itb214-tab.is-active::after {
    width: 52px;
    height: 3px;
  }

  .services-section {
    padding-top: 46px !important;
  }
}

@media (max-width: 420px) {
  .itb214-slider {
    --itb214-h: 585px;
  }

  .itb214-content h1 {
    font-size: 28px;
  }

  .itb214-content p {
    font-size: 13px;
  }
}


/* ===== v214: finishing fixes after deployment ===== */
@media (min-width: 901px) {
  .itb214-slider { --itb214-h: clamp(565px, 39vw, 665px) !important; }
  .itb214-viewport, .itb214-slide { min-height: var(--itb214-h) !important; }
  .itb214-slide {
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
    background-color: #f8fbff !important;
  }
  .itb214-slide::before {
    background: linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.975) 21%, rgba(255,255,255,.90) 37%, rgba(255,255,255,.66) 51%, rgba(255,255,255,.28) 66%, rgba(255,255,255,.06) 84%, rgba(255,255,255,0) 100%) !important;
  }
  .itb214-slide::after {
    height: 250px !important;
    background: linear-gradient(180deg, rgba(248,251,255,0) 0%, rgba(248,251,255,.70) 62%, rgba(248,251,255,.98) 100%) !important;
  }
  .itb214-inner {
    width: min(calc(100% - 130px), 1450px) !important;
    padding-top: 62px !important;
    padding-bottom: 150px !important;
  }
  .itb214-content { width: min(600px, 45vw) !important; }
  .itb214-content h1 {
    font-size: clamp(36px, 3.25vw, 56px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.055em !important;
    margin-bottom: 28px !important;
    max-width: 720px !important;
  }
  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(35px, 3.05vw, 52px) !important;
    line-height: 1.03 !important;
    margin-bottom: 30px !important;
    max-width: 760px !important;
  }
  .itb214-content p {
    max-width: 560px !important;
    font-size: 16.5px !important;
    line-height: 1.56 !important;
    margin-bottom: 26px !important;
  }
  .itb214-slide--video .itb214-content p {
    margin-top: 0 !important;
    max-width: 560px !important;
  }
  .itb214-buttons { margin-bottom: 26px !important; }
  .itb214-tabs {
    bottom: 30px !important;
    min-height: 88px !important;
    background: rgba(255,255,255,.94) !important;
  }
}
@media (min-width: 1500px) {
  .itb214-slide {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
}
@media (min-width: 901px) and (max-width: 1320px) {
  .itb214-content h1 { font-size: clamp(34px, 3.65vw, 50px) !important; }
  .itb214-slide--video .itb214-content h1 { font-size: clamp(33px, 3.45vw, 48px) !important; }
}
@media (max-width: 900px) {
  .itb214-slider { --itb214-h: 585px !important; }
  .itb214-slide {
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center bottom !important;
  }
  .itb214-slide::after {
    height: 180px !important;
    background: linear-gradient(180deg, rgba(248,251,255,0) 0%, rgba(248,251,255,.84) 70%, rgba(248,251,255,1) 100%) !important;
  }
  .itb214-content h1 {
    font-size: clamp(25px, 7.35vw, 33px) !important;
    line-height: 1.02 !important;
    margin-bottom: 11px !important;
  }
  .itb214-slide--video .itb214-content h1 { font-size: clamp(24px, 7.15vw, 31px) !important; }
  .itb214-content p {
    max-width: 345px !important;
    font-size: 13.2px !important;
    line-height: 1.40 !important;
    margin-bottom: 15px !important;
  }
  .itb214-inner { padding-bottom: 94px !important; }
  .itb214-tabs { background: rgba(255,255,255,.96) !important; }
}
@media (max-width: 420px) {
  .itb214-slider { --itb214-h: 570px !important; }
  .itb214-content h1 { font-size: 27px !important; }
  .itb214-slide--video .itb214-content h1 { font-size: 26px !important; }
}


/* ===== v214: 80% visual scale / méně roztahaný web =====
   Cíl: web působí cca o 20 % menší, kompaktnější a luxusnější,
   bez použití transform/zoom na celé body, aby nevznikaly mezery a horizontální scroll.
*/

@media (min-width: 901px) {
  /* Header cca 80 % předchozí vizuální velikosti */
  .site-header .header-inner,
  header.site-header .header-inner {
    height: 56px !important;
  }

  .site-header .brand-image,
  header.site-header .brand-image {
    min-width: 220px !important;
  }

  .site-header .brand-image img,
  header.site-header .brand-image img {
    height: 36px !important;
    max-height: 36px !important;
  }

  .site-header .main-nav,
  header.site-header .main-nav {
    gap: 19px !important;
    font-size: 12.6px !important;
  }

  .site-header .main-nav > a,
  header.site-header .main-nav > a {
    padding: 17px 0 !important;
  }

  .site-header .nav-actions,
  header.site-header .nav-actions {
    gap: 8px !important;
  }

  .site-header .nav-actions .btn,
  header.site-header .nav-actions .btn {
    min-height: 36px !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    font-size: 12.2px !important;
  }

  /* Hero cca 80 % – full-width background zůstává přes celou šířku */
  .itb214-slider {
    --itb214-h: clamp(455px, 32.8vw, 540px) !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: var(--itb214-h) !important;
  }

  .itb214-slide {
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  .itb214-slide::before {
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.975) 21%,
        rgba(255,255,255,.90) 38%,
        rgba(255,255,255,.66) 52%,
        rgba(255,255,255,.30) 67%,
        rgba(255,255,255,.08) 84%,
        rgba(255,255,255,0) 100%
      ) !important;
  }

  .itb214-slide::after {
    height: 190px !important;
    background:
      linear-gradient(
        180deg,
        rgba(248,251,255,0) 0%,
        rgba(248,251,255,.66) 62%,
        rgba(248,251,255,.98) 100%
      ) !important;
  }

  .itb214-inner {
    width: min(calc(100% - 130px), 1160px) !important;
    min-height: var(--itb214-h) !important;
    padding: 50px 0 116px !important;
  }

  .itb214-content {
    width: min(480px, 39vw) !important;
  }

  .itb214-eyebrow {
    margin-bottom: 14px !important;
    font-size: 11px !important;
    letter-spacing: .17em !important;
  }

  .itb214-content h1 {
    max-width: 560px !important;
    font-size: clamp(31px, 2.8vw, 45px) !important;
    line-height: 1.045 !important;
    letter-spacing: -0.055em !important;
    margin-bottom: 20px !important;
  }

  .itb214-slide--video .itb214-content h1 {
    max-width: 590px !important;
    font-size: clamp(30px, 2.65vw, 42px) !important;
    margin-bottom: 22px !important;
  }

  .itb214-content p {
    max-width: 455px !important;
    font-size: 14.1px !important;
    line-height: 1.50 !important;
    margin-bottom: 20px !important;
  }

  .itb214-buttons {
    gap: 12px !important;
    margin-bottom: 20px !important;
  }

  .itb214-btn {
    min-height: 40px !important;
    padding: 0 21px !important;
    border-radius: 8px !important;
    font-size: 12.8px !important;
    gap: 10px !important;
  }

  .itb214-controls {
    gap: 8px !important;
  }

  .itb214-counter {
    margin-right: 5px !important;
    font-size: 13.5px !important;
  }

  .itb214-counter strong {
    font-size: 19px !important;
  }

  .itb214-arrow {
    width: 30px !important;
    height: 30px !important;
    font-size: 19px !important;
  }

  .itb214-tabs {
    width: min(calc(100% - 160px), 1160px) !important;
    min-height: 68px !important;
    bottom: 20px !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 54px rgba(15,23,42,.10) !important;
  }

  .itb214-tab {
    padding: 0 12px !important;
    gap: 8px !important;
    font-size: 11.4px !important;
  }

  .itb214-tab svg {
    width: 19px !important;
    height: 19px !important;
  }

  .itb214-tab.is-active::after {
    width: 64px !important;
    height: 3px !important;
  }

  /* Navazující obsah – menší container, menší typografie, menší mezery */
  .container {
    max-width: 1120px !important;
  }

  .section,
  .services-section,
  .about-section,
  .references-section,
  .cta-section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .services-section {
    padding-top: 42px !important;
  }

  .section-head,
  .section-head.compact {
    margin-bottom: 24px !important;
  }

  .section-kicker,
  .section-eyebrow {
    font-size: 12px !important;
    letter-spacing: .16em !important;
  }

  .section-head h2,
  .section-title,
  .section h2 {
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.05 !important;
  }

  .section-head p,
  .section-lead,
  .section p {
    font-size: 14.6px !important;
    line-height: 1.55 !important;
  }

  .service-card,
  .feature-card,
  .reference-card,
  .card {
    border-radius: 18px !important;
  }

  .service-card,
  .feature-card {
    padding: 24px !important;
  }
}

/* Menší desktop/tablet – proporčně kompaktní, bez lámání menu */
@media (min-width: 901px) and (max-width: 1320px) {
  .itb214-slider {
    --itb214-h: clamp(430px, 35vw, 510px) !important;
  }

  .itb214-inner,
  .itb214-tabs {
    width: min(calc(100% - 70px), 1080px) !important;
  }

  .itb214-content {
    width: min(430px, 44vw) !important;
  }

  .itb214-content h1 {
    font-size: clamp(29px, 3.2vw, 40px) !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(28px, 3vw, 38px) !important;
  }

  .itb214-content p {
    font-size: 13.6px !important;
  }

  .itb214-tabs {
    min-height: 64px !important;
  }

  .itb214-tab {
    font-size: 10.6px !important;
    gap: 6px !important;
  }
}

/* Mobil také lehce zmenšit, ale zachovat čitelnost */
@media (max-width: 900px) {
  .itb214-slider {
    --itb214-h: 535px !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: var(--itb214-h) !important;
  }

  .itb214-inner {
    min-height: var(--itb214-h) !important;
    padding-top: 16px !important;
    padding-bottom: 82px !important;
  }

  .itb214-content h1 {
    font-size: clamp(23px, 6.85vw, 31px) !important;
    margin-bottom: 10px !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(22px, 6.65vw, 29px) !important;
  }

  .itb214-content p {
    max-width: 335px !important;
    font-size: 12.8px !important;
    line-height: 1.38 !important;
    margin-bottom: 13px !important;
  }

  .itb214-btn {
    min-height: 40px !important;
    font-size: 13px !important;
  }

  .itb214-tabs {
    min-height: 78px !important;
    bottom: 7px !important;
  }

  .itb214-tab {
    font-size: 8.7px !important;
  }

  .services-section {
    padding-top: 38px !important;
  }
}

@media (max-width: 420px) {
  .itb214-slider {
    --itb214-h: 520px !important;
  }
}

/* ===== v214: oprava spodního pruhu / jemnější spodní fade ===== */
@media (min-width: 901px) {
  .itb214-slide::after {
    height: 108px !important;
    background: linear-gradient(
      180deg,
      rgba(248,251,255,0) 0%,
      rgba(248,251,255,.12) 42%,
      rgba(248,251,255,.52) 76%,
      rgba(248,251,255,.88) 100%
    ) !important;
  }

  .itb214-inner {
    padding-bottom: 100px !important;
  }

  .itb214-tabs {
    bottom: 14px !important;
  }
}

@media (max-width: 900px) {
  .itb214-slide::after {
    height: 88px !important;
    background: linear-gradient(
      180deg,
      rgba(248,251,255,0) 0%,
      rgba(248,251,255,.14) 44%,
      rgba(248,251,255,.58) 78%,
      rgba(248,251,255,.90) 100%
    ) !important;
  }

  .itb214-inner {
    padding-bottom: 82px !important;
  }

  .itb214-tabs {
    bottom: 12px !important;
  }
}


/* ===== v214: čistá spodní část slideru bez pruhu ===== */
.itb214-slide {
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* Pruh dělal plošný pseudo-element přes celý hero; teď je odstraněný.
   Čitelnost dole řeší jen vlastní bílý tabbar a nově přeformátovaný podklad. */
.itb214-slide::after {
  display: none !important;
  content: none !important;
  background: none !important;
  height: 0 !important;
}

@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(455px, 32.8vw, 540px) !important;
    background: #f8fbff !important;
  }

  .itb214-inner {
    padding-bottom: 102px !important;
  }

  .itb214-tabs {
    bottom: 14px !important;
    background: rgba(255,255,255,.955) !important;
    box-shadow: 0 18px 48px rgba(15,23,42,.105) !important;
  }
}

@media (max-width: 900px) {
  .itb214-slider {
    --itb214-h: 570px !important;
  }

  .itb214-slide {
    background-position: center bottom !important;
  }

  .itb214-inner {
    padding-bottom: 84px !important;
  }

  .itb214-tabs {
    bottom: 10px !important;
    background: rgba(255,255,255,.965) !important;
  }
}

@media (max-width: 420px) {
  .itb214-slider {
    --itb214-h: 560px !important;
  }
}


/* ===== v214: finální dotažení proporcí po vyčištění spodku ===== */

/* Desktop: trochu nižší hero, kompaktnější tabbar a menší mezera pod sliderem */
@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(430px, 31vw, 515px) !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: var(--itb214-h) !important;
  }

  .itb214-inner {
    width: min(calc(100% - 150px), 1120px) !important;
    min-height: var(--itb214-h) !important;
    padding-top: 44px !important;
    padding-bottom: 92px !important;
  }

  .itb214-content {
    width: min(455px, 38vw) !important;
  }

  .itb214-eyebrow {
    margin-bottom: 12px !important;
    font-size: 10.5px !important;
  }

  .itb214-content h1 {
    font-size: clamp(29px, 2.55vw, 41px) !important;
    line-height: 1.045 !important;
    margin-bottom: 17px !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(28px, 2.42vw, 39px) !important;
    margin-bottom: 18px !important;
  }

  .itb214-content p {
    max-width: 430px !important;
    font-size: 13.6px !important;
    line-height: 1.48 !important;
    margin-bottom: 17px !important;
  }

  .itb214-buttons {
    gap: 10px !important;
    margin-bottom: 16px !important;
  }

  .itb214-btn {
    min-height: 38px !important;
    padding: 0 18px !important;
    font-size: 12.4px !important;
  }

  .itb214-counter {
    font-size: 12.5px !important;
  }

  .itb214-counter strong {
    font-size: 18px !important;
  }

  .itb214-arrow {
    width: 29px !important;
    height: 29px !important;
    font-size: 18px !important;
  }

  .itb214-tabs {
    width: min(calc(100% - 180px), 1120px) !important;
    min-height: 62px !important;
    bottom: 12px !important;
    border-radius: 15px !important;
  }

  .itb214-tab {
    padding: 0 10px !important;
    gap: 7px !important;
    font-size: 10.8px !important;
  }

  .itb214-tab svg {
    width: 17px !important;
    height: 17px !important;
  }

  .itb214-tab.is-active::after {
    width: 58px !important;
    height: 3px !important;
  }

  .services-section {
    padding-top: 34px !important;
  }

  .section,
  .about-section,
  .references-section,
  .cta-section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
}

/* Střední desktop – hlídat, aby se layout nerozjel */
@media (min-width: 901px) and (max-width: 1320px) {
  .itb214-inner,
  .itb214-tabs {
    width: min(calc(100% - 58px), 1120px) !important;
  }

  .itb214-content {
    width: min(430px, 44vw) !important;
  }
}

/* Mobile: kratší hero a čistší spodní tabbar */
@media (max-width: 900px) {
  .itb214-slider {
    --itb214-h: 540px !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: var(--itb214-h) !important;
  }

  .itb214-inner {
    min-height: var(--itb214-h) !important;
    padding-top: 14px !important;
    padding-bottom: 74px !important;
  }

  .itb214-eyebrow {
    margin-bottom: 8px !important;
    padding: 7px 14px !important;
    font-size: 9.8px !important;
  }

  .itb214-content h1 {
    font-size: clamp(24px, 7vw, 31px) !important;
    line-height: 1.02 !important;
    margin-bottom: 10px !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(23px, 6.75vw, 29px) !important;
  }

  .itb214-content p {
    max-width: 340px !important;
    font-size: 12.7px !important;
    line-height: 1.38 !important;
    margin-bottom: 12px !important;
  }

  .itb214-buttons {
    gap: 7px !important;
    margin-bottom: 9px !important;
  }

  .itb214-btn {
    min-height: 40px !important;
    font-size: 13px !important;
  }

  .itb214-tabs {
    min-height: 80px !important;
    bottom: 8px !important;
    border-radius: 16px !important;
  }

  .itb214-tab {
    font-size: 8.8px !important;
    padding: 5px 3px !important;
  }

  .itb214-tab svg {
    width: 14px !important;
    height: 14px !important;
  }

  .services-section {
    padding-top: 38px !important;
  }
}

@media (max-width: 420px) {
  .itb214-slider {
    --itb214-h: 525px !important;
  }

  .itb214-content h1 {
    font-size: 26px !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: 25px !important;
  }
}


/* Slide 2 – jemné doladění podle schválené reference */
@media (min-width: 901px) {
  .itb214-slide--video .itb214-inner {
    padding-top: 64px;
    padding-bottom: 132px;
  }

  .itb214-slide--video .itb214-content {
    width: min(700px, 47vw);
  }

  .itb214-slide--video .itb214-content h1 {
    max-width: 760px;
    font-size: clamp(39px, 3.45vw, 58px);
    line-height: 1.05;
    letter-spacing: -0.055em;
  }

  .itb214-slide--video .itb214-content p {
    max-width: 600px;
  }
}


/* ===== v217: jemnější desktop overlay + větší řádkování na mobilu ===== */
@media (min-width: 901px) {
  .itb214-slide::before {
    background: linear-gradient(
      90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.972) 20%,
      rgba(255,255,255,.87) 35%,
      rgba(255,255,255,.53) 50%,
      rgba(255,255,255,.17) 66%,
      rgba(255,255,255,.03) 83%,
      rgba(255,255,255,0) 100%
    ) !important;
  }
}

@media (max-width: 900px) {
  .itb214-content h1 {
    line-height: 1.14 !important;
    margin-bottom: 12px !important;
  }

  .itb214-slide--video .itb214-content h1 {
    line-height: 1.14 !important;
  }

  .itb214-content p {
    line-height: 1.58 !important;
    margin-bottom: 14px !important;
  }
}

@media (max-width: 420px) {
  .itb214-content h1 {
    line-height: 1.13 !important;
  }

  .itb214-slide--video .itb214-content h1 {
    line-height: 1.13 !important;
  }

  .itb214-content p {
    line-height: 1.56 !important;
  }
}


/* ===== v219: bez překrytí vpravo + větší řádkování na mobilu ===== */
@media (min-width: 901px) {
  .itb214-slide::before {
    background: linear-gradient(
      90deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.94) 16%,
      rgba(255,255,255,.82) 28%,
      rgba(255,255,255,.52) 40%,
      rgba(255,255,255,.20) 49%,
      rgba(255,255,255,.05) 56%,
      rgba(255,255,255,0) 62%,
      rgba(255,255,255,0) 100%
    ) !important;
  }
}

@media (max-width: 900px) {
  .itb214-slide::before {
    background: linear-gradient(
      90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.88) 24%,
      rgba(255,255,255,.64) 42%,
      rgba(255,255,255,.28) 56%,
      rgba(255,255,255,.08) 68%,
      rgba(255,255,255,0) 78%,
      rgba(255,255,255,0) 100%
    ) !important;
  }

  .itb214-content h1 {
    line-height: 1.26 !important;
    margin-bottom: 18px !important;
  }

  .itb214-slide--video .itb214-content h1 {
    line-height: 1.26 !important;
  }

  .itb214-content p {
    line-height: 1.72 !important;
    margin-bottom: 22px !important;
  }
}

@media (max-width: 420px) {
  .itb214-content h1 {
    line-height: 1.28 !important;
    margin-bottom: 18px !important;
  }

  .itb214-slide--video .itb214-content h1 {
    line-height: 1.28 !important;
  }

  .itb214-content p {
    line-height: 1.76 !important;
    margin-bottom: 22px !important;
  }
}


/* ===== IT-BALON.CZ v224 SAFE RESTORE =====
   Vrací viditelný slider z funkčního základu a nasazuje nové podklady pro všech 6 slidů.
*/

.itb214-slider,
.itb214-viewport,
.itb214-slide {
  display: block !important;
}

.itb214-slider {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Desktop: nové obrázky jsou už text-safe, proto jen jemný přechod vlevo. */
@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(535px, 36.5vw, 625px) !important;
  }

  .itb214-slide {
    background-image: var(--bg) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    transform: scale(1.018);
    filter: saturate(.99) contrast(1.01);
    transition:
      opacity 1080ms ease,
      visibility 0s linear 1080ms,
      transform 1350ms cubic-bezier(.22,.61,.36,1),
      filter 1280ms ease !important;
  }

  .itb214-slide::before {
    background: linear-gradient(
      90deg,
      rgba(255,255,255,.78) 0%,
      rgba(255,255,255,.64) 18%,
      rgba(255,255,255,.38) 35%,
      rgba(255,255,255,.14) 50%,
      rgba(255,255,255,.03) 64%,
      rgba(255,255,255,0) 74%,
      rgba(255,255,255,0) 100%
    ) !important;
  }

  .itb214-slide::after {
    height: 92px !important;
    background: linear-gradient(180deg, rgba(248,251,255,0) 0%, rgba(248,251,255,.14) 48%, rgba(248,251,255,.74) 100%) !important;
  }

  .itb214-slide.is-pre-active,
  .itb214-slide.is-exiting {
    visibility: visible !important;
  }

  .itb214-slide.is-pre-active {
    opacity: 0 !important;
    transform: var(--itb214-enter-transform, translate3d(44px,0,0) scale(1.035));
    filter: blur(3px) saturate(.94);
    z-index: 3;
  }

  .itb214-slide.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0,0,0) scale(1);
    filter: blur(0) saturate(1) contrast(1.02);
    z-index: 4;
    transition-delay: 0s !important;
  }

  .itb214-slide.is-exiting {
    opacity: 0 !important;
    visibility: visible !important;
    transform: var(--itb214-exit-transform, translate3d(-24px,0,0) scale(1.01));
    filter: blur(2px) saturate(.92);
    z-index: 2;
  }
}

/* Postupné náběhy textů */
.itb214-eyebrow,
.itb214-content h1,
.itb214-content p,
.itb214-buttons,
.itb214-controls {
  opacity: 0;
  filter: blur(8px);
  will-change: opacity, transform, filter;
}

.itb214-eyebrow,
.itb214-buttons,
.itb214-controls {
  transform: translateY(18px);
}

.itb214-content h1 {
  transform: translateY(30px) scale(.985);
}

.itb214-content p {
  transform: translateY(24px);
}

.itb214-slide.is-active .itb214-eyebrow {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  transition: opacity .56s ease, transform .72s cubic-bezier(.22,.61,.36,1), filter .68s ease;
  transition-delay: .55s;
}

.itb214-slide.is-active .itb214-content h1 {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
  transition: opacity .88s ease, transform 1s cubic-bezier(.18,.89,.32,1.10), filter .88s ease;
  transition-delay: 1.04s;
}

.itb214-slide.is-active .itb214-content p {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  transition: opacity .82s ease, transform .92s cubic-bezier(.22,.61,.36,1), filter .82s ease;
  transition-delay: 2.04s;
}

.itb214-slide.is-active .itb214-buttons {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  transition: opacity .62s ease, transform .76s cubic-bezier(.22,.61,.36,1), filter .65s ease;
  transition-delay: 2.42s;
}

.itb214-slide.is-active .itb214-controls {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  transition: opacity .58s ease, transform .7s cubic-bezier(.22,.61,.36,1), filter .62s ease;
  transition-delay: 2.60s;
}

/* Mobil: samostatné mobile obrázky + silnější bílý gradient pro čitelnost. */
@media (max-width: 900px) {
  .itb214-slider {
    --itb214-h: 670px !important;
  }

  .itb214-slide {
    background-image: var(--mobile-bg, var(--bg)) !important;
    background-size: cover !important;
    background-position: var(--mobile-pos, center center) !important;
    background-repeat: no-repeat !important;
  }

  .itb214-slide::before {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.995) 0%,
        rgba(255,255,255,.97) 18%,
        rgba(255,255,255,.89) 42%,
        rgba(255,255,255,.66) 62%,
        rgba(255,255,255,.36) 80%,
        rgba(255,255,255,.16) 100%
      ),
      linear-gradient(
        90deg,
        rgba(255,255,255,.96) 0%,
        rgba(255,255,255,.78) 42%,
        rgba(255,255,255,.32) 70%,
        rgba(255,255,255,0) 100%
      ) !important;
  }

  .itb214-slide::after {
    height: 96px !important;
    background: linear-gradient(180deg, rgba(248,251,255,0) 0%, rgba(248,251,255,.35) 46%, rgba(248,251,255,.92) 100%) !important;
  }

  .itb214-inner {
    padding-top: 22px !important;
    padding-bottom: 104px !important;
  }

  .itb214-content h1 {
    line-height: 1.34 !important;
    margin-bottom: 22px !important;
    max-width: 365px !important;
  }

  .itb214-content p {
    line-height: 1.88 !important;
    margin-bottom: 26px !important;
    max-width: 365px !important;
  }
}

@media (max-width: 420px) {
  .itb214-slider {
    --itb214-h: 650px !important;
  }

  .itb214-content h1 {
    line-height: 1.36 !important;
    margin-bottom: 24px !important;
  }

  .itb214-content p {
    line-height: 1.92 !important;
    margin-bottom: 28px !important;
  }
}


/* ===== IT-BALON.CZ v227: jemnější výška + výraznější sekvenční animace ===== */

/* Desktop: slider o chlup nižší + delší a viditelnější přechody */
@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(500px, 33.8vw, 580px) !important;
  }

  .itb214-slide {
    transition:
      opacity 1450ms cubic-bezier(.22,.61,.36,1),
      visibility 0s linear 1450ms,
      transform 1900ms cubic-bezier(.19,1,.22,1),
      filter 1650ms ease !important;
  }

  .itb214-slide.is-pre-active {
    transform: var(--itb214-enter-transform, translate3d(54px,0,0) scale(1.045) rotate(.001deg)) !important;
    filter: blur(4px) saturate(.94) contrast(.98) !important;
  }

  .itb214-slide.is-active {
    transform: translate3d(0,0,0) scale(1) rotate(0) !important;
    filter: blur(0) saturate(1.02) contrast(1.02) !important;
  }

  .itb214-slide.is-exiting {
    transform: var(--itb214-exit-transform, translate3d(-34px,0,0) scale(1.012) rotate(.001deg)) !important;
    filter: blur(3px) saturate(.91) contrast(.96) !important;
  }
}

/* Každý slide může dostat trochu jiný přechodový charakter */
.itb214-slide[data-itb-effect="slide-left"].is-pre-active {
  clip-path: inset(0 0 0 8%);
}
.itb214-slide[data-itb-effect="slide-left"].is-active {
  clip-path: inset(0 0 0 0);
  transition-property: opacity, visibility, transform, filter, clip-path !important;
}

.itb214-slide[data-itb-effect="slide-right"].is-pre-active {
  clip-path: inset(0 8% 0 0);
}
.itb214-slide[data-itb-effect="slide-right"].is-active {
  clip-path: inset(0 0 0 0);
  transition-property: opacity, visibility, transform, filter, clip-path !important;
}

.itb214-slide[data-itb-effect="rise"].is-pre-active {
  clip-path: inset(7% 0 0 0);
}
.itb214-slide[data-itb-effect="rise"].is-active {
  clip-path: inset(0 0 0 0);
  transition-property: opacity, visibility, transform, filter, clip-path !important;
}

.itb214-slide[data-itb-effect="zoom-soft"].is-pre-active {
  filter: blur(5px) saturate(.92) brightness(1.03) !important;
}

.itb214-slide[data-itb-effect="cinema"].is-pre-active {
  clip-path: inset(4% 0 4% 0);
  filter: blur(4px) saturate(.96) brightness(.98) !important;
}
.itb214-slide[data-itb-effect="cinema"].is-active {
  clip-path: inset(0 0 0 0);
  transition-property: opacity, visibility, transform, filter, clip-path !important;
}

/* Náběh obsahu: tlačítka až o 1s později. */
.itb214-slide.is-active .itb214-buttons {
  transition-delay: 3.42s !important;
}

.itb214-slide.is-active .itb214-controls {
  transition-delay: 3.60s !important;
}

/* Mobil: větší nadpis + ještě vzdušnější řádkování */
@media (max-width: 900px) {
  .itb214-slider {
    --itb214-h: 700px !important;
  }

  .itb214-content h1 {
    font-size: clamp(30px, 8.7vw, 40px) !important;
    line-height: 1.42 !important;
    margin-bottom: 26px !important;
    max-width: 375px !important;
  }

  .itb214-content p {
    font-size: 14.2px !important;
    line-height: 2.02 !important;
    margin-bottom: 30px !important;
    max-width: 370px !important;
  }
}

@media (max-width: 420px) {
  .itb214-slider {
    --itb214-h: 690px !important;
  }

  .itb214-content h1 {
    font-size: 31px !important;
    line-height: 1.44 !important;
    margin-bottom: 28px !important;
  }

  .itb214-content p {
    font-size: 13.8px !important;
    line-height: 2.06 !important;
    margin-bottom: 32px !important;
  }
}


/* ===== IT-BALON.CZ v229: mobile typography + lower desktop hero + richer transitions ===== */

/* Desktop: slider lehce nižší, aby působil kompaktněji. */
@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(470px, 31.5vw, 548px) !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: var(--itb214-h) !important;
  }

  .itb214-inner {
    min-height: var(--itb214-h) !important;
    padding-top: 40px !important;
    padding-bottom: 86px !important;
  }

  .itb214-tabs {
    bottom: 10px !important;
  }

  .itb214-slide {
    transition:
      opacity 1750ms cubic-bezier(.22,.61,.36,1),
      visibility 0s linear 1750ms,
      transform 2300ms cubic-bezier(.19,1,.22,1),
      filter 1850ms ease,
      clip-path 1750ms cubic-bezier(.22,.61,.36,1) !important;
  }

  .itb214-slide.is-pre-active {
    filter: blur(4px) saturate(.93) contrast(.98) !important;
  }

  .itb214-slide.is-active {
    filter: blur(0) saturate(1.02) contrast(1.02) !important;
  }

  .itb214-slide.is-exiting {
    filter: blur(3px) saturate(.9) contrast(.96) !important;
  }
}

/* Ještě čitelnější a vzdušnější mobilní typografie. */
@media (max-width: 900px) {
  .itb214-slider {
    --itb214-h: 708px !important;
  }

  .itb214-inner {
    padding-top: 24px !important;
    padding-bottom: 108px !important;
  }

  .itb214-content h1 {
    font-size: clamp(31px, 9vw, 41px) !important;
    line-height: 1.48 !important;
    letter-spacing: -0.045em !important;
    margin-bottom: 28px !important;
    max-width: 380px !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(30px, 8.75vw, 39px) !important;
    line-height: 1.48 !important;
  }

  .itb214-content p {
    font-size: 14.4px !important;
    line-height: 2.10 !important;
    margin-bottom: 32px !important;
    max-width: 372px !important;
  }

  .itb214-buttons {
    margin-bottom: 12px !important;
  }
}

@media (max-width: 420px) {
  .itb214-slider {
    --itb214-h: 698px !important;
  }

  .itb214-content h1 {
    font-size: 32px !important;
    line-height: 1.50 !important;
    margin-bottom: 30px !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: 31px !important;
  }

  .itb214-content p {
    font-size: 14px !important;
    line-height: 2.14 !important;
    margin-bottom: 34px !important;
  }
}

/* Delší sekvenční náběh obsahu — tlačítka ještě o 1 s později. */
.itb214-slide.is-active .itb214-buttons {
  transition-delay: 4.42s !important;
}

.itb214-slide.is-active .itb214-controls {
  transition-delay: 4.62s !important;
}

/* Další jemné varianty efektů pro střídání slidů. */
.itb214-slide[data-itb-effect="drift-left"].is-pre-active {
  clip-path: inset(0 0 0 10%);
}
.itb214-slide[data-itb-effect="drift-left"].is-active {
  clip-path: inset(0 0 0 0);
  transition-property: opacity, visibility, transform, filter, clip-path !important;
}

.itb214-slide[data-itb-effect="drift-right"].is-pre-active {
  clip-path: inset(0 10% 0 0);
}
.itb214-slide[data-itb-effect="drift-right"].is-active {
  clip-path: inset(0 0 0 0);
  transition-property: opacity, visibility, transform, filter, clip-path !important;
}

.itb214-slide[data-itb-effect="float-up"].is-pre-active {
  clip-path: inset(8% 0 0 0);
}
.itb214-slide[data-itb-effect="float-up"].is-active {
  clip-path: inset(0 0 0 0);
  transition-property: opacity, visibility, transform, filter, clip-path !important;
}

.itb214-slide[data-itb-effect="focus-in"].is-pre-active {
  filter: blur(6px) saturate(.9) brightness(1.04) !important;
}

.itb214-slide[data-itb-effect="cinema-pan"].is-pre-active {
  clip-path: inset(3% 0 5% 0);
  filter: blur(4px) saturate(.95) brightness(.985) !important;
}
.itb214-slide[data-itb-effect="cinema-pan"].is-active {
  clip-path: inset(0 0 0 0);
  transition-property: opacity, visibility, transform, filter, clip-path !important;
}


/* ===== IT-BALON.CZ v230: mobilní jemné doladění slideru + centrování sekcí ===== */

@media (max-width: 900px) {
  /* Užší CTA ve slideru */
  .itb214-buttons {
    gap: 10px !important;
    margin-bottom: 14px !important;
  }

  .itb214-btn {
    width: min(100%, 318px) !important;
    min-height: 44px !important;
    padding: 0 20px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Spodní 6-buněčný přepínač posunout výš a lehce zvětšit */
  .itb214-inner {
    padding-bottom: 126px !important;
  }

  .itb214-tabs {
    left: 10px !important;
    right: 10px !important;
    bottom: 24px !important;
    min-height: 92px !important;
    border-radius: 18px !important;
  }

  .itb214-tab {
    min-height: 46px !important;
    padding: 7px 5px !important;
    align-content: center !important;
  }

  .itb214-tab svg {
    margin-bottom: 2px !important;
  }

  /* Nadpisy a texty dalších sekcí na střed */
  .section-head,
  .section-head.compact,
  .faq-copy,
  .launch-copy,
  .portal-content,
  .creative-grid > div:first-child {
    text-align: center !important;
  }

  .section-kicker,
  .section-eyebrow,
  .section-title,
  .section-copy,
  .faq-copy .section-copy,
  .launch-copy .section-copy,
  .portal-content .section-copy,
  .creative-grid > div:first-child p,
  .creative-grid > div:first-child h2,
  .creative-grid > div:first-child .eyebrow {
    text-align: center !important;
  }

  .section-head .btn,
  .launch-actions,
  .creative-actions,
  .portal-content .btn {
    justify-content: center !important;
  }

  /* Ikonky a texty v následující sekci / kartách na střed */
  .home-services-grid,
  .cards-grid,
  .launch-service-grid,
  .logos-row {
    text-align: center !important;
  }

  .service-card,
  .feature-card,
  .reference-card,
  .card,
  .launch-service-grid article,
  .creative-feature,
  .logo-tile {
    text-align: center !important;
    align-items: center !important;
    justify-items: center !important;
  }

  .service-card .icon,
  .feature-card .icon,
  .service-card h3,
  .feature-card h3,
  .service-card p,
  .feature-card p,
  .service-card .more,
  .feature-card .more,
  .launch-service-grid article strong,
  .launch-service-grid article small,
  .creative-feature strong,
  .creative-feature small {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .portal-content .blue-list {
    text-align: left !important;
    display: inline-block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 420px) {
  .itb214-btn {
    width: min(100%, 304px) !important;
  }

  .itb214-tabs {
    bottom: 22px !important;
    min-height: 94px !important;
  }
}


/* ===== IT-BALON.CZ v231: mobile slider unification + creative section polish + centered CTA/footer ===== */

/* Kreativní sekce – hezčí grafické pozadí */
.creative-section {
  position: relative;
  overflow: hidden;
}

.creative-band {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(6,30,76,.92) 0%, rgba(12,87,187,.82) 42%, rgba(15,131,213,.72) 100%),
    url('/assets/creative-production-bg-v231.jpg') center center / cover no-repeat !important;
  border-radius: 30px;
  box-shadow: 0 30px 70px rgba(7, 31, 75, 0.22);
}

.creative-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6,24,62,.50) 0%, rgba(6,24,62,.18) 45%, rgba(6,24,62,0) 72%);
  pointer-events: none;
}

.creative-grid,
.creative-band > * {
  position: relative;
  z-index: 1;
}

.creative-mosaic,
.creative-camera {
  display: none !important;
}

/* Skrytí prázdného modrého pruhu pod sekcí */
.tools-section {
  display: none !important;
  padding: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
}

/* CTA sekce zarovnat na střed */
.cta-card,
.cta-card > div,
.cta-card .contact-items,
.cta-card p {
  text-align: center !important;
}

.cta-card {
  justify-items: center !important;
}

.cta-card .contact-items {
  justify-content: center !important;
}

.cta-card .btn {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Footer na střed */
footer,
.site-footer,
footer .container,
.site-footer .container {
  text-align: center !important;
}

footer .container,
.site-footer .container,
footer .footer-inner,
.site-footer .footer-inner,
footer .footer-columns,
.site-footer .footer-columns,
footer .footer-grid,
.site-footer .footer-grid,
footer .footer-bottom,
.site-footer .footer-bottom,
footer nav,
.site-footer nav,
footer ul,
.site-footer ul,
footer .socials,
.site-footer .socials {
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

footer ul,
.site-footer ul {
  padding-left: 0 !important;
  list-style-position: inside;
}

/* Desktop / tablet */
@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(500px, 34vw, 585px) !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: var(--itb214-h) !important;
  }
}

/* Mobil */
@media (max-width: 900px) {
  /* všechny slidy stejná výška */
  .itb214-slider {
    --itb214-h: 618px !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: var(--itb214-h) !important;
    height: var(--itb214-h) !important;
  }

  .itb214-inner {
    min-height: var(--itb214-h) !important;
    padding-bottom: 112px !important;
  }

  /* nadpisy ve slideru mírně větší */
  .itb214-content h1 {
    font-size: clamp(30px, 8vw, 36px) !important;
    line-height: 1.24 !important;
    letter-spacing: -0.03em !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(29px, 7.7vw, 35px) !important;
    line-height: 1.24 !important;
  }

  .itb214-content p {
    line-height: 1.9 !important;
  }

  /* tlačítka užší */
  .itb214-buttons {
    gap: 10px !important;
    margin-bottom: 12px !important;
  }

  .itb214-btn {
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    min-height: 44px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* spodní 6 buněk výš a o něco vyšší */
  .itb214-tabs {
    left: 10px !important;
    right: 10px !important;
    bottom: 18px !important;
    min-height: 102px !important;
    border-radius: 18px !important;
  }

  .itb214-tab {
    min-height: 50px !important;
    padding: 8px 5px !important;
  }

  /* následující sekce mobil na střed */
  .section-head,
  .section-head.compact,
  .section-title,
  .section-copy,
  .faq-copy,
  .launch-copy,
  .portal-content,
  .cta-card,
  .cta-card .badge,
  .cta-card .section-title,
  .cta-card .contact-items,
  .references-strip .section-head,
  .creative-grid > div:first-child {
    text-align: center !important;
  }

  .service-card,
  .logo-tile,
  .creative-feature,
  .launch-service-grid article,
  .contact-item {
    text-align: center !important;
    align-items: center !important;
    justify-items: center !important;
  }
}

@media (max-width: 420px) {
  .itb214-slider {
    --itb214-h: 610px !important;
  }

  .itb214-content h1 {
    font-size: clamp(31px, 8.1vw, 36px) !important;
    line-height: 1.25 !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(30px, 7.9vw, 35px) !important;
  }

  .itb214-content p {
    line-height: 1.95 !important;
  }

  .itb214-btn {
    width: min(100%, 292px) !important;
    max-width: 292px !important;
  }

  .itb214-tabs {
    bottom: 16px !important;
    min-height: 104px !important;
  }
}


/* ===== IT-BALON.CZ v232: přesné časování animací obsahu + start/end přechody ===== */

/* Reset starších content reveal animací a nastavení výchozího stavu */
.itb214-eyebrow,
.itb214-content h1,
.itb214-content p,
.itb214-buttons,
.itb214-controls {
  will-change: opacity, transform, filter;
}

.itb214-eyebrow {
  opacity: 0 !important;
  transform: translate3d(0,-30px,0) !important;
  filter: blur(8px) !important;
}

.itb214-content h1 {
  opacity: 0 !important;
  transform: translate3d(-56px,0,0) !important;
  filter: blur(9px) !important;
  position: relative;
  overflow: hidden;
}

.itb214-content h1::after {
  content: "";
  position: absolute;
  inset: -20% auto -20% -45%;
  width: 38%;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transform: skewX(-20deg);
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.18) 22%,
    rgba(255,255,255,.82) 50%,
    rgba(255,255,255,.18) 78%,
    rgba(255,255,255,0) 100%
  );
  mix-blend-mode: screen;
}

.itb214-content p {
  opacity: 0 !important;
  transform: translate3d(0,34px,0) !important;
  filter: blur(8px) !important;
}

.itb214-buttons {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

.itb214-buttons .itb214-btn {
  opacity: 0 !important;
  transform: scale(.78) translate3d(0,16px,0) !important;
  filter: blur(7px) !important;
  will-change: opacity, transform, filter;
}

.itb214-controls {
  opacity: 0 !important;
  transform: translate3d(0,18px,0) !important;
  filter: blur(7px) !important;
}

/* Aktivní slide: přesně podle zadání */
.itb214-slide.is-active .itb214-eyebrow {
  animation: itbV232EyebrowIn .78s cubic-bezier(.18,.9,.22,1) .50s both !important;
}

.itb214-slide.is-active .itb214-content h1 {
  animation: itbV232HeadlineIn 1.02s cubic-bezier(.16,1,.3,1) 1.00s both !important;
}

.itb214-slide.is-active .itb214-content h1::after {
  animation: itbV232HeadlineShine 1.16s cubic-bezier(.22,.61,.36,1) 1.42s both !important;
}

.itb214-slide.is-active .itb214-content p {
  animation: itbV232TextIn .92s cubic-bezier(.18,.9,.22,1) 2.00s both !important;
}

.itb214-slide.is-active .itb214-buttons .itb214-btn:nth-child(1) {
  animation: itbV232ButtonZoom .62s cubic-bezier(.18,.9,.22,1.18) 3.00s both !important;
}

.itb214-slide.is-active .itb214-buttons .itb214-btn:nth-child(2) {
  animation: itbV232ButtonZoom .62s cubic-bezier(.18,.9,.22,1.18) 3.50s both !important;
}

.itb214-slide.is-active .itb214-controls {
  animation: itbV232ControlsIn .62s cubic-bezier(.18,.9,.22,1) 4.05s both !important;
}

/* Při odchodu snímku vlastní end efekt */
.itb214-slide.is-exiting .itb214-eyebrow,
.itb214-slide.is-exiting .itb214-content h1,
.itb214-slide.is-exiting .itb214-content p,
.itb214-slide.is-exiting .itb214-buttons .itb214-btn,
.itb214-slide.is-exiting .itb214-controls {
  animation: itbV232ContentOut .52s ease both !important;
}

/* Klíčové animace obsahu */
@keyframes itbV232EyebrowIn {
  0% { opacity: 0; transform: translate3d(0,-30px,0); filter: blur(8px); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itbV232HeadlineIn {
  0% { opacity: 0; transform: translate3d(-56px,0,0); filter: blur(9px); }
  68% { opacity: 1; transform: translate3d(4px,0,0); filter: blur(0); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itbV232HeadlineShine {
  0% { opacity: 0; left: -45%; }
  12% { opacity: .95; }
  65% { opacity: .85; }
  100% { opacity: 0; left: 118%; }
}

@keyframes itbV232TextIn {
  0% { opacity: 0; transform: translate3d(0,34px,0); filter: blur(8px); }
  70% { opacity: 1; transform: translate3d(0,-2px,0); filter: blur(0); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itbV232ButtonZoom {
  0% { opacity: 0; transform: scale(.78) translate3d(0,16px,0); filter: blur(7px); }
  72% { opacity: 1; transform: scale(1.035) translate3d(0,0,0); filter: blur(0); }
  100% { opacity: 1; transform: scale(1) translate3d(0,0,0); filter: blur(0); }
}

@keyframes itbV232ControlsIn {
  0% { opacity: 0; transform: translate3d(0,18px,0); filter: blur(7px); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itbV232ContentOut {
  0% { opacity: 1; filter: blur(0); }
  100% { opacity: 0; transform: translate3d(0,-16px,0) scale(.985); filter: blur(8px); }
}

/* Přechod celého snímku: začátek i konec, delší a výraznější */
@media (min-width: 901px) {
  .itb214-slide {
    transition:
      opacity 1820ms cubic-bezier(.2,.75,.24,1),
      visibility 0s linear 1820ms,
      transform 2460ms cubic-bezier(.16,1,.3,1),
      filter 2100ms ease,
      clip-path 1850ms cubic-bezier(.2,.75,.24,1) !important;
  }

  .itb214-slide.is-pre-active {
    opacity: 0 !important;
    transform: var(--itb214-enter-transform, translate3d(72px,0,0) scale(1.055)) !important;
    filter: blur(7px) saturate(.90) contrast(.97) brightness(1.025) !important;
  }

  .itb214-slide.is-active {
    opacity: 1 !important;
    transform: translate3d(0,0,0) scale(1) !important;
    filter: blur(0) saturate(1.02) contrast(1.02) brightness(1) !important;
  }

  .itb214-slide.is-exiting {
    opacity: 0 !important;
    transform: var(--itb214-exit-transform, translate3d(-46px,0,0) scale(1.018)) !important;
    filter: blur(7px) saturate(.86) contrast(.94) brightness(.98) !important;
  }
}

/* Start/end varianty podle konkrétního slide efektu */
.itb214-slide[data-itb-effect="drift-left"].is-pre-active { clip-path: inset(0 0 0 14%); }
.itb214-slide[data-itb-effect="drift-left"].is-active { clip-path: inset(0 0 0 0); }
.itb214-slide[data-itb-effect="drift-left"].is-exiting { clip-path: inset(0 10% 0 0); }

.itb214-slide[data-itb-effect="drift-right"].is-pre-active { clip-path: inset(0 14% 0 0); }
.itb214-slide[data-itb-effect="drift-right"].is-active { clip-path: inset(0 0 0 0); }
.itb214-slide[data-itb-effect="drift-right"].is-exiting { clip-path: inset(0 0 0 10%); }

.itb214-slide[data-itb-effect="float-up"].is-pre-active { clip-path: inset(11% 0 0 0); }
.itb214-slide[data-itb-effect="float-up"].is-active { clip-path: inset(0 0 0 0); }
.itb214-slide[data-itb-effect="float-up"].is-exiting { clip-path: inset(0 0 9% 0); }

.itb214-slide[data-itb-effect="focus-in"].is-pre-active { clip-path: inset(4% 4% 4% 4%); }
.itb214-slide[data-itb-effect="focus-in"].is-active { clip-path: inset(0 0 0 0); }
.itb214-slide[data-itb-effect="focus-in"].is-exiting { clip-path: inset(6% 6% 6% 6%); }

.itb214-slide[data-itb-effect="cinema-pan"].is-pre-active { clip-path: inset(5% 0 5% 0); }
.itb214-slide[data-itb-effect="cinema-pan"].is-active { clip-path: inset(0 0 0 0); }
.itb214-slide[data-itb-effect="cinema-pan"].is-exiting { clip-path: inset(5% 0 5% 0); }

/* Mobil: stejné časování, lehce kratší kvůli výkonu */
@media (max-width: 900px) {
  .itb214-slide.is-active .itb214-eyebrow { animation-delay: .45s !important; }
  .itb214-slide.is-active .itb214-content h1 { animation-delay: .92s !important; }
  .itb214-slide.is-active .itb214-content h1::after { animation-delay: 1.28s !important; }
  .itb214-slide.is-active .itb214-content p { animation-delay: 1.92s !important; }
  .itb214-slide.is-active .itb214-buttons .itb214-btn:nth-child(1) { animation-delay: 2.92s !important; }
  .itb214-slide.is-active .itb214-buttons .itb214-btn:nth-child(2) { animation-delay: 3.42s !important; }
  .itb214-slide.is-active .itb214-controls { animation-delay: 3.95s !important; }
}


/* ==== v234 homepage polish + content fixes ==== */
.itb214-tab.is-active {
  color: #0035c9;
  background: linear-gradient(180deg, rgba(11,99,255,.10) 0%, rgba(11,99,255,.04) 100%);
  box-shadow: inset 0 -1px 0 rgba(11,99,255,.08);
}
.itb214-tab:hover { background: rgba(11,99,255,.035); }

/* Robust sequenced content animation reset */
.itb214-slide .itb214-eyebrow,
.itb214-slide .itb214-content h1,
.itb214-slide .itb214-content p,
.itb214-slide .itb214-buttons,
.itb214-slide .itb214-controls {
  transition: none !important;
}
.itb214-slide.is-active:not(.is-sequencing) .itb214-eyebrow,
.itb214-slide.is-active:not(.is-sequencing) .itb214-content h1,
.itb214-slide.is-active:not(.is-sequencing) .itb214-content p,
.itb214-slide.is-active:not(.is-sequencing) .itb214-buttons,
.itb214-slide.is-active:not(.is-sequencing) .itb214-controls {
  opacity: 1;
  transform: none;
  filter: none;
}
.itb214-slide.is-active.is-sequencing .itb214-eyebrow {
  animation: itbSlideDownIn .72s cubic-bezier(.22,.61,.36,1) .5s both;
}
.itb214-slide.is-active.is-sequencing .itb214-content h1 {
  animation: itbSlideRightIn 1s cubic-bezier(.18,.89,.32,1.10) 1s both, itbTitleGlow 1.4s ease 1.65s 1;
}
.itb214-slide.is-active.is-sequencing .itb214-content p {
  animation: itbSlideUpIn .86s cubic-bezier(.22,.61,.36,1) 2s both;
}
.itb214-slide.is-active.is-sequencing .itb214-buttons {
  animation: itbZoomIn .62s cubic-bezier(.2,.8,.2,1) 3s both;
}
.itb214-slide.is-active.is-sequencing .itb214-controls {
  animation: itbZoomIn .58s cubic-bezier(.2,.8,.2,1) 3.5s both;
}
@keyframes itbSlideDownIn {
  from { opacity:0; transform: translate3d(0,-28px,0); filter: blur(8px); }
  to   { opacity:1; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes itbSlideRightIn {
  from { opacity:0; transform: translate3d(-52px,0,0); filter: blur(10px); }
  to   { opacity:1; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes itbSlideUpIn {
  from { opacity:0; transform: translate3d(0,28px,0); filter: blur(8px); }
  to   { opacity:1; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes itbZoomIn {
  from { opacity:0; transform: scale(.88); filter: blur(6px); }
  to   { opacity:1; transform: scale(1); filter: blur(0); }
}
@keyframes itbTitleGlow {
  0% { text-shadow: 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(11,99,255,0); }
  50% { text-shadow: 0 0 14px rgba(255,255,255,.55), 0 0 30px rgba(11,99,255,.10); }
  100% { text-shadow: 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(11,99,255,0); }
}

.services-section .section-head,
.references-strip .section-head,
.launch-section .launch-copy,
.section-sm .cta-card > div:first-child {
  text-align: center;
}
.services-section .section-head.compact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.services-section .section-copy {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}
.home-services-grid,
.home-services-grid .service-card {
  text-align: center;
}
.home-services-grid .service-card .icon { margin-inline: auto; }

.references-strip {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #082e7a 0%, #0a5fd8 100%);
}
.references-strip .section-head,
.references-strip .section-kicker,
.references-strip .section-title {
  color: #fff;
}
.references-strip .btn-ghost {
  border-color: rgba(255,255,255,.35);
  color: #fff;
}
.logos-marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.logos-marquee__track {
  display: flex;
  width: max-content;
  gap: 26px;
  animation: itbMarquee 34s linear infinite;
  padding: 14px 0 4px;
}
.logos-marquee:hover .logos-marquee__track { animation-play-state: paused; }
@keyframes itbMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.partner-logo {
  min-width: 220px;
  height: 94px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 26px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  backdrop-filter: blur(10px);
}
.partner-logo img { max-width: 100%; max-height: 42px; width: auto; height: auto; object-fit: contain; }

.portal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 22px;
}
.btn.btn-secondary-outline {
  background: #fff;
  color: #0b63ff;
  border: 1px solid rgba(11,99,255,.28);
}
.homepage-notice {
  padding: 14px 16px;
  margin: 0 0 18px;
  border-radius: 14px;
  font-size: 15px;
  line-height: 1.5;
}
.homepage-notice.is-success { background: #eaf7ef; color: #1e6b3c; border: 1px solid #bfe5cb; }
.homepage-notice.is-error { background: #fff1f1; color: #a12f2f; border: 1px solid #f0c0c0; }

.itb-modal[hidden] { display: none !important; }
.itb-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
}
.itb-modal__backdrop {
  position: absolute; inset: 0; background: rgba(7,17,38,.56); backdrop-filter: blur(4px);
}
.itb-modal__dialog {
  position: relative;
  z-index: 2;
  width: min(100%, 760px);
  max-height: calc(100vh - 40px);
  overflow: auto;
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 36px 90px rgba(7,17,38,.28);
  padding: 30px;
}
.itb-modal__top {
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom: 22px;
}
.itb-modal__close {
  width: 42px; height: 42px; border-radius: 999px; border:1px solid rgba(15,23,42,.12); background:#fff; cursor:pointer;
}
.form-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px;
}
.form-field { display:flex; flex-direction:column; gap:8px; }
.form-field.full { grid-column: 1 / -1; }
.form-field input, .form-field textarea {
  width:100%; border:1px solid rgba(17,24,39,.14); border-radius: 14px; padding: 13px 14px; font: inherit; color:#0f172a; background:#fff;
}
.form-field textarea { min-height: 120px; resize: vertical; }
.form-field label { font-weight: 700; color:#0f1e36; font-size: 14px; }
.form-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top: 18px; }
.form-help { font-size:13px; color:#64748b; line-height:1.5; }

.creative-section { position: relative; overflow: hidden; }
.creative-band {
  position: relative;
  padding: 42px 42px 42px;
  border-radius: 30px;
  overflow: hidden;
  background: #0f1f3d;
}
.creative-band::before {
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(6,15,32,.82) 0%, rgba(6,15,32,.60) 28%, rgba(6,15,32,.28) 55%, rgba(6,15,32,.08) 100%), url('/assets/creative-production-bg-v234.png') center center / cover no-repeat;
}
.creative-grid, .creative-mosaic, .creative-camera { position: relative; z-index: 2; }
.creative-grid { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); }
.creative-section .eyebrow,
.creative-section h2,
.creative-section p,
.creative-feature strong,
.creative-feature small { color:#fff !important; }
.creative-feature { background: rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.12); backdrop-filter: blur(8px); }
.creative-mosaic, .creative-camera { display:none !important; }

.launch-section {
  position: relative;
  overflow: hidden;
}
.launch-section .launch-grid {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  padding: 42px;
  background: linear-gradient(115deg, rgba(5,35,94,.92) 0%, rgba(9,87,191,.86) 100%);
}
.launch-section .launch-grid::before {
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(5,35,94,.90) 0%, rgba(8,59,144,.66) 36%, rgba(9,87,191,.30) 100%), url('/assets/practice-bg-v234.png') center center / cover no-repeat;
}
.launch-section .launch-copy,
.launch-section .launch-checklist { position: relative; z-index: 2; }
.launch-section .section-kicker,
.launch-section .section-title,
.launch-section .section-copy,
.launch-section .launch-copy p,
.launch-section .launch-copy h2 { color: #fff !important; }
.launch-service-grid article {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
  box-shadow: none;
}
.launch-service-grid article strong,
.launch-service-grid article small,
.launch-service-grid article span { color:#fff !important; }

.cta-card { text-align:center; }
.cta-card .section-title { text-align:center; }
.contact-items {
  justify-content: center;
  margin-bottom: 18px;
}
.contact-form-wrap {
  max-width: 940px;
  margin: 0 auto;
}
.contact-form-wrap .form-grid { margin-top: 18px; }

.site-footer,
footer.site-footer,
footer {
  text-align: center;
}
.site-footer .container,
.site-footer .footer-inner,
.site-footer .footer-grid,
footer .container,
footer .footer-inner,
footer .footer-grid {
  text-align: center;
  justify-items: center;
}
.site-footer .brand,
.site-footer .footer-brand,
footer .brand,
footer .footer-brand {
  margin-inline: auto;
  justify-content: center;
}
.site-footer h3, .site-footer h4, .site-footer .footer-title,
footer h3, footer h4, footer .footer-title {
  min-height: 1.6em;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}

@media (max-width: 900px) {
  .references-strip .section-head { align-items:center; }
  .partner-logo { min-width: 180px; height: 78px; }
  .partner-logo img { max-height: 32px; }
  .form-grid { grid-template-columns: 1fr; }
  .itb-modal__dialog { padding: 24px 18px; }
  .creative-band,
  .launch-section .launch-grid { padding: 26px 20px; }
  .launch-section .launch-grid::before,
  .creative-band::before {
    background-position: center center;
  }
}


/* ===== v237 safety: content is never lost + active slider cells highlighted ===== */
.itb214-slide.is-active .itb214-eyebrow,
.itb214-slide.is-active .itb214-content h1,
.itb214-slide.is-active .itb214-content p,
.itb214-slide.is-active .itb214-buttons,
.itb214-slide.is-active .itb214-controls,
.itb214-slide.is-active .itb214-buttons .itb214-btn {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

.itb214-tab.is-active {
  background: linear-gradient(180deg, rgba(11,99,255,.13), rgba(11,99,255,.055)) !important;
  box-shadow: inset 0 0 0 1px rgba(11,99,255,.08), inset 0 -3px 0 rgba(11,99,255,.92) !important;
}

.itb214-tab:hover {
  background: rgba(11,99,255,.055) !important;
}

.itb214-slide.is-active.is-sequencing .itb214-eyebrow {
  animation: itbSlideDownIn .72s cubic-bezier(.22,.61,.36,1) .5s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-content h1 {
  animation: itbSlideRightIn 1s cubic-bezier(.18,.89,.32,1.10) 1s both, itbTitleGlow 1.4s ease 1.65s 1 !important;
}
.itb214-slide.is-active.is-sequencing .itb214-content p {
  animation: itbSlideUpIn .86s cubic-bezier(.22,.61,.36,1) 2s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(1) {
  animation: itbZoomIn .62s cubic-bezier(.2,.8,.2,1) 3s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(2) {
  animation: itbZoomIn .62s cubic-bezier(.2,.8,.2,1) 3.5s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-controls {
  animation: itbZoomIn .58s cubic-bezier(.2,.8,.2,1) 4.05s both !important;
}

@keyframes itbSlideDownIn {
  from { opacity:0; transform: translate3d(0,-28px,0); filter: blur(8px); }
  to { opacity:1; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes itbSlideRightIn {
  from { opacity:0; transform: translate3d(-52px,0,0); filter: blur(10px); }
  to { opacity:1; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes itbSlideUpIn {
  from { opacity:0; transform: translate3d(0,28px,0); filter: blur(8px); }
  to { opacity:1; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes itbZoomIn {
  from { opacity:0; transform: scale(.88); filter: blur(6px); }
  to { opacity:1; transform: scale(1); filter: blur(0); }
}
@keyframes itbTitleGlow {
  0% { text-shadow: 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(11,99,255,0); }
  50% { text-shadow: 0 0 14px rgba(255,255,255,.55), 0 0 30px rgba(11,99,255,.10); }
  100% { text-shadow: 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(11,99,255,0); }
}


/* ===== IT-BALON.CZ v241 homepage polish + smoother slider ===== */
@media (min-width: 901px) {
  .itb214-slider { --itb214-h: clamp(520px, 35vw, 610px) !important; padding-bottom: 8px !important; }
  .itb214-viewport, .itb214-slide { min-height: var(--itb214-h) !important; }
  .itb214-tabs { margin-top: -14px !important; position: relative; z-index: 8; }
  .itb214-tab { min-height: 72px !important; }
  .itb214-slide { transition: opacity 2100ms cubic-bezier(.22,.61,.36,1), visibility 0s linear 2100ms, transform 2550ms cubic-bezier(.19,1,.22,1), filter 2100ms ease !important; }
  .itb214-slide.is-pre-active { opacity: 0 !important; visibility: visible !important; transform: var(--itb214-enter-transform, translate3d(70px,0,0) scale(1.04)) !important; filter: blur(4px) saturate(.95) contrast(.99) brightness(1.01) !important; z-index: 3; }
  .itb214-slide.is-active { opacity: 1 !important; visibility: visible !important; transform: translate3d(0,0,0) scale(1) !important; filter: blur(0) saturate(1.02) contrast(1.02) !important; z-index: 4; }
  .itb214-slide.is-exiting { opacity: 0 !important; visibility: visible !important; transform: var(--itb214-exit-transform, translate3d(-40px,0,0) scale(1.012)) !important; filter: blur(4px) saturate(.92) contrast(.97) brightness(.99) !important; z-index: 2; }
}

.itb214-slide.is-active .itb214-eyebrow,
.itb214-slide.is-active .itb214-content h1,
.itb214-slide.is-active .itb214-content p,
.itb214-slide.is-active .itb214-buttons,
.itb214-slide.is-active .itb214-controls,
.itb214-slide.is-active .itb214-buttons .itb214-btn { opacity: 1 !important; visibility: visible !important; }

.itb214-slide.is-active.is-sequencing .itb214-buttons { animation: none !important; }
.itb214-slide.is-active.is-sequencing .itb214-eyebrow { animation: itb241SlideDownIn .82s cubic-bezier(.18,.9,.22,1) .45s both; }
.itb214-slide.is-active.is-sequencing .itb214-content h1 { position: relative; overflow: hidden; animation: itb241SlideRightIn 1.10s cubic-bezier(.16,1,.30,1) 1s both, itb241TitleGlow 1.3s ease 1.25s both; }
.itb214-slide.is-active.is-sequencing .itb214-content h1::after { content:""; position:absolute; inset:-18% auto -18% -38%; width:32%; opacity:0; pointer-events:none; transform:skewX(-18deg); background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.16) 20%, rgba(255,255,255,.90) 50%, rgba(255,255,255,.18) 78%, rgba(255,255,255,0) 100%); mix-blend-mode:screen; animation: itb241Shine 1.05s cubic-bezier(.22,.61,.36,1) 1.30s both; }
.itb214-slide.is-active.is-sequencing .itb214-content p { animation: itb241SlideUpIn .95s cubic-bezier(.18,.9,.22,1) 2s both; }
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(1) { animation: itb241ZoomIn .70s cubic-bezier(.18,.9,.22,1.08) 3s both; }
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(2) { animation: itb241ZoomIn .70s cubic-bezier(.18,.9,.22,1.08) 3.5s both; }
.itb214-slide.is-active.is-sequencing .itb214-controls { animation: itb241ControlsIn .64s ease 4.15s both; }

@keyframes itb241SlideDownIn { 0%{opacity:0;transform:translate3d(0,-28px,0);filter:blur(7px);} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb241SlideRightIn { 0%{opacity:0;transform:translate3d(-50px,0,0);filter:blur(8px);} 70%{opacity:1;transform:translate3d(3px,0,0);filter:blur(0);} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb241SlideUpIn { 0%{opacity:0;transform:translate3d(0,28px,0);filter:blur(7px);} 72%{opacity:1;transform:translate3d(0,-1px,0);filter:blur(0);} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb241ZoomIn { 0%{opacity:0;transform:scale(.86) translate3d(0,10px,0);filter:blur(6px);} 72%{opacity:1;transform:scale(1.03) translate3d(0,0,0);filter:blur(0);} 100%{opacity:1;transform:scale(1) translate3d(0,0,0);filter:blur(0);} }
@keyframes itb241ControlsIn { 0%{opacity:0;transform:translate3d(0,10px,0);filter:blur(5px);} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb241Shine { 0%{opacity:0;left:-40%;} 14%{opacity:.88;} 72%{opacity:.78;} 100%{opacity:0;left:116%;} }
@keyframes itb241TitleGlow { 0%{text-shadow:0 0 0 rgba(255,255,255,0),0 0 0 rgba(11,99,255,0);} 45%{text-shadow:0 0 14px rgba(255,255,255,.48),0 0 24px rgba(11,99,255,.10);} 100%{text-shadow:0 0 0 rgba(255,255,255,0),0 0 0 rgba(11,99,255,0);} }

.home-services-grid { align-items: stretch; }
.home-services-grid .service-card { display:flex; flex-direction:column; height:100%; }
.home-services-grid .service-card .more { margin-top:auto; padding-top:14px; }

.portal-section { position: relative; overflow: hidden; }
.portal-section::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 15% 10%, rgba(11,99,255,.10), transparent 36%), radial-gradient(circle at 85% 80%, rgba(29,78,216,.10), transparent 32%); pointer-events:none; }
.portal-grid { position: relative; z-index: 1; }
.portal-preview { position: relative; overflow: hidden; box-shadow: 0 24px 60px rgba(10,25,60,.10); }
.portal-preview::after { content:""; position:absolute; inset:auto -20% -55% auto; width:220px; height:220px; background:radial-gradient(circle, rgba(11,99,255,.14) 0%, rgba(11,99,255,0) 72%); pointer-events:none; }
.portal-content .section-title { max-width: 560px; }
.portal-content .blue-list li::marker { color:#0b63ff; }
.portal-actions .btn { box-shadow: 0 14px 30px rgba(11,99,255,.12); }

.creative-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(7,45,118,.98) 0%, rgba(12,97,218,.92) 48%, rgba(33,163,244,.88) 100%), url('/assets/creative-production-bg-v234.png') center center / cover no-repeat !important;
}
.creative-band {
  position: relative; background: transparent !important; border-radius: 0 !important; padding: 34px 0 !important; max-width: none !important;
}
.creative-band::before { display:none !important; }
.creative-grid {
  position: relative; z-index:2; max-width: 1180px; margin: 0 auto; padding: 42px 46px; border-radius: 34px; overflow: hidden;
  background: linear-gradient(90deg, rgba(6,15,32,.76) 0%, rgba(6,15,32,.48) 28%, rgba(6,15,32,.18) 58%, rgba(6,15,32,.08) 100%);
  backdrop-filter: blur(2px);
}
.creative-feature { min-height: 112px; display:flex; flex-direction:column; justify-content:flex-start; }

.faq-list--two-cols { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px 18px; }
.faq-list--two-cols .faq-item { height: fit-content; }

.launch-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(7,45,118,.98) 0%, rgba(12,97,218,.92) 48%, rgba(33,163,244,.88) 100%), url('/assets/practice-bg-v234.png') center center / cover no-repeat !important;
}
.launch-section .launch-grid {
  background: transparent !important; border-radius: 0 !important; padding: 38px 0 !important; max-width: none;
}
.launch-section .launch-grid::before { display:none !important; }
.launch-section .launch-copy, .launch-section .launch-checklist { max-width: none; }
.launch-section .launch-copy { padding: 0 12px 0 0; }
.launch-service-grid article { min-height: 168px; }
.launch-service-grid article span { color:#0b63ff !important; background:#fff; border-radius:14px; display:inline-flex; min-width:44px; min-height:36px; align-items:center; justify-content:center; font-weight:800; }

.contact-form-wrap {
  max-width: 1180px !important; margin: 0 auto; text-align:left !important;
}
.contact-split { display:grid; grid-template-columns: minmax(320px, .95fr) minmax(0, 1.1fr); gap: 28px; align-items: stretch; }
.contact-side { background:#fff; border:1px solid rgba(17,24,39,.08); border-radius: 28px; padding: 28px 28px 26px; box-shadow: 0 20px 50px rgba(15,23,42,.06); }
.contact-side--info { background: linear-gradient(180deg, #f7fbff 0%, #eef5ff 100%); }
.contact-side--info .section-title,
.contact-side--info .section-copy { text-align:left !important; }
.contact-info-list { display:grid; grid-template-columns: 1fr; gap: 12px; margin: 22px 0; }
.contact-info-card { padding: 14px 16px; border-radius: 18px; background: rgba(255,255,255,.78); border:1px solid rgba(11,99,255,.10); }
.contact-info-card small { display:block; color:#5f6f86; margin-bottom: 6px; }
.contact-info-card strong { color:#0f1e36; font-size: 16px; line-height: 1.45; }
.contact-map-link { margin-top: 6px; }
.form-field select { width:100%; border:1px solid rgba(17,24,39,.14); border-radius:14px; padding:13px 14px; font:inherit; color:#0f172a; background:#fff; }
.form-field--captcha .captcha-inline { display:flex; gap: 12px; align-items:center; }
.captcha-example { display:inline-flex; min-width: 92px; justify-content:center; padding: 12px 14px; border-radius: 14px; background:#eef5ff; color:#0b63ff; font-weight:800; }
.checkbox-inline { display:flex; align-items:flex-start; gap:10px; font-weight:500 !important; line-height:1.5; }
.checkbox-inline input { margin-top: 3px; }
.contact-side--form .form-actions { justify-content:flex-start; }
.cta-card .section-title { text-align:left; }

.site-footer .footer-grid {
  align-items: start;
}
.site-footer .footer-grid > div {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-footer .brand-footer { justify-content:center; }
.site-footer .footer-brand { text-align:center; }
.site-footer h3, .site-footer h4, .site-footer .footer-title {
  min-height: 2.2em;
  align-items: flex-start;
}

@media (max-width: 900px) {
  .faq-list--two-cols { grid-template-columns: 1fr; }
  .contact-split { grid-template-columns: 1fr; }
  .contact-side, .creative-grid { padding: 24px 20px; }
  .creative-band { padding: 22px 0 !important; }
  .launch-section .launch-grid { padding: 24px 0 !important; }
  .contact-side--info .section-title,
  .cta-card .section-title,
  .contact-side--info .section-copy { text-align:center !important; }
  .contact-map-link { display:inline-flex; margin-left:auto; margin-right:auto; }
  .form-field--captcha .captcha-inline { flex-direction: column; align-items: stretch; }
}


/* ===== IT-BALON.CZ v242: menu popup + modal polish ===== */
.itb-contact-modal .itb-modal__dialog {
  width: min(100%, 820px);
}

.itb-contact-modal .form-actions {
  justify-content: flex-start;
}

.itb-contact-modal .btn-secondary-outline {
  box-shadow: none;
}

.itb-contact-modal .section-title {
  text-align: left !important;
}

/* Podpora/portál přihlašování: na mobilu formulář jako první, info až pod ním. */
@media (max-width: 1100px) {
  .login-wrap {
    display: grid;
    grid-template-columns: 1fr;
  }

  .login-box {
    order: 1;
  }

  .login-hero {
    order: 2;
  }
}

@media (max-width: 760px) {
  .itb-contact-modal .itb-modal__dialog {
    padding: 24px 18px;
  }

  .itb-contact-modal .section-title,
  .itb-contact-modal .section-copy {
    text-align: center !important;
  }

  .itb-contact-modal .itb-modal__top {
    align-items: flex-start;
  }

  .itb-contact-modal .form-actions {
    justify-content: center;
  }
}


/* ===== IT-BALON v243 desktop polish / full-width sections / forms ===== */
@media (min-width: 901px) {
  .itb214-slider { --itb214-h: clamp(500px, 34vw, 590px) !important; }
  .itb214-viewport, .itb214-slide, .itb214-inner { min-height: var(--itb214-h) !important; }
  .itb214-inner {
    width: min(calc(100% - 150px), 1400px) !important;
    padding: 50px 0 118px !important;
    align-items: center !important;
  }
  .itb214-content {
    width: min(560px, 42vw) !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
  .itb214-eyebrow { margin-bottom: 14px !important; }
  .itb214-content h1 {
    margin: 0 0 18px !important;
    font-size: clamp(38px, 3.35vw, 56px) !important;
    line-height: 1.03 !important;
  }
  .itb214-content p { margin: 0 0 24px !important; max-width: 500px !important; }
  .itb214-buttons { margin-bottom: 22px !important; }
  .itb214-controls { margin-top: 0 !important; }
  .itb214-tabs {
    bottom: 16px !important;
    min-height: 84px !important;
    box-shadow: 0 22px 56px rgba(15,23,42,.12) !important;
  }
  .itb214-tab.is-active {
    background: linear-gradient(180deg, rgba(23,99,255,.10), rgba(23,99,255,.05)) !important;
  }
  .itb214-slide {
    transition: opacity 900ms cubic-bezier(.22,.61,.36,1), visibility 900ms cubic-bezier(.22,.61,.36,1) !important;
  }
}

.itb214-slide[data-itb-effect="drift-left"],
.itb214-slide[data-itb-effect="drift-right"],
.itb214-slide[data-itb-effect="float-up"],
.itb214-slide[data-itb-effect="focus-in"],
.itb214-slide[data-itb-effect="cinema-pan"] {
  transition: opacity 900ms cubic-bezier(.22,.61,.36,1), visibility 900ms cubic-bezier(.22,.61,.36,1), transform 1800ms cubic-bezier(.22,.61,.36,1) !important;
}
.itb214-slide.is-exiting { z-index: 3 !important; }
.itb214-slide.is-active.is-sequencing .itb214-eyebrow { animation: itb241SlideDownIn .95s cubic-bezier(.18,.9,.22,1) .5s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-content h1 { position: relative; overflow: hidden; animation: itb241SlideRightIn 1.25s cubic-bezier(.16,1,.30,1) 1s both, itb241TitleGlow 1.35s ease 1.35s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-content h1::after { animation: itb241Shine 1.18s cubic-bezier(.22,.61,.36,1) 1.45s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-content p { animation: itb241SlideUpIn 1.05s cubic-bezier(.18,.9,.22,1) 2s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(1) { animation: itb241ZoomIn .72s cubic-bezier(.18,.9,.22,1.08) 3s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(2) { animation: itb241ZoomIn .72s cubic-bezier(.18,.9,.22,1.08) 4s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-controls { animation: itb241ControlsIn .78s cubic-bezier(.22,.61,.36,1) 4.6s both !important; }

.creative-section,
.launch-section {
  position: relative;
  overflow: hidden;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
}
.creative-section::before,
.launch-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transform: scale(1.01);
}
.creative-section::after,
.launch-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(9,27,60,.86) 0%, rgba(13,39,84,.68) 34%, rgba(18,59,110,.46) 55%, rgba(255,255,255,.18) 100%);
}
.creative-section::before { background-image: url('/assets/creative-production-bg-v234.png'); }
.launch-section::before { background-image: url('/assets/practice-bg-v234.png'); }
.creative-section > .container,
.launch-section > .container { position: relative; z-index: 2; }
.creative-band,
.launch-grid {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  max-width: 1340px;
  margin: 0 auto;
}
.creative-section { padding: 48px 0 56px !important; }
.launch-section { padding: 48px 0 56px !important; }
.creative-grid,
.launch-grid {
  padding: 28px 8px !important;
  min-height: 0 !important;
}
.creative-section .eyebrow,
.creative-section h2,
.creative-section p,
.creative-section .creative-feature strong,
.creative-section .creative-feature small,
.launch-section .section-kicker,
.launch-section .section-title,
.launch-section .section-copy,
.launch-section .launch-copy p,
.launch-section .launch-copy h2,
.launch-section .launch-checklist strong,
.launch-section .launch-checklist small { color: #fff !important; }
.creative-feature,
.launch-service-grid article {
  background: rgba(8,16,32,.36) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  backdrop-filter: blur(12px);
}
.launch-service-grid article span {
  color: #0b63ff !important;
  background: #fff !important;
}

.faq-section { padding: 76px 0 !important; background: linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%); }
.faq-stage {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.faq-stage__intro {
  background: linear-gradient(180deg,#071126 0%,#123d86 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 24px 54px rgba(7,17,38,.18);
  position: sticky;
  top: 92px;
}
.faq-stage__intro .section-kicker,
.faq-stage__intro .section-title,
.faq-stage__intro .section-copy { color:#fff !important; }
.faq-stage__badges { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.faq-stage__badges span {
  display:inline-flex; align-items:center; min-height:34px; padding:0 14px; border-radius:999px;
  background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.14); font-size:13px; font-weight:700;
}
.faq-stage__questions { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; }
.faq-card {
  background:#fff; border-radius:22px; border:1px solid #dfe8f3; overflow:hidden;
  box-shadow: 0 16px 35px rgba(15,23,42,.06);
}
.faq-card summary {
  list-style:none; cursor:pointer; position:relative; padding:22px 58px 22px 22px;
  font-size:18px; font-weight:800; color:#071126;
}
.faq-card summary::-webkit-details-marker { display:none; }
.faq-card summary::after {
  content:'+'; position:absolute; right:18px; top:18px; width:28px; height:28px; border-radius:999px;
  display:flex; align-items:center; justify-content:center; background:#eef4ff; color:#0b63ff; font-size:20px; font-weight:700;
}
.faq-card[open] summary::after { content:'–'; }
.faq-card p { margin:0; padding:0 22px 22px; color:#4c5d74; line-height:1.65; }

.contact-form-wrap { box-shadow: 0 22px 58px rgba(15,23,42,.08) !important; }
.itb-enhanced-form .form-field label small { color:#789; font-weight:600; }
.itb-enhanced-form input:invalid,
.itb-enhanced-form select:invalid,
.itb-enhanced-form textarea:invalid { box-shadow:none; }
.itb-enhanced-form .is-invalid { border-color:#de4c4c !important; background:#fff7f7 !important; }
.itb-enhanced-form .field-error {
  display:block; margin-top:8px; color:#b43131; font-size:13px; line-height:1.4; font-weight:600;
}
.captcha-card {
  display:flex; flex-direction:column; gap:12px; padding:16px 18px; border-radius:18px; background:linear-gradient(180deg,#f8fbff,#eef4ff); border:1px solid #d9e6fb;
}
.captcha-card__title { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#0b63ff; }
.captcha-inline { display:flex; align-items:center; gap:14px; }
.captcha-example {
  min-width: 120px; min-height: 48px; padding:0 16px; border-radius:14px; display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid #dce6f4; font-size:20px; font-weight:800; color:#071126;
}
.gdpr-card {
  display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:flex-start; padding:16px 18px; border-radius:18px;
  background:linear-gradient(180deg,#fbfdff,#f3f7fc); border:1px solid #dde7f3; cursor:pointer;
}
.gdpr-card__check { position:relative; width:24px; height:24px; display:inline-flex; }
.gdpr-card__check input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.gdpr-card__check span {
  width:24px; height:24px; border-radius:8px; border:1.5px solid #b9cbe2; background:#fff; display:block; position:relative;
}
.gdpr-card__check input:checked + span { background:#0b63ff; border-color:#0b63ff; }
.gdpr-card__check input:checked + span::after {
  content:''; position:absolute; left:7px; top:3px; width:6px; height:11px; border:2px solid #fff; border-top:0; border-left:0; transform:rotate(45deg);
}
.gdpr-card__text strong { display:block; color:#071126; margin-bottom:4px; }
.gdpr-card__text small { display:block; color:#55657b; line-height:1.55; }
.itb-modal__dialog--small { max-width: 540px !important; }

@media (max-width: 900px) {
  .faq-stage { grid-template-columns: 1fr; }
  .faq-stage__intro { position: static; }
  .faq-stage__questions { grid-template-columns: 1fr; }
  .creative-section,
  .launch-section { width: auto; left: auto; right: auto; margin: 0; }
  .creative-section::after,
  .launch-section::after { background: linear-gradient(180deg, rgba(8,22,42,.78) 0%, rgba(10,31,65,.64) 45%, rgba(15,23,42,.46) 100%); }
  .creative-grid,
  .launch-grid { padding: 16px 0 !important; }
  .captcha-inline { flex-direction: column; align-items: stretch; }
  .captcha-example { min-width: 0; width: 100%; }
}


/* ===== IT-BALON.CZ v246: kontakt detaily + FAQ zavřené + jemná grafika sekcí ===== */

/* CO NABÍZÍME – abstraktní linky/aury v pozadí */
.services-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 10%, rgba(11,99,255,.085), transparent 34%),
    radial-gradient(circle at 88% 16%, rgba(25,158,255,.075), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 62%, #f7fbff 100%) !important;
}

.services-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .72;
  background-image:
    linear-gradient(115deg, transparent 0 28%, rgba(11,99,255,.075) 28.2%, transparent 28.8% 100%),
    linear-gradient(155deg, transparent 0 42%, rgba(11,99,255,.055) 42.2%, transparent 42.7% 100%),
    radial-gradient(circle at 20% 25%, rgba(11,99,255,.10) 0 1px, transparent 2px),
    radial-gradient(circle at 70% 35%, rgba(11,99,255,.09) 0 1px, transparent 2px);
  background-size: 720px 360px, 680px 360px, 110px 110px, 130px 130px;
}

.services-section > .container {
  position: relative;
  z-index: 1;
}

/* Kontaktní formulář – jemná abstraktní grafika v pozadí */
.contact-form-wrap {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 12%, rgba(11,99,255,.14), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(56,189,248,.14), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(242,247,255,.94)) !important;
}

.contact-form-wrap::before {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  opacity: .78;
  background:
    linear-gradient(120deg, transparent 0 24%, rgba(11,99,255,.085) 24.15%, transparent 24.8% 100%),
    linear-gradient(145deg, transparent 0 58%, rgba(11,99,255,.065) 58.15%, transparent 58.8% 100%),
    radial-gradient(circle at 86% 82%, rgba(11,99,255,.11), transparent 24%);
  background-size: 780px 460px, 720px 460px, 100% 100%;
}

.contact-form-wrap > * {
  position: relative;
  z-index: 1;
}

.contact-info-card--wide {
  grid-column: 1 / -1;
}

.contact-info-card--wide strong {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* FAQ – všechny zavřené ve výchozím stavu, čistější spacing */
.faq-card:not([open]) p,
.faq-item:not([open]) p {
  display: none;
}

.faq-card summary,
.faq-item summary {
  cursor: pointer;
}

@media (max-width: 900px) {
  .services-section::before,
  .contact-form-wrap::before {
    opacity: .48;
  }
}


/* ===== IT-BALON.CZ v248 safe slider + section polish ===== */

/* Desktop hero slider: text posunout doprava, menší výška, tabs o něco výš */
@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(470px, 30vw, 540px) !important;
  }
  .itb214-viewport,
  .itb214-slide,
  .itb214-inner {
    min-height: var(--itb214-h) !important;
  }
  .itb214-inner {
    width: min(calc(100% - 120px), 1380px) !important;
    padding: 40px 0 88px !important;
    align-items: center !important;
  }
  .itb214-content {
    width: min(620px, 46vw) !important;
    margin-left: clamp(76px, 5vw, 110px) !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  .itb214-eyebrow {
    margin: 0 0 16px !important;
  }
  .itb214-content h1 {
    margin: 0 0 18px !important;
    max-width: 720px !important;
    font-size: clamp(40px, 3.2vw, 56px) !important;
    line-height: 1.02 !important;
  }
  .itb214-content p {
    margin: 0 0 24px !important;
    max-width: 560px !important;
    font-size: 16.4px !important;
    line-height: 1.58 !important;
  }
  .itb214-buttons { margin-bottom: 20px !important; }
  .itb214-tabs {
    width: min(calc(100% - 120px), 1380px) !important;
    bottom: 12px !important;
    min-height: 74px !important;
  }
  .itb214-tab {
    min-height: 74px !important;
  }
  .itb214-slide {
    transition:
      opacity 1200ms cubic-bezier(.22,.61,.36,1),
      visibility 1200ms cubic-bezier(.22,.61,.36,1),
      transform 1900ms cubic-bezier(.19,1,.22,1),
      filter 1200ms ease !important;
  }
}

/* Jemnější abstrakt sekce CO NABÍZÍME */
.services-section {
  background:
    radial-gradient(circle at 12% 16%, rgba(11,99,255,.10), transparent 28%),
    radial-gradient(circle at 86% 12%, rgba(56,189,248,.11), transparent 22%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 48%, #f5f9ff 100%) !important;
}
.services-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .82;
  background-image:
    linear-gradient(118deg, transparent 0 22%, rgba(11,99,255,.07) 22.15%, transparent 22.8% 100%),
    linear-gradient(152deg, transparent 0 62%, rgba(11,99,255,.05) 62.15%, transparent 62.9% 100%),
    radial-gradient(circle at 22% 42%, rgba(11,99,255,.10) 0 1px, transparent 2px),
    radial-gradient(circle at 78% 28%, rgba(11,99,255,.08) 0 1px, transparent 2px);
  background-size: 840px 420px, 720px 360px, 120px 120px, 150px 150px;
}
.home-services-grid .service-card {
  display: flex;
  flex-direction: column;
}
.home-services-grid .service-card .btn,
.home-services-grid .service-card .service-link {
  margin-top: auto;
}

/* Tvorba & produkce – full width bg přes celou sekci */
.creative-section {
  position: relative;
  overflow: hidden;
  padding: 54px 0 58px !important;
}
.creative-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('/assets/creative-production-bg-v234.png') center center / cover no-repeat !important;
  filter: saturate(1.03) contrast(1.02);
}
.creative-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5,18,42,.90) 0%, rgba(10,36,71,.72) 34%, rgba(9,36,71,.28) 60%, rgba(9,36,71,.08) 100%) !important;
}
.creative-section > .container,
.launch-section > .container {
  position: relative;
  z-index: 1;
}
.creative-band {
  width: min(calc(100% - 110px), 1380px) !important;
  max-width: none !important;
}
.creative-grid {
  max-width: none !important;
  background: linear-gradient(90deg, rgba(7,17,37,.62) 0%, rgba(7,17,37,.44) 30%, rgba(7,17,37,.20) 58%, rgba(7,17,37,.06) 100%) !important;
}

/* FAQ – abstraktní pozadí */
.faq-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,255,.08), transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(56,189,248,.10), transparent 24%),
    linear-gradient(180deg, #f7fbff 0%, #eef4fb 100%) !important;
}
.faq-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .78;
  background-image:
    linear-gradient(120deg, transparent 0 21%, rgba(11,99,255,.07) 21.15%, transparent 21.8% 100%),
    linear-gradient(148deg, transparent 0 58%, rgba(11,99,255,.05) 58.15%, transparent 58.8% 100%),
    radial-gradient(circle at 24% 38%, rgba(11,99,255,.10) 0 1px, transparent 2px),
    radial-gradient(circle at 76% 70%, rgba(11,99,255,.08) 0 1px, transparent 2px);
  background-size: 820px 420px, 760px 380px, 120px 120px, 150px 150px;
}
.faq-stage { position: relative; z-index: 1; }

/* IT-BALON.CZ v praxi – full width bg přes celou sekci */
.launch-section {
  position: relative;
  overflow: hidden;
  padding: 54px 0 58px !important;
}
.launch-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('/assets/practice-bg-v234.png') center center / cover no-repeat !important;
  filter: saturate(1.03) contrast(1.02);
}
.launch-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6,24,54,.88) 0%, rgba(9,38,84,.68) 34%, rgba(13,84,153,.38) 58%, rgba(13,84,153,.12) 84%, rgba(13,84,153,.03) 100%) !important;
}
.launch-grid {
  width: min(calc(100% - 110px), 1380px) !important;
  max-width: none !important;
}
.launch-service-grid article span {
  color: #0b63ff !important;
}

/* Kontakt – abstrakt + rozložení info boxů */
.contact-form-wrap {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 12%, rgba(11,99,255,.12), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(56,189,248,.14), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,255,.96)) !important;
}
.contact-form-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .84;
  background:
    linear-gradient(118deg, transparent 0 20%, rgba(11,99,255,.07) 20.15%, transparent 20.85% 100%),
    linear-gradient(148deg, transparent 0 64%, rgba(11,99,255,.06) 64.15%, transparent 64.85% 100%),
    radial-gradient(circle at 84% 82%, rgba(11,99,255,.11), transparent 24%) !important;
}
.contact-split { position: relative; z-index: 1; }
.contact-info-list {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 12px !important;
}
.contact-info-card:first-child {
  grid-column: 1 / -1;
}
.contact-legal-note {
  margin: 14px 0 0;
  color: #5b6b80;
  font-size: 14px;
  line-height: 1.6;
}

@media (max-width: 900px) {
  .creative-band,
  .launch-grid {
    width: calc(100% - 26px) !important;
  }
  .contact-info-list {
    grid-template-columns: 1fr !important;
  }
}


/* ===== IT-BALON.CZ v249 desktop polish ===== */

/* Slider – lepší rozvržení, menší height, větší tlačítka, důraznější sekvenční animace */
@media (min-width: 901px) {
  .itb214-slider { --itb214-h: clamp(455px, 28vw, 510px) !important; }
  .itb214-viewport,
  .itb214-slide,
  .itb214-inner { min-height: var(--itb214-h) !important; }
  .itb214-inner {
    width: min(calc(100% - 88px), 1380px) !important;
    padding: 34px 0 78px !important;
    align-items: center !important;
  }
  .itb214-content {
    width: min(650px, 47vw) !important;
    max-width: 650px !important;
    margin-left: clamp(88px, 8vw, 136px) !important;
    padding-right: 18px !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  .itb214-eyebrow {
    margin: 0 0 16px !important;
    font-size: 13.5px !important;
    letter-spacing: .18em !important;
  }
  .itb214-content h1 {
    margin: 0 0 18px !important;
    max-width: 700px !important;
    font-size: clamp(42px, 3.45vw, 58px) !important;
    line-height: .98 !important;
  }
  .itb214-content p {
    margin: 0 0 28px !important;
    max-width: 560px !important;
    font-size: 16.8px !important;
    line-height: 1.62 !important;
  }
  .itb214-buttons {
    gap: 14px !important;
    margin-bottom: 22px !important;
  }
  .itb214-buttons .itb214-btn {
    min-height: 48px !important;
    padding: 14px 24px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 24px rgba(15,23,42,.08);
  }
  .itb214-controls {
    margin-top: 2px !important;
  }
  .itb214-control {
    width: 38px !important;
    height: 38px !important;
  }
  .itb214-tabs {
    width: min(calc(100% - 88px), 1380px) !important;
    bottom: 8px !important;
    min-height: 72px !important;
  }
  .itb214-tab {
    min-height: 72px !important;
    align-items: center !important;
  }
  /* výchozí stavy pro sekvenční animaci */
  .itb214-slide .itb214-eyebrow,
  .itb214-slide .itb214-content h1,
  .itb214-slide .itb214-content p,
  .itb214-slide .itb214-buttons .itb214-btn,
  .itb214-slide .itb214-controls {
    opacity: 0;
    visibility: hidden;
    will-change: transform, opacity, filter;
  }
  .itb214-slide.is-active .itb214-eyebrow,
  .itb214-slide.is-active .itb214-content h1,
  .itb214-slide.is-active .itb214-content p,
  .itb214-slide.is-active .itb214-buttons .itb214-btn,
  .itb214-slide.is-active .itb214-controls {
    visibility: visible !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-eyebrow {
    animation: itb249SlideDownIn .95s cubic-bezier(.18,.9,.22,1) .50s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-content h1 {
    position: relative; overflow: hidden;
    animation: itb249SlideRightIn 1.20s cubic-bezier(.16,1,.30,1) 1.00s both, itb249TitleGlow 1.45s ease 1.35s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-content h1::after {
    content:""; position:absolute; inset:-16% auto -16% -38%; width:32%; opacity:0; pointer-events:none;
    transform:skewX(-18deg);
    background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.14) 16%, rgba(255,255,255,.92) 50%, rgba(255,255,255,.16) 82%, rgba(255,255,255,0) 100%);
    mix-blend-mode:screen;
    animation: itb249Shine 1.10s cubic-bezier(.22,.61,.36,1) 1.38s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-content p {
    animation: itb249SlideUpIn 1.00s cubic-bezier(.18,.9,.22,1) 2.00s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(1) {
    animation: itb249ZoomIn .78s cubic-bezier(.18,.9,.22,1.08) 3.00s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(2) {
    animation: itb249ZoomIn .78s cubic-bezier(.18,.9,.22,1.08) 4.00s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-controls {
    animation: itb249ControlsIn .78s cubic-bezier(.22,.61,.36,1) 4.75s both !important;
  }
  .itb214-slide.is-exiting .itb214-eyebrow,
  .itb214-slide.is-exiting .itb214-content h1,
  .itb214-slide.is-exiting .itb214-content p,
  .itb214-slide.is-exiting .itb214-buttons .itb214-btn,
  .itb214-slide.is-exiting .itb214-controls {
    animation: itb249ContentOut .55s ease both !important;
  }
}
@keyframes itb249SlideDownIn { 0%{opacity:0;transform:translate3d(0,-30px,0);filter:blur(7px);} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb249SlideRightIn { 0%{opacity:0;transform:translate3d(-54px,0,0);filter:blur(8px);} 72%{opacity:1;transform:translate3d(4px,0,0);filter:blur(0);} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb249SlideUpIn { 0%{opacity:0;transform:translate3d(0,26px,0);filter:blur(7px);} 72%{opacity:1;transform:translate3d(0,-1px,0);filter:blur(0);} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb249ZoomIn { 0%{opacity:0;transform:scale(.88) translate3d(0,12px,0);filter:blur(6px);} 72%{opacity:1;transform:scale(1.03) translate3d(0,0,0);filter:blur(0);} 100%{opacity:1;transform:scale(1) translate3d(0,0,0);filter:blur(0);} }
@keyframes itb249ControlsIn { 0%{opacity:0;transform:translate3d(0,10px,0);filter:blur(5px);} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb249TitleGlow { 0%{text-shadow:0 0 0 rgba(255,255,255,0),0 0 0 rgba(11,99,255,0);} 42%{text-shadow:0 0 12px rgba(255,255,255,.42),0 0 20px rgba(11,99,255,.10);} 100%{text-shadow:0 0 0 rgba(255,255,255,0),0 0 0 rgba(11,99,255,0);} }
@keyframes itb249Shine { 0%{opacity:0;left:-40%;} 14%{opacity:.88;} 72%{opacity:.78;} 100%{opacity:0;left:116%;} }
@keyframes itb249ContentOut { 0%{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1);} 100%{opacity:0;filter:blur(7px);transform:translate3d(0,10px,0) scale(.98);} }

/* Co nabízíme – jiná abstraktní grafika */
.services-section {
  background:
    radial-gradient(circle at 8% 14%, rgba(11,99,255,.10), transparent 26%),
    radial-gradient(circle at 90% 18%, rgba(56,189,248,.12), transparent 24%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 52%, #f4f8ff 100%) !important;
}
.services-section::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.85;
  background-image:
    linear-gradient(116deg, transparent 0 19%, rgba(11,99,255,.06) 19.15%, transparent 19.8% 100%),
    linear-gradient(146deg, transparent 0 61%, rgba(11,99,255,.05) 61.15%, transparent 61.9% 100%),
    radial-gradient(circle at 18% 30%, rgba(11,99,255,.10) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 68%, rgba(11,99,255,.09) 0 1px, transparent 2px),
    linear-gradient(90deg, transparent 0 14%, rgba(11,99,255,.03) 14.2%, transparent 14.7%, transparent 100%);
  background-size: 880px 420px, 760px 360px, 120px 120px, 150px 150px, 320px 100%;
}

/* Klientský portál – výraznější abstrakt přes celou sekci */
.portal-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,255,.12), transparent 26%),
    radial-gradient(circle at 84% 22%, rgba(56,189,248,.14), transparent 24%),
    linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%) !important;
}
.portal-section::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.85;
  background-image:
    linear-gradient(118deg, transparent 0 18%, rgba(11,99,255,.07) 18.15%, transparent 18.85% 100%),
    linear-gradient(150deg, transparent 0 63%, rgba(11,99,255,.05) 63.15%, transparent 63.85% 100%),
    radial-gradient(circle at 22% 44%, rgba(11,99,255,.11) 0 1px, transparent 2px),
    radial-gradient(circle at 75% 20%, rgba(56,189,248,.11) 0 1px, transparent 2px);
  background-size: 900px 440px, 760px 360px, 130px 130px, 150px 150px;
}

/* Tvorba a produkce – více paddingu a tmavší overlay */
.creative-section {
  padding: 64px 0 70px !important;
}
.creative-section::after {
  background: linear-gradient(90deg, rgba(5,18,42,.94) 0%, rgba(9,31,58,.80) 34%, rgba(8,29,55,.46) 60%, rgba(8,29,55,.18) 100%) !important;
}
.creative-grid {
  gap: 28px !important;
  padding: 36px 42px !important;
}
.creative-features { gap: 16px !important; }
.creative-feature {
  background: rgba(255,255,255,.14) !important;
  backdrop-filter: blur(12px);
}

/* FAQ – abstrakt + intro box výškově srovnat */
.faq-section {
  background:
    radial-gradient(circle at 10% 18%, rgba(11,99,255,.09), transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(56,189,248,.11), transparent 24%),
    linear-gradient(180deg, #f7fbff 0%, #eef4fb 100%) !important;
}
.faq-section::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.78;
  background-image:
    linear-gradient(118deg, transparent 0 21%, rgba(11,99,255,.07) 21.15%, transparent 21.8% 100%),
    linear-gradient(148deg, transparent 0 58%, rgba(11,99,255,.05) 58.15%, transparent 58.8% 100%),
    radial-gradient(circle at 24% 38%, rgba(11,99,255,.10) 0 1px, transparent 2px),
    radial-gradient(circle at 76% 70%, rgba(11,99,255,.08) 0 1px, transparent 2px);
  background-size: 820px 420px, 760px 380px, 120px 120px, 150px 150px;
}
.faq-stage {
  align-items: stretch !important;
}
.faq-stage__intro {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 100% !important;
}
.faq-stage__questions {
  align-self: stretch !important;
}
.faq-card {
  min-height: 84px;
}

/* IT-BALON.CZ v praxi – background zachovat a zjemnit */
.launch-section {
  padding: 60px 0 68px !important;
}
.launch-section::after {
  background: linear-gradient(90deg, rgba(6,24,54,.90) 0%, rgba(9,38,84,.72) 34%, rgba(13,84,153,.42) 58%, rgba(13,84,153,.14) 84%, rgba(13,84,153,.04) 100%) !important;
}

/* Kontakty – full-width abstrakt sekce + nový nadpis + mapa níž a jinou barvou */
.contact-section {
  position: relative;
  overflow: hidden;
  padding: 54px 0 !important;
}
.contact-section::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 10% 12%, rgba(11,99,255,.12), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(56,189,248,.15), transparent 24%),
    linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
}
.contact-section::after {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.84;
  background:
    linear-gradient(118deg, transparent 0 18%, rgba(11,99,255,.07) 18.15%, transparent 18.85% 100%),
    linear-gradient(148deg, transparent 0 64%, rgba(11,99,255,.06) 64.15%, transparent 64.85% 100%),
    radial-gradient(circle at 82% 80%, rgba(11,99,255,.10), transparent 26%);
}
.contact-section > .container { position: relative; z-index: 1; }
.contact-form-wrap {
  background: rgba(255,255,255,.90) !important;
  backdrop-filter: blur(8px);
}
.contact-side--info .section-title {
  margin-bottom: 12px !important;
}
.contact-map-link {
  margin-top: 20px !important;
  background: #eaf2ff !important;
  border-color: #c5d8ff !important;
  color: #0b63ff !important;
}
.contact-map-link:hover {
  background: #dceaff !important;
}

@media (max-width: 900px) {
  .contact-section { padding: 28px 0 !important; }
  .contact-section::after,
  .contact-section::before { inset: 0; }
  .creative-grid { padding: 24px 20px !important; }
}


/* ===== IT-BALON.CZ v250 fine-tuning ===== */

/* Header / logo desktop */
.site-header .header-inner {
  min-height: 78px;
  align-items: center !important;
}
.site-header .brand-image {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.site-header .brand-image img {
  display: block;
  width: auto;
  height: clamp(38px, 3vw, 48px);
}

/* Slider layout + clearer staged animations */
@media (min-width: 901px) {
  .itb214-slider { --itb214-h: clamp(430px, 26vw, 485px) !important; }
  .itb214-viewport,
  .itb214-slide,
  .itb214-inner { min-height: var(--itb214-h) !important; }
  .itb214-inner {
    width: min(calc(100% - 84px), 1380px) !important;
    padding: 24px 0 72px !important;
    align-items: center !important;
  }
  .itb214-content {
    width: min(640px, 43vw) !important;
    max-width: 640px !important;
    margin-left: clamp(120px, 9vw, 170px) !important;
    padding-right: 22px !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  .itb214-eyebrow {
    margin-bottom: 14px !important;
    font-size: 13px !important;
    letter-spacing: .19em !important;
  }
  .itb214-content h1 {
    margin: 0 0 16px !important;
    max-width: 660px !important;
    font-size: clamp(41px, 3.55vw, 56px) !important;
    line-height: .98 !important;
  }
  .itb214-content p {
    margin: 0 0 24px !important;
    max-width: 545px !important;
    font-size: 16.3px !important;
    line-height: 1.62 !important;
  }
  .itb214-buttons {
    gap: 14px !important;
    margin-bottom: 20px !important;
  }
  .itb214-buttons .itb214-btn {
    min-height: 50px !important;
    padding: 14px 26px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: 0 14px 26px rgba(15,23,42,.10);
  }
  .itb214-controls { margin-top: 0 !important; }
  .itb214-control { width: 38px !important; height: 38px !important; }
  .itb214-tabs {
    width: min(calc(100% - 84px), 1380px) !important;
    bottom: 6px !important;
    min-height: 72px !important;
  }
  .itb214-tab { min-height: 72px !important; align-items: center !important; }

  .itb214-slide .itb214-eyebrow,
  .itb214-slide .itb214-content h1,
  .itb214-slide .itb214-content p,
  .itb214-slide .itb214-buttons .itb214-btn,
  .itb214-slide .itb214-controls {
    opacity: 0;
    visibility: hidden;
    will-change: transform, opacity, filter;
  }
  .itb214-slide.is-active .itb214-eyebrow,
  .itb214-slide.is-active .itb214-content h1,
  .itb214-slide.is-active .itb214-content p,
  .itb214-slide.is-active .itb214-buttons .itb214-btn,
  .itb214-slide.is-active .itb214-controls {
    visibility: visible !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-eyebrow {
    animation: itb250EyebrowIn .90s cubic-bezier(.18,.90,.22,1) .50s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-content h1 {
    position: relative; overflow: hidden;
    animation: itb250TitleIn 1.18s cubic-bezier(.16,1,.30,1) 1.00s both, itb250TitleGlow 1.35s ease 1.35s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-content h1::after {
    content: "";
    position: absolute; inset: -16% auto -16% -40%; width: 32%; pointer-events:none; opacity:0;
    transform: skewX(-18deg);
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.16) 15%, rgba(255,255,255,.94) 50%, rgba(255,255,255,.18) 82%, rgba(255,255,255,0) 100%);
    mix-blend-mode: screen;
    animation: itb250Shine 1.08s cubic-bezier(.22,.61,.36,1) 1.40s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-content p {
    animation: itb250BodyIn .95s cubic-bezier(.18,.90,.22,1) 2.00s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(1) {
    animation: itb250BtnIn .75s cubic-bezier(.18,.90,.22,1.08) 3.00s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(2) {
    animation: itb250BtnIn .75s cubic-bezier(.18,.90,.22,1.08) 3.50s both !important;
  }
  .itb214-slide.is-active.is-sequencing .itb214-controls {
    animation: itb250ControlsIn .72s cubic-bezier(.22,.61,.36,1) 4.05s both !important;
  }
  .itb214-slide.is-exiting .itb214-eyebrow,
  .itb214-slide.is-exiting .itb214-content h1,
  .itb214-slide.is-exiting .itb214-content p,
  .itb214-slide.is-exiting .itb214-buttons .itb214-btn,
  .itb214-slide.is-exiting .itb214-controls {
    animation: itb250Out .45s ease both !important;
  }
}
@keyframes itb250EyebrowIn { 0%{opacity:0;transform:translate3d(0,-28px,0);filter:blur(7px)} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)} }
@keyframes itb250TitleIn { 0%{opacity:0;transform:translate3d(-48px,0,0);filter:blur(8px)} 72%{opacity:1;transform:translate3d(3px,0,0);filter:blur(0)} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)} }
@keyframes itb250BodyIn { 0%{opacity:0;transform:translate3d(0,24px,0);filter:blur(7px)} 70%{opacity:1;transform:translate3d(0,-1px,0);filter:blur(0)} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)} }
@keyframes itb250BtnIn { 0%{opacity:0;transform:scale(.88) translate3d(0,10px,0);filter:blur(6px)} 72%{opacity:1;transform:scale(1.03) translate3d(0,0,0);filter:blur(0)} 100%{opacity:1;transform:scale(1) translate3d(0,0,0);filter:blur(0)} }
@keyframes itb250ControlsIn { 0%{opacity:0;transform:translate3d(0,8px,0);filter:blur(4px)} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)} }
@keyframes itb250TitleGlow { 0%{text-shadow:0 0 0 rgba(255,255,255,0),0 0 0 rgba(11,99,255,0)} 50%{text-shadow:0 0 13px rgba(255,255,255,.4),0 0 22px rgba(11,99,255,.10)} 100%{text-shadow:0 0 0 rgba(255,255,255,0),0 0 0 rgba(11,99,255,0)} }
@keyframes itb250Shine { 0%{opacity:0;left:-40%} 14%{opacity:.92} 72%{opacity:.78} 100%{opacity:0;left:115%} }
@keyframes itb250Out { 0%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)} 100%{opacity:0;transform:translate3d(0,10px,0);filter:blur(6px)} }

/* Smaller buttons on mobile remain untouched; bigger desktop primary look */
@media (min-width: 901px) {
  .itb214-btn.btn-primary,
  .itb214-btn.itb214-btn--primary { box-shadow: 0 16px 28px rgba(11,99,255,.22) !important; }
}

/* Different abstract background: portal */
.portal-section {
  background:
    linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%) !important;
}
.portal-section::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 14% 16%, rgba(11,99,255,.12), transparent 22%),
    radial-gradient(circle at 86% 22%, rgba(56,189,248,.14), transparent 24%),
    linear-gradient(117deg, transparent 0 18%, rgba(11,99,255,.055) 18.15%, transparent 18.8% 100%),
    linear-gradient(152deg, transparent 0 58%, rgba(11,99,255,.05) 58.15%, transparent 58.8% 100%),
    radial-gradient(circle at 24% 44%, rgba(11,99,255,.09) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 68%, rgba(56,189,248,.10) 0 1px, transparent 2px);
  background-size: auto, auto, 880px 420px, 760px 360px, 130px 130px, 150px 150px;
  opacity: .92;
}

/* FAQ abstract background */
.faq-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #f7fbff 0%, #eef4fb 100%) !important;
}
.faq-section::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 10% 18%, rgba(11,99,255,.09), transparent 24%),
    radial-gradient(circle at 88% 22%, rgba(56,189,248,.10), transparent 22%),
    linear-gradient(118deg, transparent 0 20%, rgba(11,99,255,.055) 20.15%, transparent 20.9% 100%),
    linear-gradient(149deg, transparent 0 62%, rgba(11,99,255,.045) 62.15%, transparent 62.85% 100%),
    radial-gradient(circle at 26% 60%, rgba(11,99,255,.09) 0 1px, transparent 2px),
    radial-gradient(circle at 76% 70%, rgba(11,99,255,.08) 0 1px, transparent 2px);
  background-size: auto, auto, 820px 420px, 760px 360px, 120px 120px, 160px 160px;
  opacity: .9;
}
.faq-stage,
.faq-stage__intro,
.faq-stage__questions { position: relative; z-index: 1; }

/* Contact section: no shared background panel */
.contact-section { position: relative; overflow: hidden; }
.contact-form-wrap {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  backdrop-filter: none !important;
  padding-inline: 0 !important;
}
.contact-form-wrap::before { display:none !important; }
.contact-side { box-shadow: 0 18px 40px rgba(15,23,42,.06) !important; }
.form-field label[for="contact-name"],
.form-field label[for="portal-name"] { letter-spacing: 0; }
.captcha-card--compact {
  padding-top: 14px !important;
}
.captcha-card--compact .captcha-inline {
  align-items: center;
}
.captcha-card--compact .captcha-example {
  font-weight: 800;
  color: #0f172a;
}
.captcha-card--compact small {
  margin-top: 8px;
  display: block;
}

@media (max-width: 900px) {
  .contact-form-wrap { padding-inline: 0 !important; }
}


/* ===== IT-BALON.CZ v251 – přesné desktop rozvržení slideru podle nákresu ===== */

/*
  Cíl:
  - štítek / nadpis / odstavec / tlačítka / šipky začínají na stejné levé hraně
  - textový blok není nalepený vlevo, ale je posunutý jako v nákresu
  - slider je nižší
  - spodní buňky jsou výš a mají menší vertikální mezeru
  - animace jsou znovu vynucené s jasným zpožděním jednotlivých částí
*/
@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(425px, 25.8vw, 488px) !important;
  }

  .itb214-viewport,
  .itb214-slide,
  .itb214-inner {
    min-height: var(--itb214-h) !important;
  }

  .itb214-inner {
    width: min(calc(100% - 120px), 1360px) !important;
    padding-top: 28px !important;
    padding-bottom: 76px !important;
    align-items: center !important;
  }

  .itb214-content,
  .itb214-slide--video .itb214-content {
    width: min(660px, 44vw) !important;
    max-width: 660px !important;
    margin-left: clamp(78px, 7.2vw, 124px) !important;
    padding: 0 !important;
    display: block !important;
    text-align: left !important;
  }

  .itb214-eyebrow,
  .itb214-content h1,
  .itb214-content p,
  .itb214-buttons,
  .itb214-controls {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    transform-origin: left center !important;
  }

  .itb214-eyebrow {
    display: block !important;
    width: fit-content !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    letter-spacing: .19em !important;
  }

  .itb214-content h1,
  .itb214-slide--video .itb214-content h1 {
    width: 100% !important;
    max-width: 660px !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    font-size: clamp(41px, 3.45vw, 56px) !important;
    line-height: 1.015 !important;
    letter-spacing: -0.052em !important;
  }

  .itb214-content p,
  .itb214-slide--video .itb214-content p {
    width: 100% !important;
    max-width: 560px !important;
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    font-size: 16.2px !important;
    line-height: 1.58 !important;
  }

  .itb214-buttons {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
  }

  .itb214-buttons .itb214-btn {
    min-height: 48px !important;
    padding: 13px 26px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
  }

  .itb214-controls {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 0 !important;
  }

  .itb214-control {
    width: 38px !important;
    height: 38px !important;
  }

  .itb214-tabs {
    width: min(calc(100% - 120px), 1360px) !important;
    bottom: 18px !important;
    min-height: 70px !important;
    transform: translateY(0) !important;
  }

  .itb214-tab {
    min-height: 70px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}

/* Absolutní reset konfliktů starších slider animací */
@media (min-width: 901px) {
  .itb214-slide .itb214-eyebrow,
  .itb214-slide .itb214-content h1,
  .itb214-slide .itb214-content p,
  .itb214-slide .itb214-buttons .itb214-btn,
  .itb214-slide .itb214-controls {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate3d(0,0,0);
    filter: none;
    animation: none !important;
    transition: none !important;
    will-change: opacity, transform, filter;
  }

  .itb214-slide.is-active:not(.is-sequencing) .itb214-eyebrow,
  .itb214-slide.is-active:not(.is-sequencing) .itb214-content h1,
  .itb214-slide.is-active:not(.is-sequencing) .itb214-content p,
  .itb214-slide.is-active:not(.is-sequencing) .itb214-buttons .itb214-btn,
  .itb214-slide.is-active:not(.is-sequencing) .itb214-controls {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0,0,0) scale(1) !important;
    filter: blur(0) !important;
  }

  .itb214-slide.is-active.is-sequencing .itb214-eyebrow,
  .itb214-slide.is-active.is-sequencing .itb214-content h1,
  .itb214-slide.is-active.is-sequencing .itb214-content p,
  .itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn,
  .itb214-slide.is-active.is-sequencing .itb214-controls {
    visibility: visible !important;
  }

  /* 0.5 s – štítek shora dolů */
  .itb214-slide.is-active.is-sequencing .itb214-eyebrow {
    animation: itb251EyebrowIn .78s cubic-bezier(.18,.90,.22,1) .50s both !important;
  }

  /* 1.0–2.0 s – nadpis zleva doprava + odlesk */
  .itb214-slide.is-active.is-sequencing .itb214-content h1 {
    position: relative !important;
    overflow: hidden !important;
    animation:
      itb251TitleIn 1.05s cubic-bezier(.16,1,.30,1) 1.00s both,
      itb251TitleGlow 1.35s ease 1.35s both !important;
  }

  .itb214-slide.is-active.is-sequencing .itb214-content h1::after {
    content: "" !important;
    position: absolute !important;
    inset: -16% auto -16% -38% !important;
    width: 32% !important;
    pointer-events: none !important;
    opacity: 0;
    transform: skewX(-18deg);
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.16) 18%, rgba(255,255,255,.94) 50%, rgba(255,255,255,.18) 82%, rgba(255,255,255,0) 100%);
    mix-blend-mode: screen;
    animation: itb251Shine 1.08s cubic-bezier(.22,.61,.36,1) 1.42s both !important;
  }

  /* 2.0–3.0 s – popis zdola nahoru */
  .itb214-slide.is-active.is-sequencing .itb214-content p {
    animation: itb251TextIn .88s cubic-bezier(.18,.90,.22,1) 2.00s both !important;
  }

  /* 3.0 s – první tlačítko zoom in */
  .itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(1) {
    animation: itb251BtnIn .68s cubic-bezier(.18,.90,.22,1.08) 3.00s both !important;
  }

  /* 3.5 s – druhé tlačítko zoom in */
  .itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(2) {
    animation: itb251BtnIn .68s cubic-bezier(.18,.90,.22,1.08) 3.50s both !important;
  }

  /* 4.1 s – counter/šipky */
  .itb214-slide.is-active.is-sequencing .itb214-controls {
    animation: itb251ControlsIn .62s cubic-bezier(.22,.61,.36,1) 4.10s both !important;
  }

  .itb214-slide.is-exiting .itb214-eyebrow,
  .itb214-slide.is-exiting .itb214-content h1,
  .itb214-slide.is-exiting .itb214-content p,
  .itb214-slide.is-exiting .itb214-buttons .itb214-btn,
  .itb214-slide.is-exiting .itb214-controls {
    animation: itb251Out .42s ease both !important;
  }
}

@keyframes itb251EyebrowIn {
  0% { opacity: 0; transform: translate3d(0,-24px,0); filter: blur(7px); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itb251TitleIn {
  0% { opacity: 0; transform: translate3d(-52px,0,0); filter: blur(8px); }
  72% { opacity: 1; transform: translate3d(3px,0,0); filter: blur(0); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itb251TextIn {
  0% { opacity: 0; transform: translate3d(0,24px,0); filter: blur(7px); }
  72% { opacity: 1; transform: translate3d(0,-1px,0); filter: blur(0); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itb251BtnIn {
  0% { opacity: 0; transform: scale(.86) translate3d(0,10px,0); filter: blur(6px); }
  72% { opacity: 1; transform: scale(1.025) translate3d(0,0,0); filter: blur(0); }
  100% { opacity: 1; transform: scale(1) translate3d(0,0,0); filter: blur(0); }
}

@keyframes itb251ControlsIn {
  0% { opacity: 0; transform: translate3d(0,8px,0); filter: blur(4px); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itb251TitleGlow {
  0% { text-shadow: 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(11,99,255,0); }
  46% { text-shadow: 0 0 13px rgba(255,255,255,.42), 0 0 20px rgba(11,99,255,.10); }
  100% { text-shadow: 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(11,99,255,0); }
}

@keyframes itb251Shine {
  0% { opacity: 0; left: -40%; }
  14% { opacity: .92; }
  72% { opacity: .78; }
  100% { opacity: 0; left: 115%; }
}

@keyframes itb251Out {
  0% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
  100% { opacity: 0; transform: translate3d(0,10px,0); filter: blur(6px); }
}


/* ===== IT-BALON.CZ v252 – FAQ / kontakt / popupy ===== */

/* FAQ: složitější abstrakt + modrý sloupec výškově zarovnaný s obsahem */
.faq-section {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 9% 14%, rgba(11,99,255,.13), transparent 25%),
    radial-gradient(circle at 88% 16%, rgba(56,189,248,.13), transparent 22%),
    radial-gradient(circle at 50% 105%, rgba(11,99,255,.08), transparent 36%),
    linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%) !important;
}

.faq-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .9;
  background-image:
    linear-gradient(118deg, transparent 0 19%, rgba(11,99,255,.07) 19.15%, transparent 19.85% 100%),
    linear-gradient(148deg, transparent 0 57%, rgba(11,99,255,.055) 57.15%, transparent 57.85% 100%),
    linear-gradient(78deg, transparent 0 70%, rgba(56,189,248,.045) 70.15%, transparent 70.85% 100%),
    radial-gradient(circle at 24% 40%, rgba(11,99,255,.11) 0 1px, transparent 2px),
    radial-gradient(circle at 77% 67%, rgba(56,189,248,.10) 0 1px, transparent 2px);
  background-size: 860px 430px, 760px 380px, 680px 360px, 118px 118px, 156px 156px;
}

.faq-stage {
  position: relative;
  z-index: 1;
  align-items: stretch !important;
}

.faq-stage__intro {
  position: static !important;
  height: auto !important;
  min-height: 100% !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-shadow: 0 24px 60px rgba(7,17,38,.20) !important;
}

.faq-stage__questions {
  align-self: stretch !important;
  display: grid !important;
}

/* Kontakt spodní sekce: jiný abstrakt + kompaktnější sloupce */
.contact-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 44px 0 !important;
  background:
    radial-gradient(circle at 12% 16%, rgba(11,99,255,.10), transparent 24%),
    radial-gradient(circle at 88% 22%, rgba(56,189,248,.13), transparent 23%),
    linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%) !important;
}

.contact-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .82;
  background:
    linear-gradient(120deg, transparent 0 17%, rgba(11,99,255,.065) 17.15%, transparent 17.85% 100%),
    linear-gradient(150deg, transparent 0 64%, rgba(56,189,248,.060) 64.15%, transparent 64.85% 100%),
    radial-gradient(circle at 80% 82%, rgba(11,99,255,.10), transparent 24%);
  background-size: 820px 430px, 760px 380px, 100% 100%;
}

.contact-section > .container {
  position: relative;
  z-index: 1;
}

.contact-form-wrap {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.contact-form-wrap::before {
  display: none !important;
}

.contact-split {
  gap: 18px !important;
}

.contact-side {
  padding: 22px 22px 20px !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 36px rgba(15,23,42,.06) !important;
}

.contact-info-list {
  gap: 9px !important;
}

.contact-info-card {
  padding: 11px 13px !important;
  border-radius: 15px !important;
}

.contact-info-card small {
  margin-bottom: 3px !important;
}

.contact-legal-note {
  margin: 12px 0 0 !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
}

.contact-map-link {
  margin-top: 18px !important;
  background: #e8f1ff !important;
  border-color: #bfd5ff !important;
  color: #0b63ff !important;
}

.contact-map-link:hover {
  background: #dceaff !important;
}

/* Popups – profesionálnější, kompaktnější vzhled */
.itb-modal .itb-modal__dialog {
  border-radius: 28px !important;
  box-shadow: 0 34px 90px rgba(6,18,40,.28) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(11,99,255,.10), transparent 26%),
    radial-gradient(circle at 100% 12%, rgba(56,189,248,.12), transparent 24%),
    rgba(255,255,255,.96) !important;
  backdrop-filter: blur(18px);
}

.itb-modal__dialog--pro,
.itb-contact-modal .itb-modal__dialog {
  width: min(100%, 760px) !important;
  padding: 24px 24px 22px !important;
}

#portalAccessModal .itb-modal__dialog {
  width: min(100%, 760px) !important;
  padding: 24px 24px 22px !important;
}

.itb-modal__top {
  gap: 16px !important;
  padding-bottom: 14px !important;
  margin-bottom: 14px !important;
  border-bottom: 1px solid rgba(15,23,42,.08);
}

.itb-modal .section-title {
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1.12 !important;
}

.itb-modal .section-copy {
  font-size: 14.5px !important;
  line-height: 1.55 !important;
}

.itb-modal .form-grid {
  gap: 11px !important;
}

.itb-modal .form-field label {
  font-size: 13px !important;
  margin-bottom: 6px !important;
}

.itb-modal input,
.itb-modal select,
.itb-modal textarea {
  min-height: 43px !important;
  padding: 11px 13px !important;
  border-radius: 13px !important;
}

.itb-modal textarea {
  min-height: 92px !important;
}

.captcha-card--compact {
  padding: 12px 13px !important;
  border-radius: 15px !important;
}

.captcha-card--compact .captcha-inline {
  display: flex;
  align-items: center;
  gap: 10px;
}

.captcha-card--compact .captcha-example {
  min-width: 102px !important;
  min-height: 42px !important;
  font-size: 17px !important;
  border-radius: 12px !important;
}

.captcha-card--compact small {
  display: block;
  margin-top: 7px;
  font-size: 12.5px !important;
}

.gdpr-card--compact {
  padding: 12px 13px !important;
  border-radius: 15px !important;
}

.gdpr-card--compact .gdpr-card__text strong {
  font-size: 13.5px !important;
}

.gdpr-card--compact .gdpr-card__text small {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

.itb-modal .form-actions {
  margin-top: 14px !important;
  gap: 10px !important;
}

.itb-modal .btn {
  min-height: 43px !important;
  padding: 11px 18px !important;
}

@media (max-width: 900px) {
  .faq-stage__intro {
    min-height: auto !important;
  }

  .contact-split {
    gap: 14px !important;
  }

  .itb-modal__dialog--pro,
  .itb-contact-modal .itb-modal__dialog,
  #portalAccessModal .itb-modal__dialog {
    padding: 20px 16px !important;
    border-radius: 24px !important;
  }

  .captcha-card--compact .captcha-inline {
    flex-direction: column;
    align-items: stretch;
  }

  .captcha-card--compact .captcha-example {
    width: 100%;
  }
}


/* ===== IT-BALON.CZ v253 – slider final desktop fix + back to top ===== */
@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(405px, 24.5vw, 470px) !important;
  }

  .itb214-viewport,
  .itb214-slide,
  .itb214-inner {
    min-height: var(--itb214-h) !important;
  }

  .itb214-inner {
    width: min(calc(100% - 118px), 1360px) !important;
    padding-top: 34px !important;
    padding-bottom: 88px !important;
    align-items: flex-start !important;
  }

  .itb214-content,
  .itb214-slide--video .itb214-content {
    width: min(668px, 45vw) !important;
    max-width: 668px !important;
    margin-left: clamp(122px, 9vw, 176px) !important;
    padding-top: 8px !important;
  }

  .itb214-eyebrow {
    margin-top: 12px !important;
    margin-bottom: 14px !important;
  }

  .itb214-content h1,
  .itb214-slide--video .itb214-content h1 {
    max-width: 690px !important;
    margin-bottom: 20px !important;
    font-size: clamp(42px, 3.52vw, 57px) !important;
    line-height: 1.01 !important;
  }

  .itb214-content p,
  .itb214-slide--video .itb214-content p {
    max-width: 575px !important;
    margin-bottom: 22px !important;
    font-size: 16.35px !important;
    line-height: 1.60 !important;
  }

  .itb214-buttons {
    gap: 14px !important;
    margin-bottom: 18px !important;
  }

  .itb214-buttons .itb214-btn {
    min-height: 54px !important;
    padding: 0 30px !important;
    border-radius: 12px !important;
    font-size: 15.5px !important;
  }

  .itb214-controls {
    gap: 11px !important;
  }

  .itb214-counter {
    margin-right: 10px !important;
  }

  .itb214-tabs {
    width: min(calc(100% - 118px), 1360px) !important;
    bottom: 22px !important;
    min-height: 72px !important;
  }

  .itb214-tab {
    min-height: 72px !important;
  }
}

.itb-scrolltop {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 52px;
  height: 52px;
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0b63ff 0%, #0a4fd1 100%);
  color: #fff;
  box-shadow: 0 18px 36px rgba(11, 99, 255, .28);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(.92);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease, box-shadow .22s ease;
  z-index: 999;
}

.itb-scrolltop svg {
  width: 22px;
  height: 22px;
  display: block;
}

.itb-scrolltop.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.itb-scrolltop:hover {
  box-shadow: 0 22px 40px rgba(11, 99, 255, .34);
  transform: translateY(-2px);
}

@media (max-width: 900px) {
  .itb-scrolltop {
    right: 16px;
    bottom: 16px;
    width: 46px;
    height: 46px;
  }
}


/* ===== IT-BALON.CZ v254 – reference / domény ===== */

.references-strip {
  position: relative;
  overflow: hidden;
}

.references-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .72;
  background:
    radial-gradient(circle at 12% 8%, rgba(11,99,255,.09), transparent 24%),
    radial-gradient(circle at 90% 18%, rgba(56,189,248,.10), transparent 22%),
    linear-gradient(125deg, transparent 0 23%, rgba(11,99,255,.045) 23.15%, transparent 23.75% 100%);
  background-size: auto, auto, 920px 420px;
}

.references-strip > .container {
  position: relative;
  z-index: 1;
}

.reference-featured-wall {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
  margin-top: 26px;
}

.reference-featured-wall--page {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 0;
  margin-bottom: 24px;
}

.reference-featured-tile {
  min-height: 86px;
  padding: 16px 14px;
  border-radius: 18px;
  border: 1px solid rgba(11,99,255,.12);
  background: rgba(255,255,255,.82);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  text-decoration: none;
  color: #071126;
  box-shadow: 0 16px 34px rgba(15,23,42,.06);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.reference-featured-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(11,99,255,.30);
  box-shadow: 0 22px 42px rgba(15,23,42,.09);
}

.reference-featured-tile strong {
  font-size: 15px;
  line-height: 1.2;
}

.reference-featured-tile span {
  color: #66758b;
  font-size: 12.5px;
  line-height: 1.35;
  word-break: break-word;
}

.managed-domains-preview,
.reference-domain-panel {
  margin-top: 24px;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid rgba(11,99,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(246,250,255,.86));
  box-shadow: 0 20px 44px rgba(15,23,42,.055);
}

.managed-domains-preview__head,
.reference-domain-panel__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  margin-bottom: 16px;
}

.managed-domains-preview__head strong,
.reference-domain-panel__head strong {
  display: block;
  color: #071126;
  font-size: 18px;
  line-height: 1.25;
}

.managed-domains-preview__head span,
.reference-domain-panel__head span {
  color: #69788d;
  font-size: 13.5px;
}

.reference-domain-panel__head b {
  min-width: 68px;
  min-height: 48px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0b63ff;
  color: #fff;
  font-size: 22px;
  box-shadow: 0 16px 30px rgba(11,99,255,.20);
}

.managed-domain-cloud,
.reference-domain-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.reference-domain-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reference-domain-grid--compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.managed-domain-cloud span,
.reference-domain-grid a {
  min-height: 36px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(15,23,42,.08);
  color: #293a54;
  font-size: 13px;
  line-height: 1.25;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  word-break: break-word;
}

.reference-domain-grid a {
  border-radius: 14px;
  justify-content: flex-start;
  background: #fff;
}

.reference-domain-grid a:hover {
  border-color: rgba(11,99,255,.35);
  color: #0b63ff;
}

.managed-domains-more {
  display: inline-flex;
  margin-top: 16px;
  color: #0b63ff;
  font-weight: 800;
  text-decoration: none;
}

.reference-domain-panel--secondary {
  margin-top: 16px;
  background: rgba(255,255,255,.72);
}

@media (max-width: 1100px) {
  .reference-featured-wall,
  .reference-featured-wall--page {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .reference-domain-grid,
  .reference-domain-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .reference-featured-wall,
  .reference-featured-wall--page,
  .reference-domain-grid,
  .reference-domain-grid--compact {
    grid-template-columns: 1fr;
  }

  .managed-domains-preview__head,
  .reference-domain-panel__head {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* ===== IT-BALON.CZ v255 – root odkazy + čistší desktop slider + mezera nad footerem pryč ===== */

/* Footer / poslední sekce: bez zbytečné bílé mezery nad patičkou */
main {
  margin-bottom: 0 !important;
}

main > section:last-of-type {
  margin-bottom: 0 !important;
}

.site-footer {
  margin-top: 0 !important;
}

/* Desktop slider – čistší rozvržení, vše v jednom centrovaném kontejneru */
@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(455px, 30vw, 535px) !important;
    overflow: hidden !important;
  }

  .itb214-viewport,
  .itb214-slide,
  .itb214-inner {
    min-height: var(--itb214-h) !important;
  }

  .itb214-inner {
    width: min(calc(100% - 180px), 1160px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 44px !important;
    padding-bottom: 112px !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .itb214-content,
  .itb214-slide--video .itb214-content {
    width: min(560px, 45vw) !important;
    max-width: 560px !important;
    margin-left: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .itb214-eyebrow,
  .itb214-content h1,
  .itb214-content p,
  .itb214-buttons,
  .itb214-controls {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    transform-origin: left center !important;
  }

  .itb214-eyebrow {
    display: block !important;
    width: fit-content !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    letter-spacing: .19em !important;
  }

  .itb214-content h1,
  .itb214-slide--video .itb214-content h1 {
    max-width: 560px !important;
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    font-size: clamp(38px, 3.25vw, 52px) !important;
    line-height: 1.035 !important;
    letter-spacing: -0.052em !important;
  }

  .itb214-content p,
  .itb214-slide--video .itb214-content p {
    max-width: 535px !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    font-size: 16px !important;
    line-height: 1.58 !important;
  }

  .itb214-buttons {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    margin-bottom: 20px !important;
  }

  .itb214-buttons .itb214-btn {
    min-height: 50px !important;
    padding: 0 26px !important;
    border-radius: 13px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
  }

  .itb214-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin-top: 0 !important;
  }

  .itb214-control,
  .itb214-arrow {
    width: 38px !important;
    height: 38px !important;
  }

  /* zásadní oprava: transform nesmí být translateY(0), jinak taby odjedou doprava */
  .itb214-tabs {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(calc(100% - 180px), 1160px) !important;
    bottom: 14px !important;
    min-height: 72px !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    border-radius: 17px !important;
  }

  .itb214-tab {
    min-height: 72px !important;
    padding: 0 12px !important;
    gap: 9px !important;
    font-size: 12px !important;
  }

  .itb214-tab svg {
    width: 20px !important;
    height: 20px !important;
  }
}

/* Bez JS je aktivní slide vždy čitelný */
@media (min-width: 901px) {
  .itb214-slide.is-active:not(.is-sequencing) .itb214-eyebrow,
  .itb214-slide.is-active:not(.is-sequencing) .itb214-content h1,
  .itb214-slide.is-active:not(.is-sequencing) .itb214-content p,
  .itb214-slide.is-active:not(.is-sequencing) .itb214-buttons .itb214-btn,
  .itb214-slide.is-active:not(.is-sequencing) .itb214-controls {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0,0,0) scale(1) !important;
    filter: blur(0) !important;
  }

  .itb214-slide.is-active.is-sequencing .itb214-eyebrow,
  .itb214-slide.is-active.is-sequencing .itb214-content h1,
  .itb214-slide.is-active.is-sequencing .itb214-content p,
  .itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn,
  .itb214-slide.is-active.is-sequencing .itb214-controls {
    opacity: 0 !important;
    visibility: visible !important;
    will-change: opacity, transform, filter;
  }

  .itb214-slide.is-active.is-sequencing .itb214-eyebrow {
    animation: itb255EyebrowIn .80s cubic-bezier(.18,.90,.22,1) .50s both !important;
  }

  .itb214-slide.is-active.is-sequencing .itb214-content h1 {
    position: relative !important;
    overflow: hidden !important;
    animation:
      itb255TitleIn 1.08s cubic-bezier(.16,1,.30,1) 1.00s both,
      itb255TitleGlow 1.30s ease 1.35s both !important;
  }

  .itb214-slide.is-active.is-sequencing .itb214-content h1::after {
    content: "" !important;
    position: absolute !important;
    inset: -16% auto -16% -38% !important;
    width: 32% !important;
    opacity: 0;
    transform: skewX(-18deg);
    pointer-events: none !important;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.16) 18%, rgba(255,255,255,.94) 50%, rgba(255,255,255,.18) 82%, rgba(255,255,255,0) 100%);
    mix-blend-mode: screen;
    animation: itb255Shine 1.08s cubic-bezier(.22,.61,.36,1) 1.42s both !important;
  }

  .itb214-slide.is-active.is-sequencing .itb214-content p {
    animation: itb255TextIn .92s cubic-bezier(.18,.90,.22,1) 2.00s both !important;
  }

  .itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(1) {
    animation: itb255BtnIn .72s cubic-bezier(.18,.90,.22,1.08) 3.00s both !important;
  }

  .itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(2) {
    animation: itb255BtnIn .72s cubic-bezier(.18,.90,.22,1.08) 3.50s both !important;
  }

  .itb214-slide.is-active.is-sequencing .itb214-controls {
    animation: itb255ControlsIn .66s cubic-bezier(.22,.61,.36,1) 4.10s both !important;
  }
}

@keyframes itb255EyebrowIn {
  0% { opacity: 0; transform: translate3d(0,-24px,0); filter: blur(7px); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itb255TitleIn {
  0% { opacity: 0; transform: translate3d(-48px,0,0); filter: blur(8px); }
  72% { opacity: 1; transform: translate3d(3px,0,0); filter: blur(0); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itb255TextIn {
  0% { opacity: 0; transform: translate3d(0,24px,0); filter: blur(7px); }
  72% { opacity: 1; transform: translate3d(0,-1px,0); filter: blur(0); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itb255BtnIn {
  0% { opacity: 0; transform: scale(.86) translate3d(0,10px,0); filter: blur(6px); }
  72% { opacity: 1; transform: scale(1.025) translate3d(0,0,0); filter: blur(0); }
  100% { opacity: 1; transform: scale(1) translate3d(0,0,0); filter: blur(0); }
}

@keyframes itb255ControlsIn {
  0% { opacity: 0; transform: translate3d(0,8px,0); filter: blur(4px); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}

@keyframes itb255TitleGlow {
  0% { text-shadow: 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(11,99,255,0); }
  46% { text-shadow: 0 0 13px rgba(255,255,255,.42), 0 0 20px rgba(11,99,255,.10); }
  100% { text-shadow: 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(11,99,255,0); }
}

@keyframes itb255Shine {
  0% { opacity: 0; left: -40%; }
  14% { opacity: .92; }
  72% { opacity: .78; }
  100% { opacity: 0; left: 115%; }
}

/* Bílé prázdno před patičkou pryč i u CTA / kontakt sekcí */
.section-sm:last-of-type,
.cta-card:last-child,
.contact-section:last-of-type {
  margin-bottom: 0 !important;
}


/* ===== IT-BALON.CZ v256 – homepage partner/domain slider + reference WWW list ===== */

.reference-mini-head {
  margin: 18px 0 12px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
}

.reference-mini-head strong {
  color: #071126;
  font-size: 17px;
  line-height: 1.25;
}

.reference-mini-head span {
  color: #66758b;
  font-size: 13px;
}

.logos-marquee--domains {
  border-radius: 24px;
  border: 1px solid rgba(11,99,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(246,250,255,.88));
  box-shadow: 0 20px 44px rgba(15,23,42,.055);
  overflow: hidden;
}

.logos-marquee--domains .logos-marquee__track {
  gap: 12px;
  padding-block: 16px;
}

.partner-logo--domain {
  min-width: 220px;
  min-height: 76px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(11,99,255,.12);
  background: rgba(255,255,255,.88);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  text-decoration: none;
  color: #071126;
  box-shadow: 0 14px 28px rgba(15,23,42,.045);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.partner-logo--domain:hover {
  transform: translateY(-2px);
  border-color: rgba(11,99,255,.30);
  box-shadow: 0 18px 34px rgba(15,23,42,.075);
}

.partner-logo--domain strong {
  display: block;
  font-size: 14.5px;
  line-height: 1.18;
  color: #071126;
}

.partner-logo--domain span {
  display: block;
  color: #64748b;
  font-size: 12.5px;
  line-height: 1.3;
}

.reference-logo-wall .section-title {
  max-width: 820px;
}

.reference-domain-panel {
  position: relative;
  overflow: hidden;
}

.reference-domain-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .65;
  background:
    radial-gradient(circle at 8% 10%, rgba(11,99,255,.08), transparent 25%),
    radial-gradient(circle at 92% 18%, rgba(56,189,248,.09), transparent 23%),
    linear-gradient(120deg, transparent 0 22%, rgba(11,99,255,.035) 22.15%, transparent 22.85% 100%);
}

.reference-domain-panel > * {
  position: relative;
  z-index: 1;
}

.reference-domain-grid a::before {
  content: "www";
  min-width: 34px;
  height: 22px;
  padding: 0 7px;
  margin-right: 8px;
  border-radius: 999px;
  background: #eef5ff;
  color: #0b63ff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 680px) {
  .reference-mini-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .partner-logo--domain {
    min-width: 190px;
  }
}



/* ===== IT-BALON.CZ v257 – safe slider + section background repairs ===== */

/* DESKTOP HERO: vrácení funkčního rozložení, menší výška a korektní posuny */
@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(430px, 25.8vw, 480px) !important;
    margin-bottom: 0 !important;
  }

  .itb214-viewport,
  .itb214-slide,
  .itb214-inner {
    min-height: var(--itb214-h) !important;
  }

  .itb214-inner {
    width: min(calc(100% - 96px), 1440px) !important;
    padding: 54px 0 118px !important;
    align-items: center !important;
  }

  .itb214-content {
    width: min(640px, 46vw) !important;
    margin-left: 92px !important;
    padding-left: 0 !important;
  }

  .itb214-eyebrow {
    margin: 0 0 16px 2px !important;
  }

  .itb214-content h1 {
    margin: 0 0 22px !important;
    max-width: 760px !important;
    font-size: clamp(42px, 3.95vw, 66px) !important;
    line-height: 1.02 !important;
  }

  .itb214-content p {
    max-width: 610px !important;
    margin: 0 0 28px !important;
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  .itb214-buttons {
    gap: 14px !important;
  }

  .itb214-btn {
    min-height: 56px !important;
    padding: 15px 28px !important;
    font-size: 16px !important;
    border-radius: 16px !important;
  }

  .itb214-controls {
    margin-top: 4px !important;
  }

  .itb214-tabs {
    width: min(calc(100% - 96px), 1260px) !important;
    margin: -52px auto 0 !important;
    position: relative !important;
    z-index: 8 !important;
  }

  .itb214-tab {
    min-height: 74px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
}

/* Ujisti se, že sekvenční animace jsou viditelné */
.itb214-slide .itb214-eyebrow,
.itb214-slide .itb214-content h1,
.itb214-slide .itb214-content p,
.itb214-slide .itb214-buttons,
.itb214-slide .itb214-controls {
  will-change: transform, opacity, filter;
}

.itb214-slide.is-active .itb214-eyebrow,
.itb214-slide.is-active .itb214-content h1,
.itb214-slide.is-active .itb214-content p,
.itb214-slide.is-active .itb214-buttons,
.itb214-slide.is-active .itb214-controls {
  visibility: visible !important;
}

/* Posunutí pozadí sekce "Co nabízíme" výše bez posunu obsahu */
.services-section {
  position: relative;
  z-index: 1;
}
.services-section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -72px;
  bottom: 0;
  background:
    radial-gradient(circle at 12% 16%, rgba(11,99,255,.10), transparent 28%),
    radial-gradient(circle at 86% 12%, rgba(56,189,248,.11), transparent 22%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 48%, #f5f9ff 100%);
  z-index: 0;
}
.services-section > .container {
  position: relative;
  z-index: 1;
}
.services-section {
  background: transparent !important;
}

/* Naši zákazníci – ponechat výrazně modré pozadí */
.references-strip {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.10), transparent 22%),
    radial-gradient(circle at 85% 18%, rgba(125,211,252,.18), transparent 28%),
    linear-gradient(135deg, #0f3e9a 0%, #155ed0 58%, #1f8cf0 100%) !important;
}
.references-strip .section-kicker,
.references-strip .section-title,
.references-strip .reference-mini-head strong {
  color: #ffffff !important;
}
.references-strip .section-copy,
.references-strip .reference-mini-head span {
  color: rgba(255,255,255,.72) !important;
}
.references-strip .btn-ghost {
  border-color: rgba(255,255,255,.22) !important;
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
}
.references-strip .btn-ghost:hover {
  background: rgba(255,255,255,.14) !important;
}
.references-strip .logos-marquee--domains {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 18px 40px rgba(4,24,72,.18) !important;
}
.references-strip .partner-logo--domain {
  background: rgba(255,255,255,.94) !important;
}

/* Klientský portál – jiný abstrakt */
.portal-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 18%, rgba(11,99,255,.10), transparent 24%),
    radial-gradient(circle at 80% 12%, rgba(14,165,233,.16), transparent 23%),
    linear-gradient(115deg, rgba(11,99,255,.03) 0 15%, transparent 15.3% 36%, rgba(56,189,248,.04) 36.2% 37%, transparent 37.2% 100%),
    linear-gradient(180deg, #f7fbff 0%, #eef5ff 100%) !important;
}
.portal-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .65;
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(11,99,255,.05) 12.2%, transparent 12.6% 100%),
    linear-gradient(0deg, transparent 0 34%, rgba(56,189,248,.04) 34.2%, transparent 34.6% 100%);
}
.portal-section > .container {
  position: relative;
  z-index: 1;
}

/* Tvorba a produkce – vrátit výrazné pozadí */
.creative-section {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(120deg, rgba(5,25,67,.80) 0%, rgba(7,49,115,.55) 32%, rgba(7,49,115,.20) 55%, rgba(8,20,36,.55) 100%),
    url('/assets/creative-production-bg-v231.jpg') center center / cover no-repeat !important;
  padding: 70px 0 !important;
}
.creative-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 22%, rgba(255,255,255,.08), transparent 24%),
    linear-gradient(90deg, rgba(8,19,43,.58) 0%, rgba(8,19,43,.34) 32%, rgba(8,19,43,.16) 48%, rgba(8,19,43,.36) 100%);
  pointer-events: none;
}
.creative-section > .container {
  position: relative;
  z-index: 1;
}
.creative-band {
  background: rgba(255,255,255,.07) !important;
  backdrop-filter: blur(4px);
  padding: 14px !important;
}
.creative-grid {
  padding: 32px 34px !important;
}
.creative-section .creative-feature {
  background: rgba(7,18,38,.46) !important;
  border-color: rgba(255,255,255,.16) !important;
}

/* FAQ – složitější abstrakt */
.faq-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 15%, rgba(11,99,255,.12), transparent 24%),
    radial-gradient(circle at 90% 18%, rgba(56,189,248,.13), transparent 22%),
    radial-gradient(circle at 68% 76%, rgba(11,99,255,.07), transparent 20%),
    linear-gradient(135deg, rgba(11,99,255,.025) 0 11%, transparent 11.2% 40%, rgba(56,189,248,.035) 40.2% 41%, transparent 41.2% 100%),
    linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%) !important;
}
.faq-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .6;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.22) 0 1px, transparent 1px 100%),
    linear-gradient(0deg, rgba(255,255,255,.18) 0 1px, transparent 1px 100%);
  background-size: 92px 92px, 92px 92px;
}
.faq-section > .container {
  position: relative;
  z-index: 1;
}

/* IT-BALON.CZ v praxi – vrátit pozadí */
.launch-section {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(7,31,74,.84) 0%, rgba(11,69,154,.60) 38%, rgba(11,69,154,.20) 60%, rgba(7,31,74,.72) 100%),
    url('/assets/practice-bg-v234.png') center center / cover no-repeat !important;
  padding: 72px 0 !important;
}
.launch-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.08), transparent 22%),
    radial-gradient(circle at 85% 18%, rgba(125,211,252,.10), transparent 24%);
}
.launch-section > .container {
  position: relative;
  z-index: 1;
}
.launch-band {
  background: rgba(255,255,255,.07) !important;
  backdrop-filter: blur(4px);
  padding: 12px !important;
}

/* Kompaktnější a hezčí popup */
.itb-contact-modal .itb-modal__dialog,
#portalAccessModal .itb-modal__dialog {
  width: min(760px, calc(100vw - 30px)) !important;
  max-width: 760px !important;
  border-radius: 24px !important;
  padding: 24px 24px 20px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,251,255,.98) 100%) !important;
  box-shadow: 0 34px 80px rgba(7, 31, 74, .24) !important;
}
.itb-contact-modal .itb-modal__top,
#portalAccessModal .itb-modal__top {
  margin-bottom: 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(11,99,255,.10) !important;
}
.itb-contact-modal .section-title,
#portalAccessModal .section-title {
  font-size: clamp(24px, 2.2vw, 32px) !important;
}
.itb-contact-modal .section-copy,
#portalAccessModal .section-copy {
  margin-top: 6px !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
}
.itb-contact-modal .form-grid,
#portalAccessModal .form-grid {
  gap: 14px 16px !important;
}
.itb-contact-modal .form-field label,
#portalAccessModal .form-field label {
  font-size: 13px !important;
  margin-bottom: 6px !important;
}
.itb-contact-modal input,
.itb-contact-modal select,
.itb-contact-modal textarea,
#portalAccessModal input,
#portalAccessModal select,
#portalAccessModal textarea {
  min-height: 50px !important;
  border-radius: 14px !important;
}
.itb-contact-modal textarea,
#portalAccessModal textarea {
  min-height: 112px !important;
}
.itb-contact-modal .form-actions,
#portalAccessModal .form-actions {
  margin-top: 16px !important;
  gap: 12px !important;
  align-items: center !important;
}
.itb-contact-modal .form-actions .btn,
#portalAccessModal .form-actions .btn {
  min-height: 52px !important;
  padding-inline: 24px !important;
}
.itb-contact-modal .form-field--captcha,
.itb-contact-modal .form-field--gdpr,
#portalAccessModal .form-field--captcha,
#portalAccessModal .form-field--gdpr {
  background: #f6faff !important;
  border: 1px solid rgba(11,99,255,.08) !important;
  border-radius: 16px !important;
  padding: 12px 14px !important;
}
.itb-contact-modal .form-field--captcha .captcha-inline,
#portalAccessModal .form-field--captcha .captcha-inline {
  gap: 10px !important;
}
.itb-contact-modal .form-help,
#portalAccessModal .form-help {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}
@media (max-width: 900px) {
  .itb-contact-modal .itb-modal__dialog,
  #portalAccessModal .itb-modal__dialog {
    width: calc(100vw - 18px) !important;
    padding: 20px 16px 18px !important;
    border-radius: 20px !important;
  }
}

/* Scroll top tlačítko */
.itb-scrolltop {
  z-index: 160 !important;
}


/* ===== IT-BALON.CZ v258 – reference names + hard slider repair ===== */

/* Hero slider – oprava šířky/centrování tabů, textů a fallback viditelnosti textů */
@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(455px, 29vw, 535px) !important;
    overflow: visible !important;
    background: #f7fbff !important;
  }

  .itb214-viewport,
  .itb214-slide,
  .itb214-inner {
    min-height: var(--itb214-h) !important;
  }

  .itb214-viewport {
    overflow: hidden !important;
  }

  .itb214-inner {
    width: min(calc(100% - 110px), 1460px) !important;
    padding: 50px 0 120px !important;
    align-items: center !important;
  }

  .itb214-content,
  .itb214-slide--video .itb214-content {
    width: min(670px, 47vw) !important;
    max-width: 670px !important;
    margin-left: clamp(120px, 8vw, 182px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .itb214-eyebrow {
    margin: 0 0 17px 0 !important;
    font-size: 13.5px !important;
    letter-spacing: .20em !important;
  }

  .itb214-content h1,
  .itb214-slide--video .itb214-content h1 {
    max-width: 740px !important;
    margin: 0 0 24px !important;
    font-size: clamp(43px, 3.85vw, 64px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.056em !important;
  }

  .itb214-content p,
  .itb214-slide--video .itb214-content p {
    max-width: 600px !important;
    margin: 0 0 28px !important;
    font-size: 16.8px !important;
    line-height: 1.60 !important;
  }

  .itb214-buttons {
    gap: 14px !important;
    margin-bottom: 24px !important;
  }

  .itb214-buttons .itb214-btn,
  .itb214-btn {
    min-height: 54px !important;
    padding: 0 28px !important;
    border-radius: 15px !important;
    font-size: 15.5px !important;
    font-weight: 850 !important;
  }

  .itb214-controls {
    margin-top: 0 !important;
  }

  .itb214-tabs {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: min(calc(100% - 110px), 1260px) !important;
    min-height: 76px !important;
    margin: -48px auto 0 !important;
    bottom: auto !important;
    z-index: 8 !important;
    overflow: hidden !important;
  }

  .itb214-tab {
    min-height: 76px !important;
    padding: 0 16px !important;
    gap: 10px !important;
    font-size: 12.2px !important;
  }

  .services-section {
    margin-top: 0 !important;
  }
}

@media (min-width: 901px) and (max-width: 1320px) {
  .itb214-content,
  .itb214-slide--video .itb214-content {
    margin-left: clamp(62px, 6vw, 104px) !important;
    width: min(600px, 50vw) !important;
  }

  .itb214-content h1,
  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(36px, 4.1vw, 54px) !important;
  }

  .itb214-tabs {
    width: min(calc(100% - 72px), 1180px) !important;
  }
}

/* DŮLEŽITÉ: když JS/animace nestihne třídu is-sequencing, texty nikdy nezmizí. */
.itb214-slide.is-active:not(.is-sequencing) .itb214-eyebrow,
.itb214-slide.is-active:not(.is-sequencing) .itb214-content h1,
.itb214-slide.is-active:not(.is-sequencing) .itb214-content p,
.itb214-slide.is-active:not(.is-sequencing) .itb214-buttons,
.itb214-slide.is-active:not(.is-sequencing) .itb214-buttons .itb214-btn,
.itb214-slide.is-active:not(.is-sequencing) .itb214-controls {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

.itb214-slide.is-active.is-sequencing .itb214-eyebrow,
.itb214-slide.is-active.is-sequencing .itb214-content h1,
.itb214-slide.is-active.is-sequencing .itb214-content p,
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn,
.itb214-slide.is-active.is-sequencing .itb214-controls {
  visibility: visible !important;
}

.itb214-slide.is-active.is-sequencing .itb214-eyebrow {
  animation: itb258Down .82s cubic-bezier(.18,.9,.22,1) .42s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-content h1 {
  position: relative;
  overflow: hidden;
  animation: itb258Title 1.08s cubic-bezier(.16,1,.30,1) .92s both, itb258Glow 1.35s ease 1.22s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-content h1::after {
  content: "";
  position: absolute;
  inset: -18% auto -18% -40%;
  width: 34%;
  opacity: 0;
  pointer-events: none;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.16) 18%, rgba(255,255,255,.86) 50%, rgba(255,255,255,.16) 82%, rgba(255,255,255,0) 100%);
  mix-blend-mode: screen;
  animation: itb258Shine 1.1s cubic-bezier(.22,.61,.36,1) 1.30s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-content p {
  animation: itb258Up .92s cubic-bezier(.18,.9,.22,1) 1.86s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(1) {
  animation: itb258Zoom .70s cubic-bezier(.18,.9,.22,1.08) 3.05s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(2) {
  animation: itb258Zoom .70s cubic-bezier(.18,.9,.22,1.08) 3.92s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-controls {
  animation: itb258Up .72s cubic-bezier(.18,.9,.22,1) 4.55s both !important;
}

@keyframes itb258Down { 0%{opacity:0;transform:translate3d(0,-24px,0);filter:blur(7px);} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb258Title { 0%{opacity:0;transform:translate3d(-46px,0,0);filter:blur(9px);} 72%{opacity:1;transform:translate3d(3px,0,0);filter:blur(0);} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb258Up { 0%{opacity:0;transform:translate3d(0,22px,0);filter:blur(7px);} 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb258Zoom { 0%{opacity:0;transform:scale(.90) translate3d(0,10px,0);filter:blur(6px);} 72%{opacity:1;transform:scale(1.025) translate3d(0,0,0);filter:blur(0);} 100%{opacity:1;transform:scale(1) translate3d(0,0,0);filter:blur(0);} }
@keyframes itb258Glow { 0%{text-shadow:0 0 0 rgba(11,99,255,0);} 48%{text-shadow:0 0 18px rgba(11,99,255,.10),0 0 28px rgba(255,255,255,.46);} 100%{text-shadow:0 0 0 rgba(11,99,255,0);} }
@keyframes itb258Shine { 0%{opacity:0;left:-42%;} 14%{opacity:.86;} 78%{opacity:.70;} 100%{opacity:0;left:116%;} }

/* Reference – větší sada ve slideru zákazníků */
.logos-marquee__track {
  animation-duration: 58s !important;
}
.partner-logo--domain {
  min-width: 230px !important;
}

/* ===== v259: slider repair + homepage polish ===== */

/* Reliable slider content visibility */
.itb214-slide .itb214-eyebrow,
.itb214-slide .itb214-content h1,
.itb214-slide .itb214-content p,
.itb214-slide .itb214-buttons,
.itb214-slide .itb214-controls {
  opacity: 0 !important;
  transform: translateY(18px) !important;
  filter: blur(8px) !important;
  animation: none !important;
}

.itb214-slide.is-active .itb214-eyebrow,
.itb214-slide.is-active .itb214-content h1,
.itb214-slide.is-active .itb214-content p,
.itb214-slide.is-active .itb214-buttons,
.itb214-slide.is-active .itb214-controls {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: opacity .55s ease, transform .65s cubic-bezier(.22,.61,.36,1), filter .55s ease !important;
}

.itb214-slide.is-active .itb214-content h1 { transition-delay: .08s !important; }
.itb214-slide.is-active .itb214-content p { transition-delay: .16s !important; }
.itb214-slide.is-active .itb214-buttons { transition-delay: .24s !important; }
.itb214-slide.is-active .itb214-controls { transition-delay: .32s !important; }

.itb214-slide.is-exiting .itb214-eyebrow,
.itb214-slide.is-exiting .itb214-content h1,
.itb214-slide.is-exiting .itb214-content p,
.itb214-slide.is-exiting .itb214-buttons,
.itb214-slide.is-exiting .itb214-controls {
  opacity: 0 !important;
  transform: translateY(-10px) !important;
  filter: blur(8px) !important;
}

@media (min-width: 901px) {
  .itb214-slider {
    --itb214-h: clamp(470px, 34vw, 560px) !important;
  }

  .itb214-inner {
    width: min(calc(100% - 110px), 1180px) !important;
    padding: 56px 0 118px !important;
  }

  .itb214-content {
    width: min(520px, 42vw) !important;
  }

  .itb214-slide--video .itb214-content {
    width: min(560px, 44vw) !important;
  }

  .itb214-content h1 {
    font-size: clamp(31px, 2.85vw, 46px) !important;
    line-height: 1.06 !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(31px, 2.78vw, 44px) !important;
  }

  .itb214-content p {
    max-width: 500px !important;
    font-size: 14.5px !important;
    line-height: 1.58 !important;
  }

  .itb214-tabs {
    width: min(calc(100% - 110px), 1180px) !important;
    min-height: 72px !important;
    bottom: 18px !important;
  }

  .itb214-tab {
    font-size: 11.8px !important;
  }

  .itb214-slide::before {
    background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.96) 20%, rgba(255,255,255,.84) 36%, rgba(255,255,255,.56) 50%, rgba(255,255,255,.20) 68%, rgba(255,255,255,.02) 84%, rgba(255,255,255,0) 100%) !important;
  }
}

@media (max-width: 900px) {
  .itb214-slider {
    --itb214-h: 590px !important;
  }

  .itb214-inner {
    padding-top: 22px !important;
    padding-bottom: 96px !important;
  }

  .itb214-content h1 {
    font-size: clamp(25px, 6.9vw, 33px) !important;
    line-height: 1.1 !important;
  }

  .itb214-content p {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .itb214-tabs {
    min-height: 84px !important;
    bottom: 10px !important;
  }
}

.references-strip {
  position: relative;
  overflow: hidden;
}

.references-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 22%, rgba(11,99,255,.13), transparent 28%),
    radial-gradient(circle at 86% 30%, rgba(0,28,117,.08), transparent 26%),
    linear-gradient(180deg, rgba(247,251,255,.96) 0%, rgba(241,247,255,.98) 100%);
  pointer-events: none;
}

.references-strip .container {
  position: relative;
  z-index: 1;
}

.reference-mini-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 14px;
  margin: 0 0 14px;
  color: #5a6b84;
}

.reference-mini-head strong {
  color: #0f1f38;
}

.logos-marquee {
  margin-bottom: 18px;
}

.reference-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 10px;
}

.reference-pill {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(162,188,223,.52);
  box-shadow: 0 12px 28px rgba(15,23,42,.05);
  text-decoration: none;
}

.reference-pill strong {
  color: #10213b;
  font-size: 13px;
  line-height: 1.25;
}

.reference-pill span {
  color: #62738e;
  font-size: 12px;
  line-height: 1.25;
}

.portal-section {
  position: relative;
  overflow: hidden;
}

.portal-section::before,
.portal-section::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.portal-section::before {
  inset: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,255,.14), transparent 26%),
    radial-gradient(circle at 82% 24%, rgba(61,126,255,.10), transparent 22%),
    radial-gradient(circle at 76% 86%, rgba(11,99,255,.12), transparent 20%);
}

.portal-section::after {
  top: 44px;
  right: 4%;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background:
    repeating-linear-gradient(135deg, rgba(11,99,255,.08) 0 12px, rgba(255,255,255,0) 12px 26px),
    radial-gradient(circle at center, rgba(255,255,255,.56), rgba(255,255,255,0));
  filter: blur(1px);
  opacity: .8;
}

.portal-grid,
.portal-preview,
.portal-content {
  position: relative;
  z-index: 1;
}

.portal-preview {
  overflow: hidden;
}

.portal-preview::before {
  content: "";
  position: absolute;
  inset: auto -10% -34% auto;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(9,105,255,.17), rgba(9,105,255,0));
  pointer-events: none;
}

.creative-band {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(110deg, rgba(7,17,38,.92), rgba(7,17,38,.80)),
    url('/assets/creative-production-bg-v231.jpg') center/cover no-repeat !important;
}

.creative-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.08), transparent 28%, transparent 72%, rgba(11,99,255,.14));
  pointer-events: none;
}

.creative-band > * {
  position: relative;
  z-index: 1;
}

.launch-section .launch-grid {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(7,17,38,.92), rgba(7,17,38,.80)),
    url('/assets/practice-bg-v234.png') center/cover no-repeat !important;
}

.launch-section .launch-grid::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 18% 20%, rgba(11,99,255,.22), transparent 28%), radial-gradient(circle at 90% 88%, rgba(255,255,255,.10), transparent 18%);
  pointer-events: none;
}

.launch-section .launch-copy,
.launch-section .launch-checklist {
  position: relative;
  z-index: 1;
}

.contact-side--info {
  background: linear-gradient(180deg, #f7fbff 0%, #edf5ff 100%) !important;
}

@media (min-width: 901px) {
  .contact-side--info .badge,
  .contact-side--info .section-title,
  .contact-side--info .section-copy,
  .contact-side--info .contact-legal-note {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .contact-map-link {
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

.contact-map-preview {
  position: relative;
  margin-top: 16px;
  min-height: 260px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(188,206,232,.9);
  background: linear-gradient(180deg, #eef4fb 0%, #dfe8f4 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 18px 42px rgba(15,23,42,.08);
}

.contact-map-preview iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(1) contrast(1.03) brightness(1.03);
}

.contact-map-preview::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.28));
  z-index: 1;
}

.contact-map-preview__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 2;
}

.contact-map-preview__button {
  box-shadow: 0 16px 28px rgba(9,105,255,.22) !important;
}

@media (max-width: 900px) {
  .reference-cloud {
    gap: 10px;
  }

  .reference-pill {
    width: calc(50% - 5px);
    padding: 11px 12px;
  }

  .reference-pill strong {
    font-size: 12px;
  }

  .reference-pill span {
    font-size: 11px;
  }

  .contact-map-preview {
    min-height: 220px;
    border-radius: 20px;
  }
}

@media (max-width: 520px) {
  .reference-pill {
    width: 100%;
  }
}


/* ===== v260: reference list names + compact full client output ===== */
.reference-domain-grid a {
  flex-direction: column;
  align-items: flex-start !important;
  gap: 3px;
  padding: 12px 14px !important;
  min-height: 58px;
}

.reference-domain-grid a::before {
  display: none !important;
}

.reference-domain-grid a strong {
  color: #10213b;
  font-size: 13.5px;
  line-height: 1.25;
}

.reference-domain-grid a span {
  color: #66758b;
  font-size: 12px;
  line-height: 1.25;
  word-break: break-word;
}

.references-strip .reference-cloud {
  max-height: none;
}

.references-strip .reference-pill {
  min-width: 176px;
}


/* ===== v261: homepage slider sequencing, compact spacing, portal background, homepage references slider only ===== */
.itb214-slider {
  --itb214-h: 543px !important;
  margin-bottom: -18px !important;
}

.itb214-inner {
  padding-top: 42px !important;
  padding-bottom: 86px !important;
}

.itb214-content {
  padding-top: 6px !important;
}

.itb214-content h1 {
  margin-bottom: 20px !important;
}

.itb214-content p {
  max-width: 620px !important;
  margin-bottom: 24px !important;
}

.itb214-buttons {
  gap: 14px !important;
  margin-bottom: 24px !important;
}

.itb214-btn {
  min-height: 50px !important;
  padding: 0 28px !important;
  font-size: 17px !important;
}

.itb214-controls {
  margin-top: 0 !important;
}

.itb214-tabs {
  bottom: 8px !important;
}

/* Ensure hidden state before sequencing */
.itb214-slide .itb214-eyebrow,
.itb214-slide .itb214-content h1,
.itb214-slide .itb214-content p,
.itb214-slide .itb214-buttons .itb214-btn,
.itb214-slide .itb214-controls {
  opacity: 0;
  visibility: hidden;
}

.itb214-slide.is-active:not(.is-sequencing) .itb214-eyebrow,
.itb214-slide.is-active:not(.is-sequencing) .itb214-content h1,
.itb214-slide.is-active:not(.is-sequencing) .itb214-content p,
.itb214-slide.is-active:not(.is-sequencing) .itb214-buttons .itb214-btn,
.itb214-slide.is-active:not(.is-sequencing) .itb214-controls {
  opacity: 1;
  visibility: visible;
}

.itb214-slide.is-active.is-sequencing .itb214-buttons {
  animation: none !important;
}

.itb214-slide.is-active.is-sequencing .itb214-eyebrow { animation: itb261SlideDownIn .78s cubic-bezier(.18,.9,.22,1) .50s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-content h1 { position: relative; overflow: visible; animation: itb261SlideRightIn 1.02s cubic-bezier(.16,1,.30,1) 1.00s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-content h1::after { content:""; position:absolute; inset:-8% auto -6% -34%; width:29%; opacity:0; pointer-events:none; transform:skewX(-18deg); background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.16) 18%, rgba(255,255,255,.92) 50%, rgba(255,255,255,.16) 82%, rgba(255,255,255,0) 100%); mix-blend-mode:screen; animation: itb261Shine 1.0s cubic-bezier(.22,.61,.36,1) 1.28s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-content p { animation: itb261SlideUpIn .88s cubic-bezier(.18,.9,.22,1) 2.00s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(1) { animation: itb261ZoomIn .68s cubic-bezier(.18,.9,.22,1.08) 3.00s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(2) { animation: itb261ZoomIn .68s cubic-bezier(.18,.9,.22,1.08) 3.50s both !important; }
.itb214-slide.is-active.is-sequencing .itb214-controls { animation: itb261ControlsIn .60s ease 4.05s both !important; }

@keyframes itb261SlideDownIn { 0%{opacity:0;visibility:visible;transform:translate3d(0,-24px,0);filter:blur(6px);} 100%{opacity:1;visibility:visible;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb261SlideRightIn { 0%{opacity:0;visibility:visible;transform:translate3d(-44px,0,0);filter:blur(7px);} 68%{opacity:1;visibility:visible;transform:translate3d(2px,0,0);filter:blur(0);} 100%{opacity:1;visibility:visible;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb261SlideUpIn { 0%{opacity:0;visibility:visible;transform:translate3d(0,22px,0);filter:blur(6px);} 72%{opacity:1;visibility:visible;transform:translate3d(0,-1px,0);filter:blur(0);} 100%{opacity:1;visibility:visible;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb261ZoomIn { 0%{opacity:0;visibility:visible;transform:scale(.88) translate3d(0,8px,0);filter:blur(5px);} 72%{opacity:1;visibility:visible;transform:scale(1.02) translate3d(0,0,0);filter:blur(0);} 100%{opacity:1;visibility:visible;transform:scale(1) translate3d(0,0,0);filter:blur(0);} }
@keyframes itb261ControlsIn { 0%{opacity:0;visibility:visible;transform:translate3d(0,8px,0);filter:blur(4px);} 100%{opacity:1;visibility:visible;transform:translate3d(0,0,0);filter:blur(0);} }
@keyframes itb261Shine { 0%{opacity:0;left:-36%;} 16%{opacity:.9;} 74%{opacity:.78;} 100%{opacity:0;left:112%;} }

.services-section {
  margin-top: -26px !important;
  padding-top: 94px !important;
}

.services-section::before {
  top: -26px !important;
}

/* Homepage references strip back to cleaner blue slider only */
.references-strip {
  padding-top: 58px !important;
  padding-bottom: 58px !important;
  background: linear-gradient(135deg, #0f4ab7 0%, #0b63ff 52%, #1f8dff 100%) !important;
}

.references-strip::before {
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.18), transparent 28%),
    radial-gradient(circle at 78% 78%, rgba(255,255,255,.10), transparent 24%),
    linear-gradient(135deg, rgba(8,34,98,.96) 0%, rgba(11,99,255,.94) 56%, rgba(37,161,255,.88) 100%) !important;
}

.references-strip .section-kicker,
.references-strip .section-title,
.references-strip .reference-mini-head strong,
.references-strip .reference-mini-head span {
  color: #ffffff !important;
}

.references-strip .btn-ghost {
  color: #fff !important;
  border-color: rgba(255,255,255,.28) !important;
  background: rgba(255,255,255,.10) !important;
}

.references-strip .btn-ghost:hover {
  background: rgba(255,255,255,.18) !important;
}

.references-strip .logos-marquee--domains {
  margin-bottom: 0 !important;
}

.references-strip .partner-logo--domain {
  background: rgba(255,255,255,.96) !important;
}

.references-strip .reference-cloud {
  display: none !important;
}

/* Portal section with different abstract background */
.portal-section {
  background:
    linear-gradient(180deg, rgba(246,250,255,.98) 0%, rgba(240,246,255,.96) 100%) !important;
}

.portal-section::before {
  inset: 0;
  background:
    radial-gradient(circle at 8% 18%, rgba(11,99,255,.12), transparent 22%),
    radial-gradient(circle at 92% 18%, rgba(44,119,255,.14), transparent 22%),
    radial-gradient(circle at 82% 82%, rgba(11,99,255,.10), transparent 18%),
    linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(11,99,255,.035) 50%, rgba(255,255,255,0) 100%),
    repeating-linear-gradient(135deg, rgba(11,99,255,.05) 0 2px, rgba(255,255,255,0) 2px 42px) !important;
  opacity: 1 !important;
}

.portal-section::after {
  content:"";
  position:absolute;
  inset:auto auto -70px -60px;
  width:300px;
  height:300px;
  background: radial-gradient(circle at center, rgba(11,99,255,.16) 0%, rgba(11,99,255,0) 68%);
  filter: blur(12px);
  pointer-events:none;
}

/* keep reference.php full list layout readable */
.reference-domain-grid a {
  min-height: 62px;
}

@media (max-width: 900px) {
  .itb214-slider { --itb214-h: 586px !important; margin-bottom: -12px !important; }
  .itb214-inner { padding-top: 22px !important; padding-bottom: 98px !important; }
  .services-section { margin-top: -12px !important; padding-top: 74px !important; }
  .services-section::before { top: -12px !important; }
  .references-strip { padding-top: 42px !important; padding-bottom: 42px !important; }
}


/* ===== v262: slider bottom polish + smoother sequential effects ===== */
.itb214-slider {
  --itb214-h: 532px !important;
  overflow: visible !important;
}

.itb214-inner {
  padding-top: 38px !important;
  padding-bottom: 92px !important;
}

.itb214-content {
  max-width: 610px !important;
}

.itb214-content h1 {
  margin-bottom: 18px !important;
}

.itb214-content p {
  margin-bottom: 22px !important;
}

.itb214-controls {
  margin-top: 2px !important;
}

.itb214-tabs {
  position: relative !important;
  z-index: 8 !important;
  width: min(calc(100% - 36px), 1180px) !important;
  margin: -42px auto 0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 42px rgba(16, 41, 99, 0.12) !important;
}

.itb214-tab {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 21px 14px !important;
}

.itb214-tab span {
  font-size: 15px !important;
}

.itb214-tab svg {
  width: 18px !important;
  height: 18px !important;
}

.services-section {
  margin-top: -20px !important;
  padding-top: 82px !important;
}

.services-section::before {
  top: -20px !important;
}

/* smoother sequence */
.itb214-slide.is-active.is-sequencing .itb214-eyebrow {
  animation: itb262SlideDownIn .86s cubic-bezier(.18,.88,.22,1) .45s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-content h1 {
  animation: itb262SlideRightIn 1.18s cubic-bezier(.16,1,.30,1) 1s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-content h1::after {
  animation: itb262Shine 1.18s cubic-bezier(.22,.61,.36,1) 1.34s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-content p {
  animation: itb262SlideUpIn .96s cubic-bezier(.18,.88,.22,1) 2s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(1) {
  animation: itb262ZoomIn .74s cubic-bezier(.18,.88,.22,1.06) 3s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-buttons .itb214-btn:nth-child(2) {
  animation: itb262ZoomIn .74s cubic-bezier(.18,.88,.22,1.06) 3.55s both !important;
}
.itb214-slide.is-active.is-sequencing .itb214-controls {
  animation: itb262ControlsIn .70s cubic-bezier(.22,.61,.36,1) 4.18s both !important;
}

@keyframes itb262SlideDownIn {
  0% { opacity: 0; visibility: visible; transform: translate3d(0,-22px,0); filter: blur(6px); }
  100% { opacity: 1; visibility: visible; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes itb262SlideRightIn {
  0% { opacity: 0; visibility: visible; transform: translate3d(-38px,0,0); filter: blur(7px); }
  68% { opacity: 1; visibility: visible; transform: translate3d(1px,0,0); filter: blur(0); }
  100% { opacity: 1; visibility: visible; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes itb262SlideUpIn {
  0% { opacity: 0; visibility: visible; transform: translate3d(0,18px,0); filter: blur(5px); }
  75% { opacity: 1; visibility: visible; transform: translate3d(0,-1px,0); filter: blur(0); }
  100% { opacity: 1; visibility: visible; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes itb262ZoomIn {
  0% { opacity: 0; visibility: visible; transform: scale(.9) translate3d(0,8px,0); filter: blur(4px); }
  72% { opacity: 1; visibility: visible; transform: scale(1.015) translate3d(0,0,0); filter: blur(0); }
  100% { opacity: 1; visibility: visible; transform: scale(1) translate3d(0,0,0); filter: blur(0); }
}
@keyframes itb262ControlsIn {
  0% { opacity: 0; visibility: visible; transform: translate3d(0,10px,0); filter: blur(4px); }
  100% { opacity: 1; visibility: visible; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes itb262Shine {
  0% { opacity: 0; left: -34%; }
  16% { opacity: .88; }
  78% { opacity: .74; }
  100% { opacity: 0; left: 108%; }
}

@media (max-width: 1280px) {
  .itb214-tabs {
    width: min(calc(100% - 28px), 1120px) !important;
  }
  .itb214-tab {
    padding: 19px 10px !important;
  }
  .itb214-tab span {
    font-size: 14px !important;
  }
}

@media (max-width: 900px) {
  .itb214-slider { --itb214-h: 586px !important; }
  .itb214-tabs {
    width: calc(100% - 20px) !important;
    margin: -14px auto 0 !important;
  }
  .services-section {
    margin-top: -8px !important;
    padding-top: 72px !important;
  }
}


/* ===== v263: přesné časování slideru řízené JS ===== */

/* Ruší staré konfliktující CSS animace pro obsah slideru. JS v263 nastavuje inline !important styly po částech. */
.itb214-slider.itb-seq-ready .itb214-slide .itb214-eyebrow,
.itb214-slider.itb-seq-ready .itb214-slide .itb214-content h1,
.itb214-slider.itb-seq-ready .itb214-slide .itb214-content p,
.itb214-slider.itb-seq-ready .itb214-slide .itb214-buttons .itb214-btn,
.itb214-slider.itb-seq-ready .itb214-slide .itb214-controls {
  will-change: opacity, transform, filter !important;
}

.itb214-slider.itb-seq-ready .itb214-slide:not(.is-active) .itb214-eyebrow,
.itb214-slider.itb-seq-ready .itb214-slide:not(.is-active) .itb214-content h1,
.itb214-slider.itb-seq-ready .itb214-slide:not(.is-active) .itb214-content p,
.itb214-slider.itb-seq-ready .itb214-slide:not(.is-active) .itb214-buttons .itb214-btn,
.itb214-slider.itb-seq-ready .itb214-slide:not(.is-active) .itb214-controls {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Odlesk přes nadpis během náběhu */
.itb214-content h1.itb-seq-shine {
  position: relative !important;
  overflow: hidden !important;
}

.itb214-content h1.itb-seq-shine::after {
  content: "" !important;
  position: absolute !important;
  inset: -14% auto -14% -38% !important;
  width: 32% !important;
  opacity: 0;
  pointer-events: none !important;
  transform: skewX(-18deg);
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.18) 18%,
    rgba(255,255,255,.96) 50%,
    rgba(255,255,255,.18) 82%,
    rgba(255,255,255,0) 100%);
  mix-blend-mode: screen;
  animation: itb263TitleShine 1.15s cubic-bezier(.22,.61,.36,1) both !important;
}

@keyframes itb263TitleShine {
  0% { opacity: 0; left: -38%; }
  15% { opacity: .92; }
  72% { opacity: .76; }
  100% { opacity: 0; left: 112%; }
}

/* Jemný přechod celých slidů na začátku i konci */
.itb214-slide {
  transition:
    opacity 850ms cubic-bezier(.22,.61,.36,1),
    transform 1150ms cubic-bezier(.19,1,.22,1),
    filter 850ms ease,
    visibility 0s linear 850ms !important;
}

.itb214-slide.is-pre-active {
  opacity: 0 !important;
  visibility: visible !important;
  filter: blur(8px) saturate(.96) brightness(1.03) !important;
}

.itb214-slide.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  filter: blur(0) saturate(1) brightness(1) !important;
}

.itb214-slide.is-exiting {
  opacity: 0 !important;
  visibility: visible !important;
  filter: blur(7px) saturate(.96) brightness(1.02) !important;
}

.itb214-slide[data-itb-effect="drift-right"].is-pre-active { transform: translate3d(-36px,0,0) scale(1.018) !important; }
.itb214-slide[data-itb-effect="drift-left"].is-pre-active { transform: translate3d(36px,0,0) scale(1.018) !important; }
.itb214-slide[data-itb-effect="float-up"].is-pre-active { transform: translate3d(0,28px,0) scale(1.018) !important; }
.itb214-slide[data-itb-effect="focus-in"].is-pre-active { transform: scale(1.035) !important; }
.itb214-slide[data-itb-effect="cinema-pan"].is-pre-active { transform: translate3d(0,-24px,0) scale(1.022) !important; }

.itb214-slide[data-itb-effect="drift-right"].is-exiting { transform: translate3d(26px,0,0) scale(1.008) !important; }
.itb214-slide[data-itb-effect="drift-left"].is-exiting { transform: translate3d(-26px,0,0) scale(1.008) !important; }
.itb214-slide[data-itb-effect="float-up"].is-exiting { transform: translate3d(0,-22px,0) scale(1.008) !important; }
.itb214-slide[data-itb-effect="focus-in"].is-exiting { transform: scale(.992) !important; }
.itb214-slide[data-itb-effect="cinema-pan"].is-exiting { transform: translate3d(0,20px,0) scale(1.008) !important; }

@media (max-width: 900px) {
  .itb214-content h1.itb-seq-shine::after {
    display: none !important;
  }
}


/* ===== v264: kratší interval slideru + kompaktnější návazné sekce ===== */

/* Menší mezera mezi sliderem a sekcí Co nabízíme */
.itb214-slider {
  margin-bottom: -38px !important;
}

.itb214-tabs {
  margin-bottom: 0 !important;
}

.services-section {
  margin-top: -40px !important;
  padding-top: 56px !important;
}

.services-section::before {
  top: -40px !important;
}

/* Naši zákazníci – bílé karty ve slideru s opacity 0.85 */
.references-strip .partner-logo--domain,
.references-strip .reference-featured-tile,
.references-strip .managed-domains-preview {
  background: rgba(255, 255, 255, .85) !important;
}

.references-strip .partner-logo--domain:hover {
  background: rgba(255, 255, 255, .92) !important;
}

/* Klientský portál – nový abstraktní motiv pozadí */
.portal-section {
  position: relative !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, #f7fbff 0%, #eef5ff 100%) !important;
}

.portal-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: .95 !important;
  background:
    radial-gradient(circle at 9% 18%, rgba(11,99,255,.13), transparent 23%),
    radial-gradient(circle at 88% 18%, rgba(56,189,248,.16), transparent 22%),
    radial-gradient(circle at 76% 82%, rgba(11,99,255,.10), transparent 20%),
    linear-gradient(124deg, transparent 0 18%, rgba(11,99,255,.055) 18.15%, transparent 18.9% 100%),
    linear-gradient(152deg, transparent 0 64%, rgba(56,189,248,.060) 64.15%, transparent 64.9% 100%),
    repeating-linear-gradient(135deg, rgba(11,99,255,.040) 0 2px, transparent 2px 42px) !important;
  background-size: auto, auto, auto, 900px 420px, 780px 380px, 100% 100% !important;
}

.portal-section::after {
  content: "" !important;
  position: absolute !important;
  right: clamp(20px, 7vw, 110px) !important;
  top: 48px !important;
  width: 310px !important;
  height: 310px !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  opacity: .65 !important;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.78), rgba(255,255,255,0) 58%),
    conic-gradient(from 160deg, rgba(11,99,255,.15), rgba(56,189,248,.06), rgba(11,99,255,.15)) !important;
  filter: blur(.2px) !important;
}

.portal-section > .container,
.portal-grid,
.portal-preview,
.portal-content {
  position: relative !important;
  z-index: 1 !important;
}

/* FAQ – jistota, že všechny odpovědi mají obsah a karty se dobře čtou */
.faq-stage__questions .faq-card p:empty::before {
  content: "Doplníme individuálně podle typu projektu nebo požadavku. Nejrychlejší cesta je založit ticket nebo poslat nezávaznou poptávku.";
}

/* IT-BALON.CZ v praxi – text nebude nalepený ke kraji */
.launch-section .launch-grid {
  padding-left: clamp(28px, 4.5vw, 72px) !important;
  padding-right: clamp(28px, 4.5vw, 72px) !important;
}

.launch-section .launch-copy {
  padding-left: 0 !important;
  padding-right: clamp(12px, 2vw, 28px) !important;
}

/* Kontaktní / spolupráce sekce – nižší a kompaktnější */
.contact-section {
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}

.contact-form-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.contact-split {
  gap: 16px !important;
  align-items: stretch !important;
}

.contact-side {
  padding: 20px 22px !important;
}

.contact-side .section-title {
  margin-bottom: 10px !important;
}

.contact-side .section-copy {
  margin-bottom: 14px !important;
  line-height: 1.45 !important;
}

.contact-info-list {
  gap: 8px !important;
}

.contact-info-card {
  padding: 10px 12px !important;
  min-height: 66px !important;
}

.contact-legal-note {
  margin-top: 10px !important;
  margin-bottom: 8px !important;
  line-height: 1.42 !important;
}

.contact-map-link {
  margin-top: 8px !important;
}

.contact-map-preview {
  margin-top: 12px !important;
  min-height: 190px !important;
}

.contact-side--form textarea {
  min-height: 92px !important;
}

.contact-side--form .form-grid {
  gap: 10px 12px !important;
}

.contact-side--form .captcha-card,
.contact-side--form .gdpr-card,
.contact-side--form .form-field--captcha,
.contact-side--form .form-field--gdpr {
  padding: 10px 12px !important;
}

.contact-side--form .form-actions {
  margin-top: 12px !important;
}

@media (max-width: 900px) {
  .itb214-slider {
    margin-bottom: -16px !important;
  }

  .services-section {
    margin-top: -16px !important;
    padding-top: 54px !important;
  }

  .services-section::before {
    top: -16px !important;
  }

  .contact-section {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
  }

  .contact-side {
    padding: 18px 16px !important;
  }

  .contact-map-preview {
    min-height: 180px !important;
  }
}

/* ===== v265: mobile slider / tvorba & produkce / footer responsive polish ===== */
@media (max-width: 900px) {
  /* Slider: vytáhnout obsah výš, větší nadpisy a menší mezera k tabům */
  .itb214-slider {
    --itb214-h: 640px !important;
    margin-bottom: -8px !important;
  }

  .itb214-viewport {
    min-height: 640px !important;
  }

  .itb214-inner {
    align-items: flex-start !important;
    padding-top: 22px !important;
    padding-bottom: 148px !important;
  }

  .itb214-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .itb214-eyebrow {
    margin-bottom: 18px !important;
  }

  .itb214-content h1 {
    font-size: clamp(31px, 8.9vw, 39px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
    margin-bottom: 16px !important;
    max-width: 100% !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(31px, 8.8vw, 38px) !important;
    line-height: 1.13 !important;
  }

  .itb214-content p {
    font-size: 14px !important;
    line-height: 1.58 !important;
    margin-bottom: 18px !important;
  }

  .itb214-buttons {
    gap: 12px !important;
    margin-bottom: 18px !important;
  }

  .itb214-btn {
    min-height: 48px !important;
    width: min(100%, 308px) !important;
    max-width: 86% !important;
    padding: 0 20px !important;
    font-size: 15px !important;
    border-radius: 999px !important;
  }

  .itb214-controls {
    margin-top: 0 !important;
  }

  .itb214-tabs {
    width: calc(100% - 20px) !important;
    bottom: 14px !important;
    margin: 0 auto !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  .itb214-tab {
    min-height: 74px !important;
    padding: 12px 6px 10px !important;
    gap: 6px !important;
  }

  .itb214-tab svg {
    width: 16px !important;
    height: 16px !important;
  }

  .itb214-tab span {
    font-size: 12px !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    max-width: 100% !important;
  }

  /* Sekce Co nabízíme blíž ke slideru */
  .services-section {
    margin-top: -6px !important;
    padding-top: 40px !important;
  }

  .services-section::before {
    top: -6px !important;
  }

  /* Tvorba & produkce – čisté mobilní skládání */
  .creative-section {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  .creative-band {
    border-radius: 28px !important;
  }

  .creative-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 22px 18px !important;
  }

  .creative-grid > div:first-child {
    max-width: 100% !important;
    text-align: center !important;
    padding: 0 !important;
  }

  .creative-grid > div:first-child .eyebrow {
    display: inline-flex !important;
    margin: 0 auto 14px !important;
  }

  .creative-grid > div:first-child h2 {
    font-size: clamp(26px, 8.1vw, 38px) !important;
    line-height: 1.06 !important;
    margin-bottom: 14px !important;
  }

  .creative-grid > div:first-child p {
    font-size: 14px !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
    margin: 0 auto 16px !important;
  }

  .creative-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .creative-actions .btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .creative-features {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .creative-feature {
    min-height: unset !important;
    padding: 18px 16px !important;
    text-align: center !important;
  }

  .creative-feature strong {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    margin-bottom: 6px !important;
  }

  .creative-feature small {
    display: block !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  /* Footer logo / značka vystředit */
  .site-footer .footer-brand {
    text-align: center !important;
  }

  .site-footer .brand-footer {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    text-align: center !important;
  }

  .site-footer .footer-logo-mark,
  .site-footer .footer-logo-image {
    margin: 0 auto !important;
  }

  .site-footer .footer-brand p {
    text-align: center !important;
  }
}

@media (max-width: 520px) {
  .itb214-slider {
    --itb214-h: 622px !important;
  }

  .itb214-viewport {
    min-height: 622px !important;
  }

  .itb214-inner {
    padding-top: 18px !important;
    padding-bottom: 142px !important;
  }

  .itb214-content h1 {
    font-size: clamp(29px, 9vw, 36px) !important;
    line-height: 1.14 !important;
  }

  .itb214-slide--video .itb214-content h1 {
    font-size: clamp(28px, 8.8vw, 35px) !important;
  }

  .itb214-tab {
    min-height: 70px !important;
    padding: 11px 5px 9px !important;
  }

  .itb214-tab span {
    font-size: 11.5px !important;
  }
}

/* ===== v266: homepage service cards links/text polish ===== */
.home-services-grid .service-card h3 {
  line-height: 1.15 !important;
  overflow-wrap: anywhere;
}

.home-services-grid .service-card p {
  line-height: 1.55 !important;
}

@media (max-width: 900px) {
  .home-services-grid .service-card h3 {
    font-size: clamp(18px, 5vw, 22px) !important;
  }
}


/* ===== v267: tabs celé viditelné + popup CTA + FAQ JPG + kompaktní kontakt ===== */

/* Slider spodní buňky – celé viditelné, neuseknuté a nad další sekcí */
@media (min-width: 901px) {
  .itb214-slider {
    overflow: visible !important;
    margin-bottom: -18px !important;
  }

  .itb214-viewport {
    overflow: visible !important;
  }

  .itb214-tabs {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 20 !important;
    width: min(calc(100% - 92px), 1230px) !important;
    min-height: 82px !important;
    margin: -38px auto 24px !important;
    border-radius: 22px !important;
    overflow: visible !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .13) !important;
  }

  .itb214-tab {
    min-height: 82px !important;
    padding: 18px 14px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .itb214-tab:first-child {
    border-radius: 22px 0 0 22px !important;
  }

  .itb214-tab:last-child {
    border-radius: 0 22px 22px 0 !important;
  }

  .services-section {
    margin-top: -20px !important;
    padding-top: 56px !important;
    position: relative !important;
    z-index: 1 !important;
  }

  .services-section::before {
    top: -20px !important;
  }
}

@media (max-width: 900px) {
  .itb214-slider {
    overflow: visible !important;
    margin-bottom: -8px !important;
  }

  .itb214-tabs {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 20 !important;
    width: calc(100% - 18px) !important;
    margin: -30px auto 12px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.95) !important;
  }

  .services-section {
    margin-top: -10px !important;
    padding-top: 44px !important;
  }
}

/* FAQ – grafické JPG pozadí */
.faq-section {
  position: relative !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(247,251,255,.92), rgba(239,246,255,.94)),
    url('/assets/faq-abstract-v267.jpg') center center / cover no-repeat !important;
}

.faq-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: .72 !important;
  background:
    radial-gradient(circle at 10% 18%, rgba(11,99,255,.10), transparent 24%),
    radial-gradient(circle at 88% 22%, rgba(56,189,248,.12), transparent 22%),
    linear-gradient(120deg, transparent 0 22%, rgba(255,255,255,.36) 22.15%, transparent 22.85% 100%) !important;
}

.faq-section > .container {
  position: relative !important;
  z-index: 1 !important;
}

/* Tvorba & produkce – popup CTA tlačítko vizuálně stejné */
.creative-actions a[data-open-contact-modal],
.launch-actions a[data-open-contact-modal] {
  cursor: pointer;
}

/* Máte zájem o spolupráci – ještě kompaktnější výška */
.contact-section {
  padding-top: 26px !important;
  padding-bottom: 26px !important;
}

.contact-form-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.contact-split {
  gap: 14px !important;
}

.contact-side {
  padding: 17px 20px !important;
  border-radius: 24px !important;
}

.contact-side .badge {
  margin-bottom: 8px !important;
}

.contact-side .section-title {
  margin-bottom: 8px !important;
  font-size: clamp(25px, 2.1vw, 34px) !important;
}

.contact-side .section-copy {
  margin-bottom: 10px !important;
  line-height: 1.42 !important;
  font-size: 14.5px !important;
}

.contact-info-list {
  gap: 7px !important;
}

.contact-info-card {
  padding: 8px 10px !important;
  min-height: 58px !important;
}

.contact-info-card small {
  margin-bottom: 2px !important;
  font-size: 11.5px !important;
}

.contact-info-card strong {
  font-size: 14px !important;
}

.contact-legal-note {
  margin: 8px 0 6px !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
}

.contact-map-link {
  margin-top: 6px !important;
  min-height: 40px !important;
  padding: 9px 16px !important;
}

.contact-map-preview {
  margin-top: 10px !important;
  min-height: 150px !important;
  border-radius: 18px !important;
}

.contact-side--form .form-grid {
  gap: 8px 10px !important;
}

.contact-side--form input,
.contact-side--form select,
.contact-side--form textarea {
  min-height: 42px !important;
  padding: 10px 12px !important;
}

.contact-side--form textarea {
  min-height: 78px !important;
}

.contact-side--form .captcha-card,
.contact-side--form .gdpr-card,
.contact-side--form .form-field--captcha,
.contact-side--form .form-field--gdpr {
  padding: 8px 10px !important;
}

.contact-side--form .form-actions {
  margin-top: 10px !important;
}

@media (max-width: 900px) {
  .contact-section {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  .contact-side {
    padding: 16px 14px !important;
  }

  .contact-map-preview {
    min-height: 150px !important;
  }
}


/* ===== v268: slider-section gradient transition + service icons ===== */
.services-section {
  position: relative !important;
  margin-top: -14px !important;
  padding-top: 64px !important;
}

.services-section::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -42px !important;
  height: 62px !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background: linear-gradient(to bottom, rgba(244,248,253,0) 0%, rgba(244,248,253,.68) 48%, rgba(244,248,253,.96) 82%, #f4f8fd 100%) !important;
}

.services-section > .container {
  position: relative !important;
  z-index: 1 !important;
}

.home-services-grid .service-card .icon {
  width: 78px !important;
  height: 78px !important;
  border-radius: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, rgba(11,99,255,.10), rgba(11,99,255,.05)) !important;
  border: 1px solid rgba(11,99,255,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 10px 24px rgba(11,99,255,.08) !important;
  margin-bottom: 16px !important;
}

.home-services-grid .service-card .icon svg {
  width: 40px !important;
  height: 40px !important;
  stroke: #0b63ff !important;
  stroke-width: 2.15 !important;
  fill: none !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

@media (max-width: 900px) {
  .services-section {
    margin-top: -8px !important;
    padding-top: 54px !important;
  }
  .services-section::after {
    top: -30px !important;
    height: 44px !important;
  }
  .home-services-grid .service-card .icon {
    width: 68px !important;
    height: 68px !important;
    border-radius: 18px !important;
  }
  .home-services-grid .service-card .icon svg {
    width: 34px !important;
    height: 34px !important;
  }
}


/* ===== v269: FAQ výraznější abstrakt + vyšší mapa + footer logo vystředit ===== */

/* FAQ – výraznější a složitější abstraktní pozadí */
.faq-section {
  position: relative !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(244,248,255,.78), rgba(233,241,252,.88)),
    url('/assets/faq-abstract-v267.jpg') center center / cover no-repeat !important;
}

.faq-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  background:
    radial-gradient(circle at 12% 20%, rgba(11,99,255,.20), transparent 20%),
    radial-gradient(circle at 86% 14%, rgba(56,189,248,.22), transparent 18%),
    radial-gradient(circle at 76% 72%, rgba(11,99,255,.11), transparent 18%),
    linear-gradient(128deg, transparent 0 28%, rgba(255,255,255,.34) 28.2%, transparent 29% 100%),
    repeating-linear-gradient(118deg, rgba(11,99,255,.055) 0 2px, transparent 2px 86px),
    repeating-linear-gradient(62deg, rgba(255,255,255,.18) 0 1px, transparent 1px 70px) !important;
}

.faq-section::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 22%, rgba(255,255,255,0) 78%, rgba(255,255,255,.08)),
    radial-gradient(circle at 28% 82%, rgba(255,255,255,.22), transparent 24%) !important;
}

.faq-section > .container {
  position: relative !important;
  z-index: 2 !important;
}

/* Kontaktní informace – mapa vyšší */
.contact-map-preview {
  min-height: 210px !important;
}

.contact-map-preview iframe {
  min-height: 210px !important;
}

@media (max-width: 900px) {
  .contact-map-preview,
  .contact-map-preview iframe {
    min-height: 185px !important;
  }
}

/* Footer – ikonka/logo skutečně na střed */
.site-footer .footer-brand {
  text-align: center !important;
}

.site-footer .brand-footer {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 10px !important;
}

.site-footer .footer-logo-mark,
.site-footer .footer-logo-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
}

.site-footer .footer-logo-image img,
.site-footer .footer-logo-mark img {
  display: block !important;
  margin: 0 auto !important;
}

.site-footer .footer-brand p {
  text-align: center !important;
}


/* ===== v270: stránka služeb + kategorizované reference ===== */
.services-title-link {
  color: inherit !important;
  text-decoration: none !important;
  transition: color .18s ease;
}

.services-title-link:hover {
  color: #0b63ff !important;
}

.services-hero-v270 {
  overflow: hidden;
}

.service-hero-panel {
  min-height: 360px;
  border-radius: 34px;
  padding: 30px;
  color: #fff;
  background:
    radial-gradient(circle at 15% 18%, rgba(255,255,255,.18), transparent 26%),
    radial-gradient(circle at 86% 82%, rgba(56,189,248,.24), transparent 28%),
    linear-gradient(135deg, #061637 0%, #0b4bb3 58%, #0b63ff 100%);
  box-shadow: 0 28px 80px rgba(11,99,255,.20);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.service-hero-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: 280px;
}

.service-hero-grid span {
  min-height: 92px;
  border-radius: 24px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
}

.service-hero-grid svg,
.service-visual svg {
  width: 42px;
  height: 42px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.service-hero-panel strong {
  display: block;
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.service-hero-panel p {
  margin: 10px 0 0;
  color: rgba(255,255,255,.78);
  line-height: 1.6;
}

.service-anchor-nav-section {
  padding-top: 22px !important;
  padding-bottom: 14px !important;
  background: #f6faff;
}

.service-anchor-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px;
  border-radius: 24px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(11,99,255,.10);
  box-shadow: 0 16px 38px rgba(15,23,42,.06);
}

.service-anchor-nav a {
  flex: 1 1 170px;
  min-height: 46px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #17304f;
  text-decoration: none;
  font-weight: 800;
  background: #fff;
  border: 1px solid rgba(15,23,42,.07);
}

.service-anchor-nav a:hover {
  color: #0b63ff;
  border-color: rgba(11,99,255,.25);
  background: #f2f7ff;
}

.service-detail-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 10%, rgba(11,99,255,.07), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
  scroll-margin-top: 96px;
}

.service-detail-section.alt {
  background:
    radial-gradient(circle at 92% 12%, rgba(56,189,248,.10), transparent 22%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.service-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(320px, .85fr);
  gap: 34px;
  align-items: center;
}

.service-detail-copy {
  position: relative;
}

.service-number {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  background: #0b63ff;
  color: #fff;
  font-weight: 900;
  box-shadow: 0 18px 34px rgba(11,99,255,.20);
}

.service-detail-copy h2 {
  margin: 8px 0 16px;
  max-width: 760px;
  font-size: clamp(32px, 3.2vw, 52px);
  line-height: 1.06;
  letter-spacing: -.055em;
  color: #071126;
}

.service-detail-copy p {
  max-width: 730px;
  color: #4f6078;
  line-height: 1.72;
  font-size: 17px;
}

.service-checklist {
  list-style: none;
  padding: 0;
  margin: 22px 0 26px;
  display: grid;
  gap: 10px;
}

.service-checklist li {
  position: relative;
  padding: 13px 16px 13px 46px;
  border-radius: 16px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(11,99,255,.09);
  color: #20324c;
  box-shadow: 0 12px 26px rgba(15,23,42,.045);
}

.service-checklist li::before {
  content: "✓";
  position: absolute;
  left: 16px;
  top: 13px;
  color: #0b63ff;
  font-weight: 900;
}

.service-visual {
  min-height: 420px;
  border-radius: 34px;
  padding: 34px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  position: relative;
  background: linear-gradient(135deg, #071126 0%, #0b4bb3 58%, #0b63ff 100%);
  box-shadow: 0 28px 74px rgba(15,23,42,.16);
}

.service-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.18), transparent 26%),
    radial-gradient(circle at 82% 18%, rgba(125,211,252,.22), transparent 18%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.08) 0 2px, transparent 2px 42px);
}

.service-visual svg {
  position: relative;
  z-index: 1;
  width: 96px;
  height: 96px;
  margin-bottom: auto;
  color: rgba(255,255,255,.92);
}

.service-visual b,
.service-visual span {
  position: relative;
  z-index: 1;
}

.service-visual b {
  font-size: clamp(28px, 2.5vw, 42px);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.service-visual span {
  margin-top: 10px;
  color: rgba(255,255,255,.78);
  font-weight: 700;
}

.reference-category-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 24px;
}

.reference-category-jump a {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(11,99,255,.12);
  color: #17304f;
  text-decoration: none;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
}

.reference-category-jump a:hover {
  color: #0b63ff;
  border-color: rgba(11,99,255,.30);
}

.reference-category-stack {
  display: grid;
  gap: 24px;
}

.reference-category-block {
  scroll-margin-top: 96px;
  border-radius: 30px;
  padding: 24px;
  background:
    radial-gradient(circle at 8% 12%, rgba(11,99,255,.08), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,251,255,.90));
  border: 1px solid rgba(11,99,255,.09);
  box-shadow: 0 22px 54px rgba(15,23,42,.065);
}

.reference-category-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.reference-category-head span {
  color: #0b63ff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .16em;
}

.reference-category-head h3 {
  margin: 6px 0 0;
  color: #071126;
  font-size: clamp(24px, 2.3vw, 36px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.reference-category-head p {
  max-width: 540px;
  margin: 0;
  color: #52637b;
  line-height: 1.6;
}

.reference-client-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.reference-client-card {
  min-height: 144px;
  padding: 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(15,23,42,.07);
  box-shadow: 0 14px 28px rgba(15,23,42,.045);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.reference-client-card:hover {
  border-color: rgba(11,99,255,.28);
  transform: translateY(-2px);
}

.reference-client-card strong {
  color: #071126;
  line-height: 1.2;
}

.reference-client-card span {
  color: #0b63ff;
  font-weight: 800;
  font-size: 12.5px;
  word-break: break-word;
}

.reference-client-card small {
  color: #61718a;
  line-height: 1.45;
}

.reference-client-card em {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: auto;
  font-style: normal;
}

.reference-client-card em b {
  font-size: 10.5px;
  line-height: 1;
  padding: 6px 8px;
  border-radius: 999px;
  background: #eef5ff;
  color: #0b63ff;
}

.reference-domain-panel--all {
  margin-top: 24px;
}

@media (max-width: 1100px) {
  .service-detail-grid,
  .page-hero-grid {
    grid-template-columns: 1fr;
  }

  .reference-client-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reference-category-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 680px) {
  .service-hero-panel,
  .service-visual {
    min-height: 300px;
    border-radius: 26px;
    padding: 24px;
  }

  .service-detail-copy h2 {
    font-size: 30px;
  }

  .reference-client-grid {
    grid-template-columns: 1fr;
  }

  .reference-category-block {
    padding: 18px;
    border-radius: 24px;
  }

  .service-anchor-nav a {
    flex-basis: 100%;
  }
}


/* ===== v271: desktop hero/services zero-gap + prettier compact responsive popups ===== */

/* Desktop: sekce Co nabízíme začíná hned pod sliderem bez viditelného skoku. */
@media (min-width: 901px) {
  .itb214-slider {
    margin-bottom: -78px !important;
    overflow: visible !important;
  }

  .itb214-viewport {
    overflow: hidden !important;
  }

  .itb214-tabs {
    position: relative !important;
    z-index: 30 !important;
    margin: -42px auto 0 !important;
  }

  .services-section {
    margin-top: 0 !important;
    padding-top: 126px !important;
    background:
      linear-gradient(180deg, rgba(244,248,253,1) 0%, rgba(244,248,253,.98) 44%, rgba(255,255,255,1) 100%) !important;
  }

  .services-section::before {
    top: 0 !important;
  }

  .services-section::after {
    top: -46px !important;
    height: 70px !important;
    background: linear-gradient(to bottom, rgba(244,248,253,0) 0%, rgba(244,248,253,.74) 40%, rgba(244,248,253,.98) 82%, rgba(244,248,253,1) 100%) !important;
  }
}

/* Homepage karty služeb – jasné prolinkování na sluzby.php kotvy */
.home-services-grid .service-card {
  position: relative;
}

.home-services-grid .service-card .more {
  margin-top: auto !important;
}

/* Profesionálnější, kompaktnější a responzivní popupy */
.itb-modal,
.itb-contact-modal {
  --itb-modal-radius: 26px;
  --itb-modal-blue: #0b63ff;
}

.itb-modal__backdrop {
  background:
    radial-gradient(circle at 20% 12%, rgba(11,99,255,.22), transparent 28%),
    radial-gradient(circle at 86% 22%, rgba(56,189,248,.18), transparent 24%),
    rgba(4, 14, 33, .62) !important;
  backdrop-filter: blur(10px) !important;
}

.itb-contact-modal .itb-modal__dialog,
#portalAccessModal .itb-modal__dialog {
  width: min(720px, calc(100vw - 34px)) !important;
  max-width: 720px !important;
  max-height: calc(100vh - 34px) !important;
  overflow: auto !important;
  border-radius: var(--itb-modal-radius) !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.88) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(246,250,255,.98) 100%) !important;
  box-shadow: 0 34px 90px rgba(3, 15, 38, .30), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.itb-contact-modal .itb-modal__dialog::before,
#portalAccessModal .itb-modal__dialog::before {
  content: "" !important;
  display: block !important;
  height: 8px !important;
  background: linear-gradient(90deg, #0b63ff 0%, #38bdf8 55%, #ffffff 100%) !important;
}

.itb-contact-modal .itb-modal__top,
#portalAccessModal .itb-modal__top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 22px 24px 16px !important;
  border-bottom: 1px solid rgba(11,99,255,.10) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(11,99,255,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,251,255,.92)) !important;
}

.itb-contact-modal .itb-modal__top .section-kicker,
#portalAccessModal .itb-modal__top .section-kicker {
  margin-bottom: 6px !important;
  font-size: 11px !important;
}

.itb-contact-modal .itb-modal__top .section-title,
#portalAccessModal .itb-modal__top .section-title {
  font-size: clamp(22px, 2.1vw, 30px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
}

.itb-contact-modal .itb-modal__top .section-copy,
#portalAccessModal .itb-modal__top .section-copy {
  margin-top: 6px !important;
  max-width: 560px !important;
  font-size: 13.8px !important;
  line-height: 1.48 !important;
  color: #5d6e86 !important;
}

.itb-modal__close {
  flex: 0 0 auto !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 14px !important;
  background: #fff !important;
  border: 1px solid rgba(11,99,255,.12) !important;
  color: #0b1d35 !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.08) !important;
}

.itb-modal__close:hover {
  background: #0b63ff !important;
  color: #fff !important;
}

.itb-contact-modal form,
#portalAccessModal form {
  padding: 18px 24px 22px !important;
}

.itb-contact-modal .form-grid,
#portalAccessModal .form-grid {
  gap: 12px 14px !important;
}

.itb-contact-modal .form-field,
#portalAccessModal .form-field {
  min-width: 0 !important;
}

.itb-contact-modal .form-field label,
#portalAccessModal .form-field label {
  margin-bottom: 5px !important;
  color: #14243b !important;
  font-size: 12.8px !important;
  font-weight: 850 !important;
}

.itb-contact-modal input,
.itb-contact-modal select,
.itb-contact-modal textarea,
#portalAccessModal input,
#portalAccessModal select,
#portalAccessModal textarea {
  min-height: 46px !important;
  border-radius: 14px !important;
  padding: 11px 13px !important;
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, .34) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 8px 18px rgba(15,23,42,.035) !important;
}

.itb-contact-modal textarea,
#portalAccessModal textarea {
  min-height: 92px !important;
  resize: vertical !important;
}

.itb-contact-modal input:focus,
.itb-contact-modal select:focus,
.itb-contact-modal textarea:focus,
#portalAccessModal input:focus,
#portalAccessModal select:focus,
#portalAccessModal textarea:focus {
  border-color: rgba(11,99,255,.58) !important;
  box-shadow: 0 0 0 4px rgba(11,99,255,.10), 0 10px 20px rgba(15,23,42,.04) !important;
  outline: none !important;
}

.itb-contact-modal .captcha-card,
#portalAccessModal .captcha-card {
  padding: 10px 12px !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #f4f8ff 0%, #eef5ff 100%) !important;
  border: 1px solid rgba(11,99,255,.12) !important;
}

.itb-contact-modal .captcha-inline,
#portalAccessModal .captcha-inline {
  gap: 10px !important;
}

.itb-contact-modal .captcha-example,
#portalAccessModal .captcha-example {
  min-height: 42px !important;
  min-width: 94px !important;
  padding: 0 14px !important;
  border-radius: 13px !important;
  background: #fff !important;
  border: 1px solid rgba(11,99,255,.12) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 900 !important;
  color: #071126 !important;
}

.itb-contact-modal .gdpr-card,
#portalAccessModal .gdpr-card {
  padding: 11px 12px !important;
  border-radius: 16px !important;
  background: #f7fbff !important;
  border: 1px solid rgba(11,99,255,.11) !important;
}

.itb-contact-modal .gdpr-card__text strong,
#portalAccessModal .gdpr-card__text strong {
  font-size: 13px !important;
}

.itb-contact-modal .gdpr-card__text small,
#portalAccessModal .gdpr-card__text small {
  font-size: 12px !important;
  line-height: 1.42 !important;
  color: #64748b !important;
}

.itb-contact-modal .form-actions,
#portalAccessModal .form-actions {
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(11,99,255,.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
}

.itb-contact-modal .form-actions .btn,
#portalAccessModal .form-actions .btn {
  min-height: 46px !important;
  padding: 12px 20px !important;
  border-radius: 15px !important;
}

@media (max-width: 760px) {
  .itb-contact-modal .itb-modal__dialog,
  #portalAccessModal .itb-modal__dialog {
    width: calc(100vw - 18px) !important;
    max-height: calc(100vh - 18px) !important;
    border-radius: 22px !important;
  }

  .itb-contact-modal .itb-modal__top,
  #portalAccessModal .itb-modal__top {
    padding: 18px 16px 13px !important;
  }

  .itb-contact-modal form,
  #portalAccessModal form {
    padding: 14px 16px 18px !important;
  }

  .itb-contact-modal .form-grid,
  #portalAccessModal .form-grid {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }

  .itb-contact-modal .captcha-inline,
  #portalAccessModal .captcha-inline {
    display: grid !important;
    grid-template-columns: 92px 1fr !important;
    align-items: center !important;
  }

  .itb-contact-modal .form-actions,
  #portalAccessModal .form-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .itb-contact-modal .form-actions .btn,
  #portalAccessModal .form-actions .btn {
    width: 100% !important;
    justify-content: center !important;
  }
}


/* ===== v272 – slider tabs visibility + remove top gap ===== */
@media (min-width: 901px) {
  .itb214-slider {
    overflow: visible !important;
    z-index: 6 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .itb214-tabs {
    position: relative !important;
    z-index: 40 !important;
    margin: -28px auto 0 !important;
    width: min(calc(100% - 110px), 1180px) !important;
    box-shadow: 0 20px 42px rgba(15, 23, 42, .10) !important;
  }

  .services-section {
    position: relative !important;
    z-index: 1 !important;
    margin-top: -14px !important;
    padding-top: 54px !important;
  }

  .services-section::before {
    top: -34px !important;
  }
}


/* ===== v273 – sections polish, darker clients, portal animation, popup compactness ===== */

.services-section {
  position: relative !important;
  overflow: hidden !important;
  padding-top: 58px !important;
  padding-bottom: 64px !important;
  background:
    linear-gradient(180deg, rgba(242,247,253,1) 0%, rgba(236,243,252,.98) 46%, rgba(248,251,255,1) 100%) !important;
}

.services-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 10% 18%, rgba(11,99,255,.10), transparent 22%),
    radial-gradient(circle at 86% 14%, rgba(56,189,248,.11), transparent 18%),
    radial-gradient(circle at 72% 78%, rgba(11,99,255,.08), transparent 18%),
    linear-gradient(125deg, rgba(255,255,255,0) 0%, rgba(11,99,255,.05) 40%, rgba(255,255,255,0) 72%),
    repeating-linear-gradient(135deg, rgba(11,99,255,.04) 0 2px, rgba(255,255,255,0) 2px 56px) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.services-section > .container {
  position: relative !important;
  z-index: 2 !important;
}

.home-services-grid {
  gap: 18px !important;
}

.home-services-grid .service-card {
  min-height: 208px !important;
  padding: 22px 20px 18px !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 36px rgba(15,23,42,.06) !important;
}

.home-services-grid .service-card .icon {
  width: 54px !important;
  height: 54px !important;
  margin-bottom: 14px !important;
}

.home-services-grid .service-card h3 {
  margin-bottom: 9px !important;
  font-size: 1.1rem !important;
  line-height: 1.28 !important;
}

.home-services-grid .service-card p {
  font-size: .95rem !important;
  line-height: 1.55 !important;
  margin-bottom: 0 !important;
}

.home-services-grid .service-card .more {
  padding-top: 12px !important;
}

.references-strip {
  background: linear-gradient(135deg, #0a327f 0%, #0c4bb5 44%, #0e67df 100%) !important;
}

.references-strip::before {
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.14), transparent 26%),
    radial-gradient(circle at 82% 74%, rgba(255,255,255,.08), transparent 22%),
    linear-gradient(135deg, rgba(5,20,61,.98) 0%, rgba(10,50,127,.96) 44%, rgba(14,103,223,.92) 100%) !important;
}

.portal-section {
  overflow: hidden !important;
}

.portal-section::before,
.portal-section::after {
  animation-duration: 13s !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
  animation-direction: alternate !important;
}

.portal-section::before {
  animation-name: itbPortalAura !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,255,.16), transparent 24%),
    radial-gradient(circle at 88% 16%, rgba(56,189,248,.18), transparent 20%),
    radial-gradient(circle at 82% 82%, rgba(11,99,255,.12), transparent 18%),
    linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(11,99,255,.055) 48%, rgba(255,255,255,0) 100%),
    repeating-linear-gradient(135deg, rgba(11,99,255,.045) 0 2px, rgba(255,255,255,0) 2px 38px) !important;
}

.portal-section::after {
  animation-name: itbPortalGlow !important;
}

.portal-preview {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  animation: itbPortalFloat 6.6s ease-in-out infinite !important;
}

.portal-preview::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 14% 12%, rgba(255,255,255,.22), transparent 24%), radial-gradient(circle at 82% 86%, rgba(11,99,255,.10), transparent 26%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.portal-preview::after {
  content: "" !important;
  position: absolute !important;
  top: -20% !important;
  left: -38% !important;
  width: 42% !important;
  height: 160% !important;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.34) 50%, rgba(255,255,255,0) 100%) !important;
  transform: rotate(16deg) translateX(-180%) !important;
  animation: itbPortalShine 7.8s ease-in-out infinite !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

.portal-preview > * {
  position: relative !important;
  z-index: 3 !important;
}

@keyframes itbPortalAura {
  0% { transform: translate3d(0,0,0) scale(1); opacity: 1; }
  100% { transform: translate3d(0,-10px,0) scale(1.04); opacity: .92; }
}

@keyframes itbPortalGlow {
  0% { transform: translate3d(0,0,0) scale(1); opacity: .72; }
  100% { transform: translate3d(12px,-8px,0) scale(1.06); opacity: 1; }
}

@keyframes itbPortalFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes itbPortalShine {
  0%, 18% { transform: rotate(16deg) translateX(-180%); opacity: 0; }
  24% { opacity: .65; }
  42% { transform: rotate(16deg) translateX(360%); opacity: .25; }
  100% { transform: rotate(16deg) translateX(360%); opacity: 0; }
}

.faq-section {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #f7fbff 0%, #edf4fd 100%) !important;
}

.faq-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(11,99,255,.17), transparent 18%),
    radial-gradient(circle at 88% 18%, rgba(56,189,248,.18), transparent 16%),
    radial-gradient(circle at 76% 76%, rgba(11,99,255,.11), transparent 18%),
    linear-gradient(135deg, rgba(11,99,255,.05) 0%, rgba(255,255,255,0) 35%, rgba(11,99,255,.045) 68%, rgba(255,255,255,0) 100%),
    repeating-linear-gradient(150deg, rgba(11,99,255,.06) 0 2px, rgba(255,255,255,0) 2px 44px),
    repeating-linear-gradient(35deg, rgba(56,189,248,.03) 0 1px, rgba(255,255,255,0) 1px 36px) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.faq-section::after {
  content: "" !important;
  position: absolute !important;
  inset: auto -8% -110px auto !important;
  width: 380px !important;
  height: 380px !important;
  background: radial-gradient(circle at center, rgba(11,99,255,.12) 0%, rgba(11,99,255,0) 68%) !important;
  filter: blur(12px) !important;
  pointer-events: none !important;
}

.faq-section > .container {
  position: relative !important;
  z-index: 2 !important;
}

.faq-card {
  background: rgba(255,255,255,.86) !important;
  border-color: rgba(11,99,255,.12) !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.05) !important;
  backdrop-filter: blur(6px) !important;
}

.itb-contact-modal .itb-modal__dialog,
#portalAccessModal .itb-modal__dialog {
  width: min(680px, calc(100vw - 28px)) !important;
  max-width: 680px !important;
  max-height: calc(100vh - 26px) !important;
  border-radius: 24px !important;
}

.itb-contact-modal .itb-modal__top,
#portalAccessModal .itb-modal__top {
  padding: 18px 20px 13px !important;
}

.itb-contact-modal .itb-modal__top .section-title,
#portalAccessModal .itb-modal__top .section-title {
  font-size: clamp(21px, 2vw, 28px) !important;
}

.itb-contact-modal .itb-modal__top .section-copy,
#portalAccessModal .itb-modal__top .section-copy {
  font-size: 13.2px !important;
}

.itb-contact-modal form,
#portalAccessModal form {
  padding: 14px 20px 18px !important;
}

.itb-contact-modal .form-grid,
#portalAccessModal .form-grid {
  gap: 10px 12px !important;
}

.itb-contact-modal input,
.itb-contact-modal select,
.itb-contact-modal textarea,
#portalAccessModal input,
#portalAccessModal select,
#portalAccessModal textarea {
  min-height: 44px !important;
  padding: 10px 12px !important;
  border-radius: 13px !important;
}

.itb-contact-modal textarea,
#portalAccessModal textarea {
  min-height: 86px !important;
}

.itb-contact-modal .captcha-card,
#portalAccessModal .captcha-card,
.itb-contact-modal .gdpr-card,
#portalAccessModal .gdpr-card {
  padding: 10px 11px !important;
  border-radius: 14px !important;
}

.itb-contact-modal .form-actions,
#portalAccessModal .form-actions {
  margin-top: 12px !important;
  padding-top: 12px !important;
  gap: 8px !important;
}

.itb-contact-modal .form-actions .btn,
#portalAccessModal .form-actions .btn {
  min-height: 44px !important;
  padding: 11px 18px !important;
}

@media (max-width: 900px) {
  .services-section {
    padding-top: 66px !important;
    padding-bottom: 58px !important;
  }

  .home-services-grid {
    gap: 14px !important;
  }

  .home-services-grid .service-card {
    min-height: auto !important;
    padding: 18px 16px 16px !important;
  }

  .home-services-grid .service-card h3 {
    font-size: 1.02rem !important;
  }

  .home-services-grid .service-card p {
    font-size: .92rem !important;
  }

  .itb-contact-modal .itb-modal__dialog,
  #portalAccessModal .itb-modal__dialog {
    width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    border-radius: 20px !important;
  }

  .itb-contact-modal .itb-modal__top,
  #portalAccessModal .itb-modal__top {
    padding: 16px 15px 12px !important;
  }

  .itb-contact-modal form,
  #portalAccessModal form {
    padding: 12px 15px 16px !important;
  }
}


/* ===== v274 – slider blend, mobile spacing, portal centering, creative mobile, popup polish ===== */

/* Desktop: barevně slít slider s další sekcí a schovat pruh */
@media (min-width: 901px) {
  .itb214-slider {
    position: relative !important;
    overflow: visible !important;
  }

  .itb214-slider::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -1px !important;
    height: 84px !important;
    pointer-events: none !important;
    z-index: 1 !important;
    background: linear-gradient(
      to bottom,
      rgba(241,245,250,0) 0%,
      rgba(241,245,250,.74) 38%,
      rgba(239,244,250,.96) 70%,
      rgba(238,243,250,1) 100%
    ) !important;
  }

  .itb214-tabs {
    position: relative !important;
    z-index: 6 !important;
    margin: -26px auto 0 !important;
  }

  .services-section {
    margin-top: -8px !important;
    padding-top: 46px !important;
    background: linear-gradient(180deg, #eef3fa 0%, rgba(236,243,252,.98) 42%, rgba(248,251,255,1) 100%) !important;
  }

  .services-section::before {
    inset: -24px 0 0 0 !important;
    opacity: .98 !important;
  }
}

/* Popup formuláře – ještě kompaktnější, bez viditelného scroll jezdce */
.itb-contact-modal .itb-modal__dialog,
#portalAccessModal .itb-modal__dialog {
  width: min(660px, calc(100vw - 28px)) !important;
  max-width: 660px !important;
  max-height: min(760px, calc(100vh - 24px)) !important;
  overflow: auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.itb-contact-modal .itb-modal__dialog::-webkit-scrollbar,
#portalAccessModal .itb-modal__dialog::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
}

.itb-contact-modal .itb-modal__top,
#portalAccessModal .itb-modal__top {
  padding: 18px 20px 12px !important;
  gap: 14px !important;
}

.itb-contact-modal .itb-modal__top .section-title,
#portalAccessModal .itb-modal__top .section-title {
  font-size: clamp(20px, 1.7vw, 27px) !important;
}

.itb-contact-modal .itb-modal__top .section-copy,
#portalAccessModal .itb-modal__top .section-copy {
  font-size: 13px !important;
  line-height: 1.42 !important;
}

.itb-contact-modal form,
#portalAccessModal form {
  padding: 14px 20px 16px !important;
}

.itb-contact-modal .form-grid,
#portalAccessModal .form-grid {
  gap: 9px 12px !important;
}

.itb-contact-modal .form-field label,
#portalAccessModal .form-field label {
  margin-bottom: 4px !important;
  font-size: 12.2px !important;
}

.itb-contact-modal input,
.itb-contact-modal select,
.itb-contact-modal textarea,
#portalAccessModal input,
#portalAccessModal select,
#portalAccessModal textarea {
  min-height: 42px !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
}

.itb-contact-modal textarea,
#portalAccessModal textarea {
  min-height: 78px !important;
}

.itb-contact-modal .captcha-card,
#portalAccessModal .captcha-card,
.itb-contact-modal .gdpr-card,
#portalAccessModal .gdpr-card {
  padding: 8px 10px !important;
  border-radius: 14px !important;
}

.itb-contact-modal .captcha-example,
#portalAccessModal .captcha-example {
  min-height: 38px !important;
  min-width: 84px !important;
}

.itb-contact-modal .gdpr-card__text strong,
#portalAccessModal .gdpr-card__text strong {
  font-size: 12.6px !important;
}

.itb-contact-modal .gdpr-card__text small,
#portalAccessModal .gdpr-card__text small {
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}

.itb-contact-modal .form-actions,
#portalAccessModal .form-actions {
  margin-top: 10px !important;
  padding-top: 10px !important;
  gap: 8px !important;
}

.itb-contact-modal .form-actions .btn,
#portalAccessModal .form-actions .btn {
  min-height: 42px !important;
  padding: 10px 18px !important;
}

@media (max-width: 760px) {
  .itb-contact-modal .itb-modal__dialog,
  #portalAccessModal .itb-modal__dialog {
    width: calc(100vw - 12px) !important;
    max-height: calc(100vh - 12px) !important;
    border-radius: 18px !important;
  }

  .itb-contact-modal .itb-modal__top,
  #portalAccessModal .itb-modal__top {
    padding: 15px 14px 10px !important;
  }

  .itb-contact-modal form,
  #portalAccessModal form {
    padding: 10px 14px 14px !important;
  }

  .itb-contact-modal .form-grid,
  #portalAccessModal .form-grid {
    gap: 9px !important;
  }

  .itb-contact-modal textarea,
  #portalAccessModal textarea {
    min-height: 72px !important;
  }
}

/* Mobilní slider – odstranit mezeru mezi ovládáním a taby */
@media (max-width: 900px) {
  .itb214-slider {
    --itb214-h: 604px !important;
    margin-bottom: -4px !important;
  }

  .itb214-viewport {
    min-height: 604px !important;
  }

  .itb214-inner {
    padding-top: 18px !important;
    padding-bottom: 110px !important;
  }

  .itb214-content p {
    margin-bottom: 14px !important;
  }

  .itb214-buttons {
    margin-bottom: 14px !important;
  }

  .itb214-controls {
    margin-top: -2px !important;
    margin-bottom: 0 !important;
  }

  .itb214-tabs {
    width: calc(100% - 14px) !important;
    margin: -46px auto 8px !important;
    border-radius: 22px !important;
  }

  .services-section {
    margin-top: -6px !important;
    padding-top: 34px !important;
  }

  .services-section::before {
    top: -10px !important;
  }
}

@media (max-width: 520px) {
  .itb214-slider {
    --itb214-h: 592px !important;
  }

  .itb214-viewport {
    min-height: 592px !important;
  }

  .itb214-inner {
    padding-top: 16px !important;
    padding-bottom: 106px !important;
  }

  .itb214-tabs {
    margin: -50px auto 6px !important;
  }
}

/* Mobilní verze – IT-BALON.CZ Podpora ukázka zarovnaná na střed */
@media (max-width: 900px) {
  .portal-preview {
    padding: 16px 12px !important;
  }

  .portal-top {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: center !important;
  }

  .portal-top strong,
  .portal-top .mini-btn {
    text-align: center !important;
    margin: 0 auto !important;
  }

  .stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .stats .stat {
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .stats .stat strong,
  .stats .stat small {
    display: block !important;
    text-align: center !important;
  }

  .ticket-table.compact-table .row {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1.7fr) minmax(0, 1.05fr) minmax(0, .95fr) !important;
    gap: 6px !important;
    align-items: center !important;
  }

  .ticket-table.compact-table .row span {
    text-align: center !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
  }

  .ticket-table.compact-table .row span:nth-child(2) {
    text-align: center !important;
  }

  .ticket-table.compact-table .row .pill {
    justify-content: center !important;
    margin: 0 auto !important;
    white-space: nowrap !important;
  }
}

/* Tvorba & produkce – mobilní blok lépe vystředit a zklidnit */
@media (max-width: 900px) {
  .creative-section {
    padding-top: 22px !important;
    padding-bottom: 26px !important;
  }

  .creative-band {
    width: calc(100% - 14px) !important;
    margin: 0 auto !important;
    border-radius: 26px !important;
  }

  .creative-grid {
    gap: 16px !important;
    padding: 18px 14px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
  }

  .creative-grid > div:first-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 !important;
  }

  .creative-grid > div:first-child h2 {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: clamp(24px, 8vw, 36px) !important;
    line-height: 1.07 !important;
  }

  .creative-grid > div:first-child p {
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .creative-actions {
    width: 100% !important;
    align-items: center !important;
  }

  .creative-actions .btn {
    width: min(100%, 320px) !important;
    margin: 0 auto !important;
    justify-content: center !important;
  }

  .creative-features {
    width: 100% !important;
    gap: 10px !important;
  }

  .creative-feature {
    width: 100% !important;
    padding: 16px 14px !important;
    text-align: center !important;
  }

  .creative-feature strong,
  .creative-feature small {
    text-align: center !important;
  }
}


/* ===== v275: desktop slider blend + smaller service cards + darker partners ===== */
@media (min-width: 901px) {
  /* Prolnutí slideru do další sekce bez viditelného pruhu */
  .itb214-slider {
    margin-bottom: 0 !important;
    background: linear-gradient(180deg, #f7fbff 0%, #f7fbff 78%, #eaf2fb 100%) !important;
  }

  .itb214-slide::before {
    background: linear-gradient(
      90deg,
      rgba(255,255,255,.965) 0%,
      rgba(255,255,255,.92) 18%,
      rgba(255,255,255,.74) 34%,
      rgba(255,255,255,.40) 49%,
      rgba(255,255,255,.12) 61%,
      rgba(255,255,255,0) 74%
    ) !important;
  }

  .itb214-tabs {
    bottom: 6px !important;
  }

  .services-section {
    position: relative !important;
    margin-top: -8px !important;
    padding-top: 26px !important;
    background:
      radial-gradient(circle at 18% 14%, rgba(11,99,255,.05), transparent 24%),
      radial-gradient(circle at 86% 8%, rgba(56,189,248,.08), transparent 22%),
      linear-gradient(180deg, #edf4fb 0%, #f7fbff 24%, #ffffff 100%) !important;
    z-index: 1 !important;
  }

  .services-section::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 32px;
    transform: translateY(-100%);
    background: linear-gradient(180deg, rgba(247,251,255,0) 0%, rgba(237,244,251,.82) 72%, rgba(237,244,251,1) 100%);
    pointer-events: none;
  }

  /* Menší výška boxů v Co nabízíme */
  .home-services-grid {
    gap: 14px !important;
  }

  .home-services-grid .service-card {
    min-height: 182px !important;
    padding: 18px 18px 14px !important;
    border-radius: 20px !important;
  }

  .home-services-grid .service-card .icon {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 11px !important;
  }

  .home-services-grid .service-card h3 {
    margin-bottom: 7px !important;
    font-size: 1rem !important;
    line-height: 1.22 !important;
  }

  .home-services-grid .service-card p {
    font-size: .89rem !important;
    line-height: 1.46 !important;
  }

  .home-services-grid .service-card .more {
    padding-top: 9px !important;
    font-size: .95rem !important;
  }

  /* Naši zákazníci / partneři – tmavší modrá */
  .references-strip {
    background: linear-gradient(135deg, #07245d 0%, #083688 42%, #0b4db4 100%) !important;
  }

  .references-strip::before {
    background:
      radial-gradient(circle at 12% 20%, rgba(255,255,255,.11), transparent 24%),
      radial-gradient(circle at 82% 74%, rgba(255,255,255,.07), transparent 20%),
      linear-gradient(135deg, rgba(4,16,48,.985) 0%, rgba(7,36,93,.97) 42%, rgba(11,77,180,.92) 100%) !important;
  }
}

@media (min-width: 901px) and (max-width: 1320px) {
  .services-section {
    padding-top: 24px !important;
  }

  .home-services-grid .service-card {
    min-height: 174px !important;
    padding: 17px 16px 13px !important;
  }

  .home-services-grid .service-card h3 {
    font-size: .95rem !important;
  }

  .home-services-grid .service-card p {
    font-size: .84rem !important;
  }
}


/* ===== v276: mobile slider + creative polish + visible scrolltop ===== */
@media (max-width: 900px) {
  /* Mobilní slider – pozadí až ke spodní hraně, menší mezera k tabům */
  .itb214-slider {
    --itb214-h: 618px !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f8fd 100%) !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: var(--itb214-h) !important;
  }

  .itb214-inner {
    padding-top: 16px !important;
    padding-bottom: 132px !important;
  }

  .itb214-slide::before {
    background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.78) 44%, rgba(255,255,255,.52) 72%, rgba(255,255,255,.18) 100%) !important;
  }

  .itb214-slide::after {
    opacity: .90 !important;
    background-position: center bottom !important;
    background-size: cover !important;
  }

  .itb214-controls {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
  }

  .itb214-tabs {
    width: calc(100% - 10px) !important;
    margin: -86px auto 0 !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 38px rgba(15,23,42,.08) !important;
    position: relative !important;
    z-index: 6 !important;
  }

  .services-section {
    margin-top: -10px !important;
    padding-top: 18px !important;
  }

  .services-section::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 20px;
    transform: translateY(-100%);
    background: linear-gradient(180deg, rgba(244,248,253,0) 0%, rgba(235,243,250,.92) 100%);
    pointer-events: none;
  }

  /* Tvorba & produkce – klidnější, vycentrovanější mobilní verze */
  .creative-section {
    padding-top: 12px !important;
    padding-bottom: 20px !important;
  }

  .creative-band {
    width: calc(100% - 10px) !important;
    margin: 0 auto !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  .creative-band::before {
    background: linear-gradient(180deg, rgba(6,15,32,.92) 0%, rgba(6,15,32,.78) 42%, rgba(6,15,32,.88) 100%), url('/assets/creative-production-bg-v234.png') center center / cover no-repeat !important;
  }

  .creative-grid {
    gap: 12px !important;
    padding: 16px 12px 14px !important;
    align-items: start !important;
  }

  .creative-grid > div:first-child {
    gap: 0 !important;
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .creative-section .eyebrow {
    margin: 0 auto 10px !important;
    font-size: 12px !important;
    letter-spacing: .18em !important;
  }

  .creative-grid > div:first-child h2 {
    max-width: 100% !important;
    margin: 0 auto 12px !important;
    font-size: clamp(20px, 7.9vw, 31px) !important;
    line-height: 1.1 !important;
    letter-spacing: -.03em !important;
  }

  .creative-grid > div:first-child p {
    max-width: 320px !important;
    margin: 0 auto !important;
    font-size: 16px !important;
    line-height: 1.62 !important;
  }

  .creative-actions {
    width: 100% !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }

  .creative-actions .btn {
    width: min(100%, 320px) !important;
    min-height: 54px !important;
    margin: 0 auto !important;
    justify-content: center !important;
    font-size: 16px !important;
  }

  .creative-features {
    width: 100% !important;
    gap: 10px !important;
  }

  .creative-feature {
    width: 100% !important;
    padding: 16px 14px !important;
    border-radius: 20px !important;
    text-align: center !important;
  }

  .creative-feature strong {
    display: block !important;
    margin-bottom: 8px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  .creative-feature small {
    display: block !important;
    font-size: 15px !important;
    line-height: 1.52 !important;
  }

  /* Skok nahoru – ať je na mobilu vždy dobře vidět */
  .itb-scrolltop {
    right: 14px !important;
    bottom: 18px !important;
    width: 48px !important;
    height: 48px !important;
    z-index: 9999 !important;
    box-shadow: 0 16px 30px rgba(11,99,255,.28) !important;
  }
}

@media (max-width: 520px) {
  .itb214-slider {
    --itb214-h: 628px !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: 628px !important;
  }

  .itb214-inner {
    padding-bottom: 138px !important;
  }

  .itb214-tabs {
    margin: -92px auto 0 !important;
  }

  .creative-grid {
    padding: 14px 10px 12px !important;
  }
}


/* ===== v277: slider stripe final blend + new portal/contact backgrounds + mobile hero tightening ===== */
@media (min-width: 901px) {
  /* Hero/slider – odstranit viditelný pruh mezi sliderem a další sekcí */
  .itb214-slider {
    position: relative !important;
    margin-bottom: -28px !important;
    padding-bottom: 0 !important;
    background: linear-gradient(180deg, #fbfdff 0%, #eef4fa 88%, #e8eff7 100%) !important;
  }

  .itb214-slider::after {
    bottom: -26px !important;
    height: 130px !important;
    z-index: 2 !important;
    background: linear-gradient(
      180deg,
      rgba(240,245,250,0) 0%,
      rgba(238,243,249,.72) 26%,
      rgba(235,241,248,.94) 56%,
      rgba(232,239,247,1) 82%,
      rgba(231,238,246,1) 100%
    ) !important;
  }

  .itb214-tabs {
    position: relative !important;
    z-index: 8 !important;
    margin: -34px auto 0 !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .10) !important;
    background: rgba(255,255,255,.965) !important;
  }

  .services-section {
    margin-top: -30px !important;
    padding-top: 52px !important;
    background: linear-gradient(180deg, #e7eef6 0%, #edf3fa 20%, #f7fbff 100%) !important;
  }

  .services-section::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -34px !important;
    height: 74px !important;
    background: linear-gradient(180deg, rgba(231,238,246,0) 0%, rgba(231,238,246,.92) 62%, rgba(231,238,246,1) 100%) !important;
    opacity: 1 !important;
    pointer-events: none !important;
  }

  /* Co nabízíme – o něco menší boxy */
  .home-services-grid {
    gap: 14px !important;
  }

  .home-services-grid .service-card {
    min-height: 158px !important;
    padding: 14px 14px 12px !important;
    border-radius: 22px !important;
  }

  .home-services-grid .service-card .icon {
    width: 66px !important;
    height: 66px !important;
    margin-bottom: 10px !important;
  }

  .home-services-grid .service-card h3 {
    font-size: 1.02rem !important;
    line-height: 1.14 !important;
    margin-bottom: 8px !important;
  }

  .home-services-grid .service-card p {
    font-size: .94rem !important;
    line-height: 1.48 !important;
    margin-bottom: 10px !important;
  }

  /* Naši zákazníci / partneři – malinko tmavší modrá */
  .references-strip {
    background: linear-gradient(135deg, #061d4d 0%, #082f7c 42%, #0a479f 100%) !important;
  }

  .references-strip::before {
    background:
      radial-gradient(circle at 14% 18%, rgba(255,255,255,.10), transparent 22%),
      radial-gradient(circle at 84% 72%, rgba(255,255,255,.06), transparent 18%),
      linear-gradient(135deg, rgba(4,15,41,.988) 0%, rgba(6,29,77,.975) 40%, rgba(10,71,159,.94) 100%) !important;
  }
}

/* Klientský portál – nový abstrakt */
.portal-section {
  position: relative !important;
  overflow: hidden !important;
}

.portal-section::before,
.portal-section::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

.portal-section::before {
  background:
    radial-gradient(circle at 10% 18%, rgba(14, 165, 233, .15), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(11, 99, 255, .12), transparent 22%),
    radial-gradient(circle at 74% 78%, rgba(96, 165, 250, .12), transparent 24%),
    linear-gradient(135deg, rgba(248,251,255,.98) 0%, rgba(236,243,251,.98) 46%, rgba(247,250,255,.98) 100%) !important;
  opacity: 1 !important;
}

.portal-section::after {
  opacity: .62 !important;
  background:
    linear-gradient(125deg, transparent 0 18%, rgba(255,255,255,.44) 18.15%, transparent 18.8% 100%),
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.42) 50%, rgba(255,255,255,0) 100%),
    repeating-linear-gradient(90deg, rgba(11,99,255,.028) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(0deg, rgba(11,99,255,.028) 0 1px, transparent 1px 120px) !important;
}

/* Máte zájem o spolupráci? – nový abstrakt */
.contact-section {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #f7fbff 0%, #eff5fb 100%) !important;
}

.contact-section::before,
.contact-section::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

.contact-section::before {
  background:
    radial-gradient(circle at 8% 20%, rgba(11,99,255,.11), transparent 26%),
    radial-gradient(circle at 92% 30%, rgba(59,130,246,.12), transparent 24%),
    radial-gradient(circle at 72% 84%, rgba(14,165,233,.10), transparent 22%),
    linear-gradient(135deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,0) 34%, rgba(255,255,255,.30) 66%, rgba(255,255,255,0) 100%) !important;
}

.contact-section::after {
  opacity: .55 !important;
  background:
    linear-gradient(125deg, transparent 0 26%, rgba(255,255,255,.40) 26.2%, transparent 27% 100%),
    repeating-linear-gradient(90deg, rgba(11,99,255,.03) 0 1px, transparent 1px 110px),
    repeating-linear-gradient(0deg, rgba(11,99,255,.028) 0 1px, transparent 1px 110px) !important;
}

.contact-section > .container,
.portal-section > .container {
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 900px) {
  /* Mobilní slider – pozadí až dolů, bez bílé mezery před taby */
  .itb214-slider {
    --itb214-h: 644px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    background: linear-gradient(180deg, #fbfdff 0%, #eef4fa 100%) !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: var(--itb214-h) !important;
  }

  .itb214-inner {
    padding-top: 20px !important;
    padding-bottom: 160px !important;
  }

  .itb214-slide::before {
    background: linear-gradient(180deg, rgba(255,255,255,.93) 0%, rgba(255,255,255,.80) 42%, rgba(255,255,255,.54) 72%, rgba(255,255,255,.14) 100%) !important;
  }

  .itb214-slide::after {
    opacity: .93 !important;
    background-position: center bottom !important;
    background-size: cover !important;
  }

  .itb214-content {
    gap: 12px !important;
  }

  .itb214-eyebrow {
    margin-bottom: 8px !important;
  }

  .itb214-content h1 {
    margin-bottom: 12px !important;
    line-height: 1.16 !important;
  }

  .itb214-content p {
    margin-bottom: 14px !important;
    line-height: 1.56 !important;
  }

  .itb214-buttons {
    gap: 10px !important;
    align-items: center !important;
  }

  .itb214-btn {
    width: min(100%, 300px) !important;
    min-height: 54px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    margin-inline: auto !important;
    justify-content: center !important;
  }

  .itb214-controls {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
  }

  .itb214-tabs {
    width: calc(100% - 10px) !important;
    margin: -112px auto 0 !important;
    position: relative !important;
    z-index: 7 !important;
  }

  .services-section {
    margin-top: -6px !important;
    padding-top: 20px !important;
  }

  .services-section::before {
    height: 26px !important;
    transform: translateY(-100%) !important;
    background: linear-gradient(180deg, rgba(244,248,253,0) 0%, rgba(233,240,248,.92) 100%) !important;
  }
}

@media (max-width: 520px) {
  .itb214-slider {
    --itb214-h: 658px !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: 658px !important;
  }

  .itb214-inner {
    padding-bottom: 170px !important;
  }

  .itb214-content h1 {
    font-size: clamp(30px, 9.3vw, 37px) !important;
    line-height: 1.17 !important;
  }

  .itb214-content p {
    font-size: 15px !important;
  }

  .itb214-btn {
    width: min(100%, 286px) !important;
    min-height: 52px !important;
  }

  .itb214-tabs {
    margin: -118px auto 0 !important;
  }
}


/* ===== v278: services polish + section animations + new abstracts ===== */
@keyframes itbFadeUp {
  from { opacity: 0; transform: translate3d(0, 26px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes itbFadeLeft {
  from { opacity: 0; transform: translate3d(-24px, 0, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes itbFadeRight {
  from { opacity: 0; transform: translate3d(24px, 0, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

.services-section {
  position: relative !important;
  padding-top: 68px !important;
  overflow: hidden !important;
}
.services-section::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(11,99,255,.08), transparent 20%),
    radial-gradient(circle at 84% 14%, rgba(96,165,250,.10), transparent 22%),
    radial-gradient(circle at 78% 72%, rgba(14,165,233,.08), transparent 22%),
    linear-gradient(135deg, rgba(255,255,255,.26) 0%, rgba(255,255,255,0) 35%, rgba(255,255,255,.18) 64%, rgba(255,255,255,0) 100%),
    repeating-linear-gradient(90deg, rgba(11,99,255,.026) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(0deg, rgba(11,99,255,.02) 0 1px, transparent 1px 120px) !important;
  opacity: .9 !important;
}
.services-section > .container { position: relative !important; z-index: 1 !important; }
.home-services-grid { gap: 14px !important; }
.home-services-grid .service-card {
  min-height: 330px !important;
  padding: 16px 16px 14px !important;
}
.home-services-grid .service-card h3 {
  min-height: 2.55em !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
}
.home-services-grid .service-card p {
  min-height: 4.95em !important;
  display: block !important;
}
.references-strip .section-head,
.references-strip .section-head.compact {
  align-items: flex-start !important;
}
.references-strip .section-head > div,
.references-strip .section-head .section-title,
.references-strip .section-head .section-kicker {
  text-align: left !important;
}
.references-strip { background: linear-gradient(135deg, #05173f 0%, #082963 36%, #0b4eaf 100%) !important; }
.references-strip::before { background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.08), transparent 22%),
    radial-gradient(circle at 88% 76%, rgba(255,255,255,.06), transparent 20%),
    linear-gradient(135deg, rgba(4,13,35,.99) 0%, rgba(5,23,63,.985) 36%, rgba(11,78,175,.95) 100%) !important; }

/* Klientský portál */
.portal-section {
  background: linear-gradient(180deg, #f7fbff 0%, #eef4fb 100%) !important;
}
.portal-section::before {
  background:
    radial-gradient(circle at 15% 16%, rgba(14,165,233,.16), transparent 24%),
    radial-gradient(circle at 86% 22%, rgba(11,99,255,.14), transparent 22%),
    radial-gradient(circle at 76% 82%, rgba(59,130,246,.10), transparent 20%),
    linear-gradient(135deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,0) 34%, rgba(255,255,255,.32) 68%, rgba(255,255,255,0) 100%) !important;
}
.portal-section::after {
  opacity: .58 !important;
  background:
    linear-gradient(125deg, transparent 0 18%, rgba(255,255,255,.40) 18.2%, transparent 19% 100%),
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.34) 50%, rgba(255,255,255,0) 100%),
    repeating-linear-gradient(90deg, rgba(11,99,255,.03) 0 1px, transparent 1px 128px),
    repeating-linear-gradient(0deg, rgba(11,99,255,.026) 0 1px, transparent 1px 128px) !important;
}
.portal-preview,
.portal-content > .section-kicker,
.portal-content > .section-title,
.portal-content > .section-copy,
.portal-content > .homepage-notice,
.portal-content > .blue-list,
.portal-content > .portal-actions {
  opacity: 0;
  animation: itbFadeUp .72s cubic-bezier(.22,.61,.36,1) forwards;
}
.portal-preview { animation-name: itbFadeLeft; animation-delay: .12s; transition: transform .35s ease, box-shadow .35s ease; }
.portal-preview:hover { transform: translateY(-6px) scale(1.01); box-shadow: 0 24px 56px rgba(15,23,42,.14); }
.portal-content > .section-kicker { animation-delay: .18s; }
.portal-content > .section-title { animation-delay: .32s; }
.portal-content > .section-copy { animation-delay: .48s; }
.portal-content > .homepage-notice,
.portal-content > .blue-list { animation-delay: .62s; }
.portal-content > .portal-actions { animation-delay: .78s; }
.portal-preview .stat,
.portal-preview .ticket-table .row { transition: transform .26s ease, background-color .26s ease, box-shadow .26s ease; }
.portal-preview:hover .stat { transform: translateY(-4px); }
.portal-preview:hover .ticket-table .row:not(.head) { transform: translateX(3px); }

/* Tvorba & produkce */
.creative-grid > div:first-child .eyebrow,
.creative-grid > div:first-child h2,
.creative-grid > div:first-child p,
.creative-grid > div:first-child .creative-actions,
.creative-feature {
  opacity: 0;
  animation: itbFadeUp .76s cubic-bezier(.22,.61,.36,1) forwards;
}
.creative-grid > div:first-child .eyebrow { animation-delay: .16s; }
.creative-grid > div:first-child h2 { animation-delay: .30s; }
.creative-grid > div:first-child p { animation-delay: .46s; }
.creative-grid > div:first-child .creative-actions { animation-delay: .62s; }
.creative-feature:nth-child(1){ animation-delay: .36s; }
.creative-feature:nth-child(2){ animation-delay: .52s; }
.creative-feature:nth-child(3){ animation-delay: .68s; }
.creative-feature:nth-child(4){ animation-delay: .84s; }
.creative-feature { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.creative-feature:hover { transform: translateY(-4px); box-shadow: 0 18px 34px rgba(4,15,41,.16); }

/* FAQ – nový výraznější abstrakt */
.faq-section {
  position: relative !important;
  overflow: hidden !important;
}
.faq-section::before,
.faq-section::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}
.faq-section::before {
  background:
    radial-gradient(circle at 10% 16%, rgba(255,255,255,.16), transparent 18%),
    radial-gradient(circle at 88% 24%, rgba(96,165,250,.20), transparent 18%),
    radial-gradient(circle at 78% 76%, rgba(14,165,233,.18), transparent 20%),
    linear-gradient(120deg, rgba(5,30,83,.96) 0%, rgba(8,49,131,.95) 44%, rgba(6,94,190,.93) 100%) !important;
}
.faq-section::after {
  opacity: .68 !important;
  background:
    linear-gradient(125deg, transparent 0 19%, rgba(255,255,255,.18) 19.2%, transparent 20% 100%),
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.10) 50%, rgba(255,255,255,0) 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 110px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 110px) !important;
}

/* IT-BALON.CZ v praxi */
.launch-copy > .section-kicker,
.launch-copy > .section-title,
.launch-copy > .section-copy,
.launch-copy > .launch-actions,
.launch-checklist article {
  opacity: 0;
  animation: itbFadeUp .76s cubic-bezier(.22,.61,.36,1) forwards;
}
.launch-copy > .section-kicker { animation-delay: .14s; }
.launch-copy > .section-title { animation-delay: .28s; }
.launch-copy > .section-copy { animation-delay: .44s; }
.launch-copy > .launch-actions { animation-delay: .60s; }
.launch-checklist article:nth-child(1){ animation-delay: .34s; }
.launch-checklist article:nth-child(2){ animation-delay: .48s; }
.launch-checklist article:nth-child(3){ animation-delay: .62s; }
.launch-checklist article:nth-child(4){ animation-delay: .76s; }
.launch-checklist article { transition: transform .3s ease, box-shadow .3s ease; }
.launch-checklist article:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(15,23,42,.12); }

/* Kontakt – vlevo + efekty */
.contact-side--info .badge,
.contact-side--info .section-title,
.contact-side--info .section-copy,
.contact-side--info .contact-info-card,
.contact-side--info .contact-legal-note,
.contact-side--info .contact-map-link,
.contact-side--info .contact-map-preview,
.contact-side--form .form-field,
.contact-side--form .form-actions {
  opacity: 0;
  animation: itbFadeUp .72s cubic-bezier(.22,.61,.36,1) forwards;
}
.contact-side--info .badge { animation-delay: .12s; }
.contact-side--info .section-title { animation-delay: .24s; text-align: left !important; }
.contact-side--info .section-copy { animation-delay: .38s; text-align: left !important; }
.contact-side--info .contact-info-card:nth-child(1){ animation-delay: .50s; }
.contact-side--info .contact-info-card:nth-child(2){ animation-delay: .56s; }
.contact-side--info .contact-info-card:nth-child(3){ animation-delay: .62s; }
.contact-side--info .contact-info-card:nth-child(4){ animation-delay: .68s; }
.contact-side--info .contact-info-card:nth-child(5){ animation-delay: .74s; }
.contact-side--info .contact-legal-note { animation-delay: .82s; }
.contact-side--info .contact-map-link { animation-delay: .90s; }
.contact-side--info .contact-map-preview { animation-delay: .98s; }
.contact-side--form .form-field:nth-child(1){ animation-delay: .28s; }
.contact-side--form .form-field:nth-child(2){ animation-delay: .34s; }
.contact-side--form .form-field:nth-child(3){ animation-delay: .40s; }
.contact-side--form .form-field:nth-child(4){ animation-delay: .46s; }
.contact-side--form .form-field:nth-child(5){ animation-delay: .52s; }
.contact-side--form .form-field:nth-child(6){ animation-delay: .58s; }
.contact-side--form .form-field:nth-child(7){ animation-delay: .64s; }
.contact-side--form .form-actions { animation-delay: .74s; }
.contact-side--info .contact-info-card,
.contact-side--info .contact-map-preview,
.contact-side--form {
  transition: transform .28s ease, box-shadow .28s ease;
}
.contact-side--info .contact-info-card:hover,
.contact-side--info .contact-map-preview:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(15,23,42,.10); }
.contact-side--info .badge { align-self: flex-start !important; }
.contact-side--info .section-title,
.contact-side--info .section-copy,
.contact-side--info { text-align: left !important; }

/* Sluzby.php – jemné doplnění detailních sekcí */
.service-detail-section {
  position: relative !important;
  overflow: hidden !important;
}
.service-detail-section::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 10% 18%, rgba(11,99,255,.055), transparent 18%),
    radial-gradient(circle at 86% 78%, rgba(14,165,233,.05), transparent 20%) !important;
  opacity: .85 !important;
}
.service-detail-grid > * { position: relative !important; z-index: 1 !important; }
.service-detail-copy h2,
.service-detail-copy p,
.service-checklist,
.service-detail-copy .btn,
.service-visual {
  animation: itbFadeUp .72s cubic-bezier(.22,.61,.36,1) both;
}
.service-detail-copy h2 { animation-delay: .08s; }
.service-detail-copy p { animation-delay: .18s; }
.service-checklist { animation-delay: .28s; }
.service-detail-copy .btn { animation-delay: .38s; }
.service-visual { animation-delay: .22s; }

@media (max-width: 900px) {
  .services-section { padding-top: 34px !important; }
  .home-services-grid .service-card {
    min-height: auto !important;
    padding: 15px 14px 14px !important;
  }
  .home-services-grid .service-card h3,
  .home-services-grid .service-card p { min-height: 0 !important; }
  .references-strip .section-head,
  .references-strip .section-head.compact { align-items: stretch !important; }
}


/* ===== v279: mobile slider full-height bg + creative responsive polish + faq centering + stronger scrolltop ===== */
@media (max-width: 900px) {
  .itb214-slider {
    --itb214-h: 690px !important;
    position: relative !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, #fbfdff 0%, #eef4fb 100%) !important;
  }

  .itb214-slider::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background-image: var(--itb214-mobile-bg, none) !important;
    background-size: cover !important;
    background-position: var(--itb214-mobile-pos, center bottom) !important;
    background-repeat: no-repeat !important;
    opacity: .32 !important;
    transform: scale(1.02) !important;
  }

  .itb214-slider::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 210px !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background: linear-gradient(180deg, rgba(244,248,253,0) 0%, rgba(244,248,253,.18) 24%, rgba(244,248,253,.74) 76%, rgba(236,243,250,.98) 100%) !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: var(--itb214-h) !important;
  }

  .itb214-slide::after {
    height: 246px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.58) 52%, rgba(244,248,253,.92) 84%, rgba(236,243,250,.98) 100%) !important;
  }

  .itb214-inner {
    min-height: var(--itb214-h) !important;
    padding-top: 18px !important;
    padding-bottom: 196px !important;
    width: min(calc(100% - 28px), 720px) !important;
  }

  .itb214-content h1 {
    line-height: 1.18 !important;
    letter-spacing: -.035em !important;
    margin-bottom: 18px !important;
  }

  .itb214-content p {
    line-height: 1.72 !important;
    margin-bottom: 22px !important;
  }

  .itb214-buttons {
    gap: 12px !important;
    margin-top: 4px !important;
  }

  .itb214-btn {
    width: min(100%, 310px) !important;
    margin-inline: auto !important;
  }

  .itb214-controls {
    margin-top: 16px !important;
    padding-bottom: 0 !important;
  }

  .itb214-tabs {
    width: calc(100% - 8px) !important;
    margin: -122px auto 0 !important;
    position: relative !important;
    z-index: 8 !important;
  }

  .services-section {
    margin-top: -14px !important;
    padding-top: 24px !important;
    background: linear-gradient(180deg, #eaf1f8 0%, #f7fbff 100%) !important;
  }

  .services-section::before {
    top: 0 !important;
    height: 18px !important;
    transform: translateY(-96%) !important;
    background: linear-gradient(180deg, rgba(234,241,248,0) 0%, rgba(234,241,248,.94) 100%) !important;
  }

  /* Tvorba & produkce */
  .creative-section {
    padding-top: 10px !important;
    padding-bottom: 18px !important;
  }

  .creative-band {
    width: calc(100% - 8px) !important;
    border-radius: 24px !important;
  }

  .creative-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 18px 12px 16px !important;
  }

  .creative-grid > div:first-child {
    padding-inline: 4px !important;
  }

  .creative-section .eyebrow {
    margin: 0 auto 12px !important;
  }

  .creative-grid > div:first-child h2 {
    font-size: clamp(20px, 8vw, 34px) !important;
    line-height: 1.12 !important;
    margin: 0 auto 14px !important;
    max-width: 330px !important;
  }

  .creative-grid > div:first-child p {
    max-width: 330px !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  .creative-actions {
    gap: 12px !important;
    margin-top: 18px !important;
  }

  .creative-actions .btn {
    width: min(100%, 320px) !important;
    min-height: 54px !important;
    padding-inline: 18px !important;
  }

  .creative-features {
    gap: 12px !important;
  }

  .creative-feature {
    padding: 18px 14px !important;
    border-radius: 20px !important;
  }

  .creative-feature strong {
    font-size: 15px !important;
    line-height: 1.34 !important;
  }

  .creative-feature small {
    font-size: 14px !important;
    line-height: 1.58 !important;
  }

  /* FAQ mobile */
  .faq-stage__questions,
  .faq-stage__questions .faq-card,
  .faq-stage__questions .faq-card summary,
  .faq-stage__questions .faq-card p {
    text-align: center !important;
  }

  .faq-stage__questions .faq-card summary {
    justify-content: center !important;
    padding-right: 22px !important;
  }

  .faq-stage__questions .faq-card summary::after {
    right: 14px !important;
  }

  /* Scroll top – výrazněji a dříve */
  .itb-scrolltop {
    right: 14px !important;
    bottom: 14px !important;
    width: 50px !important;
    height: 50px !important;
    z-index: 10001 !important;
    box-shadow: 0 18px 34px rgba(11,99,255,.34) !important;
  }
}

@media (max-width: 520px) {
  .itb214-slider {
    --itb214-h: 730px !important;
  }

  .itb214-viewport,
  .itb214-slide {
    min-height: 730px !important;
  }

  .itb214-slide::before {
    background: linear-gradient(180deg, rgba(255,255,255,.93) 0%, rgba(255,255,255,.78) 34%, rgba(255,255,255,.56) 58%, rgba(255,255,255,.18) 100%) !important;
  }

  .itb214-inner {
    padding-top: 14px !important;
    padding-bottom: 228px !important;
  }

  .itb214-content h1 {
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
  }

  .itb214-content p {
    font-size: 16px !important;
    line-height: 1.76 !important;
    margin-bottom: 20px !important;
  }

  .itb214-btn {
    width: min(100%, 286px) !important;
  }

  .itb214-controls {
    margin-top: 18px !important;
  }

  .itb214-tabs {
    margin: -142px auto 0 !important;
  }

  .services-section {
    margin-top: -18px !important;
    padding-top: 22px !important;
  }

  .creative-band {
    width: calc(100% - 6px) !important;
  }

  .creative-grid {
    padding: 18px 10px 14px !important;
  }
}

/* ===== v280 – desktop polish, portal/practice stagger, FAQ unified bg, services/support/reference upgrades ===== */

@media (min-width: 901px) {
  .services-section {
    margin-top: 0 !important;
    padding-top: 98px !important;
    padding-bottom: 56px !important;
    background: linear-gradient(180deg, #f5f8fd 0%, #eff4fb 52%, #f8fbff 100%) !important;
  }

  .services-section::before {
    opacity: .82 !important;
  }

  .services-section::after {
    top: -26px !important;
    height: 34px !important;
    background: linear-gradient(180deg, rgba(245,248,253,0) 0%, rgba(245,248,253,.86) 60%, #f5f8fd 100%) !important;
  }

  .home-services-grid .service-card {
    padding: 18px 18px 16px !important;
    min-height: 0 !important;
    border-radius: 24px !important;
  }

  .home-services-grid .service-card h3 {
    margin-bottom: 10px !important;
    font-size: 1.6rem !important;
    line-height: 1.16 !important;
  }

  .home-services-grid .service-card p {
    margin-bottom: 10px !important;
    line-height: 1.55 !important;
  }
}

.itb-hover-lift {
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease, background .32s ease;
}

.itb-hover-lift:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 64px rgba(9, 25, 58, .18) !important;
  border-color: rgba(11, 99, 255, .24) !important;
}

.portal-preview.itb-hover-lift:hover .stat,
.portal-preview.itb-hover-lift:hover .row,
.portal-preview.itb-hover-lift:hover .portal-top {
  background-color: rgba(255,255,255,.9);
}

.itb-stagger-item,
.itb-stagger-list li,
.itb-stagger-grid .itb-stagger-item {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  filter: blur(6px);
  transition: opacity .72s cubic-bezier(.22,.61,.36,1), transform .82s cubic-bezier(.16,1,.3,1), filter .62s ease;
}

.itb-stagger-group.is-visible > .itb-stagger-item,
.itb-stagger-group.is-visible .itb-stagger-list li,
.itb-stagger-grid.is-visible .itb-stagger-item,
.itb-stagger-list.is-visible li {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

.itb-stagger-group.is-visible > .itb-stagger-item:nth-child(1),
.itb-stagger-list.is-visible li:nth-child(1),
.itb-stagger-grid.is-visible .itb-stagger-item:nth-child(1) { transition-delay: .04s; }
.itb-stagger-group.is-visible > .itb-stagger-item:nth-child(2),
.itb-stagger-list.is-visible li:nth-child(2),
.itb-stagger-grid.is-visible .itb-stagger-item:nth-child(2) { transition-delay: .16s; }
.itb-stagger-group.is-visible > .itb-stagger-item:nth-child(3),
.itb-stagger-list.is-visible li:nth-child(3),
.itb-stagger-grid.is-visible .itb-stagger-item:nth-child(3) { transition-delay: .28s; }
.itb-stagger-group.is-visible > .itb-stagger-item:nth-child(4),
.itb-stagger-list.is-visible li:nth-child(4),
.itb-stagger-grid.is-visible .itb-stagger-item:nth-child(4) { transition-delay: .40s; }
.itb-stagger-group.is-visible > .itb-stagger-item:nth-child(5),
.itb-stagger-list.is-visible li:nth-child(5),
.itb-stagger-grid.is-visible .itb-stagger-item:nth-child(5) { transition-delay: .52s; }
.itb-stagger-list.is-visible li:nth-child(6) { transition-delay: .64s; }

.faq-section--single {
  background: linear-gradient(180deg, #f4f8ff 0%, #ecf4ff 100%) !important;
}

.faq-section--single::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 14% 20%, rgba(11,99,255,.15), transparent 28%),
    radial-gradient(circle at 85% 12%, rgba(56,189,248,.14), transparent 22%),
    radial-gradient(circle at 72% 78%, rgba(15,118,110,.12), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 40%, rgba(11,99,255,.06) 100%) !important;
  opacity: 1 !important;
}

.faq-section--single .faq-stage {
  background: linear-gradient(135deg, rgba(9,33,78,.92) 0%, rgba(11,61,154,.88) 46%, rgba(16,87,214,.84) 100%) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 30px 70px rgba(9, 24, 58, .18) !important;
}

.faq-section--single .faq-card {
  background: rgba(255,255,255,.9) !important;
}

.launch-section .launch-grid {
  box-shadow: 0 26px 60px rgba(9, 23, 55, .18) !important;
}

/* Services page polish */
.services-hero-v270 .page-hero-grid { align-items: stretch; }
.service-hero-panel {
  background: linear-gradient(145deg, rgba(10,26,58,.94), rgba(10,56,132,.90)) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  box-shadow: 0 22px 56px rgba(10, 26, 58, .18) !important;
}

.service-detail-section {
  padding: 68px 0 !important;
}

.service-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: 34px;
  align-items: center;
}

.service-detail-copy {
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.74));
  border: 1px solid rgba(11,99,255,.12);
  border-radius: 30px;
  padding: 30px;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
}

.service-visual {
  min-height: 260px;
  border-radius: 30px !important;
  box-shadow: 0 20px 48px rgba(10, 22, 42, .14) !important;
}

@media (max-width: 900px) {
  .service-anchor-nav {
    overflow-x: auto;
    gap: 10px !important;
    padding: 10px !important;
    white-space: nowrap;
    justify-content: flex-start !important;
  }

  .service-anchor-nav a {
    flex: 0 0 auto;
    padding: 10px 14px !important;
    border-radius: 999px !important;
  }

  .services-hero-v270 {
    padding-top: 24px !important;
  }

  .services-hero-v270 .page-hero-grid,
  .service-detail-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .service-detail-section {
    padding: 28px 0 !important;
  }

  .service-detail-copy {
    padding: 22px 18px !important;
    border-radius: 24px !important;
  }

  .service-detail-copy h2 {
    font-size: 1.9rem !important;
    line-height: 1.18 !important;
  }

  .service-detail-copy p,
  .service-checklist li {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  .service-visual {
    min-height: 180px !important;
    padding: 24px 20px !important;
  }

  .service-hero-panel {
    border-radius: 26px !important;
    padding: 22px 18px !important;
  }
}

/* Support page */
.support-hero {
  overflow: hidden;
}
.support-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 12%, rgba(11,99,255,.12), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(56,189,248,.12), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,0));
  pointer-events: none;
}
.support-hero-grid {
  align-items: stretch;
}
.support-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 26px;
}
.support-stats > div,
.support-card,
.support-model-card,
.support-process-window,
.support-network-card,
.support-panel {
  border-radius: 28px;
  border: 1px solid rgba(11,99,255,.12);
  box-shadow: 0 18px 42px rgba(15,23,42,.08);
}
.support-stats > div {
  background: rgba(255,255,255,.82);
  padding: 18px;
}
.support-stats strong { display:block; color:#102449; font-size:1rem; margin-bottom:6px; }
.support-stats span { display:block; color:#64748b; line-height:1.55; }
.support-panel {
  background: linear-gradient(155deg, #09204d 0%, #0c4fb9 100%);
  color: #fff;
  padding: 24px;
}
.support-panel__top { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:18px; }
.support-panel__top span { color: rgba(255,255,255,.72); font-size:.88rem; }
.support-panel__stats {
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
  margin-bottom: 18px;
}
.support-panel__stats div,
.support-panel__rows > div {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
}
.support-panel__stats div { padding: 14px 12px; text-align:center; }
.support-panel__stats b { display:block; font-size:1.35rem; color:#fff; }
.support-panel__stats small { color: rgba(255,255,255,.78); }
.support-panel__rows { display:grid; gap:10px; }
.support-panel__rows > div {
  padding: 12px 14px;
  display:grid;
  grid-template-columns: 76px 1fr auto;
  gap: 12px;
  align-items:center;
  color:#fff;
}
.support-highlights {
  background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
}
.support-highlight-grid,
.support-model-grid {
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}
.support-card,
.support-model-card {
  background: rgba(255,255,255,.86);
  padding: 24px 22px;
}
.support-card span {
  display:inline-flex; width:42px; height:42px; align-items:center; justify-content:center;
  border-radius:14px; background: rgba(11,99,255,.08); color:#0b63ff; font-weight:800; margin-bottom:14px;
}
.support-card h3,
.support-model-card h3 { margin:0 0 12px; font-size:1.15rem; line-height:1.25; }
.support-card p,
.support-model-card p { margin:0; color:#64748b; line-height:1.7; }
.support-process-grid,
.support-remote-grid {
  display:grid;
  grid-template-columns: minmax(0,1.02fr) minmax(320px,.98fr);
  gap: 28px;
  align-items: center;
}
.support-steps {
  display:grid;
  gap: 14px;
  padding: 0;
  margin: 24px 0 0;
  list-style:none;
}
.support-steps li {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(11,99,255,.10);
  border-radius: 22px;
  padding: 16px 18px;
  display:grid;
  gap: 6px;
}
.support-steps strong { color:#102449; font-size:1rem; }
.support-steps span { color:#64748b; line-height:1.62; }
.support-process-panel {
  background: linear-gradient(180deg, rgba(9,33,78,.06), rgba(11,99,255,.08));
  border-radius: 32px;
  padding: 16px;
}
.support-process-window { background:#fff; padding: 14px; }
.support-process-window__bar { display:flex; gap:7px; margin-bottom:14px; }
.support-process-window__bar span { width:10px; height:10px; border-radius:999px; background:#d9e4f6; }
.support-process-window__body { display:grid; gap:12px; }
.support-process-window__body > div {
  border-radius: 18px; padding: 14px 16px; background: linear-gradient(180deg, #f8fbff, #eef4fb); border: 1px solid rgba(11,99,255,.08);
}
.support-process-window__body b { display:block; margin-bottom:6px; color:#102449; }
.support-process-window__body small { color:#64748b; }
.support-remote { background: linear-gradient(180deg, #fff 0%, #f7fbff 100%); }
.support-bullets { display:grid; gap: 12px; margin-top: 20px; }
.support-bullets > div,
.support-network-card {
  background: rgba(255,255,255,.86);
  padding: 22px;
}
.support-bullets strong,
.support-network-card h3 { color:#102449; }
.support-bullets p,
.support-network-card p { margin:8px 0 0; color:#64748b; line-height:1.68; }

@media (max-width: 900px) {
  .support-stats,
  .support-highlight-grid,
  .support-model-grid,
  .support-process-grid,
  .support-remote-grid,
  .support-panel__stats {
    grid-template-columns: 1fr !important;
  }

  .support-panel__rows > div {
    grid-template-columns: 1fr !important;
  }

  .support-panel,
  .support-card,
  .support-model-card,
  .support-bullets > div,
  .support-network-card,
  .support-process-window,
  .support-stats > div {
    border-radius: 22px !important;
  }

  .support-copy h1 {
    font-size: 2.35rem !important;
    line-height: 1.06 !important;
  }
}

/* Reference page polish */
.reference-tabs {
  flex-wrap: wrap;
  gap: 10px;
}
.reference-tabs a {
  border-radius: 999px !important;
  padding: 12px 18px !important;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(11,99,255,.10);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}
.case-grid-v21 { gap: 20px !important; }
.case-card,
.result-card,
.reference-domain-panel,
.reference-client-card,
.reference-creative-card,
.reference-quote-card {
  border-radius: 28px !important;
  box-shadow: 0 18px 42px rgba(15,23,42,.08) !important;
}
.case-card {
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,251,255,.96)) !important;
  border: 1px solid rgba(11,99,255,.10) !important;
}
.case-card.featured {
  background: linear-gradient(145deg, #0b224c 0%, #0b63ff 100%) !important;
  color:#fff !important;
}
.case-card.featured p,
.case-card.featured .case-label { color: rgba(255,255,255,.88) !important; }
.reference-quote-section,
.reference-results {
  background: linear-gradient(180deg, #f7fbff 0%, #eef5ff 100%);
}

@media (max-width: 900px) {
  .reference-tabs { justify-content: flex-start !important; overflow-x: auto; white-space: nowrap; flex-wrap: nowrap; padding-bottom: 6px; }
  .reference-tabs a { flex: 0 0 auto; }
}


/* ===== v281: O nás + Kontakt pages + pro page animations ===== */
.about-hero-v281,
.contact-hero-v281 {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,255,.12), transparent 26%),
    radial-gradient(circle at 88% 16%, rgba(56,189,248,.14), transparent 22%),
    linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
}

.about-hero-v281::before,
.contact-hero-v281::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(125deg, transparent 0 22%, rgba(255,255,255,.42) 22.2%, transparent 23% 100%),
    repeating-linear-gradient(90deg, rgba(11,99,255,.028) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(0deg, rgba(11,99,255,.022) 0 1px, transparent 1px 120px);
}

.about-hero-grid,
.contact-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.04fr) minmax(320px,.86fr);
  gap: 34px;
  align-items: stretch;
}

.about-hero-copy h1,
.contact-hero-copy h1 {
  margin: 0 0 18px;
  font-size: clamp(46px, 5.4vw, 82px);
  line-height: .98;
  letter-spacing: -.07em;
  color: #071126;
}

.about-hero-copy p,
.contact-hero-copy p {
  max-width: 760px;
  font-size: 18px;
  line-height: 1.72;
  color: #52637b;
}

.about-hero-panel,
.contact-hero-panel {
  min-height: 420px;
  border-radius: 34px;
  padding: 30px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    radial-gradient(circle at 16% 14%, rgba(255,255,255,.16), transparent 22%),
    radial-gradient(circle at 84% 76%, rgba(56,189,248,.24), transparent 26%),
    linear-gradient(145deg, #071637 0%, #0b3d92 48%, #0b63ff 100%);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 28px 70px rgba(11,99,255,.18);
  overflow: hidden;
}

.about-orbit {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin-bottom: auto;
}

.about-orbit span {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 24px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.16);
  font-weight: 900;
  letter-spacing: .08em;
  animation: itbPortalFloat 6s ease-in-out infinite;
}

.about-orbit span:nth-child(2) { animation-delay: .4s; }
.about-orbit span:nth-child(3) { animation-delay: .8s; }
.about-orbit span:nth-child(4) { animation-delay: 1.2s; }

.about-hero-panel strong,
.contact-hero-panel strong {
  font-size: clamp(28px, 2.7vw, 44px);
  line-height: 1.04;
  letter-spacing: -.05em;
}

.about-hero-panel p,
.contact-hero-panel span,
.contact-hero-panel small {
  margin-top: 12px;
  color: rgba(255,255,255,.78);
  line-height: 1.58;
}

.about-number-grid,
.about-value-grid,
.contact-method-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
}

.about-number-grid article,
.about-value-grid article,
.contact-method-grid article,
.contact-page-cards article {
  border-radius: 26px;
  padding: 22px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(11,99,255,.10);
  box-shadow: 0 18px 42px rgba(15,23,42,.07);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.about-number-grid article:hover,
.about-value-grid article:hover,
.contact-method-grid article:hover,
.contact-page-cards article:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 56px rgba(15,23,42,.11);
  border-color: rgba(11,99,255,.24);
}

.about-number-grid strong,
.about-value-grid b,
.contact-method-grid h3 {
  display: block;
  color: #071126;
  font-size: 20px;
  line-height: 1.2;
  margin-bottom: 10px;
}

.about-number-grid span,
.about-value-grid p,
.contact-method-grid p,
.contact-page-cards strong {
  color: #5d6f88;
  line-height: 1.62;
}

.about-story,
.contact-methods {
  background:
    radial-gradient(circle at 10% 20%, rgba(11,99,255,.08), transparent 24%),
    linear-gradient(180deg,#fff 0%,#f6faff 100%);
}

.about-split,
.about-stack-grid,
.contact-page-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(320px,.92fr);
  gap: 32px;
  align-items: start;
}

.about-timeline,
.support-steps {
  display: grid;
  gap: 14px;
}

.about-timeline article {
  position: relative;
  padding: 20px 20px 20px 82px;
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(11,99,255,.10);
  box-shadow: 0 16px 38px rgba(15,23,42,.06);
}

.about-timeline span {
  position: absolute;
  left: 20px;
  top: 20px;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  background: #0b63ff;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}

.about-timeline strong {
  display: block;
  color: #071126;
  margin-bottom: 6px;
}

.about-timeline small {
  color: #5d6f88;
  line-height: 1.58;
}

.about-stack {
  background: linear-gradient(135deg,#061637 0%,#0b4bb3 100%);
  color: #fff;
}

.about-stack .section-title,
.about-stack .section-copy,
.about-stack .section-kicker {
  color: #fff;
}

.about-stack-card {
  padding: 30px;
  border-radius: 30px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
}

.about-stack-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-content: center;
}

.about-stack-tags span {
  padding: 12px 15px;
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.18);
  font-weight: 800;
}

.contact-hero-panel {
  min-height: 360px;
  gap: 10px;
}

.contact-page-main {
  background: linear-gradient(180deg,#f7fbff 0%,#eef5ff 100%);
}

.contact-page-form-card,
.contact-page-info {
  border-radius: 32px;
  padding: 24px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(11,99,255,.10);
  box-shadow: 0 24px 60px rgba(15,23,42,.08);
}

.contact-page-cards {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin: 24px 0 14px;
}

.contact-page-cards small {
  display: block;
  color: #6b7c92;
  margin-bottom: 4px;
}

.contact-page-map {
  position: relative;
  overflow: hidden;
  min-height: 260px;
  border-radius: 26px;
  border: 1px solid rgba(11,99,255,.14);
  margin-top: 18px;
}

.contact-page-map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(1) contrast(1.08);
}

.contact-page-map .btn {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  z-index: 2;
}

.contact-page-form .form-grid {
  gap: 12px;
}

.contact-method-grid article span {
  display: inline-flex;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  background: #eef6ff;
  color: #0b63ff;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  margin-bottom: 14px;
}

@media (max-width: 1100px) {
  .about-hero-grid,
  .contact-hero-grid,
  .about-split,
  .about-stack-grid,
  .contact-page-grid {
    grid-template-columns: 1fr;
  }

  .about-number-grid,
  .about-value-grid,
  .contact-method-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 680px) {
  .about-hero-copy h1,
  .contact-hero-copy h1 {
    font-size: 40px;
    line-height: 1.05;
  }

  .about-hero-panel,
  .contact-hero-panel {
    min-height: 300px;
    border-radius: 26px;
    padding: 22px;
  }

  .about-number-grid,
  .about-value-grid,
  .contact-method-grid,
  .contact-page-cards {
    grid-template-columns: 1fr;
  }

  .about-timeline article {
    padding-left: 20px;
    padding-top: 74px;
  }

  .about-timeline span {
    top: 18px;
  }

  .contact-page-form-card,
  .contact-page-info {
    padding: 16px;
    border-radius: 24px;
  }
}

/* v281 support email and ticket helper preview */
.itb-mail-preview-note {
  border-radius: 20px;
  padding: 18px;
  background: #f6faff;
  border: 1px solid rgba(11,99,255,.14);
}


/* ===== v281: O nás + Kontakt + email/support patch visuals ===== */

/* společné premium animace */
.about-hero-v281,
.contact-hero-v281 {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 14%, rgba(11,99,255,.12), transparent 24%),
    radial-gradient(circle at 86% 18%, rgba(56,189,248,.12), transparent 22%),
    linear-gradient(180deg, #ffffff 0%, #f2f7ff 100%);
}

.about-hero-v281::before,
.contact-hero-v281::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .78;
  background:
    linear-gradient(128deg, transparent 0 21%, rgba(255,255,255,.45) 21.2%, transparent 22% 100%),
    repeating-linear-gradient(90deg, rgba(11,99,255,.028) 0 1px, transparent 1px 118px),
    repeating-linear-gradient(0deg, rgba(11,99,255,.026) 0 1px, transparent 1px 118px);
}

.about-hero-grid,
.contact-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
  gap: 36px;
  align-items: stretch;
}

.about-hero-copy h1,
.contact-hero-copy h1 {
  font-size: clamp(42px, 4.6vw, 74px);
  line-height: .98;
  letter-spacing: -.06em;
  margin: 0 0 22px;
  color: #071126;
}

.about-hero-copy p,
.contact-hero-copy p {
  max-width: 760px;
  color: #52637b;
  line-height: 1.75;
  font-size: 18px;
}

.about-hero-card,
.contact-hero-panel {
  border-radius: 34px;
  padding: 34px;
  color: #fff;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.22), transparent 24%),
    radial-gradient(circle at 82% 82%, rgba(56,189,248,.22), transparent 26%),
    linear-gradient(145deg, #061637 0%, #0b4bb3 58%, #0b63ff 100%);
  box-shadow: 0 26px 72px rgba(11,99,255,.20);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 380px;
  overflow: hidden;
  position: relative;
}

.about-hero-card::after,
.contact-hero-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(125deg, transparent 0 28%, rgba(255,255,255,.12) 28.2%, transparent 29% 100%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.075) 0 1px, transparent 1px 52px);
  pointer-events: none;
}

.about-hero-card > *,
.contact-hero-panel > * {
  position: relative;
  z-index: 1;
}

.about-hero-card strong,
.contact-hero-panel strong {
  display: block;
  font-size: clamp(28px, 2.5vw, 44px);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.about-hero-card p,
.contact-hero-panel p {
  color: rgba(255,255,255,.78);
  line-height: 1.65;
  margin: 14px 0 0;
}

.about-orbit {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  margin-bottom: 36px;
}

.about-orbit span {
  min-height: 86px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.11);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  letter-spacing: .08em;
  backdrop-filter: blur(8px);
}

.about-intro-grid,
.about-service-grid,
.contact-route-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

.about-service-grid {
  grid-template-columns: repeat(4, minmax(0,1fr));
}

.about-intro-card,
.about-service-card,
.contact-route-grid article {
  padding: 26px;
  border-radius: 28px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(11,99,255,.10);
  box-shadow: 0 18px 42px rgba(15,23,42,.07);
  text-decoration: none;
  color: inherit;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.about-intro-card:hover,
.about-service-card:hover,
.contact-route-grid article:hover {
  transform: translateY(-6px);
  border-color: rgba(11,99,255,.26);
  box-shadow: 0 26px 60px rgba(15,23,42,.11);
}

.about-intro-card span,
.about-service-card span,
.contact-route-grid article span {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: #eef5ff;
  color: #0b63ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  margin-bottom: 16px;
}

.about-intro-card h2,
.about-service-card h3,
.contact-route-grid article h3 {
  margin: 0 0 10px;
  color: #071126;
  font-size: clamp(21px, 1.7vw, 28px);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.about-intro-card p,
.about-service-card p,
.contact-route-grid article p {
  color: #5c6d85;
  line-height: 1.7;
  margin: 0;
}

.about-story-v281,
.contact-page-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 15%, rgba(11,99,255,.08), transparent 24%),
    radial-gradient(circle at 90% 20%, rgba(56,189,248,.09), transparent 22%),
    linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
}

.about-story-grid,
.about-process-grid,
.contact-page-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 34px;
  align-items: center;
}

.about-story-visual {
  min-height: 430px;
  border-radius: 34px;
  padding: 28px;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.20), transparent 24%),
    linear-gradient(145deg, #061637 0%, #0a367f 100%);
  box-shadow: 0 26px 72px rgba(9, 24, 58, .16);
}

.about-story-window {
  height: 100%;
  min-height: 360px;
  border-radius: 26px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  padding: 22px;
  color: #fff;
  backdrop-filter: blur(12px);
}

.window-bar {
  display: flex;
  gap: 8px;
  margin-bottom: 28px;
}

.window-bar i {
  width: 11px;
  height: 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.62);
}

.window-lines {
  display: grid;
  gap: 12px;
}

.window-lines span {
  height: 20px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
}

.window-lines span:nth-child(1) { width: 82%; }
.window-lines span:nth-child(2) { width: 66%; }
.window-lines span:nth-child(3) { width: 74%; }
.window-lines span:nth-child(4) { width: 48%; }

.window-status {
  margin-top: 58px;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}

.window-status > * {
  min-height: 72px;
  border-radius: 18px;
  background: rgba(255,255,255,.14);
  display: flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-weight: 900;
}

.about-principles,
.about-timeline {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.about-principles div,
.about-timeline div {
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(11,99,255,.10);
  box-shadow: 0 14px 32px rgba(15,23,42,.055);
}

.about-principles strong,
.about-timeline strong {
  display: block;
  color: #071126;
  margin-bottom: 6px;
}

.about-principles span,
.about-timeline span {
  color: #5c6d85;
  line-height: 1.65;
}

.about-timeline div {
  display: grid;
  grid-template-columns: 52px 1fr;
  column-gap: 14px;
}

.about-timeline b {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0b63ff;
  color: #fff;
}

.about-cta-v281 {
  background: #f8fbff;
}

.about-final-cta {
  overflow: hidden;
  position: relative;
}

.about-final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,255,.09), transparent 22%),
    radial-gradient(circle at 88% 72%, rgba(56,189,248,.10), transparent 20%);
  pointer-events: none;
}

/* Kontakt */
.contact-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 26px;
}

.contact-quick-grid a {
  min-height: 86px;
  padding: 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(11,99,255,.10);
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(15,23,42,.06);
}

.contact-quick-grid small,
.contact-page-cards small {
  display: block;
  color: #61718a;
  margin-bottom: 6px;
  font-weight: 800;
}

.contact-quick-grid strong,
.contact-page-cards strong {
  color: #071126;
}

.contact-page-grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
}

.contact-page-info,
.contact-page-form {
  border-radius: 34px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(11,99,255,.10);
  box-shadow: 0 22px 58px rgba(15,23,42,.075);
  padding: 28px;
}

.contact-page-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  margin-top: 22px;
}

.contact-page-cards div {
  min-height: 86px;
  padding: 16px;
  border-radius: 20px;
  background: #f7fbff;
  border: 1px solid rgba(11,99,255,.08);
}

.contact-map-preview--large {
  min-height: 260px !important;
}

.contact-pro-form .contact-form-head {
  margin-bottom: 18px;
}

.contact-form-head h2 {
  margin: 8px 0 8px;
  color: #071126;
  font-size: clamp(28px, 2.4vw, 42px);
  line-height: 1.06;
  letter-spacing: -.045em;
}

.contact-form-head p {
  color: #5c6d85;
  margin: 0;
  line-height: 1.65;
}

.contact-route-v281 {
  background: #f8fbff;
}

/* Support/mail patch docs are non-visual; this section styles newly created pages only */

/* responzivita */
@media (max-width: 1100px) {
  .about-hero-grid,
  .contact-hero-grid,
  .about-story-grid,
  .about-process-grid,
  .contact-page-grid {
    grid-template-columns: 1fr;
  }

  .about-service-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .contact-quick-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .about-hero-v281,
  .contact-hero-v281 {
    padding-top: 28px !important;
  }

  .about-hero-copy h1,
  .contact-hero-copy h1 {
    font-size: clamp(36px, 11vw, 48px);
    line-height: 1.04;
  }

  .about-hero-copy p,
  .contact-hero-copy p {
    font-size: 16px;
    line-height: 1.7;
  }

  .about-hero-card,
  .contact-hero-panel,
  .about-story-visual,
  .contact-page-info,
  .contact-page-form {
    border-radius: 26px;
    padding: 20px;
    min-height: auto;
  }

  .about-intro-grid,
  .about-service-grid,
  .contact-route-grid,
  .contact-page-cards {
    grid-template-columns: 1fr;
  }

  .about-intro-card,
  .about-service-card,
  .contact-route-grid article {
    padding: 20px;
    border-radius: 22px;
  }

  .about-story-window {
    min-height: 260px;
  }

  .window-status {
    grid-template-columns: 1fr;
    margin-top: 32px;
  }

  .about-timeline div {
    grid-template-columns: 1fr;
  }

  .about-timeline b {
    grid-row: auto;
    margin-bottom: 10px;
  }

  .contact-map-preview--large {
    min-height: 210px !important;
  }

  .contact-pro-form .form-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ===== v282: FAQ redesign + smaller service card headings ===== */
.faq-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,99,255,.12), transparent 22%),
    radial-gradient(circle at 82% 24%, rgba(92,224,255,.12), transparent 22%),
    radial-gradient(circle at 72% 78%, rgba(11,99,255,.08), transparent 18%),
    linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%) !important;
}
.faq-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(125deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,0) 38%),
    repeating-linear-gradient(90deg, rgba(11,99,255,.03) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(0deg, rgba(11,99,255,.025) 0 1px, transparent 1px 120px);
  opacity: 1;
}
.faq-stage {
  position: relative;
  z-index: 1;
  gap: 26px !important;
  align-items: start;
}
.faq-stage__intro {
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(245,250,255,.9)) !important;
  border: 1px solid rgba(11,99,255,.10);
  box-shadow: 0 26px 56px rgba(15,23,42,.10);
}
.faq-stage__intro .section-kicker,
.faq-stage__intro .section-title,
.faq-stage__intro .section-copy {
  color: #071126 !important;
}
.faq-stage__badges span {
  color: #0b3f96 !important;
  background: rgba(11,99,255,.08) !important;
  border: 1px solid rgba(11,99,255,.16) !important;
}
.faq-stage__questions {
  background: transparent !important;
}
.faq-card {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(11,99,255,.12) !important;
  box-shadow: 0 16px 36px rgba(15,23,42,.08);
}
.faq-card summary {
  color: #0a1830 !important;
}
.faq-card p {
  color: #51627a !important;
}
.faq-card summary::after {
  background: rgba(11,99,255,.07) !important;
  color: #0b63ff !important;
}
/* Co nabizime – smaller headings and more even cards */
.home-services-grid .service-card {
  min-height: 350px;
}
.home-services-grid .service-card h3 {
  font-size: 1.60rem !important;
  line-height: 1.18 !important;
  letter-spacing: -0.028em;
  min-height: 3.6em;
}
.home-services-grid .service-card p {
  min-height: 4.8em;
}
@media (max-width: 1200px) {
  .home-services-grid .service-card h3 {
    font-size: 1.44rem !important;
  }
}
@media (max-width: 760px) {
  .faq-stage__intro {
    padding: 22px 18px !important;
  }
  .home-services-grid .service-card {
    min-height: auto;
  }
  .home-services-grid .service-card h3 {
    font-size: 1.18rem !important;
    min-height: 0;
  }
  .home-services-grid .service-card p {
    min-height: 0;
  }
}


/* ===== v283: mobile slider background stretched to full section ===== */
@media (max-width: 900px) {
  .itb214-slider {
    --itb214-h: 720px !important;
    background-image: var(--itb214-mobile-bg, none) !important;
    background-size: cover !important;
    background-position: var(--itb214-mobile-pos, center bottom) !important;
    background-repeat: no-repeat !important;
  }

  .itb214-slider::before {
    inset: 0 !important;
    background-image: linear-gradient(180deg, rgba(255,255,255,.66) 0%, rgba(255,255,255,.46) 26%, rgba(255,255,255,.28) 52%, rgba(243,248,253,.34) 76%, rgba(239,245,251,.62) 100%), var(--itb214-mobile-bg, none) !important;
    background-size: cover, cover !important;
    background-position: center center, var(--itb214-mobile-pos, center bottom) !important;
    background-repeat: no-repeat, no-repeat !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .itb214-slider::after {
    height: 260px !important;
    background: linear-gradient(180deg, rgba(244,248,253,0) 0%, rgba(244,248,253,.10) 18%, rgba(244,248,253,.32) 42%, rgba(239,245,251,.68) 74%, rgba(236,243,250,.96) 100%) !important;
  }

  .itb214-viewport,
  .itb214-slide,
  .itb214-inner {
    min-height: var(--itb214-h) !important;
  }

  .itb214-inner {
    padding-bottom: 186px !important;
  }

  .itb214-tabs {
    margin: -136px auto 0 !important;
    position: relative !important;
    z-index: 8 !important;
  }
}
