/* Inter — self-hosted variable font, latin + latin-ext. */
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter/inter-v20-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter/inter-v20-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* PLUGINS */
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
body.compensate-for-scrollbar {
  overflow: hidden;
}
.fancybox-active {
  height: auto;
}
.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden;
}
.fancybox-container {
  -webkit-backface-visibility: hidden;
  height: 100%;
  left: 0;
  outline: none;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  transform: translateZ(0);
  width: 100%;
  z-index: 99992;
}
.fancybox-container * {
  box-sizing: border-box;
}
.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}
.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}
.fancybox-is-open .fancybox-bg {
  opacity: 0.9;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}
.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity 0.25s ease, visibility 0s ease 0.25s;
  visibility: hidden;
  z-index: 99997;
}
.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  opacity: 1;
  transition: opacity 0.25s ease 0s, visibility 0s ease 0s;
  visibility: visible;
}
.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.fancybox-toolbar {
  right: 0;
  top: 0;
}
.fancybox-stage {
  direction: ltr;
  overflow: visible;
  transform: translateZ(0);
  z-index: 99994;
}
.fancybox-is-open .fancybox-stage {
  overflow: hidden;
}
.fancybox-slide {
  -webkit-backface-visibility: hidden;
  /* Using without prefix would break IE11 */
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: transform, opacity;
  white-space: normal;
  width: 100%;
  z-index: 99994;
}
.fancybox-slide::before {
  content: '';
  display: inline-block;
  font-size: 0;
  height: 100%;
  vertical-align: middle;
  width: 0;
}
.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block;
}
.fancybox-slide--image {
  overflow: hidden;
  padding: 44px 0;
}
.fancybox-slide--image::before {
  display: none;
}
.fancybox-slide--html {
  padding: 6px;
}
.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}
.fancybox-slide--image .fancybox-content {
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  -ms-transform-origin: top left;
  transform-origin: top left;
  transition-property: transform, opacity;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995;
}
.fancybox-can-zoomOut .fancybox-content {
  cursor: zoom-out;
}
.fancybox-can-zoomIn .fancybox-content {
  cursor: zoom-in;
}
.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab;
}
.fancybox-is-grabbing .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.fancybox-container [data-selectable='true'] {
  cursor: text;
}
.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}
.fancybox-spaceball {
  z-index: 1;
}
.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
  height: 100%;
  overflow: visible;
  padding: 0;
  width: 100%;
}
.fancybox-slide--video .fancybox-content {
  background: #000;
}
.fancybox-slide--map .fancybox-content {
  background: #e5e3df;
}
.fancybox-slide--iframe .fancybox-content {
  background: #fff;
}
.fancybox-video,
.fancybox-iframe {
  background: transparent;
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}
/* Fix iOS */
.fancybox-iframe {
  left: 0;
  position: absolute;
  top: 0;
}
.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%;
}
.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0;
}
/* Buttons */
.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  padding: 10px;
  position: relative;
  transition: color 0.2s;
  vertical-align: top;
  visibility: inherit;
  width: 44px;
}
.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc;
}
.fancybox-button:hover {
  color: #fff;
}
.fancybox-button:focus {
  outline: none;
}
.fancybox-button.fancybox-focus {
  outline: 1px dotted;
}
.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
  outline: none;
}
/* Fix IE11 */
.fancybox-button div {
  height: 100%;
}
.fancybox-button svg {
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%;
}
.fancybox-button svg path {
  fill: currentColor;
  stroke-width: 0;
}
.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
  display: none;
}
.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
  display: none;
}
.fancybox-progress {
  background: #ff5268;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -ms-transform-origin: 0;
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 99998;
}
/* Close button on the top right corner of html content */
.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  opacity: 0.8;
  padding: 8px;
  position: absolute;
  right: -12px;
  top: -44px;
  z-index: 401;
}
.fancybox-close-small:hover {
  color: #fff;
  opacity: 1;
}
.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0;
}
.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
  overflow: hidden;
}
.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
  display: none;
}
/* Navigation arrows */
.fancybox-navigation .fancybox-button {
  background-clip: content-box;
  height: 100px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 50px);
  width: 70px;
}
.fancybox-navigation .fancybox-button div {
  padding: 7px;
}
.fancybox-navigation .fancybox-button--arrow_left {
  left: 0;
  left: env(safe-area-inset-left);
  padding: 31px 26px 31px 6px;
}
.fancybox-navigation .fancybox-button--arrow_right {
  padding: 31px 6px 31px 26px;
  right: 0;
  right: env(safe-area-inset-right);
}
/* Caption */
.fancybox-caption {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, rgba(0, 0, 0, 0) 100%);
  bottom: 0;
  color: #eee;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 75px 44px 25px 44px;
  pointer-events: none;
  right: 0;
  text-align: center;
  z-index: 99996;
}
@supports (padding: max(0px)) {
  .fancybox-caption {
    padding: 75px 44px 25px 44px;
  }
}
.fancybox-caption--separate {
  margin-top: -50px;
}
.fancybox-caption__body {
  max-height: 50vh;
  overflow: auto;
  pointer-events: all;
}
.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none;
}
.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline;
}
/* Loading indicator */
.fancybox-loading {
  animation: fancybox-rotate 1s linear infinite;
  background: transparent;
  border: 4px solid #888;
  border-bottom-color: #fff;
  border-radius: 50%;
  height: 50px;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 50px;
  z-index: 99999;
}
@keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg);
  }
}
/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}
/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  transform: translate3d(-100%, 0, 0);
}
.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  transform: translate3d(100%, 0, 0);
}
.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1;
}
/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(1.5, 1.5, 1.5);
}
.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
}
.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}
/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg);
}
.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  -ms-transform: rotate(360deg);
  transform: rotate(360deg);
}
.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}
/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}
.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}
.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}
/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}
.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}
.fancybox-fx-tube.fancybox-slide--current {
  transform: translate3d(0, 0, 0) scale(1);
}
/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
  .fancybox-slide {
    padding-left: 6px;
    padding-right: 6px;
  }
  .fancybox-slide--image {
    padding: 6px 0;
  }
  .fancybox-close-small {
    right: -6px;
  }
  .fancybox-slide--image .fancybox-close-small {
    background: #4e4e4e;
    color: #f2f4f6;
    height: 36px;
    opacity: 1;
    padding: 6px;
    right: 0;
    top: 0;
    width: 36px;
  }
  .fancybox-caption {
    padding-left: 12px;
    padding-right: 12px;
  }
  @supports (padding: max(0px)) {
    .fancybox-caption {
      padding-left: 12px;
      padding-right: 12px;
    }
  }
}
/* Share */
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center;
}
.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px 0;
}
.fancybox-share p {
  margin: 0;
  padding: 0;
}
.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px 5px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  transition: all 0.2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
}
.fancybox-share__button:visited,
.fancybox-share__button:link {
  color: #fff;
}
.fancybox-share__button:hover {
  text-decoration: none;
}
.fancybox-share__button--fb {
  background: #3b5998;
}
.fancybox-share__button--fb:hover {
  background: #344e86;
}
.fancybox-share__button--pt {
  background: #bd081d;
}
.fancybox-share__button--pt:hover {
  background: #aa0719;
}
.fancybox-share__button--tw {
  background: #1da1f2;
}
.fancybox-share__button--tw:hover {
  background: #0d95e8;
}
.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px;
}
.fancybox-share__button svg path {
  fill: #fff;
}
.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0 0;
  outline: none;
  padding: 10px 15px;
  width: 100%;
}
/* Thumbs */
.fancybox-thumbs {
  background: #ddd;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px 2px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  top: 0;
  width: 212px;
  z-index: 99995;
}
.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden;
}
.fancybox-show-thumbs .fancybox-thumbs {
  display: block;
}
.fancybox-show-thumbs .fancybox-inner {
  right: 212px;
}
.fancybox-thumbs__list {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%;
}
.fancybox-thumbs-x .fancybox-thumbs__list {
  overflow: hidden;
}
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
  width: 7px;
}
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px;
}
.fancybox-thumbs__list a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: rgba(0, 0, 0, 0.1);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px;
}
.fancybox-thumbs__list a::before {
  border: 6px solid #ff5268;
  bottom: 0;
  content: '';
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991;
}
.fancybox-thumbs__list a:focus::before {
  opacity: 0.5;
}
.fancybox-thumbs__list a.fancybox-thumbs-active::before {
  opacity: 1;
}
/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
  .fancybox-thumbs {
    width: 110px;
  }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px;
  }
  .fancybox-thumbs__list a {
    max-width: calc(100% - 10px);
  }
}
/* MAIN DESIGN */
/*
    Sdílený okraj stránky. Nad 1440 px se obsah centruje, pod 1480 px
    --page-gutter naroste (clamp 24–72). ~"" kvůli čárce v max().
*/
:root {
  --page-gutter: 20px;
  --theme-primary: #00487f;
  --theme-on-primary: #ffffff;
  --theme-primary-rgb: 0, 72, 127;
}
body.site-lyc {
  --theme-primary: #FFC800;
  --theme-on-primary: #ffffff;
  --theme-primary-rgb: 255, 200, 0;
}
body.site-pmp {
  --theme-primary: #BA4458;
  --theme-on-primary: #ffffff;
  --theme-primary-rgb: 186, 68, 88;
}
body.site-pl {
  --theme-primary: #00C08D;
  --theme-on-primary: #ffffff;
  --theme-primary-rgb: 0, 192, 141;
}
body.site-zs {
  --theme-primary: #8e3d89;
  --theme-on-primary: #ffffff;
  --theme-primary-rgb: 142, 61, 137;
}
@media screen and (max-width: 1479px) {
  :root {
    --page-gutter: clamp(24px, 5.5vw, 72px);
  }
}
/* common border radius */
/* disable text selection */
/*
    Vnější pozadí sekcí — skvrny, vlaštovky, ledový přechod.
    Vykresluje se uvnitř .gt-block, ne jako samostatný Gutenberg blok.
*/
#content > .gt-block {
  position: relative;
  overflow: visible;
}
#content > .gt-block.hero {
  overflow: hidden;
  z-index: 1;
}
#content > .gt-block.hero.hero--split {
  overflow: visible;
}
.gt-block > .page-decor {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  pointer-events: none;
}
.gt-block:not(.hero) > *:not(.page-decor) {
  position: relative;
  z-index: 1;
}
.gt-block .page-decor .page-decor__item,
.gt-block .page-decor .page-decor__wash,
.gt-block .page-decor .page-decor__fade {
  position: absolute;
  display: block;
  pointer-events: none;
  max-width: none;
}
.gt-block .page-decor .page-decor__item--blob {
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, var(--decor-color, #ffc800) 0%, rgba(255, 255, 255, 0) 72%);
  filter: blur(80px);
  opacity: 0.72;
  aspect-ratio: 1;
}
.gt-block .page-decor .page-decor__item--swallow {
  height: auto;
}
.gt-block .page-decor .page-decor__wash {
  line-height: 0;
}
.gt-block .page-decor .page-decor__item--wash {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0.28;
}
.gt-block .page-decor .page-decor__fade {
  left: 0;
  width: 100%;
  top: calc(-26.46vw + var(--decor-y, 0px));
}
.gt-block .page-decor .page-decor__fade-panel {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 28px;
  background: linear-gradient(178.75deg, var(--decor-fade-from, #ebf2f7) 39.967%, #ffffff 99.167%);
}
.gt-block .page-decor .page-decor__fade-swallow {
  position: absolute;
  top: 42.8%;
  display: block;
  width: min(84vw, 1613px);
  height: auto;
  aspect-ratio: 1251.19 / 1561.91;
  pointer-events: none;
}
.gt-block .page-decor.page-decor--s .page-decor__item--blob {
  width: min(28vw, 442px);
}
.gt-block .page-decor.page-decor--m .page-decor__item--blob {
  width: min(38vw, 737px);
}
.gt-block .page-decor.page-decor--l .page-decor__item--blob {
  width: min(48vw, 918px);
}
.gt-block .page-decor.page-decor--xl .page-decor__item--blob {
  width: min(62vw, 1200px);
}
.gt-block .page-decor.page-decor--s .page-decor__item--swallow {
  width: min(8vw, 84px);
}
.gt-block .page-decor.page-decor--m .page-decor__item--swallow {
  width: min(11vw, 136px);
}
.gt-block .page-decor.page-decor--l .page-decor__item--swallow {
  width: min(14vw, 169px);
}
.gt-block .page-decor.page-decor--xl .page-decor__item--swallow {
  width: min(18vw, 220px);
}
.gt-block .page-decor.page-decor--s .page-decor__wash {
  width: min(42vw, 640px);
}
.gt-block .page-decor.page-decor--m .page-decor__wash {
  width: min(55vw, 900px);
}
.gt-block .page-decor.page-decor--l .page-decor__wash {
  width: min(70vw, 1200px);
}
.gt-block .page-decor.page-decor--xl .page-decor__wash {
  width: min(92vw, 1990px);
}
.gt-block .page-decor.page-decor--s .page-decor__fade {
  height: 42vw;
  top: calc(-8vw + var(--decor-y, 0px));
}
.gt-block .page-decor.page-decor--m .page-decor__fade {
  height: 64vw;
  top: calc(-14vw + var(--decor-y, 0px));
}
.gt-block .page-decor.page-decor--l .page-decor__fade {
  height: 90vw;
  top: calc(-20vw + var(--decor-y, 0px));
}
.gt-block .page-decor.page-decor--xl .page-decor__fade {
  height: 128.85vw;
  top: calc(-26.46vw + var(--decor-y, 0px));
}
.gt-block .page-decor.page-decor--s .page-decor__fade-swallow {
  width: min(48vw, 640px);
}
.gt-block .page-decor.page-decor--m .page-decor__fade-swallow {
  width: min(62vw, 980px);
}
.gt-block .page-decor.page-decor--l .page-decor__fade-swallow {
  width: min(74vw, 1280px);
}
.gt-block .page-decor.page-decor--left .page-decor__item--blob,
.gt-block .page-decor.page-decor--left .page-decor__item--swallow,
.gt-block .page-decor.page-decor--left .page-decor__wash {
  left: var(--decor-shift, -18%);
  right: auto;
}
.gt-block .page-decor.page-decor--right .page-decor__item--blob,
.gt-block .page-decor.page-decor--right .page-decor__item--swallow,
.gt-block .page-decor.page-decor--right .page-decor__wash {
  right: var(--decor-shift, -18%);
  left: auto;
}
.gt-block .page-decor.page-decor--left .page-decor__fade-swallow {
  left: var(--decor-shift, -19%);
  right: auto;
  transform: scaleX(-1);
}
.gt-block .page-decor.page-decor--right .page-decor__fade-swallow {
  right: var(--decor-shift, -19%);
  left: auto;
}
.gt-block .page-decor.page-decor--left.page-decor--s .page-decor__item--blob,
.gt-block .page-decor.page-decor--left.page-decor--s .page-decor__item--swallow,
.gt-block .page-decor.page-decor--left.page-decor--s .page-decor__wash {
  left: var(--decor-shift, -8%);
}
.gt-block .page-decor.page-decor--right.page-decor--s .page-decor__item--blob,
.gt-block .page-decor.page-decor--right.page-decor--s .page-decor__item--swallow,
.gt-block .page-decor.page-decor--right.page-decor--s .page-decor__wash {
  right: var(--decor-shift, -8%);
}
.gt-block .page-decor .page-decor__preview {
  display: none;
}
.editor-styles-wrapper .gt-block > .page-decor,
.block-editor-iframe__body .gt-block > .page-decor {
  position: relative;
  height: auto;
  margin: 0 0 8px;
  overflow: hidden;
  pointer-events: none;
  border: 1px dashed #c5d6e4;
  background: #f7fafc;
}
.editor-styles-wrapper .gt-block > .page-decor .page-decor__preview,
.block-editor-iframe__body .gt-block > .page-decor .page-decor__preview {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 6px 12px;
  color: var(--theme-primary);
  font-family: 'Inter', 'Open Sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}
.editor-styles-wrapper .gt-block > .page-decor .page-decor__preview-swatch,
.block-editor-iframe__body .gt-block > .page-decor .page-decor__preview-swatch {
  flex: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(var(--theme-primary-rgb), 0.15);
}
.editor-styles-wrapper .gt-block > .page-decor .page-decor__item,
.block-editor-iframe__body .gt-block > .page-decor .page-decor__item,
.editor-styles-wrapper .gt-block > .page-decor .page-decor__wash,
.block-editor-iframe__body .gt-block > .page-decor .page-decor__wash,
.editor-styles-wrapper .gt-block > .page-decor .page-decor__fade,
.block-editor-iframe__body .gt-block > .page-decor .page-decor__fade {
  display: none;
}
@media screen and (max-width: 767px) {
  .gt-block .page-decor.page-decor--xl .page-decor__wash {
    width: min(80vw, 520px);
    opacity: 0.18;
  }
  .gt-block .page-decor.page-decor--xl .page-decor__fade {
    height: min(160vw, 720px);
  }
  .gt-block .page-decor.page-decor--xl .page-decor__fade-swallow {
    width: min(78vw, 420px);
  }
  .gt-block .page-decor .page-decor__item--blob {
    filter: blur(56px);
    opacity: 0.55;
  }
  .gt-block .page-decor.page-decor--l .page-decor__item--blob,
  .gt-block .page-decor.page-decor--xl .page-decor__item--blob {
    width: min(70vw, 420px);
  }
}
/*
FONT WEIGHTS:
    black:    900;
    heavy:    800;
    bold:     700;
    semiBold: 600;
    medium:   500;
    regular:  400;
    light:    300;
    thin:     100;
*/
/* #region GENERAL SETTINGS ============================================================= */
html,
body {
  background: white;
  color: black;
  font-size: 14px;
  font-family: 'Open Sans', Arial, sans-serif;
}
html {
  overflow-x: hidden;
  overflow-x: clip;
}
html.with-menu,
body.with-menu {
  overflow: hidden;
}
* {
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-box-sizing: border-box;
  /* Safari 3.0 - 5.0, Chrome 1 - 9, Android 2.1 - 3.x */
  -moz-box-sizing: border-box;
  /* Firefox 1 - 28 */
  box-sizing: border-box;
  /* Safari 5.1+, Chrome 10+, Firefox 29+, Opera 7+, IE 8+, Android 4.0+, iOS any */
}
*:focus {
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
input,
textarea,
select {
  color: black;
  font-size: 14px;
  font-family: 'Open Sans', Arial, sans-serif;
  -webkit-appearance: none;
}
textarea {
  resize: vertical;
}
a {
  color: black;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
a,
label,
input[type=button],
input[type=submit] {
  cursor: pointer;
}
.clear,
.clearfix:after {
  content: " ";
  width: 100%;
  height: 0px;
  display: block;
  overflow: hidden;
  clear: both;
}
.hidden {
  display: none;
}
.center {
  width: 1140px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .center {
    width: auto;
    margin: 0 30px;
  }
}
#content {
  position: relative;
  overflow-x: clip;
  overflow-y: clip;
  isolation: isolate;
}
/* #endregion */
/* #region MOBILE MENU ICON ============================================================= */
.hamburger {
  width: 20px;
  height: 20px;
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  font-size: 0;
  text-indent: -9999px;
  appearance: none;
  box-shadow: none;
  border-radius: none;
  border: none;
  cursor: pointer;
  /* active state, i.e. menu opened */
}
.hamburger:before {
  content: " ";
  width: 40px;
  height: 40px;
  left: -10px;
  top: -10px;
  z-index: 0;
  display: block;
  background: transparent;
  position: absolute;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.hamburger:focus {
  outline: none;
}
.hamburger span {
  height: 3px;
  position: absolute;
  top: 9px;
  left: 0px;
  right: 0px;
  display: block;
  background: white;
  -webkit-border-radius: 1.5px;
  -moz-border-radius: 1.5px;
  border-radius: 1.5px;
}
.hamburger span:before,
.hamburger span:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: white;
  -webkit-border-radius: 1.5px;
  -moz-border-radius: 1.5px;
  border-radius: 1.5px;
}
.hamburger span:before {
  top: -6px;
}
.hamburger span:after {
  bottom: -6px;
}
.hamburger--htx {
  background: transparent;
}
.hamburger--htx span:before,
.hamburger--htx span:after {
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0s;
}
.hamburger--htx span:before {
  transition-property: top, transform;
}
.hamburger--htx span:after {
  transition-property: bottom, transform;
}
.hamburger--htx.is-active {
  background: transparent;
}
.hamburger--htx.is-active span {
  background: none;
}
.hamburger--htx.is-active span:before {
  top: 0;
  transform: rotate(45deg);
}
.hamburger--htx.is-active span:after {
  bottom: 0;
  transform: rotate(-45deg);
}
.hamburger--htx.is-active span:before,
.hamburger--htx.is-active span:after {
  transition-delay: 0s, 0.3s;
}
/* #endregion */
.skip-link {
  position: absolute;
  left: 16px;
  top: -100px;
  z-index: 1000;
  padding: 12px 16px;
  background: var(--theme-primary);
  color: var(--theme-on-primary);
  font-family: 'Inter', 'Open Sans', Arial, sans-serif;
  font-weight: 700;
  text-decoration: none;
}
.skip-link:focus {
  top: 16px;
}
/* #region HEADER ======================================================================= */
section.gt-block,
.content-index__article,
.link-tiles__tile {
  scroll-margin-top: 120px;
}
/*
    Rozcestník: jen logo přes hero.
    Ostatní stránky: horní lišta + menu + dropdown.
*/
.site-header {
  width: 100%;
  z-index: 500;
  font-family: 'Inter', 'Open Sans', Arial, sans-serif;
}
.site-header__inner {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
}
.site-header--hub .site-header__inner {
  box-sizing: border-box;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: max(var(--page-gutter), calc((100% - 1440px) / 2));
  padding-right: max(var(--page-gutter), calc((100% - 1440px) / 2));
}
.site-header--nav .site-header__inner {
  max-width: 1920px;
  padding-left: clamp(16px, 5.21vw, 100px);
  padding-right: clamp(16px, 12.5vw, 240px);
}
.site-header__logo {
  display: block;
  flex: none;
}
.site-header__logo img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 342 / 128.62;
}
.site-header__logo--lockup {
  display: flex;
  align-items: center;
  width: auto;
  min-width: 0;
  max-width: 100%;
}
.site-header__logo--lockup img {
  width: auto;
  height: auto;
  aspect-ratio: auto;
  transition: width 0.2s ease, height 0.2s ease;
}
.site-header__logo-swallows-link,
.site-header__logo-wordmark-link {
  display: flex;
  flex: none;
  line-height: 0;
}
.site-header__logo-swallows {
  width: 63px;
  height: 63px;
  flex: none;
}
.site-header__logo-divider {
  display: block;
  flex: none;
  width: 1px;
  height: 56px;
  margin: 0 38px 0 36px;
  background: #d7d7d7;
  transition: height 0.2s ease, margin 0.2s ease;
}
.site-header__logo-wordmark {
  height: 54px;
  width: auto;
  max-width: min(280px, 46vw);
  flex: none;
}
.site-header--hub {
  padding: min(3.073vw, 59px) 0;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.site-header--hub .site-header__logo {
  width: min(17.813vw, 342px);
  pointer-events: auto;
}
.site-header--nav {
  position: sticky;
  top: calc(-1 * var(--site-header-top, 0px));
  z-index: 500;
  background: transparent;
  overflow-anchor: none;
}
.site-header--nav.with-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 502;
}
.site-header--nav .site-header__main {
  position: relative;
  z-index: 1;
  background: #ffffff;
  box-shadow: 0 0 0 transparent;
  overflow-anchor: none;
  transition: box-shadow 0.2s ease;
}
.site-header--nav.scrolled .site-header__main {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}
.site-header__top {
  background: #ebf2f7;
}
.site-header--nav .site-header__top .site-header__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 28px;
  min-height: 37px;
}
.site-header__utility {
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header__utility a {
  color: var(--theme-primary);
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  min-height: 37px;
  display: inline-flex;
  align-items: center;
}
.site-header__utility a:hover,
.site-header__utility a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.site-lyc .site-header__top .site-header__utility a,
body.site-pl .site-header__top .site-header__utility a {
  color: color-mix(in srgb, var(--theme-primary) 42%, #000);
}
.site-header__socials {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header__social {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
}
.site-header__social img {
  display: block;
  width: auto;
  height: 14px;
}
.site-header__social:hover,
.site-header__social:focus-visible {
  opacity: 0.7;
}
.site-header--nav .site-header__main .site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-height: 112px;
  transition: min-height 0.2s ease;
}
@media screen and (min-width: 1440px) {
  .site-header--nav.scrolled .site-header__main .site-header__inner {
    min-height: 76px;
  }
  .site-header--nav.scrolled .site-header__logo-swallows {
    width: 48px;
    height: 48px;
  }
  .site-header--nav.scrolled .site-header__logo-divider {
    height: 42px;
    margin: 0 24px 0 22px;
  }
  .site-header--nav.scrolled .site-header__logo-wordmark {
    height: 43px;
    width: auto;
  }
}
.site-header--nav .site-header__logo {
  width: auto;
  position: relative;
  z-index: 502;
}
.site-header--nav .site-header__toggle {
  display: none;
}
.site-header--nav .site-header__panel {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1 1 auto;
  min-width: 0;
}
.site-header--nav .site-header__panel-extra {
  display: none;
}
.site-header--nav .site-header__nav .menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 8px 40px;
  white-space: nowrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header--nav .site-header__nav .menu > li {
  position: relative;
}
.site-header--nav .site-header__nav .menu > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 4px 0 10px;
  color: #242424;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: inset 0 -2px 0 transparent;
}
.site-header--nav .site-header__nav .menu > li > a:hover,
.site-header--nav .site-header__nav .menu > li > a:focus-visible,
.site-header--nav .site-header__nav .menu > li.current-menu-item > a,
.site-header--nav .site-header__nav .menu > li.current-menu-ancestor > a,
.site-header--nav .site-header__nav .menu > li.current-menu-parent > a {
  box-shadow: inset 0 -2px 0 var(--theme-primary);
}
.site-header__sub-toggle {
  display: none;
}
.site-header--nav .site-header__nav .sub-menu {
  position: absolute;
  top: calc(100% - 4px);
  left: 0;
  z-index: 20;
  min-width: 260px;
  max-width: 360px;
  margin: 0;
  padding: 28px 32px 24px;
  list-style: none;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}
.site-header--nav .site-header__nav .sub-menu:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 16px;
}
.site-header--nav .site-header__nav .menu > li:hover > .sub-menu,
.site-header--nav .site-header__nav .menu > li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.site-header--nav .site-header__nav .menu > li.is-submenu-closed > .sub-menu {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px);
}
.site-header--nav .site-header__nav .menu > li:nth-last-child(-n+2) > .sub-menu {
  left: auto;
  right: 0;
}
.site-header--nav .site-header__nav .sub-menu a {
  display: block;
  padding: 8px 0;
  color: #242424;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  white-space: normal;
}
.site-header--nav .site-header__nav .sub-menu a:hover,
.site-header--nav .site-header__nav .sub-menu a:focus-visible {
  color: var(--theme-primary);
}
@media screen and (max-width: 1679px) {
  .site-header--nav .site-header__logo-swallows {
    width: 48px;
    height: 48px;
  }
  .site-header--nav .site-header__logo-divider {
    height: 44px;
    margin: 0 20px 0 18px;
  }
  .site-header--nav .site-header__logo-wordmark {
    height: 43px;
    width: auto;
  }
  .site-header--nav .site-header__nav .menu {
    gap: 8px 24px;
  }
  .site-header--nav .site-header__nav .menu > li > a {
    font-size: 16px;
  }
}
@media screen and (max-width: 1439px) {
  .site-header--nav .site-header__inner {
    padding-left: 16px;
    padding-right: 16px;
  }
  .site-header--nav .site-header__main .site-header__inner {
    min-height: 72px;
    padding-top: 12px;
    padding-bottom: 12px;
    gap: 12px;
  }
  .site-header--nav.scrolled .site-header__main .site-header__inner {
    min-height: 64px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .site-header--nav .site-header__logo-swallows {
    width: 40px;
    height: 40px;
  }
  .site-header--nav .site-header__logo-divider {
    height: 36px;
    margin: 0 12px;
  }
  .site-header--nav .site-header__logo-wordmark {
    height: 36px;
    width: auto;
  }
  .site-header--nav .site-header__nav .menu {
    gap: 8px 18px;
  }
  .site-header--nav .site-header__nav .menu > li > a {
    font-size: 15px;
  }
}
@media screen and (max-width: 1199px) {
  .site-header--nav .site-header__top {
    display: none;
  }
  .site-header--nav.with-menu .site-header__main .site-header__inner {
    min-height: 72px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .site-header--nav .site-header__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-left: auto;
    position: relative;
    z-index: 502;
    background: transparent;
  }
  .site-header--nav .site-header__toggle:before {
    display: none;
  }
  .site-header--nav .site-header__toggle span {
    width: 22px;
    height: 2px;
    left: 50%;
    right: auto;
    top: 50%;
    margin: -1px 0 0 -11px;
    background-color: var(--theme-primary);
  }
  .site-header--nav .site-header__toggle span:before,
  .site-header--nav .site-header__toggle span:after {
    height: 2px;
    background-color: var(--theme-primary);
  }
  .site-header--nav .site-header__toggle span:before {
    top: -7px;
  }
  .site-header--nav .site-header__toggle span:after {
    top: 7px;
    bottom: auto;
  }
  .site-header--nav.with-menu .site-header__logo-wordmark {
    filter: brightness(0) invert(1);
  }
  .site-header--nav.with-menu .site-header__logo-divider {
    background: rgba(255, 255, 255, 0.35);
  }
  .site-header--nav.with-menu .site-header__toggle.hamburger--htx.is-active span {
    background: none;
    background-color: transparent;
  }
  .site-header--nav.with-menu .site-header__toggle.hamburger--htx.is-active span:before,
  .site-header--nav.with-menu .site-header__toggle.hamburger--htx.is-active span:after {
    top: 0;
    bottom: auto;
    background-color: var(--theme-on-primary);
  }
  .site-header--nav.with-menu .site-header__toggle.hamburger--htx.is-active span:before {
    transform: rotate(45deg);
  }
  .site-header--nav.with-menu .site-header__toggle.hamburger--htx.is-active span:after {
    transform: rotate(-45deg);
  }
  .site-header--nav .site-header__panel {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 28px;
    position: fixed;
    inset: 0;
    z-index: 501;
    padding: 96px 24px 32px;
    background: var(--theme-primary);
    overflow: auto;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  }
  .site-header--nav.with-menu .site-header__panel {
    visibility: visible;
    opacity: 1;
    transform: none;
  }
  .site-header--nav .site-header__nav .menu {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 0;
    white-space: normal;
  }
  .site-header--nav .site-header__nav .menu > li > a {
    min-height: 48px;
    padding: 8px 0;
    color: var(--theme-on-primary);
    font-size: 22px;
    font-weight: 700;
    box-shadow: none;
  }
  .site-header--nav .site-header__nav .menu > li > a:hover,
  .site-header--nav .site-header__nav .menu > li > a:focus-visible,
  .site-header--nav .site-header__nav .menu > li.current-menu-item > a,
  .site-header--nav .site-header__nav .menu > li.current-menu-ancestor > a,
  .site-header--nav .site-header__nav .menu > li.current-menu-parent > a {
    box-shadow: none;
    text-decoration: underline;
    text-underline-offset: 6px;
  }
  .site-header--nav .site-header__nav .menu > li.menu-item-has-children {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .site-header--nav .site-header__nav .menu > li.menu-item-has-children > a {
    flex: 1 1 auto;
  }
  .site-header__sub-toggle {
    display: block;
    flex: none;
    width: 44px;
    height: 44px;
    position: relative;
    padding: 0;
    background: transparent;
    appearance: none;
    cursor: pointer;
  }
  .site-header__sub-toggle:before,
  .site-header__sub-toggle:after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    top: 21px;
    height: 2px;
    background: #ffffff;
  }
  .site-header__sub-toggle:after {
    transform: rotate(90deg);
  }
  .site-header--nav .site-header__nav .menu > li.opened > .site-header__sub-toggle:after {
    transform: rotate(0deg);
  }
  .site-header--nav .site-header__nav .sub-menu {
    position: static;
    display: none;
    width: 100%;
    min-width: 0;
    padding: 0 0 12px 12px;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .site-header--nav .site-header__nav .sub-menu:before {
    display: none;
  }
  .site-header--nav .site-header__nav .menu > li.opened > .sub-menu {
    display: block;
  }
  .site-header--nav .site-header__nav .sub-menu a {
    color: rgba(255, 255, 255, 0.85);
    font-size: 18px;
    font-weight: 500;
    min-height: 44px;
    display: flex;
    align-items: center;
    white-space: normal;
  }
  .site-header--nav .site-header__nav .sub-menu a:hover,
  .site-header--nav .site-header__nav .sub-menu a:focus-visible {
    color: #ffffff;
  }
  .site-header--nav .site-header__panel-extra {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .site-header--nav .site-header__panel-extra .site-header__utility {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .site-header--nav .site-header__panel-extra .site-header__utility a {
    color: #ffffff;
    min-height: 44px;
    font-size: 14px;
  }
  .site-header--nav .site-header__panel-extra .site-header__social img {
    filter: brightness(0) invert(1);
    height: 16px;
  }
}
@media screen and (max-width: 767px) {
  .site-header--hub {
    padding: 16px 0;
  }
  .site-header--hub .site-header__logo {
    width: 180px;
  }
  .site-header--nav .site-header__logo-swallows {
    width: 36px;
    height: 36px;
  }
  .site-header--nav .site-header__logo-wordmark {
    height: 32px;
    width: auto;
  }
}
/* #endregion */
/* #region FOOTER ======================================================================= */
/*
    Tmavý blok s lockupem Futurum a třemi sloupci. Plovoucí odznak je jen na rozcestníku.
*/
.site-footer {
  /* pozor: BEZ overflow:hidden - plovoucí odznak na hubu musí moct přesahovat
       horní hranu. Obláčky na pozadí si ořez řeší v .site-footer__wash. */
  position: relative;
  z-index: 20;
  box-sizing: border-box;
  padding: clamp(56px, 6.46vw, 124px) 0 clamp(48px, 5.99vw, 115px);
  background-color: #313131;
  color: #ffffff;
  font-family: 'Inter', 'Open Sans', sans-serif;
}
@media screen and (min-width: 1440px) {
  .site-footer {
    min-height: 393px;
  }
}
/* Gutenberg rozcestník: odznak visí nad horní hranou patičky. */
body.page-id-8 main > section.gt-block:last-child {
  padding-bottom: 80px;
}
/* Pozadí patičky. */
.site-footer__wash {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
/* Blur na vnitřní skupině, ať se do masky smečují i středy elips pod patičkou */
.site-footer__wash-inner {
  position: absolute;
  inset: 0;
  overflow: visible;
  filter: blur(100px);
}
.site-footer__wash-item {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  aspect-ratio: 1;
  pointer-events: none;
}
.site-footer__wash-item--green-a {
  left: -12.8646%;
  /* -247 / 1920 */
  top: 10.1781%;
  /* 40 / 393 */
  width: 27.2396%;
  /* 523 / 1920 */
}
.site-footer__wash-item--green-b {
  left: 15.4167%;
  /* 296 / 1920 */
  top: 36.3868%;
  /* 143 / 393 */
  width: 27.2396%;
  /* 523 / 1920 */
}
.site-footer__wash-item--yellow {
  left: 69.5833%;
  /* 1336 / 1920 */
  top: 31.2977%;
  /* 123 / 393 */
  width: 38.3854%;
  /* 737 / 1920 */
}
/* plovoucí konzultace */
.consult {
  position: fixed;
  right: 16px;
  bottom: 24px;
  z-index: 600;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  max-width: 520px;
  pointer-events: none;
}
.consult > * {
  pointer-events: auto;
}
.consult__toggle {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 8px 8px 8px 24px;
  border: 0;
  border-radius: 43px;
  background-color: #00c08d;
  background-image: linear-gradient(93.933deg, var(--theme-primary) 0.761%, #00c08d 127.05%);
  color: #ffffff;
  font-family: 'Inter', 'Open Sans', Arial, sans-serif;
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  cursor: pointer;
  transition: filter 0.25s ease, transform 0.25s ease;
}
.consult__toggle:hover,
.consult__toggle:focus-visible {
  filter: brightness(1.08);
  transform: translateY(-2px);
}
.consult__toggle-icon {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
}
.consult__toggle-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.consult__panel {
  width: 480px;
  max-height: min(78vh, 720px);
  overflow: auto;
  box-shadow: 0 8px 24px rgba(0, 36, 63, 0.18);
}
.consult__panel[hidden] {
  display: none !important;
}
.consult__panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.consult__title {
  flex: 1 1 auto;
}
.consult__close {
  flex: none;
  width: 36px;
  height: 36px;
  margin: -6px -8px 0 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.consult__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.consult__status {
  margin: 0;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.4;
}
.consult__status.is-error {
  color: #ffe3e3;
}
.consult__backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 0;
  background: rgba(0, 24, 48, 0.45);
}
.consult__backdrop[hidden] {
  display: none !important;
}
.consult.is-open .consult__backdrop {
  display: block;
}
.consult.is-open .consult__panel {
  position: relative;
  z-index: 1;
}
.consult.is-open {
  right: 0;
  bottom: 0;
  left: 0;
  top: 0;
  max-width: none;
  align-items: center;
  justify-content: center;
  padding: 24px 16px 110px;
}
.consult.is-open .consult__toggle {
  position: fixed;
  right: 16px;
  bottom: 24px;
}
body.consult-open {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .consult {
    right: 12px;
    bottom: 16px;
  }
  .consult__toggle {
    padding-left: 18px;
    font-size: 13px;
  }
  .consult.is-open .consult__toggle {
    right: 12px;
    bottom: 16px;
  }
}
/* jen rozcestník */
.site-footer__floating {
  position: absolute;
  top: clamp(-40px, -3.65vw, -28px);
  right: max(20px, calc((100% - 1440px) / 2));
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 8px 8px 8px 24px;
  border-radius: 43px;
  background-color: #00c08d;
  background-image: linear-gradient(93.933deg, var(--theme-primary) 0.761%, #00c08d 127.05%);
  color: #ffffff;
  text-decoration: none;
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 700;
  line-height: 1.3;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
  transition: filter 0.25s ease, transform 0.25s ease;
}
.site-footer__floating:hover,
.site-footer__floating:focus-visible {
  filter: brightness(1.08);
  transform: translateY(-2px);
}
.site-footer__floating-icon {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
}
.site-footer__floating-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.site-footer__container {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: max(var(--page-gutter), calc((100% - 1440px) / 2));
  padding-right: max(var(--page-gutter), calc((100% - 1440px) / 2));
}
.site-footer__inner {
  width: 100%;
}
.site-footer__grid {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}
.site-footer__brand {
  flex: none;
}
/* barevné vlaštovky + bílý lockup Futurum Cesta vzděláním */
.site-footer__logo {
  display: block;
  width: clamp(170px, 12.71vw, 244px);
  height: auto;
  aspect-ratio: 244 / 92;
}
.site-footer__heading {
  margin: 0 0 16px;
  color: #ffffff;
  font-family: 'Inter', 'Open Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: normal;
}
/* první tři řádky (název školy) tučně, poslední dva běžným řezem */
.site-footer__address {
  margin: 0;
  color: #ffffff;
  font-family: Arial, 'Open Sans', sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 23px;
  letter-spacing: 0.32px;
}
.site-footer__address strong {
  font-weight: 700;
}
/* odkazy ztlumené na 50 % bílé */
.site-footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: Arial, 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 23px;
  letter-spacing: 0.28px;
}
.site-footer__links a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  display: inline-block;
  transition: color 0.2s ease;
}
.site-footer__links a:hover,
.site-footer__links a:focus-visible {
  color: #ffffff;
}
/* e-mail Inter Bold 14 23, bez nadpisu */
.site-footer__email {
  display: inline-block;
  color: #ffffff;
  font-family: 'Inter', 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 23px;
  text-decoration: none;
}
.site-footer__email:hover,
.site-footer__email:focus-visible {
  text-decoration: underline;
}
@media screen and (min-width: 1100px) {
  .site-footer__grid {
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(48px, 3.33vw, 64px);
  }
  .site-footer__brand {
    margin-right: auto;
  }
  .site-footer__col--address {
    flex: 0 0 auto;
    width: auto;
    min-width: 180px;
  }
  .site-footer__col--docs {
    flex: 0 0 auto;
    width: auto;
    min-width: 177px;
  }
  .site-footer__col--email {
    flex: 0 0 auto;
    padding-top: 2px;
  }
  .site-footer__address,
  .site-footer__links {
    white-space: nowrap;
  }
}
@media screen and (max-width: 1099px) {
  .site-footer__links a,
  .site-footer__email {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
@media screen and (max-width: 767px) {
  body.page-id-8 main > section.gt-block:last-child {
    padding-bottom: 96px;
  }
  .site-footer--hub {
    padding-top: 88px;
  }
  .site-footer__floating {
    top: -32px;
    right: 16px;
  }
}
/* #endregion */
/* COMPONENTS */
/*

*/
#wpadminbar {
  width: 52px !important;
  min-width: initial !important;
  border-radius: 0 0 50%;
  background-color: darkcyan;
}
@media (min-width: 783px) {
  #wpadminbar {
    width: 32px !important;
    height: 32px !important;
  }
}
@media (max-width: 600px) {
  #wpadminbar {
    display: none !important;
  }
}
#wp-toolbar li {
  display: none;
}
#wp-toolbar #wp-admin-bar-wp-logo,
#wp-toolbar #wp-admin-bar-wp-logo li {
  display: block;
}
a.btn,
.editor-styles-wrapper .gt-block a.btn {
  min-width: 180px;
  padding: 11px 14px;
  margin: 0 8px 12px 0;
  display: inline-block;
  vertical-align: top;
  -webkit-border-radius: 9px;
  -moz-border-radius: 9px;
  border-radius: 9px;
  background: red;
  color: white;
  font-size: 14px;
  line-height: 20px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none !important;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a.btn:hover,
.editor-styles-wrapper .gt-block a.btn:hover {
  background: white;
  color: red;
  box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.16);
}
label.checkbox,
label.radio {
  padding: 0 0 0 30px;
  position: relative;
  display: inline-block;
  vertical-align: top;
  color: #5f5d69;
  font-size: 14px;
  line-height: 22px;
  font-weight: 500;
}
.icheckbox,
.iradio {
  width: 22px;
  height: 22px;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  background: white;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.icheckbox:after,
.iradio:after {
  content: " ";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center center;
}
.icheckbox.checked:after,
.iradio.checked:after {
  opacity: 1;
}
.icheckbox:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='10.925' viewBox='0 0 13 10.925'%3E%3Cpath fill='%2347009b' d='M6717.99,5148.405h0a1.5,1.5,0,0,1-1.128-.512l-3.061-3.5a1.5,1.5,0,1,1,2.257-1.977l1.933,2.208,5.811-6.636a1.5,1.5,0,0,1,2.257,1.977l-6.939,7.925A1.5,1.5,0,0,1,6717.99,5148.405Z' transform='translate(-6713.429 -5137.48)'/%3E%3C/svg%3E");
}
.iradio:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Ccircle fill='%2347009b' cx='6' cy='6' r='6'/%3E%3C/svg%3E");
}
.slick-arrow {
  width: 6.4rem;
  height: 6.4rem;
  position: absolute;
  top: 50%;
  display: block;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: grey;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 2.6rem auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cg id='Group_2' data-name='Group 2' transform='translate(-0.162)'%3E%3Crect id='Rectangle_28' data-name='Rectangle 28' width='26' height='26' transform='translate(0.162)' fill='%23fff' opacity='0'/%3E%3Cg id='Group_1' data-name='Group 1' transform='translate(10 5)'%3E%3Cpath id='Path_1' data-name='Path 1' d='M2646.564,4075.4h0a3.2,3.2,0,0,1,0-4.528l3.342-3.342-3.342-3.342a3.2,3.2,0,0,1,0-4.527h0l7.87,7.869Z' transform='translate(-2645.626 -4059.663)' fill='%23121524'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.slick-arrow:hover {
  background-color: grey;
}
.slick-arrow.prev {
  left: 0;
  -webkit-transform: rotate(-180deg);
  -moz-transform: rotate(-180deg);
  -o-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
.slick-arrow.next {
  right: 0;
}
.slick-arrow.slick-hidden,
.slick-arrow.slick-disabled {
  display: none;
}
.slick-dots {
  width: 100%;
  list-style: none;
  text-align: center;
}
.slick-dots li {
  padding: 0 1.4rem;
  display: inline-block;
  vertical-align: top;
}
.slick-dots li button {
  width: 1.2rem;
  height: 1.2rem;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 50px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background: #C4C6CF;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
.slick-dots li button:hover {
  background: black;
}
.slick-dots li.slick-active button {
  background: black;
}
/* loading */
.loading-component {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  overflow: hidden;
  height: 0px;
  z-index: 100;
  background: rgba(248, 248, 248, 0.7);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
/*&.loading .loading-component
{
    height: calc(100% + 1px);
    opacity: 1;
}*/
.loading-component .loading-animation {
  width: 80px;
  height: 80px;
  display: inline-block;
  vertical-align: top;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 50;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.loading-component .loading-animation span {
  position: absolute;
  width: 6px;
  height: 6px;
  background: black;
  border-radius: 50%;
  animation: loading-component-animation 1.2s linear infinite;
}
.loading-component .loading-animation span:nth-child(1) {
  animation-delay: 0s;
  top: 37px;
  left: 66px;
}
.loading-component .loading-animation span:nth-child(2) {
  animation-delay: -0.1s;
  top: 22px;
  left: 62px;
}
.loading-component .loading-animation span:nth-child(3) {
  animation-delay: -0.2s;
  top: 11px;
  left: 52px;
}
.loading-component .loading-animation span:nth-child(4) {
  animation-delay: -0.3s;
  top: 7px;
  left: 37px;
}
.loading-component .loading-animation span:nth-child(5) {
  animation-delay: -0.4s;
  top: 11px;
  left: 22px;
}
.loading-component .loading-animation span:nth-child(6) {
  animation-delay: -0.5s;
  top: 22px;
  left: 11px;
}
.loading-component .loading-animation span:nth-child(7) {
  animation-delay: -0.6s;
  top: 37px;
  left: 7px;
}
.loading-component .loading-animation span:nth-child(8) {
  animation-delay: -0.7s;
  top: 52px;
  left: 11px;
}
.loading-component .loading-animation span:nth-child(9) {
  animation-delay: -0.8s;
  top: 62px;
  left: 22px;
}
.loading-component .loading-animation span:nth-child(10) {
  animation-delay: -0.9s;
  top: 66px;
  left: 37px;
}
.loading-component .loading-animation span:nth-child(11) {
  animation-delay: -1s;
  top: 62px;
  left: 52px;
}
.loading-component .loading-animation span:nth-child(12) {
  animation-delay: -1.1s;
  top: 52px;
  left: 62px;
}
@keyframes loading-component-animation {
  0%,
  20%,
  80%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.5);
  }
}
.gt-block form,
.editor-styles-wrapper .gt-block form {
  position: relative;
}
.gt-block form label:not(.checkbox):not(.radio),
.editor-styles-wrapper .gt-block form label:not(.checkbox):not(.radio) {
  padding: 0 0 4px 10px;
  display: block;
  color: black;
  font-size: 14px;
  line-height: 16px;
  font-weight: 500;
}
.gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio]),
.editor-styles-wrapper .gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio]),
.gt-block form textarea,
.editor-styles-wrapper .gt-block form textarea,
.gt-block form select,
.editor-styles-wrapper .gt-block form select {
  width: 100%;
  height: 44px;
  padding: 0 34px;
  border: none;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  color: #000;
  font-size: 14px;
  letter-spacing: -0.01em;
  font-weight: 500;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):hover,
.editor-styles-wrapper .gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):hover,
.gt-block form textarea:hover,
.editor-styles-wrapper .gt-block form textarea:hover,
.gt-block form select:hover,
.editor-styles-wrapper .gt-block form select:hover,
.gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):focus,
.editor-styles-wrapper .gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):focus,
.gt-block form textarea:focus,
.editor-styles-wrapper .gt-block form textarea:focus,
.gt-block form select:focus,
.editor-styles-wrapper .gt-block form select:focus {
  -webkit-box-shadow: 0 0 0 1px #000 inset;
  -moz-box-shadow: 0 0 0 1px #000 inset;
  box-shadow: 0 0 0 1px #000 inset;
}
.gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio])::-webkit-input-placeholder,
.editor-styles-wrapper .gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio])::-webkit-input-placeholder,
.gt-block form textarea::-webkit-input-placeholder,
.editor-styles-wrapper .gt-block form textarea::-webkit-input-placeholder,
.gt-block form select::-webkit-input-placeholder,
.editor-styles-wrapper .gt-block form select::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #8A8E91;
  opacity: 1;
}
.gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio])::-moz-placeholder,
.editor-styles-wrapper .gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio])::-moz-placeholder,
.gt-block form textarea::-moz-placeholder,
.editor-styles-wrapper .gt-block form textarea::-moz-placeholder,
.gt-block form select::-moz-placeholder,
.editor-styles-wrapper .gt-block form select::-moz-placeholder {
  /* Firefox 19+ */
  color: #8A8E91;
  opacity: 1;
}
.gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):-ms-input-placeholder,
.editor-styles-wrapper .gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):-ms-input-placeholder,
.gt-block form textarea:-ms-input-placeholder,
.editor-styles-wrapper .gt-block form textarea:-ms-input-placeholder,
.gt-block form select:-ms-input-placeholder,
.editor-styles-wrapper .gt-block form select:-ms-input-placeholder {
  /* IE 10+ */
  color: #8A8E91;
  opacity: 1;
}
.gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):-moz-placeholder,
.editor-styles-wrapper .gt-block form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):-moz-placeholder,
.gt-block form textarea:-moz-placeholder,
.editor-styles-wrapper .gt-block form textarea:-moz-placeholder,
.gt-block form select:-moz-placeholder,
.editor-styles-wrapper .gt-block form select:-moz-placeholder {
  /* Firefox 18- */
  color: #8A8E91;
  opacity: 1;
}
.gt-block form select,
.editor-styles-wrapper .gt-block form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-repeat: no-repeat;
  background-position: right 32px center;
  background-size: 13px auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.098' height='6.207' viewBox='0 0 13.098 6.207'%3E%3Cg transform='translate(1 1)'%3E%3Cpath d='M11.1,5.207a1,1,0,0,1-.6-.2L5.549,1.255.6,5A1,1,0,0,1-.8,4.811,1,1,0,0,1-.6,3.41L4.945-.8a1,1,0,0,1,1.208,0L11.7,3.41a1,1,0,0,1-.6,1.8Z' transform='translate(11.098 4.207) rotate(180)' fill='%23a9acb5'/%3E%3C/g%3E%3C/svg%3E");
}
.gt-block form textarea,
.editor-styles-wrapper .gt-block form textarea {
  height: 320px;
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 22px;
}
.gt-block form div.input,
.editor-styles-wrapper .gt-block form div.input {
  padding: 0 0 10px 0;
}
.gt-block form div.inputs-row,
.editor-styles-wrapper .gt-block form div.inputs-row {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  flex-flow: row;
  align-items: flex-start;
  gap: 10px;
}
.gt-block form span.error-empty,
.editor-styles-wrapper .gt-block form span.error-empty,
.gt-block form span.error-format,
.editor-styles-wrapper .gt-block form span.error-format,
.gt-block form span.error-data,
.editor-styles-wrapper .gt-block form span.error-data {
  display: block;
  overflow: hidden;
  color: red;
  font-size: 14px;
  line-height: 16px;
  font-weight: bold;
  opacity: 1;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  max-height: 0px;
  padding: 0;
  opacity: 0;
}
.gt-block form .has-error-empty span.error-empty,
.editor-styles-wrapper .gt-block form .has-error-empty span.error-empty,
.gt-block form .has-error-format span.error-format,
.editor-styles-wrapper .gt-block form .has-error-format span.error-format,
.gt-block form .has-error-data span.error-data,
.editor-styles-wrapper .gt-block form .has-error-data span.error-data {
  max-height: 40px;
  padding: 8px 0 6px 10px;
  opacity: 1;
}
.gt-block form div.inputs,
.editor-styles-wrapper .gt-block form div.inputs {
  /* clear */
}
.gt-block form div.inputs:after,
.editor-styles-wrapper .gt-block form div.inputs:after {
  content: " ";
  width: 100%;
  height: 0px;
  display: block;
  overflow: hidden;
  clear: both;
}
.gt-block form div.sent,
.editor-styles-wrapper .gt-block form div.sent {
  padding: 40px 0;
  color: black;
  font-size: 20px;
  line-height: 30px;
  font-weight: bold;
  text-align: center;
}
.gt-block form div.sent a,
.editor-styles-wrapper .gt-block form div.sent a {
  text-decoration: underline;
}
.gt-block form div.sent a:hover,
.editor-styles-wrapper .gt-block form div.sent a:hover {
  text-decoration: none;
}
.gt-block form .loading-component,
.editor-styles-wrapper .gt-block form .loading-component {
  background: rgba(0, 0, 0, 0);
}
.gt-block form .loading-component .loading-animation span,
.editor-styles-wrapper .gt-block form .loading-component .loading-animation span {
  background: black;
}
.gt-block form.loading *:not(.loading-component),
.editor-styles-wrapper .gt-block form.loading *:not(.loading-component) {
  opacity: 0.7;
}
.gt-block form.loading .loading-component,
.editor-styles-wrapper .gt-block form.loading .loading-component {
  height: 100%;
  opacity: 1;
}
.gt-block form.loading .loading-component *,
.editor-styles-wrapper .gt-block form.loading .loading-component * {
  opacity: 1;
}
/* PAGES (better to include direct CSS file on the page) */
/*
    Barevné skvrny za hero a kartami „Kam se vydáš?“.
    Leží nad fotkou hero, pod textem a dalšími sekcemi.
*/
.page-home {
  position: relative;
  overflow: hidden;
}
.page-home__wash {
  height: 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 2;
  pointer-events: none;
}
.page-home__wash-item {
  height: auto;
  position: absolute;
  display: block;
}
.page-home__wash-item--red {
  width: min(119.59vw, 2296px);
  left: min(58.321vw, 1120px);
  top: min(21.076vw, 405px);
}
.page-home__wash-item--yellow {
  width: min(116.172vw, 2230px);
  left: min(2.272vw, 44px);
  top: min(10.306vw, 198px);
}
/* #endregion */
/*
    Hero. Rám 1920 px, obsah 1440 px. Všechny rozměry jsou fluidní vůči té šířce.
*/
.hero {
  /* 1104 / 1920 = 57.5vw, 1024 / 1920 = 53.333vw. Obsah 1440 px. */
  --hero-height: clamp(560px, 57.5vw, 1104px);
  --hero-media-height: clamp(520px, 53.333vw, 1024px);
  box-sizing: border-box;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: max(var(--page-gutter), calc((100% - 1440px) / 2));
  padding-right: max(var(--page-gutter), calc((100% - 1440px) / 2));
  position: relative;
  min-height: var(--hero-height);
  /* headline box starts at y = 323 of the 1104 frame */
  padding-top: clamp(150px, 16.823vw, 323px);
  padding-bottom: clamp(24px, 2vw, 40px);
  overflow: hidden;
  background: white;
  font-family: 'Inter', 'Open Sans', Arial, sans-serif;
}
.hero__media {
  width: 100%;
  height: var(--hero-media-height);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  overflow: hidden;
}
.hero__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  /* the 1920x1920 render is shifted up by 685.9px inside the 1024px tall box */
  object-position: 50% 76.55%;
}
.hero__overlay {
  position: absolute;
  left: 0;
  z-index: 1;
  display: block;
  pointer-events: none;
}
/* white wash from the left so the headline stays readable (1754 1920) */
.hero__overlay--side {
  width: 91.354%;
  height: 100%;
  top: 0;
  background: linear-gradient(83.163deg, #ffffff 11.594%, rgba(255, 255, 255, 0.898) 34.838%, rgba(255, 255, 255, 0) 80.887%);
}
/* white fade dissolving the photo into the page (y 328 -> 1040) */
.hero__overlay--bottom {
  width: 100%;
  height: calc(var(--hero-height) * 0.64493);
  top: calc(var(--hero-height) * 0.2971);
  background: linear-gradient(0.376deg, #ffffff 10.701%, rgba(255, 255, 255, 0.667) 41.83%, rgba(255, 255, 255, 0) 74.107%);
}
.hero__decor {
  height: var(--hero-height);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 3;
  pointer-events: none;
}
.hero__swallow {
  height: auto;
  position: absolute;
  display: block;
}
.hero__swallow--top {
  width: clamp(38px, 4.456vw, 85.55px);
  left: 63.985%;
  top: -2.427%;
  aspect-ratio: 85.5499 / 85.2911;
}
.hero__swallow--warm {
  width: clamp(62px, 7.348vw, 141.08px);
  left: 66.977%;
  top: 59.626%;
  aspect-ratio: 141.082 / 141.107;
}
.hero__swallow--cool {
  width: clamp(88px, 10.339vw, 198.51px);
  left: 75.468%;
  top: 59.626%;
  aspect-ratio: 198.506 / 198.471;
}
.hero__inner {
  position: relative;
  z-index: 4;
}
/*
    72 80, tracking -0.32px. The two designed lines are set to stay unbroken at the full 72px; the cap only kicks in for longer editor input.
*/
.hero__title {
  max-width: 708px;
  margin: 0;
  color: #242424;
  font-size: clamp(34px, 3.75vw, 72px);
  line-height: 1.1112;
  font-weight: 400;
  letter-spacing: -0.0044em;
}
.hero__title-line {
  display: block;
}
.hero__title-accent {
  color: #ba4458;
  font-style: normal;
  font-weight: 700;
}
/*
    22 30, tracking 0.44px. Šířka 632 px, na telefonu se drží v bílém přechodu vlevo, ať text nejde do fotky.
*/
.hero__text {
  max-width: min(632px, 100%);
  margin: clamp(16px, 1.693vw, 32px) 0 0;
  color: #242424;
  font-size: clamp(16px, 1.1458vw, 22px);
  line-height: 1.3637;
  font-weight: 400;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1023px) {
  .hero__text {
    max-width: min(632px, 72%);
  }
}
@media screen and (max-width: 599px) {
  .hero__text {
    max-width: min(632px, 62%);
  }
}
/* #endregion */
/* #region KAM SE VYDÁŠ */
/* Návrh: plocha 1920 px, obsah 1440 px (karty 3 x 464 px s mezerou 24 px),
   karta 464 x 487 px, vnitřní okraj karty 30 px. Rozměry pod 1440 px
   zmenšujeme přes clamp(), aby si sekce držela proporce návrhu. */
.pathways {
  --card-pad: clamp(20px, 2.084vw, 30px);
  --card-radius: 20px;
  position: relative;
  z-index: 10;
  margin-top: clamp(-280px, -14.58vw, -80px);
  padding: 0 0 clamp(60px, 7vw, 110px);
  font-family: 'Inter', 'Open Sans', sans-serif;
}
.pathways__shapes {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
/* 1920 px rámec návrhu: 240 px okraje + 1440 px obsahu. */
.pathways__container {
  box-sizing: border-box;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: max(var(--page-gutter), calc((100% - 1440px) / 2));
  padding-right: max(var(--page-gutter), calc((100% - 1440px) / 2));
  position: relative;
  z-index: 10;
}
/* ikona 32,73 px vlevo, text odsazený o 55 px */
.pathways__header {
  margin: 0 0 clamp(56px, 7.25vw, 108px);
}
.pathways__title {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.55vw, 22.3px);
  margin: 0;
  color: #313131;
  font-size: clamp(26px, 2.5vw, 36px);
  line-height: 1.5556;
  font-weight: 700;
}
.pathways__title-icon {
  flex: none;
  width: clamp(24px, 2.273vw, 32.73px);
  height: auto;
  aspect-ratio: 1;
}
/* zarovnáno pod text nadpisu, tedy 55 px od levého okraje */
.pathways__lead {
  margin: 0;
  padding-left: calc(clamp(24px, 2.273vw, 32.73px) + clamp(14px, 1.55vw, 22.3px));
  color: #242424;
  font-size: clamp(17px, 1.528vw, 22px);
  line-height: 1.3637;
  letter-spacing: 0.02em;
}
/* Rám okolo mřížky - drží dekorativní spojnici a popisky u ní. */
.pathways__board {
  position: relative;
}
/* spojnice přesahuje mřížku vlevo o 32 px a nahoru o 95 px */
.pathways__trail {
  position: absolute;
  left: -2.229%;
  top: -95px;
  width: 107.955%;
  height: auto;
  pointer-events: none;
  display: none;
}
/* popisky ukotvené k bodům na spojnici */
.pathways__note {
  position: absolute;
  display: none;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.pathways__note--one {
  left: 3.194%;
  bottom: 100%;
  margin-bottom: 25px;
  color: #8e3d89;
}
.pathways__note--two {
  left: 71.042%;
  bottom: 100%;
  margin-bottom: 25px;
  color: #ffc800;
}
.pathways__note--three {
  left: 69.861%;
  top: 100%;
  margin-top: 24px;
  color: var(--theme-primary);
}
.pathways__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(16px, 1.667vw, 24px);
  position: relative;
  z-index: 1;
}
.pathways__card {
  --card-color: #8e3d89;
  --card-rgb: 142, 61, 137;
  --card-btn-text: #ffffff;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 487px;
  background-color: #ffffff;
  border-radius: var(--card-radius);
  overflow: hidden;
  /* Loga se pak škálují spolu se šířkou karty (viz .pathways__logo). */
  container-type: inline-size;
}
.pathways__card--purple {
  --card-color: #8e3d89;
  --card-rgb: 142, 61, 137;
}
.pathways__card--blue {
  --card-color: var(--theme-primary);
  --card-rgb: var(--theme-primary-rgb);
}
.pathways__card--yellow {
  --card-color: #ffc800;
  --card-rgb: 255, 200, 0;
  --card-btn-text: #242424;
}
.pathways__card--green {
  --card-color: #00c08d;
  --card-rgb: 0, 192, 141;
}
.pathways__card--pink {
  --card-color: #ba4458;
  --card-rgb: 188, 61, 86;
}
.pathways__card--dark {
  --card-color: #262337;
  --card-rgb: 38, 35, 55;
}
/* Education.cz - tlačítko přebírá žlutou, glow zůstává tmavý */
.pathways__card--dark .pathways__btn {
  --card-color: #ffc800;
  --card-btn-text: #242424;
}
.pathways__media {
  position: relative;
  z-index: 0;
  height: 250px;
  flex: none;
}
.pathways__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* bílé rozplynutí fotky, začíná 26 px pod horní hranou karty */
.pathways__fade {
  position: absolute;
  left: 0;
  right: 0;
  top: 26px;
  bottom: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.92) 92.32%, #ffffff 100%);
}
/*
    barevný nádech spodní části karty; průhlednost je součástí gradientu, poslední zarážka leží až za hranou prvku (129,24 %)
*/
.pathways__glow {
  position: absolute;
  left: 0;
  right: 0;
  top: 80px;
  bottom: 0;
  z-index: 1;
  border-radius: var(--card-radius);
  background-image: linear-gradient(159.676deg, rgba(var(--card-rgb), 0) 35.696%, rgba(var(--card-rgb), 0) 49.187%, rgba(var(--card-rgb), 0.212) 92.411%, rgba(var(--card-rgb), 1) 129.24%);
  pointer-events: none;
}
/* vlaštovka je nad fotkou i nad rozplynutím, ořez má v sobě SVG */
.pathways__swallow {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: auto;
  pointer-events: none;
}
/* 59 px, posazená 32 px od horní a 33 px od levé hrany */
.pathways__play {
  position: absolute;
  left: 33px;
  top: 32px;
  z-index: 4;
  display: block;
  width: clamp(44px, 4.097vw, 59px);
  height: clamp(44px, 4.097vw, 59px);
  padding: 0;
  border: 0;
  background: none;
  color: var(--card-color);
  text-decoration: none;
  cursor: default;
  transition: transform 0.25s ease;
}
.pathways__play svg {
  display: block;
  width: 100%;
  height: 100%;
}
.pathways__play:link,
.pathways__play:visited {
  color: var(--card-color);
  text-decoration: none;
  cursor: pointer;
}
.pathways__play:hover,
.pathways__play:focus-visible {
  color: var(--card-color);
  text-decoration: none;
  transform: scale(1.06);
}
.pathways__body {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 0 var(--card-pad) 36px;
}
/* Logo je v návrhu zarovnané spodní hranou 307 px od horní hrany karty. */
.pathways__head {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex-grow: 1;
  padding: 5px 0 35px;
}
/* Návrh: karta 464 px, logo vysoké 52,35 px (11,283 %); u Předškolní
   a mimoškolní pedagogiky je trojřádkové, tedy 79,38 px (17,108 %). */
.pathways__logo {
  display: block;
  align-self: flex-start;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 52.35px;
  max-height: 11.283cqw;
}
.pathways__card--pink .pathways__logo {
  max-height: 79.38px;
  max-height: 17.108cqw;
}
/* doprovodný text u Education.cz */
.pathways__claim {
  margin: 14px 0 0;
  color: #262337;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.2223;
  letter-spacing: 0.02em;
}
/* Křídlo z použité jako maska na obou koncích tlačítka. */
/*
    tvar vlaštovčího ocasu; krajní křídla mají pevnou šířku (maska), střední pruh se roztahuje podle délky textu
*/
.pathways__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-width: 190px;
  height: 47px;
  margin: 0 0 14px;
  padding: 0 36px;
  color: var(--card-btn-text);
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 600;
  line-height: 1.5556;
  letter-spacing: -0.027em;
  text-align: center;
  text-decoration: none;
  background-image: linear-gradient(var(--card-color), var(--card-color));
  background-repeat: no-repeat;
  background-position: 25px 0;
  background-size: calc(100% - 54px) 100%;
  transition: filter 0.25s ease;
}
.pathways__btn::before,
.pathways__btn::after {
  content: "";
  position: absolute;
  top: 0;
  width: 58.812px;
  height: 100%;
  background-color: var(--card-color);
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2058.812%2047.176'%3E%3Cpath%20d='M9298.915,21624.119v-.131a23.447,23.447,0,0,1,23.422-23.434h35.384v.461a23.289,23.289,0,0,0-10.414,5.016h-.006a23.647,23.647,0,0,0-4.287,4.727c-.228.336-.456.684-.662,1.031a23.255,23.255,0,0,0-3.43,12.2v.131Zm23.428-23.57a23.422,23.422,0,0,1-23.428-23.428v-.113h40.007v.119a23.442,23.442,0,0,0,18.8,22.967v.455Z'%20transform='translate(-9298.915%20-21576.944)'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2058.812%2047.176'%3E%3Cpath%20d='M9298.915,21624.119v-.131a23.447,23.447,0,0,1,23.422-23.434h35.384v.461a23.289,23.289,0,0,0-10.414,5.016h-.006a23.647,23.647,0,0,0-4.287,4.727c-.228.336-.456.684-.662,1.031a23.255,23.255,0,0,0-3.43,12.2v.131Zm23.428-23.57a23.422,23.422,0,0,1-23.428-23.428v-.113h40.007v.119a23.442,23.442,0,0,0,18.8,22.967v.455Z'%20transform='translate(-9298.915%20-21576.944)'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
}
.pathways__btn::before {
  left: 0;
}
.pathways__btn::after {
  right: 0;
}
.pathways__btn:hover,
.pathways__btn:focus-visible {
  filter: brightness(1.12);
}
.pathways__btn-label {
  position: relative;
  z-index: 1;
}
.pathways__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 10px;
  overflow: visible;
  /* v posledním řádku už tlačítko nemá spodní mezeru (Education.cz) */
}
.pathways__foot .pathways__btn {
  margin-bottom: 0;
}
/*
    stužka 245×47, ne na celou šířku karty. Pravých 46 px je rezerva pro pilulku s datem, která ze stužky vystupuje.
*/
.pathways__event {
  position: relative;
  box-sizing: border-box;
  flex: 0 1 auto;
  width: max-content;
  min-width: 252px;
  max-width: calc(100% - 54px);
  display: flex;
  align-items: center;
  height: 47.17px;
  margin: 0 46px 0 0;
  padding: 0 32px;
  color: var(--card-color);
  text-decoration: none;
}
.pathways__event:hover .pathways__event-title,
.pathways__event:focus-visible .pathways__event-title {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pathways__event-shape {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.pathways__event-title {
  position: relative;
  z-index: 1;
  color: #242424;
  font-size: clamp(15px, 1.25vw, 18px);
  font-weight: 600;
  line-height: 1.5556;
  letter-spacing: -0.027em;
  white-space: nowrap;
}
/* pilulka cca 16 px nad stužkou, přesahuje vpravo, otočení 10° */
.pathways__event-date {
  position: absolute;
  right: -46px;
  top: -24px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 115px;
  height: 33px;
  padding: 0 14px;
  border-radius: 17px;
  background-color: #ffffff;
  color: #242424;
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transform: rotate(-10deg);
}
.pathways__social {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
  flex: none;
}
.pathways__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 26px;
  color: #242424;
  transition: color 0.25s ease;
}
.pathways__social-link svg {
  display: block;
  width: auto;
  height: 100%;
  max-width: 100%;
}
.pathways__social-link:hover,
.pathways__social-link:focus-visible {
  color: var(--card-color);
}
@media screen and (min-width: 768px) {
  .pathways__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Tři sloupce až tam, kde se vejde i dekorativní spojnice z návrhu. */
@media screen and (min-width: 1100px) {
  .pathways__grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .pathways__trail,
  .pathways__note {
    display: block;
  }
}
/* Užší karty na mobilu - zmenšíme povinnou výšku i fotku. */
@media screen and (max-width: 767px) {
  .pathways {
    margin-top: 0;
    padding-top: 8px;
  }
  .pathways__card {
    min-height: 0;
  }
  .pathways__media {
    height: clamp(190px, 52vw, 250px);
  }
  .pathways__body {
    padding-bottom: 40px;
  }
  .pathways__head {
    padding-bottom: 26px;
  }
  .pathways__foot {
    flex-wrap: wrap;
    align-items: flex-start;
    row-gap: 18px;
  }
  .pathways__event {
    flex: 0 1 auto;
    width: max-content;
    min-width: 0;
    max-width: 100%;
    margin-right: 0;
    padding: 0 24px;
  }
  .pathways__event-date {
    right: 8px;
    top: auto;
    bottom: -22px;
    min-width: 0;
    height: 28px;
    padding: 0 12px;
    font-size: 14px;
    transform: rotate(-8deg);
  }
  .pathways__social {
    flex: 0 0 auto;
    margin-top: 4px;
  }
}
/* Úzké karty i ve 2 sloupcích — štítek pod stužkou, uvnitř karty. */
@container (max-width: 430px) {
  .pathways__body {
    padding-bottom: 40px;
  }
  .pathways__foot {
    flex-wrap: wrap;
    align-items: flex-start;
    row-gap: 18px;
  }
  .pathways__event {
    min-width: 0;
    max-width: 100%;
    margin-right: 0;
    padding: 0 24px;
  }
  .pathways__event-date {
    right: 8px;
    top: auto;
    bottom: -22px;
    min-width: 0;
    height: 28px;
    padding: 0 12px;
    font-size: 14px;
    transform: rotate(-8deg);
  }
}
/* #endregion */
/* #region CO JE PRO NÁS DŮLEŽITÉ */
/* Návrh: obsah 1440 px, 5 karet 269 px s mezerou 24 px (5×269+4×24=1441). */
.values {
  position: relative;
  z-index: 10;
  padding: clamp(48px, 5.2vw, 80px) 0 clamp(64px, 6.8vw, 110px);
}
.values__container {
  box-sizing: border-box;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: max(var(--page-gutter), calc((100% - 1440px) / 2));
  padding-right: max(var(--page-gutter), calc((100% - 1440px) / 2));
}
/* stejná kompozice ikony a nadpisu jako u "Kam se vydáš?" */
.values__title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(14px, 1.55vw, 22.3px);
  margin: 0 0 clamp(40px, 4.5vw, 64px);
  color: #313131;
  font-size: clamp(26px, 2.5vw, 36px);
  line-height: 1.5556;
  font-weight: 700;
}
.values__title-icon {
  flex: none;
  width: clamp(24px, 2.273vw, 32.73px);
  height: auto;
  aspect-ratio: 1;
  color: var(--theme-primary);
}
.values__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
/*
    karta 269×372; container-type musí být na kartě, cqw jednotky pak používáme jen na jejích potomcích (nikdy na ní samotné), jinak se nepočítají vůči kartě
*/
.values__card {
  box-sizing: border-box;
  position: relative;
  aspect-ratio: 269 / 372;
  background-color: #ebf2f7;
  border-radius: 20px;
  container-type: inline-size;
}
.values__body {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  height: 100%;
  padding: 17.47cqw 7.43cqw 0;
}
/* ikony mají mírně odlišný poměr stran, ale sdílenou výškovou zónu ~60px / 269px */
.values__icon {
  display: block;
  width: auto;
  height: 22.3cqw;
  max-width: 100%;
  margin-bottom: 10.78cqw;
  object-fit: contain;
}
.values__card-title {
  margin: 0 0 10.78cqw;
  color: var(--theme-primary);
  font-size: 8.18cqw;
  line-height: 1.1818;
  font-weight: 400;
  letter-spacing: 0.02em;
}
.values__card-text {
  margin: 0;
  color: #262337;
  font-size: 5.948cqw;
  line-height: 1.25;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 620px) {
  .values__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 940px) {
  .values__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .values__grid {
    grid-template-columns: repeat(5, 1fr);
  }
  .values__card {
    aspect-ratio: auto;
    min-height: 372px;
  }
}
/* #endregion */
/* #region KDE SÍDLÍME */
/* Návrh: stejná 1920 px mřížka jako "Kam se vydáš?" - obsah 1440 px,
   3 karty 464 px s mezerou 24 px (3×464+2×24=1440). */
.locations {
  position: relative;
  z-index: 10;
  padding: clamp(60px, 6.77vw, 130px) 0;
  font-family: 'Inter', 'Open Sans', sans-serif;
}
.locations__container {
  box-sizing: border-box;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: max(var(--page-gutter), calc((100% - 1440px) / 2));
  padding-right: max(var(--page-gutter), calc((100% - 1440px) / 2));
}
/* stejná kompozice ikony a nadpisu jako u "Kam se vydáš?" "Co je pro nás důležité?" */
.locations__title {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.55vw, 22.3px);
  margin: 0 0 clamp(32px, 4.375vw, 56px);
  color: #313131;
  font-size: clamp(26px, 2.5vw, 36px);
  line-height: 1.5556;
  font-weight: 700;
}
.locations__title-icon {
  flex: none;
  width: clamp(24px, 2.273vw, 32.73px);
  height: auto;
  aspect-ratio: 1;
}
.locations__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(16px, 1.667vw, 24px);
}
/*
    fotka (263 px) sedí na kartě s pozadím #ebf2f7, které prosvítá pod zbytkem obsahu.
*/
.locations__card {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #ebf2f7;
  border-radius: 20px;
  overflow: hidden;
}
.locations__media {
  position: relative;
  height: clamp(180px, 13.698vw, 263px);
  flex: none;
}
.locations__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.locations__body {
  box-sizing: border-box;
  padding: clamp(20px, 2.083vw, 40px) clamp(20px, 2.083vw, 40px) clamp(24px, 2.7vw, 40px);
}
/* název pobočky a dekorativní vlaštovka na stejném řádku */
.locations__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 clamp(14px, 1.09vw, 21px);
}
/* 24 30, tracking 0.48px */
.locations__name {
  margin: 0;
  color: var(--theme-primary);
  font-size: clamp(19px, 1.25vw, 24px);
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.locations__icon {
  flex: none;
  width: auto;
  height: clamp(22px, 1.652vw, 31.74px);
}
.locations__row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 8px;
}
/* 18,07 × 27,7 px špendlík */
.locations__pin {
  flex: none;
  width: clamp(13px, 0.941vw, 18.07px);
  height: auto;
  margin-top: 4px;
}
/* 18 24, tracking 0.36px */
.locations__address {
  margin: 0;
  color: #000000;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.3333;
  letter-spacing: 0.02em;
}
/* 18 24, medium, zarovnané pod adresu (za špendlíkem) */
.locations__phone {
  display: inline-block;
  margin-left: calc(clamp(13px, 0.941vw, 18.07px) + 8px);
  color: #000000;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.3333;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-decoration: none;
}
.locations__phone:hover,
.locations__phone:focus-visible {
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .locations__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* #endregion */
/* #region FUTURUM V ČÍSLECH */
/* Návrh: stejná 1920 px mřížka jako předchozí sekce - obsah 1440 px. */
.numbers {
  position: relative;
  z-index: 10;
  padding: clamp(40px, 4.6vw, 64px) 0;
  background-color: #ffffff;
  font-family: 'Inter', 'Open Sans', sans-serif;
}
.numbers__container {
  box-sizing: border-box;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: max(var(--page-gutter), calc((100% - 1440px) / 2));
  padding-right: max(var(--page-gutter), calc((100% - 1440px) / 2));
}
/* jemný poloprůhledný podklad za celým řádkem (bílá, 60 %, rounded-20) */
.numbers__panel {
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 20px;
  padding: clamp(24px, 3.2vw, 40px) clamp(16px, 3vw, 32px);
}
/*
    Mobil tablet: nadpis na celou šířku nad mřížkou čísel (2, resp. 4 sloupce). Od desktopu (1024px) se nadpis stává první z 5 sloupců ve stejném řádku jako čísla - přesně dle návrhu (y 3566-3682 sdílené s panelem).
*/
.numbers__row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(24px, 2.5vw, 40px) clamp(16px, 2vw, 24px);
  align-items: center;
}
/*
    stejná kompozice ikony a nadpisu jako u předchozích sekcí, nadpis je ale dvouřádkový (leading 42 36).
*/
.numbers__title {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 1.55vw, 22.3px);
  margin: 0;
}
.numbers__title-icon {
  flex: none;
  width: clamp(24px, 2.273vw, 32.73px);
  height: auto;
  aspect-ratio: 1;
}
.numbers__title-text {
  margin: 0;
  color: #313131;
  font-size: clamp(26px, 2.5vw, 36px);
  line-height: 1.1667;
  font-weight: 700;
}
/* růžová u prvních tří, modrá u posledního */
.numbers__item {
  --value-color: #ba4458;
  text-align: center;
}
.numbers__item--pink {
  --value-color: #ba4458;
}
.numbers__item--blue {
  --value-color: var(--theme-primary);
}
/* 52 77, tracking -1.04px */
.numbers__value {
  display: block;
  margin: 0 0 8px;
  color: var(--value-color);
  font-size: clamp(34px, 2.708vw, 52px);
  line-height: 1.4808;
  font-weight: 700;
  letter-spacing: -0.02em;
}
/* 18 24, tracking 0.36px */
.numbers__label {
  margin: 0;
  color: #000000;
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.3333;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .numbers__row {
    grid-template-columns: repeat(4, 1fr);
  }
}
/*
    svislé oddělovače mezi sloupci. V návrhu jsou bílé (na bílém pozadí neviditelné), zde použité v jemné šedé #E5E5E5, aby byly skutečně vidět.
*/
@media screen and (min-width: 1024px) {
  .numbers__row {
    grid-template-columns: auto repeat(4, 1fr);
  }
  .numbers__title {
    grid-column: auto;
    justify-content: flex-start;
    text-align: left;
  }
  .numbers__item {
    padding-left: clamp(16px, 2vw, 32px);
    border-left: 1px solid #e5e5e5;
  }
}
/* #endregion */
/* HOMEWORK / HOMEPAGE STYLES */
.homepage-hero {
  background-color: #2C2C2C;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
}
.homepage-hero:before {
  content: " ";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  overflow: hidden;
  background: linear-gradient(62deg, rgba(48, 48, 46, 0.9) 0%, rgba(48, 48, 46, 0.65) 24%, rgba(48, 48, 46, 0.59) 40%, rgba(48, 48, 46, 0) 77%);
  z-index: 1;
}
.homepage-hero .center {
  z-index: 10;
}
.homepage-card {
  background: #F4F4F4;
  -webkit-border-radius: 9px;
  -moz-border-radius: 9px;
  border-radius: 9px;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.homepage-card:hover {
  -webkit-box-shadow: 0px 15px 25px rgba(0, 0, 0, 0.08);
  -moz-box-shadow: 0px 15px 25px rgba(0, 0, 0, 0.08);
  box-shadow: 0px 15px 25px rgba(0, 0, 0, 0.08);
}
/* #region TAK KAM POLETÍŠ */
.cta {
  position: relative;
  z-index: 10;
  padding: clamp(60px, 6.77vw, 130px) 0;
  background-color: #ffffff;
  font-family: 'Inter', 'Open Sans', sans-serif;
}
.cta__container {
  box-sizing: border-box;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: max(var(--page-gutter), calc((100% - 1440px) / 2));
  padding-right: max(var(--page-gutter), calc((100% - 1440px) / 2));
  position: relative;
}
.cta__panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
/* podkladová barva panelu, přes kterou je foto (#dee9f2) */
.cta__info {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 400px;
  background-color: #dee9f2;
  border-radius: 20px;
}
.cta__photo {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 20px;
}
.cta__photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* foto se zprava rozplývá do plochy panelu, aby na ní byl čitelný text */
.cta__photo-fade {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(270deg, rgba(222, 233, 242, 0) 29.5%, rgba(222, 233, 242, 0.95) 61.4%, #dee9f2 82.7%);
}
/*
    dvě přelétající vlaštovky nad švem foto text, stejný motiv jako v hero. Poziční procenta jsou odvozená od šíře panelu na desktopu (návrh), proto je zobrazujeme až od 1024px - na užší mřížce by kolidovaly s nadpisem.
*/
.cta__decor {
  display: none;
  position: absolute;
  inset: 0;
  overflow: visible;
  pointer-events: none;
  z-index: 2;
}
.cta__swallow {
  position: absolute;
  height: auto;
  display: block;
}
.cta__swallow--warm {
  left: 30%;
  top: -14%;
  z-index: 2;
  width: clamp(56px, 7vw, 96px);
}
.cta__swallow--cool {
  left: 36%;
  top: -14.5%;
  z-index: 1;
  width: clamp(78px, 10vw, 135px);
}
/* Do 1024px stojí text přes celou šíři fotky (v návrhu je foto viditelné jen v levé
   polovině širokého desktop panelu) - proto mu tu dáme vlastní podklad pro čitelnost. */
.cta__content {
  position: relative;
  z-index: 3;
  margin: clamp(16px, 2vw, 24px);
  padding: clamp(20px, 2.6vw, 32px) clamp(24px, 3.1vw, 40px);
  background-color: rgba(222, 233, 242, 0.88);
  border-radius: 16px;
}
/* stejná kompozice ikony a nadpisu jako u ostatních sekcí */
.cta__title {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.55vw, 22.3px);
  margin: 0 0 clamp(16px, 1.67vw, 24px);
  color: #313131;
  font-size: clamp(26px, 2.5vw, 36px);
  line-height: 1.5556;
  font-weight: 700;
}
.cta__title-icon {
  flex: none;
  width: clamp(24px, 2.273vw, 32.73px);
  height: auto;
  aspect-ratio: 1;
}
/* 22 30, tracking 0.44px */
.cta__text {
  max-width: 400px;
  margin: 0 0 clamp(16px, 1.67vw, 24px);
  color: #242424;
  font-size: clamp(16px, 1.53vw, 22px);
  line-height: 1.3637;
  font-weight: 500;
  letter-spacing: 0.02em;
}
/* 24px bold */
.cta__email {
  display: block;
  color: var(--theme-primary);
  font-size: clamp(18px, 1.667vw, 24px);
  font-weight: 700;
  text-decoration: none;
}
.cta__email:hover,
.cta__email:focus-visible {
  text-decoration: underline;
}
/* přechod tmavě modrá -> tyrkysová */
.cta__form-wrap {
  box-sizing: border-box;
  position: relative;
  z-index: 5;
  padding: clamp(32px, 3.33vw, 48px);
  border-radius: 20px;
  background-image: linear-gradient(135deg, var(--theme-primary) 0%, #00c08d 100%);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
}
.cta__form-title {
  margin: 0 0 clamp(24px, 2.5vw, 32px);
  color: var(--theme-on-primary);
  font-size: clamp(18px, 1.53vw, 22px);
  font-weight: 600;
}
.cta__form {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 1.67vw, 24px);
}
.cta__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(16px, 1.67vw, 24px);
}
/* popisky polí - 16px regular, tracking 0.32px */
.cta__label {
  display: block;
  margin: 0 0 8px;
  color: var(--theme-on-primary);
  font-size: clamp(14px, 1.11vw, 16px);
  font-weight: 400;
  letter-spacing: 0.02em;
}
/* bílá pole 40 px vysoká */
.cta__input {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: clamp(38px, 2.083vw, 40px);
  padding: 0 16px;
  border: 0;
  border-radius: 5px;
  outline: none;
  background-color: #ffffff;
  color: #2c2c2c;
  font-size: 14px;
  font-family: inherit;
  transition: box-shadow 0.2s ease;
}
.cta__input:focus-visible {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.6);
}
/* vlastní tmavá šipka místo výchozí prohlížečové */
.cta__select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23262337' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
  cursor: pointer;
}
.cta__textarea {
  height: auto;
  min-height: clamp(72px, 4.2vw, 80px);
  padding: 12px 16px;
  line-height: 1.4;
  resize: none;
}
/* stejná stužka jako u karet oborů (.pathways__btn), jen ve žluté */
.cta__submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  height: 47px;
  padding: 0 36px;
  border: 0;
  color: #262337;
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 600;
  line-height: 1.5556;
  letter-spacing: -0.027em;
  text-align: center;
  cursor: pointer;
  background-color: transparent;
  background-image: linear-gradient(#ffc800, #ffc800);
  background-repeat: no-repeat;
  background-position: 25px 0;
  background-size: calc(100% - 54px) 100%;
  transition: filter 0.25s ease;
}
.cta__submit::before,
.cta__submit::after {
  content: "";
  position: absolute;
  top: 0;
  width: 58.812px;
  height: 100%;
  background-color: #ffc800;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2058.812%2047.176'%3E%3Cpath%20d='M9298.915,21624.119v-.131a23.447,23.447,0,0,1,23.422-23.434h35.384v.461a23.289,23.289,0,0,0-10.414,5.016h-.006a23.647,23.647,0,0,0-4.287,4.727c-.228.336-.456.684-.662,1.031a23.255,23.255,0,0,0-3.43,12.2v.131Zm23.428-23.57a23.422,23.422,0,0,1-23.428-23.428v-.113h40.007v.119a23.442,23.442,0,0,0,18.8,22.967v.455Z'%20transform='translate(-9298.915%20-21576.944)'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2058.812%2047.176'%3E%3Cpath%20d='M9298.915,21624.119v-.131a23.447,23.447,0,0,1,23.422-23.434h35.384v.461a23.289,23.289,0,0,0-10.414,5.016h-.006a23.647,23.647,0,0,0-4.287,4.727c-.228.336-.456.684-.662,1.031a23.255,23.255,0,0,0-3.43,12.2v.131Zm23.428-23.57a23.422,23.422,0,0,1-23.428-23.428v-.113h40.007v.119a23.442,23.442,0,0,0,18.8,22.967v.455Z'%20transform='translate(-9298.915%20-21576.944)'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
}
.cta__submit::before {
  left: 0;
}
.cta__submit::after {
  right: 0;
}
.cta__submit:hover,
.cta__submit:focus-visible {
  filter: brightness(1.12);
}
/* Křídla (::before/::after) mají position:absolute a bez vlastního stackovacího kontextu by
   se vykreslila NAD běžným textem tlačítka a překryla první/poslední písmena - proto je popisek
   zabalený ve vlastním position:relative prvku s vyšším z-indexem (stejně jako .pathways__btn-label). */
.cta__submit-label {
  position: relative;
  z-index: 1;
}
/* CF7 uvnitř CTA karty — stejná pole jako dummy .cta__form */
.cta__form-wrap .wpcf7 {
  margin: 0;
}
.cta__form-wrap .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 1.67vw, 24px);
}
.cta__form-wrap .wpcf7-form > p {
  margin: 0;
}
.cta__form-wrap .cta__label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}
.cta__form-wrap .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.cta__form-wrap .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: var(--theme-on-primary);
  font-size: 13px;
  line-height: 1.3;
}
.cta__form-wrap .wpcf7-response-output {
  margin: 0;
  padding: 12px 14px;
  border-color: rgba(255, 255, 255, 0.45);
  color: var(--theme-on-primary);
  font-size: 14px;
  line-height: 1.4;
}
.cta__form-wrap .wpcf7-spinner {
  background-color: #ffffff;
  vertical-align: middle;
}
.cta__form-wrap .cta__field--submit {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
/* .gt-ribbon CSS je jinak jen u Gutenberg bloků — homepage ho potřebuje u CF7 submitu */
.cta__form-wrap .gt-ribbon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  height: 47px;
  margin: 0;
  padding: 0 36px;
  color: #ffc800;
  text-decoration: none;
  transition: filter 0.25s ease;
}
.cta__form-wrap .gt-ribbon:hover,
.cta__form-wrap .gt-ribbon:focus-visible {
  filter: brightness(1.12);
}
.cta__form-wrap button.gt-ribbon {
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
}
.cta__form-wrap .gt-ribbon__shape {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  pointer-events: none;
}
.cta__form-wrap .gt-ribbon__wing {
  position: relative;
  z-index: 1;
  width: 58.812px;
  height: 100%;
  display: block;
  flex: 0 0 58.812px;
}
.cta__form-wrap .gt-ribbon__mid {
  flex: 1 1 auto;
  margin: 0 -34px;
  background: currentColor;
}
.cta__form-wrap .gt-ribbon .gt-ribbon__label {
  position: relative;
  z-index: 1;
  color: #262337;
  font-family: 'Inter', 'Open Sans', Arial, sans-serif;
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 600;
  line-height: 1.5556;
  letter-spacing: -0.027em;
  text-align: center;
  white-space: nowrap;
}
.cta__form-wrap button.gt-ribbon.wpcf7-submit {
  background: transparent;
}
@media screen and (min-width: 768px) {
  .cta__row {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1024px) {
  .cta__panel {
    flex-direction: row;
    align-items: center;
  }
  .cta__info {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 434px;
  }
  .cta__decor {
    display: block;
  }
  /* od desktopu je foto vidět jen v levé části panelu (viz .cta__photo-fade),
       takže vlastní podklad pod textem už není potřeba */
  .cta__content {
    margin: 0;
    padding: clamp(32px, 4.2vw, 64px);
    background-color: transparent;
    border-radius: 0;
  }
  .cta__form-wrap {
    flex: 0 0 586px;
    width: 586px;
    max-width: 586px;
    margin-top: -40px;
    margin-bottom: -40px;
    margin-left: -32px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  }
}
/* #endregion */
/* BLOCKS  (better to include direct CSS file with the block) */
/*@import url(blocks/XXX.less);*/
