/* =========================================================
   NEO BUILDER — GLOBAL HEADER + FOOTER
========================================================= */

:root {
  --MainBlueColor: #184EC5;
  --HeaderBlue: #4076FF;
  --White: #FFFFFF;
}

/* ================= HEADER ================= */

.neo-site-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 68px;
  pointer-events: none;
}

.neo-header-inner {
  position: relative;
  width: 1202px;
  height: 68px;
  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: space-between;

  pointer-events: auto;
}

.neo-header-logo {
  display: inline-flex;
  align-items: center;
  width: 159.995px;
  height: 34.781px;
  flex: 0 0 159.995px;
  text-decoration: none;
}

.neo-header-logo img {
  display: block;
  width: 159.995px;
  height: 34.781px;
  object-fit: contain;
}

.neo-header-nav {
  display: flex;
  align-items: center;
}

.neo-header-menu {
  display: flex;
  align-items: center;
  gap: 40px;

  margin: 0;
  padding: 0;
  list-style: none;
}

.neo-header-menu li {
  margin: 0;
  padding: 0;
}

.neo-header-menu a {
  font-family: "SF Pro", "SF Pro Display", "Onest", sans-serif;
  font-weight: 510;
  font-size: 12px;
  line-height: 22.4px;
  letter-spacing: 1.4px;
  text-transform: uppercase;

  color: #ffffff;
  text-decoration: none;
  white-space: nowrap;
}

.neo-header-right {
  width: 140px;
  height: 44px;

  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.neo-header-career {
  width: 140px;
  height: 44px;

  padding: 12px 28px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  border-radius: 100px;
  background: #4076FF;

  font-family: "SF Pro", "SF Pro Display", "Onest", sans-serif;
  font-weight: 510;
  font-size: 13px;
  line-height: 20px;
  letter-spacing: .15px;

  color: #ffffff;
  text-decoration: none;
  white-space: nowrap;
}

.neo-header-career img {
  display: block;
  width: 9.333px;
  height: 8px;
  object-fit: contain;
  flex: 0 0 9.333px;
}

.neo-burger {
  display: none;
}

/* ================= MOBILE MENU FIX — SAMSUNG / ANDROID ================= */

.neo-mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  z-index: 999999;

  width: 100%;
  height: 705px;
  max-height: none;

  background: #4076FF;

  display: block;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, -8px, 0);

  overflow: hidden;

  transition:
    opacity .22s ease,
    visibility .22s ease,
    transform .22s ease;
}

body.neo-menu-open .neo-mobile-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}

body.neo-menu-open {
  overflow: hidden;
  touch-action: none;
}

.neo-mobile-menu-inner {
  position: absolute;
  top: 16px;
  left: 20px;
  right: 20px;

  width: auto;
  height: 673px;
  max-width: none;

  display: flex;
  flex-direction: column;
}

.neo-mobile-menu-top {
  width: 100%;
  height: 34px;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.neo-mobile-logo {
  display: inline-flex;
  width: 134px;
  height: 29.130px;
  text-decoration: none;
}

.neo-mobile-logo img {
  display: block;
  width: 134px;
  height: 29.130px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.neo-mobile-close {
  position: relative;
  z-index: 1000000;

  width: 28px;
  height: 28px;

  margin-top: -1px;

  border: 0;
  padding: 0;
  background: #ffffff;
  border-radius: 50%;
  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;
}

.neo-mobile-close span {
  position: absolute;
  top: 13px;
  left: 4px;

  display: block;
  width: 20.886px;
  height: 1.741px;

  background: #5281F8;
  border-radius: 20px;
}

.neo-mobile-close span:first-child {
  transform: rotate(-45deg);
}

.neo-mobile-close span:last-child {
  transform: rotate(45deg);
}

.neo-mobile-nav {
  margin-top: 65px;
}

.neo-mobile-menu-list {
  margin: 0;
  padding: 0;
  list-style: none;

  display: flex;
  flex-direction: column;
  gap: 34px;
}

.neo-mobile-menu-list li {
  margin: 0;
  padding: 0;
}

.neo-mobile-menu-list a {
  display: inline-flex;

  font-family: "SF Pro", "SF Pro Display", "Onest", sans-serif;
  font-weight: 590;
  font-size: 24px;
  line-height: 100%;
  letter-spacing: -0.04em;

  color: #ffffff;
  text-decoration: none;
}

.neo-mobile-big-logo {
  width: 100%;
  height: auto;
  min-height: 152px;

  margin-top: auto;

  display: flex;
  align-items: flex-end;
  justify-content: stretch;

  overflow: hidden;
}

.neo-mobile-big-logo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 152px;
  object-fit: contain;
  object-position: center bottom;
  opacity: 1;
}

/* ================= FOOTER ================= */

.site-footer {
  width: 100%;
  background: #1C1C1E;
  padding: 80px 0 27px;
}

.footer-container {
  width: 1202px;
  margin: 0 auto;
}

.footer-mobile {
  display: none;
}

.footer-top {
  display: grid;
  grid-template-columns: 258px 180px 180px 180px;
  column-gap: 140px;

  padding-bottom: 72px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-brand {
  width: 258px;
  height: 178px;

  display: flex;
  flex-direction: column;
  gap: 24px;
}

.footer-logo {
  display: inline-flex;
  width: 160px;
  text-decoration: none;
}

.footer-logo img {
  display: block;
  width: 160px;
  height: auto;
}

.footer-tagline {
  margin: -8px 0 0 0;

  font-family: "Onest", sans-serif;
  font-weight: 400;
  font-size: 10px;
  line-height: 16px;
  letter-spacing: 2.2px;
  text-transform: uppercase;

  color: #6B7280;
}

.footer-desc {
  margin: -8px 0 0 0;
  max-width: 258px;

  font-family: "Onest", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 22px;

  color: #8A94A6;
}

.footer-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-col h3 {
  margin: 0 0 28px 0;

  font-family: "Onest", sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 20px;
  letter-spacing: 1.4px;
  text-transform: uppercase;

  color: #8A94A6;
}

.footer-col a {
  margin: 0 0 18px 0;

  font-family: "Onest", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 22px;

  color: #8A94A6;
  text-decoration: none;
}

.footer-col a:last-child {
  margin-bottom: 0;
}

.footer-col a:hover {
  color: #ffffff;
}

.footer-bottom {
  padding-top: 35px;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer-bottom p {
  margin: 0;

  font-family: "Onest", sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 20px;

  color: #6B7280;
}

.footer-legal {
  display: flex;
  align-items: center;
  gap: 40px;
}

.footer-legal a {
  font-family: "Onest", sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 20px;

  color: #6B7280;
  text-decoration: none;
}

.footer-legal a:hover {
  color: #ffffff;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 1300px) {
  .neo-header-inner,
  .footer-container {
    width: calc(100% - 80px);
  }

  .footer-top {
    grid-template-columns: 258px repeat(3, 1fr);
    column-gap: 70px;
  }
}

@media (max-width: 991px) {
  .site-footer {
    padding: 64px 0 56px;
  }

  .footer-container {
    width: calc(100% - 48px);
  }

  .footer-top {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 60px;
    padding-bottom: 56px;
  }

  .footer-brand {
    width: 100%;
    height: auto;
  }

  .footer-bottom {
    display: block;
  }

  .footer-bottom p {
    margin-bottom: 20px;
  }

  .footer-legal {
    gap: 28px;
  }
}

@media (max-width: 575px) {
  .neo-site-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    height: 62px;
    pointer-events: auto;
  }

  .neo-header-inner {
    width: 100%;
    height: 62px;

    margin: 0;
    padding: 16px 20px;

    background: #4076FF;

    pointer-events: auto;
  }

  .neo-header-logo {
    width: 134px;
    height: 29.130px;
    flex: 0 0 134px;
  }

  .neo-header-logo img {
    width: 134px;
    height: 29.130px;
    object-fit: contain;
    filter: brightness(0) invert(1);
  }

  .neo-header-nav,
  .neo-header-career {
    display: none;
  }

  .neo-header-right {
    width: 32px;
    height: 24px;
    flex: 0 0 32px;

    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  .neo-burger {
    position: relative;
    z-index: 1000;

    display: flex;
    width: 32px;
    height: 24px;

    padding: 4px;

    border: 0;
    background: transparent;
    cursor: pointer;

    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 5px;

    appearance: none;
    -webkit-appearance: none;
  }

  .neo-burger span {
    display: block;
    width: 24px;
    height: 2px;
    min-width: 24px;
    min-height: 2px;

    background: #ffffff;
    border-radius: 20px;
  }

  .neo-burger span:nth-child(3) {
    width: 16px;
    min-width: 16px;
  }

  .site-footer {
    padding: 48px 0 42px;
    background: #111111;
  }

  .footer-container {
    width: calc(100% - 40px);
    max-width: 362px;
    margin: 0 auto;
    padding: 0;
  }

  .footer-top,
  .footer-bottom {
    display: none;
  }

  .footer-mobile {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
    height: auto;
  }

  .footer-mobile-logo {
    display: block;
    width: 134px;
    height: 29.13px;
    text-decoration: none;
  }

  .footer-mobile-logo img {
    width: 134px;
    height: 29.13px;
    object-fit: contain;
    filter: brightness(0) invert(1);
  }

  .footer-mobile-desc {
    width: 100%;
    max-width: 300px;
    margin: 0;

    font-family: "SF Pro Rounded", "SF Pro", "Onest", sans-serif;
    font-size: 13px;
    line-height: 21.13px;

    color: rgba(255, 255, 255, .58);
  }

  .footer-mobile-cols {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 34px;

    padding-bottom: 32px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }

  .footer-mobile-col h3 {
    margin: 0 0 16px;

    font-family: "SF Pro", "SF Pro Display", sans-serif;
    font-weight: 510;
    font-size: 10px;
    line-height: 15px;
    letter-spacing: 1.5px;
    text-transform: uppercase;

    color: rgba(255, 255, 255, .42);
  }

  .footer-mobile-col a {
    display: block;
    margin: 0 0 10px;

    font-family: "SF Pro Rounded", "SF Pro", "Onest", sans-serif;
    font-size: 12px;
    line-height: 15px;

    color: rgba(255, 255, 255, .78);
    text-decoration: none;
  }

  .footer-mobile-copy {
    margin: 0;

    font-family: "Inter", "Onest", sans-serif;
    font-size: 11px;
    line-height: 16.5px;
    text-align: center;

    color: rgba(255, 255, 255, .42);
  }
}

@media (max-width: 402px) {
  .neo-mobile-menu-inner {
    left: 20px;
    right: 20px;
    width: auto;
    height: 673px;
  }

  .neo-mobile-big-logo,
  .neo-mobile-big-logo img {
    width: 100%;
  }
}


/* =========================================================
   CONTACT FORM NOTE DESKTOP FIX
========================================================= */

/* =========================================================
   SLUŽBY PAGE — BLACK MENU ONLY, CAREER BUTTON NOT TOUCHED
========================================================= */

/* =========================================================
   SLUŽBY PAGE — BLACK HEADER MENU ONLY
   Career button not touched
========================================================= */



body.page-template-page-sluzby .neo-site-header .neo-header-menu a:hover,
body.page-template-page-sluzby-php .neo-site-header .neo-header-menu a:hover,
body[class*="page-template"][class*="sluzby"] .neo-site-header .neo-header-menu a:hover {
  color: #184EC5 !important;
}

/* кнопку KARIÉRA не чіпаємо */
body.page-template-page-sluzby .neo-site-header .neo-header-career,
body.page-template-page-sluzby-php .neo-site-header .neo-header-career,
body[class*="page-template"][class*="sluzby"] .neo-site-header .neo-header-career {
  color: #ffffff !important;
  background: #4076FF !important;
}

/* =========================================================
   SUCCESS MODAL
========================================================= */

.success-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  width: 100%;
  height: 100%;
}

.success-modal.is-open {
  display: block;
}

.success-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.48);
  backdrop-filter: blur(1px);
}

.success-modal-box {
  position: absolute;
  top: 247px;
  left: 50%;
  transform: translateX(-50%);
  width: 528px;
  height: 490px;
  padding: 48px;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.18);
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}

.success-modal-close {
  position: absolute;
  top: 32px;
  right: 32px;
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 50%;
  background: #4076FF;
  color: #ffffff;
  font-family: "SF Pro", "SF Pro Display", sans-serif;
  font-size: 22px;
  line-height: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.success-modal-check {
  width: 94px;
  height: 94px;
  margin: 0 0 20px;
  border: 6px solid #4076FF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4076FF;
  box-sizing: border-box;
}

.success-modal-check span {
  font-family: "SF Pro", "SF Pro Display", sans-serif;
  font-size: 62px;
  line-height: 1;
  transform: translateY(-2px);
}

.success-modal-box h2 {
  margin: 0 0 18px;
  font-family: "SF Pro", "SF Pro Display", sans-serif;
  font-weight: 510;
  font-size: 64px;
  line-height: 71.81px;
  letter-spacing: -2.11px;
  text-align: center;
  color: #1C1C1E;
}

.success-modal-box p {
  margin: 0 0 24px;
  font-family: "SF Pro", "SF Pro Display", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 32px;
  text-align: center;
  color: #6B7280;
}

.success-modal-main-btn {
  width: 432px;
  height: 48px;
  border-radius: 33554400px;
  background: #4076FF;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-family: "SF Pro", "SF Pro Display", sans-serif;
  font-weight: 510;
  font-size: 16px;
  line-height: 19.5px;
  letter-spacing: 0.15px;
  text-align: center;
  box-shadow: 0 10px 15px rgba(37, 99, 235, 0.28);
  text-decoration: none;
}

.success-modal-main-btn span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  line-height: 1;
}

.success-modal-main-btn span img {
  width: 14px;
  height: 14px;
  display: block;
  object-fit: contain;
}

.success-modal-again {
  margin: 18px 0 0;
  border: 0;
  background: transparent;
  color: #4076FF;
  font-family: "SF Pro", "SF Pro Display", sans-serif;
  font-weight: 510;
  font-size: 16px;
  line-height: 19.5px;
  letter-spacing: 0.15px;
  text-align: center;
  cursor: pointer;
}

body.success-modal-open {
  overflow: hidden;
}

/* Hide default CF7 response text */
.neo-contact-form .wpcf7-response-output,
.contact-form .wpcf7-response-output,
.wpcf7 .wpcf7-response-output {
  display: none !important;
}

/* Mobile */
@media (max-width: 575px) {
  .success-modal-box {
    top: 50%;
    left: 20px;
    right: 20px;
    transform: translateY(-50%);
    width: auto;
    height: auto;
    min-height: 430px;
    padding: 42px 24px 32px;
    border-radius: 24px;
  }

  .success-modal-close {
    top: 22px;
    right: 22px;
  }

  .success-modal-check {
    width: 82px;
    height: 82px;
    margin-bottom: 18px;
  }

  .success-modal-check span {
    font-size: 54px;
  }

  .success-modal-box h2 {
    font-size: 44px;
    line-height: 46.2px;
    letter-spacing: -2px;
  }

  .success-modal-box p {
    font-size: 15px;
    line-height: 24px;
    margin-bottom: 24px;
  }

  .success-modal-main-btn {
    width: 100%;
    height: 48px;
  }

  .success-modal-again {
    font-size: 15px;
  }
}



/* =========================================================
   PROJECT CARD META OVERLAP FIX — DESKTOP ONLY
   Put at the very bottom of neobuilder-header-footer.css
========================================================= */

@media (min-width: 576px) {
  body .project-card .project-meta {
    display: grid !important;
    grid-template-columns: 96px 50px 84px 110px !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    justify-content: start !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body .project-card .project-meta > div {
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    overflow: hidden !important;
  }

  body .project-card .project-meta > div span {
    display: block !important;
    margin-bottom: 8px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body .project-card .project-meta > div strong {
    display: block !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    line-height: 20px !important;
  }

  body .project-card .project-meta > div:nth-child(1) strong {
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  body .project-card .project-meta > div:nth-child(2) strong,
  body .project-card .project-meta > div:nth-child(3) strong,
  body .project-card .project-meta > div:nth-child(4) strong {
    white-space: nowrap !important;
  }
}


/* =========================================================
   GLOBAL SAFE FIX — LARGE SCREENS / TV / ZOOM
   Mobile not touched
========================================================= */

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* Desktop / TV / browser zoom with low height */
@media (min-width: 900px) and (max-height: 820px) {

  .hero-section,
  .career-hero,
  .realizace-hero,
  .service-page-hero,
  .contact-hero,
  .about-page-hero {
    height: 100vh !important;
    min-height: 680px !important;
    max-height: 100vh !important;
    overflow: hidden !important;
  }

  .hero-title,
  .career-hero-title,
  .realizace-hero-title,
  .service-page-title,
  .contact-hero-title,
  .about-page-title {
    font-size: clamp(56px, 6vw, 88px) !important;
    line-height: 0.96 !important;
    letter-spacing: -3.5px !important;
  }

  .hero-text,
  .hero-desc,
  .career-hero-text,
  .realizace-hero-text,
  .service-page-text,
  .contact-hero-text,
  .about-page-text {
    max-width: 560px !important;
    font-size: 15px !important;
    line-height: 24px !important;
  }

  .hero-buttons,
  .career-hero-mobile-actions,
  .realizace-hero-mobile-actions,
  .service-page-mobile-actions,
  .contact-hero-mobile-actions,
  .about-page-mobile-actions {
    max-width: calc(100vw - 80px) !important;
  }

  .hero-buttons .btn,
  .career-hero-cta,
  .realizace-hero-cta,
  .service-page-cta,
  .contact-hero-cta,
  .about-page-cta {
    height: 46px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    white-space: nowrap !important;
  }
}

/* Very low height screens — TV browser / 125–150% zoom */
@media (min-width: 900px) and (max-height: 720px) {

  .hero-title,
  .career-hero-title,
  .realizace-hero-title,
  .service-page-title,
  .contact-hero-title,
  .about-page-title {
    font-size: clamp(48px, 5.2vw, 76px) !important;
    line-height: 0.96 !important;
    letter-spacing: -3px !important;
  }

  .hero-text,
  .hero-desc,
  .career-hero-text,
  .realizace-hero-text,
  .service-page-text,
  .contact-hero-text,
  .about-page-text {
    max-width: 520px !important;
    font-size: 14px !important;
    line-height: 22px !important;
  }

  .hero-buttons {
    right: 36px !important;
    bottom: 44px !important;
    left: auto !important;
    transform: none !important;
  }
}

@media (max-width: 768px) {
  .neo-site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: transparent !important;
    box-shadow: none !important;
  }

  .neo-site-header .neo-header-inner {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .neo-header-logo,
  .neo-header-right,
  .neo-burger {
    position: relative;
    z-index: 2;
  }
}

/* =========================================================
   MOBILE HEADER — TRANSPARENT OVERRIDE
========================================================= */

@media (max-width: 575px) {
  body .neo-site-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 62px !important;
    z-index: 9999 !important;

    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  body .neo-site-header .neo-header-inner {
    width: 100% !important;
    height: 62px !important;
    margin: 0 !important;
    padding: 16px 20px !important;

    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  body .neo-site-header::before,
  body .neo-site-header::after,
  body .neo-site-header .neo-header-inner::before,
  body .neo-site-header .neo-header-inner::after {
    display: none !important;
    content: none !important;
    background: transparent !important;
  }
} 

/* =========================================================
   MOBILE FOOTER — COPYRIGHT + LEGAL LINKS
========================================================= */

@media (max-width: 575px) {
  .footer-mobile-bottom {
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
  }

  .footer-mobile-copy {
    margin: 0;

    font-family: "Inter", "Onest", sans-serif;
    font-weight: 400;
    font-size: 11px;
    line-height: 16.5px;
    text-align: center;

    color: rgba(255, 255, 255, 0.42);
  }

  .footer-mobile-legal {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    font-family: "Inter", "Onest", sans-serif;
    font-weight: 400;
    font-size: 11px;
    line-height: 16.5px;
  }

  .footer-mobile-legal a,
  .footer-mobile-legal span {
    color: rgba(255, 255, 255, 0.42);
  }

  .footer-mobile-legal a {
    text-decoration: none;
  }

  .footer-mobile-legal a:hover {
    color: #ffffff;
  }

  .footer-mobile-col {
    min-width: 0;
  }

  .footer-mobile-col a {
    overflow-wrap: anywhere;
  }
}

/* =========================================================
   DEFAULT LEGAL PAGES
========================================================= */

.neo-legal-page {
  width: 100%;
  background: #ffffff;
}

.neo-legal-container {
  width: 1202px;
  max-width: calc(100% - 80px);
  margin: 0 auto;
}

.neo-legal-hero {
  padding: 160px 0 72px;
  background: #184ec5;
}

.neo-legal-kicker {
  margin-bottom: 20px;

  font-family: "SF Pro", "SF Pro Display", sans-serif;
  font-weight: 510;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1.82px;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.72);
}

.neo-legal-title {
  margin: 0;

  font-family: "SF Pro Display", "SF Pro", sans-serif;
  font-weight: 590;
  font-size: 72px;
  line-height: 76px;
  letter-spacing: -3px;

  color: #ffffff;
}

.neo-legal-content-section {
  padding: 88px 0 120px;
}

.neo-legal-content {
  width: 820px;
  max-width: 100%;

  font-family: "Onest", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 27px;

  color: #3f4652;
}

.neo-legal-content h2 {
  margin: 56px 0 20px;

  font-family: "SF Pro Display", "SF Pro", sans-serif;
  font-weight: 500;
  font-size: 36px;
  line-height: 42px;
  letter-spacing: -1.2px;

  color: #1c1c1e;
}

.neo-legal-content h3 {
  margin: 34px 0 14px;

  font-family: "SF Pro Display", "SF Pro", sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 30px;

  color: #1c1c1e;
}

.neo-legal-content p {
  margin: 0 0 22px;
}

.neo-legal-content ul,
.neo-legal-content ol {
  margin: 0 0 26px;
  padding-left: 24px;
}

.neo-legal-content li {
  margin-bottom: 9px;
}

.neo-legal-content a {
  color: #184ec5;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 575px) {
  .neo-legal-container {
    max-width: calc(100% - 40px);
  }

  .neo-legal-hero {
    padding: 120px 0 52px;
  }

  .neo-legal-title {
    font-size: 42px;
    line-height: 46px;
    letter-spacing: -1.8px;
  }

  .neo-legal-content-section {
    padding: 56px 0 80px;
  }


  .neo-legal-content {
    font-size: 15px;
    line-height: 25px;
  }

  .neo-legal-content h2 {
    margin-top: 44px;
    font-size: 29px;
    line-height: 35px;
    letter-spacing: -0.8px;
  }

  .neo-legal-content h3 {
    font-size: 21px;
    line-height: 27px;
  }
} 

/* =========================================================
   FOOTER — FINAL RESPONSIVE FIX
========================================================= */

/* За замовчуванням мобільний футер прихований */
.footer-mobile,
.site-footer .footer-mobile {
  display: none !important;
}

/* MOBILE + TABLET */
@media (max-width: 991px) {

  /* Ховаємо desktop footer */
  .footer-top,
  .footer-bottom,
  .site-footer .footer-top,
  .site-footer .footer-bottom {
    display: none !important;
  }

  /* Показуємо mobile footer */
  .footer-mobile,
  .site-footer .footer-mobile {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    width: 100% !important;
  }

  .site-footer {
    width: 100% !important;
    padding: 48px 0 38px !important;
    background: #111111 !important;
  }

  .footer-container,
  .site-footer .footer-container {
    width: calc(100% - 40px) !important;
    max-width: 362px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .footer-mobile-logo {
    display: block !important;
    width: 134px !important;
    height: 29.13px !important;
  }

  .footer-mobile-logo img {
    display: block !important;
    width: 134px !important;
    height: 29.13px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
  }

  .footer-mobile-desc {
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 !important;
  }

  .footer-mobile-cols {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 24px !important;
    padding-bottom: 32px !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }

  .footer-mobile-col {
    min-width: 0 !important;
  }

  .footer-mobile-col a {
    overflow-wrap: anywhere !important;
  }

  .footer-mobile-bottom {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 9px !important;
  }

  .footer-mobile-copy {
    margin: 0 !important;
    text-align: center !important;
  }

  .footer-mobile-legal {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
  }
}

/* DESKTOP */
@media (min-width: 992px) {

  .footer-top,
  .site-footer .footer-top {
    display: grid !important;
  }

  .footer-bottom,
  .site-footer .footer-bottom {
    display: flex !important;
  }

  .footer-mobile,
  .site-footer .footer-mobile {
    display: none !important;
  }
}

/* =========================================================
   MOBILE HEADER — BLUE BACKGROUND
========================================================= */

@media (max-width: 991px) {
  body .neo-site-header {
    background: #4076FF !important;
    background-color: #4076FF !important;
  }

  body .neo-site-header .neo-header-inner {
    background: #4076FF !important;
    background-color: #4076FF !important;
    box-shadow: none !important;
    border: 0 !important;
  }
}

/* =========================================================
   NEO BUILDER — GLOBAL HERO HEIGHT FIX
   Použít jako poslední CSS soubor nebo vložit na úplný konec style.css.

   Desktop:
   - hero je přes celou výšku obrazovky
   - obsah hero je 72px od spodního okraje obrazovky

   Mobile:
   - mění se pouze výška/fotka pozadí
   - nerozbíjí se původní rozložení textu a tlačítek
========================================================= */

/* HERO WRAPPERS — ALL PAGES */
.about-hero,
.about-page-hero,
.contact-hero,
.career-hero,
.green-hero,
.pam-hero,
.novo-hero,
.rec-hero,
.sluzby-hero,
.service-page-hero,
.realizace-hero,
.project-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 720px;
  overflow: hidden;
}

@supports (height: 100svh) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: 100svh;
  }
}

@supports (height: 100dvh) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: 100dvh;
  }
}

/* BACKGROUND IMAGES */
.about-hero-bg,
.about-page-hero-img,
.contact-hero-bg,
.career-hero-bg,
.green-hero-img,
.green-hero-bg,
.pam-hero-bg,
.novo-hero-bg,
.rec-hero-bg,
.sluzby-hero-bg,
.service-page-hero-bg,
.realizace-hero-bg,
.project-hero-bg,
.realizace-hero img,
.project-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

/* HERO LAYOUTS */
.about-hero-layout,
.about-page-layout,
.contact-hero-layout,
.career-hero-layout,
.green-hero-layout,
.pam-hero-layout,
.novo-hero-layout,
.rec-hero-layout,
.sluzby-hero-layout,
.service-page-hero-layout,
.realizace-hero-layout,
.project-hero-layout {
  position: relative;
  z-index: 2;
  width: 1202px;
  max-width: calc(100% - 80px);
  height: 100%;
  min-height: 100%;
  margin: 0 auto;
}

/* DESKTOP CONTENT POSITION — 72PX FROM BOTTOM */
@media (min-width: 576px) {
  .about-hero-row,
  .contact-hero-row,
  .career-hero-row,
  .green-hero-row,
  .pam-hero-row,
  .novo-hero-row,
  .rec-hero-row,
  .sluzby-hero-row,
  .service-page-hero-row,
  .realizace-hero-row,
  .project-hero-row {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 72px;
    width: 100%;
    z-index: 5;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 56px;

    transform: none;
  }

  /* Starší O nás markup */
  .about-page-content {
    position: absolute;
    left: 119px;
    top: auto;
    bottom: 72px;
    z-index: 5;
    transform: none;
  }

  .about-page-cta {
    position: absolute;
    right: 119px;
    left: auto;
    top: auto;
    bottom: 72px;
    z-index: 5;
    transform: none;
  }
}

/* LOW DESKTOP HEIGHT — TEXT SCALE ONLY */
@media (min-width: 900px) and (max-height: 820px) {
  .about-hero-title,
  .about-page-title,
  .contact-hero-title,
  .career-hero-title,
  .green-hero-title,
  .pam-hero-title,
  .novo-hero-title,
  .rec-hero-title,
  .sluzby-hero-title,
  .service-page-hero-title,
  .realizace-hero-title,
  .project-hero-title {
    font-size: clamp(64px, 7vw, 112px);
    line-height: .96;
  }

  .about-hero-text,
  .about-page-text,
  .contact-hero-text,
  .career-hero-text,
  .green-hero-text,
  .pam-hero-text,
  .novo-hero-text,
  .rec-hero-text,
  .service-page-hero-text,
  .realizace-hero-text,
  .project-hero-text {
    font-size: 15px;
    line-height: 24px;
  }

  .about-hero-texts,
  .contact-hero-texts,
  .career-hero-texts,
  .green-hero-texts,
  .pam-hero-texts,
  .novo-hero-texts,
  .rec-hero-texts,
  .service-page-hero-texts {
    gap: 18px;
  }
}

@media (min-width: 900px) and (max-height: 700px) {
  .about-hero-title,
  .about-page-title,
  .contact-hero-title,
  .career-hero-title,
  .green-hero-title,
  .pam-hero-title,
  .novo-hero-title,
  .rec-hero-title,
  .sluzby-hero-title,
  .service-page-hero-title,
  .realizace-hero-title,
  .project-hero-title {
    font-size: clamp(52px, 6vw, 86px);
    line-height: .96;
  }

  .about-hero-text,
  .about-page-text,
  .contact-hero-text,
  .career-hero-text,
  .green-hero-text,
  .pam-hero-text,
  .novo-hero-text,
  .rec-hero-text,
  .service-page-hero-text,
  .realizace-hero-text,
  .project-hero-text {
    font-size: 14px;
    line-height: 22px;
  }

  .about-hero-texts,
  .contact-hero-texts,
  .career-hero-texts,
  .green-hero-texts,
  .pam-hero-texts,
  .novo-hero-texts,
  .rec-hero-texts,
  .service-page-hero-texts {
    gap: 14px;
  }
}

/* VERY LOW DESKTOP HEIGHT */
@media (min-width: 900px) and (max-height: 600px) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: auto;
    min-height: 640px;
  }

  .about-hero-layout,
  .about-page-layout,
  .contact-hero-layout,
  .career-hero-layout,
  .green-hero-layout,
  .pam-hero-layout,
  .novo-hero-layout,
  .rec-hero-layout,
  .sluzby-hero-layout,
  .service-page-hero-layout,
  .realizace-hero-layout,
  .project-hero-layout {
    min-height: 640px;
  }

  .about-hero-row,
  .contact-hero-row,
  .career-hero-row,
  .green-hero-row,
  .pam-hero-row,
  .novo-hero-row,
  .rec-hero-row,
  .sluzby-hero-row,
  .service-page-hero-row,
  .realizace-hero-row,
  .project-hero-row {
    bottom: 48px;
  }

  .about-page-content,
  .about-page-cta {
    bottom: 48px;
  }
}

/* MOBILE — ONLY BACKGROUND / HEIGHT */
@media (max-width: 575px) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
  }

  @supports (height: 100svh) {
    .about-hero,
    .about-page-hero,
    .contact-hero,
    .career-hero,
    .green-hero,
    .pam-hero,
    .novo-hero,
    .rec-hero,
    .sluzby-hero,
    .service-page-hero,
    .realizace-hero,
    .project-hero {
      height: 100svh;
      min-height: 100svh;
    }
  }

  @supports (height: 100dvh) {
    .about-hero,
    .about-page-hero,
    .contact-hero,
    .career-hero,
    .green-hero,
    .pam-hero,
    .novo-hero,
    .rec-hero,
    .sluzby-hero,
    .service-page-hero,
    .realizace-hero,
    .project-hero {
      height: 100dvh;
      min-height: 100dvh;
    }
  }

  .about-hero-bg,
  .about-page-hero-img,
  .contact-hero-bg,
  .career-hero-bg,
  .green-hero-img,
  .green-hero-bg,
  .pam-hero-bg,
  .novo-hero-bg,
  .rec-hero-bg,
  .sluzby-hero-bg,
  .service-page-hero-bg,
  .realizace-hero-bg,
  .project-hero-bg,
  .realizace-hero img,
  .project-hero img {
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
  }
}

/* MOBILE TEAM DESCRIPTION — O NÁS */
@media (max-width: 575px) {
  .team-card {
    width: 280px;
    height: 440px;
    flex: 0 0 280px;
    overflow: hidden;
  }

  .team-image-wrap {
    width: 278px;
    height: 190px;
  }

  .team-image {
    width: 278px;
    height: 190px;
    object-fit: cover;
  }

  .team-card-body {
    height: 250px;
    padding: 18px 18px 20px;
    overflow: hidden;
  }

  .team-card-head {
    display: block;
    margin: 0 0 10px;
  }

  .team-position {
    display: block;
    margin: 0 0 12px;
  }

  .team-bio,
  .team-card-body > p:not(.team-position) {
    display: block;
    max-height: 125px;
    margin: 0;
    overflow: hidden;

    font-family: "SF Pro Rounded", "SF Pro", "Onest", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 20.8px;
    color: #6B7280;
  }

  .team-arrow,
  .team-contacts {
    display: none;
  }
}
/* =========================================================
   NEO BUILDER — GLOBAL HERO HEIGHT FIX
   Použít jako poslední CSS soubor nebo vložit na úplný konec style.css.

   Desktop:
   - hero je přes celou výšku obrazovky
   - obsah hero je 72px od spodního okraje obrazovky

   Mobile:
   - mění se pouze výška/fotka pozadí
   - nerozbíjí se původní rozložení textu a tlačítek
========================================================= */

/* HERO WRAPPERS — ALL PAGES */
.about-hero,
.about-page-hero,
.contact-hero,
.career-hero,
.green-hero,
.pam-hero,
.novo-hero,
.rec-hero,
.sluzby-hero,
.service-page-hero,
.realizace-hero,
.project-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 720px;
  overflow: hidden;
}

@supports (height: 100svh) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: 100svh;
  }
}

@supports (height: 100dvh) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: 100dvh;
  }
}

/* BACKGROUND IMAGES */
.about-hero-bg,
.about-page-hero-img,
.contact-hero-bg,
.career-hero-bg,
.green-hero-img,
.green-hero-bg,
.pam-hero-bg,
.novo-hero-bg,
.rec-hero-bg,
.sluzby-hero-bg,
.service-page-hero-bg,
.realizace-hero-bg,
.project-hero-bg,
.realizace-hero img,
.project-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

/* HERO LAYOUTS */
.about-hero-layout,
.about-page-layout,
.contact-hero-layout,
.career-hero-layout,
.green-hero-layout,
.pam-hero-layout,
.novo-hero-layout,
.rec-hero-layout,
.sluzby-hero-layout,
.service-page-hero-layout,
.realizace-hero-layout,
.project-hero-layout {
  position: relative;
  z-index: 2;
  width: 1202px;
  max-width: calc(100% - 80px);
  height: 100%;
  min-height: 100%;
  margin: 0 auto;
}

/* DESKTOP CONTENT POSITION — 72PX FROM BOTTOM */
@media (min-width: 576px) {
  .about-hero-row,
  .contact-hero-row,
  .career-hero-row,
  .green-hero-row,
  .pam-hero-row,
  .novo-hero-row,
  .rec-hero-row,
  .sluzby-hero-row,
  .service-page-hero-row,
  .realizace-hero-row,
  .project-hero-row {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 72px;
    width: 100%;
    z-index: 5;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 56px;

    transform: none;
  }

  /* Starší O nás markup */
  .about-page-content {
    position: absolute;
    left: 119px;
    top: auto;
    bottom: 72px;
    z-index: 5;
    transform: none;
  }

  .about-page-cta {
    position: absolute;
    right: 119px;
    left: auto;
    top: auto;
    bottom: 72px;
    z-index: 5;
    transform: none;
  }
}

/* LOW DESKTOP HEIGHT — TEXT SCALE ONLY */
@media (min-width: 900px) and (max-height: 820px) {
  .about-hero-title,
  .about-page-title,
  .contact-hero-title,
  .career-hero-title,
  .green-hero-title,
  .pam-hero-title,
  .novo-hero-title,
  .rec-hero-title,
  .sluzby-hero-title,
  .service-page-hero-title,
  .realizace-hero-title,
  .project-hero-title {
    font-size: clamp(64px, 7vw, 112px);
    line-height: .96;
  }

  .about-hero-text,
  .about-page-text,
  .contact-hero-text,
  .career-hero-text,
  .green-hero-text,
  .pam-hero-text,
  .novo-hero-text,
  .rec-hero-text,
  .service-page-hero-text,
  .realizace-hero-text,
  .project-hero-text {
    font-size: 15px;
    line-height: 24px;
  }

  .about-hero-texts,
  .contact-hero-texts,
  .career-hero-texts,
  .green-hero-texts,
  .pam-hero-texts,
  .novo-hero-texts,
  .rec-hero-texts,
  .service-page-hero-texts {
    gap: 18px;
  }
}

@media (min-width: 900px) and (max-height: 700px) {
  .about-hero-title,
  .about-page-title,
  .contact-hero-title,
  .career-hero-title,
  .green-hero-title,
  .pam-hero-title,
  .novo-hero-title,
  .rec-hero-title,
  .sluzby-hero-title,
  .service-page-hero-title,
  .realizace-hero-title,
  .project-hero-title {
    font-size: clamp(52px, 6vw, 86px);
    line-height: .96;
  }

  .about-hero-text,
  .about-page-text,
  .contact-hero-text,
  .career-hero-text,
  .green-hero-text,
  .pam-hero-text,
  .novo-hero-text,
  .rec-hero-text,
  .service-page-hero-text,
  .realizace-hero-text,
  .project-hero-text {
    font-size: 14px;
    line-height: 22px;
  }

  .about-hero-texts,
  .contact-hero-texts,
  .career-hero-texts,
  .green-hero-texts,
  .pam-hero-texts,
  .novo-hero-texts,
  .rec-hero-texts,
  .service-page-hero-texts {
    gap: 14px;
  }
}

/* VERY LOW DESKTOP HEIGHT */
@media (min-width: 900px) and (max-height: 600px) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: auto;
    min-height: 640px;
  }

  .about-hero-layout,
  .about-page-layout,
  .contact-hero-layout,
  .career-hero-layout,
  .green-hero-layout,
  .pam-hero-layout,
  .novo-hero-layout,
  .rec-hero-layout,
  .sluzby-hero-layout,
  .service-page-hero-layout,
  .realizace-hero-layout,
  .project-hero-layout {
    min-height: 640px;
  }

  .about-hero-row,
  .contact-hero-row,
  .career-hero-row,
  .green-hero-row,
  .pam-hero-row,
  .novo-hero-row,
  .rec-hero-row,
  .sluzby-hero-row,
  .service-page-hero-row,
  .realizace-hero-row,
  .project-hero-row {
    bottom: 48px;
  }

  .about-page-content,
  .about-page-cta {
    bottom: 48px;
  }
}

/* MOBILE — ONLY BACKGROUND / HEIGHT */
@media (max-width: 575px) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
  }

  @supports (height: 100svh) {
    .about-hero,
    .about-page-hero,
    .contact-hero,
    .career-hero,
    .green-hero,
    .pam-hero,
    .novo-hero,
    .rec-hero,
    .sluzby-hero,
    .service-page-hero,
    .realizace-hero,
    .project-hero {
      height: 100svh;
      min-height: 100svh;
    }
  }

  @supports (height: 100dvh) {
    .about-hero,
    .about-page-hero,
    .contact-hero,
    .career-hero,
    .green-hero,
    .pam-hero,
    .novo-hero,
    .rec-hero,
    .sluzby-hero,
    .service-page-hero,
    .realizace-hero,
    .project-hero {
      height: 100dvh;
      min-height: 100dvh;
    }
  }

  .about-hero-bg,
  .about-page-hero-img,
  .contact-hero-bg,
  .career-hero-bg,
  .green-hero-img,
  .green-hero-bg,
  .pam-hero-bg,
  .novo-hero-bg,
  .rec-hero-bg,
  .sluzby-hero-bg,
  .service-page-hero-bg,
  .realizace-hero-bg,
  .project-hero-bg,
  .realizace-hero img,
  .project-hero img {
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
  }
}

/* MOBILE TEAM DESCRIPTION — O NÁS */
@media (max-width: 575px) {
  .team-card {
    width: 280px;
    height: 440px;
    flex: 0 0 280px;
    overflow: hidden;
  }

  .team-image-wrap {
    width: 278px;
    height: 190px;
  }

  .team-image {
    width: 278px;
    height: 190px;
    object-fit: cover;
  }

  .team-card-body {
    height: 250px;
    padding: 18px 18px 20px;
    overflow: hidden;
  }

  .team-card-head {
    display: block;
    margin: 0 0 10px;
  }

  .team-position {
    display: block;
    margin: 0 0 12px;
  }

  .team-bio,
  .team-card-body > p:not(.team-position) {
    display: block;
    max-height: 125px;
    margin: 0;
    overflow: hidden;

    font-family: "SF Pro Rounded", "SF Pro", "Onest", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 20.8px;
    color: #6B7280;
  }

  .team-arrow,
  .team-contacts {
    display: none;
  }
}

/* =========================================================
   NEO BUILDER — GLOBAL HERO HEIGHT FIX
   Použít jako poslední CSS soubor nebo vložit na úplný konec style.css.

   Desktop:
   - hero je přes celou výšku obrazovky
   - obsah hero je 72px od spodního okraje obrazovky

   Mobile:
   - mění se pouze výška/fotka pozadí
   - nerozbíjí se původní rozložení textu a tlačítek
========================================================= */

/* HERO WRAPPERS — ALL PAGES */
.about-hero,
.about-page-hero,
.contact-hero,
.career-hero,
.green-hero,
.pam-hero,
.novo-hero,
.rec-hero,
.sluzby-hero,
.service-page-hero,
.realizace-hero,
.project-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 720px;
  overflow: hidden;
}

@supports (height: 100svh) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: 100svh;
  }
}

@supports (height: 100dvh) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: 100dvh;
  }
}

/* BACKGROUND IMAGES */
.about-hero-bg,
.about-page-hero-img,
.contact-hero-bg,
.career-hero-bg,
.green-hero-img,
.green-hero-bg,
.pam-hero-bg,
.novo-hero-bg,
.rec-hero-bg,
.sluzby-hero-bg,
.service-page-hero-bg,
.realizace-hero-bg,
.project-hero-bg,
.realizace-hero img,
.project-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

/* HERO LAYOUTS */
.about-hero-layout,
.about-page-layout,
.contact-hero-layout,
.career-hero-layout,
.green-hero-layout,
.pam-hero-layout,
.novo-hero-layout,
.rec-hero-layout,
.sluzby-hero-layout,
.service-page-hero-layout,
.realizace-hero-layout,
.project-hero-layout {
  position: relative;
  z-index: 2;
  width: 1202px;
  max-width: calc(100% - 80px);
  height: 100%;
  min-height: 100%;
  margin: 0 auto;
}

/* DESKTOP CONTENT POSITION — 72PX FROM BOTTOM */
@media (min-width: 576px) {
  .about-hero-row,
  .contact-hero-row,
  .career-hero-row,
  .green-hero-row,
  .pam-hero-row,
  .novo-hero-row,
  .rec-hero-row,
  .sluzby-hero-row,
  .service-page-hero-row,
  .realizace-hero-row,
  .project-hero-row {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 72px;
    width: 100%;
    z-index: 5;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 56px;

    transform: none;
  }

  /* Starší O nás markup */
  .about-page-content {
    position: absolute;
    left: 119px;
    top: auto;
    bottom: 72px;
    z-index: 5;
    transform: none;
  }

  .about-page-cta {
    position: absolute;
    right: 119px;
    left: auto;
    top: auto;
    bottom: 72px;
    z-index: 5;
    transform: none;
  }
}

/* LOW DESKTOP HEIGHT — TEXT SCALE ONLY */
@media (min-width: 900px) and (max-height: 820px) {
  .about-hero-title,
  .about-page-title,
  .contact-hero-title,
  .career-hero-title,
  .green-hero-title,
  .pam-hero-title,
  .novo-hero-title,
  .rec-hero-title,
  .sluzby-hero-title,
  .service-page-hero-title,
  .realizace-hero-title,
  .project-hero-title {
    font-size: clamp(64px, 7vw, 112px);
    line-height: .96;
  }

  .about-hero-text,
  .about-page-text,
  .contact-hero-text,
  .career-hero-text,
  .green-hero-text,
  .pam-hero-text,
  .novo-hero-text,
  .rec-hero-text,
  .service-page-hero-text,
  .realizace-hero-text,
  .project-hero-text {
    font-size: 15px;
    line-height: 24px;
  }

  .about-hero-texts,
  .contact-hero-texts,
  .career-hero-texts,
  .green-hero-texts,
  .pam-hero-texts,
  .novo-hero-texts,
  .rec-hero-texts,
  .service-page-hero-texts {
    gap: 18px;
  }
}

@media (min-width: 900px) and (max-height: 700px) {
  .about-hero-title,
  .about-page-title,
  .contact-hero-title,
  .career-hero-title,
  .green-hero-title,
  .pam-hero-title,
  .novo-hero-title,
  .rec-hero-title,
  .sluzby-hero-title,
  .service-page-hero-title,
  .realizace-hero-title,
  .project-hero-title {
    font-size: clamp(52px, 6vw, 86px);
    line-height: .96;
  }

  .about-hero-text,
  .about-page-text,
  .contact-hero-text,
  .career-hero-text,
  .green-hero-text,
  .pam-hero-text,
  .novo-hero-text,
  .rec-hero-text,
  .service-page-hero-text,
  .realizace-hero-text,
  .project-hero-text {
    font-size: 14px;
    line-height: 22px;
  }

  .about-hero-texts,
  .contact-hero-texts,
  .career-hero-texts,
  .green-hero-texts,
  .pam-hero-texts,
  .novo-hero-texts,
  .rec-hero-texts,
  .service-page-hero-texts {
    gap: 14px;
  }
}

/* VERY LOW DESKTOP HEIGHT */
@media (min-width: 900px) and (max-height: 600px) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: auto;
    min-height: 640px;
  }

  .about-hero-layout,
  .about-page-layout,
  .contact-hero-layout,
  .career-hero-layout,
  .green-hero-layout,
  .pam-hero-layout,
  .novo-hero-layout,
  .rec-hero-layout,
  .sluzby-hero-layout,
  .service-page-hero-layout,
  .realizace-hero-layout,
  .project-hero-layout {
    min-height: 640px;
  }

  .about-hero-row,
  .contact-hero-row,
  .career-hero-row,
  .green-hero-row,
  .pam-hero-row,
  .novo-hero-row,
  .rec-hero-row,
  .sluzby-hero-row,
  .service-page-hero-row,
  .realizace-hero-row,
  .project-hero-row {
    bottom: 48px;
  }

  .about-page-content,
  .about-page-cta {
    bottom: 48px;
  }
}

/* MOBILE — ONLY BACKGROUND / HEIGHT */
@media (max-width: 575px) {
  .about-hero,
  .about-page-hero,
  .contact-hero,
  .career-hero,
  .green-hero,
  .pam-hero,
  .novo-hero,
  .rec-hero,
  .sluzby-hero,
  .service-page-hero,
  .realizace-hero,
  .project-hero {
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
  }

  @supports (height: 100svh) {
    .about-hero,
    .about-page-hero,
    .contact-hero,
    .career-hero,
    .green-hero,
    .pam-hero,
    .novo-hero,
    .rec-hero,
    .sluzby-hero,
    .service-page-hero,
    .realizace-hero,
    .project-hero {
      height: 100svh;
      min-height: 100svh;
    }
  }

  @supports (height: 100dvh) {
    .about-hero,
    .about-page-hero,
    .contact-hero,
    .career-hero,
    .green-hero,
    .pam-hero,
    .novo-hero,
    .rec-hero,
    .sluzby-hero,
    .service-page-hero,
    .realizace-hero,
    .project-hero {
      height: 100dvh;
      min-height: 100dvh;
    }
  }

  .about-hero-bg,
  .about-page-hero-img,
  .contact-hero-bg,
  .career-hero-bg,
  .green-hero-img,
  .green-hero-bg,
  .pam-hero-bg,
  .novo-hero-bg,
  .rec-hero-bg,
  .sluzby-hero-bg,
  .service-page-hero-bg,
  .realizace-hero-bg,
  .project-hero-bg,
  .realizace-hero img,
  .project-hero img {
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
  }
}

/* MOBILE TEAM DESCRIPTION — O NÁS */
@media (max-width: 575px) {
  .team-card {
    width: 280px;
    height: 440px;
    flex: 0 0 280px;
    overflow: hidden;
  }

  .team-image-wrap {
    width: 278px;
    height: 190px;
  }

  .team-image {
    width: 278px;
    height: 190px;
    object-fit: cover;
  }

  .team-card-body {
    height: 250px;
    padding: 18px 18px 20px;
    overflow: hidden;
  }

  .team-card-head {
    display: block;
    margin: 0 0 10px;
  }

  .team-position {
    display: block;
    margin: 0 0 12px;
  }

  .team-bio,
  .team-card-body > p:not(.team-position) {
    display: block;
    max-height: 125px;
    margin: 0;
    overflow: hidden;

    font-family: "SF Pro Rounded", "SF Pro", "Onest", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 20.8px;
    color: #6B7280;
  }

  .team-arrow,
  .team-contacts {
    display: none;
  }
}

/* =========================================================
   NEO BUILDER — TABLET HEADER + FOOTER FINAL FIX
   Tablet: 576px–991px
   Keep this block at the very end of the file.
========================================================= */

@media (min-width: 576px) and (max-width: 991px) {

  /* ================= TABLET HEADER ================= */

  body .neo-site-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 9999 !important;
    width: 100% !important;
    height: 68px !important;
    background: #4076FF !important;
    background-color: #4076FF !important;
    box-shadow: none !important;
    border: 0 !important;
    pointer-events: auto !important;
  }

  body .neo-site-header .neo-header-inner {
    width: 100% !important;
    max-width: none !important;
    height: 68px !important;
    margin: 0 !important;
    padding: 17px 24px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #4076FF !important;
    background-color: #4076FF !important;
    box-shadow: none !important;
    border: 0 !important;
    pointer-events: auto !important;
  }

  body .neo-header-logo {
    display: inline-flex !important;
    width: 142px !important;
    height: 31px !important;
    flex: 0 0 142px !important;
  }

  body .neo-header-logo img {
    display: block !important;
    width: 142px !important;
    height: 31px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
  }

  body .neo-header-nav,
  body .neo-header-career {
    display: none !important;
  }

  body .neo-header-right {
    width: 32px !important;
    height: 24px !important;
    flex: 0 0 32px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  body .neo-burger {
    position: relative !important;
    z-index: 10000 !important;

    display: flex !important;
    width: 32px !important;
    height: 24px !important;
    padding: 4px !important;

    border: 0 !important;
    background: transparent !important;
    cursor: pointer !important;

    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 5px !important;

    appearance: none !important;
    -webkit-appearance: none !important;
  }

  body .neo-burger span {
    display: block !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 2px !important;
    min-height: 2px !important;

    background: #ffffff !important;
    border-radius: 20px !important;
  }

  body .neo-burger span:nth-child(3) {
    width: 16px !important;
    min-width: 16px !important;
  }

  /* Tablet mobile-menu panel */
  body .neo-mobile-menu {
    height: 100vh !important;
    min-height: 620px !important;
    max-height: 100vh !important;
    background: #4076FF !important;
  }

  body .neo-mobile-menu-inner {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;

    width: calc(100% - 48px) !important;
    max-width: 720px !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: 22px 0 28px !important;
  }

  body .neo-mobile-menu-top {
    height: 34px !important;
  }

  body .neo-mobile-logo {
    width: 142px !important;
    height: 31px !important;
  }

  body .neo-mobile-logo img {
    width: 142px !important;
    height: 31px !important;
    filter: brightness(0) invert(1) !important;
  }

  body .neo-mobile-nav {
    margin-top: 70px !important;
  }

  body .neo-mobile-menu-list {
    gap: 30px !important;
  }

  body .neo-mobile-menu-list a {
    font-size: 30px !important;
    line-height: 1 !important;
    color: #ffffff !important;
  }

  body .neo-mobile-big-logo {
    width: 100% !important;
    height: 170px !important;
  }

  body .neo-mobile-big-logo img {
    width: 100% !important;
    max-width: 520px !important;
    height: 150px !important;
    margin: 0 auto !important;
  }


  /* ================= TABLET FOOTER ================= */

  body .site-footer {
    width: 100% !important;
    padding: 56px 0 42px !important;
    background: #111111 !important;
    color: #ffffff !important;
  }

  body .site-footer .footer-container {
    width: calc(100% - 48px) !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body .site-footer .footer-top,
  body .site-footer .footer-bottom {
    display: none !important;
  }

  body .site-footer .footer-mobile {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    width: 100% !important;
    color: #ffffff !important;
  }

  body .site-footer .footer-mobile-logo {
    display: block !important;
    width: 142px !important;
    height: 31px !important;
  }

  body .site-footer .footer-mobile-logo img {
    display: block !important;
    width: 142px !important;
    height: 31px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;

  }

  body .site-footer .footer-mobile-desc {
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 !important;

    font-family: "SF Pro Rounded", "SF Pro", "Onest", sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 22px !important;

    color: rgba(255, 255, 255, 0.62) !important;
    opacity: 1 !important;
  }

  body .site-footer .footer-mobile-cols {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 36px !important;

    padding-bottom: 34px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
  }

  body .site-footer .footer-mobile-col {
    min-width: 0 !important;
  }

  body .site-footer .footer-mobile-col h3 {
    margin: 0 0 17px !important;

    font-family: "SF Pro", "SF Pro Display", "Onest", sans-serif !important;
    font-weight: 510 !important;
    font-size: 11px !important;
    line-height: 16px !important;
    letter-spacing: 1.45px !important;
    text-transform: uppercase !important;

    color: rgba(255, 255, 255, 0.48) !important;
    opacity: 1 !important;
  }

  body .site-footer .footer-mobile-col a {
    display: block !important;
    margin: 0 0 10px !important;

    font-family: "SF Pro Rounded", "SF Pro", "Onest", sans-serif !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    line-height: 17px !important;

    color: rgba(255, 255, 255, 0.82) !important;
    text-decoration: none !important;
    opacity: 1 !important;
    overflow-wrap: anywhere !important;
  }

  body .site-footer .footer-mobile-col a:hover {
    color: #ffffff !important;
  }

  body .site-footer .footer-mobile-bottom {
    width: 100% !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 9px !important;
  }

  body .site-footer .footer-mobile-copy {
    margin: 0 !important;

    font-family: "Inter", "Onest", sans-serif !important;
    font-weight: 400 !important;
    font-size: 11px !important;
    line-height: 16.5px !important;
    text-align: center !important;

    color: rgba(255, 255, 255, 0.44) !important;
    opacity: 1 !important;
  }

  body .site-footer .footer-mobile-legal {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;

    font-family: "Inter", "Onest", sans-serif !important;
    font-weight: 400 !important;
    font-size: 11px !important;
    line-height: 16.5px !important;
  }

  body .site-footer .footer-mobile-legal a,
  body .site-footer .footer-mobile-legal span {
    color: rgba(255, 255, 255, 0.44) !important;
    opacity: 1 !important;
  }

  body .site-footer .footer-mobile-legal a {
    text-decoration: none !important;
  }

  body .site-footer .footer-mobile-legal a:hover {
    color: #ffffff !important;
  }
}

/* =========================================================
   MOBILE MENU — FULL-WIDTH BOTTOM LOGO
   Mobile + tablet only
========================================================= */
@media (max-width: 991px) {
  body .neo-mobile-menu-inner {
    left: 20px !important;
    right: 20px !important;
    width: auto !important;
    max-width: none !important;
  }

  body .neo-mobile-big-logo {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 152px !important;
    margin-top: auto !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: stretch !important;
    overflow: hidden !important;
  }

  body .neo-mobile-big-logo img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: 152px !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    opacity: 1 !important;
  }
}

.footer-made {
  font-size: 13px;
  line-height: 20px;
  color: #6b7280;
  display: flex;
  align-items: center;
  gap: 5px;
}

.footer-made span {
  font-size: 14px;
  line-height: 1;
}

.footer-made a {
  color: #6b7280;
  font-weight: 600;
  text-decoration: none;
}

.footer-made a:hover {
  text-decoration: underline;
}

/* =========================================================
   FOOTER MOBILE — FINAL OVERRIDE FROM REAL CSS
   Put this at the very bottom of neobuilder-header-footer.css
========================================================= */

@media (max-width: 991px) {

  /* Mobile footer must be compact — no huge vertical gaps */
  body .site-footer {
    padding-top: 48px !important;
    padding-bottom: 38px !important;
    background: #111111 !important;
  }

  body .site-footer .footer-container {
    width: calc(100% - 40px) !important;
    max-width: 362px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body .site-footer .footer-mobile {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    text-align: left !important;
  }

  /* Logo block — smaller spacing */
  body .site-footer .footer-mobile-logo {
    display: block !important;
    width: 134px !important;
    height: 29.13px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
  }


  body .site-footer .footer-mobile .footer-tagline {
    margin: 0 0 18px !important;
    padding: 0 !important;
    text-align: left !important;
  }

  body .site-footer .footer-mobile-desc {
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    text-align: left !important;
  }

  /* IČO / DIČ / address — LEFT, not centered */
  body .site-footer .footer-company-details--mobile {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;

    text-align: left !important;
    text-transform: lowercase !important;

    color: #8A94A6 !important;
    font-size: 10px !important;
    line-height: 15px !important;
    gap: 1px !important;
    margin-top:10px !important;
  }

  body .site-footer .footer-company-details--mobile span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
    white-space: nowrap !important;

    color: #8A94A6 !important;
    font-size: inherit !important;
    line-height: inherit !important;
  }

  body .site-footer .footer-company-details--desktop {
    display: none !important;
  }

  /* Columns */
  body .site-footer .footer-mobile-cols {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    column-gap: 10px !important;
    align-items: start !important;

    margin: 0 0 0 !important;
    padding: 0 0 0px !important;

    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }

  body .site-footer .footer-mobile-col {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  body .site-footer .footer-mobile-col:nth-child(1) {
    justify-self: start !important;
  }

  body .site-footer .footer-mobile-col:nth-child(2) {
    justify-self: center !important;
    position: relative !important;
    left: 7px !important;
  }

  body .site-footer .footer-mobile-col:nth-child(3) {
    justify-self: end !important;
  }

  body .site-footer .footer-mobile-col h3 {
    margin: 0 0 12px !important;
    white-space: nowrap !important;
  }

  body .site-footer .footer-mobile-col a {
    margin: 0 0 7px !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  /* Bottom */
  body .site-footer .footer-mobile-bottom {
    width: 100% !important;
    margin: 0 !important;
    padding: 28px 0 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;

    text-align: center !important;
    border: 0 !important;
  }

  body .site-footer .footer-mobile-copy {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
    color: #8A94A6 !important;
  }

  /* Make existing PHP structure one visual row:
     .footer-mobile-meta contains .footer-mobile-legal + .footer-made */
  body .site-footer .footer-mobile-meta {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;

    text-align: center !important;
    white-space: nowrap !important;

    color: #8A94A6 !important;
    font-size: 10px !important;
    line-height: 16px !important;
  }

  body .site-footer .footer-mobile-legal {
    display: contents !important;
  }

  body .site-footer .footer-mobile-meta .footer-made {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #8A94A6 !important;
    font-size: 10px !important;
    line-height: 16px !important;
    white-space: nowrap !important;
  }

  body .site-footer .footer-mobile-legal a,
  body .site-footer .footer-mobile-legal span,
  body .site-footer .footer-mobile-meta .footer-made,
  body .site-footer .footer-mobile-meta .footer-made a,
  body .site-footer .footer-mobile-meta .footer-made span {
    color: #8A94A6 !important;
    font-size: 10px !important;
    line-height: 16px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 390px) {
  body .site-footer .footer-container {
    width: calc(100% - 40px) !important;
    max-width: 362px !important;
  }

  body .site-footer .footer-mobile-logo {
    margin-bottom: 16px !important;
  }

  body .site-footer .footer-mobile .footer-tagline {
    margin-bottom: 16px !important;
  }

  body .site-footer .footer-mobile-desc {
    margin-bottom: 16px !important;
  }

  body .site-footer .footer-company-details--mobile {
    margin-bottom: 30px !important;
    font-size: 9px !important;
    line-height: 14px !important;
  }

  body .site-footer .footer-mobile-cols {
    column-gap: 7px !important;
    padding-bottom: 0px !important;
  }

  body .site-footer .footer-mobile-col:nth-child(2) {
    left: 4px !important;
  }

  body .site-footer .footer-mobile-col a {
    font-size: 10px !important;
  }

  body .site-footer .footer-mobile-meta,
  body .site-footer .footer-mobile-meta .footer-made,
  body .site-footer .footer-mobile-legal a,
  body .site-footer .footer-mobile-legal span,
  body .site-footer .footer-mobile-meta .footer-made a,
  body .site-footer .footer-mobile-meta .footer-made span {
    font-size: 9px !important;
    line-height: 15px !important;
  }
}