/* GoTek release hardening — loaded last on every route. */

/* The About ecosystem cards must never let the title and description collide. */
html body.gotek-about-page .about-ecosystem__grid > article {
  box-sizing: border-box !important;
  display: flex !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 486px !important;
  flex-direction: column !important;
  align-items: stretch !important;
  overflow: visible !important;
}
html body.gotek-about-page .about-ecosystem__role {
  flex: 0 0 auto !important;
}
html body.gotek-about-page .about-ecosystem__logo {
  flex: 0 0 82px !important;
  height: 82px !important;
  margin: 14px 0 22px !important;
}
html body.gotek-about-page .about-ecosystem__grid > article > h3 {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 3.1em !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  overflow: visible !important;
  font-size: 17px !important;
  line-height: 1.42 !important;
  text-wrap: balance !important;
}
html body.gotek-about-page .about-ecosystem__grid > article > p {
  position: static !important;
  display: block !important;
  min-height: 0 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  overflow: visible !important;
  font-size: 12.5px !important;
  line-height: 1.72 !important;
}
html body.gotek-about-page .about-ecosystem__grid > article > ul {
  position: static !important;
  margin: 0 0 22px !important;
}
html body.gotek-about-page .about-ecosystem__source {
  position: static !important;
  margin-top: auto !important;
}

/* One authoritative footer presentation on every page. */
html body footer.site-footer.gotek-footer.page-shell {
  box-sizing: border-box !important;
  width: min(1280px, calc(100% - 64px)) !important;
  max-width: 1280px !important;
  margin: 54px auto 24px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(10, 26, 79, .08) !important;
  border-radius: 24px !important;
  color: #0a1a4f !important;
  background: #fff !important;
  box-shadow: 0 24px 70px rgba(10, 26, 79, .1) !important;
  font-family: "Be Vietnam Pro", system-ui, sans-serif !important;
}
html body footer.site-footer.gotek-footer,
html body footer.site-footer.gotek-footer * {
  box-sizing: border-box !important;
}
html body footer.gotek-footer :where(h2, h3, p, a, span, address) {
  font-family: "Be Vietnam Pro", system-ui, sans-serif !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
html body footer.gotek-footer .gotek-footer-cta {
  box-sizing: border-box !important;
  min-height: 288px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 24px !important;
  padding: 48px !important;
  text-align: center !important;
  background: radial-gradient(circle at 84% 12%, rgba(55,193,240,.38), transparent 34%), linear-gradient(115deg,#eaf9fc 0%,#dbeaff 48%,#b8ddf5 100%) !important;
}
html body footer.gotek-footer .gotek-footer-cta > div { max-width: 800px !important; }
html body footer.gotek-footer .gotek-footer-cta p {
  margin: 0 0 13px !important;
  color: #0057e1 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  letter-spacing: .13em !important;
}
html body footer.site-footer.gotek-footer.page-shell .gotek-footer-cta h2 {
  max-width: 760px !important;
  margin: 0 !important;
  color: #0a1a4f !important;
  font-size: clamp(28px, 2.3vw, 40px) !important;
  line-height: 1.16 !important;
  font-weight: 650 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
  text-wrap: balance !important;
}
html body footer.gotek-footer .gotek-footer-main {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(290px,1.35fr) repeat(3,minmax(145px,.55fr)) !important;
  gap: clamp(34px,4vw,72px) !important;
  padding: 38px 48px 32px !important;
  background: #fff !important;
}
html body footer.gotek-footer .gotek-footer-brand,
html body footer.gotek-footer .gotek-footer-column { min-width: 0 !important; }
html body footer.gotek-footer .gotek-footer-brand > p {
  max-width: 54ch !important;
  margin: 0 0 24px !important;
  color: #53617c !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}
html body footer.gotek-footer .gotek-footer-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 11px !important;
}
html body footer.gotek-footer .gotek-footer-column h3 {
  margin: 0 0 7px !important;
  color: #0a1a4f !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html body footer.gotek-footer .gotek-footer-column > a,
html body footer.gotek-footer .gotek-footer-info address span {
  color: #53617c !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}
html body footer.gotek-footer .gotek-footer-info address {
  display: grid !important;
  gap: 6px !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  background: transparent !important;
  font-style: normal !important;
}
html body footer.gotek-footer .gotek-footer-info-contact {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
html body footer.gotek-footer .gotek-footer-info-contact .gotek-icon {
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px !important;
  color: #0057e1 !important;
}
html body footer.gotek-footer .gotek-footer-base {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  align-items: center !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 15px 48px 18px !important;
  border-top: 1px solid #e3e7ef !important;
  background: #fff !important;
}
html body footer.gotek-footer .gotek-footer-base :where(span,a) {
  color: #75819a !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

@media (max-width: 1100px) {
  html body footer.gotek-footer .gotek-footer-main {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
  html body footer.gotek-footer .gotek-footer-brand { grid-column: 1 / -1 !important; }
}

@media (max-width: 700px) {
  html body.gotek-about-page .about-ecosystem__grid > article {
    min-height: 0 !important;
    padding: 22px !important;
  }
  html body.gotek-about-page .about-ecosystem__grid > article > h3 {
    min-height: 0 !important;
    margin-bottom: 12px !important;
  }
  html body footer.site-footer.gotek-footer.page-shell {
    width: calc(100% - 16px) !important;
    margin: 24px auto 12px !important;
    border-radius: 18px !important;
  }
  html body footer.gotek-footer .gotek-footer-cta {
    min-height: 0 !important;
    justify-items: start !important;
    gap: 20px !important;
    padding: 32px 20px !important;
    text-align: left !important;
  }
  html body footer.site-footer.gotek-footer.page-shell .gotek-footer-cta h2 {
    max-width: 19ch !important;
    font-size: 27px !important;
    line-height: 1.16 !important;
    text-align: left !important;
  }
  html body footer.gotek-footer .gotek-footer-cta > a {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 50px !important;
    justify-content: space-between !important;
  }
  html body footer.gotek-footer .gotek-footer-main {
    grid-template-columns: 1fr 1fr !important;
    gap: 0 18px !important;
    padding: 30px 20px 24px !important;
  }
  html body footer.gotek-footer .gotek-footer-brand {
    grid-column: 1 / -1 !important;
    padding-bottom: 24px !important;
  }
  html body footer.gotek-footer .gotek-footer-column {
    padding: 20px 0 !important;
    border-top: 1px solid #e4eaf2 !important;
  }
  html body footer.gotek-footer .gotek-footer-info { grid-column: 1 / -1 !important; }
  html body footer.gotek-footer .gotek-footer-base {
    grid-template-columns: 1fr auto !important;
    gap: 10px 16px !important;
    padding: 18px 20px max(22px,env(safe-area-inset-bottom)) !important;
  }
  html body footer.gotek-footer .gotek-footer-base > span:first-child { grid-column: 1 / -1 !important; }
}

@media (max-width: 430px) {
  html body footer.gotek-footer .gotek-footer-main { grid-template-columns: 1fr !important; }
  html body footer.gotek-footer .gotek-footer-column,
  html body footer.gotek-footer .gotek-footer-info { grid-column: 1 !important; }
  html body footer.gotek-footer .gotek-footer-base { grid-template-columns: 1fr !important; }
  html body footer.gotek-footer .gotek-footer-base > * {
    grid-column: 1 !important;
    justify-self: start !important;
  }
}

/* 1:49AM revision — retain page-specific typography while fixing the
   requested alignment, spacing and separators. */

/* Hosting product artwork and copy. */
html body.gotek-hosting-service-page .gotek-cloud-products__header,
html body.gotek-hosting-service-page .gotek-cloud-products__grid article {
  text-align: center !important;
}
html body.gotek-hosting-service-page .gotek-cloud-products__header {
  justify-items: center !important;
}
html body.gotek-hosting-service-page .gotek-cloud-products__header > div {
  max-width: 78ch !important;
  margin-inline: auto !important;
}
html body.gotek-hosting-service-page .gotek-cloud-product-3d {
  display: block !important;
  width: 142px !important;
  height: 142px !important;
  margin: 0 auto 22px !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}
html body.gotek-hosting-service-page .gotek-cloud-products__grid article p {
  max-width: 30ch !important;
  margin-inline: auto !important;
}

/* Shared ecosystem: centered, logically wrapped copy with aligned rows. */
html body main .gotek-service-ecosystem .ecosystem-intro,
html body main .gotek-service-ecosystem .ecosystem-master,
html body main .gotek-service-ecosystem .ecosystem-unit-copy {
  text-align: center !important;
}
html body main .gotek-service-ecosystem .ecosystem-intro {
  display: grid !important;
  justify-items: center !important;
  gap: 12px !important;
}
html body main .gotek-service-ecosystem .ecosystem-intro > p {
  max-width: 76ch !important;
  margin-inline: auto !important;
}
html body main .gotek-service-ecosystem .ecosystem-master > div:last-child {
  display: grid !important;
  justify-items: center !important;
}
html body main .gotek-service-ecosystem .ecosystem-master strong {
  max-width: 31ch !important;
  margin-inline: auto !important;
  line-height: 1.45 !important;
}
html body main .gotek-service-ecosystem .ecosystem-master p,
html body main .gotek-service-ecosystem .ecosystem-unit-copy p {
  margin-inline: auto !important;
  line-height: 1.68 !important;
  text-wrap: pretty !important;
}
html body main .gotek-service-ecosystem .ecosystem-unit {
  align-items: center !important;
}
html body main .gotek-service-ecosystem .ecosystem-unit-logo {
  justify-content: center !important;
}

/* FAQ labels and titles share one centered axis. */
html body .careers-faq {
  align-items: center !important;
}
html body .careers-faq > header {
  text-align: center !important;
}
html body .careers-faq > header :is(p,h2) {
  margin-inline: auto !important;
}
html body.gotek-hosting-service-page main section:has([class*="faq"]) > :is(header,div:first-child) {
  text-align: center !important;
}
html body.gotek-hosting-service-page .gotek-infrastructure-faq > div[class*="max-w"] > div[class*="grid"] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 980px !important;
  margin-inline: auto !important;
}
html body.gotek-hosting-service-page .gotek-infrastructure-faq > div[class*="max-w"] > div[class*="grid"] > div:first-child {
  position: static !important;
  display: grid !important;
  justify-items: center !important;
  max-width: 760px !important;
  margin-inline: auto !important;
  text-align: center !important;
}
html body.gotek-hosting-service-page .gotek-infrastructure-faq h2,
html body.gotek-hosting-service-page .gotek-infrastructure-faq p {
  margin-inline: auto !important;
  text-align: center !important;
}

/* Contact: remove the oversized empty lead-in and keep labels separated. */
html body main .contact-chapter.contact-chapter--complete {
  padding-top: 0 !important;
}
html body .contact-complete-hero {
  min-height: 520px !important;
  padding-top: calc(var(--header-h, 84px) + 48px) !important;
  padding-bottom: 132px !important;
}
html body .contact-complete-hero::before {
  inset: -72px !important;
  background-position: center 46% !important;
  transform: scale(1.16) !important;
}
html body .contact-complete-hero__inner {
  align-content: center !important;
}
html body .contact-complete-kicker {
  font-size: 12px !important;
  letter-spacing: .12em !important;
}
html body .contact-complete-hero :is(h1, h2) {
  max-width: 900px !important;
  font-size: clamp(42px, 4.8vw, 68px) !important;
  line-height: 1.04 !important;
}
html body .contact-complete-hero__inner > p:last-child {
  max-width: 720px !important;
  font-size: 16.5px !important;
  line-height: 1.65 !important;
}
html body .contact-complete-quick {
  max-width: 1280px !important;
  margin-top: -68px !important;
}
html body .contact-complete-quick__card {
  justify-content: center !important;
  text-align: left !important;
}
html body .contact-complete-quick__card > span:last-child {
  display: grid !important;
  gap: 4px !important;
}
html body .contact-complete-quick__card small,
html body .contact-complete-quick__card strong,
html body .contact-complete-quick__address {
  display: block !important;
}
html body .contact-complete-quick__address {
  color: #64738b !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}
html body .contact-complete-form-section {
  padding-top: 68px !important;
  padding-bottom: 72px !important;
}
html body .contact-complete-intro__direct {
  gap: 16px !important;
  margin-top: 34px !important;
  padding-top: 28px !important;
}
html body .contact-complete-social {
  gap: 12px !important;
  margin-top: 28px !important;
}
html body .contact-ecosystem .ecosystem-intro {
  align-items: center !important;
}
html body .contact-ecosystem .ecosystem-intro h2,
html body .contact-ecosystem .ecosystem-intro > p {
  text-wrap: balance !important;
}
html body footer.gotek-footer .gotek-footer-office-title {
  color: #0a1a4f !important;
  font-weight: 650 !important;
  text-decoration: none !important;
}
html body footer.gotek-footer .gotek-footer-office-title:hover {
  color: #0057e1 !important;
}

/* Every route uses the same visual footer section, independent of the
   surrounding page template or imported source document. */
html body :is(.contact-chapter.wp-footer-only, .contact-chapter--footer-only, .careers-footer) {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 38px 0 24px !important;
  background: #f4f6fa !important;
}
html body .careers-footer {
  background: #f4f6fa !important;
}
html body :is(.contact-chapter.wp-footer-only, .contact-chapter--footer-only, .careers-footer) > footer.site-footer.gotek-footer {
  margin-top: 0 !important;
}

/* About labels requested in color. */
html body.gotek-about-page :is(.about-story,.about-purpose,.about-process,.about-team) .about-kicker {
  color: #0057e1 !important;
  font-weight: 800 !important;
}
html body.gotek-about-page .about-ecosystem__grid > article {
  text-align: center !important;
}
html body.gotek-about-page .about-ecosystem__grid > article > :is(h3,p) {
  margin-inline: auto !important;
  text-align: center !important;
}
html body.gotek-about-page .about-ecosystem__logo {
  justify-content: center !important;
}

/* Website Design: every major chapter receives a clear horizontal cut. */
html body.gotek-website-service-page main > section:not(:first-child):not(.contact-chapter),
html body.gotek-website-service-page main > div > section:not(:first-child) {
  border-top: 1px solid rgba(10, 26, 79, .14) !important;
}

/* Blog and careers heading refinements requested by the user. */
html body .gotek-blog-new h2 { font-size: 20px !important; }
html body .gotek-blog-new h3 { font-size: 13.5px !important; line-height: 1.42 !important; }
html body .gotek-blog-section-head h2 { font-size: clamp(24px, 2.15vw, 32px) !important; }
html body .careers-section-head h2 { font-size: clamp(27px, 2.45vw, 36px) !important; }
html body .careers-faq h2 { font-size: clamp(27px, 2.45vw, 36px) !important; }

/* Footer: give the address and service labels room, and keep CTA within two lines. */
html body footer.site-footer.gotek-footer.page-shell {
  width: min(1380px, calc(100% - 40px)) !important;
  max-width: 1380px !important;
}
html body footer.gotek-footer .gotek-footer-main {
  grid-template-columns: minmax(330px, 1.25fr) minmax(150px, .48fr) minmax(190px, .62fr) minmax(245px, .78fr) !important;
  gap: clamp(32px, 3.3vw, 58px) !important;
}
html body footer.site-footer.gotek-footer.page-shell .gotek-footer-cta h2 {
  max-width: 980px !important;
}
html body footer.gotek-footer .gotek-footer-cta h2 br {
  display: block !important;
}

/* Desktop footer typography: slightly larger, consistent, and kept on one line. */
@media (min-width: 1101px) {
  html body footer.gotek-footer .gotek-footer-brand > p {
    font-size: 14px !important;
  }
  html body footer.gotek-footer .gotek-footer-column h3 {
    font-size: 14px !important;
  }
  html body footer.gotek-footer .gotek-footer-column > a,
  html body footer.gotek-footer .gotek-footer-info address span {
    font-size: 13.5px !important;
  }
  html body footer.gotek-footer .gotek-footer-column > a,
  html body footer.gotek-footer .gotek-footer-office-title,
  html body footer.gotek-footer .gotek-footer-info-contact {
    white-space: nowrap !important;
  }
  html body footer.gotek-footer .gotek-footer-base :where(span, a) {
    font-size: 12px !important;
    white-space: nowrap !important;
  }
}

/* SaaS: the first content chapter should meet the hero without a divider. */
html body.gotek-saas-service-page main > div > section:first-of-type + section {
  border-top-width: 0 !important;
  border-top-style: none !important;
  border-top-color: transparent !important;
}

@media (max-width: 1100px) {
  html body footer.gotek-footer .gotek-footer-main {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 700px) {
  html body main .gotek-service-ecosystem .ecosystem-unit {
    text-align: center !important;
  }
  html body .careers-faq {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  html body .contact-complete-hero {
    min-height: 470px !important;
    padding-top: calc(var(--header-h, 76px) + 18px) !important;
    padding-bottom: 94px !important;
  }
  html body .contact-complete-hero::before {
    inset: -42px !important;
    transform: scale(1.1) !important;
  }
  html body .contact-complete-kicker { font-size: 11px !important; }
  html body .contact-complete-hero :is(h1, h2) {
    max-width: 15ch !important;
    font-size: clamp(36px, 10.8vw, 42px) !important;
    line-height: 1.08 !important;
  }
  html body .contact-complete-hero__inner > p:last-child {
    max-width: 38ch !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
  html body .contact-complete-quick {
    margin-top: -52px !important;
  }
  html body .contact-complete-quick__card {
    justify-content: flex-start !important;
  }
  html body .contact-complete-form-section {
    padding-top: 52px !important;
    padding-bottom: 58px !important;
  }
  html body footer.site-footer.gotek-footer.page-shell {
    width: calc(100% - 16px) !important;
  }
  html body :is(.contact-chapter.wp-footer-only, .contact-chapter--footer-only, .careers-footer) {
    padding: 28px 0 max(18px, env(safe-area-inset-bottom)) !important;
  }
  html body footer.gotek-footer .gotek-footer-main {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 430px) {
  html body footer.gotek-footer .gotek-footer-main {
    grid-template-columns: 1fr !important;
  }
}

/* v1.11.12 — authoritative navigation feedback, Hosting FAQ and ecosystem. */
.gotek-navigation-loader {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  background: rgba(241, 247, 255, .84);
  backdrop-filter: blur(14px);
  transition: opacity .18s ease, visibility 0s linear .18s;
}
.gotek-navigation-loader.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s;
}
.gotek-navigation-loader__panel {
  display: grid;
  width: min(280px, calc(100vw - 48px));
  justify-items: center;
  gap: 16px;
  padding: 28px 26px 24px;
  border: 1px solid rgba(10, 26, 79, .09);
  border-radius: 22px;
  color: #0a1a4f;
  background: #fff;
  box-shadow: 0 24px 70px rgba(10, 31, 77, .18);
}
.gotek-navigation-loader__panel img { width: 132px; height: auto; }
.gotek-navigation-loader__panel strong { font: 650 13px/1.4 "Be Vietnam Pro", system-ui, sans-serif; }
.gotek-navigation-loader__track { width: 100%; height: 3px; overflow: hidden; border-radius: 99px; background: #e3edfa; }
.gotek-navigation-loader__track i { display: block; width: 42%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#0057e1,#25b9e9); animation: gotek-loader-track .7s ease-in-out infinite alternate; }
@keyframes gotek-loader-track { from { transform: translateX(-8%); } to { transform: translateX(150%); } }

/* Restore the original quiet FAQ treatment: label + straight dividers, no
   floating rounded shell around “Giải đáp hạ tầng”. */
html body.gotek-hosting-service-page .gotek-infrastructure-faq {
  background: #fff !important;
}
html body.gotek-hosting-service-page .gotek-infrastructure-faq :is([class*="rounded-full"],[class*="rounded-2xl"],[class*="rounded-3xl"]) {
  border-radius: 0 !important;
}
html body.gotek-hosting-service-page .gotek-infrastructure-faq [class*="rounded-full"] {
  padding-inline: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.gotek-hosting-service-page .gotek-infrastructure-faq .gotek-faq-support-card {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.gotek-hosting-service-page .gotek-infrastructure-faq button {
  border-radius: 0 !important;
  border-bottom: 1px solid rgba(10,26,79,.14) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Match the approved ecosystem reference: centered introduction and master
   context, three clean left-aligned operating rows. */
html body main .gotek-service-ecosystem .ecosystem-system-layout {
  border: 1px solid rgba(10,26,79,.16) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}
html body main .gotek-service-ecosystem .ecosystem-unit-copy,
html body main .gotek-service-ecosystem .ecosystem-unit-copy p {
  text-align: left !important;
}
html body main .gotek-service-ecosystem .ecosystem-unit-logo {
  justify-content: flex-start !important;
}

@media (max-width: 700px) {
  /* Mobile menu becomes a full, calm navigation sheet with enough room for
     the complete Services tree on short and tall phones. */
  html body .mobile-menu {
    top: calc(max(8px, env(safe-area-inset-top)) + 68px) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    padding: 12px !important;
    overflow: hidden !important;
    border-radius: 20px !important;
  }
  html body .mobile-menu nav {
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  html body .mobile-menu nav .gt-nav-link { font-size: 15px !important; line-height: 1.35 !important; }
  html body .mobile-menu .gt-service-link__visual { flex: 0 0 42px !important; }
  html body .mobile-menu .mobile-project-cta { position: sticky; bottom: 0; }

  /* New compact mobile footer: one readable flow, no cramped two-column
     address, and every tap target remains at least 44px high. */
  html body footer.site-footer.gotek-footer.page-shell {
    width: calc(100% - 12px) !important;
    margin: 30px auto 6px !important;
    border-radius: 22px 22px 0 0 !important;
  }
  html body footer.gotek-footer .gotek-footer-cta {
    padding: 34px 22px 28px !important;
    text-align: center !important;
    justify-items: center !important;
  }
  html body footer.gotek-footer .gotek-footer-cta > div { max-width: 100% !important; }
  html body footer.site-footer.gotek-footer.page-shell .gotek-footer-cta h2 {
    max-width: 17ch !important;
    font-size: clamp(25px, 7.2vw, 31px) !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }
  html body footer.gotek-footer .gotek-footer-cta > a { max-width: 310px !important; }
  html body footer.gotek-footer .gotek-footer-main {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 28px 22px 18px !important;
  }
  html body footer.gotek-footer .gotek-footer-brand {
    grid-column: 1 !important;
    padding-bottom: 22px !important;
    text-align: left !important;
  }
  html body footer.gotek-footer .gotek-footer-brand > p { margin-bottom: 18px !important; }
  html body footer.gotek-footer .gotek-footer-column,
  html body footer.gotek-footer .gotek-footer-info {
    grid-column: 1 !important;
    gap: 4px !important;
    padding: 18px 0 !important;
  }
  html body footer.gotek-footer .gotek-footer-column h3 { margin-bottom: 8px !important; font-size: 14px !important; }
  html body footer.gotek-footer .gotek-footer-column > a,
  html body footer.gotek-footer .gotek-footer-info address { min-height: 44px !important; align-items: center !important; }
  html body footer.gotek-footer .gotek-footer-office-title,
  html body footer.gotek-footer .gotek-footer-info-contact { min-height: 44px !important; align-items: center !important; }
  html body footer.gotek-footer .gotek-footer-base {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 18px 22px max(24px,env(safe-area-inset-bottom)) !important;
  }
  html body footer.gotek-footer .gotek-footer-base > * { grid-column: 1 !important; justify-self: start !important; }

  html body main .gotek-service-ecosystem .ecosystem-system-layout {
    border-radius: 16px !important;
  }
  html body main .gotek-service-ecosystem .ecosystem-unit,
  html body main .gotek-service-ecosystem .ecosystem-unit-copy,
  html body main .gotek-service-ecosystem .ecosystem-unit-copy p { text-align: left !important; }
}

@media (prefers-reduced-motion: reduce) {
  .gotek-navigation-loader, .gotek-navigation-loader__track i { transition: none !important; animation: none !important; }
}

/* v1.11.13 live locks — duplicated in the PHP components so imported service
   styles and cache-combine order can no longer override these repairs. */
html body main .gotek-service-ecosystem .ecosystem-master > div:last-child {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
html body main .gotek-service-ecosystem .ecosystem-master > div:last-child > :is(span,strong,p) {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
html body footer.site-footer.gotek-footer .gotek-footer-cta > div,
html body footer.site-footer.gotek-footer .gotek-footer-cta h2,
html body footer.site-footer.gotek-footer .gotek-footer-cta h2 .gt-line {
  transform: none !important;
  translate: none !important;
  scale: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  clip-path: none !important;
  animation: none !important;
  transition: none !important;
}

/* Make all three mobile opening scenes visibly rise into place as the active
   scene changes. Reduced-motion visitors receive the same content instantly. */
@keyframes gotek-mobile-hero-copy-rise {
  0% { opacity: .18; transform: translate3d(0,34px,0); }
  100% { opacity: 1; transform: translate3d(0,0,0); }
}
@media (max-width:820px) {
  body.home .hero-sequence .hero-beat.is-active > :is(.hero-kicker,h1,h2,p,.hero-actions,.hero-global-action) {
    animation: gotek-mobile-hero-copy-rise .72s cubic-bezier(.16,1,.3,1) both !important;
  }
  body.home .hero-sequence .hero-beat.is-active > :is(h1,h2) { animation-delay:.06s !important; }
  body.home .hero-sequence .hero-beat.is-active > p:not(.hero-kicker) { animation-delay:.13s !important; }
  body.home .hero-sequence .hero-beat.is-active > :is(.hero-actions,.hero-global-action) { animation-delay:.2s !important; }
}
@media (prefers-reduced-motion:reduce) {
  body.home .hero-sequence .hero-beat.is-active > * { animation:none !important; transform:none !important; opacity:1 !important; }
}

/* Imported utility rules sometimes give plain paragraphs an intrinsic width.
   Lock restored Hosting card copy to its own grid cell at every breakpoint. */
html body.gotek-hosting-service-page .gotek-hosting-restored :is(article,li,div){min-width:0!important}
html body.gotek-hosting-service-page .gotek-hosting-restored article > :is(h3,p,ul,small,span),
html body.gotek-hosting-service-page .gotek-hosting-restored .hosting-migration__steps li > div,
html body.gotek-hosting-service-page .gotek-hosting-restored .hosting-migration__steps li > div > :is(h3,p){box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
html body.gotek-hosting-service-page .hosting-architecture__grid article,
html body.gotek-hosting-service-page .hosting-environments__grid article,
html body.gotek-hosting-service-page .hosting-usecases__grid article{overflow:hidden!important}
html body.gotek-hosting-service-page .hosting-faq__list summary{text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important}
@media(max-width:620px){
  html body.gotek-hosting-service-page .hosting-faq__list summary{justify-content:space-between!important;text-align:left!important}
}
/* Hosting chapters intentionally disabled by the content owner. Keep the
 * markup available for later editing without exposing it in the UI. */
#gotek-hosting-restored > .hosting-chapter[hidden] {
  display: none !important;
}

/* Final live lock: remove the SaaS hero/content seam. */
html body.gotek-website-service-page.gotek-saas-service-page main.flex-1 > div.min-h-screen > section[class="py-24 bg-white dark:bg-slate-950 overflow-hidden"] {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
