/* KTC300: UTM Hanzel is preloaded in functions.php; use swap on mobile to avoid delayed/jittery headings. */

@font-face {
  font-family: "UTM Hanzel";
  src: local("UTM Hanzel"), local("UTM-Hanzel"), url("/wp-content/uploads/2026/05/UTM-Hanzel.woff2") format("woff2"), url("/wp-content/uploads/2026/05/UTM%20Hanzel.woff2") format("woff2"), url("/wp-content/uploads/2026/05/UTM-Hanzel.ttf") format("truetype"), url("/wp-content/uploads/2026/05/UTM%20Hanzel.ttf") format("truetype"), url("../fonts/UTM-Hanzel.woff2") format("woff2"), url("../fonts/UTM-Hanzel.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --ktc-navy: #071f4b;
  --ktc-navy-2: #0a2d68;
  --ktc-blue: #3b8cf0;
  --ktc-red: #ef3b2d;
  --ktc-white: #ffffff;
  --ktc-text: #0f2141;
  --ktc-muted: #5c6f8f;
  --ktc-bg: #f3f5fa;
  --ktc-line: rgba(255, 255, 255, 0.16);
  --ktc-card-shadow: 0 18px 42px rgba(7, 31, 75, 0.16);
  --ktc-radius: 22px;
  --ktc-font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ktc-font-display: "UTM Hanzel", "Arial Narrow", Arial, sans-serif;
}

html {
  scroll-behavior: smooth;
}

body.ktc-homepage-body {
  margin: 0;
  background: var(--ktc-bg);
  color: var(--ktc-text);
  font-family: var(--ktc-font-body);
}

body.ktc-homepage-body * {
  box-sizing: border-box;
}

body.ktc-homepage-body a {
  color: inherit;
  text-decoration: none;
}

body.ktc-homepage-body img {
  display: block;
  max-width: 100%;
}

body.ktc-homepage-body svg {
  display: block;
  flex: 0 0 auto;
}

body.ktc-homepage-body h1,
body.ktc-homepage-body h2,
body.ktc-homepage-body h3,
body.ktc-homepage-body h4,
body.ktc-homepage-body h5,
body.ktc-homepage-body h6,
body.ktc-homepage-body .ktc-about-home__eyebrow,
body.ktc-homepage-body .ktc-section-heading h2,
body.ktc-homepage-body .ktc-fields-home__heading h2,
body.ktc-homepage-body .ktc-section-kicker,
body.ktc-homepage-body .ktc-footer h3 {
  font-family: "UTM Hanzel", var(--ktc-font-display) !important;
  font-weight: 400;
  letter-spacing: 0;
}

body.ktc-homepage-body.admin-bar .ktc-site-header {
  top: 32px;
}

.ktc-container {
  width: min(1320px, calc(100% - 48px));
  margin: 0 auto;
}

.ktc-homepage-main {
  display: block;
}


body.ktc-homepage-body.is-intro-active {
  overflow: hidden;
}

.ktc-intro-screen {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 16%, rgba(108, 173, 255, 0.22), transparent 26%),
    radial-gradient(circle at 84% 20%, rgba(145, 214, 255, 0.20), transparent 27%),
    radial-gradient(circle at 50% 80%, rgba(220, 238, 255, 0.88), transparent 40%),
    linear-gradient(135deg, #ffffff 0%, #f8fbff 38%, #eef6fd 100%);
  opacity: 1;
  visibility: visible;
  transition: opacity 1.3s cubic-bezier(.22, .82, .2, 1), visibility 1.3s ease;
}

.ktc-intro-screen::before,
.ktc-intro-screen::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ktc-intro-screen::before {
  background:
    linear-gradient(118deg, transparent 12%, rgba(255,255,255,0.12) 34%, rgba(255,255,255,0.78) 49%, rgba(191, 224, 255, 0.34) 56%, transparent 74%);
  transform: translate3d(-120%, 0, 0);
  opacity: .78;
  will-change: transform, opacity;
  animation: ktcIntroSurfaceSweep 11.5s ease-in-out infinite;
}

.ktc-intro-screen::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.70), rgba(255,255,255,0.28) 34%, rgba(228, 239, 250, 0.10) 76%, rgba(0,0,0,0) 100%);
  opacity: .74;
}

.ktc-intro-screen.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.ktc-intro-screen__ambient,
.ktc-intro-screen__content {
  position: absolute;
  inset: 0;
}

.ktc-intro-screen__ambient::before,
.ktc-intro-screen__ambient::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ktc-intro-screen__ambient::before {
  background:
    repeating-linear-gradient(
      90deg,
      rgba(110, 170, 235, 0.00) 0,
      rgba(110, 170, 235, 0.00) 78px,
      rgba(125, 181, 242, 0.11) 79px,
      rgba(125, 181, 242, 0.11) 80px
    ),
    repeating-linear-gradient(
      0deg,
      rgba(110, 170, 235, 0.00) 0,
      rgba(110, 170, 235, 0.00) 78px,
      rgba(125, 181, 242, 0.07) 79px,
      rgba(125, 181, 242, 0.07) 80px
    );
  opacity: .38;
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.92) 18%, rgba(0,0,0,0.92) 82%, transparent 100%);
}

.ktc-intro-screen__ambient::after {
  background:
    radial-gradient(circle at 50% 52%, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.42) 18%, rgba(255,255,255,0.00) 44%);
  opacity: .8;
}

.ktc-intro-screen__content {
  display: grid;
  place-items: center;
  padding: 40px;
  transform: translateZ(0);
}


.ktc-intro-doors {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
}

.ktc-intro-door {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50.2%;
  overflow: hidden;
  will-change: transform;
}

.ktc-intro-door--left {
  left: 0;
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.36);
}

.ktc-intro-door--right {
  right: 0;
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.36);
}

.ktc-intro-door::before,
.ktc-intro-door::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ktc-intro-door::before {
  background:
    radial-gradient(circle at 14% 16%, rgba(108, 173, 255, 0.22), transparent 26%),
    radial-gradient(circle at 84% 20%, rgba(145, 214, 255, 0.20), transparent 27%),
    radial-gradient(circle at 50% 80%, rgba(220, 238, 255, 0.88), transparent 40%),
    linear-gradient(135deg, #ffffff 0%, #f8fbff 38%, #eef6fd 100%);
  background-size: 200% 100%;
  opacity: 1;
}

.ktc-intro-door--left::before {
  background-position: left center;
}

.ktc-intro-door--right::before {
  background-position: right center;
}

.ktc-intro-door::after {
  background:
    repeating-linear-gradient(
      90deg,
      rgba(110, 170, 235, 0.00) 0,
      rgba(110, 170, 235, 0.00) 78px,
      rgba(125, 181, 242, 0.11) 79px,
      rgba(125, 181, 242, 0.11) 80px
    ),
    repeating-linear-gradient(
      0deg,
      rgba(110, 170, 235, 0.00) 0,
      rgba(110, 170, 235, 0.00) 78px,
      rgba(125, 181, 242, 0.07) 79px,
      rgba(125, 181, 242, 0.07) 80px
    ),
    linear-gradient(180deg, rgba(255,255,255,0.70), rgba(255,255,255,0.28) 34%, rgba(228, 239, 250, 0.10) 76%, rgba(0,0,0,0) 100%);
  background-size: 200% 100%, 200% 100%, 200% 100%;
  opacity: .78;
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.92) 18%, rgba(0,0,0,0.92) 82%, transparent 100%);
}

.ktc-intro-door--left::after {
  background-position: left center, left center, left center;
}

.ktc-intro-door--right::after {
  background-position: right center, right center, right center;
}

.ktc-intro-screen.is-opening {
  background: transparent;
}

.ktc-intro-screen.is-opening::before,
.ktc-intro-screen.is-opening::after {
  opacity: 0;
}

.ktc-intro-screen.is-opening .ktc-intro-screen__ambient {
  opacity: 0;
  transition: opacity .72s cubic-bezier(.22, .82, .2, 1);
}

.ktc-intro-screen.is-opening .ktc-intro-doors {
  opacity: 1;
}

.ktc-intro-screen.is-opening .ktc-intro-door--left {
  animation: ktcIntroDoorLeft 2.4s cubic-bezier(.2, .78, .18, 1) forwards;
}

.ktc-intro-screen.is-opening .ktc-intro-door--right {
  animation: ktcIntroDoorRight 2.4s cubic-bezier(.2, .78, .18, 1) forwards;
}

.ktc-intro-screen.is-opening .ktc-intro-mark {
  animation: ktcIntroLogoFadeOut 1.8s cubic-bezier(.22, .82, .2, 1) .14s forwards;
}

.ktc-intro-screen__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(74px);
  opacity: .56;
  will-change: transform;
  animation: ktcIntroOrbDrift 14s ease-in-out infinite;
}

.ktc-intro-screen__orb--left {
  width: 440px;
  height: 440px;
  left: 8%;
  top: 12%;
  background: rgba(104, 171, 255, 0.16);
}

.ktc-intro-screen__orb--right {
  width: 560px;
  height: 560px;
  right: 4%;
  bottom: 6%;
  background: rgba(162, 215, 255, 0.18);
  animation-delay: -4.2s;
}

.ktc-intro-screen__veil {
  display: none;
}

.ktc-intro-mark {
  position: relative;
  width: clamp(210px, 22vw, 300px);
  aspect-ratio: 557.05 / 375.15;
  transform: translateZ(0);
}

.ktc-intro-mark__outline,
.ktc-intro-mark__solid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: opacity, transform;
}

.ktc-intro-mark__outline {
  z-index: 2;
  transform-origin: center center;
  shape-rendering: geometricPrecision;
  animation: ktcIntroOutlineFade 1.35s cubic-bezier(.24, .78, .22, 1) 4.28s forwards;
}

.ktc-intro-mark__solid {
  z-index: 3;
  opacity: 0;
  transform: translate3d(0, 8px, 0);
  filter: drop-shadow(0 8px 18px rgba(34, 68, 110, 0.05));
  animation: ktcIntroSolidReveal 1.38s cubic-bezier(.22, 1, .36, 1) 3.42s forwards;
}

.ktc-intro-mark__shine {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  opacity: 0;
  -webkit-mask: url('../images/ktg-group-logo.svg') center / contain no-repeat;
  mask: url('../images/ktg-group-logo.svg') center / contain no-repeat;
  background:
    linear-gradient(
      112deg,
      transparent 34%,
      rgba(255,255,255,0.02) 42%,
      rgba(255,255,255,0.32) 47%,
      rgba(255,255,255,0.95) 50%,
      rgba(179, 223, 255, 0.56) 54%,
      rgba(255,255,255,0.04) 59%,
      transparent 68%
    ) 160% 0 / 220% 100% no-repeat;
  mix-blend-mode: screen;
  animation: ktcIntroLogoShine 2.9s cubic-bezier(.22, .92, .2, 1) 4.98s forwards;
}

.ktc-intro-mark__stroke-path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.ktc-intro-mark__stroke-path--red,
.ktc-intro-mark__stroke-path--divider {
  stroke: #de2d39;
  stroke-width: 2.1px;
}

.ktc-intro-mark__stroke-path--gray {
  stroke: #58636f;
  stroke-width: 1.75px;
}

.ktc-intro-mark__outline-red .ktc-intro-mark__stroke-path {
  animation:
    ktcIntroLineDraw 2.18s cubic-bezier(.65, .05, .36, 1) .26s forwards,
    ktcIntroStrokeSettle .72s ease 2.3s forwards;
}

.ktc-intro-mark__outline-gray .ktc-intro-mark__stroke-path {
  animation:
    ktcIntroLineDraw 2.26s cubic-bezier(.65, .05, .36, 1) .86s forwards,
    ktcIntroStrokeSettle .72s ease 2.62s forwards;
}

.ktc-intro-mark__stroke-path--divider {
  animation:
    ktcIntroLineDraw 1.54s cubic-bezier(.55, .08, .36, 1) 1.56s forwards,
    ktcIntroStrokeSettle .58s ease 2.86s forwards;
}

@keyframes ktcIntroLineDraw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes ktcIntroStrokeSettle {
  to {
    fill: transparent;
    opacity: .9;
  }
}

@keyframes ktcIntroOutlineFade {
  0% {
    opacity: .92;
  }
  100% {
    opacity: .02;
  }
}

@keyframes ktcIntroSolidReveal {
  0% {
    opacity: 0;
    transform: translate3d(0, 8px, 0) scale(.992);
    filter: drop-shadow(0 18px 36px rgba(34, 68, 110, 0.05));
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: drop-shadow(0 12px 24px rgba(34, 68, 110, 0.08));
  }
}

@keyframes ktcIntroLogoShine {
  0% {
    opacity: 0;
    background-position: 160% 0;
  }
  16% {
    opacity: .96;
  }
  84% {
    opacity: .92;
  }
  100% {
    opacity: 0;
    background-position: -52% 0;
  }
}


@keyframes ktcIntroDoorLeft {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-104%, 0, 0);
  }
}

@keyframes ktcIntroDoorRight {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(104%, 0, 0);
  }
}

@keyframes ktcIntroLogoFadeOut {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: drop-shadow(0 12px 24px rgba(34, 68, 110, 0.08));
  }
  100% {
    opacity: 0;
    transform: translate3d(0, 0, 0) scale(.992);
    filter: drop-shadow(0 6px 12px rgba(34, 68, 110, 0));
  }
}





@keyframes ktcIntroOrbDrift {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(0, -22px, 0) scale(1.03);
  }
}

@keyframes ktcIntroSurfaceSweep {
  0%, 100% {
    transform: translate3d(-120%, 0, 0);
  }
  52% {
    transform: translate3d(118%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.ktc-enhanced [data-ktc-reveal] {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (max-width: 767px) {
  .ktc-projects-home .ktc-container {
    max-width: calc(100vw - 24px);
  }
  .ktc-project-accordion {
    flex-direction: column;
    height: auto;
    min-height: 0;
  }
  .ktc-project-panel,
  .ktc-project-panel.is-active,
  .ktc-project-panel:hover,
  .ktc-project-panel:focus-visible {
    flex: none;
    min-height: 154px;
  }
  .ktc-project-panel__content {
    padding: 20px 18px 16px;
  }
  .ktc-project-panel__intro {
    max-width: 100%;
  }
  .ktc-project-panel__eyebrow {
    font-size: 15px;
  }
  .ktc-project-panel__heading-wrap h2 {
    font-size: 32px;
  }
  .ktc-project-panel__title-row {
    min-height: 0;
    flex: 1;
    align-items: flex-end;
  }
  .ktc-project-panel__title,
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title {
    writing-mode: horizontal-tb;
    text-orientation: initial;
    white-space: normal;
    max-width: 100%;
    font-size: 24px;
    opacity: 1;
    transform: none;
  }
  .ktc-project-panel__index {
    writing-mode: horizontal-tb;
    font-size: 24px;
    letter-spacing: .04em;
  }
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__content {
    padding-left: 18px;
    padding-right: 18px;
  }
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__intro {
    display: block;
    opacity: 0;
    height: 0;
    overflow: hidden;
  }
  .ktc-intro-mark {
    width: min(240px, calc(100vw - 56px));
  }

  .ktc-intro-mark__stroke--top {
    font-size: 240px;
  }

  .ktc-intro-mark__stroke--bottom {
    font-size: 166px;
  }

  .ktc-intro-screen__veil {
    display: none;
  }
}

/* Header */

/* Header */
.ktc-site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  color: #fff;
  transition: background .35s ease, backdrop-filter .35s ease, box-shadow .35s ease, transform .35s ease;
}

.ktc-site-header__glass {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg,
      rgba(102, 180, 243, .58) 0%,
      rgba(93, 170, 235, .34) 42%,
      rgba(86, 161, 228, .16) 74%,
      rgba(86, 161, 228, 0) 100%);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  border-bottom: 1px solid rgba(186, 223, 255, .34);
  transition: inherit;
}

.ktc-site-header::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.03) 32%, rgba(255,255,255,0) 100%);
  opacity: .7;
}

.ktc-site-header.is-minimal {
  background: transparent !important;
  box-shadow: none !important;
}

.ktc-site-header.is-minimal::after {
  opacity: 0;
}

.ktc-site-header.is-minimal .ktc-site-header__glass {
  opacity: 0;
  background: transparent !important;
  backdrop-filter: none !important;
  border-bottom-color: transparent;
  box-shadow: none !important;
}

.ktc-site-header__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  min-height: 74px;
  overflow: visible;
}

.ktc-site-header__inner::before,
.ktc-site-header__inner::after {
  content: "";
  position: absolute;
  top: 50%;
  width: clamp(132px, 12vw, 190px);
  height: clamp(44px, 4.2vw, 72px);
  border-radius: 999px;
  pointer-events: none;
  opacity: 0;
  filter: blur(16px);
  mix-blend-mode: screen;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.34) 0%, rgba(255,255,255,.24) 28%, rgba(255,255,255,.14) 50%, rgba(255,255,255,0) 76%);
  transition: opacity .38s ease;
  z-index: 1;
}

.ktc-site-header__inner::before {
  left: calc(50% - clamp(230px, 18vw, 290px));
  transform: translateY(-50%);
}

.ktc-site-header__inner::after {
  left: calc(50% + clamp(84px, 6.4vw, 116px));
  transform: translateY(-50%);
}

.ktc-header-side {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 18px;
  transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
}

.ktc-header-side--left {
  padding-right: 8px;
}

.ktc-header-side--right {
  justify-content: flex-end;
  padding-left: 8px;
}

.ktc-header-side--left,
.ktc-header-side--right {
  min-height: 40px;
}

.ktc-header-side--right {
  gap: 24px;
}

.ktc-main-nav__list,
.ktc-lang-switcher {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
}

.ktc-main-nav__list {
  flex-wrap: nowrap;
}

.ktc-nav__item,
.ktc-lang-switcher a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
}

.ktc-home-link,
.ktc-search-btn {
  align-self: center;
}

.ktc-home-link,
.ktc-search-btn,
.ktc-mobile-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #7f8da3;
}

.ktc-home-link {
  width: 34px;
  height: 34px;
}

.ktc-home-link img,
.ktc-home-link svg,
.ktc-search-btn svg,
.ktc-project-strip__nav svg,
.ktc-audio-toggle svg {
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.ktc-home-link img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.ktc-project-strip__nav svg {
  fill: currentColor;
}

.ktc-audio-toggle svg {
  width: 28px;
  height: 28px;
  display: block;
  stroke: currentColor;
}

.ktc-search-btn,
.ktc-project-strip__nav,
.ktc-audio-toggle,
.ktc-mobile-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.ktc-search-btn {
  width: 32px;
  height: 32px;
  padding: 0;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: #7f8da3;
  opacity: .94;
  transition: opacity .25s ease, transform .25s ease, filter .25s ease;
}

.ktc-search-btn svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #ffffff !important;
  color: #ffffff !important;
  filter: none;
}

.ktc-search-btn svg * {
  stroke: #ffffff !important;
}

.ktc-main-nav {
  min-width: 0;
}

.ktc-main-nav__list,
.ktc-mobile-nav {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ktc-main-nav__list {
  display: flex;
  align-items: center;
  gap: 28px;
  white-space: nowrap;
}

.ktc-nav__item a,
.ktc-lang-switcher a {
  color: rgba(255,255,255,.96);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ktc-nav__item a:hover,
.ktc-lang-switcher a:hover,
.ktc-home-link:hover,
.ktc-search-btn:hover {
  color: #fff;
}

.ktc-home-link,
.ktc-home-link:hover,
.ktc-home-link:focus,
.ktc-search-btn,
.ktc-search-btn:hover,
.ktc-search-btn:focus,
.ktc-search-btn:active,
.ktc-search-btn:focus-visible {
  color: #ffffff !important;
}

.ktc-search-btn:hover,
.ktc-search-btn:focus,
.ktc-search-btn:active,
.ktc-search-btn:focus-visible {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 1;
  transform: translateY(-1px) scale(1.03);
  filter: none;
}

.ktc-brand {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
}

.ktc-brand__image {
  width: auto;
  height: 42px;
  object-fit: contain;
}

.ktc-brand__fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border: 2px solid rgba(255,255,255,.96);
  color: #fff;
  font-weight: 900;
  font-size: 24px;
  line-height: 1;
  letter-spacing: .06em;
}

.ktc-lang-switcher {
  display: inline-flex;
  align-items: center;
  align-self: center;
  gap: 0;
}

.ktc-lang-switcher a + a::before {
  content: "|";
  margin: 0 8px;
  color: rgba(255,255,255,.56);
}

.ktc-site-header.is-minimal .ktc-header-side,
.ktc-site-header.is-minimal .ktc-home-link {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
}

.ktc-site-header.is-minimal:hover .ktc-header-side,
.ktc-site-header.is-minimal:hover .ktc-home-link,
.ktc-site-header.is-minimal:focus-within .ktc-header-side,
.ktc-site-header.is-minimal:focus-within .ktc-home-link {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.ktc-site-header.is-minimal:hover::after,
.ktc-site-header.is-minimal:focus-within::after {
  opacity: .7;
}

.ktc-site-header.is-minimal:hover .ktc-site-header__glass,
.ktc-site-header.is-minimal:focus-within .ktc-site-header__glass {
  opacity: 1;
  background:
    linear-gradient(180deg,
      rgba(102, 180, 243, .58) 0%,
      rgba(93, 170, 235, .34) 42%,
      rgba(86, 161, 228, .16) 74%,
      rgba(86, 161, 228, 0) 100%);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  border-bottom-color: rgba(186, 223, 255, .34);
}

.ktc-site-header.is-minimal:not(:hover):not(:focus-within) .ktc-site-header__inner::before,
.ktc-site-header.is-minimal:not(:hover):not(:focus-within) .ktc-site-header__inner::after {
  opacity: .72;
}

.ktc-site-header.is-minimal:not(:hover):not(:focus-within) .ktc-site-header__inner::before {
  animation: ktcHeaderCloudFloatLeft 10.5s ease-in-out infinite;
}

.ktc-site-header.is-minimal:not(:hover):not(:focus-within) .ktc-site-header__inner::after {
  animation: ktcHeaderCloudFloatRight 12.2s ease-in-out infinite;
}

@keyframes ktcHeaderCloudFloatLeft {
  0%, 100% {
    transform: translate3d(0, -50%, 0) scale(1);
    opacity: .62;
  }
  50% {
    transform: translate3d(14px, calc(-50% - 2px), 0) scale(1.08);
    opacity: .82;
  }
}

@keyframes ktcHeaderCloudFloatRight {
  0%, 100% {
    transform: translate3d(0, -50%, 0) scale(.98);
    opacity: .58;
  }
  50% {
    transform: translate3d(-12px, calc(-50% + 1px), 0) scale(1.06);
    opacity: .8;
  }
}

.ktc-mobile-toggle {
  display: none;
  width: 42px;
  height: 42px;
  padding: 0;
  flex-direction: column;
  gap: 4px;
}

.ktc-mobile-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  background: currentColor;
  border-radius: 999px;
}

.ktc-mobile-panel {
  display: none;
  position: relative;
  z-index: 5;
  background: rgba(7, 31, 75, .96);
  border-top: 1px solid rgba(255,255,255,.08);
}

.ktc-mobile-panel__inner {
  padding-top: 14px;
  padding-bottom: 18px;
}

.ktc-mobile-nav {
  display: grid;
  gap: 12px;
}

.ktc-mobile-nav .ktc-nav__item a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* Hero */
.ktc-hero-banner {
  position: relative;
  height: 700px;
  overflow: hidden;
  background: #031326;
}

.ktc-hero-slider,
.ktc-hero-slider__slides,
.ktc-hero-slider__slide {
  position: absolute;
  inset: 0;
}

.ktc-hero-slider {
  width: 100%;
  height: 100%;
}

.ktc-hero-slider__slides {
  overflow: hidden;
}

.ktc-hero-slider__slide {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.15s cubic-bezier(.22, 1, .36, 1), visibility 1.15s ease;
}

.ktc-hero-slider__slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.ktc-hero-slider__image {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-size: cover;
  transform: scale(1.06);
  transition: transform 8s cubic-bezier(.22, 1, .36, 1), filter 1.1s ease;
  filter: saturate(1.02) contrast(1.02);
}

.ktc-hero-slider__slide.is-active .ktc-hero-slider__image {
  transform: scale(1);
}

.ktc-hero-slider__fade {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(4, 18, 39, .48) 0%, rgba(4, 18, 39, .16) 18%, rgba(4, 18, 39, 0) 34%),
    linear-gradient(0deg, rgba(4, 18, 39, .68) 0%, rgba(4, 18, 39, .16) 18%, rgba(4, 18, 39, 0) 36%),
    linear-gradient(90deg, rgba(4, 18, 39, .14) 0%, rgba(4, 18, 39, 0) 20%, rgba(4, 18, 39, 0) 76%, rgba(4, 18, 39, .18) 100%);
}

.ktc-hero-slider__caption-wrap {
  position: absolute;
  left: 50%;
  bottom: 40px;
  z-index: 4;
  width: min(980px, calc(100% - 220px));
  transform: translateX(-50%);
  text-align: center;
  pointer-events: none;
}

.ktc-hero-slider__caption {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  transform: translateX(-50%) translateY(18px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .75s ease, transform .75s cubic-bezier(.22, 1, .36, 1), visibility .75s ease;
}

.ktc-hero-slider__caption.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.ktc-hero-slider__caption.is-empty {
  display: none;
}

.ktc-hero-slider__caption span {
  display: inline-block;
  padding: 0 18px;
  color: #fff;
  font-family: 'Montserrat', 'Inter', sans-serif;
  font-size: clamp(28px, 2.8vw, 44px);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.1;
  text-transform: uppercase;
  text-shadow: 0 8px 26px rgba(0, 0, 0, .28);
}

.ktc-hero-slider__dots {
  position: absolute;
  right: 44px;
  bottom: 48px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(8, 25, 54, .18);
  backdrop-filter: blur(10px);
}

.ktc-hero-slider__dot {
  position: relative;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 10px 24px rgba(0, 0, 0, .14);
  cursor: pointer;
  transition: transform .28s ease, background-color .28s ease, border-color .28s ease, box-shadow .28s ease, opacity .28s ease;
}

.ktc-hero-slider__dot::before {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: rgba(255,255,255,.82);
  transform: scale(.72);
  opacity: .88;
  transition: transform .28s ease, background-color .28s ease, opacity .28s ease;
}

.ktc-hero-slider__dot:hover,
.ktc-hero-slider__dot:focus-visible {
  transform: scale(1.08);
  border-color: rgba(255, 255, 255, .96);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 12px 28px rgba(0, 0, 0, .18);
}

.ktc-hero-slider__dot.is-active {
  background: rgba(47, 99, 182, .36);
  border-color: rgba(255, 255, 255, .96);
  box-shadow: 0 0 0 4px rgba(72, 130, 220, .18), inset 0 0 0 1px rgba(255,255,255,.18), 0 14px 30px rgba(0, 0, 0, .2);
}

.ktc-hero-slider__dot.is-active::before {
  background: #2f63b6;
  transform: scale(1);
  opacity: 1;
}

/* Logo band */
.ktc-logo-band {
  --ktc-logo-gap: 14px;
  --ktc-logo-columns: 5;
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding: 0;
  background: transparent !important;
}

.ktc-logo-band__viewport {
  width: 100%;
  overflow: hidden;
  background: transparent !important;
}

.ktc-logo-band__track {
  display: flex;
  align-items: stretch;
  gap: var(--ktc-logo-gap);
  will-change: transform;
}

.ktc-logo-card {
  flex: 0 0 calc((100% - ((var(--ktc-logo-columns) - 1) * var(--ktc-logo-gap))) / var(--ktc-logo-columns));
  min-width: 0;
  min-height: 82px;
  border-radius: 16px;
  background: #fff;
  box-shadow: none !important;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 12px;
  text-align: center;
}

.ktc-logo-card__name {
  display: block;
  width: 100%;
  color: #ff2415;
  font-size: clamp(13px, 0.95vw, 17px);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: 0;
  text-transform: uppercase;
  word-break: break-word;
}



/* General sections */
.ktc-about-home,
.ktc-news-home {
  padding: 58px 0;
}

.ktc-fields-home,
.ktc-projects-home {
  padding: 72px 0;
  color: #fff;
  background: linear-gradient(135deg, #0a3f93 0%, #114f9f 50%, #0a3174 100%);
}

.ktc-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #2b66ba;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ktc-section-kicker::before,
.ktc-section-kicker::after {
  content: "";
  width: 34px;
  height: 2px;
  background: currentColor;
}

.ktc-section-kicker--light {
  color: rgba(255,255,255,.96);
}

.ktc-section-heading {
  margin-bottom: 30px;
}

.ktc-section-heading--center {
  text-align: center;
}

.ktc-section-heading h2,
.ktc-about-home h2 {
  margin: 16px 0 18px;
  font-size: clamp(32px, 2.9vw, 46px);
  line-height: 1.12;
  letter-spacing: -.03em;
}

.ktc-section-heading--light,
.ktc-section-heading--light h2 {
  color: #fff;
}

.ktc-about-home {
  position: relative;
  isolation: isolate;
  padding: 0;
  overflow-x: clip;
  background: linear-gradient(180deg, #7ea9d3 0%, #96bde2 13%, #d9e7f4 28%, #eef2f7 45%, #f3f4f8 100%);
}

.ktc-news-home {
  position: relative;
  isolation: isolate;
  background: linear-gradient(180deg, #7ea9d3 0%, #96bde2 13%, #d9e7f4 28%, #eef2f7 45%, #f3f4f8 100%);
  overflow: hidden;
}

.ktc-news-home::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: clamp(180px, 24vh, 236px);
  background: linear-gradient(180deg, rgba(39, 104, 176, 0.18) 0%, rgba(58, 127, 198, 0.12) 48%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  z-index: 0;
}

.ktc-news-home::after {
  content: "";
  position: absolute;
  inset: auto -10% -18% auto;
  width: clamp(240px, 26vw, 460px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(95, 154, 223, .14) 0%, rgba(95, 154, 223, 0) 68%);
  pointer-events: none;
  z-index: 0;
}

.ktc-about-home::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: clamp(180px, 24vh, 236px);
  background: linear-gradient(180deg, rgba(39, 104, 176, 0.18) 0%, rgba(58, 127, 198, 0.12) 48%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  z-index: 0;
}

.ktc-about-home::after {
  display: none;
}

.ktc-about-home__skyline { display: none !important; }

.ktc-about-home__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: clamp(18px, 2.6vh, 30px);
  padding: clamp(18px, 2.4vh, 28px) 0 clamp(28px, 3.6vh, 40px);
}

.ktc-about-home__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(460px, 0.98fr);
  gap: 48px;
  align-items: center;
}

.ktc-about-home .ktc-logo-band {
  width: 100%;
}

.ktc-about-home .ktc-logo-band__viewport {
  padding: 0;
}

.ktc-about-home .ktc-logo-band__track {
  align-items: stretch;
  background: transparent !important;
}

.ktc-about-home__content {
  max-width: 510px;
}

.ktc-about-home__eyebrow {
  position: relative;
  display: inline-block;
  margin: 0 0 14px;
  padding-bottom: 14px;
  color: var(--ktc-navy);
  font-family: "UTM Hanzel", var(--ktc-font-display);
  font-size: clamp(30px, 3.45vw, 48px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: 0;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.ktc-about-home__eyebrow::before,
.ktc-about-home__eyebrow::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
}

.ktc-about-home__eyebrow::before {
  width: 56px;
  background: var(--ktc-red);
}

.ktc-about-home__eyebrow::after {
  left: 56px;
  width: 78px;
  background: #3d63af;
}

.ktc-about-home__highlight,
.ktc-about-home__body,
.ktc-field-card p,
.ktc-site-footer p,
.ktc-site-footer li {
  margin: 0;
  color: var(--ktc-muted);
  line-height: 1.72;
  font-size: 16px;
}

.ktc-about-home__highlight {
  margin-bottom: 22px;
  color: #20252f;
  font-size: 17px;
  line-height: 1.34;
  max-width: 510px;
}

.ktc-about-home__body {
  max-width: 520px;
  color: #232c39;
  line-height: 1.62;
  text-align: justify;
  text-align-last: left;
  text-justify: inter-word;
}

.ktc-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  margin-top: 30px;
}

html.ktc-enhanced [data-ktc-reveal] {
  opacity: 0;
  filter: blur(10px);
  will-change: transform, opacity, filter;
  transition:
    transform 1020ms cubic-bezier(.2, .82, .2, 1),
    opacity 1020ms cubic-bezier(.2, .82, .2, 1),
    filter 1020ms cubic-bezier(.2, .82, .2, 1);
  transition-delay: var(--ktc-reveal-delay, 0ms);
}

html.ktc-enhanced [data-ktc-reveal="left"] {
  transform: translate3d(-42px, 0, 0);
}

html.ktc-enhanced [data-ktc-reveal="right"] {
  transform: translate3d(52px, 0, 0) scale(.965);
}

html.ktc-enhanced [data-ktc-reveal="up"] {
  transform: translate3d(0, 36px, 0);
}

html.ktc-enhanced [data-ktc-reveal].is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0) scale(1);
}

html.ktc-enhanced .ktc-inline-actions {
  overflow: visible;
}

html.ktc-enhanced .ktc-inline-actions .ktc-btn {
  backface-visibility: hidden;
  transform-origin: center center;
}


.ktc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 184px;
  min-height: 56px;
  padding: 0 28px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
  transition: transform .22s ease, background-color .22s ease, filter .22s ease;
}

.ktc-btn,
.ktc-btn:visited,
.ktc-btn:hover,
.ktc-btn:focus,
.ktc-btn:active {
  color: #ffffff !important;
}

.ktc-btn:hover {
  transform: translateY(-1px);
  filter: none;
}

.ktc-btn--navy,
.ktc-btn--navy:visited,
.ktc-btn--navy:hover,
.ktc-btn--navy:focus,
.ktc-btn--navy:active {
  background: #082662;
  color: #fff !important;
}

.ktc-btn--navy:hover,
.ktc-btn--navy:focus {
  background: #061f52;
}

.ktc-btn--red,
.ktc-btn--red:visited,
.ktc-btn--red:hover,
.ktc-btn--red:focus,
.ktc-btn--red:active {
  background: #ff351f;
  color: #fff !important;
}

.ktc-btn--red:hover,
.ktc-btn--red:focus {
  background: #e92a16;
}


html,
body,
body.ktc-homepage-body,
body.ktc-homepage-body .ktc-homepage-shell {
  overflow-x: clip;
}

.ktc-about-home__visuals {
  position: relative;
  min-height: 442px;
  min-width: 0;
  overflow: hidden;
}

.ktc-about-gallery {
  --ktc-about-card-width: 340px;
  --ktc-about-card-height: 406px;
  --ktc-about-motion: 1820ms;
  --ktc-about-card-drop: 0px;
  position: relative;
  width: min(100%, 628px);
  max-width: 628px;
  min-width: 0;
  margin-left: auto;
  overflow: hidden;
}

.ktc-about-gallery__stage {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 460px;
  padding-top: 18px;
  box-sizing: border-box;
  overflow: hidden;
  isolation: isolate;
  contain: layout paint;
}

.ktc-about-card {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--ktc-about-card-width);
  height: var(--ktc-about-card-height);
  overflow: hidden;
  border-radius: 0;
  opacity: 0;
  pointer-events: none;
  transform-origin: left center;
  box-shadow: 0 18px 38px rgba(12, 28, 62, 0.14);
  transition:
    transform var(--ktc-about-motion) cubic-bezier(.2, .8, .2, 1),
    opacity calc(var(--ktc-about-motion) * .72) ease;
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.ktc-about-card.is-no-transition {
  transition: none !important;
}

.ktc-about-card__image {
  position: relative;
  width: 100%;
  height: 100%;
  background: #d9e1ec;
}

.ktc-about-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.ktc-about-card__image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 34%, rgba(10, 20, 40, .1) 100%);
  pointer-events: none;
}

.ktc-about-card__glow {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 50%);
  pointer-events: none;
  opacity: .82;
}

.ktc-about-card.is-hidden-left {
  z-index: 1;
  opacity: 0;
  transform: translate3d(-118px, calc(20px + var(--ktc-about-card-drop)), 0) scale(.78);
  box-shadow: 0 10px 24px rgba(12, 28, 62, 0.08);
}

.ktc-about-card.is-featured {
  z-index: 4;
  opacity: 1;
  transform: translate3d(0, var(--ktc-about-card-drop), 0) scale(1);
  box-shadow: 0 26px 52px rgba(12, 28, 62, 0.17);
}

.ktc-about-card.is-middle {
  z-index: 3;
  opacity: 1;
  transform: translate3d(300px, calc(18px + var(--ktc-about-card-drop)), 0) scale(.87);
  box-shadow: 0 14px 30px rgba(12, 28, 62, 0.10);
}

.ktc-about-card.is-edge {
  z-index: 2;
  opacity: 1;
  transform: translate3d(428px, calc(30px + var(--ktc-about-card-drop)), 0) scale(.74);
  box-shadow: 0 10px 22px rgba(12, 28, 62, 0.08);
}

.ktc-about-card.is-hidden-right {
  z-index: 1;
  opacity: 0;
  transform: translate3d(560px, calc(38px + var(--ktc-about-card-drop)), 0) scale(.64);
  box-shadow: 0 8px 18px rgba(12, 28, 62, 0.06);
}

.ktc-about-gallery__controls {
  position: absolute;
  left: 202px;
  bottom: 40px;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav {
  all: unset !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.56) !important;
  background: rgba(255,255,255,.18) !important;
  background-image: none !important;
  color: #ffffff !important;
  cursor: pointer !important;
  line-height: 1 !important;
  font-size: 0 !important;
  text-indent: 0 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(9, 17, 34, .14) !important;
  backdrop-filter: blur(14px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
  overflow: visible !important;
  transition: background .26s ease, border-color .26s ease, transform .26s ease, box-shadow .26s ease !important;
}

body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav:hover,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav:hover {
  transform: translateY(-1px) !important;
  background: rgba(255,255,255,.24) !important;
  border-color: rgba(255,255,255,.72) !important;
  box-shadow: 0 16px 32px rgba(9, 17, 34, .18) !important;
}

body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav:active,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav:active {
  transform: translateY(0) !important;
  background: rgba(255,255,255,.16) !important;
}

body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav:focus,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav:focus-visible,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav:focus,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.16), 0 16px 32px rgba(9, 17, 34, .18) !important;
}

body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav::before,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav::after,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav::before,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav::after {
  content: none !important;
  display: none !important;
}

body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav svg,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav svg {
  display: none !important;
}

body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav--prev::after,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav--prev::after,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav--next::after,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav--next::after {
  content: '' !important;
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  border-top: 2px solid rgba(255,255,255,.98) !important;
  border-right: 2px solid rgba(255,255,255,.98) !important;
  box-sizing: border-box !important;
}

body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav--prev::after,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav--prev::after {
  transform: rotate(-135deg) translate(-1px, 1px) !important;
}

body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav--next::after,
body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav--next::after {
  transform: rotate(45deg) translate(-1px, 1px) !important;
}

.ktc-field-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.ktc-field-card {
  padding: 22px;
  border-radius: 26px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(8px);
}

.ktc-field-card__visual,
.ktc-news-card__thumb,
.ktc-project-card__visual {
  border-radius: 20px;
  overflow: hidden;
}

.ktc-field-card__visual { height: 188px; }
.ktc-field-card h3 {
  margin: 18px 0 10px;
  font-size: 23px;
  line-height: 1.25;
}
.ktc-field-card p { color: rgba(255,255,255,.84); }

.ktc-news-home .ktc-container {
  position: relative;
  z-index: 1;
}

.ktc-news-home__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(18px, 2.2vh, 26px);
}

.ktc-news-home__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
}

.ktc-news-home__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: fit-content;
  max-width: 100%;
}

.ktc-news-home__heading h2 {
  margin: 0;
  color: var(--ktc-navy);
  font-family: "UTM Hanzel", var(--ktc-font-display);
  font-size: clamp(30px, 3.45vw, 48px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: 0;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.ktc-news-home__underline {
  display: block;
  width: clamp(120px, 14vw, 200px);
  height: 3px;
  margin-top: 14px;
  background: linear-gradient(90deg, #ff2d22 0 50%, #3d63af 50% 100%);
}

.ktc-news-home__underline i,
.ktc-news-home__underline b {
  display: none !important;
}

.ktc-news-showcase__tabs {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 34px;
  row-gap: 14px;
  margin: 0;
}

.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab,
.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:hover,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:hover,
.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:focus,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:focus,
.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:active,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:active {
  position: relative !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
  min-width: auto !important;
  min-height: auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 0 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  color: var(--ktc-navy) !important;
  font-family: inherit !important;
  font-size: clamp(20px, 1.6vw, 28px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer;
  transition: color .24s ease, opacity .24s ease;
}

.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab span,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab span {
  display: inline-block;
}

.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab::after,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 58px;
  height: 3px;
  border-radius: 999px;
  background: var(--ktc-red);
  opacity: 1;
  transform: none;
  transition: none;
}

.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:hover,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:hover,
.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab.is-active,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab.is-active {
  color: #123f84 !important;
}

.ktc-news-panels {
  min-height: 0;
}

.ktc-news-panel {
  display: none;
}

.ktc-news-panel.is-active {
  display: block;
}

.ktc-news-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.12fr) minmax(280px, .92fr) minmax(300px, 1fr);
  column-gap: 0;
  row-gap: 18px;
  align-items: stretch;
}

.ktc-news-lead,
.ktc-news-side-card {
  min-width: 0;
}

.ktc-news-lead__media-link,
.ktc-news-lead__content,
.ktc-news-side-card__link {
  position: relative;
  display: block;
  height: 100%;
  min-height: clamp(360px, 46vh, 520px);
  overflow: hidden;
  text-decoration: none;
}

.ktc-news-lead__media-link {
  border-radius: 26px 0 0 26px;
  box-shadow: 0 22px 48px rgba(10, 32, 68, .12);
}

.ktc-news-lead__media-link img,
.ktc-news-lead__placeholder,
.ktc-news-side-card__media img,
.ktc-news-side-card__placeholder {
  width: 100%;
  height: 100%;
  display: block;
}

.ktc-news-lead__media-link img,
.ktc-news-side-card__media img {
  object-fit: cover;
  transition: transform .5s ease;
}

.ktc-news-lead:hover .ktc-news-lead__media-link img,
.ktc-news-side-card:hover .ktc-news-side-card__media img {
  transform: scale(1.04);
}

.ktc-news-lead__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(24px, 2vw, 36px);
  color: #fff;
  background: linear-gradient(180deg, #0d438f 0%, #275b9d 100%);
  border-radius: 0;
  box-shadow: 0 22px 48px rgba(10, 32, 68, .14);
}

.ktc-news-lead__copy {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.ktc-news-lead__copy h3 {
  margin: 0;
  font-size: clamp(28px, 2.15vw, 44px);
  line-height: 1.08;
  font-weight: 600;
  letter-spacing: -.02em;
}

.ktc-news-lead__copy h3 a,
.ktc-news-lead__copy h3 a:hover {
  color: #fff;
  text-decoration: none;
}

.ktc-news-lead__copy p {
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: 17px;
  line-height: 1.52;
}

.ktc-news-lead__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.18);
}

.ktc-news-lead__date {
  color: rgba(226, 235, 249, .94);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .02em;
}

.ktc-news-lead__arrow {
  width: 62px;
  min-width: 62px;
  height: 62px;
  border-radius: 14px;
  background: rgba(200, 224, 247, .92);
  color: #255590;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .24s ease, background .24s ease;
}

.ktc-news-lead__arrow:hover {
  transform: translateX(3px);
  background: #d9ecff;
}

.ktc-news-lead__arrow svg {
  width: 20px;
  height: 20px;
}

.ktc-news-side-list {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.ktc-news-side-list {
  margin-left: 18px;
}

.ktc-news-side-card__link {
  min-height: calc((clamp(360px, 46vh, 520px) - 18px) / 2);
  border-radius: 0;
  box-shadow: 0 18px 40px rgba(10, 32, 68, .12);
}

.ktc-news-side-card__media,
.ktc-news-side-card__placeholder {
  width: 100%;
  height: 100%;
}

.ktc-news-side-card__overlay {
  position: absolute;
  inset: auto 0 0 0;
  height: 44%;
  background: linear-gradient(180deg, rgba(8, 20, 40, 0) 0%, rgba(6, 17, 35, .42) 42%, rgba(4, 12, 26, .82) 100%);
}

.ktc-news-side-card__body {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 1;
  padding: 18px 20px 20px;
}

.ktc-news-side-card__date {
  display: inline-block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.82);
  font-size: 13px;
  font-weight: 500;
}

.ktc-news-side-card__body h4 {
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 1.25vw, 26px);
  font-weight: 600;
  line-height: 1.12;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ktc-projects-home .ktc-container {
  max-width: min(1640px, calc(100vw - 40px));
}

.ktc-project-accordion {
  display: flex;
  gap: 0;
  height: min(72vh, 760px);
  min-height: 600px;
  overflow: hidden;
  border-radius: 0;
  position: relative;
  isolation: isolate;
}

.ktc-project-panel {
  position: relative;
  flex: .72;
  min-width: 0;
  overflow: hidden;
  cursor: pointer;
  outline: none;
  transition: flex .55s cubic-bezier(.22, .61, .36, 1), filter .4s ease;
}

.ktc-project-panel + .ktc-project-panel {
  border-left: 1px solid rgba(255,255,255,.08);
}

.ktc-project-panel.is-active,
.ktc-project-panel:hover,
.ktc-project-panel:focus-visible {
  flex: 2.55;
}

.ktc-project-panel__bg,
.ktc-project-panel__shade {
  position: absolute;
  inset: 0;
}

.ktc-project-panel__bg {
  background-image: var(--panel-image);
  background-size: cover;
  background-position: center center;
  transform: scale(1.01);
  transition: transform .8s ease, filter .45s ease;
}

.ktc-project-panel__shade {
  background:
    linear-gradient(180deg, rgba(5, 17, 37, .18) 0%, rgba(5, 17, 37, .30) 26%, rgba(2, 9, 24, .72) 100%),
    linear-gradient(90deg, rgba(7, 20, 41, .58) 0%, rgba(7, 20, 41, .14) 32%, rgba(7, 20, 41, .48) 100%);
  transition: opacity .35s ease;
}

.ktc-project-panel:hover .ktc-project-panel__bg,
.ktc-project-panel.is-active .ktc-project-panel__bg,
.ktc-project-panel:focus-visible .ktc-project-panel__bg {
  transform: scale(1.05);
}

.ktc-project-panel__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 38px 34px 32px;
}

.ktc-project-panel__intro {
  max-width: 240px;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .32s ease, transform .38s ease;
}

.ktc-project-panel.is-active .ktc-project-panel__intro,
.ktc-project-panel:hover .ktc-project-panel__intro,
.ktc-project-panel:focus-visible .ktc-project-panel__intro {
  opacity: 1;
  transform: translateY(0);
}

.ktc-project-panel__eyebrow {
  display: inline-block;
  margin-bottom: 6px;
  color: rgba(255,255,255,.88);
  font-size: 20px;
  font-weight: 300;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.ktc-project-panel__heading-wrap h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(44px, 4.2vw, 76px);
  line-height: .92;
  font-weight: 800;
  text-transform: uppercase;
}

.ktc-project-panel__title-row {
  display: flex;
  align-items: flex-end;
  min-height: 250px;
}

.ktc-project-panel__title {
  margin: 0;
  color: #fff;
  font-size: clamp(22px, 2.2vw, 42px);
  line-height: .98;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .01em;
  max-width: min(420px, 95%);
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .32s ease, transform .38s ease;
}

.ktc-project-panel.is-active .ktc-project-panel__title,
.ktc-project-panel:hover .ktc-project-panel__title,
.ktc-project-panel:focus-visible .ktc-project-panel__title {
  opacity: 1;
  transform: translateY(0);
}

.ktc-project-panel__index {
  align-self: flex-end;
  color: rgba(255,255,255,.88);
  font-size: clamp(28px, 2.6vw, 54px);
  line-height: 1;
  font-weight: 300;
  letter-spacing: .08em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

.ktc-project-panel.is-active .ktc-project-panel__index,
.ktc-project-panel:hover .ktc-project-panel__index,
.ktc-project-panel:focus-visible .ktc-project-panel__index {
  color: rgba(255,255,255,.55);
}

.ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__content {
  padding-left: 20px;
  padding-right: 16px;
}

.ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title {
  opacity: 1;
  transform: none;
  max-width: none;
  font-size: clamp(20px, 1.75vw, 32px);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
}

.ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title-row {
  align-items: flex-end;
  justify-content: center;
  min-height: 0;
  flex: 1;
}

.ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__intro {
  display: none;
}

.ktc-site-footer {
  padding: 34px 0 40px;
  background: #082456;
  color: rgba(255,255,255,.86);
}

.ktc-site-footer__inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
}

.ktc-site-footer__brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 40px;
  margin-bottom: 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 24px;
  font-weight: 900;
}

.ktc-site-footer h3 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 18px;
}

.ktc-site-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ktc-site-footer li + li,
.ktc-site-footer p + p { margin-top: 8px; }

/* Placeholder visuals */
.ktc-visual {
  position: relative;
  background-color: #1d4f97;
  background-size: cover;
  background-position: center;
}

.ktc-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.02) 28%, rgba(5,17,36,.16) 100%),
    linear-gradient(90deg, rgba(255,255,255,.16) 0 8%, transparent 8% 14%, rgba(255,255,255,.1) 14% 22%, transparent 22% 100%),
    linear-gradient(0deg, rgba(255,255,255,.09) 0 16%, transparent 16% 100%);
  mix-blend-mode: screen;
  pointer-events: none;
}

.ktc-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(255,255,255,.28), transparent 18%), linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,0));
  pointer-events: none;
}

.ktc-visual--night { background-image: linear-gradient(160deg, #17345e 0%, #2f63a5 45%, #89b0e3 100%); }
.ktc-visual--sunrise { background-image: linear-gradient(180deg, #f7e0b7 0%, #f4c98a 16%, #b67d53 38%, #53698d 62%, #253a59 100%); }
.ktc-visual--urban { background-image: linear-gradient(135deg, #143564 0%, #1b4f9d 42%, #5d91d7 100%); }
.ktc-visual--tower { background-image: linear-gradient(135deg, #0f2f5e 0%, #2b68c4 55%, #72a6ee 100%); }
.ktc-visual--gold { background-image: linear-gradient(135deg, #2c3f62 0%, #916b44 48%, #d4a15a 100%); }
.ktc-visual--construction { background-image: linear-gradient(135deg, #16335c 0%, #2f5796 45%, #96b8e6 100%); }

/* Responsive */
@media (max-width: 1360px) {
  .ktc-main-nav__list { gap: 20px; }
  .ktc-nav__item a,
  .ktc-lang-switcher a { font-size: 12px; }
}

@media (max-width: 1180px) {
  .ktc-container { width: min(100%, calc(100% - 32px)); }
  .ktc-site-header__inner { min-height: 70px; }
  .ktc-brand { width: 66px; height: 66px; }
  .ktc-brand__image { height: 46px; }
  .ktc-about-home__grid { grid-template-columns: 1fr; gap: 42px; }
  .ktc-field-grid,
  .ktc-site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ktc-logo-band { --ktc-logo-columns: 2; }
}

@media (max-width: 991px) {
  .ktc-project-accordion {
    min-height: 540px;
    height: 62vh;
  }
  .ktc-project-panel__content {
    padding: 28px 22px 24px;
  }
  .ktc-project-panel__heading-wrap h2 {
    font-size: clamp(34px, 6vw, 58px);
  }
  .ktc-project-panel__title {
    font-size: clamp(22px, 2.8vw, 34px);
  }
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title {
    font-size: 22px;
  }
  body.ktc-homepage-body.admin-bar .ktc-site-header { top: 46px; }
  .ktc-site-header__glass {
    background: linear-gradient(180deg, rgba(51, 121, 194, .72) 0%, rgba(51, 121, 194, .46) 62%, rgba(51, 121, 194, .12) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  .ktc-site-header__inner {
    grid-template-columns: auto 1fr auto;
    min-height: 66px;
  }
  .ktc-main-nav,
  .ktc-lang-switcher,
  .ktc-search-btn,
  .ktc-home-link {
    display: none;
  }
  .ktc-mobile-toggle { display: inline-flex; }
  .ktc-brand {
    justify-self: center;
    width: 60px;
    height: 60px;
  }
  .ktc-brand__image { height: 48px; }
  .ktc-mobile-panel { display: block; }
  .ktc-hero-banner { height: 560px; }
  .ktc-field-grid,
  .ktc-site-footer__inner { grid-template-columns: 1fr; }
  .ktc-logo-band { --ktc-logo-columns: 1; --ktc-logo-gap: 14px; }
  .ktc-news-home__header {
    flex-direction: column;
    align-items: flex-start;
  }
  .ktc-news-showcase__tabs {
    justify-content: flex-start;
    gap: 26px;
  }
  .ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab,
  .ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab {
    font-size: 18px !important;
  }
  .ktc-news-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
  }
  .ktc-news-lead--visual {
    grid-column: 1 / -1;
  }
  .ktc-news-lead__media-link {
    min-height: 360px;
  }
  .ktc-news-lead--content,
  .ktc-news-side-list {
    min-height: 0;
  }
  .ktc-news-lead__content {
    min-height: 320px;
  }
  .ktc-news-side-list {
    grid-template-rows: none;
    grid-template-columns: 1fr;
    margin-left: 0;
  }
  .ktc-news-side-card__link {
    min-height: 151px;
  }
  .ktc-project-strip {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 12px;
  }
  .ktc-project-strip__nav {
    width: 42px;
    height: 42px;
  }
}

@media (max-width: 767px) {
  .ktc-projects-home .ktc-container {
    max-width: calc(100vw - 24px);
  }
  .ktc-project-accordion {
    flex-direction: column;
    height: auto;
    min-height: 0;
  }
  .ktc-project-panel,
  .ktc-project-panel.is-active,
  .ktc-project-panel:hover,
  .ktc-project-panel:focus-visible {
    flex: none;
    min-height: 154px;
  }
  .ktc-project-panel__content {
    padding: 20px 18px 16px;
  }
  .ktc-project-panel__intro {
    max-width: 100%;
  }
  .ktc-project-panel__eyebrow {
    font-size: 15px;
  }
  .ktc-project-panel__heading-wrap h2 {
    font-size: 32px;
  }
  .ktc-project-panel__title-row {
    min-height: 0;
    flex: 1;
    align-items: flex-end;
  }
  .ktc-project-panel__title,
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title {
    writing-mode: horizontal-tb;
    text-orientation: initial;
    white-space: normal;
    max-width: 100%;
    font-size: 24px;
    opacity: 1;
    transform: none;
  }
  .ktc-project-panel__index {
    writing-mode: horizontal-tb;
    font-size: 24px;
    letter-spacing: .04em;
  }
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__content {
    padding-left: 18px;
    padding-right: 18px;
  }
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__intro {
    display: block;
    opacity: 0;
    height: 0;
    overflow: hidden;
  }
  body.ktc-homepage-body.admin-bar .ktc-site-header { top: 0; }
  .ktc-hero-banner { height: 460px; }
  .ktc-audio-toggle {
    right: 14px;
    bottom: 14px;
    padding: 0 12px;
  }
  .ktc-audio-toggle__label { font-size: 11px; }
  .ktc-logo-band { margin-top: 0; }
  .ktc-about-home,
  .ktc-news-home,
  .ktc-fields-home,
  .ktc-projects-home { padding: 46px 0; }
  .ktc-about-home { padding: 54px 0; }
  .ktc-about-home__skyline {
    width: min(760px, 86vw);
    height: 160px;
    top: 8px;
    opacity: .72;
  }
  .ktc-about-home__skyline { width: min(1320px, 102vw); height: min(66%, 420px); }
  .ktc-about-home__skyline path { stroke-width: 1.6; }
  .ktc-about-home__content { max-width: none; }
  .ktc-about-home__eyebrow { font-size: 38px; }
  .ktc-about-home__highlight { font-size: 16px; }
  .ktc-about-home__visuals,
  .ktc-about-gallery__stage { min-height: 388px; padding-top: 18px; }
  .ktc-about-gallery {
    --ktc-about-card-width: 276px;
    --ktc-about-card-height: 340px;
    width: min(100%, 520px);
    margin: 0 auto;
  }
  .ktc-about-card.is-hidden-left { transform: translate3d(-94px, calc(20px + var(--ktc-about-card-drop)), 0) scale(.78); }
  .ktc-about-card.is-middle { transform: translate3d(250px, calc(20px + var(--ktc-about-card-drop)), 0) scale(.88); }
  .ktc-about-card.is-edge { transform: translate3d(364px, calc(32px + var(--ktc-about-card-drop)), 0) scale(.75); }
  .ktc-about-card.is-hidden-right { transform: translate3d(472px, calc(38px + var(--ktc-about-card-drop)), 0) scale(.66); }
  .ktc-about-gallery__controls { left: 156px; bottom: 16px; }
  .ktc-section-heading h2,
  .ktc-about-home h2 { font-size: 28px; }
  .ktc-about-home__eyebrow::after { width: 64px; }
  body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls .ktc-about-gallery__nav,
  body.ktc-homepage-body .ktc-homepage-main .ktc-about-home .ktc-about-gallery__controls button.ktc-about-gallery__nav {
    flex-basis: 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
  }
  .ktc-field-card h3,
  .ktc-news-home__heading h2 { font-size: 34px; }
  .ktc-news-home__underline {
    width: 116px;
    margin-top: 10px;
  }
  .ktc-news-showcase__tabs {
    gap: 18px;
    row-gap: 10px;
  }
  .ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab,
  .ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab {
    font-size: 17px !important;
    padding-bottom: 8px !important;
  }
  .ktc-news-layout {
    grid-template-columns: 1fr;
    row-gap: 0;
  }
  .ktc-news-lead__media-link,
  .ktc-news-lead__content {
    min-height: auto;
  }
  .ktc-news-lead--visual {
    position: relative;
    z-index: 2;
  }
  .ktc-news-lead__media-link {
    min-height: 250px;
    border-radius: 22px;
  }
  .ktc-news-lead--content {
    position: relative;
    z-index: 1;
    margin-bottom: 16px;
  }
  .ktc-news-lead__content {
    margin-top: -24px;
    padding: 40px 20px 26px;
    border-radius: 0;
  }
  .ktc-news-lead__copy {
    gap: 14px;
  }
  .ktc-news-lead__copy h3 {
    font-size: 26px;
  }
  .ktc-news-lead__copy p {
    font-size: 15px;
  }
  .ktc-news-lead__footer {
    padding-top: 18px;
  }
  .ktc-news-lead__arrow {
    width: 54px;
    min-width: 54px;
    height: 54px;
  }
  .ktc-news-side-card__link {
    min-height: 210px;
  }
  .ktc-news-side-card__body h4 {
    font-size: 22px;
  }
}

@media (min-width: 992px) {
  .ktc-mobile-toggle,
  .ktc-mobile-panel {
    display: none !important;
  }
}


@media (prefers-reduced-motion: reduce) {
  .ktc-intro-screen,
  .ktc-intro-screen::before,
  .ktc-intro-screen__orb,
  .ktc-intro-mark__outline,
  .ktc-intro-mark__solid,
  .ktc-intro-mark__stroke-path,
  .ktc-intro-mark__shine,
  .ktc-intro-doors,
  .ktc-intro-door,
  .ktc-intro-screen__ambient {
    animation: none !important;
    transition: none !important;
  }

  .ktc-intro-mark__outline,
  .ktc-intro-mark__solid,
  .ktc-intro-mark__shine {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    background-position: 50% 0 !important;
  }
}

/* Fields section redesign v51 */
.ktc-fields-home {
  position: relative;
  overflow: hidden;
  padding: 64px 0 78px;
  background: linear-gradient(90deg, rgba(8, 53, 130, .94) 0%, rgba(16, 90, 187, .92) 58%, rgba(31, 108, 204, .90) 100%);
}

.ktc-fields-home__backdrop {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 34, 91, .58) 0%, rgba(5, 34, 91, .34) 34%, rgba(5, 34, 91, .14) 62%, rgba(5, 34, 91, .10) 100%),
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 38%),
    var(--ktc-fields-bg-image) center center / cover no-repeat;
  opacity: .98;
  pointer-events: none;
}

.ktc-fields-home__backdrop::before,
.ktc-fields-home__backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ktc-fields-home__backdrop::before {
  background: linear-gradient(90deg, rgba(19, 95, 202, .03) 0%, rgba(19, 95, 202, .06) 38%, rgba(42, 128, 237, .12) 68%, rgba(79, 164, 255, .20) 100%);
}

.ktc-fields-home__backdrop::after {
  background: linear-gradient(90deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,0) 26%, rgba(255,255,255,.04) 74%, rgba(255,255,255,.08) 100%);
  mix-blend-mode: screen;
  opacity: .42;
}

.ktc-fields-home .ktc-container {
  position: relative;
  z-index: 1;
}

.ktc-fields-home__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  max-width: 100%;
  text-align: center;
  margin: 0 auto 38px;
}

html.ktc-enhanced .ktc-fields-home__heading [data-ktc-reveal] {
  display: block;
}


.ktc-fields-home__heading h2 {
  margin: 0;
  color: #ffffff;
  font-family: "UTM Hanzel", var(--ktc-font-display);
  font-size: clamp(30px, 3.45vw, 48px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: 0;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.ktc-fields-home__underline {
  display: block;
  width: 50%;
  min-width: 104px;
  max-width: 320px;
  height: 3px;
  margin: 14px auto 0;
  border-radius: 0;
  background: linear-gradient(90deg, #ff2d22 0 50%, rgba(255,255,255,.98) 50% 100%);
  box-sizing: border-box;
}

html.ktc-enhanced .ktc-fields-home__underline[data-ktc-reveal="up"] {
  transform: translate3d(0, 28px, 0);
}

html.ktc-enhanced .ktc-fields-home__underline[data-ktc-reveal="up"].is-visible {
  transform: translate3d(0, 0, 0);
}

.ktc-fields-home__underline i,
.ktc-fields-home__underline b {
  display: none !important;
}

@media (max-width: 1024px) {
  .ktc-fields-home__underline {
    min-width: 92px;
    margin-top: 12px;
  }
}

@media (max-width: 767px) {
  .ktc-projects-home .ktc-container {
    max-width: calc(100vw - 24px);
  }
  .ktc-project-accordion {
    flex-direction: column;
    height: auto;
    min-height: 0;
  }
  .ktc-project-panel,
  .ktc-project-panel.is-active,
  .ktc-project-panel:hover,
  .ktc-project-panel:focus-visible {
    flex: none;
    min-height: 154px;
  }
  .ktc-project-panel__content {
    padding: 20px 18px 16px;
  }
  .ktc-project-panel__intro {
    max-width: 100%;
  }
  .ktc-project-panel__eyebrow {
    font-size: 15px;
  }
  .ktc-project-panel__heading-wrap h2 {
    font-size: 32px;
  }
  .ktc-project-panel__title-row {
    min-height: 0;
    flex: 1;
    align-items: flex-end;
  }
  .ktc-project-panel__title,
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title {
    writing-mode: horizontal-tb;
    text-orientation: initial;
    white-space: normal;
    max-width: 100%;
    font-size: 24px;
    opacity: 1;
    transform: none;
  }
  .ktc-project-panel__index {
    writing-mode: horizontal-tb;
    font-size: 24px;
    letter-spacing: .04em;
  }
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__content {
    padding-left: 18px;
    padding-right: 18px;
  }
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__intro {
    display: block;
    opacity: 0;
    height: 0;
    overflow: hidden;
  }
  .ktc-fields-home__underline {
    width: 50%;
    min-width: 82px;
    margin-top: 10px;
  }
}

.ktc-field-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 54px;
  align-items: start;
}

.ktc-field-card {
  padding: 0;
  background: transparent;
  border: 0;
  backdrop-filter: none;
  box-shadow: none;
  text-align: center;
}

html.ktc-enhanced .ktc-field-card[data-ktc-reveal] {
  transition-duration: 1180ms;
}

html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-title"] {
  opacity: 0;
  filter: blur(18px);
  transform: translate3d(0, 44px, 0) scale(.84);
  transform-origin: center center;
  transition:
    transform 1180ms cubic-bezier(.18, .84, .2, 1),
    opacity 1180ms cubic-bezier(.18, .84, .2, 1),
    filter 1180ms cubic-bezier(.18, .84, .2, 1);
}

html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-line"] {
  opacity: 0;
  filter: blur(8px);
  transform: scaleX(.14);
  transform-origin: center center;
  transition:
    transform 1020ms cubic-bezier(.22, .78, .2, 1),
    opacity 1020ms cubic-bezier(.22, .78, .2, 1),
    filter 1020ms cubic-bezier(.22, .78, .2, 1);
}

html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-left"],
html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-right"],
html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-center"] {
  opacity: 0;
  filter: blur(16px);
  transform-origin: center bottom;
  transition:
    transform 1100ms cubic-bezier(.16, .84, .18, 1),
    opacity 1080ms cubic-bezier(.16, .84, .18, 1),
    filter 1080ms cubic-bezier(.16, .84, .18, 1);
}

html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-left"] {
  transform: translate3d(-88px, 56px, 0) rotate(-7deg) scale(.82);
}

html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-center"] {
  transform: translate3d(0, 82px, 0) scale(.72);
}

html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-right"] {
  transform: translate3d(88px, 56px, 0) rotate(7deg) scale(.82);
}

html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-title"].is-visible,
html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-line"].is-visible,
html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-left"].is-visible,
html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-right"].is-visible,
html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-center"].is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
}

html.ktc-enhanced .ktc-fields-home .ktc-field-card {
  transform-style: preserve-3d;
  will-change: transform, opacity, filter;
}

html.ktc-enhanced .ktc-fields-home .ktc-field-card__visual {
  transition:
    transform 1100ms cubic-bezier(.16, .84, .18, 1),
    box-shadow 920ms ease,
    border-color 920ms ease;
  transform-origin: center center;
}

html.ktc-enhanced .ktc-fields-home .ktc-field-card[data-ktc-reveal="fields-card-left"] .ktc-field-card__visual {
  transform: translate3d(0, 0, 0) rotateY(14deg) rotateX(5deg);
}

html.ktc-enhanced .ktc-fields-home .ktc-field-card[data-ktc-reveal="fields-card-center"] .ktc-field-card__visual {
  transform: translate3d(0, 0, 0) scale(.9);
}

html.ktc-enhanced .ktc-fields-home .ktc-field-card[data-ktc-reveal="fields-card-right"] .ktc-field-card__visual {
  transform: translate3d(0, 0, 0) rotateY(-14deg) rotateX(5deg);
}

html.ktc-enhanced .ktc-fields-home .ktc-field-card.is-visible .ktc-field-card__visual {
  transform: translate3d(0, 0, 0) rotateY(0deg) rotateX(0deg) scale(1);
  box-shadow:
    0 24px 46px rgba(2, 15, 38, .34),
    0 0 0 1px rgba(255, 245, 214, .22) inset,
    0 0 30px rgba(255, 202, 73, .20);
}

html.ktc-enhanced .ktc-fields-home .ktc-field-card.is-visible .ktc-field-card__visual::after {
  animation-duration: 4.8s;
}

html.ktc-enhanced .ktc-fields-home .ktc-field-card.is-visible .ktc-field-card__visual::before {
  animation-duration: 4.35s;
}

html.ktc-enhanced .ktc-fields-home .ktc-field-card h3 {
  transition:
    transform 900ms cubic-bezier(.22, .78, .2, 1),
    opacity 900ms cubic-bezier(.22, .78, .2, 1);
}

html.ktc-enhanced .ktc-fields-home .ktc-field-card[data-ktc-reveal] h3 {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
}

html.ktc-enhanced .ktc-fields-home .ktc-field-card.is-visible h3 {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.ktc-field-card__visual {
  position: relative;
  display: block;
  width: min(100%, 318px);
  height: auto;
  aspect-ratio: 8 / 5;
  margin: 0 auto 14px;
  overflow: hidden;
  border-radius: 14px;
  border: 2px solid rgba(255, 234, 170, .42);
  box-shadow:
    0 18px 28px rgba(4, 21, 54, .20),
    0 0 0 1px rgba(255, 245, 214, .18) inset,
    0 0 24px rgba(255, 202, 73, .12);
  isolation: isolate;
  background: rgba(255, 217, 107, .08);
}

.ktc-field-card__visual::before,
.ktc-field-card__visual::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  pointer-events: none;
}

.ktc-field-card__visual::before {
  inset: -42%;
  z-index: 0;
  background: conic-gradient(
    from 0deg,
    rgba(255, 214, 98, 0) 0deg 52deg,
    rgba(255, 245, 198, .14) 66deg,
    rgba(255, 233, 137, .86) 80deg,
    rgba(255, 247, 205, 1) 88deg,
    rgba(255, 224, 110, .96) 96deg,
    rgba(255, 214, 98, .22) 112deg,
    rgba(255, 214, 98, 0) 128deg 360deg
  );
  animation: ktcFieldGoldRing 4.8s linear infinite;
  transform-origin: center center;
}

.ktc-field-card__visual::after {
  inset: -18% -62%;
  z-index: 2;
  background: linear-gradient(
    112deg,
    rgba(255, 221, 118, 0) 0%,
    rgba(255, 236, 160, 0) 42%,
    rgba(255, 250, 214, .22) 46%,
    rgba(255, 246, 188, .84) 49%,
    rgba(255, 223, 120, .88) 51%,
    rgba(255, 246, 188, .84) 53%,
    rgba(255, 250, 214, .22) 56%,
    rgba(255, 221, 118, 0) 62%,
    rgba(255, 221, 118, 0) 100%
  );
  opacity: .95;
  mix-blend-mode: screen;
  transform: translateX(-132%) skewX(-16deg);
  animation: ktcFieldGoldSweep 5.2s ease-in-out infinite;
}

.ktc-field-card__visual img {
  position: absolute;
  inset: 2px;
  z-index: 1;
  display: block;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  object-fit: cover;
  border-radius: 12px;
}

.ktc-field-card:nth-child(2) .ktc-field-card__visual::before {
  animation-delay: -1.25s;
}

.ktc-field-card:nth-child(3) .ktc-field-card__visual::before {
  animation-delay: -2.5s;
}

.ktc-field-card:nth-child(2) .ktc-field-card__visual::after {
  animation-delay: -1.75s;
}

.ktc-field-card:nth-child(3) .ktc-field-card__visual::after {
  animation-delay: -3.05s;
}

.ktc-field-card h3 {
  max-width: 320px;
  margin: 0 auto;
  color: #ffffff;
  font-size: clamp(15px, 1.18vw, 20px);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -.01em;
  text-transform: uppercase;
  text-shadow: 0 2px 10px rgba(0,0,0,.14);
}

.ktc-field-card h3 a {
  color: inherit;
  text-decoration: none;
}

.ktc-field-card h3 a:hover {
  color: rgba(255,255,255,.88);
}

.ktc-field-card p {
  display: none;
}

@media (max-width: 1180px) {
  .ktc-fields-home__backdrop {
    background-size: cover;
    background-position: center center;
  }

  .ktc-field-grid {
    gap: 30px;
  }
}

@media (max-width: 900px) {
  html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-title"] {
    transform: translate3d(0, 28px, 0) scale(.92);
  }

  html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-left"],
  html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-center"],
  html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-right"] {
    transform: translate3d(0, 42px, 0) scale(.92);
  }

  html.ktc-enhanced .ktc-fields-home .ktc-field-card[data-ktc-reveal] .ktc-field-card__visual {
    transform: none;
  }

  .ktc-fields-home {
    padding: 56px 0 66px;
  }

  .ktc-fields-home__backdrop {
    background-size: cover;
    background-position: center center;
    opacity: .46;
  }

  .ktc-field-grid {
    grid-template-columns: 1fr;
    gap: 26px;
    max-width: 380px;
    margin: 0 auto;
  }

  .ktc-field-card__visual {
    width: 100%;
    max-width: 320px;
  }

  .ktc-field-card h3 {
    font-size: 18px;
  }
}


@keyframes ktcFieldGoldRing {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes ktcFieldGoldSweep {
  0% { opacity: 0; transform: translateX(-132%) skewX(-16deg); }
  14% { opacity: .92; }
  34% { opacity: .98; }
  58% { opacity: .88; }
  72% { opacity: 0; transform: translateX(128%) skewX(-16deg); }
  100% { opacity: 0; transform: translateX(128%) skewX(-16deg); }
}

:root {
  --ktc-admin-offset: 0px;
  --ktc-header-offset: 0px;
  --ktc-fixed-offset: 0px;
  --ktc-snap-vh: 100svh;
  --ktc-stage-vh: 100svh;
}

@media (min-width: 1200px) {
  html.ktc-snap-enabled {
    scroll-behavior: smooth;
  }

  body.ktc-homepage-body.ktc-snap-enabled {
    overflow-x: hidden;
    scroll-snap-type: y proximity;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-snap-section {
    position: relative;
    display: flex;
    align-items: stretch;
    box-sizing: border-box;
    height: var(--ktc-stage-vh);
    min-height: var(--ktc-stage-vh);
    padding-top: var(--ktc-header-offset);
    scroll-snap-align: start;
    scroll-snap-stop: always;
    scroll-margin-top: calc(var(--ktc-admin-offset) + 2px);
    overflow: hidden;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-hero-banner.ktc-snap-section {
    height: var(--ktc-stage-vh);
    min-height: var(--ktc-stage-vh);
    padding-top: 0;
    scroll-margin-top: 0px;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-about-home.ktc-snap-section {
    padding-top: var(--ktc-header-offset);
    padding-bottom: 0;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-about-home.ktc-snap-section .ktc-about-home__inner {
    min-height: calc(var(--ktc-stage-vh) - var(--ktc-header-offset));
    width: 100%;
    justify-content: space-evenly;
    gap: clamp(16px, 2.1vh, 24px);
    padding: clamp(10px, 1.2vh, 14px) 0 clamp(18px, 2.2vh, 24px);
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-about-home.ktc-snap-section .ktc-logo-band {
    flex: 0 0 auto;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-about-home.ktc-snap-section .ktc-about-home__grid {
    flex: 1 1 auto;
    align-content: center;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-about-home.ktc-snap-section .ktc-about-gallery {
    --ktc-about-card-drop: 34px;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-fields-home.ktc-snap-section,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section {
    padding-block: calc(var(--ktc-header-offset) + clamp(18px, 2.1vh, 26px)) clamp(26px, 3vh, 36px);
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-container,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-container,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-fields-home.ktc-snap-section .ktc-container,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-about-home.ktc-snap-section .ktc-container {
    width: min(1320px, calc(100% - 48px));
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-fields-home.ktc-snap-section .ktc-container,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-container,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-container {
    min-height: calc(var(--ktc-stage-vh) - var(--ktc-header-offset) - clamp(44px, 5vh, 62px));
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-news-home__inner {
    min-height: 100%;
    width: 100%;
    justify-content: center;
    gap: clamp(16px, 1.8vh, 24px);
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-news-layout {
    grid-template-columns: minmax(0, 2.1fr) minmax(260px, .88fr) minmax(280px, .95fr);
    column-gap: 0;
    row-gap: 16px;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-news-lead__media-link,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-news-lead__content {
    min-height: clamp(340px, 43vh, 470px);
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-news-side-card__link {
    min-height: calc((clamp(340px, 43vh, 470px) - 16px) / 2);
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-news-side-list {
    margin-left: 16px;
  }
}


@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band .ktc-container {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }
  .ktc-project-accordion {
    min-height: 540px;
    height: 62vh;
  }
  .ktc-project-panel__content {
    padding: 28px 22px 24px;
  }
  .ktc-project-panel__heading-wrap h2 {
    font-size: clamp(34px, 6vw, 58px);
  }
  .ktc-project-panel__title {
    font-size: clamp(22px, 2.8vw, 34px);
  }
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title {
    font-size: 22px;
  }
  .ktc-about-home::after {
    width: min(360px, 72vw);
    opacity: .38;
  }
}


/* Project accordion final overrides */
body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-container {
  width: min(1640px, calc(100% - 40px));
}

body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-project-accordion {
  height: min(72vh, 760px);
  min-height: 620px;
}

@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band .ktc-container {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }
  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-container {
    width: calc(100% - 28px);
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-project-accordion {
    min-height: 540px;
    height: 62vh;
  }
}

@media (max-width: 767px) {
  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-container {
    width: calc(100% - 20px);
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-project-accordion {
    height: auto;
    min-height: 0;
  }
}


/* v110 final project section and news side-card balancing */
.ktc-projects-home {
  min-height: 100vh;
  padding: 0;
  background: #061328;
}

.ktc-projects-home .ktc-container {
  width: 100%;
  max-width: 100%;
  height: 100%;
}

.ktc-project-accordion {
  position: relative;
  display: flex;
  gap: 0;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
  border-radius: 0;
  isolation: isolate;
  background: #071a34;
}

.ktc-projects-home__header {
  position: absolute;
  top: clamp(68px, 7.2vw, 96px);
  left: clamp(24px, 4vw, 72px);
  z-index: 5;
  max-width: min(620px, calc(100% - 120px));
  pointer-events: none;
  transform-origin: top left;
  transition: transform .35s ease, opacity .35s ease;
}

.ktc-projects-home__header h2 {
  margin: 0;
  color: #fff;
  font-family: "UTM Hanzel", var(--ktc-font-display);
  font-size: clamp(30px, 3.45vw, 48px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: 0;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.ktc-projects-home__underline {
  display: block;
  width: clamp(120px, 14vw, 200px);
  height: 3px;
  margin-top: 14px;
  background: linear-gradient(90deg, #ff2d22 0 50%, rgba(255,255,255,.98) 50% 100%);
}

.ktc-projects-home__underline i,
.ktc-projects-home__underline b {
  display: none !important;
}

.ktc-project-accordion.is-header-compact .ktc-projects-home__header {
  transform: scale(0.5);
}

.ktc-project-panel {
  position: relative;
  flex: .7;
  min-width: 0;
  overflow: hidden;
  cursor: pointer;
  outline: none;
  transition: flex .55s cubic-bezier(.22, .61, .36, 1), filter .45s ease;
}

.ktc-project-panel + .ktc-project-panel {
  border-left: 1px solid rgba(255,255,255,.10);
}

.ktc-project-panel.is-active,
.ktc-project-panel:hover,
.ktc-project-panel:focus-visible {
  flex: 2.8;
}

.ktc-project-panel__bg,
.ktc-project-panel__shade {
  position: absolute;
  inset: 0;
}

.ktc-project-panel__bg {
  background-image: var(--panel-image);
  background-size: cover;
  background-position: center center;
  transform: scale(1.01);
  transition: transform .8s ease, filter .45s ease;
}

.ktc-project-panel__shade {
  background:
    linear-gradient(90deg, rgba(5, 16, 37, .74) 0%, rgba(5, 16, 37, .52) 14%, rgba(5, 16, 37, .18) 28%, rgba(5, 16, 37, 0) 42%),
    linear-gradient(180deg, rgba(3, 10, 24, 0) 0%, rgba(3, 10, 24, 0) 76%, rgba(3, 10, 24, .22) 88%, rgba(3, 10, 24, .54) 100%);
}

.ktc-project-panel:hover .ktc-project-panel__bg,
.ktc-project-panel.is-active .ktc-project-panel__bg,
.ktc-project-panel:focus-visible .ktc-project-panel__bg {
  transform: scale(1.05);
}

.ktc-project-panel__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: clamp(26px, 3vw, 42px) clamp(16px, 2vw, 24px) clamp(24px, 3vw, 38px);
}

.ktc-project-panel__title-row {
  display: flex;
  align-items: flex-end;
  min-height: 220px;
  margin-top: auto;
}

.ktc-project-panel__title {
  margin: 0;
  color: #fff;
  font-family: "UTM Hanzel", var(--ktc-font-display);
  font-size: clamp(26px, 2.3vw, 44px);
  line-height: .98;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: uppercase;
  max-width: min(480px, 96%);
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .32s ease, transform .38s ease;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.ktc-project-panel.is-active .ktc-project-panel__title,
.ktc-project-panel:hover .ktc-project-panel__title,
.ktc-project-panel:focus-visible .ktc-project-panel__title {
  opacity: 1;
  transform: translateY(0);
}

.ktc-project-panel__index {
  align-self: flex-end;
  color: rgba(255,255,255,.92);
  font-size: clamp(28px, 2.8vw, 56px);
  line-height: 1;
  font-weight: 300;
  letter-spacing: .08em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transition: color .28s ease;
}

.ktc-project-panel.is-active .ktc-project-panel__index,
.ktc-project-panel:hover .ktc-project-panel__index,
.ktc-project-panel:focus-visible .ktc-project-panel__index {
  color: rgba(255,255,255,.55);
}

.ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__content {
  padding-left: 16px;
  padding-right: 12px;
}

.ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title {
  opacity: 1;
  transform: none;
  max-width: none;
  font-size: clamp(18px, 1.55vw, 28px);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
}

.ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title-row {
  align-items: flex-end;
  justify-content: center;
  min-height: 0;
  flex: 1;
}

/* Final, stronger fix for the two right-side news cards */
.ktc-news-panel .ktc-news-side-list {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  gap: 18px !important;
  height: clamp(360px, 46vh, 520px) !important;
  min-height: clamp(360px, 46vh, 520px) !important;
  margin-left: 18px !important;
  align-items: stretch !important;
}

.ktc-news-panel .ktc-news-side-card {
  position: relative;
  min-width: 0;
  min-height: 0 !important;
  height: 100% !important;
}

.ktc-news-panel .ktc-news-side-card__link {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.ktc-news-panel .ktc-news-side-card__media,
.ktc-news-panel .ktc-news-side-card__placeholder,
.ktc-news-panel .ktc-news-side-card__overlay {
  position: absolute !important;
  inset: 0 !important;
}

.ktc-news-panel .ktc-news-side-card__media img,
.ktc-news-panel .ktc-news-side-card__placeholder {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.ktc-news-panel .ktc-news-side-card__body {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  inset: auto 0 0 0 !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-height: 108px !important;
  padding: 18px 20px 20px !important;
}

.ktc-news-panel .ktc-news-side-card__date {
  display: inline-block !important;
  margin: 0 !important;
}

.ktc-news-panel .ktc-news-side-card__body h4 {
  margin: 0 !important;
  min-height: calc(2 * 1.12em) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

@media (min-width: 768px) {
  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section {
    height: 100vh;
    min-height: 100vh;
    padding: 0;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-container {
    height: 100%;
    max-width: 100%;
    width: 100%;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-project-accordion {
    height: 100%;
    min-height: 100%;
  }
}

@media (max-width: 1279px) {
  .ktc-project-accordion {
    height: min(78vh, 760px);
    min-height: 650px;
  }
}

@media (max-width: 1024px) {
  .ktc-projects-home__header {
    top: clamp(64px, 9.5vw, 88px);
  }

  .ktc-project-accordion {
    height: min(72vh, 680px);
    min-height: 600px;
  }

  .ktc-project-panel.is-active,
  .ktc-project-panel:hover,
  .ktc-project-panel:focus-visible {
    flex: 2.25;
  }
}

@media (max-width: 767px) {
  .ktc-projects-home {
    min-height: 0;
  }

  .ktc-projects-home__header {
    top: 72px;
    left: 20px;
    max-width: calc(100% - 40px);
  }

  .ktc-projects-home__header h2 {
    font-size: clamp(28px, 8.2vw, 40px);
  }

  .ktc-projects-home__underline {
    width: 120px;
    margin-top: 12px;
  }

  .ktc-project-accordion {
    flex-direction: column;
    height: auto;
    min-height: 0;
  }

  .ktc-project-panel,
  .ktc-project-panel.is-active,
  .ktc-project-panel:hover,
  .ktc-project-panel:focus-visible {
    flex: none;
    min-height: 190px;
  }

  .ktc-project-panel + .ktc-project-panel {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.1);
  }

  .ktc-project-panel__content {
    min-height: 190px;
    padding: 26px 18px 20px;
  }

  .ktc-project-panel__title-row {
    min-height: 0;
  }

  .ktc-project-panel__title,
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title {
    opacity: 1;
    transform: none;
    writing-mode: horizontal-tb;
    text-orientation: initial;
    white-space: normal;
    font-size: clamp(22px, 6.6vw, 30px);
    max-width: 100%;
  }

  .ktc-project-panel__index {
    font-size: 32px;
    writing-mode: horizontal-tb;
    text-orientation: initial;
  }

  .ktc-project-panel__shade {
    background:
      linear-gradient(90deg, rgba(5, 16, 37, .64) 0%, rgba(5, 16, 37, .34) 26%, rgba(5, 16, 37, 0) 56%),
      linear-gradient(180deg, rgba(3, 10, 24, 0) 0%, rgba(3, 10, 24, 0) 78%, rgba(3, 10, 24, .42) 100%);
  }

  .ktc-news-panel .ktc-news-side-list {
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
  }

  .ktc-news-panel .ktc-news-side-card__link {
    min-height: 210px !important;
    height: 210px !important;
  }

  .ktc-news-panel .ktc-news-side-card__body {
    min-height: 96px !important;
    padding: 18px 18px 20px !important;
  }
}

/* v111 final fix: stretch the two right news cards to the full section height */
@media (min-width: 768px) {
  .ktc-news-panel .ktc-news-layout {
    align-items: stretch !important;
  }

  .ktc-news-panel .ktc-news-side-list {
    height: 100% !important;
    min-height: 100% !important;
    align-self: stretch !important;
    grid-template-rows: 1fr 1fr !important;
    grid-auto-rows: 1fr !important;
  }

  .ktc-news-panel .ktc-news-side-card {
    display: flex !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .ktc-news-panel .ktc-news-side-card__link {
    flex: 1 1 auto !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .ktc-news-panel .ktc-news-side-card__body {
    min-height: 96px !important;
    padding: 16px 20px 18px !important;
  }
}

/* v112 refine lower news card text spacing */
@media (min-width: 768px) {
  .ktc-news-panel .ktc-news-side-card__body {
    padding: 16px 22px 28px !important;
    min-height: 108px !important;
  }

  .ktc-news-panel .ktc-news-side-card__body h4 {
    line-height: 1.16 !important;
  }
}

@media (max-width: 767px) {
  .ktc-news-panel .ktc-news-side-card__body {
    padding: 16px 18px 24px !important;
  }
}


/* v113 footer full-screen day/night section */
.ktc-site-footer {
  position: relative;
  min-height: 100vh;
  padding: 0;
  overflow: hidden;
  color: #fff;
  background: #071d42;
  isolation: isolate;
}

.ktc-site-footer__bg,
.ktc-site-footer__overlay {
  position: absolute;
  inset: 0;
}

.ktc-site-footer__bg {
  background-image: url('https://ktcg.vn/wp-content/uploads/2026/04/Anh-nan-chan-trang-chuan.png');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transition: background-image .35s ease;
}

.ktc-site-footer[data-footer-theme="night"] .ktc-site-footer__bg {
  background-image: url('https://ktcg.vn/wp-content/uploads/2026/04/Anh-nen-chan-trang-buoi-toi.png');
}

.ktc-site-footer__overlay {
  background:
    linear-gradient(90deg, rgba(6, 18, 40, .10) 0%, rgba(6, 18, 40, .08) 36%, rgba(6, 18, 40, .46) 58%, rgba(5, 16, 34, .82) 100%),
    linear-gradient(180deg, rgba(5, 16, 34, .08) 0%, rgba(5, 16, 34, .18) 58%, rgba(5, 16, 34, .38) 100%);
}

.ktc-site-footer .ktc-container {
  width: min(100%, calc(100% - 48px));
  max-width: 1440px;
}

.ktc-site-footer__inner {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 42%);
  align-items: center;
  gap: clamp(24px, 4vw, 48px);
  padding: clamp(120px, 14vh, 168px) 0 clamp(34px, 5vh, 54px);
}

.ktc-site-footer__empty {
  min-height: 1px;
}

.ktc-site-footer__content {
  justify-self: end;
  width: min(100%, 560px);
  padding: clamp(28px, 3vw, 40px);
  background: linear-gradient(180deg, rgba(8, 29, 68, .30) 0%, rgba(7, 24, 56, .56) 100%);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: 0 24px 60px rgba(4, 12, 28, .24);
}

.ktc-site-footer__content h2 {
  margin: 0;
  color: #fff;
  font-family: "UTM Hanzel", var(--ktc-font-display);
  font-size: clamp(28px, 3vw, 46px);
  font-weight: 400;
  line-height: 1.04;
  text-transform: uppercase;
  letter-spacing: 0;
}

.ktc-site-footer__contact {
  margin-top: 28px;
  display: grid;
  gap: 18px;
}

.ktc-site-footer__contact p {
  margin: 0;
  color: rgba(255,255,255,.96);
  font-size: clamp(18px, 1.22vw, 22px);
  line-height: 1.55;
}

.ktc-site-footer__contact strong {
  color: #fff;
  font-weight: 700;
}

.ktc-site-footer__contact a,
.ktc-site-footer__contact a:hover {
  color: #fff;
  text-decoration: none;
}

@media (min-width: 1200px) {
  body.ktc-homepage-body.ktc-snap-enabled .ktc-site-footer.ktc-snap-section {
    min-height: var(--ktc-stage-vh);
    padding: 0;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-site-footer.ktc-snap-section .ktc-site-footer__inner {
    min-height: var(--ktc-stage-vh);
    padding-top: calc(var(--ktc-header-offset) + clamp(26px, 4vh, 40px));
    padding-bottom: clamp(30px, 4vh, 46px);
  }
}

@media (max-width: 1199px) {
  .ktc-site-footer__inner {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 120px;
    padding-bottom: 42px;
  }

  .ktc-site-footer__content {
    justify-self: stretch;
    width: 100%;
    max-width: 640px;
  }
}

@media (max-width: 767px) {
  .ktc-site-footer {
    min-height: auto;
  }

  .ktc-site-footer .ktc-container {
    width: min(100%, calc(100% - 32px));
  }

  .ktc-site-footer__inner {
    padding-top: 108px;
    padding-bottom: 28px;
  }

  .ktc-site-footer__content {
    padding: 24px 20px;
  }

  .ktc-site-footer__content h2 {
    font-size: clamp(24px, 8vw, 34px);
  }

  .ktc-site-footer__contact {
    margin-top: 20px;
    gap: 14px;
  }

  .ktc-site-footer__contact p {
    font-size: 17px;
    line-height: 1.5;
  }
}


/* v114 footer refinements */
.ktc-site-footer__bg {
  background-size: cover;
  background-position: center top;
  transform: scale(0.94);
  transform-origin: center center;
}

.ktc-site-footer__fireworks {
  position: absolute;
  inset: 0 auto 0 0;
  width: min(42vw, 720px);
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}

.ktc-firework {
  --fw-color-1: rgba(255, 211, 92, 0.95);
  --fw-color-2: rgba(255, 116, 84, 0.92);
  --fw-color-3: rgba(109, 185, 255, 0.88);
  position: absolute;
  width: 220px;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0;
  filter: drop-shadow(0 0 10px rgba(255, 219, 120, 0.28)) drop-shadow(0 0 18px rgba(88, 159, 255, 0.22));
  background:
    radial-gradient(circle, transparent 0 28%, var(--fw-color-1) 28.8% 31%, transparent 31.8% 100%),
    radial-gradient(circle, transparent 0 34%, var(--fw-color-2) 34.8% 37%, transparent 37.8% 100%),
    radial-gradient(circle, transparent 0 40%, var(--fw-color-3) 40.8% 43%, transparent 43.8% 100%),
    radial-gradient(circle, transparent 0 46%, rgba(255,255,255,.95) 46.8% 48.2%, transparent 49% 100%);
  -webkit-mask: radial-gradient(circle, transparent 0 17%, #000 17.5% 100%);
  mask: radial-gradient(circle, transparent 0 17%, #000 17.5% 100%);
  animation: ktcFooterFirework 6.8s ease-out infinite;
  mix-blend-mode: screen;
}

.ktc-firework::before,
.ktc-firework::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    repeating-conic-gradient(from 0deg,
      rgba(255,255,255,.0) 0deg 10deg,
      rgba(255,255,255,.92) 10deg 12deg,
      rgba(255,255,255,.0) 12deg 24deg,
      rgba(255, 172, 92, .82) 24deg 26deg,
      rgba(255,255,255,.0) 26deg 38deg,
      rgba(121, 189, 255, .72) 38deg 40deg,
      rgba(255,255,255,.0) 40deg 50deg);
  -webkit-mask: radial-gradient(circle, transparent 0 18%, #000 18.4% 58%, transparent 58.4% 100%);
  mask: radial-gradient(circle, transparent 0 18%, #000 18.4% 58%, transparent 58.4% 100%);
}

.ktc-firework::after {
  transform: scale(0.72) rotate(16deg);
  opacity: 0.82;
}

.ktc-firework--one {
  top: 10%;
  left: 6%;
  animation-delay: 0s;
}

.ktc-firework--two {
  top: 34%;
  left: 20%;
  width: 180px;
  animation-delay: 2.1s;
}

.ktc-firework--three {
  top: 18%;
  left: 36%;
  width: 140px;
  animation-delay: 4.1s;
}

.ktc-site-footer__content h2 {
  font-size: clamp(18px, 1.55vw, 26px);
  line-height: 1.16;
  white-space: nowrap;
}

@keyframes ktcFooterFirework {
  0% {
    opacity: 0;
    transform: translate3d(0, 18px, 0) scale(0.14);
  }
  12% {
    opacity: 0.95;
  }
  26% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(0.95);
  }
  58% {
    opacity: 0.9;
    transform: translate3d(0, -10px, 0) scale(1.08);
  }
  100% {
    opacity: 0;
    transform: translate3d(0, -26px, 0) scale(1.24);
  }
}

@media (max-width: 1199px) {
  .ktc-site-footer__bg {
    transform: scale(0.97);
  }

  .ktc-site-footer__fireworks {
    width: min(52vw, 520px);
  }

  .ktc-site-footer__content h2 {
    white-space: normal;
    font-size: clamp(24px, 3vw, 34px);
  }
}

@media (max-width: 767px) {
  .ktc-site-footer__bg {
    transform: scale(1);
    background-position: 40% top;
  }

  .ktc-site-footer__fireworks {
    width: 64vw;
    opacity: 0.75;
  }

  .ktc-firework--one {
    left: -8%;
    top: 12%;
    width: 132px;
  }

  .ktc-firework--two {
    left: 18%;
    top: 26%;
    width: 110px;
  }

  .ktc-firework--three {
    left: 34%;
    top: 16%;
    width: 88px;
  }

  .ktc-site-footer__content h2 {
    white-space: normal;
    font-size: clamp(21px, 6.4vw, 30px);
  }
}

/* v115 footer background full-bleed fix */
.ktc-site-footer__bg {
  inset: -2px;
  transform: none;
  background-size: cover;
  background-position: center 8%;
}

@media (min-width: 1200px) {
  .ktc-site-footer__bg {
    background-position: center 10%;
  }
}

@media (max-width: 1199px) {
  .ktc-site-footer__bg {
    inset: -2px;
    transform: none;
    background-position: center 6%;
  }
}

@media (max-width: 767px) {
  .ktc-site-footer__bg {
    inset: 0;
    background-position: 42% 8%;
    background-size: cover;
  }
}

/* v116 footer fireworks realism refinement */
.ktc-site-footer {
  width: 100%;
}

.ktc-site-footer__fireworks {
  width: min(44vw, 760px);
  inset: 0 auto 0 0;
  overflow: hidden;
}

.ktc-firework {
  --fw-gold: rgba(255, 210, 108, 0.98);
  --fw-orange: rgba(255, 145, 88, 0.94);
  --fw-blue: rgba(137, 198, 255, 0.88);
  --fw-white: rgba(255, 255, 255, 0.98);
  position: absolute;
  width: 190px;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0;
  mix-blend-mode: screen;
  filter: drop-shadow(0 0 9px rgba(255, 214, 120, 0.34)) drop-shadow(0 0 18px rgba(255, 153, 114, 0.22));
  background:
    radial-gradient(circle at center, rgba(255,255,255,0.95) 0 3.5%, rgba(255,246,220,0.85) 4% 5.2%, rgba(255,255,255,0) 7%),
    radial-gradient(circle, transparent 0 46%, rgba(255,255,255,0.85) 46.3% 47.2%, transparent 48%),
    radial-gradient(circle, transparent 0 56%, rgba(255,185,109,0.75) 56.2% 57.1%, transparent 58%);
  animation: ktcFooterFireworkReal 7s ease-out infinite;
}

.ktc-firework::before,
.ktc-firework::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

.ktc-firework::before {
  background:
    repeating-conic-gradient(from 0deg,
      rgba(255,255,255,0) 0deg 9deg,
      var(--fw-white) 9deg 10.2deg,
      rgba(255,255,255,0) 10.2deg 19deg,
      var(--fw-gold) 19deg 20.2deg,
      rgba(255,255,255,0) 20.2deg 29deg,
      var(--fw-blue) 29deg 30.2deg,
      rgba(255,255,255,0) 30.2deg 39deg,
      var(--fw-orange) 39deg 40.2deg,
      rgba(255,255,255,0) 40.2deg 48deg);
  -webkit-mask: radial-gradient(circle, transparent 0 7%, #000 8% 60%, transparent 61% 100%);
  mask: radial-gradient(circle, transparent 0 7%, #000 8% 60%, transparent 61% 100%);
  filter: blur(0.2px);
}

.ktc-firework::after {
  inset: 14%;
  background:
    radial-gradient(circle at 50% 0%, var(--fw-white) 0 2.6%, transparent 3.3%),
    radial-gradient(circle at 85% 18%, var(--fw-gold) 0 2.6%, transparent 3.4%),
    radial-gradient(circle at 100% 50%, var(--fw-orange) 0 2.4%, transparent 3.2%),
    radial-gradient(circle at 83% 82%, var(--fw-white) 0 2.6%, transparent 3.4%),
    radial-gradient(circle at 50% 100%, var(--fw-blue) 0 2.5%, transparent 3.3%),
    radial-gradient(circle at 17% 83%, var(--fw-gold) 0 2.6%, transparent 3.4%),
    radial-gradient(circle at 0% 50%, var(--fw-white) 0 2.7%, transparent 3.5%),
    radial-gradient(circle at 17% 18%, var(--fw-orange) 0 2.5%, transparent 3.3%),
    radial-gradient(circle at 68% 10%, rgba(255,255,255,0.92) 0 2.2%, transparent 3%),
    radial-gradient(circle at 91% 37%, rgba(255,228,160,0.9) 0 2.1%, transparent 2.9%),
    radial-gradient(circle at 75% 69%, rgba(255,255,255,0.92) 0 2.2%, transparent 3%),
    radial-gradient(circle at 33% 88%, rgba(146,204,255,0.85) 0 2.1%, transparent 2.9%),
    radial-gradient(circle at 11% 61%, rgba(255,255,255,0.9) 0 2.2%, transparent 3%),
    radial-gradient(circle at 30% 27%, rgba(255,177,105,0.86) 0 2.1%, transparent 2.9%);
  filter: blur(0.15px);
  opacity: 0.96;
}

.ktc-firework--one {
  top: 13%;
  left: 8%;
  width: 212px;
  animation-delay: 0s;
}

.ktc-firework--two {
  top: 30%;
  left: 11%;
  width: 244px;
  animation-delay: 2.15s;
}

.ktc-firework--three {
  top: 8%;
  left: 30%;
  width: 174px;
  animation-delay: 4.3s;
}

@keyframes ktcFooterFireworkReal {
  0% {
    opacity: 0;
    transform: translate3d(0, 22px, 0) scale(0.08);
    filter: drop-shadow(0 0 0 rgba(255,255,255,0));
  }
  8% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(0.22);
    filter: drop-shadow(0 0 4px rgba(255, 236, 181, 0.34)) drop-shadow(0 0 10px rgba(255, 153, 114, 0.24));
  }
  15% {
    opacity: 1;
    transform: translate3d(0, -5px, 0) scale(0.92);
    filter: drop-shadow(0 0 12px rgba(255, 226, 161, 0.40)) drop-shadow(0 0 26px rgba(255, 153, 114, 0.26));
  }
  26% {
    opacity: 0.92;
    transform: translate3d(0, -8px, 0) scale(1.06);
  }
  40% {
    opacity: 0.42;
    transform: translate3d(0, -10px, 0) scale(1.18);
    filter: drop-shadow(0 0 10px rgba(255, 226, 161, 0.20)) drop-shadow(0 0 16px rgba(137, 198, 255, 0.18));
  }
  100% {
    opacity: 0;
    transform: translate3d(0, -12px, 0) scale(1.28);
    filter: drop-shadow(0 0 0 rgba(255,255,255,0));
  }
}

@media (max-width: 1199px) {
  .ktc-site-footer__fireworks {
    width: min(48vw, 540px);
  }

  .ktc-firework--one {
    left: 4%;
    top: 12%;
    width: 176px;
  }

  .ktc-firework--two {
    left: 10%;
    top: 28%;
    width: 204px;
  }

  .ktc-firework--three {
    left: 26%;
    top: 10%;
    width: 150px;
  }
}

@media (max-width: 767px) {
  .ktc-site-footer__fireworks {
    width: 62vw;
    opacity: 0.82;
  }

  .ktc-firework--one {
    left: -10%;
    top: 12%;
    width: 118px;
  }

  .ktc-firework--two {
    left: 10%;
    top: 24%;
    width: 144px;
  }

  .ktc-firework--three {
    left: 22%;
    top: 10%;
    width: 98px;
  }
}

/* v117 fireworks styled closer to sample reference */
.ktc-site-footer__fireworks {
  width: min(46vw, 760px) !important;
  inset: 0 auto 0 0 !important;
  overflow: hidden !important;
  pointer-events: none;
}

.ktc-site-footer__fireworks::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 8% 20%, rgba(255,239,153,0.95) 0 1.5px, transparent 2.4px),
    radial-gradient(circle at 15% 30%, rgba(255,255,255,0.95) 0 1.7px, transparent 2.6px),
    radial-gradient(circle at 22% 12%, rgba(255,180,214,0.92) 0 1.4px, transparent 2.3px),
    radial-gradient(circle at 28% 24%, rgba(255,255,255,0.92) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 34% 10%, rgba(255,239,153,0.95) 0 1.8px, transparent 2.7px),
    radial-gradient(circle at 38% 31%, rgba(255,177,207,0.92) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 44% 18%, rgba(255,255,255,0.95) 0 1.7px, transparent 2.5px),
    radial-gradient(circle at 50% 28%, rgba(255,239,153,0.95) 0 1.8px, transparent 2.6px),
    radial-gradient(circle at 56% 11%, rgba(255,255,255,0.92) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 62% 22%, rgba(255,180,214,0.9) 0 1.3px, transparent 2.1px),
    radial-gradient(circle at 70% 14%, rgba(255,255,255,0.95) 0 1.7px, transparent 2.5px),
    radial-gradient(circle at 79% 26%, rgba(255,239,153,0.95) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 86% 18%, rgba(255,180,214,0.9) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 19% 42%, rgba(255,255,255,0.92) 0 1.4px, transparent 2.1px),
    radial-gradient(circle at 31% 48%, rgba(255,239,153,0.95) 0 1.6px, transparent 2.5px),
    radial-gradient(circle at 48% 42%, rgba(255,180,214,0.9) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 60% 47%, rgba(255,255,255,0.92) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 76% 39%, rgba(255,239,153,0.95) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 88% 45%, rgba(255,255,255,0.92) 0 1.4px, transparent 2.1px),
    radial-gradient(circle at 12% 58%, rgba(255,180,214,0.9) 0 1.3px, transparent 2.1px),
    radial-gradient(circle at 24% 70%, rgba(255,255,255,0.95) 0 1.6px, transparent 2.5px),
    radial-gradient(circle at 36% 62%, rgba(255,239,153,0.95) 0 1.5px, transparent 2.4px),
    radial-gradient(circle at 46% 76%, rgba(255,180,214,0.92) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 59% 67%, rgba(255,255,255,0.94) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 71% 73%, rgba(255,239,153,0.95) 0 1.7px, transparent 2.5px),
    radial-gradient(circle at 83% 62%, rgba(255,180,214,0.9) 0 1.3px, transparent 2.1px),
    radial-gradient(circle at 90% 78%, rgba(255,255,255,0.95) 0 1.6px, transparent 2.4px);
  opacity: 0.82;
}

.ktc-firework {
  --fw-main: rgba(255,255,255,0.96);
  --fw-alt: rgba(255,235,138,0.94);
  --fw-dot: rgba(255,184,208,0.92);
  position: absolute;
  width: 190px;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0;
  mix-blend-mode: screen;
  transform-origin: center;
  filter: drop-shadow(0 0 5px color-mix(in srgb, var(--fw-main) 45%, transparent));
  background: radial-gradient(circle at center, rgba(255,255,255,0.95) 0 2.1%, rgba(255,255,255,0.5) 2.2% 2.9%, transparent 3.2%);
  animation: ktcFooterFireworkSample 8.2s ease-out infinite;
}

.ktc-firework::before,
.ktc-firework::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

.ktc-firework::before {
  background: repeating-conic-gradient(from -2deg,
    transparent 0deg 4.2deg,
    var(--fw-main) 4.2deg 5.2deg,
    transparent 5.2deg 9deg,
    var(--fw-alt) 9deg 10deg,
    transparent 10deg 14.5deg,
    var(--fw-dot) 14.5deg 15.4deg,
    transparent 15.4deg 18deg);
  -webkit-mask: radial-gradient(circle, transparent 0 5%, #000 6% 61%, transparent 62% 100%);
  mask: radial-gradient(circle, transparent 0 5%, #000 6% 61%, transparent 62% 100%);
}

.ktc-firework::after {
  inset: 6%;
  background:
    radial-gradient(circle at 50% 1.5%, var(--fw-main) 0 1.55%, transparent 1.9%),
    radial-gradient(circle at 62% 4%, var(--fw-alt) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 75% 10%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 86% 20%, var(--fw-dot) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 95% 35%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 98% 50%, var(--fw-alt) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 94% 66%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 85% 81%, var(--fw-dot) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 74% 91%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 61% 97%, var(--fw-alt) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 50% 99%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 39% 97%, var(--fw-dot) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 26% 91%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 15% 81%, var(--fw-alt) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 6% 66%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 2% 50%, var(--fw-dot) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 5% 35%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 14% 20%, var(--fw-alt) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 25% 10%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 38% 4%, var(--fw-dot) 0 1.45%, transparent 1.85%);
  opacity: 0.96;
}

.ktc-firework--one {
  --fw-main: rgba(250, 250, 255, 0.98);
  --fw-alt: rgba(238, 239, 248, 0.94);
  --fw-dot: rgba(255,255,255,0.9);
  width: 236px;
  left: 12%;
  top: 25%;
  animation-delay: 0s;
}

.ktc-firework--two {
  --fw-main: rgba(245, 206, 224, 0.96);
  --fw-alt: rgba(255, 228, 236, 0.88);
  --fw-dot: rgba(255, 190, 214, 0.9);
  width: 200px;
  left: 38%;
  top: 10%;
  animation-delay: 1.15s;
}

.ktc-firework--three {
  --fw-main: rgba(220, 246, 255, 0.96);
  --fw-alt: rgba(129, 244, 255, 0.92);
  --fw-dot: rgba(196, 250, 255, 0.88);
  width: 176px;
  left: 44%;
  top: 53%;
  animation-delay: 2.2s;
}

.ktc-firework--four {
  --fw-main: rgba(214, 224, 111, 0.96);
  --fw-alt: rgba(243, 244, 150, 0.92);
  --fw-dot: rgba(232, 241, 130, 0.88);
  width: 190px;
  left: 30%;
  top: 56%;
  animation-delay: 3.15s;
}

.ktc-firework--five {
  --fw-main: rgba(214, 224, 111, 0.96);
  --fw-alt: rgba(243, 244, 150, 0.92);
  --fw-dot: rgba(232, 241, 130, 0.88);
  width: 122px;
  left: 62%;
  top: 27%;
  animation-delay: 4.25s;
}

@keyframes ktcFooterFireworkSample {
  0% {
    opacity: 0;
    transform: scale(0.08);
  }
  8% {
    opacity: 1;
    transform: scale(0.38);
  }
  18% {
    opacity: 1;
    transform: scale(0.98);
  }
  30% {
    opacity: 0.95;
    transform: scale(1.02);
  }
  52% {
    opacity: 0.52;
    transform: scale(1.08);
  }
  100% {
    opacity: 0;
    transform: scale(1.16);
  }
}

@media (max-width: 1199px) {
  .ktc-site-footer__fireworks {
    width: min(48vw, 560px) !important;
  }

  .ktc-firework--one { width: 192px; left: 8%; top: 28%; }
  .ktc-firework--two { width: 162px; left: 35%; top: 12%; }
  .ktc-firework--three { width: 146px; left: 42%; top: 55%; }
  .ktc-firework--four { width: 154px; left: 26%; top: 58%; }
  .ktc-firework--five { width: 100px; left: 59%; top: 30%; }
}

@media (max-width: 767px) {
  .ktc-site-footer__fireworks {
    width: 64vw !important;
    opacity: 0.9;
  }

  .ktc-site-footer__fireworks::before {
    opacity: 0.58;
  }

  .ktc-firework--one { width: 124px; left: -8%; top: 30%; }
  .ktc-firework--two { width: 102px; left: 28%; top: 12%; }
  .ktc-firework--three { width: 96px; left: 35%; top: 53%; }
  .ktc-firework--four { width: 108px; left: 16%; top: 58%; }
  .ktc-firework--five { width: 70px; left: 56%; top: 30%; }
}

/* v118 footer fireworks closer to supplied sample + 5-minute background switching support */
.ktc-site-footer__bg {
  transition: background-image 0.5s ease, transform 0.5s ease, opacity 0.5s ease;
}

.ktc-site-footer__fireworks {
  width: min(48vw, 820px) !important;
}

.ktc-site-footer__fireworks::before {
  opacity: 0.94;
  background:
    radial-gradient(circle at 6% 18%, rgba(255,241,156,0.96) 0 1.5px, transparent 2.4px),
    radial-gradient(circle at 11% 29%, rgba(255,255,255,0.96) 0 1.7px, transparent 2.5px),
    radial-gradient(circle at 16% 8%, rgba(255,181,213,0.92) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 20% 18%, rgba(255,255,255,0.94) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 24% 25%, rgba(255,241,156,0.96) 0 1.6px, transparent 2.5px),
    radial-gradient(circle at 29% 13%, rgba(255,181,213,0.92) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 34% 5%, rgba(255,255,255,0.95) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 38% 16%, rgba(255,241,156,0.96) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 43% 8%, rgba(255,181,213,0.9) 0 1.35px, transparent 2.1px),
    radial-gradient(circle at 49% 21%, rgba(255,255,255,0.95) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 56% 9%, rgba(255,241,156,0.96) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 61% 18%, rgba(255,181,213,0.9) 0 1.35px, transparent 2.1px),
    radial-gradient(circle at 68% 7%, rgba(255,255,255,0.95) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 74% 17%, rgba(255,241,156,0.96) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 81% 10%, rgba(255,181,213,0.92) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 89% 22%, rgba(255,255,255,0.95) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 17% 42%, rgba(255,255,255,0.94) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 26% 50%, rgba(255,241,156,0.96) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 35% 38%, rgba(255,181,213,0.9) 0 1.35px, transparent 2.1px),
    radial-gradient(circle at 44% 46%, rgba(255,255,255,0.95) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 54% 40%, rgba(255,241,156,0.96) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 65% 48%, rgba(255,181,213,0.9) 0 1.35px, transparent 2.1px),
    radial-gradient(circle at 78% 42%, rgba(255,255,255,0.95) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 88% 36%, rgba(255,241,156,0.96) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 11% 60%, rgba(255,181,213,0.9) 0 1.35px, transparent 2.1px),
    radial-gradient(circle at 22% 71%, rgba(255,255,255,0.95) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 31% 63%, rgba(255,241,156,0.96) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 41% 77%, rgba(255,181,213,0.92) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 53% 69%, rgba(255,255,255,0.95) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 63% 78%, rgba(255,241,156,0.96) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 74% 67%, rgba(255,181,213,0.9) 0 1.35px, transparent 2.1px),
    radial-gradient(circle at 85% 76%, rgba(255,255,255,0.95) 0 1.6px, transparent 2.4px);
}

.ktc-firework {
  animation: ktcFooterFireworkSampleV118 8.8s ease-out infinite;
  filter: drop-shadow(0 0 7px color-mix(in srgb, var(--fw-main) 44%, transparent));
}

.ktc-firework::before {
  background: repeating-conic-gradient(from -1deg,
    transparent 0deg 4.6deg,
    var(--fw-main) 4.6deg 5.2deg,
    transparent 5.2deg 8.8deg,
    var(--fw-alt) 8.8deg 9.4deg,
    transparent 9.4deg 13.8deg,
    var(--fw-main) 13.8deg 14.35deg,
    transparent 14.35deg 18deg);
  -webkit-mask: radial-gradient(circle, transparent 0 4.5%, #000 5.5% 65%, transparent 66% 100%);
  mask: radial-gradient(circle, transparent 0 4.5%, #000 5.5% 65%, transparent 66% 100%);
}

.ktc-firework::after {
  inset: 4.5%;
  opacity: 1;
}

.ktc-firework--one {
  width: 250px;
  left: 11%;
  top: 23%;
}

.ktc-firework--two {
  width: 206px;
  left: 38%;
  top: 8%;
}

.ktc-firework--three {
  width: 186px;
  left: 47%;
  top: 54%;
}

.ktc-firework--four {
  width: 198px;
  left: 30%;
  top: 57%;
}

.ktc-firework--five {
  width: 128px;
  left: 66%;
  top: 26%;
}

.ktc-firework--six {
  --fw-main: rgba(222, 198, 230, 0.95);
  --fw-alt: rgba(255, 216, 231, 0.9);
  --fw-dot: rgba(252, 201, 223, 0.88);
  width: 88px;
  left: 16%;
  top: 73%;
  animation-delay: 5.1s;
}

@keyframes ktcFooterFireworkSampleV118 {
  0% {
    opacity: 0;
    transform: scale(0.06);
  }
  7% {
    opacity: 1;
    transform: scale(0.34);
  }
  16% {
    opacity: 1;
    transform: scale(1);
  }
  29% {
    opacity: 0.96;
    transform: scale(1.03);
  }
  48% {
    opacity: 0.48;
    transform: scale(1.09);
  }
  100% {
    opacity: 0;
    transform: scale(1.17);
  }
}

@media (max-width: 1199px) {
  .ktc-site-footer__fireworks {
    width: min(50vw, 580px) !important;
  }

  .ktc-firework--one { width: 204px; left: 8%; top: 25%; }
  .ktc-firework--two { width: 166px; left: 33%; top: 10%; }
  .ktc-firework--three { width: 150px; left: 42%; top: 56%; }
  .ktc-firework--four { width: 160px; left: 24%; top: 59%; }
  .ktc-firework--five { width: 98px; left: 59%; top: 28%; }
  .ktc-firework--six { width: 66px; left: 12%; top: 72%; }
}

@media (max-width: 767px) {
  .ktc-site-footer__fireworks {
    width: 66vw !important;
  }

  .ktc-firework--one { width: 126px; left: -8%; top: 32%; }
  .ktc-firework--two { width: 102px; left: 27%; top: 12%; }
  .ktc-firework--three { width: 98px; left: 38%; top: 54%; }
  .ktc-firework--four { width: 106px; left: 16%; top: 58%; }
  .ktc-firework--five { width: 68px; left: 56%; top: 29%; }
  .ktc-firework--six { width: 48px; left: 6%; top: 74%; }
}

/* v119 footer background swap refined: no flashing, very smooth logo-like change */
.ktc-site-footer__bg {
  background-image: url('https://ktcg.vn/wp-content/uploads/2026/04/Anh-nan-chan-trang-chuan.png') !important;
  background-size: cover;
  background-position: center 8%;
  background-repeat: no-repeat;
  transition: none !important;
}

.ktc-site-footer__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('https://ktcg.vn/wp-content/uploads/2026/04/Anh-nen-chan-trang-buoi-toi.png');
  background-size: cover;
  background-position: inherit;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 12s linear;
  will-change: opacity;
}

.ktc-site-footer[data-footer-theme="night"] .ktc-site-footer__bg::after {
  opacity: 1;
}

.ktc-site-footer[data-footer-theme="night"] .ktc-site-footer__bg {
  background-image: url('https://ktcg.vn/wp-content/uploads/2026/04/Anh-nan-chan-trang-chuan.png') !important;
}

@media (min-width: 1200px) {
  .ktc-site-footer__bg,
  .ktc-site-footer__bg::after {
    background-position: center 10%;
  }
}

@media (max-width: 1199px) {
  .ktc-site-footer__bg,
  .ktc-site-footer__bg::after {
    background-position: center 6%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ktc-site-footer__bg::after {
    transition: opacity 0.01s linear;
  }
}

/* v120 footer fireworks refined: remove static dots, alternate 2 styles smoothly */
.ktc-site-footer__fireworks::before {
  content: none !important;
  display: none !important;
}

.ktc-site-footer__fireworks {
  width: min(46vw, 760px) !important;
}

.ktc-firework {
  position: absolute;
  opacity: 0;
  mix-blend-mode: screen;
  transform-origin: center center;
  will-change: transform, opacity;
  background: radial-gradient(circle at center, rgba(255,255,255,0.95) 0 2.1%, rgba(255,255,255,0.42) 2.2% 3.1%, transparent 3.3%);
  filter: drop-shadow(0 0 6px rgba(255,255,255,0.18));
}

.ktc-firework::before,
.ktc-firework::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

/* lượt 1 */
.ktc-firework--one,
.ktc-firework--two,
.ktc-firework--three {
  animation: ktcFooterBurstA 10s cubic-bezier(0.16, 0.78, 0.24, 1) infinite;
}

.ktc-firework--one::before,
.ktc-firework--two::before,
.ktc-firework--three::before {
  background: repeating-conic-gradient(from 0deg,
    transparent 0deg 5.3deg,
    rgba(255,255,255,0.96) 5.3deg 5.95deg,
    transparent 5.95deg 11.2deg,
    rgba(241, 211, 228, 0.84) 11.2deg 11.8deg,
    transparent 11.8deg 17.4deg,
    rgba(212, 246, 255, 0.90) 17.4deg 18deg);
  -webkit-mask: radial-gradient(circle, transparent 0 4%, #000 5.2% 66%, transparent 67% 100%);
  mask: radial-gradient(circle, transparent 0 4%, #000 5.2% 66%, transparent 67% 100%);
}

.ktc-firework--one::after,
.ktc-firework--two::after,
.ktc-firework--three::after {
  inset: 4.8%;
  background:
    radial-gradient(circle at 50% 1.8%, rgba(255,255,255,0.98) 0 1.45%, transparent 1.9%),
    radial-gradient(circle at 68% 5.4%, rgba(242,214,230,0.92) 0 1.35%, transparent 1.8%),
    radial-gradient(circle at 84% 16%, rgba(255,255,255,0.95) 0 1.45%, transparent 1.9%),
    radial-gradient(circle at 95% 34%, rgba(214,244,255,0.92) 0 1.35%, transparent 1.8%),
    radial-gradient(circle at 97.5% 50%, rgba(255,255,255,0.98) 0 1.45%, transparent 1.9%),
    radial-gradient(circle at 93% 68%, rgba(242,214,230,0.92) 0 1.35%, transparent 1.8%),
    radial-gradient(circle at 82% 84%, rgba(255,255,255,0.95) 0 1.45%, transparent 1.9%),
    radial-gradient(circle at 66% 95%, rgba(214,244,255,0.92) 0 1.35%, transparent 1.8%),
    radial-gradient(circle at 50% 98%, rgba(255,255,255,0.98) 0 1.45%, transparent 1.9%),
    radial-gradient(circle at 32% 94%, rgba(242,214,230,0.92) 0 1.35%, transparent 1.8%),
    radial-gradient(circle at 16% 84%, rgba(255,255,255,0.95) 0 1.45%, transparent 1.9%),
    radial-gradient(circle at 5% 66%, rgba(214,244,255,0.92) 0 1.35%, transparent 1.8%),
    radial-gradient(circle at 2.5% 50%, rgba(255,255,255,0.98) 0 1.45%, transparent 1.9%),
    radial-gradient(circle at 7% 32%, rgba(242,214,230,0.92) 0 1.35%, transparent 1.8%),
    radial-gradient(circle at 18% 16%, rgba(255,255,255,0.95) 0 1.45%, transparent 1.9%),
    radial-gradient(circle at 34% 6%, rgba(214,244,255,0.92) 0 1.35%, transparent 1.8%);
}

/* lượt 2 */
.ktc-firework--four,
.ktc-firework--five,
.ktc-firework--six {
  animation: ktcFooterBurstB 10s cubic-bezier(0.18, 0.82, 0.22, 1) infinite;
}

.ktc-firework--four::before,
.ktc-firework--five::before,
.ktc-firework--six::before {
  background: repeating-conic-gradient(from -1deg,
    transparent 0deg 4.5deg,
    rgba(232, 241, 143, 0.95) 4.5deg 5.05deg,
    transparent 5.05deg 9.4deg,
    rgba(197, 247, 255, 0.90) 9.4deg 9.95deg,
    transparent 9.95deg 14.2deg,
    rgba(255, 235, 173, 0.92) 14.2deg 14.8deg,
    transparent 14.8deg 18deg);
  -webkit-mask: radial-gradient(circle, transparent 0 3.5%, #000 4.5% 70%, transparent 71% 100%);
  mask: radial-gradient(circle, transparent 0 3.5%, #000 4.5% 70%, transparent 71% 100%);
}

.ktc-firework--four::after,
.ktc-firework--five::after,
.ktc-firework--six::after {
  inset: 5.2%;
  background:
    radial-gradient(circle at 50% 1.4%, rgba(241,245,167,0.98) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 60% 3%, rgba(196,247,255,0.92) 0 1.25%, transparent 1.72%),
    radial-gradient(circle at 73% 7.5%, rgba(255,242,192,0.95) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 85% 16%, rgba(196,247,255,0.92) 0 1.25%, transparent 1.72%),
    radial-gradient(circle at 94% 28%, rgba(241,245,167,0.98) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 98% 42%, rgba(255,242,192,0.95) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 98% 58%, rgba(196,247,255,0.92) 0 1.25%, transparent 1.72%),
    radial-gradient(circle at 92% 73%, rgba(241,245,167,0.98) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 82% 85%, rgba(255,242,192,0.95) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 69% 93%, rgba(196,247,255,0.92) 0 1.25%, transparent 1.72%),
    radial-gradient(circle at 54% 98%, rgba(241,245,167,0.98) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 38% 96%, rgba(255,242,192,0.95) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 24% 89%, rgba(196,247,255,0.92) 0 1.25%, transparent 1.72%),
    radial-gradient(circle at 12% 79%, rgba(241,245,167,0.98) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 4.5% 65%, rgba(255,242,192,0.95) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 2% 49%, rgba(196,247,255,0.92) 0 1.25%, transparent 1.72%),
    radial-gradient(circle at 6% 33%, rgba(241,245,167,0.98) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 14% 19%, rgba(255,242,192,0.95) 0 1.35%, transparent 1.82%),
    radial-gradient(circle at 26% 9.5%, rgba(196,247,255,0.92) 0 1.25%, transparent 1.72%),
    radial-gradient(circle at 40% 3.4%, rgba(241,245,167,0.98) 0 1.35%, transparent 1.82%);
}

.ktc-firework--one {
  width: 210px;
  left: 10%;
  top: 34%;
  animation-delay: 0s;
}

.ktc-firework--two {
  width: 162px;
  left: 40%;
  top: 16%;
  animation-delay: 0.42s;
}

.ktc-firework--three {
  width: 136px;
  left: 50%;
  top: 57%;
  animation-delay: 0.82s;
}

.ktc-firework--four {
  width: 156px;
  left: 26%;
  top: 62%;
  animation-delay: 4.75s;
}

.ktc-firework--five {
  width: 116px;
  left: 63%;
  top: 30%;
  animation-delay: 5.12s;
}

.ktc-firework--six {
  width: 84px;
  left: 6%;
  top: 76%;
  animation-delay: 5.46s;
}

@keyframes ktcFooterBurstA {
  0% {
    opacity: 0;
    transform: scale(0.08);
  }
  6% {
    opacity: 1;
    transform: scale(0.34);
  }
  16% {
    opacity: 1;
    transform: scale(1);
  }
  28% {
    opacity: 0.96;
    transform: scale(1.04);
  }
  42% {
    opacity: 0.64;
    transform: scale(1.08);
  }
  48% {
    opacity: 0.2;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(1.1);
  }
}

@keyframes ktcFooterBurstB {
  0% {
    opacity: 0;
    transform: scale(0.08);
  }
  7% {
    opacity: 1;
    transform: scale(0.30);
  }
  18% {
    opacity: 1;
    transform: scale(1);
  }
  31% {
    opacity: 0.95;
    transform: scale(1.03);
  }
  45% {
    opacity: 0.60;
    transform: scale(1.07);
  }
  51% {
    opacity: 0.18;
    transform: scale(1.09);
  }
  100% {
    opacity: 0;
    transform: scale(1.09);
  }
}

@media (max-width: 1199px) {
  .ktc-site-footer__fireworks {
    width: min(50vw, 560px) !important;
  }

  .ktc-firework--one { width: 176px; left: 6%; top: 36%; }
  .ktc-firework--two { width: 136px; left: 35%; top: 18%; }
  .ktc-firework--three { width: 114px; left: 44%; top: 58%; }
  .ktc-firework--four { width: 130px; left: 21%; top: 63%; }
  .ktc-firework--five { width: 96px; left: 55%; top: 32%; }
  .ktc-firework--six { width: 68px; left: 3%; top: 76%; }
}

@media (max-width: 767px) {
  .ktc-site-footer__fireworks {
    width: 66vw !important;
  }

  .ktc-firework--one { width: 112px; left: -6%; top: 38%; }
  .ktc-firework--two { width: 88px; left: 26%; top: 16%; }
  .ktc-firework--three { width: 72px; left: 36%; top: 58%; }
  .ktc-firework--four { width: 84px; left: 13%; top: 62%; }
  .ktc-firework--five { width: 62px; left: 50%; top: 28%; }
  .ktc-firework--six { width: 44px; left: -2%; top: 76%; }
}

/* v121 smooth fireworks expansion: softer spread, no jerky growth */
.ktc-firework--one,
.ktc-firework--two,
.ktc-firework--three {
  animation: ktcFooterBurstA_v121 10.6s cubic-bezier(0.19, 0.72, 0.24, 1) infinite !important;
}

.ktc-firework--four,
.ktc-firework--five,
.ktc-firework--six {
  animation: ktcFooterBurstB_v121 10.6s cubic-bezier(0.19, 0.72, 0.24, 1) infinite !important;
}

.ktc-firework {
  backface-visibility: hidden;
  transform: translateZ(0) scale(0.04);
}

@keyframes ktcFooterBurstA_v121 {
  0% {
    opacity: 0;
    transform: translateZ(0) scale(0.03);
    filter: drop-shadow(0 0 0 rgba(255,255,255,0));
  }
  5% {
    opacity: 0.72;
    transform: translateZ(0) scale(0.12);
    filter: drop-shadow(0 0 2px rgba(255,255,255,0.10));
  }
  12% {
    opacity: 0.95;
    transform: translateZ(0) scale(0.28);
    filter: drop-shadow(0 0 3px rgba(255,255,255,0.14));
  }
  22% {
    opacity: 1;
    transform: translateZ(0) scale(0.52);
    filter: drop-shadow(0 0 4px rgba(255,255,255,0.16));
  }
  34% {
    opacity: 1;
    transform: translateZ(0) scale(0.76);
    filter: drop-shadow(0 0 5px rgba(255,255,255,0.17));
  }
  46% {
    opacity: 0.98;
    transform: translateZ(0) scale(0.96);
    filter: drop-shadow(0 0 6px rgba(255,255,255,0.18));
  }
  58% {
    opacity: 0.86;
    transform: translateZ(0) scale(1.06);
    filter: drop-shadow(0 0 5px rgba(255,255,255,0.14));
  }
  70% {
    opacity: 0.56;
    transform: translateZ(0) scale(1.12);
    filter: drop-shadow(0 0 4px rgba(255,255,255,0.10));
  }
  82% {
    opacity: 0.18;
    transform: translateZ(0) scale(1.16);
    filter: drop-shadow(0 0 2px rgba(255,255,255,0.04));
  }
  100% {
    opacity: 0;
    transform: translateZ(0) scale(1.18);
    filter: drop-shadow(0 0 0 rgba(255,255,255,0));
  }
}

@keyframes ktcFooterBurstB_v121 {
  0% {
    opacity: 0;
    transform: translateZ(0) scale(0.03);
    filter: drop-shadow(0 0 0 rgba(255,248,200,0));
  }
  6% {
    opacity: 0.72;
    transform: translateZ(0) scale(0.11);
    filter: drop-shadow(0 0 2px rgba(255,248,200,0.10));
  }
  14% {
    opacity: 0.95;
    transform: translateZ(0) scale(0.26);
    filter: drop-shadow(0 0 3px rgba(255,248,200,0.14));
  }
  24% {
    opacity: 1;
    transform: translateZ(0) scale(0.50);
    filter: drop-shadow(0 0 4px rgba(255,248,200,0.16));
  }
  36% {
    opacity: 1;
    transform: translateZ(0) scale(0.74);
    filter: drop-shadow(0 0 5px rgba(255,248,200,0.17));
  }
  48% {
    opacity: 0.98;
    transform: translateZ(0) scale(0.96);
    filter: drop-shadow(0 0 6px rgba(255,248,200,0.18));
  }
  60% {
    opacity: 0.84;
    transform: translateZ(0) scale(1.05);
    filter: drop-shadow(0 0 5px rgba(255,248,200,0.14));
  }
  72% {
    opacity: 0.52;
    transform: translateZ(0) scale(1.11);
    filter: drop-shadow(0 0 4px rgba(255,248,200,0.10));
  }
  84% {
    opacity: 0.16;
    transform: translateZ(0) scale(1.15);
    filter: drop-shadow(0 0 2px rgba(255,248,200,0.04));
  }
  100% {
    opacity: 0;
    transform: translateZ(0) scale(1.17);
    filter: drop-shadow(0 0 0 rgba(255,248,200,0));
  }
}

/* v122 restore fireworks from v117, remove static dots, keep other current footer behavior */
.ktc-site-footer__fireworks {
  width: min(46vw, 760px) !important;
  inset: 0 auto 0 0 !important;
  overflow: hidden !important;
  pointer-events: none;
}

.ktc-site-footer__fireworks::before {
  content: none !important;
  display: none !important;
  background: none !important;
}

.ktc-firework {
  --fw-main: rgba(255,255,255,0.96);
  --fw-alt: rgba(255,235,138,0.94);
  --fw-dot: rgba(255,184,208,0.92);
  position: absolute;
  width: 190px;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0;
  mix-blend-mode: screen;
  transform-origin: center;
  backface-visibility: hidden;
  will-change: transform, opacity;
  filter: drop-shadow(0 0 5px color-mix(in srgb, var(--fw-main) 45%, transparent));
  background: radial-gradient(circle at center, rgba(255,255,255,0.95) 0 2.1%, rgba(255,255,255,0.5) 2.2% 2.9%, transparent 3.2%);
  animation: ktcFooterFireworkSample_v122 8.2s ease-out infinite !important;
}

.ktc-firework::before,
.ktc-firework::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

.ktc-firework::before {
  background: repeating-conic-gradient(from -2deg,
    transparent 0deg 4.2deg,
    var(--fw-main) 4.2deg 5.2deg,
    transparent 5.2deg 9deg,
    var(--fw-alt) 9deg 10deg,
    transparent 10deg 14.5deg,
    var(--fw-dot) 14.5deg 15.4deg,
    transparent 15.4deg 18deg);
  -webkit-mask: radial-gradient(circle, transparent 0 5%, #000 6% 61%, transparent 62% 100%);
  mask: radial-gradient(circle, transparent 0 5%, #000 6% 61%, transparent 62% 100%);
}

.ktc-firework::after {
  inset: 6%;
  background:
    radial-gradient(circle at 50% 1.5%, var(--fw-main) 0 1.55%, transparent 1.9%),
    radial-gradient(circle at 62% 4%, var(--fw-alt) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 75% 10%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 86% 20%, var(--fw-dot) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 95% 35%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 98% 50%, var(--fw-alt) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 94% 66%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 85% 81%, var(--fw-dot) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 74% 91%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 61% 97%, var(--fw-alt) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 50% 99%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 39% 97%, var(--fw-dot) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 26% 91%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 15% 81%, var(--fw-alt) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 6% 66%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 2% 50%, var(--fw-dot) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 5% 35%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 14% 20%, var(--fw-alt) 0 1.45%, transparent 1.85%),
    radial-gradient(circle at 25% 10%, var(--fw-main) 0 1.55%, transparent 1.95%),
    radial-gradient(circle at 38% 4%, var(--fw-dot) 0 1.45%, transparent 1.85%);
  opacity: 0.96;
}

.ktc-firework--one {
  --fw-main: rgba(250, 250, 255, 0.98);
  --fw-alt: rgba(238, 239, 248, 0.94);
  --fw-dot: rgba(255,255,255,0.9);
  width: 236px;
  left: 12%;
  top: 25%;
  animation-delay: 0s !important;
}

.ktc-firework--two {
  --fw-main: rgba(245, 206, 224, 0.96);
  --fw-alt: rgba(255, 228, 236, 0.88);
  --fw-dot: rgba(255, 190, 214, 0.9);
  width: 200px;
  left: 38%;
  top: 10%;
  animation-delay: 1.15s !important;
}

.ktc-firework--three {
  --fw-main: rgba(220, 246, 255, 0.96);
  --fw-alt: rgba(129, 244, 255, 0.92);
  --fw-dot: rgba(196, 250, 255, 0.88);
  width: 176px;
  left: 44%;
  top: 53%;
  animation-delay: 2.2s !important;
}

.ktc-firework--four {
  --fw-main: rgba(214, 224, 111, 0.96);
  --fw-alt: rgba(243, 244, 150, 0.92);
  --fw-dot: rgba(232, 241, 130, 0.88);
  width: 190px;
  left: 30%;
  top: 56%;
  animation-delay: 3.15s !important;
}

.ktc-firework--five {
  --fw-main: rgba(214, 224, 111, 0.96);
  --fw-alt: rgba(243, 244, 150, 0.92);
  --fw-dot: rgba(232, 241, 130, 0.88);
  width: 122px;
  left: 62%;
  top: 27%;
  animation-delay: 4.25s !important;
}

.ktc-firework--six {
  display: none !important;
}

@keyframes ktcFooterFireworkSample_v122 {
  0% {
    opacity: 0;
    transform: scale(0.08);
  }
  8% {
    opacity: 1;
    transform: scale(0.38);
  }
  18% {
    opacity: 1;
    transform: scale(0.98);
  }
  30% {
    opacity: 0.95;
    transform: scale(1.02);
  }
  52% {
    opacity: 0.52;
    transform: scale(1.08);
  }
  100% {
    opacity: 0;
    transform: scale(1.16);
  }
}

@media (max-width: 1199px) {
  .ktc-site-footer__fireworks {
    width: min(48vw, 560px) !important;
  }

  .ktc-firework--one { width: 192px; left: 8%; top: 28%; }
  .ktc-firework--two { width: 162px; left: 35%; top: 12%; }
  .ktc-firework--three { width: 146px; left: 42%; top: 55%; }
  .ktc-firework--four { width: 154px; left: 26%; top: 58%; }
  .ktc-firework--five { width: 100px; left: 59%; top: 30%; }
}

@media (max-width: 767px) {
  .ktc-site-footer__fireworks {
    width: 64vw !important;
    opacity: 0.9;
  }

  .ktc-firework--one { width: 124px; left: -8%; top: 30%; }
  .ktc-firework--two { width: 102px; left: 28%; top: 12%; }
  .ktc-firework--three { width: 96px; left: 35%; top: 53%; }
  .ktc-firework--four { width: 108px; left: 16%; top: 58%; }
  .ktc-firework--five { width: 70px; left: 56%; top: 30%; }
}

/* v123 footer info box: rounded corners + animated glowing border */
.ktc-site-footer__content {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(8, 29, 68, .24) 0%, rgba(7, 24, 56, .48) 100%);
}

.ktc-site-footer__content::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  padding: 2px;
  background:
    conic-gradient(
      from 0deg,
      rgba(255,255,255,0.04) 0deg,
      rgba(255,255,255,0.10) 38deg,
      rgba(142, 207, 255, 0.95) 58deg,
      rgba(255,255,255,0.18) 78deg,
      rgba(255,255,255,0.04) 112deg,
      rgba(255,255,255,0.04) 180deg,
      rgba(255,255,255,0.08) 218deg,
      rgba(123, 196, 255, 0.85) 238deg,
      rgba(255,255,255,0.14) 258deg,
      rgba(255,255,255,0.04) 292deg,
      rgba(255,255,255,0.04) 360deg
    );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: ktcFooterCardBorderRun 6s linear infinite;
  opacity: 0.95;
  pointer-events: none;
  z-index: 0;
}

.ktc-site-footer__content::after {
  content: '';
  position: absolute;
  inset: 1px;
  border-radius: calc(24px - 1px);
  background: linear-gradient(180deg, rgba(9, 31, 72, .18) 0%, rgba(6, 20, 49, .18) 100%);
  box-shadow: inset 0 0 28px rgba(125, 203, 255, 0.06);
  pointer-events: none;
  z-index: 0;
}

.ktc-site-footer__content > * {
  position: relative;
  z-index: 1;
}

@keyframes ktcFooterCardBorderRun {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 767px) {
  .ktc-site-footer__content {
    border-radius: 18px;
  }

  .ktc-site-footer__content::after {
    border-radius: 17px;
  }
}

/* v124 footer info box: single light streak running around the border */
.ktc-site-footer__content {
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.10);
  overflow: hidden;
}

.ktc-site-footer__content::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1.5px;
  background:
    conic-gradient(
      from 0deg,
      transparent 0deg 326deg,
      rgba(255,255,255,0.00) 326deg,
      rgba(166, 221, 255, 0.30) 333deg,
      rgba(199, 236, 255, 0.88) 341deg,
      rgba(255,255,255,1.00) 346deg,
      rgba(183, 229, 255, 0.82) 351deg,
      rgba(136, 203, 255, 0.26) 357deg,
      transparent 360deg
    );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: ktcFooterCardRailLight 4.8s linear infinite;
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}

.ktc-site-footer__content::after {
  content: '';
  position: absolute;
  inset: 1px;
  border-radius: calc(24px - 1px);
  background: linear-gradient(180deg, rgba(9, 31, 72, .16) 0%, rgba(6, 20, 49, .18) 100%);
  box-shadow:
    inset 0 0 24px rgba(125, 203, 255, 0.05),
    inset 0 0 0 1px rgba(255,255,255,0.03);
  pointer-events: none;
  z-index: 0;
}

@keyframes ktcFooterCardRailLight {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 767px) {
  .ktc-site-footer__content {
    border-radius: 18px;
  }

  .ktc-site-footer__content::after {
    border-radius: 17px;
  }
}

/* v125 footer info box: clean moving light running exactly around the contact box border */
.ktc-site-footer__content {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: linear-gradient(180deg, rgba(8, 29, 68, 0.18) 0%, rgba(7, 24, 56, 0.28) 100%);
}

.ktc-site-footer__content::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.05),
    inset 0 0 24px rgba(110, 190, 255, 0.04);
  background: linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.01) 100%);
}

.ktc-site-footer__content::after {
  content: '';
  position: absolute;
  width: 88px;
  height: 10px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(155, 218, 255, 0.08) 18%,
    rgba(183, 230, 255, 0.45) 34%,
    rgba(255,255,255,0.98) 50%,
    rgba(183, 230, 255, 0.45) 66%,
    rgba(155, 218, 255, 0.08) 82%,
    rgba(255,255,255,0) 100%);
  box-shadow:
    0 0 8px rgba(173, 226, 255, 0.28),
    0 0 14px rgba(173, 226, 255, 0.16);
  offset-path: inset(5px round 24px);
  offset-distance: 0%;
  offset-rotate: auto;
  transform: translateZ(0);
  animation: ktcFooterRailGlow 7.2s linear infinite;
}

.ktc-site-footer__content > * {
  position: relative;
  z-index: 2;
}

@keyframes ktcFooterRailGlow {
  from {
    offset-distance: 0%;
  }
  to {
    offset-distance: 100%;
  }
}

@supports not (offset-path: inset(5px round 24px)) {
  .ktc-site-footer__content::after {
    display: none;
  }
}

@media (max-width: 767px) {
  .ktc-site-footer__content {
    border-radius: 18px;
  }

  .ktc-site-footer__content::after {
    width: 68px;
    height: 8px;
    offset-path: inset(5px round 18px);
  }
}

/* v126 footer contact box: subtle moving border light like activity cards */
.ktc-site-footer__content {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: linear-gradient(180deg, rgba(8, 29, 68, 0.18) 0%, rgba(7, 24, 56, 0.28) 100%);
}

.ktc-site-footer__content::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.008) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.05),
    inset 0 0 22px rgba(126, 204, 255, 0.04);
}

.ktc-site-footer__content::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1.5px;
  pointer-events: none;
  z-index: 1;
  opacity: 0.95;
  background: conic-gradient(
    from 0deg,
    transparent 0deg 323deg,
    rgba(255,255,255,0.00) 323deg,
    rgba(150, 214, 255, 0.10) 330deg,
    rgba(184, 230, 255, 0.42) 338deg,
    rgba(255,255,255,0.96) 344deg,
    rgba(184, 230, 255, 0.42) 350deg,
    rgba(150, 214, 255, 0.10) 356deg,
    transparent 360deg
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: ktcFooterBorderRunnerV126 6s linear infinite;
}

.ktc-site-footer__content > * {
  position: relative;
  z-index: 2;
}

@keyframes ktcFooterBorderRunnerV126 {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 767px) {
  .ktc-site-footer__content {
    border-radius: 18px;
  }
}

/* v127 footer contact box: only a small light running on the outer border, no inner rotating frame */
.ktc-site-footer__content {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(8, 29, 68, 0.18) 0%, rgba(7, 24, 56, 0.28) 100%);
}

.ktc-site-footer__content::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.008) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.04),
    inset 0 0 18px rgba(126, 204, 255, 0.03);
}

.ktc-site-footer__content::after {
  content: '';
  position: absolute;
  width: 74px;
  height: 4px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(155, 218, 255, 0.10) 16%,
    rgba(188, 232, 255, 0.48) 34%,
    rgba(255,255,255,1) 50%,
    rgba(188, 232, 255, 0.48) 66%,
    rgba(155, 218, 255, 0.10) 84%,
    rgba(255,255,255,0) 100%);
  box-shadow:
    0 0 5px rgba(184, 229, 255, 0.24),
    0 0 10px rgba(184, 229, 255, 0.14);
  offset-path: inset(0 round 24px);
  offset-distance: 0%;
  offset-rotate: auto;
  transform: translateZ(0);
  animation: ktcFooterBorderRunnerV127 6.4s linear infinite;
}

.ktc-site-footer__content > * {
  position: relative;
  z-index: 2;
}

@keyframes ktcFooterBorderRunnerV127 {
  from { offset-distance: 0%; }
  to   { offset-distance: 100%; }
}

@supports not (offset-path: inset(0 round 24px)) {
  .ktc-site-footer__content::after {
    display: none;
  }
}

@media (max-width: 767px) {
  .ktc-site-footer__content {
    border-radius: 18px;
  }

  .ktc-site-footer__content::after {
    width: 58px;
    height: 3px;
    offset-path: inset(0 round 18px);
  }
}

@media (max-width: 1199px) {
  .ktc-hero-slider__project-links {
    width: min(880px, calc(100% - 220px));
    gap: 16px;
  }
  .ktc-hero-slider__project-link {
    font-size: 17px;
  }
  .ktc-hero-slider__dots {
    right: 28px;
    bottom: 36px;
  }
}

@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band .ktc-container {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }
  .ktc-hero-slider__project-links {
    width: calc(100% - 32px);
    bottom: 74px;
    gap: 12px 18px;
  }
  .ktc-hero-slider__project-link {
    font-size: 15px;
  }
  .ktc-hero-slider__dots {
    right: 50%;
    bottom: 28px;
    transform: translateX(50%);
    gap: 11px;
  }
  .ktc-hero-slider__dot {
    width: 14px;
    height: 14px;
  }
}

@media (max-width: 767px) {
  .ktc-hero-slider__project-links {
    gap: 10px 14px;
    bottom: 62px;
  }
  .ktc-hero-slider__project-link {
    font-size: 12px;
    letter-spacing: .02em;
  }
  .ktc-hero-slider__project-link::after {
    bottom: -5px;
  }
  .ktc-hero-slider__dots {
    bottom: 20px;
    gap: 10px;
  }
  .ktc-hero-slider__dot {
    width: 12px;
    height: 12px;
    box-shadow: 0 0 0 3px rgba(255,255,255,.05);
  }
}

@media (max-width: 1199px) {
  .ktc-hero-slider__caption-wrap {
    width: min(860px, calc(100% - 200px));
    bottom: 38px;
  }

  .ktc-hero-slider__caption span {
    font-size: clamp(24px, 2.5vw, 38px);
  }

  .ktc-hero-slider__dots {
    right: 28px;
    bottom: 40px;
    gap: 10px;
    padding: 9px 12px;
  }
}

@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band .ktc-container {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }
  .ktc-hero-slider__caption-wrap {
    width: calc(100% - 36px);
    bottom: 72px;
  }

  .ktc-hero-slider__caption span {
    font-size: clamp(22px, 5vw, 34px);
    padding: 0 8px;
  }

  .ktc-hero-slider__dots {
    right: 50%;
    bottom: 24px;
    transform: translateX(50%);
  }
}

@media (max-width: 767px) {
  .ktc-hero-slider__caption-wrap {
    bottom: 58px;
  }

  .ktc-hero-slider__caption span {
    font-size: clamp(18px, 6vw, 28px);
    line-height: 1.12;
  }

  .ktc-hero-slider__dots {
    gap: 8px;
    padding: 7px 10px;
  }

  .ktc-hero-slider__dot {
    width: 14px;
    height: 14px;
  }

  .ktc-hero-slider__dot::before {
    inset: 2px;
  }
}

/* v131 hero slider dot refinement */
.ktc-hero-slider__caption-wrap {
  bottom: 74px;
  width: min(1040px, calc(100% - 120px));
}

.ktc-hero-slider__dots {
  left: 50%;
  right: auto;
  bottom: 22px;
  transform: translateX(-50%);
  justify-content: center;
  gap: 14px;
  padding: 12px 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: linear-gradient(180deg, rgba(12, 31, 62, .68) 0%, rgba(9, 26, 50, .56) 100%);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.ktc-hero-slider__dot {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  border-radius: 50%;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  opacity: 1;
  overflow: visible;
  transition: transform .32s ease, opacity .32s ease;
}

.ktc-hero-slider__dot::before,
.ktc-hero-slider__dot::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  transition: transform .32s ease, opacity .32s ease, background-color .32s ease, box-shadow .32s ease;
}

.ktc-hero-slider__dot::before {
  width: 12px;
  height: 12px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 0 0 1px rgba(255,255,255,.14);
}

.ktc-hero-slider__dot::after {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(255,255,255,.26);
  opacity: 0;
  transform: scale(.8);
}

.ktc-hero-slider__dot:hover,
.ktc-hero-slider__dot:focus-visible {
  transform: scale(1.08);
}

.ktc-hero-slider__dot:hover::before,
.ktc-hero-slider__dot:focus-visible::before {
  background: rgba(255,255,255,1);
}

.ktc-hero-slider__dot.is-active::before {
  width: 14px;
  height: 14px;
  background: #2f63b6;
  box-shadow: 0 0 0 4px rgba(47, 99, 182, .18), 0 0 18px rgba(57, 118, 214, .28);
}

.ktc-hero-slider__dot.is-active::after {
  opacity: 1;
  transform: scale(1);
  border-color: rgba(108, 165, 255, .5);
}

@media (max-width: 1199px) {
  .ktc-hero-slider__caption-wrap {
    width: min(920px, calc(100% - 100px));
    bottom: 70px;
  }

  .ktc-hero-slider__dots {
    bottom: 20px;
  }
}

@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band .ktc-container {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }
  .ktc-hero-slider__caption-wrap {
    width: calc(100% - 36px);
    bottom: 64px;
  }

  .ktc-hero-slider__dots {
    bottom: 18px;
    gap: 12px;
    padding: 10px 16px;
    transform: translateX(-50%);
  }
}

@media (max-width: 767px) {
  .ktc-hero-slider__caption-wrap {
    bottom: 58px;
    width: calc(100% - 24px);
  }

  .ktc-hero-slider__dots {
    bottom: 14px;
    gap: 10px;
    padding: 8px 12px;
  }

  .ktc-hero-slider__dot {
    width: 15px;
    height: 15px;
  }

  .ktc-hero-slider__dot::before {
    width: 10px;
    height: 10px;
  }

  .ktc-hero-slider__dot::after {
    width: 15px;
    height: 15px;
  }

  .ktc-hero-slider__dot.is-active::before {
    width: 12px;
    height: 12px;
  }
}

/* v132 stronger hero dot styling and placement */
.ktc-hero-banner .ktc-hero-slider__caption-wrap {
  bottom: 68px !important;
  width: min(1040px, calc(100% - 80px)) !important;
}

.ktc-hero-banner .ktc-hero-slider__dots {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: 22px !important;
  transform: translateX(-50%) !important;
  z-index: 5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.ktc-hero-banner .ktc-hero-slider__dot,
.ktc-hero-banner button.ktc-hero-slider__dot {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  min-height: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  outline: none !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
  opacity: .94 !important;
  cursor: pointer !important;
  overflow: visible !important;
  transition: transform .32s ease, opacity .32s ease, box-shadow .32s ease, background-color .32s ease !important;
}

.ktc-hero-banner .ktc-hero-slider__dot::before,
.ktc-hero-banner .ktc-hero-slider__dot::after {
  display: none !important;
  content: none !important;
}

.ktc-hero-banner .ktc-hero-slider__dot:hover,
.ktc-hero-banner .ktc-hero-slider__dot:focus-visible {
  transform: scale(1.08) !important;
  opacity: 1 !important;
}

.ktc-hero-banner .ktc-hero-slider__dot.is-active {
  transform: scale(1.08) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.26), 0 0 0 1px rgba(255, 255, 255, 0.72), 0 6px 18px rgba(0, 0, 0, 0.2) !important;
  opacity: 1 !important;
}

@media (max-width: 1199px) {
  .ktc-hero-banner .ktc-hero-slider__caption-wrap {
    width: min(920px, calc(100% - 70px)) !important;
    bottom: 66px !important;
  }
}

@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band .ktc-container {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }
  .ktc-hero-banner .ktc-hero-slider__caption-wrap {
    width: calc(100% - 32px) !important;
    bottom: 60px !important;
  }

  .ktc-hero-banner .ktc-hero-slider__dots {
    bottom: 18px !important;
    gap: 14px !important;
  }
}

@media (max-width: 767px) {
  .ktc-hero-banner .ktc-hero-slider__caption-wrap {
    bottom: 54px !important;
    width: calc(100% - 24px) !important;
  }

  .ktc-hero-banner .ktc-hero-slider__dots {
    bottom: 14px !important;
    gap: 12px !important;
  }

  .ktc-hero-banner .ktc-hero-slider__dot,
  .ktc-hero-banner button.ktc-hero-slider__dot {
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    min-height: 10px !important;
  }

  .ktc-hero-banner .ktc-hero-slider__dot.is-active {
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.24), 0 0 0 1px rgba(255, 255, 255, 0.68), 0 6px 16px rgba(0, 0, 0, 0.16) !important;
  }
}

/* v135 section 1 motion refinement: softer, smoother, replayable presentation */
html.ktc-enhanced .ktc-about-home [data-ktc-reveal] {
  opacity: 0;
  filter: blur(0) !important;
  will-change: transform, opacity;
  transition:
    transform 1180ms cubic-bezier(.22, 1, .36, 1),
    opacity 1180ms cubic-bezier(.22, 1, .36, 1);
}

html.ktc-enhanced .ktc-about-home .ktc-logo-band[data-ktc-reveal] {
  transform: translate3d(0, 24px, 0);
}

html.ktc-enhanced .ktc-about-home .ktc-about-home__eyebrow[data-ktc-reveal="left"] {
  transform: translate3d(-26px, 0, 0);
}

html.ktc-enhanced .ktc-about-home .ktc-about-home__highlight[data-ktc-reveal="left"],
html.ktc-enhanced .ktc-about-home .ktc-about-home__body[data-ktc-reveal="left"] {
  transform: translate3d(-30px, 0, 0);
}

html.ktc-enhanced .ktc-about-home .ktc-inline-actions .ktc-btn[data-ktc-reveal="up"] {
  transform: translate3d(0, 22px, 0);
}

html.ktc-enhanced .ktc-about-home .ktc-about-home__visuals[data-ktc-reveal="right"] {
  transform: translate3d(36px, 0, 0) scale(.986);
}

html.ktc-enhanced .ktc-about-home [data-ktc-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.ktc-about-home.is-section-replaying .ktc-about-gallery__stage {
  pointer-events: none;
}

.ktc-about-home.is-section-revealed .ktc-about-gallery__stage {
  pointer-events: auto;
}

.ktc-about-home .ktc-about-gallery__stage {
  transition: transform 1100ms cubic-bezier(.22, 1, .36, 1), opacity 1100ms cubic-bezier(.22, 1, .36, 1);
}

.ktc-about-home .ktc-about-card,
.ktc-about-home .ktc-about-card__image,
.ktc-about-home .ktc-about-card img {
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band .ktc-container {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }
  html.ktc-enhanced .ktc-about-home .ktc-about-home__visuals[data-ktc-reveal="right"] {
    transform: translate3d(0, 26px, 0) scale(.988);
  }

  html.ktc-enhanced .ktc-about-home .ktc-about-home__eyebrow[data-ktc-reveal="left"],
  html.ktc-enhanced .ktc-about-home .ktc-about-home__highlight[data-ktc-reveal="left"],
  html.ktc-enhanced .ktc-about-home .ktc-about-home__body[data-ktc-reveal="left"] {
    transform: translate3d(0, 22px, 0);
  }
}


/* v137 section 1 staging refinement: true sequential presentation */
html.ktc-enhanced .ktc-about-home [data-ktc-reveal] {
  transition:
    transform 1320ms cubic-bezier(.22, 1, .36, 1),
    opacity 1320ms cubic-bezier(.22, 1, .36, 1) !important;
}

html.ktc-enhanced .ktc-about-home .ktc-logo-band[data-ktc-reveal] {
  transform: translate3d(0, -34px, 0) !important;
}

html.ktc-enhanced .ktc-about-home .ktc-about-home__eyebrow[data-ktc-reveal="left"] {
  transform: translate3d(-46px, 0, 0) !important;
}

html.ktc-enhanced .ktc-about-home .ktc-about-home__highlight[data-ktc-reveal="left"],
html.ktc-enhanced .ktc-about-home .ktc-about-home__body[data-ktc-reveal="left"] {
  transform: translate3d(-54px, 0, 0) !important;
}

html.ktc-enhanced .ktc-about-home .ktc-inline-actions[data-ktc-reveal="up"] {
  transform: translate3d(0, 34px, 0) !important;
}

html.ktc-enhanced .ktc-about-home .ktc-inline-actions[data-ktc-reveal="up"] .ktc-btn {
  transform: none !important;
}

html.ktc-enhanced .ktc-about-home .ktc-about-home__visuals[data-ktc-reveal="right"] {
  transform: translate3d(64px, 0, 0) scale(.982) !important;
}

.ktc-about-home.is-section-replaying .ktc-about-gallery__stage,
.ktc-about-home.is-section-replaying .ktc-inline-actions {
  pointer-events: none;
}

@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band .ktc-container {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }
  html.ktc-enhanced .ktc-about-home .ktc-logo-band[data-ktc-reveal] {
    transform: translate3d(0, -24px, 0) !important;
  }

  html.ktc-enhanced .ktc-about-home .ktc-about-home__eyebrow[data-ktc-reveal="left"],
  html.ktc-enhanced .ktc-about-home .ktc-about-home__highlight[data-ktc-reveal="left"],
  html.ktc-enhanced .ktc-about-home .ktc-about-home__body[data-ktc-reveal="left"] {
    transform: translate3d(0, 24px, 0) !important;
  }

  html.ktc-enhanced .ktc-about-home .ktc-inline-actions[data-ktc-reveal="up"] {
    transform: translate3d(0, 28px, 0) !important;
  }

  html.ktc-enhanced .ktc-about-home .ktc-about-home__visuals[data-ktc-reveal="right"] {
    transform: translate3d(0, 34px, 0) scale(.986) !important;
  }
}


/* v138 section 1 sequence correction: clear staged entrance without breaking layout */
html.ktc-enhanced .ktc-about-home {
  overflow: hidden;
}

html.ktc-enhanced .ktc-about-home [data-ktc-reveal] {
  opacity: 0;
  will-change: transform, opacity;
  transition:
    transform 1180ms cubic-bezier(.22, 1, .36, 1),
    opacity 1180ms cubic-bezier(.22, 1, .36, 1) !important;
}

html.ktc-enhanced .ktc-about-home .ktc-logo-band[data-ktc-reveal] {
  transform: translate3d(0, -22px, 0) !important;
}

html.ktc-enhanced .ktc-about-home .ktc-about-home__eyebrow[data-ktc-reveal="left"] {
  transform: translate3d(-24px, 0, 0) !important;
}

html.ktc-enhanced .ktc-about-home .ktc-about-home__highlight[data-ktc-reveal="left"],
html.ktc-enhanced .ktc-about-home .ktc-about-home__body[data-ktc-reveal="left"] {
  transform: translate3d(-20px, 0, 0) !important;
}

html.ktc-enhanced .ktc-about-home .ktc-inline-actions[data-ktc-reveal="up"] {
  transform: translate3d(0, 18px, 0) !important;
}

html.ktc-enhanced .ktc-about-home .ktc-about-home__visuals[data-ktc-reveal="right"] {
  transform: translate3d(30px, 0, 0) scale(.992) !important;
}

html.ktc-enhanced .ktc-about-home [data-ktc-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

.ktc-about-home.is-section-replaying .ktc-about-gallery__stage,
.ktc-about-home.is-section-replaying .ktc-inline-actions {
  pointer-events: none;
}

.ktc-about-home.is-section-revealed .ktc-about-gallery__stage,
.ktc-about-home.is-section-revealed .ktc-inline-actions {
  pointer-events: auto;
}

@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band .ktc-container {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }
  html.ktc-enhanced .ktc-about-home .ktc-logo-band[data-ktc-reveal] {
    transform: translate3d(0, -16px, 0) !important;
  }

  html.ktc-enhanced .ktc-about-home .ktc-about-home__eyebrow[data-ktc-reveal="left"],
  html.ktc-enhanced .ktc-about-home .ktc-about-home__highlight[data-ktc-reveal="left"],
  html.ktc-enhanced .ktc-about-home .ktc-about-home__body[data-ktc-reveal="left"] {
    transform: translate3d(0, 16px, 0) !important;
  }

  html.ktc-enhanced .ktc-about-home .ktc-inline-actions[data-ktc-reveal="up"] {
    transform: translate3d(0, 16px, 0) !important;
  }

  html.ktc-enhanced .ktc-about-home .ktc-about-home__visuals[data-ktc-reveal="right"] {
    transform: translate3d(0, 22px, 0) scale(.994) !important;
  }
}


/* v139 section 1: logo band enters more clearly from the very top of section */
html.ktc-enhanced .ktc-about-home .ktc-logo-band[data-ktc-reveal] {
  transform: translate3d(0, -58px, 0) !important;
  opacity: 0;
}

@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band .ktc-container {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }
  html.ktc-enhanced .ktc-about-home .ktc-logo-band[data-ktc-reveal] {
    transform: translate3d(0, -34px, 0) !important;
  }
}


/* v140 fix: ensure logo band becomes visible during replay while still entering from above */
html.ktc-enhanced .ktc-about-home .ktc-logo-band[data-ktc-reveal].is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}


/* v145: rebuilt news reveal on top of v141 with safer, cleaner motion */
html.ktc-enhanced .ktc-news-home [data-ktc-reveal="news-title"],
html.ktc-enhanced .ktc-news-home [data-ktc-reveal="news-line"],
html.ktc-enhanced .ktc-news-home [data-ktc-reveal="news-tabs"] {
  opacity: 1;
  filter: none;
  transform: none;
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-title"] {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transform-origin: left center;
  transition:
    transform 900ms cubic-bezier(.2, .82, .2, 1),
    opacity 900ms cubic-bezier(.2, .82, .2, 1);
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-line"] {
  opacity: 0;
  transform: scaleX(.18);
  transform-origin: left center;
  transition:
    transform 900ms cubic-bezier(.2, .82, .2, 1),
    opacity 620ms cubic-bezier(.2, .82, .2, 1);
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-tabs"] {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition:
    transform 820ms cubic-bezier(.2, .82, .2, 1),
    opacity 820ms cubic-bezier(.2, .82, .2, 1);
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"] > .ktc-news-showcase__tab,
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"] > button.ktc-news-showcase__tab {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    transform 460ms cubic-bezier(.2, .82, .2, 1),
    opacity 460ms cubic-bezier(.2, .82, .2, 1);
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-title"].is-visible,
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-line"].is-visible,
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-tabs"].is-visible {
  opacity: 1;
  transform: none;
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > .ktc-news-showcase__tab,
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > button.ktc-news-showcase__tab {
  opacity: 1;
  transform: none;
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > .ktc-news-showcase__tab:nth-child(1),
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > button.ktc-news-showcase__tab:nth-child(1) { transition-delay: 60ms; }
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > .ktc-news-showcase__tab:nth-child(2),
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > button.ktc-news-showcase__tab:nth-child(2) { transition-delay: 120ms; }
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > .ktc-news-showcase__tab:nth-child(3),
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > button.ktc-news-showcase__tab:nth-child(3) { transition-delay: 180ms; }

html.ktc-enhanced .ktc-news-home [data-news-reveal] {
  opacity: 1;
  transform: none;
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal] {
  opacity: 0;
  will-change: transform, opacity;
  transition:
    transform 860ms cubic-bezier(.2, .82, .2, 1),
    opacity 860ms cubic-bezier(.2, .82, .2, 1);
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal="media"] {
  transform: translate3d(-40px, 0, 0);
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal="content"] {
  transform: translate3d(0, 36px, 0);
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal="side-top"] {
  transform: translate3d(34px, -18px, 0);
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal="side-bottom"] {
  transform: translate3d(34px, 18px, 0);
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal].is-visible {
  opacity: 1;
  transform: none;
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-panel:not(.is-active) [data-news-reveal] {
  opacity: 0;
  pointer-events: none;
}

html.ktc-enhanced .ktc-news-home.is-section-revealed .ktc-news-panel.is-active [data-news-reveal="content"].is-visible {
  box-shadow: 0 24px 52px rgba(10, 32, 68, .16);
}

@media (max-width: 1199px) {
  html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal="media"],
  html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal="content"],
  html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal="side-top"],
  html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal="side-bottom"] {
    transform: translate3d(0, 22px, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-title"],
  html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-line"],
  html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-tabs"],
  html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"] > .ktc-news-showcase__tab,
  html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"] > button.ktc-news-showcase__tab,
  html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* v146: news tabs upgraded to split underline with one sliding active bar */
.ktc-news-showcase__tabs {
  position: relative;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: nowrap;
  gap: clamp(22px, 2vw, 34px);
  row-gap: 0;
  width: fit-content;
  max-width: 100%;
  padding: 0 0 14px;
  isolation: isolate;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: none;
  --ktc-news-active-left: 0px;
  --ktc-news-active-width: 82px;
}

.ktc-news-showcase__tabs::-webkit-scrollbar {
  display: none;
}

.ktc-news-showcase__tabs::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(18, 63, 132, .18) 0%, rgba(18, 63, 132, .10) 100%);
  border-radius: 999px;
  pointer-events: none;
}

.ktc-news-showcase__tabs::after {
  content: "";
  position: absolute;
  left: var(--ktc-news-active-left);
  bottom: 0;
  width: var(--ktc-news-active-width);
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #e33a32 0%, #ff5a43 100%);
  box-shadow: 0 8px 18px rgba(227, 58, 50, .22);
  opacity: 0;
  pointer-events: none;
  transition: left .42s cubic-bezier(.22, .8, .24, 1), width .42s cubic-bezier(.22, .8, .24, 1), opacity .26s ease;
}

.ktc-news-showcase__tabs.is-indicator-ready::after {
  opacity: 1;
}

.ktc-news-showcase__tabs.is-indicator-static::after {
  transition: none;
}

.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab,
.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:hover,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:hover,
.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:focus,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:focus,
.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:active,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:active {
  padding: 0 0 14px !important;
  color: rgba(18, 63, 132, .76) !important;
  font-size: clamp(20px, 1.55vw, 27px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  transition: color .26s ease, opacity .26s ease, transform .26s ease;
}

.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab::after,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab::after {
  display: none !important;
}

.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab span,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab span {
  position: relative;
  display: inline-block;
}

.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:hover,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:hover {
  color: rgba(18, 63, 132, .92) !important;
  transform: translate3d(0, -1px, 0);
}

.ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab.is-active,
.ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab.is-active {
  color: #123f84 !important;
}

@media (max-width: 1199px) {
  .ktc-news-showcase__tabs {
    justify-content: flex-start;
    gap: 22px;
    padding-bottom: 12px;
  }
}

@media (max-width: 767px) {
  .ktc-news-showcase__tabs {
    gap: 18px;
    padding-bottom: 10px;
  }

  .ktc-news-showcase__tabs::after {
    height: 3px;
  }

  .ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab,
  .ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab,
  .ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:hover,
  .ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:hover,
  .ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:focus,
  .ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:focus,
  .ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:active,
  .ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:active {
    padding-bottom: 10px !important;
    font-size: 17px !important;
  }
}


/* v152: smoother image expansion for featured projects, based on v146 */
@media (min-width: 768px) {
  .ktc-project-panel {
    flex: 1 1 0% !important;
    will-change: flex-grow;
    transition:
      flex-grow .95s cubic-bezier(.22, .78, .2, 1),
      filter .48s ease !important;
  }

  .ktc-project-panel.is-active,
  .ktc-project-panel:hover,
  .ktc-project-panel:focus-visible {
    flex-grow: 4.5 !important;
  }

  .ktc-project-panel__bg {
    transform: scale(1.01);
    transition:
      transform 1s cubic-bezier(.22, .78, .2, 1),
      filter .55s ease !important;
    will-change: transform;
  }

  .ktc-project-panel:hover .ktc-project-panel__bg,
  .ktc-project-panel.is-active .ktc-project-panel__bg,
  .ktc-project-panel:focus-visible .ktc-project-panel__bg {
    transform: scale(1.045);
  }

  .ktc-project-panel__content {
    transition: padding .8s cubic-bezier(.22, .78, .2, 1);
  }

  .ktc-project-panel__title {
    transition:
      opacity .34s ease,
      transform .7s cubic-bezier(.22, .78, .2, 1) !important;
  }

  .ktc-project-panel__index {
    transition:
      color .3s ease,
      transform .7s cubic-bezier(.22, .78, .2, 1);
  }

  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__index {
    transform: translateY(8px);
  }

  .ktc-project-panel.is-active .ktc-project-panel__index,
  .ktc-project-panel:hover .ktc-project-panel__index,
  .ktc-project-panel:focus-visible .ktc-project-panel__index {
    transform: translateY(0);
  }
}


/* v158: safe reveal effect for featured projects heading only */
html.ktc-enhanced .ktc-projects-home__header {
  overflow: visible !important;
}

html.ktc-enhanced .ktc-projects-home__header h2[data-project-header-reveal="title"] {
  display: inline-block;
  overflow: visible !important;
  opacity: 0;
  transform: translate3d(0, 20px, 0) scale(.965);
  transform-origin: left center;
  padding-top: .08em;
  padding-bottom: .08em;
  line-height: 1.03;
  will-change: transform, opacity;
  transition:
    opacity 860ms cubic-bezier(.2, .82, .2, 1),
    transform 900ms cubic-bezier(.2, .82, .2, 1);
}

html.ktc-enhanced .ktc-projects-home__underline[data-project-header-reveal="line"] {
  opacity: 0;
  transform: scaleX(.18);
  transform-origin: left center;
  will-change: transform, opacity;
  transition:
    opacity 560ms cubic-bezier(.2, .82, .2, 1),
    transform 860ms cubic-bezier(.2, .82, .2, 1);
}

html.ktc-enhanced .ktc-projects-home__header.is-project-header-visible h2[data-project-header-reveal="title"] {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

html.ktc-enhanced .ktc-projects-home__header.is-project-header-visible .ktc-projects-home__underline[data-project-header-reveal="line"] {
  opacity: 1;
  transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
  html.ktc-enhanced .ktc-projects-home__header h2[data-project-header-reveal="title"],
  html.ktc-enhanced .ktc-projects-home__underline[data-project-header-reveal="line"] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* v163: footer contact animation rebuilt against actual markup */
.ktc-site-footer .ktc-site-footer__content[data-footer-motion="card"] {
  overflow: visible !important;
}

.ktc-site-footer .ktc-site-footer__content[data-footer-motion="card"] > *,
.ktc-site-footer .ktc-site-footer__contact,
.ktc-site-footer .ktc-site-footer__contact > * {
  overflow: visible !important;
}

.ktc-site-footer.ktc-footer-motion-ready .ktc-site-footer__content[data-footer-motion="card"] {
  opacity: 0;
  transform: translate3d(22vw, 0, 0);
  transform-origin: center right;
  will-change: transform, opacity;
  transition:
    transform 1180ms cubic-bezier(.18, .86, .2, 1),
    opacity 900ms cubic-bezier(.2, .82, .2, 1);
}

.ktc-site-footer.ktc-footer-motion-ready [data-footer-motion="title"] {
  opacity: 0;
  transform: translate3d(0, -52vh, 0);
  transform-origin: center top;
  will-change: transform, opacity;
  transition:
    transform 1180ms cubic-bezier(.18, .86, .2, 1),
    opacity 880ms cubic-bezier(.2, .82, .2, 1);
}

.ktc-site-footer.ktc-footer-motion-ready [data-footer-motion="item"] {
  opacity: 0;
  transform: translate3d(-46vw, 0, 0);
  will-change: transform, opacity;
  transition:
    transform 1180ms cubic-bezier(.18, .86, .2, 1),
    opacity 900ms cubic-bezier(.2, .82, .2, 1);
}

/* Visible state */
.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible .ktc-site-footer__content[data-footer-motion="card"],
.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="title"],
.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="item"] {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Timeline */
.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible .ktc-site-footer__content[data-footer-motion="card"] {
  transition-delay: 0ms;
}

.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="title"] {
  transition-delay: 320ms;
}

.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="item"]:nth-of-type(1) {
  transition-delay: 580ms;
}

.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="item"]:nth-of-type(2) {
  transition-delay: 780ms;
}

.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="item"]:nth-of-type(3) {
  transition-delay: 960ms;
}

/* Ensure the moving border still follows the card. */
.ktc-site-footer.ktc-footer-motion-ready .ktc-site-footer__content[data-footer-motion="card"]::before,
.ktc-site-footer.ktc-footer-motion-ready .ktc-site-footer__content[data-footer-motion="card"]::after {
  pointer-events: none;
}

@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band .ktc-container {
    width: calc(100vw - 24px);
    margin-left: calc(50% - 50vw + 12px);
    margin-right: calc(50% - 50vw + 12px);
  }
  .ktc-site-footer.ktc-footer-motion-ready .ktc-site-footer__content[data-footer-motion="card"] {
    transform: translate3d(90px, 0, 0);
  }

  .ktc-site-footer.ktc-footer-motion-ready [data-footer-motion="title"] {
    transform: translate3d(0, -140px, 0);
  }

  .ktc-site-footer.ktc-footer-motion-ready [data-footer-motion="item"] {
    transform: translate3d(-140px, 0, 0);
  }

  .ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible .ktc-site-footer__content[data-footer-motion="card"],
  .ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="title"],
  .ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="item"] {
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ktc-site-footer.ktc-footer-motion-ready .ktc-site-footer__content[data-footer-motion="card"],
  .ktc-site-footer.ktc-footer-motion-ready [data-footer-motion="title"],
  .ktc-site-footer.ktc-footer-motion-ready [data-footer-motion="item"] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* v167: project image reveal only; does not animate panel flex/width */
.ktc-projects-home.ktc-project-image-reveal-ready .ktc-project-panel .ktc-project-panel__bg,
.ktc-projects-home.ktc-project-image-reveal-ready .ktc-project-panel .ktc-project-panel__shade,
.ktc-projects-home.ktc-project-image-reveal-ready .ktc-project-panel .ktc-project-panel__content {
  opacity: 0;
  will-change: opacity, transform;
}

.ktc-projects-home.ktc-project-image-reveal-ready .ktc-project-panel .ktc-project-panel__bg {
  transform: translate3d(-42px, 0, 0) scale(1.01);
  transition:
    opacity 780ms cubic-bezier(.2, .82, .2, 1),
    transform 980ms cubic-bezier(.18, .86, .2, 1);
}

.ktc-projects-home.ktc-project-image-reveal-ready .ktc-project-panel .ktc-project-panel__shade,
.ktc-projects-home.ktc-project-image-reveal-ready .ktc-project-panel .ktc-project-panel__content {
  transform: translate3d(-22px, 0, 0);
  transition:
    opacity 680ms cubic-bezier(.2, .82, .2, 1),
    transform 860ms cubic-bezier(.18, .86, .2, 1);
}

.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel .ktc-project-panel__bg,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel .ktc-project-panel__shade,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel .ktc-project-panel__content {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1.01);
}

.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel:hover .ktc-project-panel__bg,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel.is-active .ktc-project-panel__bg,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel:focus-visible .ktc-project-panel__bg {
  transform: scale(1.045);
}

.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="1"] .ktc-project-panel__bg,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="1"] .ktc-project-panel__shade,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="1"] .ktc-project-panel__content {
  transition-delay: 0ms;
}

.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="2"] .ktc-project-panel__bg,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="2"] .ktc-project-panel__shade,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="2"] .ktc-project-panel__content {
  transition-delay: 160ms;
}

.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="3"] .ktc-project-panel__bg,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="3"] .ktc-project-panel__shade,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="3"] .ktc-project-panel__content {
  transition-delay: 320ms;
}

.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="4"] .ktc-project-panel__bg,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="4"] .ktc-project-panel__shade,
.ktc-projects-home.ktc-project-image-reveal-visible .ktc-project-panel[data-project-reveal-order="4"] .ktc-project-panel__content {
  transition-delay: 480ms;
}

@media (prefers-reduced-motion: reduce) {
  .ktc-projects-home.ktc-project-image-reveal-ready .ktc-project-panel .ktc-project-panel__bg,
  .ktc-projects-home.ktc-project-image-reveal-ready .ktc-project-panel .ktc-project-panel__shade,
  .ktc-projects-home.ktc-project-image-reveal-ready .ktc-project-panel .ktc-project-panel__content {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* v168: hidden native scrollbar + elegant section numbers */
html.ktc-enhanced,
body.ktc-homepage-body {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

html.ktc-enhanced::-webkit-scrollbar,
body.ktc-homepage-body::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.ktc-section-index {
  position: fixed;
  right: clamp(14px, 1.45vw, 26px);
  top: 50%;
  z-index: 120;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(10px, 1.35vh, 15px);
  transform: translateY(-50%);
  pointer-events: auto;
}

.ktc-section-index::before {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 50%;
  width: 1px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.22), rgba(255,255,255,0));
  opacity: .45;
  pointer-events: none;
}

.ktc-section-index__item,
.ktc-section-index__item:hover,
.ktc-section-index__item:focus,
.ktc-section-index__item:active {
  position: relative !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: clamp(28px, 2.1vw, 34px) !important;
  height: clamp(28px, 2.1vw, 34px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer;
  color: rgba(255,255,255,.56) !important;
  font-family: var(--ktc-font-body, inherit) !important;
  font-size: clamp(11px, .78vw, 13px) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-shadow: none !important;
  transition: color .28s ease, transform .28s ease, opacity .28s ease;
}

.ktc-section-index__item span {
  position: relative;
  z-index: 1;
  display: inline-block;
  text-shadow: 0 8px 22px rgba(0,0,0,.28);
}

.ktc-section-index__item::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,255,255,.16), rgba(255,255,255,0) 64%);
  opacity: 0;
  transform: scale(.72);
  transition: opacity .28s ease, transform .28s ease;
}

.ktc-section-index__item::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 10px;
  height: 2px;
  border-radius: 999px;
  background: var(--ktc-red, #ef3129);
  opacity: 0;
  transform: translateX(-50%) scaleX(.4);
  transform-origin: center;
  transition: opacity .28s ease, transform .28s ease;
}

.ktc-section-index__item:hover,
.ktc-section-index__item:focus-visible {
  color: rgba(255,255,255,.9) !important;
  transform: translateX(-2px);
}

.ktc-section-index__item:hover::before,
.ktc-section-index__item:focus-visible::before {
  opacity: 1;
  transform: scale(1);
}

.ktc-section-index__item.is-active {
  color: #fff !important;
  transform: translateX(-3px) scale(1.08);
}

.ktc-section-index__item.is-active::before {
  opacity: 1;
  transform: scale(1.08);
}

.ktc-section-index__item.is-active::after {
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}

@media (max-width: 1199px) {
  .ktc-section-index { right: 10px; gap: 8px; }
  .ktc-section-index__item,
  .ktc-section-index__item:hover,
  .ktc-section-index__item:focus,
  .ktc-section-index__item:active {
    width: 26px !important;
    height: 26px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 767px) {
  .ktc-section-index { display: none; }
}


/* v169: force-visible right section index */
.ktc-section-index {
  position: fixed !important;
  right: 18px !important;
  top: 50% !important;
  z-index: 99999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  transform: translateY(-50%) !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.ktc-section-index::before {
  content: "" !important;
  position: absolute !important;
  top: 8px !important;
  bottom: 8px !important;
  left: 50% !important;
  width: 1px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.26), rgba(255,255,255,0)) !important;
  pointer-events: none !important;
}

.ktc-section-index__item,
.ktc-section-index__item:hover,
.ktc-section-index__item:focus,
.ktc-section-index__item:active {
  all: unset;
  box-sizing: border-box !important;
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  position: relative !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  font-family: Arial, Helvetica, sans-serif !important;
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: color .28s ease, transform .28s ease !important;
}

.ktc-section-index__item span {
  position: relative !important;
  z-index: 2 !important;
  text-shadow: 0 6px 18px rgba(0,0,0,.35) !important;
}

.ktc-section-index__item::before {
  content: "" !important;
  position: absolute !important;
  inset: 3px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  opacity: 0 !important;
  transform: scale(.72) !important;
  transition: opacity .28s ease, transform .28s ease !important;
}

.ktc-section-index__item::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 1px !important;
  width: 10px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: #ff332a !important;
  opacity: 0 !important;
  transform: translateX(-50%) scaleX(.45) !important;
  transition: opacity .28s ease, transform .28s ease !important;
}

.ktc-section-index__item:hover,
.ktc-section-index__item:focus-visible {
  color: #fff !important;
  transform: translateX(-2px) !important;
}

.ktc-section-index__item:hover::before,
.ktc-section-index__item:focus-visible::before,
.ktc-section-index__item.is-active::before {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.ktc-section-index__item.is-active {
  color: #fff !important;
  transform: translateX(-3px) scale(1.08) !important;
}

.ktc-section-index__item.is-active::after {
  opacity: 1 !important;
  transform: translateX(-50%) scaleX(1) !important;
}

@media (max-width: 767px) {
  .ktc-section-index {
    display: none !important;
  }
}


/* v171: smoother wheel section transition - remove browser snap conflict */
@media (min-width: 1200px) {
  html.ktc-snap-enabled {
    scroll-behavior: auto !important;
  }

  body.ktc-homepage-body.ktc-snap-enabled {
    scroll-snap-type: none !important;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-snap-section {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}


/* v172: lighter section wheel behavior after intro */
@media (min-width: 1200px) {
  html.ktc-snap-enabled,
  body.ktc-homepage-body.ktc-snap-enabled {
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-snap-section {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}


/* v173: keep section index out of intro layer */



/* v173: force no native snap conflict */
@media (min-width: 1200px) {
  html.ktc-snap-enabled,
  body.ktc-homepage-body.ktc-snap-enabled {
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
  }
  body.ktc-homepage-body.ktc-snap-enabled .ktc-snap-section {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}


/* v174: instant home handoff after intro */
body.is-intro-active {
  overflow: hidden;
}

body:not(.is-intro-active) .ktc-intro-screen.is-hidden {
  transition: opacity .28s cubic-bezier(.2, .82, .2, 1), visibility .28s ease !important;
  pointer-events: none !important;
}




/* v175: homepage preloads under intro; handoff as soon as intro doors finish */


body.is-intro-finished .ktc-intro-screen.is-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition-duration: .16s !important;
}


/* v176: section index visible immediately on homepage, hidden only during intro */





/* v177: section index appears instantly when homepage is visible */
.ktc-section-index {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: none !important;
}






/* v178: section index always visible immediately (even before intro) */
.ktc-section-index {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: none !important;
}


/* v179: intro layer sits above section index; no post-intro blocking */
.ktc-intro-screen {
  z-index: 999999 !important;
}

.ktc-section-index {
  z-index: 120 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: none !important;
}

.ktc-intro-screen.is-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: none !important;
  display: none !important;
}

body:not(.is-intro-active) {
  overflow: auto !important;
}


/* v179 final section index visibility */
.ktc-section-index {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}


/* v180: stable snap handoff after intro */
.ktc-intro-screen {
  z-index: 999999 !important;
}

.ktc-section-index {
  z-index: 120 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: none !important;
}

.ktc-intro-screen.is-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: none !important;
  display: none !important;
}

@media (min-width: 1200px) {
  html.ktc-snap-enabled,
  body.ktc-homepage-body.ktc-snap-enabled {
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-snap-section {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}


/* v184: smoother wheel navigation without changing section layout */
@media (min-width: 1200px) {
  html.ktc-snap-enabled,
  body.ktc-homepage-body.ktc-snap-enabled {
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
  }

  body.ktc-homepage-body.ktc-snap-enabled .ktc-snap-section {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}


/* v185: clearer right section index on bright backgrounds */
.ktc-section-index__item,
.ktc-section-index__item:hover,
.ktc-section-index__item:focus,
.ktc-section-index__item:active {
  color: rgba(255,255,255,.92) !important;
  text-shadow:
    0 0 1px #062b63,
    0 1px 3px rgba(6, 43, 99, .78),
    0 4px 14px rgba(6, 43, 99, .34) !important;
}

.ktc-section-index__item span {
  text-shadow:
    0 0 1px #062b63,
    0 1px 3px rgba(6, 43, 99, .78),
    0 4px 14px rgba(6, 43, 99, .34) !important;
}

.ktc-section-index__item.is-active,
.ktc-section-index__item:hover,
.ktc-section-index__item:focus-visible {
  color: #ffffff !important;
}

.ktc-section-index__item.is-active span {
  text-shadow:
    0 0 1px #002b68,
    0 2px 5px rgba(0, 43, 104, .92),
    0 6px 18px rgba(0, 43, 104, .48) !important;
}


/* v186: clean navy outline for right section index, no dirty glow */
.ktc-section-index__item,
.ktc-section-index__item:hover,
.ktc-section-index__item:focus,
.ktc-section-index__item:active,
.ktc-section-index__item span,
.ktc-section-index__item.is-active span {
  text-shadow:
    -0.6px -0.6px 0 #062b63,
     0.6px -0.6px 0 #062b63,
    -0.6px  0.6px 0 #062b63,
     0.6px  0.6px 0 #062b63 !important;
}

.ktc-section-index__item {
  color: rgba(255,255,255,.94) !important;
}

.ktc-section-index__item.is-active,
.ktc-section-index__item:hover,
.ktc-section-index__item:focus-visible {
  color: #ffffff !important;
}


/* v187: smoother project title transition between horizontal and vertical states */
.ktc-project-panel__content,
.ktc-project-panel__title,
.ktc-project-panel__index {
  will-change: transform, opacity, inset, left, right, bottom;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.ktc-project-panel__content {
  transition:
    transform 880ms cubic-bezier(.18, .86, .2, 1),
    opacity 520ms ease,
    padding 820ms cubic-bezier(.18, .86, .2, 1) !important;
}

.ktc-project-panel__title {
  transform-origin: left bottom;
  transition:
    transform 920ms cubic-bezier(.18, .86, .2, 1),
    opacity 520ms ease,
    letter-spacing 720ms cubic-bezier(.18, .86, .2, 1) !important;
}

.ktc-project-panel__index {
  transition:
    transform 920ms cubic-bezier(.18, .86, .2, 1),
    opacity 520ms ease,
    color 420ms ease !important;
}

.ktc-project-panel:not(.is-active) .ktc-project-panel__title {
  transform-origin: center center;
}

.ktc-project-panel.is-active .ktc-project-panel__title {
  transform-origin: left bottom;
}

.ktc-project-panel:hover .ktc-project-panel__title,
.ktc-project-panel:focus-visible .ktc-project-panel__title,
.ktc-project-panel:hover .ktc-project-panel__index,
.ktc-project-panel:focus-visible .ktc-project-panel__index {
  transition-duration: 920ms, 520ms, 720ms !important;
}

@media (min-width: 768px) {
  .ktc-project-panel {
    transition:
      flex-grow 980ms cubic-bezier(.2, .82, .2, 1),
      filter 520ms ease,
      opacity 420ms ease !important;
  }

  .ktc-project-panel__bg {
    transition:
      transform 1050ms cubic-bezier(.2, .82, .2, 1),
      filter 560ms ease !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ktc-project-panel,
  .ktc-project-panel__content,
  .ktc-project-panel__title,
  .ktc-project-panel__index,
  .ktc-project-panel__bg {
    transition: none !important;
  }
}


/* v188: barrier-style slow project title transition */
.ktc-project-panel__title {
  transform-origin: left bottom !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity, letter-spacing;
  transition:
    transform 1.42s cubic-bezier(.22, 1, .36, 1),
    opacity .68s ease,
    letter-spacing .9s cubic-bezier(.22, 1, .36, 1) !important;
}

.ktc-project-panel:not(.is-active) .ktc-project-panel__title {
  transform-origin: center bottom !important;
  transition-delay: 0s !important;
}

.ktc-project-panel.is-active .ktc-project-panel__title {
  transform-origin: left bottom !important;
  transition-delay: .08s !important;
}

.ktc-project-panel__content {
  transition:
    transform 1.18s cubic-bezier(.22, 1, .36, 1),
    opacity .64s ease,
    padding 1.12s cubic-bezier(.22, 1, .36, 1),
    inset 1.18s cubic-bezier(.22, 1, .36, 1),
    left 1.18s cubic-bezier(.22, 1, .36, 1),
    right 1.18s cubic-bezier(.22, 1, .36, 1),
    bottom 1.18s cubic-bezier(.22, 1, .36, 1) !important;
}

.ktc-project-panel__index {
  transition:
    transform 1.18s cubic-bezier(.22, 1, .36, 1),
    opacity .62s ease,
    color .48s ease !important;
}

@media (min-width: 768px) {
  .ktc-project-panel {
    transition:
      flex-grow 1.12s cubic-bezier(.22, 1, .36, 1),
      filter .58s ease,
      opacity .44s ease !important;
  }

  .ktc-project-panel__bg {
    transition:
      transform 1.18s cubic-bezier(.22, 1, .36, 1),
      filter .62s ease !important;
  }
}


/* v189: fan-style project title transition; wait for image expansion first */
.ktc-project-panel__title {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-height: 1.02 !important;
  transform-box: border-box;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity;
  transition:
    transform 1.35s cubic-bezier(.18, .86, .2, 1),
    opacity .62s ease,
    letter-spacing .9s cubic-bezier(.18, .86, .2, 1) !important;
}

/* Inactive caption reads from bottom to top */
@media (min-width: 768px) {
  .ktc-project-panel:not(.is-active) .ktc-project-panel__title {
    transform-origin: left center !important;
    transform: rotate(90deg) translate3d(0, 0, 0) !important;
    transition-delay: 0s !important;
  }

  /* Active caption waits until the image has opened, then folds down like a half fan */
  .ktc-project-panel.is-active .ktc-project-panel__title {
    transform-origin: left center !important;
    transform: rotate(0deg) translate3d(0, 0, 0) !important;
    transition-delay: .52s !important;
  }

  .ktc-project-panel__content {
    overflow: visible !important;
    transition:
      transform 1.05s cubic-bezier(.18, .86, .2, 1),
      opacity .56s ease,
      padding 1.05s cubic-bezier(.18, .86, .2, 1),
      inset 1.05s cubic-bezier(.18, .86, .2, 1),
      left 1.05s cubic-bezier(.18, .86, .2, 1),
      right 1.05s cubic-bezier(.18, .86, .2, 1),
      bottom 1.05s cubic-bezier(.18, .86, .2, 1) !important;
  }

  .ktc-project-panel {
    transition:
      flex-grow 1.08s cubic-bezier(.18, .86, .2, 1),
      filter .56s ease,
      opacity .44s ease !important;
  }

  .ktc-project-panel__bg {
    transition:
      transform 1.12s cubic-bezier(.18, .86, .2, 1),
      filter .58s ease !important;
  }

  .ktc-project-panel__index {
    transition:
      transform 1.05s cubic-bezier(.18, .86, .2, 1),
      opacity .56s ease,
      color .44s ease !important;
  }
}

/* Mobile: keep normal readable text, no fan rotation */
@media (max-width: 767px) {
  .ktc-project-panel__title,
  .ktc-project-panel:not(.is-active) .ktc-project-panel__title,
  .ktc-project-panel.is-active .ktc-project-panel__title {
    transform: none !important;
    transition-delay: 0s !important;
    white-space: normal !important;
  }
}


/* v190: force inactive project titles vertical first, then fold down after panel opens */
@media (min-width: 768px) {
  .ktc-project-panel__title {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    transform-origin: left center !important;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform, opacity;
    transition:
      transform 1.38s cubic-bezier(.22, 1, .36, 1),
      opacity .62s ease,
      letter-spacing .86s cubic-bezier(.22, 1, .36, 1) !important;
  }

  /* Default collapsed panels: vertical, read from bottom to top */
  .ktc-project-panel:not(.is-active) .ktc-project-panel__title {
    transform: rotate(90deg) translate3d(0, 0, 0) !important;
    transform-origin: left center !important;
    transition-delay: 0s !important;
  }

  /* Active panel: image opens first, then title folds down like a fan/barrier */
  .ktc-project-panel.is-active .ktc-project-panel__title {
    transform: rotate(0deg) translate3d(0, 0, 0) !important;
    transform-origin: left center !important;
    transition-delay: .56s !important;
  }

  .ktc-project-panel__content {
    overflow: visible !important;
  }
}


/* v191: correct vertical project title direction like reference image */
@media (min-width: 768px) {
  .ktc-project-panel:not(.is-active) .ktc-project-panel__title {
    transform: rotate(-90deg) translate3d(0, 0, 0) !important;
    transform-origin: left center !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    transition-delay: 0s !important;
  }

  .ktc-project-panel.is-active .ktc-project-panel__title {
    transform: rotate(0deg) translate3d(0, 0, 0) !important;
    transform-origin: left center !important;
    transition-delay: .56s !important;
  }

  .ktc-project-panel__title {
    transition:
      transform 1.38s cubic-bezier(.22, 1, .36, 1),
      opacity .62s ease,
      letter-spacing .86s cubic-bezier(.22, 1, .36, 1) !important;
  }
}


/* v192: final force vertical collapsed project titles */
@media (min-width: 768px) {
  /* Default state must be vertical, never horizontal */
  .ktc-project-panel .ktc-project-panel__title {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    transform-origin: left center !important;
    transform: rotate(-90deg) translate3d(0, 0, 0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    will-change: transform, opacity !important;
    transition:
      transform 1.28s cubic-bezier(.22, 1, .36, 1),
      opacity .62s ease,
      letter-spacing .86s cubic-bezier(.22, 1, .36, 1) !important;
  }

  /* Collapsed panels stay vertical, reading bottom-to-top */
  .ktc-project-panel:not(.is-active) .ktc-project-panel__title {
    transform: rotate(-90deg) translate3d(0, 0, 0) !important;
    transform-origin: left center !important;
    transition-delay: 0s !important;
  }

  /* Active panel folds clockwise to horizontal after panel/image opens */
  .ktc-project-panel.is-active .ktc-project-panel__title {
    transform: rotate(0deg) translate3d(0, 0, 0) !important;
    transform-origin: left center !important;
    transition-delay: .52s !important;
  }

  .ktc-project-panel__content {
    overflow: visible !important;
  }
}


/* v193: project titles stay vertical first; become horizontal only after panel fully opens */
@media (min-width: 768px) {
  .ktc-project-panel .ktc-project-panel__title,
  .ktc-project-panel.is-active .ktc-project-panel__title,
  .ktc-project-panel:not(.is-active) .ktc-project-panel__title {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    transform-origin: left center !important;
    transform: rotate(-90deg) translate3d(0, 0, 0) !important;
    transition:
      transform 1.28s cubic-bezier(.22, 1, .36, 1),
      opacity .62s ease,
      letter-spacing .86s cubic-bezier(.22, 1, .36, 1) !important;
  }

  .ktc-project-panel.is-title-horizontal .ktc-project-panel__title {
    transform: rotate(0deg) translate3d(0, 0, 0) !important;
    transform-origin: left center !important;
  }
}


/* v194: project title orientation based on v173 placement; vertical reads bottom-to-top, then lowers clockwise */
@media (min-width: 768px) {
  .ktc-project-panel .ktc-project-panel__title {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    transform-origin: left bottom !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    will-change: transform, opacity !important;
    transition:
      transform 1.28s cubic-bezier(.22, 1, .36, 1),
      opacity .56s ease,
      letter-spacing .78s cubic-bezier(.22, 1, .36, 1) !important;
  }

  /* Collapsed panels: vertical like v173, but flipped to read from bottom to top */
  .ktc-project-panel:not(.is-active) .ktc-project-panel__title {
    transform: rotate(-90deg) translate3d(0, 0, 0) !important;
    transform-origin: left bottom !important;
    transition-delay: 0s !important;
  }

  /* Active/open panel: after the image opens, title lowers clockwise into horizontal */
  .ktc-project-panel.is-active .ktc-project-panel__title {
    transform: rotate(0deg) translate3d(0, 0, 0) !important;
    transform-origin: left bottom !important;
    transition-delay: .46s !important;
  }

  .ktc-project-panel__content {
    overflow: visible !important;
  }

  .ktc-project-panel {
    transition:
      flex-grow 1.02s cubic-bezier(.22, 1, .36, 1),
      filter .5s ease,
      opacity .42s ease !important;
  }
}


/* v195: keep collapsed project titles visible like the reference layout */
@media (min-width: 768px) {
  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__content {
    overflow: visible !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title-row {
    overflow: visible !important;
    align-items: flex-end !important;
    justify-content: center !important;
    min-height: 0 !important;
    flex: 1 !important;
  }

  .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    max-width: none !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    font-size: clamp(18px, 1.55vw, 28px) !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    transform: rotate(180deg) translate3d(0, 0, 0) !important;
    transform-origin: center center !important;
    transition:
      transform 1.28s cubic-bezier(.22, 1, .36, 1),
      opacity .56s ease,
      letter-spacing .78s cubic-bezier(.22, 1, .36, 1) !important;
  }

  .ktc-project-panel.is-active .ktc-project-panel__title,
  .ktc-project-panel:hover .ktc-project-panel__title,
  .ktc-project-panel:focus-visible .ktc-project-panel__title {
    opacity: 1 !important;
    visibility: visible !important;
    writing-mode: horizontal-tb !important;
    text-orientation: initial !important;
    transform: translate3d(0, 0, 0) !important;
    transform-origin: left bottom !important;
    transition-delay: .42s !important;
  }
}


/* Logo band edge breathing room */
.ktc-about-home .ktc-logo-band__viewport {
  padding-inline: clamp(12px, 1vw, 18px);
  box-sizing: border-box;
}

@media (max-width: 991px) {
  .ktc-about-home .ktc-logo-band__viewport {
    padding-inline: 10px;
  }
}

/* v208: keep original font, only reduce news title weight slightly */
.ktc-news-panel .ktc-news-lead__copy h3,
.ktc-news-panel .ktc-news-lead__copy h3 a,
.ktc-news-panel .ktc-news-lead__copy h3 a:hover,
.ktc-news-panel .ktc-news-lead__copy h3 a:focus {
  font-weight: 500 !important;
}

.ktc-news-panel .ktc-news-side-card__body h4,
.ktc-news-panel .ktc-news-side-card__body h4 a,
.ktc-news-panel .ktc-news-side-card__body h4 a:hover,
.ktc-news-panel .ktc-news-side-card__body h4 a:focus {
  font-weight: 500 !important;
}

/* v209: lift only the requested news footer/body elements slightly */
.ktc-news-panel .ktc-news-lead__footer {
  position: relative !important;
  top: -12px !important;
}

.ktc-news-panel .ktc-news-side-card:last-child .ktc-news-side-card__body {
  bottom: 12px !important;
}

/* v210: refine about-section action buttons - elegant modern corporate style */
.ktc-about-home .ktc-inline-actions {
  gap: 22px;
}

.ktc-about-home .ktc-inline-actions .ktc-btn {
  position: relative;
  min-width: 208px;
  min-height: 58px;
  padding: 0 34px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .01em;
  box-shadow: 0 14px 28px rgba(7, 31, 75, 0.10);
  transition:
    transform .28s cubic-bezier(.22, 1, .36, 1),
    box-shadow .28s cubic-bezier(.22, 1, .36, 1),
    background .28s cubic-bezier(.22, 1, .36, 1),
    filter .28s cubic-bezier(.22, 1, .36, 1);
}

.ktc-about-home .ktc-inline-actions .ktc-btn:hover,
.ktc-about-home .ktc-inline-actions .ktc-btn:focus {
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(7, 31, 75, 0.16);
}

.ktc-about-home .ktc-inline-actions .ktc-btn--navy,
.ktc-about-home .ktc-inline-actions .ktc-btn--navy:visited,
.ktc-about-home .ktc-inline-actions .ktc-btn--navy:hover,
.ktc-about-home .ktc-inline-actions .ktc-btn--navy:focus,
.ktc-about-home .ktc-inline-actions .ktc-btn--navy:active {
  background: linear-gradient(180deg, #0d327a 0%, #082662 100%);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff !important;
}

.ktc-about-home .ktc-inline-actions .ktc-btn--navy:hover,
.ktc-about-home .ktc-inline-actions .ktc-btn--navy:focus {
  background: linear-gradient(180deg, #123989 0%, #082d70 100%);
}

.ktc-about-home .ktc-inline-actions .ktc-btn--red,
.ktc-about-home .ktc-inline-actions .ktc-btn--red:visited,
.ktc-about-home .ktc-inline-actions .ktc-btn--red:hover,
.ktc-about-home .ktc-inline-actions .ktc-btn--red:focus,
.ktc-about-home .ktc-inline-actions .ktc-btn--red:active {
  padding-right: 56px;
  background: linear-gradient(135deg, #ff3f27 0%, #ff5a21 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff !important;
}

.ktc-about-home .ktc-inline-actions .ktc-btn--red:hover,
.ktc-about-home .ktc-inline-actions .ktc-btn--red:focus {
  background: linear-gradient(135deg, #ff4d31 0%, #ff6a2c 100%);
}

.ktc-about-home .ktc-inline-actions .ktc-btn--red::after {
  content: "→";
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  opacity: .96;
}

.ktc-about-home .ktc-inline-actions .ktc-btn--red:hover::after,
.ktc-about-home .ktc-inline-actions .ktc-btn--red:focus::after {
  transform: translateY(-50%) translateX(2px);
}

@media (max-width: 767px) {
  .ktc-about-home .ktc-inline-actions {
    gap: 14px;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn {
    min-width: 176px;
    min-height: 54px;
    padding: 0 28px;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn--red {
    padding-right: 48px;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn--red::after {
    right: 18px;
  }
}

/* v211: diagonal shimmer hover for about-section action buttons */
.ktc-about-home .ktc-inline-actions .ktc-btn {
  overflow: hidden;
  isolation: isolate;
}

.ktc-about-home .ktc-inline-actions .ktc-btn::before {
  content: "";
  position: absolute;
  top: -35%;
  left: -28%;
  width: 22%;
  height: 170%;
  background: linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.14) 32%, rgba(255,255,255,0.52) 50%, rgba(255,255,255,0.14) 68%, rgba(255,255,255,0) 100%);
  transform: translateX(-180%) skewX(-24deg);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
}

.ktc-about-home .ktc-inline-actions .ktc-btn:hover::before,
.ktc-about-home .ktc-inline-actions .ktc-btn:focus::before {
  opacity: 1;
  animation: ktcButtonShine 0.85s cubic-bezier(.22, .61, .36, 1) 1;
}

.ktc-about-home .ktc-inline-actions .ktc-btn--red::after {
  z-index: 2;
}

@keyframes ktcButtonShine {
  0% {
    transform: translateX(-180%) skewX(-24deg);
    opacity: 0;
  }
  12% {
    opacity: .95;
  }
  100% {
    transform: translateX(520%) skewX(-24deg);
    opacity: 0;
  }
}

/* v216: animated white header logo without gold outline, divider only */
.ktc-brand__logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 42px;
}

.ktc-header-logo {
  display: block;
  width: auto;
  height: 42px;
  overflow: visible;
}

.ktc-header-logo__top-fill,
.ktc-header-logo__bottom-fill {
  fill: #ffffff;
}

.ktc-header-logo__top-outline {
  display: none !important;
  animation: none !important;
  stroke: transparent !important;
  filter: none !important;
  opacity: 0 !important;
}

.ktc-header-logo__divider-track {
  fill: rgba(255,255,255,.18);
}

.ktc-header-logo__divider-ltr,
.ktc-header-logo__divider-rtl {
  fill: #ffffff;
  filter: drop-shadow(0 0 3px rgba(255,255,255,.35));
  transform-box: fill-box;
}

.ktc-header-logo__divider-ltr {
  transform-origin: left center;
  animation: ktcHeaderDividerLTR 10s cubic-bezier(.32,.08,.2,1) infinite;
}

.ktc-header-logo__divider-rtl {
  transform-origin: right center;
  animation: ktcHeaderDividerRTL 10s cubic-bezier(.32,.08,.2,1) infinite;
}

@keyframes ktcHeaderLogoGoldRun {
  0% {
    stroke-dashoffset: 0;
    filter: drop-shadow(0 0 1px rgba(255, 225, 140, .88)) drop-shadow(0 0 3px rgba(255, 193, 64, .58)) drop-shadow(0 0 6px rgba(255, 193, 64, .32));
  }
  50% {
    filter: drop-shadow(0 0 2px rgba(255, 230, 150, 1)) drop-shadow(0 0 5px rgba(255, 204, 84, .86)) drop-shadow(0 0 11px rgba(255, 189, 44, .62));
  }
  100% {
    stroke-dashoffset: -692;
    filter: drop-shadow(0 0 1px rgba(255, 225, 140, .9)) drop-shadow(0 0 3px rgba(255, 193, 64, .58)) drop-shadow(0 0 7px rgba(255, 193, 64, .35));
  }
}

@keyframes ktcHeaderDividerLTR {
  0% {
    transform: scaleX(0);
    opacity: 0;
  }
  5% {
    opacity: .95;
  }
  44% {
    transform: scaleX(1);
    opacity: 1;
  }
  50% {
    transform: scaleX(1);
    opacity: 0;
  }
  100% {
    transform: scaleX(0);
    opacity: 0;
  }
}

@keyframes ktcHeaderDividerRTL {
  0%, 49% {
    transform: scaleX(0);
    opacity: 0;
  }
  55% {
    opacity: .95;
  }
  94% {
    transform: scaleX(1);
    opacity: 1;
  }
  100% {
    transform: scaleX(1);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ktc-header-logo__top-outline,
  .ktc-header-logo__divider-ltr,
  .ktc-header-logo__divider-rtl {
    animation: none !important;
  }

  .ktc-header-logo__divider-ltr,
  .ktc-header-logo__divider-rtl {
    opacity: 1;
    transform: none;
  }
}

/* v214: robust header logo display using self-contained animated SVG file */
.ktc-brand__image--svg {
  display: block;
  width: auto;
  height: 42px;
  max-width: none;
}


/* v218: keep side news image clear; overlay only the lower text area */
.ktc-news-panel .ktc-news-side-card__overlay {
  position: absolute !important;
  inset: auto 0 0 0 !important;
  top: auto !important;
  bottom: 0 !important;
  height: 34% !important;
  background: linear-gradient(180deg, rgba(8, 20, 40, 0) 0%, rgba(8, 20, 40, .16) 30%, rgba(6, 17, 35, .52) 68%, rgba(4, 12, 26, .84) 100%) !important;
}


/* v219: extend side-news overlay upward to cover date area, using brand blue */
.ktc-news-panel .ktc-news-side-card__overlay {
  position: absolute !important;
  inset: auto 0 0 0 !important;
  top: auto !important;
  bottom: 0 !important;
  height: 46% !important;
  background: linear-gradient(180deg, rgba(10, 45, 104, 0) 0%, rgba(10, 45, 104, .18) 18%, rgba(10, 45, 104, .52) 46%, rgba(10, 45, 104, .82) 74%, rgba(7, 31, 75, .94) 100%) !important;
}


/* v220: glossy mirror-white logo cards with polished silver border and refined typography */
.ktc-logo-card {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.92);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 252, 253, 0.97) 30%, rgba(239, 243, 247, 0.97) 68%, rgba(229, 235, 241, 0.98) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.98), inset 0 -12px 18px rgba(181, 191, 203, 0.18), 0 0 0 1px rgba(192, 199, 207, 0.78), 0 10px 20px rgba(104, 121, 145, 0.09) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.ktc-logo-card::before,
.ktc-logo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
}

.ktc-logo-card::before {
  inset: 1px 1px auto 1px;
  height: 46%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.62) 42%, rgba(255, 255, 255, 0) 100%);
}

.ktc-logo-card::after {
  border: 1px solid rgba(213, 220, 228, 0.92);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.48), inset 0 -1px 0 rgba(168, 178, 189, 0.42);
}

.ktc-logo-card__name {
  position: relative;
  z-index: 1;
  font-family: var(--ktc-font-body);
  color: #f03226;
  font-size: clamp(13px, 0.92vw, 17px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.34);
}


/* v221: transparent mirror-style logo cards, no shadow */
.ktc-logo-card {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(236, 241, 247, 0.96);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.40) 0%, rgba(255, 255, 255, 0.22) 36%, rgba(236, 242, 248, 0.16) 70%, rgba(226, 234, 242, 0.24) 100%) !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.ktc-logo-card::before,
.ktc-logo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
}

.ktc-logo-card::before {
  inset: 1px 1px auto 1px;
  height: 48%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0.34) 52%, rgba(255, 255, 255, 0) 100%);
}

.ktc-logo-card::after {
  border: 1px solid rgba(189, 200, 212, 0.85);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.56), inset 0 -1px 0 rgba(164, 177, 191, 0.28) !important;
}

.ktc-logo-card__name {
  position: relative;
  z-index: 1;
  font-family: var(--ktc-font-body);
  color: #f03226;
  font-size: clamp(13px, 0.92vw, 17px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.22);
}


/* v222: logo text fly-in + animated premium frame copied from activity cards */
.ktc-logo-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.ktc-logo-card::before,
.ktc-logo-card::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  pointer-events: none;
}

.ktc-logo-card::before {
  inset: -42%;
  z-index: 0;
  background: conic-gradient(
    from 0deg,
    rgba(255, 214, 98, 0) 0deg 52deg,
    rgba(255, 245, 198, .10) 66deg,
    rgba(255, 233, 137, .72) 80deg,
    rgba(255, 247, 205, .92) 88deg,
    rgba(255, 224, 110, .86) 96deg,
    rgba(255, 214, 98, .18) 112deg,
    rgba(255, 214, 98, 0) 128deg 360deg
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 2px;
  animation: ktcFieldGoldRing 4.8s linear infinite;
  transform-origin: center center;
  opacity: .94;
}

.ktc-logo-card::after {
  inset: -18% -62%;
  z-index: 2;
  background: linear-gradient(
    112deg,
    rgba(255, 221, 118, 0) 0%,
    rgba(255, 236, 160, 0) 42%,
    rgba(255, 250, 214, .14) 46%,
    rgba(255, 246, 188, .72) 49%,
    rgba(255, 223, 120, .76) 51%,
    rgba(255, 246, 188, .72) 53%,
    rgba(255, 250, 214, .14) 56%,
    rgba(255, 221, 118, 0) 62%,
    rgba(255, 221, 118, 0) 100%
  );
  mix-blend-mode: screen;
  opacity: .92;
  transform: translateX(-132%) skewX(-16deg);
  animation: ktcFieldGoldSweep 5.2s ease-in-out infinite;
}

.ktc-logo-card__name {
  position: relative;
  z-index: 3;
}

.ktc-logo-card:nth-child(2)::before { animation-delay: -1.05s; }
.ktc-logo-card:nth-child(3)::before { animation-delay: -2.1s; }
.ktc-logo-card:nth-child(4)::before { animation-delay: -3.15s; }
.ktc-logo-card:nth-child(5)::before { animation-delay: -4.2s; }
.ktc-logo-card:nth-child(2)::after { animation-delay: -.95s; }
.ktc-logo-card:nth-child(3)::after { animation-delay: -1.9s; }
.ktc-logo-card:nth-child(4)::after { animation-delay: -2.85s; }
.ktc-logo-card:nth-child(5)::after { animation-delay: -3.8s; }

html.ktc-enhanced .ktc-logo-band[data-ktc-reveal] .ktc-logo-card__name {
  opacity: 0;
  transform: translate3d(0, 26px, 0) scale(.92) skewY(3deg);
  filter: blur(8px);
  will-change: transform, opacity, filter;
}

html.ktc-enhanced .ktc-logo-band[data-ktc-reveal].is-visible .ktc-logo-card__name {
  animation: ktcLogoTextFlyIn .82s cubic-bezier(.2, .9, .2, 1) forwards;
}

html.ktc-enhanced .ktc-logo-band[data-ktc-reveal].is-visible .ktc-logo-card:nth-child(1) .ktc-logo-card__name { animation-delay: .08s; }
html.ktc-enhanced .ktc-logo-band[data-ktc-reveal].is-visible .ktc-logo-card:nth-child(2) .ktc-logo-card__name { animation-delay: .16s; }
html.ktc-enhanced .ktc-logo-band[data-ktc-reveal].is-visible .ktc-logo-card:nth-child(3) .ktc-logo-card__name { animation-delay: .24s; }
html.ktc-enhanced .ktc-logo-band[data-ktc-reveal].is-visible .ktc-logo-card:nth-child(4) .ktc-logo-card__name { animation-delay: .32s; }
html.ktc-enhanced .ktc-logo-band[data-ktc-reveal].is-visible .ktc-logo-card:nth-child(5) .ktc-logo-card__name { animation-delay: .40s; }
html.ktc-enhanced .ktc-logo-band[data-ktc-reveal].is-visible .ktc-logo-card:nth-child(6) .ktc-logo-card__name { animation-delay: .48s; }
html.ktc-enhanced .ktc-logo-band[data-ktc-reveal].is-visible .ktc-logo-card:nth-child(7) .ktc-logo-card__name { animation-delay: .56s; }
html.ktc-enhanced .ktc-logo-band[data-ktc-reveal].is-visible .ktc-logo-card:nth-child(8) .ktc-logo-card__name { animation-delay: .64s; }
html.ktc-enhanced .ktc-logo-band[data-ktc-reveal].is-visible .ktc-logo-card:nth-child(9) .ktc-logo-card__name { animation-delay: .72s; }

@keyframes ktcLogoTextFlyIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 28px, 0) scale(.9) skewY(4deg);
    filter: blur(8px);
  }
  58% {
    opacity: 1;
    transform: translate3d(0, -3px, 0) scale(1.02) skewY(0deg);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) skewY(0deg);
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.ktc-enhanced .ktc-logo-band[data-ktc-reveal] .ktc-logo-card__name,
  html.ktc-enhanced .ktc-logo-band[data-ktc-reveal].is-visible .ktc-logo-card__name {
    opacity: 1;
    transform: none;
    filter: none;
    animation: none;
  }
}


/* v223: clean perimeter light sweep for logo cards, aligned to the frame only */
.ktc-logo-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.ktc-logo-card::before,
.ktc-logo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

/* static polished silver inner border */
.ktc-logo-card::before {
  z-index: 1;
  inset: 0;
  border: 1px solid rgba(214, 223, 232, 0.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58), inset 0 -1px 0 rgba(173, 184, 197, .26) !important;
  background: none !important;
  animation: none !important;
}

/* animated light segment that runs only around the border */
.ktc-logo-card::after {
  z-index: 2;
  inset: -1px;
  padding: 2px;
  background: conic-gradient(
    from 0deg,
    rgba(255, 222, 120, 0) 0deg 292deg,
    rgba(255, 228, 136, .14) 304deg,
    rgba(255, 247, 205, .92) 316deg,
    rgba(255, 223, 120, .98) 324deg,
    rgba(255, 247, 205, .92) 332deg,
    rgba(255, 228, 136, .18) 340deg,
    rgba(255, 222, 120, 0) 352deg 360deg
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: ktcLogoBorderSweep 4.8s linear infinite;
  opacity: .98;
}

.ktc-logo-card:nth-child(2)::after { animation-delay: -.8s; }
.ktc-logo-card:nth-child(3)::after { animation-delay: -1.6s; }
.ktc-logo-card:nth-child(4)::after { animation-delay: -2.4s; }
.ktc-logo-card:nth-child(5)::after { animation-delay: -3.2s; }

.ktc-logo-card__name {
  position: relative;
  z-index: 3;
}

@keyframes ktcLogoBorderSweep {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .ktc-logo-card::after {
    animation: none;
  }
}


/* v224: true border-running light for logo cards; no floating shapes inside */
.ktc-logo-card::before {
  inset: 0 !important;
  z-index: 1 !important;
  border-radius: inherit !important;
  border: 1px solid rgba(214, 223, 232, 0.9) !important;
  background: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.56), inset 0 -1px 0 rgba(173, 184, 197, .22) !important;
  animation: none !important;
  transform: none !important;
}

.ktc-logo-card::after {
  inset: -1px !important;
  z-index: 2 !important;
  padding: 2px !important;
  border-radius: inherit !important;
  background: conic-gradient(
    from 0deg,
    rgba(255, 222, 120, 0) 0deg 300deg,
    rgba(255, 232, 142, .10) 308deg,
    rgba(255, 246, 196, .86) 318deg,
    rgba(255, 224, 118, .98) 324deg,
    rgba(255, 250, 214, .96) 330deg,
    rgba(255, 232, 142, .14) 338deg,
    rgba(255, 222, 120, 0) 348deg 360deg
  ) !important;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
  mask-composite: exclude !important;
  box-shadow: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  filter: drop-shadow(0 0 3px rgba(255, 226, 128, .40)) !important;
  transform: rotate(0deg) !important;
  animation: ktcLogoBorderRun 4.2s linear infinite !important;
}

.ktc-logo-card:nth-child(2)::after { animation-delay: -.7s !important; }
.ktc-logo-card:nth-child(3)::after { animation-delay: -1.4s !important; }
.ktc-logo-card:nth-child(4)::after { animation-delay: -2.1s !important; }
.ktc-logo-card:nth-child(5)::after { animation-delay: -2.8s !important; }

@keyframes ktcLogoBorderRun {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}


/* v225: rebuild logo-card border light using the same visual logic as activity frames */
.ktc-logo-card::before,
.ktc-logo-card::after {
  content: none !important;
  display: none !important;
}

.ktc-logo-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: transparent !important;
}

.ktc-logo-card__frame {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border-radius: inherit;
  border: 1px solid rgba(255, 234, 170, .42);
  box-shadow: 0 0 0 1px rgba(255, 245, 214, .12) inset;
  isolation: isolate;
  pointer-events: none;
}

.ktc-logo-card__frame::before,
.ktc-logo-card__frame::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  pointer-events: none;
}

/* rotating gold light copied from the field-image frame */
.ktc-logo-card__frame::before {
  inset: -42%;
  z-index: 0;
  background: conic-gradient(
    from 0deg,
    rgba(255, 214, 98, 0) 0deg 52deg,
    rgba(255, 245, 198, .14) 66deg,
    rgba(255, 233, 137, .86) 80deg,
    rgba(255, 247, 205, 1) 88deg,
    rgba(255, 224, 110, .96) 96deg,
    rgba(255, 214, 98, .22) 112deg,
    rgba(255, 214, 98, 0) 128deg 360deg
  );
  animation: ktcFieldGoldRing 4.8s linear infinite;
  transform-origin: center center;
}

/* diagonal highlight sweep copied from the field-image frame */
.ktc-logo-card__frame::after {
  inset: -18% -62%;
  z-index: 1;
  background: linear-gradient(
    112deg,
    rgba(255, 221, 118, 0) 0%,
    rgba(255, 236, 160, 0) 42%,
    rgba(255, 250, 214, .22) 46%,
    rgba(255, 246, 188, .84) 49%,
    rgba(255, 223, 120, .88) 51%,
    rgba(255, 246, 188, .84) 53%,
    rgba(255, 250, 214, .22) 56%,
    rgba(255, 221, 118, 0) 62%,
    rgba(255, 221, 118, 0) 100%
  );
  opacity: .95;
  mix-blend-mode: screen;
  transform: translateX(-132%) skewX(-16deg);
  animation: ktcFieldGoldSweep 5.2s ease-in-out infinite;
}

/* interior glass surface to hide the effects inside, leaving only the border light visible */
.ktc-logo-card__surface {
  position: absolute;
  inset: 1.5px;
  z-index: 2;
  display: block;
  border-radius: 15px;
  background: linear-gradient(180deg, rgba(236, 244, 252, .42) 0%, rgba(225, 236, 247, .22) 52%, rgba(218, 231, 244, .18) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42), inset 0 -1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.ktc-logo-card__name {
  position: relative;
  z-index: 3;
}

.ktc-logo-card:nth-child(2) .ktc-logo-card__frame::before { animation-delay: -1.25s; }
.ktc-logo-card:nth-child(3) .ktc-logo-card__frame::before { animation-delay: -2.5s; }
.ktc-logo-card:nth-child(4) .ktc-logo-card__frame::before { animation-delay: -3.75s; }
.ktc-logo-card:nth-child(5) .ktc-logo-card__frame::before { animation-delay: -5s; }

.ktc-logo-card:nth-child(2) .ktc-logo-card__frame::after { animation-delay: -1.75s; }
.ktc-logo-card:nth-child(3) .ktc-logo-card__frame::after { animation-delay: -3.05s; }
.ktc-logo-card:nth-child(4) .ktc-logo-card__frame::after { animation-delay: -4.35s; }
.ktc-logo-card:nth-child(5) .ktc-logo-card__frame::after { animation-delay: -5.65s; }

@media (prefers-reduced-motion: reduce) {
  .ktc-logo-card__frame::before,
  .ktc-logo-card__frame::after {
    animation: none !important;
    transform: none !important;
  }
}


/* v226: final logo card border light - one clean beam runs on the real border only */
.ktc-logo-card::before,
.ktc-logo-card::after,
.ktc-logo-card__frame::before,
.ktc-logo-card__frame::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  background: none !important;
  filter: none !important;
  box-shadow: none !important;
}

.ktc-logo-card {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ktc-logo-card__frame {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: inherit !important;
  border: 1px solid rgba(232, 240, 248, 0.9) !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.ktc-logo-card__surface {
  position: absolute !important;
  inset: 1px !important;
  z-index: 1 !important;
  display: block !important;
  border-radius: 15px !important;
  background: linear-gradient(180deg, rgba(236, 244, 252, .38) 0%, rgba(225, 236, 247, .22) 55%, rgba(218, 231, 244, .16) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 -1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

.ktc-logo-card__edge {
  position: absolute !important;
  z-index: 2 !important;
  display: block !important;
  pointer-events: none !important;
  opacity: 0 !important;
  background: linear-gradient(90deg, rgba(255, 226, 126, 0) 0%, rgba(255, 246, 196, .96) 42%, rgba(255, 224, 118, 1) 52%, rgba(255, 246, 196, .96) 62%, rgba(255, 226, 126, 0) 100%) !important;
  filter: drop-shadow(0 0 3px rgba(255, 224, 118, .55)) !important;
}

.ktc-logo-card__edge--top,
.ktc-logo-card__edge--bottom {
  width: 78px !important;
  height: 2px !important;
  left: 0 !important;
}

.ktc-logo-card__edge--right,
.ktc-logo-card__edge--left {
  width: 2px !important;
  height: 42px !important;
  top: 0 !important;
  background: linear-gradient(180deg, rgba(255, 226, 126, 0) 0%, rgba(255, 246, 196, .96) 42%, rgba(255, 224, 118, 1) 52%, rgba(255, 246, 196, .96) 62%, rgba(255, 226, 126, 0) 100%) !important;
}

.ktc-logo-card__edge--top {
  top: 0 !important;
  animation: ktcLogoEdgeTop 4.8s linear infinite !important;
}

.ktc-logo-card__edge--right {
  right: 0 !important;
  animation: ktcLogoEdgeRight 4.8s linear infinite !important;
}

.ktc-logo-card__edge--bottom {
  bottom: 0 !important;
  animation: ktcLogoEdgeBottom 4.8s linear infinite !important;
}

.ktc-logo-card__edge--left {
  left: 0 !important;
  animation: ktcLogoEdgeLeft 4.8s linear infinite !important;
}

.ktc-logo-card__name {
  position: relative !important;
  z-index: 3 !important;
}

@keyframes ktcLogoEdgeTop {
  0%, 2% { opacity: 1; transform: translateX(-82px); }
  23% { opacity: 1; transform: translateX(calc(100cqw + 82px)); }
  24%, 100% { opacity: 0; transform: translateX(calc(100cqw + 82px)); }
}

@keyframes ktcLogoEdgeRight {
  0%, 24% { opacity: 0; transform: translateY(-46px); }
  25%, 27% { opacity: 1; transform: translateY(-46px); }
  48% { opacity: 1; transform: translateY(calc(100cqh + 46px)); }
  49%, 100% { opacity: 0; transform: translateY(calc(100cqh + 46px)); }
}

@keyframes ktcLogoEdgeBottom {
  0%, 49% { opacity: 0; transform: translateX(calc(100cqw + 82px)); }
  50%, 52% { opacity: 1; transform: translateX(calc(100cqw + 82px)); }
  73% { opacity: 1; transform: translateX(-82px); }
  74%, 100% { opacity: 0; transform: translateX(-82px); }
}

@keyframes ktcLogoEdgeLeft {
  0%, 74% { opacity: 0; transform: translateY(calc(100cqh + 46px)); }
  75%, 77% { opacity: 1; transform: translateY(calc(100cqh + 46px)); }
  98% { opacity: 1; transform: translateY(-46px); }
  99%, 100% { opacity: 0; transform: translateY(-46px); }
}

@supports not (width: 1cqw) {
  @keyframes ktcLogoEdgeTop {
    0%, 2% { opacity: 1; transform: translateX(-82px); }
    23% { opacity: 1; transform: translateX(330px); }
    24%, 100% { opacity: 0; transform: translateX(330px); }
  }
  @keyframes ktcLogoEdgeRight {
    0%, 24% { opacity: 0; transform: translateY(-46px); }
    25%, 27% { opacity: 1; transform: translateY(-46px); }
    48% { opacity: 1; transform: translateY(92px); }
    49%, 100% { opacity: 0; transform: translateY(92px); }
  }
  @keyframes ktcLogoEdgeBottom {
    0%, 49% { opacity: 0; transform: translateX(330px); }
    50%, 52% { opacity: 1; transform: translateX(330px); }
    73% { opacity: 1; transform: translateX(-82px); }
    74%, 100% { opacity: 0; transform: translateX(-82px); }
  }
  @keyframes ktcLogoEdgeLeft {
    0%, 74% { opacity: 0; transform: translateY(92px); }
    75%, 77% { opacity: 1; transform: translateY(92px); }
    98% { opacity: 1; transform: translateY(-46px); }
    99%, 100% { opacity: 0; transform: translateY(-46px); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .ktc-logo-card__edge { animation: none !important; opacity: 0 !important; }
}


/* v227: fix logo border light properly - visible golden beam running around the frame */
.ktc-logo-card__frame {
  border-color: rgba(241, 233, 205, .88) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16) !important;
}

.ktc-logo-card__surface {
  inset: 2px !important;
  border-radius: 14px !important;
}

.ktc-logo-card__edge {
  z-index: 4 !important;
  opacity: 1 !important;
  will-change: transform !important;
}

.ktc-logo-card__edge--top,
.ktc-logo-card__edge--bottom {
  width: 90px !important;
  height: 3px !important;
}

.ktc-logo-card__edge--right,
.ktc-logo-card__edge--left {
  width: 3px !important;
  height: 48px !important;
}

.ktc-logo-card__edge--top {
  top: 0 !important;
  left: 0 !important;
  animation: ktcLogoEdgeTopV227 4.8s linear infinite !important;
}

.ktc-logo-card__edge--right {
  top: 0 !important;
  right: 0 !important;
  animation: ktcLogoEdgeRightV227 4.8s linear infinite !important;
}

.ktc-logo-card__edge--bottom {
  left: 0 !important;
  bottom: 0 !important;
  animation: ktcLogoEdgeBottomV227 4.8s linear infinite !important;
}

.ktc-logo-card__edge--left {
  top: 0 !important;
  left: 0 !important;
  animation: ktcLogoEdgeLeftV227 4.8s linear infinite !important;
}

@keyframes ktcLogoEdgeTopV227 {
  0% { transform: translateX(-100px); }
  24% { transform: translateX(calc(100% + 240px)); }
  24.01%, 100% { transform: translateX(calc(100% + 240px)); }
}

@keyframes ktcLogoEdgeRightV227 {
  0%, 24.99% { transform: translateY(-56px); }
  25% { transform: translateY(-56px); }
  49% { transform: translateY(calc(100% + 110px)); }
  49.01%, 100% { transform: translateY(calc(100% + 110px)); }
}

@keyframes ktcLogoEdgeBottomV227 {
  0%, 49.99% { transform: translateX(calc(100% + 240px)); }
  50% { transform: translateX(calc(100% + 240px)); }
  74% { transform: translateX(-100px); }
  74.01%, 100% { transform: translateX(-100px); }
}

@keyframes ktcLogoEdgeLeftV227 {
  0%, 74.99% { transform: translateY(calc(100% + 110px)); }
  75% { transform: translateY(calc(100% + 110px)); }
  99% { transform: translateY(-56px); }
  99.01%, 100% { transform: translateY(-56px); }
}

.ktc-logo-card:nth-child(2) .ktc-logo-card__edge { animation-delay: -.9s !important; }
.ktc-logo-card:nth-child(3) .ktc-logo-card__edge { animation-delay: -1.8s !important; }
.ktc-logo-card:nth-child(4) .ktc-logo-card__edge { animation-delay: -2.7s !important; }
.ktc-logo-card:nth-child(5) .ktc-logo-card__edge { animation-delay: -3.6s !important; }

@media (prefers-reduced-motion: reduce) {
  .ktc-logo-card__edge { animation: none !important; transform: translateX(-120px) !important; }
}


/* v289: shared inner-page header keeps current appearance, logo always links to homepage */
.ktc-inner-site-header .ktc-brand {
  cursor: pointer;
}


/* v290: shared footer for snap and normal pages */
.ktc-shared-footer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.ktc-shared-footer--normal {
  min-height: 100svh;
  padding: 0;
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
}

.ktc-shared-footer--normal .ktc-site-footer__inner {
  min-height: 100svh;
}

body.ktc-news-list-body,
body.ktc-single-post-body {
  overflow-y: auto !important;
  scroll-snap-type: none !important;
}

html:has(body.ktc-news-list-body),
html:has(body.ktc-single-post-body) {
  overflow-y: auto !important;
  scroll-snap-type: none !important;
}

body.ktc-news-list-body.ktc-snap-enabled,
body.ktc-single-post-body.ktc-snap-enabled {
  scroll-snap-type: none !important;
}

body.ktc-news-list-body .ktc-shared-footer--normal,
body.ktc-single-post-body .ktc-shared-footer--normal {
  margin-top: 0;
}

@media (max-width: 1199px) {
  .ktc-shared-footer--normal,
  .ktc-shared-footer--normal .ktc-site-footer__inner {
    min-height: auto;
  }
}

/* v291: homepage capability statistics section */
.ktc-stats-home {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 100vh;
  padding: calc(var(--ktc-header-offset, 0px) + clamp(34px, 5vh, 58px)) 0 clamp(34px, 5vh, 56px);
  color: #ffffff;
  background:
    radial-gradient(circle at 18% 18%, rgba(110, 190, 255, .30), transparent 34%),
    radial-gradient(circle at 86% 16%, rgba(255, 218, 116, .18), transparent 30%),
    linear-gradient(115deg, #08265e 0%, #0d54a9 52%, #4ea9f7 100%);
}

.ktc-stats-home__ambient {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3, 17, 50, .54), rgba(6, 46, 111, .22) 45%, rgba(111, 191, 255, .22) 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 126px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.045) 0 1px, transparent 1px 126px);
  opacity: .58;
}

.ktc-stats-home__ambient::before,
.ktc-stats-home__ambient::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.ktc-stats-home__ambient::before {
  right: -12vw;
  top: -22vh;
  width: 52vw;
  height: 52vw;
  border: 1px solid rgba(255,255,255,.18);
  background: radial-gradient(circle, rgba(255,255,255,.16), rgba(255,255,255,.04) 36%, transparent 68%);
}

.ktc-stats-home__ambient::after {
  left: -10vw;
  bottom: -18vh;
  width: 38vw;
  height: 38vw;
  background: radial-gradient(circle, rgba(255,221,128,.20), transparent 64%);
}

.ktc-stats-home__inner {
  position: relative;
  z-index: 2;
  min-height: calc(100vh - var(--ktc-header-offset, 0px) - clamp(68px, 10vh, 114px));
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: clamp(34px, 5vw, 82px);
}

.ktc-stats-home__copy {
  max-width: 560px;
}

.ktc-stats-home__kicker {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  color: rgba(255, 225, 146, .98);
  font-size: clamp(14px, 1vw, 17px);
  font-weight: 900;
  letter-spacing: .32em;
  text-transform: uppercase;
}

.ktc-stats-home__kicker span {
  display: block;
  width: clamp(54px, 5vw, 86px);
  height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,.12), rgba(255, 224, 137, .94));
}

.ktc-stats-home__copy h2 {
  margin: clamp(18px, 2.1vh, 24px) 0 0;
  color: #fff;
  font-family: "UTM Hanzel", var(--ktc-font-display);
  font-size: clamp(44px, 5vw, 82px);
  font-weight: 400;
  line-height: .94;
  text-transform: uppercase;
  letter-spacing: -.02em;
  text-shadow: 0 18px 38px rgba(1, 12, 38, .20);
}

.ktc-stats-home__copy p {
  width: min(100%, 520px);
  margin: clamp(18px, 2.2vh, 26px) 0 0;
  color: rgba(255,255,255,.86);
  font-size: clamp(17px, 1.2vw, 21px);
  line-height: 1.65;
}

.ktc-stats-home__signature {
  width: min(100%, 430px);
  margin-top: clamp(22px, 3vh, 34px);
  padding: 18px 22px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 18px 42px rgba(1, 19, 58, .24);
}

.ktc-stats-home__signature span,
.ktc-stats-home__signature strong {
  display: block;
}

.ktc-stats-home__signature span {
  color: #ffe08b;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.ktc-stats-home__signature strong {
  margin-top: 6px;
  color: #fff;
  font-size: clamp(16px, 1.15vw, 20px);
  line-height: 1.35;
}

.ktc-stats-home__visual {
  position: relative;
  min-height: clamp(520px, 66vh, 680px);
  border-radius: 46px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(255,255,255,.08);
  box-shadow: 0 32px 84px rgba(1, 18, 55, .34);
  isolation: isolate;
}

.ktc-stats-home__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center center;
  transform: scale(1.05);
  filter: saturate(1.08) contrast(1.04);
}

.ktc-stats-home__visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(4, 31, 83, .82) 0%, rgba(8, 61, 147, .66) 42%, rgba(18, 112, 215, .42) 100%),
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 38%, rgba(0,15,48,.24) 100%);
}

.ktc-stats-home__visual::after {
  content: "K T G";
  position: absolute;
  right: -2vw;
  bottom: -2vh;
  z-index: 1;
  color: rgba(255,255,255,.065);
  font-family: "UTM Hanzel", var(--ktc-font-display);
  font-size: clamp(100px, 12vw, 210px);
  line-height: 1;
  letter-spacing: -.08em;
  pointer-events: none;
}

.ktc-stats-home__orb {
  position: absolute;
  z-index: 2;
  border-radius: 999px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(255,255,255,.22), rgba(255,255,255,.04) 48%, transparent 70%);
  border: 1px solid rgba(255,255,255,.18);
}

.ktc-stats-home__orb--one {
  width: 220px;
  height: 220px;
  top: 10%;
  right: 8%;
}

.ktc-stats-home__orb--two {
  width: 150px;
  height: 150px;
  left: 7%;
  bottom: 8%;
}

.ktc-stats-grid {
  position: relative;
  z-index: 3;
  min-height: inherit;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 1.7vw, 24px);
  align-content: center;
  padding: clamp(28px, 4vw, 54px);
}

.ktc-stat-card {
  position: relative;
  min-height: 210px;
  padding: clamp(22px, 2.2vw, 30px);
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.24);
  background: linear-gradient(145deg, rgba(255,255,255,.22), rgba(255,255,255,.08));
  backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  box-shadow: 0 18px 42px rgba(1, 18, 58, .24);
}

.ktc-stat-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), transparent 42%),
    radial-gradient(circle at 88% 18%, rgba(255,222,136,.20), transparent 34%);
  pointer-events: none;
}

.ktc-stat-card__index {
  position: relative;
  display: block;
  color: rgba(255,255,255,.58);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .16em;
}

.ktc-stat-card__number {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-top: clamp(16px, 2vh, 22px);
  color: #fff;
  font-family: "UTM Hanzel", var(--ktc-font-display);
  font-size: clamp(42px, 4.8vw, 76px);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.02em;
  text-shadow: 0 16px 34px rgba(2, 19, 58, .28);
}

.ktc-stat-card__number > span:first-child:not([data-ktc-count]) {
  color: #ffe08b;
}

.ktc-stat-card h3 {
  position: relative;
  margin: 14px 0 0;
  color: #ffe08b;
  font-size: clamp(15px, 1.12vw, 19px);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ktc-stat-card p {
  position: relative;
  margin: 10px 0 0;
  color: rgba(255,255,255,.80);
  font-size: clamp(14px, .94vw, 16px);
  line-height: 1.52;
}

html.ktc-enhanced .ktc-stats-home [data-ktc-reveal] {
  opacity: 0;
  filter: blur(18px);
  will-change: transform, opacity, filter;
  transition:
    transform 1120ms cubic-bezier(.16, .84, .18, 1),
    opacity 1000ms cubic-bezier(.16, .84, .18, 1),
    filter 1000ms cubic-bezier(.16, .84, .18, 1);
}

html.ktc-enhanced .ktc-stats-home [data-ktc-reveal="stats-kicker"] {
  transform: translate3d(-58px, 0, 0);
}

html.ktc-enhanced .ktc-stats-home [data-ktc-reveal="stats-title"] {
  transform: translate3d(-78px, 34px, 0) scale(.88);
  transform-origin: left center;
}

html.ktc-enhanced .ktc-stats-home [data-ktc-reveal="stats-desc"],
html.ktc-enhanced .ktc-stats-home [data-ktc-reveal="stats-signature"] {
  transform: translate3d(-46px, 28px, 0);
}

html.ktc-enhanced .ktc-stats-home [data-ktc-reveal="stats-visual"] {
  transform: translate3d(86px, 0, 0) rotateY(-10deg) scale(.94);
  transform-origin: right center;
}

html.ktc-enhanced .ktc-stats-home [data-ktc-reveal="stats-card"] {
  transform: translate3d(0, 46px, 0) scale(.86);
  transition-delay: var(--stat-delay, 0ms);
}

html.ktc-enhanced .ktc-stats-home [data-ktc-reveal].is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0) rotateY(0deg) scale(1);
}

html.ktc-enhanced .ktc-stats-home .ktc-stat-card.is-visible::before {
  animation: ktcStatsCardSweep 3.6s ease .18s both;
}

@keyframes ktcStatsCardSweep {
  0% { transform: translate3d(-36%, -18%, 0) rotate(0deg); opacity: .1; }
  38% { opacity: .95; }
  100% { transform: translate3d(28%, 22%, 0) rotate(0deg); opacity: .42; }
}

@media (max-width: 1199px) {
  .ktc-stats-home__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .ktc-stats-home__copy {
    max-width: 780px;
  }
  .ktc-stats-home__visual {
    min-height: 560px;
  }
}

@media (max-width: 767px) {
  .ktc-stats-home {
    padding: 100px 0 40px;
  }
  .ktc-stats-home__copy h2 {
    font-size: clamp(34px, 11vw, 50px);
  }
  .ktc-stats-home__visual {
    min-height: auto;
    border-radius: 28px;
  }
  .ktc-stats-grid {
    grid-template-columns: 1fr;
    padding: 18px;
  }
  .ktc-stat-card {
    min-height: 168px;
    border-radius: 22px;
  }
}


/* v292: cân lại section Dấu ấn năng lực để nội dung nằm gọn trong một màn hình */
.ktc-stats-home {
  padding: calc(var(--ktc-header-offset, 0px) + clamp(18px, 3vh, 34px)) 0 clamp(20px, 3vh, 34px) !important;
}

.ktc-stats-home__inner {
  min-height: calc(100vh - var(--ktc-header-offset, 0px) - clamp(42px, 6vh, 68px)) !important;
  grid-template-columns: minmax(310px, .70fr) minmax(0, 1.30fr) !important;
  gap: clamp(24px, 3.3vw, 56px) !important;
}

.ktc-stats-home__copy {
  max-width: 500px !important;
}

.ktc-stats-home__kicker {
  gap: 14px !important;
  font-size: clamp(11px, .82vw, 14px) !important;
  letter-spacing: .26em !important;
}

.ktc-stats-home__kicker span {
  width: clamp(44px, 4vw, 70px) !important;
}

.ktc-stats-home__copy h2 {
  margin-top: clamp(12px, 1.6vh, 18px) !important;
  max-width: 520px !important;
  font-size: clamp(31px, 3.2vw, 52px) !important;
  line-height: 1.18 !important;
  letter-spacing: .014em !important;
  word-spacing: .03em !important;
  text-wrap: balance;
}

.ktc-stats-home__copy p {
  width: min(100%, 480px) !important;
  margin-top: clamp(12px, 1.8vh, 18px) !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  line-height: 1.48 !important;
}

.ktc-stats-home__signature {
  width: min(100%, 360px) !important;
  margin-top: clamp(14px, 2vh, 20px) !important;
  padding: 13px 18px !important;
  border-radius: 20px !important;
}

.ktc-stats-home__signature span {
  font-size: 11px !important;
  letter-spacing: .20em !important;
}

.ktc-stats-home__signature strong {
  margin-top: 5px !important;
  font-size: clamp(13px, .95vw, 16px) !important;
  line-height: 1.25 !important;
}

.ktc-stats-home__visual {
  min-height: clamp(430px, 56vh, 565px) !important;
  border-radius: 36px !important;
}

.ktc-stats-grid {
  gap: clamp(12px, 1.3vw, 18px) !important;
  padding: clamp(20px, 2.6vw, 36px) !important;
}

.ktc-stat-card {
  min-height: 150px !important;
  padding: clamp(16px, 1.7vw, 23px) !important;
  border-radius: 22px !important;
}

.ktc-stat-card__index {
  font-size: clamp(11px, .8vw, 14px) !important;
}

.ktc-stat-card__number {
  gap: 3px !important;
  margin-top: clamp(10px, 1.4vh, 15px) !important;
  font-size: clamp(32px, 3.7vw, 60px) !important;
  line-height: .90 !important;
  white-space: nowrap !important;
}

.ktc-stat-card__number .ktc-stat-card__prefix {
  color: #ffe08b;
}

.ktc-stat-card__number .ktc-stat-card__suffix {
  display: inline-block;
  margin-left: 5px;
  color: #fff;
  font-family: var(--ktc-font-body, Inter, Arial, sans-serif);
  font-size: clamp(14px, 1.15vw, 21px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -.02em;
  text-transform: none;
  vertical-align: baseline;
  white-space: nowrap;
}

.ktc-stat-card h3 {
  margin-top: clamp(9px, 1.2vh, 12px) !important;
  font-size: clamp(12px, .92vw, 16px) !important;
  line-height: 1.12 !important;
  letter-spacing: .06em !important;
}

.ktc-stat-card p {
  margin-top: 7px !important;
  font-size: clamp(12px, .82vw, 14px) !important;
  line-height: 1.35 !important;
}

@media (min-width: 1200px) {
  body.ktc-snap-enabled .ktc-stats-home {
    height: var(--ktc-stage-vh) !important;
    min-height: var(--ktc-stage-vh) !important;
    padding-top: calc(var(--ktc-header-offset, 0px) + 18px) !important;
    padding-bottom: 20px !important;
    box-sizing: border-box !important;
  }

  body.ktc-snap-enabled .ktc-stats-home__inner {
    min-height: calc(var(--ktc-stage-vh) - var(--ktc-header-offset, 0px) - 38px) !important;
  }
}

@media (min-width: 1200px) and (max-height: 860px) {
  .ktc-stats-home__inner {
    grid-template-columns: minmax(290px, .68fr) minmax(0, 1.32fr) !important;
    gap: 28px !important;
  }

  .ktc-stats-home__copy h2 {
    font-size: clamp(29px, 2.9vw, 44px) !important;
    line-height: 1.16 !important;
    letter-spacing: .014em !important;
    word-spacing: .03em !important;
  }

  .ktc-stats-home__copy p {
    font-size: 13.5px !important;
    line-height: 1.38 !important;
  }

  .ktc-stats-home__signature {
    display: none !important;
  }

  .ktc-stats-home__visual {
    min-height: min(500px, calc(var(--ktc-stage-vh, 100vh) - var(--ktc-header-offset, 0px) - 62px)) !important;
  }

  .ktc-stats-grid {
    padding: 20px !important;
    gap: 12px !important;
  }

  .ktc-stat-card {
    min-height: 128px !important;
    padding: 15px !important;
  }

  .ktc-stat-card__number {
    font-size: clamp(30px, 3.2vw, 50px) !important;
    margin-top: 8px !important;
  }

  .ktc-stat-card h3 {
    margin-top: 7px !important;
    font-size: 12px !important;
  }

  .ktc-stat-card p {
    font-size: 11.5px !important;
    line-height: 1.28 !important;
  }
}

@media (min-width: 1200px) and (max-height: 740px) {
  .ktc-stats-home__copy p {
    display: none !important;
  }

  .ktc-stats-home__visual {
    min-height: min(440px, calc(var(--ktc-stage-vh, 100vh) - var(--ktc-header-offset, 0px) - 54px)) !important;
  }
}


/* v324: Global UTM Hanzel spacing discipline for homepage */
body.ktc-homepage-body h1,
body.ktc-homepage-body h2,
body.ktc-homepage-body h3,
body.ktc-homepage-body h4,
body.ktc-homepage-body h5,
body.ktc-homepage-body h6,
body.ktc-homepage-body .ktc-about-home__eyebrow,
body.ktc-homepage-body .ktc-section-heading h2,
body.ktc-homepage-body .ktc-news-home__heading h2,
body.ktc-homepage-body .ktc-fields-home__heading h2,
body.ktc-homepage-body .ktc-projects-home__header h2,
body.ktc-homepage-body .ktc-project-panel__title,
body.ktc-homepage-body .ktc-site-footer__content h2,
body.ktc-homepage-body .ktc-stats-home__copy h2,
body.ktc-homepage-body .ktc-section-kicker,
body.ktc-homepage-body .ktc-footer h3,
body.ktc-homepage-body .ktc-stat-card__number {
  font-family: "UTM Hanzel", var(--ktc-font-display), Montserrat, Inter, Arial, sans-serif !important;
  font-kerning: none !important;
  font-feature-settings: "kern" 0 !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: .052em !important;
  word-spacing: .18em !important;
  line-height: 1.14 !important;
}

body.ktc-homepage-body .ktc-project-panel__title,
body.ktc-homepage-body .ktc-stat-card__number {
  letter-spacing: .046em !important;
  word-spacing: .15em !important;
}

body.ktc-homepage-body .ktc-stats-home__visual::after {
  letter-spacing: .08em !important;
  word-spacing: .18em !important;
  line-height: 1.1 !important;
}

/* v325: reduce only word spacing on large UTM Hanzel titles */
body.ktc-homepage-body h1,
body.ktc-homepage-body h2,
body.ktc-homepage-body h3,
body.ktc-homepage-body h4,
body.ktc-homepage-body h5,
body.ktc-homepage-body h6,
body.ktc-homepage-body .ktc-about-home__eyebrow,
body.ktc-homepage-body .ktc-section-heading h2,
body.ktc-homepage-body .ktc-news-home__heading h2,
body.ktc-homepage-body .ktc-fields-home__heading h2,
body.ktc-homepage-body .ktc-projects-home__header h2,
body.ktc-homepage-body .ktc-site-footer__content h2,
body.ktc-homepage-body .ktc-stats-home__copy h2,
body.ktc-homepage-body .ktc-section-kicker,
body.ktc-homepage-body .ktc-footer h3 {
  word-spacing: .12em !important;
}

body.ktc-homepage-body .ktc-project-panel__title,
body.ktc-homepage-body .ktc-stat-card__number {
  word-spacing: .10em !important;
}

body.ktc-homepage-body .ktc-stats-home__visual::after {
  word-spacing: .12em !important;
}

/* ===== Homepage philosophy section ===== */
.ktc-philosophy-home {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(72px, 9vw, 118px) 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(118, 209, 255, 0.16), transparent 0 26%),
    radial-gradient(circle at 82% 12%, rgba(171, 230, 255, 0.14), transparent 0 24%),
    linear-gradient(135deg, #072f66 0%, #0a4a8f 34%, #0d5ca2 68%, #09386f 100%);
}

.ktc-philosophy-home::before,
.ktc-philosophy-home::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.ktc-philosophy-home::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0)),
    radial-gradient(circle at center, rgba(255,255,255,0.08), transparent 62%);
}

.ktc-philosophy-home::after {
  inset: auto 0 0 0;
  height: min(40%, 320px);
  background: linear-gradient(180deg, rgba(7, 36, 74, 0), rgba(7, 36, 74, 0.14) 20%, rgba(7, 36, 74, 0.36) 100%);
  opacity: 0.82;
}

.ktc-philosophy-home__ambient,
.ktc-philosophy-home__grid,
.ktc-philosophy-home__orb,
.ktc-philosophy-home__skyline {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ktc-philosophy-home__ambient {
  z-index: 0;
}

.ktc-philosophy-home__skyline {
  left: 0;
  right: 0;
  bottom: 0;
  top: auto;
  z-index: 0;
  height: clamp(320px, 40vw, 560px);
  background: url('../images/philosophy-cityscape.svg') center bottom / 100% auto no-repeat;
  opacity: 0.34;
  transform-origin: center bottom;
}

html.ktc-enhanced .ktc-philosophy-home__skyline[data-ktc-reveal] {
  opacity: 0;
  clip-path: inset(100% 0 0 0);
  -webkit-clip-path: inset(100% 0 0 0);
  transform: none;
  transform-origin: center bottom;
  will-change: clip-path, opacity;
}

html.ktc-enhanced .ktc-philosophy-home__skyline[data-ktc-reveal].is-visible {
  animation: ktcPhilosophySkylineRise 4.8s cubic-bezier(0.2, 0.9, 0.22, 1) both;
}

@keyframes ktcPhilosophySkylineRise {
  0% {
    opacity: 0;
    clip-path: inset(100% 0 0 0);
    -webkit-clip-path: inset(100% 0 0 0);
    transform: none;
  }
  8% {
    opacity: 0.34;
    clip-path: inset(96% 0 0 0);
    -webkit-clip-path: inset(96% 0 0 0);
  }
  22% {
    opacity: 0.34;
    clip-path: inset(84% 0 0 0);
    -webkit-clip-path: inset(84% 0 0 0);
  }
  40% {
    opacity: 0.34;
    clip-path: inset(64% 0 0 0);
    -webkit-clip-path: inset(64% 0 0 0);
  }
  58% {
    opacity: 0.34;
    clip-path: inset(42% 0 0 0);
    -webkit-clip-path: inset(42% 0 0 0);
  }
  76% {
    opacity: 0.34;
    clip-path: inset(18% 0 0 0);
    -webkit-clip-path: inset(18% 0 0 0);
  }
  100% {
    opacity: 0.34;
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
    transform: none;
  }
}

.ktc-philosophy-home__grid {
  opacity: 0.1;
  background-image:
    linear-gradient(rgba(255,255,255,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.08) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.96));
}

.ktc-philosophy-home__orb {
  border-radius: 50%;
  filter: blur(26px);
}

.ktc-philosophy-home__orb--one {
  inset: auto auto 7% -8%;
  width: clamp(220px, 26vw, 420px);
  height: clamp(220px, 26vw, 420px);
  background: rgba(88, 205, 255, 0.16);
}

.ktc-philosophy-home__orb--two {
  inset: 6% -4% auto auto;
  width: clamp(180px, 20vw, 320px);
  height: clamp(180px, 20vw, 320px);
  background: rgba(174, 224, 255, 0.14);
}

.ktc-philosophy-home__inner {
  position: relative;
  z-index: 1;
}

.ktc-philosophy-home__frame {
  position: relative;
  max-width: 980px;
  margin: 20px auto 0;
  padding: clamp(38px, 5vw, 62px) clamp(24px, 5vw, 56px);
  text-align: center;
  border-radius: 36px;
  border: none;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.10),
    0 32px 80px rgba(4, 28, 61, 0.20),
    0 0 0 1px rgba(225, 178, 69, 0.08),
    0 0 18px rgba(236, 192, 79, 0.06);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  overflow: hidden;
  isolation: isolate;
}

.ktc-philosophy-home__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 5px;
  border-radius: inherit;
  background: linear-gradient(115deg,
    rgba(255, 248, 222, 0.98) 0%,
    rgba(252, 225, 149, 0.98) 16%,
    rgba(199, 145, 35, 0.98) 34%,
    rgba(255, 238, 183, 0.98) 52%,
    rgba(189, 133, 24, 0.98) 72%,
    rgba(255, 246, 214, 0.98) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0.7;
  pointer-events: none;
  z-index: 0;
}

.ktc-philosophy-home__frame::after {
  content: "";
  position: absolute;
  inset: -10% -42%;
  border-radius: 999px;
  background: linear-gradient(108deg, rgba(255,255,255,0) 26%, rgba(255,255,255,0.00) 39%, rgba(255,255,255,0.16) 43%, rgba(255,255,255,0.44) 47%, rgba(255,255,255,0.96) 50%, rgba(255,255,255,0.58) 53%, rgba(255,255,255,0.18) 57%, rgba(255,255,255,0) 72%);
  opacity: 0;
  transform: translate3d(-42%, 0, 0) rotate(-9deg);
  pointer-events: none;
  mix-blend-mode: screen;
  z-index: 3;
}

@keyframes ktcPhilosophyFrameSweep {
  0% {
    opacity: 0;
    transform: translate3d(-44%, 0, 0) rotate(-9deg);
  }
  14% {
    opacity: 0;
    transform: translate3d(-44%, 0, 0) rotate(-9deg);
  }
  28% {
    opacity: 0.18;
  }
  50% {
    opacity: 0.78;
  }
  68% {
    opacity: 0.26;
  }
  78% {
    opacity: 0;
    transform: translate3d(44%, 0, 0) rotate(-9deg);
  }
  100% {
    opacity: 0;
    transform: translate3d(44%, 0, 0) rotate(-9deg);
  }
}

@keyframes ktcPhilosophyTextGlow {
  0%, 100% {
    text-shadow:
      0 8px 20px rgba(7, 24, 58, 0.24),
      0 0 0 rgba(173, 229, 255, 0);
  }
  50% {
    text-shadow:
      0 10px 26px rgba(7, 24, 58, 0.28),
      0 0 20px rgba(173, 229, 255, 0.14),
      0 0 34px rgba(255, 255, 255, 0.08);
  }
}

.ktc-philosophy-home__lead,
.ktc-philosophy-home__intro,
.ktc-philosophy-home__item {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #ffffff;
  text-wrap: balance;
  font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif;
  font-style: normal;
  letter-spacing: 0.018em;
}

.ktc-philosophy-home__lead {
  font-size: clamp(2rem, 3vw, 3.3rem);
  line-height: 1.22;
  font-weight: 600;
  text-shadow: 0 10px 26px rgba(7, 24, 58, 0.28), 0 0 14px rgba(255,255,255,0.04);
}


.ktc-philosophy-home__intro {
  margin-top: clamp(18px, 2vw, 24px);
  font-size: clamp(1.75rem, 2.4vw, 2.7rem);
  line-height: 1.26;
  font-weight: 600;
  text-shadow: 0 8px 22px rgba(7, 24, 58, 0.24), 0 0 12px rgba(255,255,255,0.035);
}


.ktc-philosophy-home__list {
  display: grid;
  gap: clamp(10px, 1.2vw, 14px);
  margin-top: clamp(26px, 3vw, 36px);
}

.ktc-philosophy-home__item {
  font-size: clamp(1.5rem, 2vw, 2.28rem);
  line-height: 1.18;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-shadow: 0 7px 20px rgba(7, 24, 58, 0.24), 0 0 10px rgba(255,255,255,0.03);
}


html.ktc-enhanced .ktc-philosophy-home [data-ktc-reveal] {
  opacity: 0;
  transform: translate3d(0, 42px, 0) scale(0.98);
  filter: blur(10px);
  transition:
    opacity 0.8s ease,
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.85s ease;
  transition-delay: var(--ktc-reveal-delay, 0ms);
}

html.ktc-enhanced .ktc-philosophy-home [data-ktc-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

.ktc-philosophy-home.is-section-replaying .ktc-philosophy-home__frame::after,
.ktc-philosophy-home.is-section-revealed .ktc-philosophy-home__frame::after {
  animation: ktcPhilosophyFrameSweep 6.8s ease-in-out infinite;
}

.ktc-philosophy-home.is-section-replaying .ktc-philosophy-home__lead,
.ktc-philosophy-home.is-section-replaying .ktc-philosophy-home__intro,
.ktc-philosophy-home.is-section-replaying .ktc-philosophy-home__item,
.ktc-philosophy-home.is-section-revealed .ktc-philosophy-home__lead,
.ktc-philosophy-home.is-section-revealed .ktc-philosophy-home__intro,
.ktc-philosophy-home.is-section-revealed .ktc-philosophy-home__item {
  animation: ktcPhilosophyTextGlow 4.2s ease-in-out infinite;
}

@media (max-width: 1024px) {
  .ktc-philosophy-home {
    padding: 72px 0;
  }

  .ktc-philosophy-home__frame {
    border-radius: 30px;
  }

  .ktc-philosophy-home__frame::before {
    inset: 14px;
    border-radius: 24px;
  }
}

@media (max-width: 767px) {
  .ktc-philosophy-home {
    padding: 56px 0;
  }

  .ktc-philosophy-home__skyline {
    height: 180px;
    background-size: 100% auto;
    opacity: 0.28;
  }

  .ktc-philosophy-home__frame {
    padding: 30px 20px;
    border-radius: 24px;
  }

  .ktc-philosophy-home__frame::before {
    inset: 10px;
    border-radius: 18px;
  }

  .ktc-philosophy-home__lead {
    font-size: clamp(1.45rem, 7vw, 2rem);
  }

  .ktc-philosophy-home__intro {
    font-size: clamp(1.3rem, 6vw, 1.72rem);
  }

  .ktc-philosophy-home__item {
    font-size: clamp(1.2rem, 5.6vw, 1.58rem);
  }
}

/* v435: remove the two soft cloud glows beside the header logo */
.ktc-site-header__inner::before,
.ktc-site-header__inner::after {
  content: none !important;
  display: none !important;
}


/* v436: subtle gold border ring around header logo */
.ktc-site-header .ktc-brand,
.ktc-inner-site-header .ktc-brand {
  isolation: isolate;
}

.ktc-site-header .ktc-brand::before,
.ktc-inner-site-header .ktc-brand::before {
  content: "";
  position: absolute;
  inset: 3px;
  padding: 1.5px;
  border-radius: 999px;
  background: linear-gradient(135deg,
    rgba(255, 248, 220, 0.88) 0%,
    rgba(245, 216, 130, 0.92) 24%,
    rgba(192, 141, 36, 0.96) 50%,
    rgba(245, 221, 145, 0.92) 76%,
    rgba(255, 247, 216, 0.88) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0.88;
  box-shadow: 0 0 10px rgba(231, 190, 78, 0.16);
  pointer-events: none;
  z-index: 1;
}

.ktc-site-header .ktc-brand__image,
.ktc-site-header .ktc-brand__fallback,
.ktc-inner-site-header .ktc-brand__image,
.ktc-inner-site-header .ktc-brand__fallback {
  position: relative;
  z-index: 2;
}


/* v438: thin white outline following the logo shape */
.ktc-site-header .ktc-brand::before,
.ktc-inner-site-header .ktc-brand::before {
  content: none !important;
  display: none !important;
}

.ktc-site-header .ktc-brand__image--svg,
.ktc-inner-site-header .ktc-brand__image--svg {
  filter:
    drop-shadow(0 0 0.32px rgba(255, 255, 255, 0.96))
    drop-shadow(0.55px 0 0 rgba(255, 255, 255, 0.82))
    drop-shadow(-0.55px 0 0 rgba(255, 255, 255, 0.82))
    drop-shadow(0 0.55px 0 rgba(255, 255, 255, 0.82))
    drop-shadow(0 -0.55px 0 rgba(255, 255, 255, 0.82))
    drop-shadow(0 0 2px rgba(255, 255, 255, 0.12));
}


/* v440: stronger halo and lift for header logo on dark sections */
.ktc-site-header .ktc-brand,
.ktc-inner-site-header .ktc-brand {
  isolation: isolate;
}

.ktc-site-header .ktc-brand::after,
.ktc-inner-site-header .ktc-brand::after {
  content: "";
  position: absolute;
  inset: -10px -34px -12px;
  border-radius: 999px;
  background:
    radial-gradient(ellipse at center,
      rgba(255, 255, 255, 0.44) 0%,
      rgba(255, 255, 255, 0.30) 24%,
      rgba(255, 255, 255, 0.16) 46%,
      rgba(255, 255, 255, 0.06) 62%,
      rgba(255, 255, 255, 0.00) 80%);
  filter: blur(14px);
  opacity: 1;
  pointer-events: none;
  z-index: 1;
}

.ktc-site-header .ktc-brand__image,
.ktc-site-header .ktc-brand__fallback,
.ktc-inner-site-header .ktc-brand__image,
.ktc-inner-site-header .ktc-brand__fallback {
  position: relative;
  z-index: 2;
}

.ktc-site-header .ktc-brand__image--svg,
.ktc-inner-site-header .ktc-brand__image--svg {
  filter:
    brightness(1.16)
    contrast(1.12)
    saturate(1.05)
    drop-shadow(0 1px 2px rgba(0, 0, 0, 0.12))
    drop-shadow(0 0 10px rgba(255, 255, 255, 0.18));
}


/* KTC27 update: restore Philosophy cityscape reliably from v410 SVG while keeping KTC1 section CSS/JS behavior */
.ktc-philosophy-home__skyline {
  display: block !important;
  background-image: url('../images/philosophy-cityscape.svg') !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  background-size: 100% auto !important;
}

/* Fallback: if the reveal JS has not added .is-visible yet, keep the skyline visible instead of fully hidden. */
html.ktc-enhanced .ktc-philosophy-home__skyline[data-ktc-reveal]:not(.is-visible) {
  opacity: 0.34 !important;
  clip-path: inset(0 0 0 0) !important;
  -webkit-clip-path: inset(0 0 0 0) !important;
  transform: none !important;
  filter: none !important;
}

.ktc-philosophy-home__frame {
  background: linear-gradient(180deg, rgba(255,255,255,0.018), rgba(255,255,255,0.008)) !important;
}


/* KTC31: global shared footer visual parity with About page */
.ktc-site-footer .ktc-site-footer__content h2 {
  color: #d71919 !important;
  -webkit-text-stroke: 0.8px #d8ab3b !important;
  paint-order: stroke fill !important;
  text-shadow: none !important;
}

.ktc-site-footer .ktc-site-footer__slogan {
  position: absolute;
  z-index: 1;
  left: clamp(22px, 4.2vw, 78px);
  top: 46%;
  width: min(46vw, 720px);
  pointer-events: none;
  text-align: center;
}

.ktc-site-footer .ktc-site-footer__slogan span {
  display: inline-block;
  max-width: 100%;
  font-family: var(--ktc-font-display), "Cormorant Garamond", Georgia, serif;
  font-size: clamp(26px, 2.45vw, 38px);
  font-style: italic;
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 1.26;
  color: rgba(255, 246, 219, 0.98);
  text-shadow:
    0 0 12px rgba(255, 240, 190, 0.22),
    0 8px 26px rgba(0, 0, 0, 0.30);
  opacity: 0;
  transform: translateY(18px) scale(0.96);
  filter: blur(10px);
  will-change: opacity, transform, filter;
  animation: ktcFooterSloganCycleKTC31 8.2s ease-in-out infinite;
}

.ktc-site-footer .ktc-site-footer__slogan::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(104%, 760px);
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,233,170,0.08) 16%,
    rgba(255,245,217,0.92) 50%,
    rgba(255,233,170,0.08) 84%,
    rgba(255,255,255,0) 100%);
  opacity: 0;
  filter: blur(1px);
  transform: translate(-50%, -50%) scaleX(0.35);
  animation: ktcFooterSloganSparkKTC31 8.2s ease-in-out infinite;
}

@keyframes ktcFooterSloganCycleKTC31 {
  0%, 34% {
    opacity: 0;
    transform: translateY(18px) scale(0.96);
    filter: blur(10px);
  }
  42% {
    opacity: 0.68;
    transform: translateY(6px) scale(1.01);
    filter: blur(2px);
  }
  49%, 63% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
  72% {
    opacity: 0.46;
    transform: translateY(-4px) scale(1.01);
    filter: blur(1px);
  }
  80%, 100% {
    opacity: 0;
    transform: translateY(-14px) scale(1.02);
    filter: blur(8px);
  }
}

@keyframes ktcFooterSloganSparkKTC31 {
  0%, 37% {
    opacity: 0;
    transform: translate(-50%, -50%) scaleX(0.32);
  }
  45% {
    opacity: 0.88;
    transform: translate(-50%, -50%) scaleX(0.78);
  }
  55% {
    opacity: 0.42;
    transform: translate(-50%, -50%) scaleX(1);
  }
  65%, 100% {
    opacity: 0;
    transform: translate(-50%, -50%) scaleX(1.06);
  }
}

@media (max-width: 991px) {
  .ktc-site-footer .ktc-site-footer__slogan {
    left: clamp(16px, 3vw, 28px);
    top: 50%;
    width: min(48vw, 560px);
  }

  .ktc-site-footer .ktc-site-footer__slogan span {
    font-size: clamp(22px, 2.65vw, 30px);
  }
}

@media (max-width: 767px) {
  .ktc-site-footer .ktc-site-footer__slogan {
    left: 50%;
    top: auto;
    bottom: 22%;
    width: calc(100% - 28px);
    transform: translateX(-50%);
  }

  .ktc-site-footer .ktc-site-footer__slogan span {
    font-size: clamp(18px, 5.3vw, 24px);
    line-height: 1.34;
    letter-spacing: .03em;
  }

  .ktc-site-footer .ktc-site-footer__slogan::after {
    width: 100%;
  }
}

/* v36: elegant AJAX search overlay from header */
html.ktc-search-open,
body.ktc-search-open {
  overflow: hidden !important;
}

.ktc-search-overlay[hidden] {
  display: none !important;
}

.ktc-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: start center;
  padding: calc(var(--ktc-header-offset, 92px) + 28px) clamp(18px, 4vw, 58px) 36px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .32s ease, visibility .32s ease;
}

.ktc-search-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.ktc-search-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 12, 28, .52);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.ktc-search-overlay__panel {
  position: relative;
  z-index: 1;
  width: min(1080px, 100%);
  max-height: calc(100vh - var(--ktc-header-offset, 92px) - 58px);
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: clamp(24px, 3vw, 38px);
  border-radius: 34px;
  color: #fff;
  background:
    radial-gradient(circle at 84% 18%, rgba(92,169,255,.28), transparent 34%),
    linear-gradient(135deg, rgba(4,38,83,.9), rgba(6,88,167,.72));
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: 0 34px 120px rgba(0, 12, 36, .44), inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transform: translate3d(0, 18px, 0) scale(.98);
  transition: transform .38s cubic-bezier(.22,.61,.36,1), opacity .38s ease;
  overflow: hidden;
}

.ktc-search-overlay.is-open .ktc-search-overlay__panel {
  transform: translate3d(0, 0, 0) scale(1);
}

.ktc-search-overlay__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,0) 42%, rgba(210,165,75,.12));
  pointer-events: none;
}

.ktc-search-overlay__close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28) !important;
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.16);
  cursor: pointer;
  transition: transform .28s ease, background .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.ktc-search-overlay__close span {
  position: absolute;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.ktc-search-overlay__close span:first-child { transform: rotate(45deg); }
.ktc-search-overlay__close span:last-child { transform: rotate(-45deg); }

.ktc-search-overlay__close:hover,
.ktc-search-overlay__close:focus-visible {
  transform: translateY(-2px) rotate(4deg);
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.48) !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.22);
  outline: none;
}

.ktc-search-overlay__head {
  padding-right: 64px;
}

.ktc-search-overlay__head span {
  display: block;
  margin-bottom: 8px;
  font-size: .82rem;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 900;
  color: #ffd457;
}

.ktc-search-overlay__head strong {
  display: block;
  font-size: clamp(1.75rem, 3vw, 3.1rem);
  line-height: 1.04;
  font-weight: 900;
  letter-spacing: -.03em;
}

.ktc-live-search {
  display: flex;
  min-height: 0;
  flex-direction: column;
  gap: 18px;
}

.ktc-live-search__box {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 72px;
  padding: 9px 10px 9px 22px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.88);
  background: rgba(3, 64, 132, .34);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 20px 54px rgba(0,0,0,.16);
}

.ktc-live-search__box svg {
  color: #fff;
  filter: drop-shadow(0 4px 14px rgba(0,0,0,.18));
}

.ktc-live-search__box input[type="search"] {
  width: 100%;
  min-width: 0;
  height: 52px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: clamp(1rem, 1.35vw, 1.28rem);
  font-weight: 750;
  letter-spacing: -.01em;
}

.ktc-live-search__box input[type="search"]::placeholder {
  color: rgba(255,255,255,.74);
}

.ktc-live-search__box input[type="search"]::-webkit-search-decoration,
.ktc-live-search__box input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
}

.ktc-live-search__box button[type="submit"] {
  height: 52px;
  padding: 0 28px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.2) !important;
  background: rgba(255,255,255,.96) !important;
  color: #064989 !important;
  font-size: .95rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.ktc-live-search__box button[type="submit"]:hover,
.ktc-live-search__box button[type="submit"]:focus-visible {
  transform: translateY(-1px);
  background: #ffd457 !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.2);
  outline: none;
}

.ktc-live-search__results {
  min-height: 96px;
  max-height: min(48vh, 460px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 6px 10px 6px 2px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.58) rgba(255,255,255,.12);
}

.ktc-live-search__results::-webkit-scrollbar {
  width: 8px;
}

.ktc-live-search__results::-webkit-scrollbar-track {
  background: rgba(255,255,255,.12);
  border-radius: 999px;
}

.ktc-live-search__results::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.58);
  border-radius: 999px;
}

.ktc-live-search__empty,
.ktc-live-search__loading,
.ktc-live-search__count {
  color: rgba(255,255,255,.82);
  font-weight: 700;
}

.ktc-live-search__loading {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ktc-live-search__loading span {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.28);
  border-top-color: #fff;
  animation: ktcLiveSearchSpin .72s linear infinite;
}

.ktc-live-search__count {
  margin-bottom: 10px;
  font-size: .92rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.68);
}

.ktc-live-search__list {
  display: grid;
  gap: 10px;
}

.ktc-live-search__item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(86px, auto) 1fr;
  grid-template-areas:
    "type title"
    "type excerpt";
  column-gap: 16px;
  row-gap: 5px;
  padding: 15px 18px;
  border-radius: 22px;
  color: #fff !important;
  text-decoration: none !important;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.14);
  transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.ktc-live-search__item:hover,
.ktc-live-search__item:focus-visible {
  transform: translateY(-2px);
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.3);
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
  outline: none;
}

.ktc-live-search__item-type {
  grid-area: type;
  align-self: start;
  justify-self: start;
  padding: 6px 10px;
  border-radius: 999px;
  color: #fff;
  background: rgba(255,212,87,.22);
  border: 1px solid rgba(255,212,87,.28);
  font-size: .75rem;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
}

.ktc-live-search__item strong {
  grid-area: title;
  display: block;
  font-size: clamp(1rem, 1.1vw, 1.18rem);
  line-height: 1.22;
  font-weight: 900;
}

.ktc-live-search__item small {
  grid-area: excerpt;
  display: block;
  color: rgba(255,255,255,.72);
  font-size: .92rem;
  line-height: 1.45;
  font-weight: 600;
}

.ktc-live-search__more {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 999px;
  color: #073f78 !important;
  background: #fff !important;
  text-decoration: none !important;
  font-weight: 900;
  box-shadow: 0 16px 34px rgba(0,0,0,.2);
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.ktc-live-search__more:hover,
.ktc-live-search__more:focus-visible {
  transform: translateY(-2px);
  background: #ffd457 !important;
  box-shadow: 0 20px 42px rgba(0,0,0,.24);
  outline: none;
}

@keyframes ktcLiveSearchSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 767px) {
  .ktc-search-overlay {
    padding: calc(var(--ktc-header-offset, 76px) + 18px) 14px 24px;
    place-items: start stretch;
  }

  .ktc-search-overlay__panel {
    width: 100%;
    max-height: calc(100vh - var(--ktc-header-offset, 76px) - 38px);
    padding: 24px 16px 18px;
    border-radius: 24px;
  }

  .ktc-search-overlay__head {
    padding-right: 56px;
  }

  .ktc-live-search__box {
    grid-template-columns: auto 1fr;
    min-height: 62px;
    border-radius: 24px;
    padding: 8px 14px;
  }

  .ktc-live-search__box button[type="submit"] {
    grid-column: 1 / -1;
    width: 100%;
    height: 46px;
  }

  .ktc-live-search__item {
    grid-template-columns: 1fr;
    grid-template-areas:
      "type"
      "title"
      "excerpt";
  }

  .ktc-live-search__results {
    max-height: min(48vh, 390px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ktc-search-overlay,
  .ktc-search-overlay__panel,
  .ktc-search-overlay__close,
  .ktc-live-search__item,
  .ktc-live-search__more,
  .ktc-live-search__box button[type="submit"] {
    transition: none !important;
  }

  .ktc-live-search__loading span {
    animation: none !important;
  }
}

/* v37: refined live search behavior */
html.ktc-search-open,
html.ktc-search-open body {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.ktc-search-open {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  touch-action: none;
}

body.ktc-search-open .ktc-search-overlay,
body.ktc-search-open .ktc-search-overlay * {
  touch-action: auto;
}

.ktc-search-overlay__close,
.ktc-search-overlay__close:hover,
.ktc-search-overlay__close:focus,
.ktc-search-overlay__close:active,
.ktc-search-overlay__close:focus-visible {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  line-height: 1 !important;
  text-align: center !important;
}

.ktc-search-overlay__close span {
  left: 50% !important;
  top: 50% !important;
  margin: 0 !important;
  transform-origin: 50% 50% !important;
}

.ktc-search-overlay__close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}

.ktc-search-overlay__close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}

.ktc-search-overlay__close:hover span:first-child,
.ktc-search-overlay__close:focus-visible span:first-child {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}

.ktc-search-overlay__close:hover span:last-child,
.ktc-search-overlay__close:focus-visible span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}

.ktc-live-search__box input[type="search"] {
  white-space: normal !important;
  word-spacing: normal !important;
  caret-color: #fff;
}

.ktc-live-search__more,
button.ktc-live-search__more,
.ktc-live-search__all {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  cursor: pointer;
}

.ktc-live-search__more[disabled] {
  opacity: .68;
  cursor: wait;
  transform: none !important;
}

.ktc-live-search__all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  color: rgba(255,255,255,.9) !important;
  background: rgba(255,255,255,.1) !important;
  text-decoration: none !important;
  font-weight: 850;
}


/* v45: premium member companies page */
.ktc-member-page {
  min-height: 100vh;
  color: #fff;
  background:
    radial-gradient(circle at 18% 16%, rgba(91, 152, 221, .16), transparent 24%),
    radial-gradient(circle at 82% 10%, rgba(250, 211, 116, .12), transparent 18%),
    linear-gradient(180deg, #03142f 0%, #05224a 18%, #063262 42%, #052a53 68%, #041d3e 100%);
}

.ktc-member-page__main {
  position: relative;
  overflow: clip;
  background: transparent;
}

.ktc-member-hero {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  color: #fff;
  display: flex;
  align-items: flex-end;
}

.ktc-member-hero__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(2, 13, 34, .78) 0%, rgba(4, 36, 82, .66) 52%, rgba(33, 101, 177, .44) 100%),
    url('https://ktcg.vn/wp-content/uploads/2026/05/Nen-cong-ty-thanh-vien-da-nen.png') center / cover no-repeat !important;
  transform: scale(1.02);
}

.ktc-member-hero__bg::before,
.ktc-member-hero__bg::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.ktc-member-hero__bg::before {
  width: min(42vw, 620px);
  height: min(42vw, 620px);
  right: -10%;
  bottom: -28%;
  background: radial-gradient(circle, rgba(255,255,255,.12), rgba(255,255,255,0) 68%);
}

.ktc-member-hero__bg::after {
  width: min(30vw, 420px);
  height: min(30vw, 420px);
  left: -8%;
  top: -16%;
  background: radial-gradient(circle, rgba(255, 214, 111, .13), rgba(255, 214, 111, 0) 72%);
}

.ktc-member-hero__inner {
  position: relative;
  z-index: 1;
  width: min(1340px, calc(100% - 88px));
  margin: 0 auto;
  padding: 0 0 92px;
}

.ktc-member-hero__inner .ktc-section-kicker {
  color: #f2cd75;
}

.ktc-member-hero__inner h1 {
  margin: 18px 0 16px;
  font-family: "UTM Hanzel", Montserrat, Inter, Arial, sans-serif;
  font-size: clamp(3rem, 6vw, 6.1rem);
  line-height: .94;
  color: #fff;
  letter-spacing: -.03em;
}

.ktc-member-hero__inner p {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.84);
  font-size: 1.08rem;
  line-height: 1.7;
}

.ktc-member-tree-section {
  position: relative;
  z-index: 2;
  margin-top: -54px;
  padding: 0 0 96px;
}

.ktc-member-tree-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.06), rgba(255,255,255,0) 48%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}

.ktc-member-tree {
  position: relative;
  padding: 0 0 10px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}

.ktc-member-tree__intro {
  max-width: 980px;
  margin: 0 auto 20px;
  padding-top: 40px !important;
  text-align: center;
}

.ktc-member-tree__intro h2 {
  max-width: 980px;
  margin: 0 auto 12px;
  color: #fff;
  font-size: clamp(1.95rem, 4vw, 3.5rem);
  line-height: 1.08;
  letter-spacing: -.03em;
}

.ktc-member-tree__intro p {
  max-width: 620px;
  margin: 0 auto;
  color: rgba(228, 237, 249, .78);
  font-size: 1rem;
  line-height: 1.7;
}

.ktc-member-tree__parent-wrap {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}

.ktc-member-tree__parent-card {
  width: min(640px, 100%);
  padding: 0 !important;
  text-align: center;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.ktc-member-tree__parent-mark {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 196px !important;
  margin: 0 auto;
}

.ktc-member-tree__parent-mark::before {
  content: "";
  position: absolute;
  width: min(300px, 58%);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(86, 146, 215, .18), rgba(86, 146, 215, 0) 66%);
  filter: blur(16px);
  pointer-events: none;
}

.ktc-member-tree__parent-mark::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 18px;
  width: min(250px, 44%);
  height: 56px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(245, 208, 112, .22) 0%, rgba(96, 157, 227, .12) 42%, rgba(96, 157, 227, 0) 80%);
  filter: blur(12px);
  pointer-events: none;
}

.ktc-member-tree__parent-mark .ktc-intro-mark {
  width: min(100%, 292px) !important;
  filter: drop-shadow(0 12px 28px rgba(0,0,0,.12));
}

.ktc-member-tree__parent-mark .ktc-intro-mark::before {
  content: none !important;
  display: none !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__outline,
.ktc-member-tree__parent-card .ktc-intro-mark__solid,
.ktc-member-tree__parent-card .ktc-intro-mark__shine,
.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path {
  animation: none !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__solid {
  opacity: 1 !important;
  transform: none !important;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.10));
}

.ktc-member-tree__parent-card .ktc-intro-mark__outline {
  opacity: .74 !important;
  z-index: 4;
  mix-blend-mode: screen;
  filter: drop-shadow(0 0 4px rgba(246, 217, 130, .14));
}

.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--red,
.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--divider {
  stroke: #f5d77e !important;
  stroke-width: 1.35px !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--gray {
  stroke: #c99a3d !important;
  stroke-width: 1.1px !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__outline-red .ktc-intro-mark__stroke-path:nth-child(1),
.ktc-member-tree__parent-card .ktc-intro-mark__outline-gray .ktc-intro-mark__stroke-path:nth-child(2n) {
  stroke: #fff1b8 !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__outline-red .ktc-intro-mark__stroke-path:nth-child(2),
.ktc-member-tree__parent-card .ktc-intro-mark__outline-gray .ktc-intro-mark__stroke-path:nth-child(2n+1) {
  stroke: #d0a142 !important;
}

.ktc-member-tree__connector {
  position: relative;
  z-index: 0;
  width: 2px;
  height: 72px !important;
  margin: 22px auto 0 !important;
  background: linear-gradient(180deg, rgba(245, 208, 112, .88), rgba(96, 157, 227, .68));
  box-shadow:
    0 0 0 10px rgba(245,208,112,.03),
    0 0 18px rgba(245,208,112,.12);
}

.ktc-member-tree__children {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  padding-top: 30px !important;
}

.ktc-member-tree__children::before {
  content: "";
  position: absolute;
  top: 0;
  left: 16.666%;
  right: 16.666%;
  height: 1px;
  background: linear-gradient(90deg, rgba(245,208,112,0) 0%, rgba(245,208,112,.88) 18%, rgba(120, 180, 245, .88) 50%, rgba(245,208,112,.88) 82%, rgba(245,208,112,0) 100%);
  box-shadow: 0 0 20px rgba(245,208,112,.14);
}

.ktc-member-tree__child {
  position: relative;
  min-height: 124px;
  width: 100%;
  flex: initial;
  border-radius: 28px;
  padding: 18px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform .55s cubic-bezier(.22,.61,.36,1), box-shadow .55s cubic-bezier(.22,.61,.36,1), border-color .45s ease;
}

.ktc-member-tree__child::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -30px;
  width: 1px;
  height: 30px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(245,208,112,.82), rgba(96,157,227,.68));
  box-shadow: 0 0 12px rgba(245,208,112,.14);
}

.ktc-member-tree__child .ktc-logo-card__frame {
  border-color: rgba(241, 233, 205, .50) !important;
}

.ktc-member-tree__child .ktc-logo-card__surface {
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

.ktc-member-tree__child .ktc-logo-card__name {
  color: #f8fbff !important;
  font-size: clamp(14px, .9vw, 18px) !important;
  font-weight: 700 !important;
  line-height: 1.36 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
  .ktc-member-tree__child:hover {
    transform: translate3d(0, -10px, 0);
    border-color: rgba(255,255,255,.18) !important;
    box-shadow:
      0 24px 54px rgba(0,0,0,.18),
      0 0 0 1px rgba(245,208,112,.08),
      inset 0 1px 0 rgba(255,255,255,.14) !important;
  }
}

@media (max-width: 1199px) {
  .ktc-member-tree__children {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ktc-member-tree__children::before,
  .ktc-member-tree__child::before {
    display: none;
  }
}

@media (max-width: 991px) {
  .ktc-member-hero__inner,
  .ktc-member-tree-section .ktc-container {
    width: min(100%, calc(100% - 34px));
  }

  .ktc-member-tree__intro {
    padding-top: 34px !important;
  }
}

@media (max-width: 767px) {
  .ktc-member-hero {
    min-height: 360px;
  }

  .ktc-member-hero__inner {
    width: min(100%, calc(100% - 28px));
    padding-bottom: 72px;
  }

  .ktc-member-tree-section {
    margin-top: -36px;
    padding-bottom: 72px;
  }

  .ktc-member-tree__intro {
    padding-top: 30px !important;
  }

  .ktc-member-tree__children {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .ktc-member-tree__parent-mark {
    min-height: 156px !important;
  }

  .ktc-member-tree__parent-mark .ktc-intro-mark {
    width: min(100%, 232px) !important;
  }

  .ktc-member-tree__connector {
    height: 56px !important;
    margin-top: 18px !important;
  }
}

/* v46: fix member page title spacing and restore gold outline */
.ktc-member-tree-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.ktc-member-tree {
  padding-top: 0 !important;
}

.ktc-member-tree__intro {
  position: relative;
  z-index: 2;
  padding-top: 40px !important;
  margin-top: 0 !important;
}

.ktc-member-tree__intro h2 {
  margin-top: 0 !important;
}

.ktc-member-tree__parent-wrap {
  margin-top: 24px !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__outline {
  opacity: 1 !important;
  z-index: 5 !important;
  mix-blend-mode: normal !important;
  filter: drop-shadow(0 0 3px rgba(242, 207, 120, .16)) !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path {
  stroke-dasharray: none !important;
  stroke-dashoffset: 0 !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--red,
.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--divider {
  stroke: url(#ktcMemberGoldStroke) !important;
  stroke-width: 1.45px !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--gray {
  stroke: url(#ktcMemberGoldStroke) !important;
  stroke-width: 1.2px !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__outline-red .ktc-intro-mark__stroke-path:nth-child(1),
.ktc-member-tree__parent-card .ktc-intro-mark__outline-red .ktc-intro-mark__stroke-path:nth-child(2),
.ktc-member-tree__parent-card .ktc-intro-mark__outline-red .ktc-intro-mark__stroke-path:nth-child(3),
.ktc-member-tree__parent-card .ktc-intro-mark__outline-gray .ktc-intro-mark__stroke-path {
  stroke: url(#ktcMemberGoldStroke) !important;
}

.ktc-member-tree__parent-mark .ktc-intro-mark {
  width: min(100%, 300px) !important;
}

@media (max-width: 991px) {
  .ktc-member-tree__intro {
    padding-top: 40px !important;
  }
}

@media (max-width: 767px) {
  .ktc-member-tree__intro {
    padding-top: 34px !important;
  }

  .ktc-member-tree__parent-mark .ktc-intro-mark {
    width: min(100%, 236px) !important;
  }
}

/* v47: member page cleanup + stats-style background */
.ktc-member-hero__inner p {
  display: none !important;
}

.ktc-member-page,
.ktc-member-page__main {
  background: #072a5b !important;
}

.ktc-member-tree-section {
  position: relative;
  overflow: hidden;
  margin-top: 0 !important;
  padding: 0 0 92px !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(110, 190, 255, .30), transparent 34%),
    radial-gradient(circle at 86% 16%, rgba(255, 218, 116, .18), transparent 30%),
    linear-gradient(115deg, #08265e 0%, #0d54a9 52%, #4ea9f7 100%) !important;
}

.ktc-member-tree-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3, 17, 50, .54), rgba(6, 46, 111, .22) 45%, rgba(111, 191, 255, .22) 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 126px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.045) 0 1px, transparent 1px 126px);
  opacity: .55;
}

.ktc-member-tree-section::after {
  content: "";
  position: absolute;
  right: -14vw;
  top: -18vh;
  width: 46vw;
  height: 46vw;
  z-index: 0;
  border-radius: 999px;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.16);
  background: radial-gradient(circle, rgba(255,255,255,.14), rgba(255,255,255,.03) 36%, transparent 68%);
}

.ktc-member-tree-section .ktc-container {
  position: relative;
  z-index: 2;
}

.ktc-member-tree {
  background: transparent !important;
}

.ktc-member-tree__intro {
  padding-top: 40px !important;
}

.ktc-member-tree__intro h2 {
  max-width: 980px;
}

.ktc-member-tree__parent-mark .ktc-intro-mark {
  width: min(100%, 274px) !important;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.12));
}

.ktc-member-tree__parent-mark {
  min-height: 184px !important;
}

.ktc-member-tree__parent-mark::before {
  width: min(280px, 54%) !important;
}

.ktc-member-tree__parent-mark::after {
  width: min(230px, 42%) !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__outline {
  opacity: 1 !important;
  filter: drop-shadow(0 0 2px rgba(242, 207, 120, .16)) !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--red,
.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--divider {
  stroke-width: 1.18px !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--gray {
  stroke-width: .98px !important;
}

@media (max-width: 991px) {
  .ktc-member-tree__intro {
    padding-top: 38px !important;
  }
}

@media (max-width: 767px) {
  .ktc-member-tree-section {
    padding-bottom: 72px !important;
  }

  .ktc-member-tree__intro {
    padding-top: 32px !important;
  }

  .ktc-member-tree__parent-mark {
    min-height: 150px !important;
  }

  .ktc-member-tree__parent-mark .ktc-intro-mark {
    width: min(100%, 222px) !important;
  }
}

/* v48: member page heading 2 lines + full gold outline logo */
.ktc-member-tree__intro h2 span {
  display: block;
}

.ktc-member-tree__intro h2 span + span {
  margin-top: 6px;
}

.ktc-member-tree__parent-card .ktc-intro-mark__outline {
  opacity: 1 !important;
  z-index: 5 !important;
  mix-blend-mode: normal !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__outline-red .ktc-intro-mark__stroke-path,
.ktc-member-tree__parent-card .ktc-intro-mark__outline-gray .ktc-intro-mark__stroke-path,
.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--divider {
  stroke: url(#ktcMemberGoldStroke) !important;
  stroke-opacity: 1 !important;
  vector-effect: non-scaling-stroke;
}

.ktc-member-tree__parent-card .ktc-intro-mark__outline-red .ktc-intro-mark__stroke-path {
  stroke-width: 1.22px !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__outline-gray .ktc-intro-mark__stroke-path {
  stroke-width: 1.12px !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--divider {
  stroke-width: 1.14px !important;
}

.ktc-member-tree__parent-card .ktc-intro-mark__solid {
  z-index: 3 !important;
}

@media (max-width: 767px) {
  .ktc-member-tree__intro h2 span + span {
    margin-top: 4px;
  }
}

/* v49: member section reveal from top to bottom */
html.ktc-enhanced .ktc-member-tree-section [data-ktc-reveal="member-down"] {
  opacity: 0;
  filter: blur(10px);
  transform: translate3d(0, -34px, 0);
  will-change: transform, opacity, filter;
  transition:
    transform 920ms cubic-bezier(.2, .82, .2, 1),
    opacity 920ms cubic-bezier(.2, .82, .2, 1),
    filter 920ms cubic-bezier(.2, .82, .2, 1);
  transition-delay: var(--ktc-reveal-delay, 0ms);
}

html.ktc-enhanced .ktc-member-tree-section [data-ktc-reveal="member-down"].is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0);
}

html.ktc-enhanced .ktc-member-tree__connector[data-ktc-reveal="member-down"] {
  transform: translate3d(0, -24px, 0) scaleY(.72);
  transform-origin: top center;
}

html.ktc-enhanced .ktc-member-tree__connector[data-ktc-reveal="member-down"].is-visible {
  transform: translate3d(0, 0, 0) scaleY(1);
}

html.ktc-enhanced .ktc-member-tree__child[data-ktc-reveal="member-down"] {
  transform: translate3d(0, -30px, 0);
}

html.ktc-enhanced .ktc-member-tree__child[data-ktc-reveal="member-down"].is-visible {
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  html.ktc-enhanced .ktc-member-tree-section [data-ktc-reveal="member-down"],
  html.ktc-enhanced .ktc-member-tree-section [data-ktc-reveal="member-down"].is-visible {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }
}

/* v50: smooth scroll performance optimization for member companies page */
body.ktc-member-page-body,
body.ktc-member-page-body * {
  scroll-behavior: auto !important;
}

body.ktc-member-page-body {
  overflow-x: hidden;
  overscroll-behavior-y: auto;
}

body.ktc-member-page-body .ktc-member-page,
body.ktc-member-page-body .ktc-member-page__main,
body.ktc-member-page-body .ktc-member-tree-section,
body.ktc-member-page-body .ktc-member-tree {
  scroll-snap-type: none !important;
  scroll-snap-align: none !important;
}

body.ktc-member-page-body .ktc-member-tree-section {
  contain: paint;
  transform: translateZ(0);
  backface-visibility: hidden;
}

body.ktc-member-page-body .ktc-member-tree-section::before {
  background:
    linear-gradient(90deg, rgba(3, 17, 50, .46), rgba(6, 46, 111, .18) 45%, rgba(111, 191, 255, .16) 100%),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.034) 1px, transparent 1px) !important;
  background-size: auto, 126px 126px, 126px 126px !important;
  opacity: .42 !important;
  transform: none !important;
  filter: none !important;
}

body.ktc-member-page-body .ktc-member-tree-section::after {
  opacity: .52 !important;
  filter: none !important;
  transform: translateZ(0);
}

body.ktc-member-page-body .ktc-member-tree__child,
body.ktc-member-page-body .ktc-member-tree__child .ktc-logo-card__surface {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.ktc-member-page-body .ktc-member-tree__child {
  background: linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.045)) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.10) !important;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}

body.ktc-member-page-body .ktc-member-tree__parent-mark .ktc-intro-mark,
body.ktc-member-page-body .ktc-member-tree__parent-card .ktc-intro-mark__outline,
body.ktc-member-page-body .ktc-member-tree__parent-card .ktc-intro-mark__solid {
  filter: none !important;
  will-change: auto !important;
}

body.ktc-member-page-body .ktc-member-tree__parent-mark::before,
body.ktc-member-page-body .ktc-member-tree__parent-mark::after {
  filter: none !important;
  opacity: .76;
}

html.ktc-enhanced body.ktc-member-page-body .ktc-member-tree-section [data-ktc-reveal="member-down"] {
  filter: none !important;
  transform: translate3d(0, -18px, 0);
  transition:
    transform 720ms cubic-bezier(.2, .82, .2, 1),
    opacity 720ms cubic-bezier(.2, .82, .2, 1) !important;
  will-change: transform, opacity;
}

html.ktc-enhanced body.ktc-member-page-body .ktc-member-tree-section [data-ktc-reveal="member-down"].is-visible {
  filter: none !important;
  transform: translate3d(0, 0, 0);
}

html.ktc-enhanced body.ktc-member-page-body .ktc-member-tree__connector[data-ktc-reveal="member-down"] {
  transform: translate3d(0, -12px, 0) scaleY(.82);
  transform-origin: top center;
}

html.ktc-enhanced body.ktc-member-page-body .ktc-member-tree__connector[data-ktc-reveal="member-down"].is-visible {
  transform: translate3d(0, 0, 0) scaleY(1);
}

@media (hover: hover) and (pointer: fine) {
  body.ktc-member-page-body .ktc-member-tree__child:hover {
    transform: translate3d(0, -8px, 0);
    box-shadow: 0 20px 44px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.12) !important;
  }
}

/* v61: rebalance member company subpage title */
.ktc-member-hero__inner h1 {
  font-size: clamp(2.6rem, 4.8vw, 4.85rem) !important;
  line-height: 1.02 !important;
  text-wrap: balance;
}

@media (max-width: 767px) {
  .ktc-member-hero__inner h1 {
    font-size: clamp(2rem, 8vw, 3.25rem) !important;
    line-height: 1.06 !important;
  }
}


/* ===== v120 slogan Về chúng tôi: đậm và đặt trong ngoặc kép ===== */
.ktc-about-home__highlight strong {
  font-weight: 900;
  color: #061f4b;
  letter-spacing: 0.01em;
}


/* v123: thu nhỏ thêm tiêu đề stats và tăng khoảng cách giữa các hàng */
body.ktc-homepage-body .ktc-stats-home__copy h2 {
  font-size: clamp(3.2rem, 4.35vw, 4.7rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  word-spacing: 0.02em !important;
}

@media (max-width: 1024px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2 {
    font-size: clamp(2.7rem, 4.9vw, 3.95rem) !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2 {
    font-size: clamp(2.05rem, 6.6vw, 2.95rem) !important;
    line-height: 1.1 !important;
  }
}


/* v124: xử lý triệt để tiêu đề stats không dính hàng */
body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: clamp(4px, 0.16em, 10px) !important;
  font-size: clamp(3rem, 4.05vw, 4.35rem) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  word-spacing: normal !important;
  text-wrap: initial !important;
}

body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span {
  display: block !important;
  line-height: 0.98 !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media (max-width: 1024px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
    gap: clamp(3px, 0.14em, 8px) !important;
    font-size: clamp(2.55rem, 4.7vw, 3.75rem) !important;
  }
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
    gap: 3px !important;
    font-size: clamp(1.95rem, 6vw, 2.8rem) !important;
  }
}

/* v125: đổi font section triết lý sang sans-serif hiện đại, hỗ trợ tiếng Việt */
body.ktc-homepage-body .ktc-philosophy-home__lead,
body.ktc-homepage-body .ktc-philosophy-home__intro,
body.ktc-homepage-body .ktc-philosophy-home__item {
  font-family: Montserrat, "Be Vietnam Pro", Inter, Arial, sans-serif !important;
  font-style: normal !important;
  color: #ffffff !important;
  letter-spacing: 0.035em !important;
  text-shadow: 0 8px 22px rgba(7, 24, 58, 0.28), 0 0 12px rgba(255,255,255,0.04) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

body.ktc-homepage-body .ktc-philosophy-home__lead {
  font-size: clamp(1.85rem, 2.55vw, 3rem) !important;
  line-height: 1.24 !important;
  font-weight: 800 !important;
}

body.ktc-homepage-body .ktc-philosophy-home__intro {
  font-size: clamp(1.48rem, 2vw, 2.25rem) !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}

body.ktc-homepage-body .ktc-philosophy-home__item {
  font-size: clamp(1.18rem, 1.55vw, 1.78rem) !important;
  line-height: 1.36 !important;
  font-weight: 750 !important;
  letter-spacing: 0.028em !important;
}

body.ktc-homepage-body .ktc-philosophy-home__list {
  gap: clamp(8px, 1vw, 13px) !important;
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-philosophy-home__lead {
    font-size: clamp(1.5rem, 6.5vw, 2.1rem) !important;
    line-height: 1.26 !important;
  }

  body.ktc-homepage-body .ktc-philosophy-home__intro {
    font-size: clamp(1.25rem, 5.2vw, 1.72rem) !important;
  }

  body.ktc-homepage-body .ktc-philosophy-home__item {
    font-size: clamp(1.05rem, 4.3vw, 1.38rem) !important;
  }
}


/* v126: font triết lý sang trọng hơn, mảnh và tinh tế, tương thích tiếng Việt */
body.ktc-homepage-body .ktc-philosophy-home__lead,
body.ktc-homepage-body .ktc-philosophy-home__intro,
body.ktc-homepage-body .ktc-philosophy-home__item {
  font-family: "Noto Serif Display", "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-style: normal !important;
  color: #fff !important;
  letter-spacing: 0.006em !important;
  text-shadow: 0 10px 26px rgba(5, 19, 46, 0.34), 0 1px 0 rgba(255,255,255,0.08) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.ktc-homepage-body .ktc-philosophy-home__lead {
  font-size: clamp(2.05rem, 3.05vw, 3.55rem) !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  letter-spacing: 0.012em !important;
}

body.ktc-homepage-body .ktc-philosophy-home__intro {
  font-size: clamp(1.58rem, 2.15vw, 2.55rem) !important;
  line-height: 1.36 !important;
  font-weight: 700 !important;
  letter-spacing: 0.008em !important;
}

body.ktc-homepage-body .ktc-philosophy-home__item {
  font-size: clamp(1.28rem, 1.72vw, 2.05rem) !important;
  line-height: 1.48 !important;
  font-weight: 700 !important;
  letter-spacing: 0.004em !important;
}

body.ktc-homepage-body .ktc-philosophy-home__list {
  gap: clamp(6px, 0.85vw, 12px) !important;
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-philosophy-home__lead {
    font-size: clamp(1.62rem, 6.4vw, 2.28rem) !important;
    line-height: 1.3 !important;
  }

  body.ktc-homepage-body .ktc-philosophy-home__intro {
    font-size: clamp(1.28rem, 5vw, 1.78rem) !important;
    line-height: 1.36 !important;
  }

  body.ktc-homepage-body .ktc-philosophy-home__item {
    font-size: clamp(1.08rem, 4.25vw, 1.45rem) !important;
    line-height: 1.48 !important;
  }
}

/* v127: thu nhỏ dòng tiêu đề triết lý */
body.ktc-homepage-body .ktc-philosophy-home__lead {
  font-size: clamp(1.72rem, 2.35vw, 2.78rem) !important;
  line-height: 1.28 !important;
  letter-spacing: 0.008em !important;
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-philosophy-home__lead {
    font-size: clamp(1.38rem, 5.3vw, 1.92rem) !important;
    line-height: 1.3 !important;
  }
}


/* v138: hiệu ứng gõ chữ + quét sáng xóa chữ cho cụm triết lý */
body.ktc-homepage-body .ktc-philosophy-home__item {
  display: flex !important;
  justify-content: center !important;
  overflow: visible !important;
}

body.ktc-homepage-body .ktc-philosophy-home__item-text {
  position: relative !important;
  display: inline-block !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: visible !important;
  vertical-align: top !important;
  line-height: inherit !important;
  isolation: isolate;
}

body.ktc-homepage-body .ktc-philosophy-home__item-text::before {
  content: attr(data-full-text);
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  white-space: inherit;
}

body.ktc-homepage-body .ktc-philosophy-home__typed {
  position: absolute;
  inset: 0 auto auto 0;
  display: block;
  max-width: 100%;
  color: #ffffff;
  white-space: inherit;
  opacity: 0;
  filter: blur(0);
  transform: translate3d(0, 0, 0);
  will-change: opacity, filter, transform;
  text-shadow: inherit;
  -webkit-font-smoothing: antialiased;
  text-rendering: inherit;
}

body.ktc-homepage-body .ktc-philosophy-home.is-philosophy-typing .ktc-philosophy-home__typed,
body.ktc-homepage-body .ktc-philosophy-home__item-text.is-typed .ktc-philosophy-home__typed {
  opacity: 1;
}

body.ktc-homepage-body .ktc-philosophy-home__item-text.is-typing .ktc-philosophy-home__typed::after {
  content: "";
  display: inline-block;
  width: 0.08em;
  height: 0.92em;
  margin-left: 0.12em;
  transform: translateY(0.12em);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.42), 0 0 18px rgba(244, 214, 129, 0.24);
  animation: ktcPhilosophyCaretBlink 0.72s ease-in-out infinite;
}

body.ktc-homepage-body .ktc-philosophy-home__item-text::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: -18%;
  left: -22%;
  width: 30%;
  height: 136%;
  border-radius: 999px;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-160%, 0, 0) skewX(-18deg);
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.18), rgba(255,255,255,0.86), rgba(245,211,128,0.38), rgba(255,255,255,0));
  box-shadow: 0 0 22px rgba(255, 255, 255, 0.36), 0 0 38px rgba(245, 207, 113, 0.2);
  mix-blend-mode: screen;
  will-change: transform, opacity;
}

body.ktc-homepage-body .ktc-philosophy-home.is-philosophy-lit .ktc-philosophy-home__item-text::after {
  animation: ktcPhilosophyLightSweep 0.96s cubic-bezier(0.24, 0.78, 0.24, 1) forwards;
  animation-delay: calc(var(--ktc-write-index, 0) * 45ms);
}

body.ktc-homepage-body .ktc-philosophy-home.is-philosophy-lit .ktc-philosophy-home__typed {
  animation: ktcPhilosophyTextFadeOut 0.96s cubic-bezier(0.3, 0.72, 0.2, 1) forwards;
  animation-delay: calc(var(--ktc-write-index, 0) * 45ms);
}

body.ktc-homepage-body .ktc-philosophy-home.is-philosophy-resting .ktc-philosophy-home__typed {
  opacity: 0 !important;
}

@keyframes ktcPhilosophyCaretBlink {
  0%, 100% { opacity: 0.18; }
  45%, 55% { opacity: 1; }
}

@keyframes ktcPhilosophyLightSweep {
  0% {
    opacity: 0;
    transform: translate3d(-160%, 0, 0) skewX(-18deg);
  }
  16% { opacity: 0.98; }
  72% { opacity: 0.72; }
  100% {
    opacity: 0;
    transform: translate3d(430%, 0, 0) skewX(-18deg);
  }
}

@keyframes ktcPhilosophyTextFadeOut {
  0% {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0);
  }
  50% {
    opacity: 0.92;
    filter: blur(0.4px);
    transform: translate3d(0, 0, 0);
  }
  100% {
    opacity: 0;
    filter: blur(5px);
    transform: translate3d(0, -3px, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ktc-homepage-body .ktc-philosophy-home__typed {
    opacity: 1 !important;
    animation: none !important;
    filter: none !important;
    transform: none !important;
  }

  body.ktc-homepage-body .ktc-philosophy-home__item-text::after,
  body.ktc-homepage-body .ktc-philosophy-home__item-text.is-typing .ktc-philosophy-home__typed::after {
    display: none !important;
  }
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-philosophy-home__item-text {
    width: 100% !important;
    white-space: normal !important;
  }

  body.ktc-homepage-body .ktc-philosophy-home__typed {
    left: 50%;
    width: 100%;
    transform: translate3d(-50%, 0, 0);
    text-align: center;
  }

  body.ktc-homepage-body .ktc-philosophy-home.is-philosophy-lit .ktc-philosophy-home__typed {
    animation-name: ktcPhilosophyTextFadeOutMobile;
  }
}

@keyframes ktcPhilosophyTextFadeOutMobile {
  0% { opacity: 1; filter: blur(0); transform: translate3d(-50%, 0, 0); }
  100% { opacity: 0; filter: blur(4px); transform: translate3d(-50%, -2px, 0); }
}

/* v139: thay vệt xóa chữ triết lý bằng 5 ngôi sao trắng sáng, mỗi dòng một ngôi sao */
body.ktc-homepage-body .ktc-philosophy-home__item-text::after {
  content: "✦" !important;
  position: absolute !important;
  z-index: 4 !important;
  top: 50% !important;
  left: -0.85em !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  border-radius: 0 !important;
  pointer-events: none !important;
  opacity: 0;
  color: #ffffff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 0.78em !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  background: none !important;
  box-shadow: none !important;
  text-shadow:
    0 0 5px rgba(255,255,255,0.95),
    0 0 13px rgba(255,255,255,0.72),
    0 0 22px rgba(255,255,255,0.34) !important;
  mix-blend-mode: screen;
  transform: translate3d(-18px, -50%, 0) scale(0.72) rotate(-14deg);
  filter: drop-shadow(0 0 7px rgba(255,255,255,0.62));
  will-change: left, transform, opacity;
}

body.ktc-homepage-body .ktc-philosophy-home.is-philosophy-lit .ktc-philosophy-home__item-text::after {
  animation: ktcPhilosophyLightSweep 0.96s cubic-bezier(0.25, 0.76, 0.26, 1) forwards !important;
  animation-delay: calc(var(--ktc-write-index, 0) * 45ms) !important;
}

@keyframes ktcPhilosophyLightSweep {
  0% {
    left: -0.85em;
    opacity: 0;
    transform: translate3d(-18px, -50%, 0) scale(0.7) rotate(-16deg);
  }
  14% {
    opacity: 1;
    transform: translate3d(0, -50%, 0) scale(1.02) rotate(-8deg);
  }
  58% {
    opacity: 1;
    transform: translate3d(0, -50%, 0) scale(1.12) rotate(8deg);
  }
  100% {
    left: calc(100% + 0.45em);
    opacity: 0;
    transform: translate3d(14px, -50%, 0) scale(0.82) rotate(18deg);
  }
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-philosophy-home__item-text::after {
    font-size: 0.72em !important;
  }
}


/* v140: thử font UVN Vien Du cho 5 dòng triết lý kinh doanh
   Lưu ý: font được gọi từ thư mục uploads để không đóng gói file font vào theme. */
@font-face {
  font-family: "UVN Vien Du KTG";
  src: url('/wp-content/uploads/2026/05/UVNVienDu.TTF') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

body.ktc-homepage-body .ktc-philosophy-home__item,
body.ktc-homepage-body .ktc-philosophy-home__item-text,
body.ktc-homepage-body .ktc-philosophy-home__typed {
  font-family: "UVN Vien Du KTG", "UVN Vien Du", "Dancing Script", "Segoe Script", cursive !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: 0.012em !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  font-synthesis: none !important;
}

body.ktc-homepage-body .ktc-philosophy-home__item {
  font-size: clamp(1.68rem, 2.18vw, 2.62rem) !important;
  line-height: 1.24 !important;
  text-shadow:
    0 8px 22px rgba(5, 18, 45, 0.36),
    0 0 10px rgba(255,255,255,0.12) !important;
}

body.ktc-homepage-body .ktc-philosophy-home__list {
  gap: clamp(8px, 0.95vw, 15px) !important;
}

body.ktc-homepage-body .ktc-philosophy-home__item-text.is-typing .ktc-philosophy-home__typed::after {
  height: 0.86em !important;
  transform: translateY(0.08em) !important;
}

body.ktc-homepage-body .ktc-philosophy-home__item-text::after {
  font-family: Georgia, "Times New Roman", serif !important;
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-philosophy-home__item {
    font-size: clamp(1.38rem, 5.2vw, 2.02rem) !important;
    line-height: 1.28 !important;
  }

  body.ktc-homepage-body .ktc-philosophy-home__list {
    gap: 8px !important;
  }
}

/* v144: 2 dòng tiêu đề Triết lý kinh doanh dùng đúng UTM-Hanzel đã khai báo trong child theme */
body.ktc-homepage-body .ktc-philosophy-home__lead,
body.ktc-homepage-body .ktc-philosophy-home__intro {
  font-family: "UTM Hanzel", var(--ktc-font-display), "Noto Serif Display", Georgia, serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: 0.012em !important;
  line-height: 1.18 !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  font-synthesis: none !important;
}

body.ktc-homepage-body .ktc-philosophy-home__lead {
  font-size: clamp(2.15rem, 3.15vw, 4.1rem) !important;
}

body.ktc-homepage-body .ktc-philosophy-home__intro {
  font-size: clamp(1.82rem, 2.55vw, 3.35rem) !important;
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-philosophy-home__lead {
    font-size: clamp(1.72rem, 6.2vw, 2.45rem) !important;
    line-height: 1.2 !important;
  }

  body.ktc-homepage-body .ktc-philosophy-home__intro {
    font-size: clamp(1.42rem, 5.2vw, 2.05rem) !important;
    line-height: 1.22 !important;
  }
}

/* v145: thu nhỏ câu dẫn triết lý và đặt câu này trong ngoặc kép ở template */
body.ktc-homepage-body .ktc-philosophy-home__lead {
  font-size: clamp(1.48rem, 2.05vw, 2.72rem) !important;
  line-height: 1.2 !important;
}

body.ktc-homepage-body .ktc-philosophy-home__intro {
  font-size: clamp(1.9rem, 2.7vw, 3.42rem) !important;
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-philosophy-home__lead {
    font-size: clamp(1.18rem, 4.3vw, 1.7rem) !important;
    line-height: 1.24 !important;
  }

  body.ktc-homepage-body .ktc-philosophy-home__intro {
    font-size: clamp(1.45rem, 5.35vw, 2.12rem) !important;
  }
}

/* v152: remove gold outline from the large KTG logo on member companies page only */
body.ktc-member-page-body .ktc-member-tree__parent-card .ktc-intro-mark__outline,
body.ktc-member-page-body .ktc-member-tree__parent-card .ktc-intro-mark__shine {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body.ktc-member-page-body .ktc-member-tree__parent-card .ktc-intro-mark__stroke-path,
body.ktc-member-page-body .ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--red,
body.ktc-member-page-body .ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--gray,
body.ktc-member-page-body .ktc-member-tree__parent-card .ktc-intro-mark__stroke-path--divider {
  stroke: none !important;
}

body.ktc-member-page-body .ktc-member-tree__parent-card .ktc-intro-mark__solid {
  opacity: 1 !important;
  filter: none !important;
}

/* v153: gentle hover float for member page main logo */
@keyframes ktcMemberLogoHoverFloat {
  0% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -5px, 0); }
  100% { transform: translate3d(0, 0, 0); }
}

body.ktc-member-page-body .ktc-member-tree__parent-mark .ktc-intro-mark {
  transition: transform .28s ease;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

body.ktc-member-page-body .ktc-member-tree__parent-mark:hover .ktc-intro-mark,
body.ktc-member-page-body .ktc-member-tree__parent-mark:focus-within .ktc-intro-mark {
  animation: ktcMemberLogoHoverFloat 1.7s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  body.ktc-member-page-body .ktc-member-tree__parent-mark .ktc-intro-mark,
  body.ktc-member-page-body .ktc-member-tree__parent-mark:hover .ktc-intro-mark,
  body.ktc-member-page-body .ktc-member-tree__parent-mark:focus-within .ktc-intro-mark {
    animation: none !important;
    transform: none !important;
  }
}

/* KTC159 - sync all right-side numbered section navigation to homepage style */
.ktc-section-index,
.ktc-fields-side-nav,
.ktc-sustainability-side-nav {
  position: fixed !important;
  right: 18px !important;
  top: 50% !important;
  z-index: 99999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  transform: translateY(-50%) !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ktc-section-index::before,
.ktc-fields-side-nav::before,
.ktc-sustainability-side-nav::before {
  content: "" !important;
  position: absolute !important;
  top: 8px !important;
  bottom: 8px !important;
  left: 50% !important;
  width: 1px !important;
  height: auto !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.26), rgba(255,255,255,0)) !important;
  pointer-events: none !important;
  opacity: 1 !important;
}

.ktc-section-index__item,
.ktc-section-index__item:hover,
.ktc-section-index__item:focus,
.ktc-section-index__item:active,
.ktc-fields-side-nav a,
.ktc-fields-side-nav a:hover,
.ktc-fields-side-nav a:focus,
.ktc-fields-side-nav a:active,
.ktc-sustainability-side-nav a,
.ktc-sustainability-side-nav a:hover,
.ktc-sustainability-side-nav a:focus,
.ktc-sustainability-side-nav a:active {
  all: unset;
  box-sizing: border-box !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  position: relative !important;
  color: rgba(255,255,255,.94) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  font-family: Arial, Helvetica, sans-serif !important;
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: color .28s ease, transform .28s ease !important;
}

.ktc-section-index__item span,
.ktc-fields-side-nav a span,
.ktc-sustainability-side-nav a span,
.ktc-section-index__item.is-active span,
.ktc-fields-side-nav a.is-active span,
.ktc-sustainability-side-nav a.is-active span {
  position: relative !important;
  z-index: 2 !important;
  display: inline !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-shadow:
    -0.6px -0.6px 0 #062b63,
     0.6px -0.6px 0 #062b63,
    -0.6px  0.6px 0 #062b63,
     0.6px  0.6px 0 #062b63 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ktc-fields-side-nav a span::after,
.ktc-sustainability-side-nav a span::after {
  display: none !important;
  content: none !important;
}

.ktc-section-index__item::before,
.ktc-fields-side-nav a::before,
.ktc-sustainability-side-nav a::before {
  content: "" !important;
  position: absolute !important;
  inset: 3px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  opacity: 0 !important;
  transform: scale(.72) !important;
  transition: opacity .28s ease, transform .28s ease !important;
}

.ktc-section-index__item::after,
.ktc-fields-side-nav a::after,
.ktc-sustainability-side-nav a::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 1px !important;
  width: 10px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: #ff332a !important;
  opacity: 0 !important;
  transform: translateX(-50%) scaleX(.45) !important;
  transition: opacity .28s ease, transform .28s ease !important;
}

.ktc-section-index__item:hover,
.ktc-section-index__item:focus-visible,
.ktc-fields-side-nav a:hover,
.ktc-fields-side-nav a:focus-visible,
.ktc-sustainability-side-nav a:hover,
.ktc-sustainability-side-nav a:focus-visible {
  color: #fff !important;
  transform: translateX(-2px) !important;
}

.ktc-section-index__item:hover::before,
.ktc-section-index__item:focus-visible::before,
.ktc-section-index__item.is-active::before,
.ktc-fields-side-nav a:hover::before,
.ktc-fields-side-nav a:focus-visible::before,
.ktc-fields-side-nav a.is-active::before,
.ktc-sustainability-side-nav a:hover::before,
.ktc-sustainability-side-nav a:focus-visible::before,
.ktc-sustainability-side-nav a.is-active::before {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.ktc-section-index__item.is-active,
.ktc-fields-side-nav a.is-active,
.ktc-sustainability-side-nav a.is-active {
  color: #fff !important;
  transform: translateX(-3px) scale(1.08) !important;
}

.ktc-section-index__item.is-active::after,
.ktc-fields-side-nav a.is-active::after,
.ktc-sustainability-side-nav a.is-active::after {
  opacity: 1 !important;
  transform: translateX(-50%) scaleX(1) !important;
}

@media (max-width: 767px) {
  .ktc-section-index,
  .ktc-fields-side-nav,
  .ktc-sustainability-side-nav {
    right: 8px !important;
    gap: 8px !important;
  }

  .ktc-section-index__item,
  .ktc-fields-side-nav a,
  .ktc-sustainability-side-nav a {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    font-size: 11px !important;
  }
}


/* v173: project cards on homepage link directly to /du-an/ten-du-an */
.ktc-project-panel,
.ktc-project-panel:hover,
.ktc-project-panel:focus,
.ktc-project-panel:focus-visible {
  display: block;
  color: inherit;
  text-decoration: none;
}


/* v174: chỉnh tiêu đề section thống kê cân hơn, tránh cảm giác thụt trái */
body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
  padding-left: clamp(8px, 0.7vw, 14px) !important;
}

body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span {
  width: 100%;
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
    padding-left: 4px !important;
  }
}

/* v175: căn đều cạnh phải khối tiêu đề section thống kê để khối chữ cân hơn */
body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
  width: min(100%, 540px) !important;
}

body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span {
  display: flex !important;
  justify-content: flex-end !important;
  text-align: right !important;
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
    width: 100% !important;
  }
}


/* v176: chỉnh tiêu đề khối thống kê căn đều 2 bên và cập nhật thẻ backlog */
body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
  width: min(100%, 540px) !important;
  padding-left: 0 !important;
}

body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span {
  display: block !important;
  width: 100% !important;
  text-align: justify !important;
  text-align-last: justify !important;
}

body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span::after {
  content: '';
  display: inline-block;
  width: 100%;
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span {
    text-align: left !important;
    text-align-last: auto !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span::after {
    display: none;
  }
}

/* v177: quay lại căn phải cho khối tiêu đề thống kê, chỉnh khoảng cách cho cân đối hơn */
body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
  width: min(100%, 560px) !important;
  max-width: 560px !important;
  padding-left: 0 !important;
  padding-right: clamp(6px, 0.7vw, 12px) !important;
  margin-left: 0 !important;
}

body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span {
  display: block !important;
  width: 100% !important;
  text-align: right !important;
  text-align-last: right !important;
  letter-spacing: -0.03em;
}

body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span {
    text-align: left !important;
    text-align-last: auto !important;
  }
}


/* v178: bổ sung văn phòng Hà Nội và icon mạng xã hội ở chân trang */
.ktc-site-footer__social {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 2px;
}

.ktc-site-footer__social-link {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  text-decoration: none;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.24);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06), 0 10px 24px rgba(0,0,0,0.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.ktc-site-footer__social-link:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,255,255,0.34);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08), 0 14px 28px rgba(0,0,0,0.22);
}

.ktc-site-footer__social-link svg {
  width: 22px;
  height: 22px;
  display: block;
}

@media (max-width: 767px) {
  .ktc-site-footer__social-link {
    width: 42px;
    height: 42px;
  }

  .ktc-site-footer__social-link svg {
    width: 20px;
    height: 20px;
  }
}


/* v189: mobile-only header polish; desktop layout untouched */
@media (max-width: 767px) {
  html body .ktc-site-header {
    z-index: 1200;
  }

  html body .ktc-site-header__glass {
    opacity: 1 !important;
    background:
      linear-gradient(180deg, rgba(18, 82, 153, .84) 0%, rgba(18, 82, 153, .66) 58%, rgba(18, 82, 153, .42) 100%) !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 12px 28px rgba(0, 28, 72, .18) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
  }

  html body .ktc-site-header__inner.ktc-container,
  html body .ktc-site-header__inner {
    width: 100% !important;
    max-width: none !important;
    min-height: 72px !important;
    padding: 6px 16px !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    gap: 12px !important;
    align-items: center !important;
  }

  html body .ktc-site-header__inner::before,
  html body .ktc-site-header__inner::after {
    display: none !important;
  }

  html body .ktc-header-side--left {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 44px !important;
    padding: 0 !important;
  }

  html body .ktc-header-side--right {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    min-width: 44px !important;
    padding: 0 !important;
  }

  html body .ktc-main-nav,
  html body .ktc-lang-switcher,
  html body .ktc-home-link {
    display: none !important;
  }

  html body .ktc-brand {
    grid-column: 2 !important;
    justify-self: center !important;
    width: 112px !important;
    max-width: 112px !important;
    height: 60px !important;
    margin: 0 !important;
  }

  html body .ktc-brand__image {
    width: auto !important;
    max-width: 112px !important;
    height: 52px !important;
    object-fit: contain !important;
  }

  html body .ktc-search-btn {
    display: inline-flex !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    transform: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html body .ktc-search-btn svg {
    width: 21px !important;
    height: 21px !important;
    display: block !important;
    color: #fff !important;
    stroke: #fff !important;
    fill: none !important;
  }

  html body .ktc-mobile-toggle,
  html body button.ktc-mobile-toggle,
  html body .ktc-mobile-toggle:hover,
  html body .ktc-mobile-toggle:focus,
  html body .ktc-mobile-toggle:active,
  html body .ktc-mobile-toggle:focus-visible {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 16px !important;
    outline: 0 !important;
    background: rgba(255,255,255,.10) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 10px 24px rgba(0, 29, 72, .16) !important;
    color: #fff !important;
    cursor: pointer !important;
    transform: none !important;
    filter: none !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html body .ktc-mobile-toggle:hover,
  html body .ktc-mobile-toggle:focus-visible,
  html body .ktc-mobile-toggle.is-active {
    border-color: rgba(255,255,255,.36) !important;
    background: rgba(255,255,255,.16) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 12px 26px rgba(0, 29, 72, .20) !important;
  }

  html body .ktc-mobile-toggle span {
    display: block !important;
    width: 19px !important;
    height: 2px !important;
    min-height: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform-origin: center !important;
    transition: transform .24s ease, opacity .2s ease, width .24s ease !important;
  }

  html body .ktc-mobile-toggle.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  html body .ktc-mobile-toggle.is-active span:nth-child(2) {
    opacity: 0 !important;
    transform: scaleX(.3) !important;
  }

  html body .ktc-mobile-toggle.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  html body .ktc-mobile-panel {
    position: fixed !important;
    top: 72px !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(84vw, 340px) !important;
    max-width: 340px !important;
    background: linear-gradient(180deg, rgba(7, 38, 91, .98) 0%, rgba(4, 24, 62, .98) 100%) !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    border-right: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 18px 0 34px rgba(0, 24, 66, .24) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    overflow-y: auto !important;
    transform: translateX(-108%) !important;
    transition: transform .32s ease !important;
    z-index: 1200 !important;
  }

  html body .ktc-site-header.is-mobile-open .ktc-mobile-panel {
    transform: translateX(0) !important;
  }

  html body .ktc-mobile-panel__inner.ktc-container,
  html body .ktc-mobile-panel__inner {
    width: 100% !important;
    max-width: none !important;
    padding: 18px 20px 24px !important;
  }

  html body .ktc-mobile-nav {
    gap: 6px !important;
  }

  html body .ktc-mobile-nav .ktc-nav__item a {
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
  }

  html body .ktc-mobile-panel[hidden] {
    display: none !important;
  }
}

  html body.admin-bar .ktc-mobile-panel {
    top: 118px !important;
  }

@media (max-width: 380px) {
  html body .ktc-site-header__inner.ktc-container,
  html body .ktc-site-header__inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
    gap: 8px !important;
  }

  html body .ktc-brand {
    width: 102px !important;
    max-width: 102px !important;
  }

  html body .ktc-brand__image {
    max-width: 102px !important;
    height: 48px !important;
  }

  html body .ktc-header-side--right {
    gap: 0 !important;
  }
}


/* v191: mobile/tablet cuộn tự nhiên, ẩn số section bên phải */
@media (max-width: 1199px), (pointer: coarse) {
  .ktc-section-index,
  .ktc-section-index--about,
  .ktc-section-index--project,
  .ktc-contact-section-index,
  .ktc-fields-side-nav,
  .ktc-sustainability-side-nav {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html.ktc-snap-enabled,
  body.ktc-homepage-body.ktc-snap-enabled,
  body.ktc-contact-body.ktc-snap-enabled,
  body.ktc-sustainability-body.ktc-snap-enabled {
    scroll-snap-type: none !important;
    overflow-y: auto !important;
    height: auto !important;
  }

  body.ktc-homepage-body .ktc-homepage-main,
  body.ktc-homepage-body [data-ktc-snap-root] {
    scroll-snap-type: none !important;
    overflow: visible !important;
    height: auto !important;
  }

  body.ktc-homepage-body .ktc-snap-section,
  body.ktc-homepage-body [data-ktc-snap-section] {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}

/* v192: mobile keep About action buttons on one elegant horizontal row */
@media (max-width: 767px) {
  .ktc-about-home .ktc-inline-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    gap: 12px;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    min-height: 52px;
    padding: 0 18px;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    text-align: center;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn--red {
    padding-left: 18px;
    padding-right: 40px;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn--red::after {
    right: 14px;
    font-size: 16px;
  }
}

@media (max-width: 420px) {
  .ktc-about-home .ktc-inline-actions {
    gap: 10px;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn {
    min-height: 50px;
    padding: 0 16px;
    font-size: 13px;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn--red {
    padding-right: 36px;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn--red::after {
    right: 12px;
    font-size: 15px;
  }
}


/* v193: mobile disable hover/touch effects for About action buttons to avoid width/jitter */
@media (max-width: 767px) {
  .ktc-about-home .ktc-inline-actions .ktc-btn,
  .ktc-about-home .ktc-inline-actions .ktc-btn:hover,
  .ktc-about-home .ktc-inline-actions .ktc-btn:focus,
  .ktc-about-home .ktc-inline-actions .ktc-btn:active {
    transform: none !important;
    filter: none !important;
    transition: none !important;
    flex-basis: 0 !important;
    min-width: 0 !important;
    width: auto !important;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn:hover,
  .ktc-about-home .ktc-inline-actions .ktc-btn:focus,
  .ktc-about-home .ktc-inline-actions .ktc-btn:active {
    box-shadow: 0 14px 28px rgba(7, 31, 75, 0.10) !important;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn::before,
  .ktc-about-home .ktc-inline-actions .ktc-btn:hover::before,
  .ktc-about-home .ktc-inline-actions .ktc-btn:focus::before,
  .ktc-about-home .ktc-inline-actions .ktc-btn:active::before {
    display: none !important;
    content: none !important;
    transform: none !important;
    transition: none !important;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn--navy:hover,
  .ktc-about-home .ktc-inline-actions .ktc-btn--navy:focus,
  .ktc-about-home .ktc-inline-actions .ktc-btn--navy:active {
    background: linear-gradient(180deg, #0d327a 0%, #082662 100%) !important;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn--red:hover,
  .ktc-about-home .ktc-inline-actions .ktc-btn--red:focus,
  .ktc-about-home .ktc-inline-actions .ktc-btn--red:active {
    background: linear-gradient(135deg, #ff3f27 0%, #ff5a21 100%) !important;
  }

  .ktc-about-home .ktc-inline-actions .ktc-btn--red::after,
  .ktc-about-home .ktc-inline-actions .ktc-btn--red:hover::after,
  .ktc-about-home .ktc-inline-actions .ktc-btn--red:focus::after,
  .ktc-about-home .ktc-inline-actions .ktc-btn--red:active::after {
    transform: translateY(-50%) !important;
    transition: none !important;
  }
}

/* v194: add Tin dự án tab to desktop news section and keep tabs stable on one row */
@media (min-width: 1200px) {
  .ktc-news-showcase__tabs {
    gap: clamp(20px, 1.7vw, 32px);
  }

  .ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab,
  .ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab,
  .ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:hover,
  .ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:hover,
  .ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:focus,
  .ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:focus,
  .ktc-news-home .ktc-news-showcase__tabs > .ktc-news-showcase__tab:active,
  .ktc-news-home .ktc-news-showcase__tabs > button.ktc-news-showcase__tab:active {
    white-space: nowrap !important;
    flex: 0 0 auto !important;
  }
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > .ktc-news-showcase__tab:nth-child(4),
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > button.ktc-news-showcase__tab:nth-child(4) { transition-delay: 240ms; }


/* v196: make only the Tin tức heading block link to /tin-tuc without visual change */
.ktc-news-home__heading-link,
.ktc-news-home__heading-link:hover,
.ktc-news-home__heading-link:focus,
.ktc-news-home__heading-link:active {
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.ktc-news-home__heading-link h2 {
  color: var(--ktc-navy) !important;
}

/* v207: homepage featured project images fit mixed source ratios */
.ktc-project-panel__bg {
  background-size: cover !important;
  background-position: var(--panel-position, center center) !important;
  background-repeat: no-repeat !important;
}

/* v209: reduce homepage Fields title size on mobile only, keep PC/tablet unchanged */
@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-fields-home__heading h2 {
    font-size: 25px !important;
  }
}

/* v210-mobile-section-title: unify mobile section heading size across site; keep desktop/tablet unchanged */
@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-section-heading h2,
  body.ktc-homepage-body .ktc-about-home h2,
  body.ktc-homepage-body .ktc-fields-home__heading h2,
  body.ktc-homepage-body .ktc-news-home__heading h2,
  body.ktc-homepage-body .ktc-projects-home__header h2,
  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed,
  body.ktc-member-page-body .ktc-member-tree__intro h2 {
    font-size: 25px !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span,
  body.ktc-member-page-body .ktc-member-tree__intro h2 > span {
    font-size: inherit !important;
  }
}

/* v211: reduce homepage field card industry titles on mobile only */
@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-fields-home .ktc-field-card h3 {
    font-size: 16px !important;
  }
}

/* v212: responsive layout for homepage capability statistics section only; keep desktop >=1200px unchanged */
@media (max-width: 1199px) {
  body.ktc-homepage-body .ktc-stats-home {
    min-height: auto !important;
    padding: calc(var(--ktc-header-offset, 0px) + clamp(34px, 6vw, 62px)) 0 clamp(42px, 7vw, 70px) !important;
  }

  body.ktc-homepage-body .ktc-stats-home__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: clamp(20px, 3vw, 30px) !important;
    min-height: 0 !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.ktc-homepage-body .ktc-stats-home__kicker {
    gap: 12px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    letter-spacing: .22em !important;
  }

  body.ktc-homepage-body .ktc-stats-home__kicker span {
    width: clamp(36px, 9vw, 62px) !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
    order: 1 !important;
    width: 100% !important;
    max-width: 720px !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    font-size: clamp(32px, 4.8vw, 46px) !important;
    line-height: 1.18 !important;
    letter-spacing: .02em !important;
    word-spacing: .06em !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span {
    display: block !important;
    width: auto !important;
    text-align: left !important;
    text-align-last: auto !important;
    letter-spacing: inherit !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span::after {
    display: none !important;
    content: none !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy p,
  body.ktc-homepage-body .ktc-stats-home__signature {
    display: none !important;
  }

  body.ktc-homepage-body .ktc-stats-home__visual {
    order: 2 !important;
    width: 100% !important;
    min-height: 0 !important;
    border-radius: 32px !important;
  }

  body.ktc-homepage-body .ktc-stats-home__visual::after {
    right: 0 !important;
    bottom: -4px !important;
    font-size: clamp(86px, 17vw, 150px) !important;
    opacity: .75 !important;
  }

  body.ktc-homepage-body .ktc-stats-home__orb {
    display: none !important;
  }

  body.ktc-homepage-body .ktc-stats-grid {
    min-height: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-content: start !important;
    gap: 14px !important;
    padding: clamp(18px, 3vw, 26px) !important;
  }

  body.ktc-homepage-body .ktc-stat-card {
    min-height: 148px !important;
    padding: clamp(16px, 2.4vw, 22px) !important;
    border-radius: 22px !important;
  }

  body.ktc-homepage-body .ktc-stat-card__index {
    font-size: 12px !important;
  }

  body.ktc-homepage-body .ktc-stat-card__number {
    margin-top: 12px !important;
    font-size: clamp(36px, 6.2vw, 54px) !important;
    line-height: .96 !important;
    letter-spacing: .035em !important;
    word-spacing: .06em !important;
  }

  body.ktc-homepage-body .ktc-stat-card__number .ktc-stat-card__suffix {
    margin-left: 5px !important;
    font-size: clamp(13px, 2vw, 18px) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }

  body.ktc-homepage-body .ktc-stat-card h3 {
    margin-top: 10px !important;
    font-size: 13px !important;
    line-height: 1.18 !important;
    letter-spacing: .06em !important;
  }

  body.ktc-homepage-body .ktc-stat-card p {
    margin-top: 7px !important;
    font-size: 12.5px !important;
    line-height: 1.42 !important;
  }
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-stats-home {
    padding: calc(var(--ktc-header-offset, 0px) + 34px) 0 44px !important;
  }

  body.ktc-homepage-body .ktc-stats-home__inner {
    gap: 18px !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
    max-width: 100% !important;
    font-size: 25px !important;
    line-height: 1.18 !important;
    letter-spacing: .035em !important;
    word-spacing: .06em !important;
  }

  body.ktc-homepage-body .ktc-stats-home__visual {
    border-radius: 26px !important;
  }

  body.ktc-homepage-body .ktc-stats-home__visual::after {
    display: none !important;
  }

  body.ktc-homepage-body .ktc-stats-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 14px !important;
  }

  body.ktc-homepage-body .ktc-stat-card {
    min-height: 128px !important;
    padding: 18px !important;
    border-radius: 20px !important;
  }

  body.ktc-homepage-body .ktc-stat-card__number {
    margin-top: 10px !important;
    font-size: clamp(34px, 11.2vw, 43px) !important;
    letter-spacing: .03em !important;
    word-spacing: .04em !important;
  }

  body.ktc-homepage-body .ktc-stat-card__number .ktc-stat-card__suffix {
    font-size: 13px !important;
  }

  body.ktc-homepage-body .ktc-stat-card h3 {
    font-size: 12.5px !important;
  }

  body.ktc-homepage-body .ktc-stat-card p {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
}

@media (max-width: 420px) {
  body.ktc-homepage-body .ktc-stats-home__kicker {
    font-size: 11px !important;
    letter-spacing: .18em !important;
  }

  body.ktc-homepage-body .ktc-stat-card__number {
    font-size: clamp(32px, 10.5vw, 39px) !important;
  }
}

/* v213: widen homepage capability title on tablet/mobile only; keep desktop unchanged */
@media (max-width: 1199px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
    width: 100% !important;
    max-width: min(100%, 760px) !important;
    text-wrap: balance;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span {
    display: inline !important;
    width: auto !important;
    text-align: left !important;
    text-align-last: auto !important;
    white-space: normal !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span:not(:last-child)::after {
    content: " " !important;
    display: inline !important;
  }
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
    max-width: 100% !important;
    letter-spacing: .018em !important;
    word-spacing: .04em !important;
  }
}

/* v214: fix mobile/tablet capability title width - previous desktop flex-column forced each span onto its own line */
@media (max-width: 1199px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
    display: block !important;
    flex-direction: initial !important;
    align-items: initial !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: min(100%, 760px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
    text-wrap: balance;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span {
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-align: inherit !important;
    text-align-last: auto !important;
    white-space: normal !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span::after {
    display: none !important;
    content: none !important;
  }

  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed > span + span::before {
    content: " " !important;
    display: inline !important;
  }
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-stats-home__copy h2.ktc-stats-home__title-fixed {
    font-size: 25px !important;
    line-height: 1.22 !important;
    letter-spacing: .012em !important;
    word-spacing: .02em !important;
  }
}

/* v215: responsive card layout for homepage featured projects - tablet/mobile only; desktop accordion unchanged */
@media (max-width: 1199px) {
  body.ktc-homepage-body .ktc-projects-home,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section {
    height: auto !important;
    min-height: 0 !important;
    padding: clamp(58px, 7vw, 86px) 0 clamp(64px, 8vw, 92px) !important;
    background:
      radial-gradient(circle at 12% 0%, rgba(51, 125, 209, .34), transparent 34%),
      linear-gradient(135deg, #06152f 0%, #0b2f5a 54%, #071832 100%) !important;
  }

  body.ktc-homepage-body .ktc-projects-home .ktc-container,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-container {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.ktc-homepage-body .ktc-project-accordion,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-project-accordion {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(16px, 2vw, 22px) !important;
    width: min(100% - 48px, 1080px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    overflow: visible !important;
    border-radius: 0 !important;
    isolation: auto !important;
    background: transparent !important;
  }

  body.ktc-homepage-body .ktc-projects-home__header {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    z-index: 2 !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 clamp(4px, 1vw, 10px) !important;
    pointer-events: auto !important;
    transform: none !important;
    opacity: 1 !important;
  }

  body.ktc-homepage-body .ktc-project-accordion.is-header-compact .ktc-projects-home__header {
    transform: none !important;
  }

  body.ktc-homepage-body .ktc-projects-home__header h2 {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(31px, 4.2vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: .018em !important;
    word-spacing: .04em !important;
    text-align: left !important;
  }

  body.ktc-homepage-body .ktc-projects-home__underline {
    width: clamp(120px, 16vw, 176px) !important;
    height: 3px !important;
    margin-top: 14px !important;
  }

  body.ktc-homepage-body .ktc-project-panel,
  body.ktc-homepage-body .ktc-project-panel.is-active,
  body.ktc-homepage-body .ktc-project-panel:hover,
  body.ktc-homepage-body .ktc-project-panel:focus-visible {
    position: relative !important;
    display: block !important;
    flex: none !important;
    height: clamp(280px, 34vw, 350px) !important;
    min-height: 0 !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .24) !important;
    background: #071a34 !important;
  }

  body.ktc-homepage-body .ktc-project-panel + .ktc-project-panel {
    border-left: 1px solid rgba(255, 255, 255, .18) !important;
    border-top: 1px solid rgba(255, 255, 255, .18) !important;
  }

  body.ktc-homepage-body .ktc-project-panel__bg {
    background-position: var(--panel-position, center center) !important;
    background-size: cover !important;
    transform: scale(1.02) !important;
    filter: saturate(1.02) contrast(1.02) !important;
  }

  body.ktc-homepage-body .ktc-project-panel:hover .ktc-project-panel__bg,
  body.ktc-homepage-body .ktc-project-panel.is-active .ktc-project-panel__bg,
  body.ktc-homepage-body .ktc-project-panel:focus-visible .ktc-project-panel__bg {
    transform: scale(1.04) !important;
  }

  body.ktc-homepage-body .ktc-project-panel__shade {
    background:
      linear-gradient(180deg, rgba(4, 14, 32, .08) 0%, rgba(4, 14, 32, .10) 42%, rgba(4, 14, 32, .72) 100%),
      linear-gradient(90deg, rgba(4, 14, 32, .36) 0%, rgba(4, 14, 32, 0) 48%) !important;
  }

  body.ktc-homepage-body .ktc-project-panel__content,
  body.ktc-homepage-body .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__content {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    height: auto !important;
    min-height: 0 !important;
    padding: clamp(18px, 2.5vw, 24px) !important;
  }

  body.ktc-homepage-body .ktc-project-panel__title-row,
  body.ktc-homepage-body .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title-row {
    display: block !important;
    flex: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    align-items: initial !important;
    justify-content: initial !important;
  }

  body.ktc-homepage-body .ktc-project-panel__title,
  body.ktc-homepage-body .ktc-project-panel.is-active .ktc-project-panel__title,
  body.ktc-homepage-body .ktc-project-panel:hover .ktc-project-panel__title,
  body.ktc-homepage-body .ktc-project-panel:focus-visible .ktc-project-panel__title,
  body.ktc-homepage-body .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title {
    display: block !important;
    width: min(100%, 520px) !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(20px, 2.8vw, 28px) !important;
    line-height: 1.08 !important;
    letter-spacing: .035em !important;
    word-spacing: .04em !important;
    writing-mode: horizontal-tb !important;
    text-orientation: initial !important;
    white-space: normal !important;
    opacity: 1 !important;
    transform: none !important;
    text-shadow: 0 8px 24px rgba(0, 0, 0, .42) !important;
  }

  body.ktc-homepage-body .ktc-project-panel__index {
    position: absolute !important;
    top: 18px !important;
    right: 20px !important;
    z-index: 3 !important;
    align-self: auto !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 999px !important;
    background: rgba(4, 17, 40, .32) !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: clamp(16px, 2vw, 22px) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    writing-mode: horizontal-tb !important;
    text-orientation: initial !important;
    backdrop-filter: blur(10px) !important;
  }
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-projects-home,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section {
    padding: 44px 0 54px !important;
  }

  body.ktc-homepage-body .ktc-project-accordion,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-projects-home.ktc-snap-section .ktc-project-accordion {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: calc(100% - 32px) !important;
  }

  body.ktc-homepage-body .ktc-projects-home__header {
    margin-bottom: 2px !important;
  }

  body.ktc-homepage-body .ktc-projects-home__header h2 {
    font-size: 25px !important;
    line-height: 1.12 !important;
    letter-spacing: .018em !important;
    word-spacing: .035em !important;
  }

  body.ktc-homepage-body .ktc-projects-home__underline {
    width: 116px !important;
    height: 3px !important;
    margin-top: 12px !important;
  }

  body.ktc-homepage-body .ktc-project-panel,
  body.ktc-homepage-body .ktc-project-panel.is-active,
  body.ktc-homepage-body .ktc-project-panel:hover,
  body.ktc-homepage-body .ktc-project-panel:focus-visible {
    height: clamp(210px, 58vw, 246px) !important;
    border-radius: 22px !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .24) !important;
  }

  body.ktc-homepage-body .ktc-project-panel__content,
  body.ktc-homepage-body .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__content {
    padding: 18px !important;
  }

  body.ktc-homepage-body .ktc-project-panel__title,
  body.ktc-homepage-body .ktc-project-panel.is-active .ktc-project-panel__title,
  body.ktc-homepage-body .ktc-project-panel:hover .ktc-project-panel__title,
  body.ktc-homepage-body .ktc-project-panel:focus-visible .ktc-project-panel__title,
  body.ktc-homepage-body .ktc-project-panel:not(.is-active):not(:hover):not(:focus-visible) .ktc-project-panel__title {
    width: calc(100% - 52px) !important;
    font-size: clamp(17px, 4.8vw, 21px) !important;
    line-height: 1.12 !important;
    letter-spacing: .03em !important;
    word-spacing: .035em !important;
  }

  body.ktc-homepage-body .ktc-project-panel__index {
    top: 14px !important;
    right: 14px !important;
    padding: 6px 8px !important;
    font-size: 15px !important;
  }

  body.ktc-homepage-body .ktc-project-panel__shade {
    background:
      linear-gradient(180deg, rgba(4, 14, 32, .04) 0%, rgba(4, 14, 32, .10) 45%, rgba(4, 14, 32, .78) 100%),
      linear-gradient(90deg, rgba(4, 14, 32, .26) 0%, rgba(4, 14, 32, 0) 54%) !important;
  }
}

/* KTC216: mobile footer contact card fit + top slogan placement */
@media (max-width: 767px) {
  .ktc-site-footer {
    min-height: 100svh !important;
    padding: 0 !important;
  }

  .ktc-site-footer .ktc-site-footer__slogan {
    top: 20px !important;
    bottom: auto !important;
    left: 50% !important;
    width: calc(100% - 32px) !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    z-index: 2 !important;
  }

  .ktc-site-footer .ktc-site-footer__slogan span {
    font-size: clamp(18px, 5vw, 23px) !important;
    line-height: 1.24 !important;
    letter-spacing: .025em !important;
  }

  .ktc-site-footer .ktc-site-footer__slogan::after {
    width: min(100%, 360px) !important;
  }

  .ktc-site-footer .ktc-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ktc-site-footer__inner,
  .ktc-shared-footer--normal .ktc-site-footer__inner,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-site-footer.ktc-snap-section .ktc-site-footer__inner {
    min-height: 100svh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 88px 16px 20px !important;
  }

  .ktc-site-footer__empty {
    display: none !important;
  }

  .ktc-site-footer__content {
    justify-self: auto !important;
    align-self: center !important;
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    padding: 18px 16px !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 42px rgba(4, 12, 28, .24) !important;
  }

  .ktc-site-footer__content h2 {
    font-size: clamp(21px, 5.8vw, 24px) !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
  }

  .ktc-site-footer__contact {
    margin-top: 14px !important;
    gap: 9px !important;
  }

  .ktc-site-footer__contact p {
    font-size: clamp(13.5px, 3.65vw, 14.5px) !important;
    line-height: 1.38 !important;
  }

  .ktc-site-footer__social {
    gap: 10px !important;
    margin-top: 2px !important;
  }

  .ktc-site-footer__social-link {
    width: 34px !important;
    height: 34px !important;
  }

  .ktc-site-footer__social-link svg {
    width: 17px !important;
    height: 17px !important;
  }
}
/* KTC217: mobile footer contact card fully visible above bottom chrome */
@media (max-width: 767px) {
  .ktc-site-footer,
  .ktc-site-footer.ktc-snap-section,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-site-footer.ktc-snap-section {
    min-height: 100dvh !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .ktc-site-footer .ktc-site-footer__slogan {
    top: 20px !important;
    bottom: auto !important;
    left: 50% !important;
    width: calc(100% - 30px) !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    z-index: 3 !important;
  }

  .ktc-site-footer .ktc-site-footer__slogan span {
    font-size: clamp(17px, 4.65vw, 21px) !important;
    line-height: 1.22 !important;
    letter-spacing: .022em !important;
  }

  .ktc-site-footer .ktc-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ktc-site-footer__inner,
  .ktc-shared-footer--normal .ktc-site-footer__inner,
  .ktc-shared-footer--snap .ktc-site-footer__inner,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-site-footer.ktc-snap-section .ktc-site-footer__inner {
    min-height: 100dvh !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 76px 14px 82px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .ktc-site-footer__empty {
    display: none !important;
  }

  .ktc-site-footer__content {
    justify-self: auto !important;
    align-self: center !important;
    width: min(100%, 342px) !important;
    max-width: 342px !important;
    padding: 14px 14px 13px !important;
    border-radius: 15px !important;
    box-sizing: border-box !important;
    box-shadow: 0 14px 34px rgba(4, 12, 28, .22) !important;
    overflow: visible !important;
  }

  .ktc-site-footer__content h2 {
    font-size: clamp(18px, 5.05vw, 21px) !important;
    line-height: 1.03 !important;
    letter-spacing: 0 !important;
  }

  .ktc-site-footer__contact {
    margin-top: 10px !important;
    gap: 7px !important;
  }

  .ktc-site-footer__contact p {
    font-size: clamp(12.2px, 3.25vw, 13.2px) !important;
    line-height: 1.32 !important;
  }

  .ktc-site-footer__social {
    gap: 8px !important;
    margin-top: 0 !important;
  }

  .ktc-site-footer__social-link {
    width: 30px !important;
    height: 30px !important;
  }

  .ktc-site-footer__social-link svg {
    width: 15px !important;
    height: 15px !important;
  }
}

@media (max-width: 374px) {
  .ktc-site-footer__inner,
  .ktc-shared-footer--normal .ktc-site-footer__inner,
  .ktc-shared-footer--snap .ktc-site-footer__inner,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-site-footer.ktc-snap-section .ktc-site-footer__inner {
    padding: 70px 12px 72px !important;
  }

  .ktc-site-footer__content {
    width: min(100%, 326px) !important;
    max-width: 326px !important;
    padding: 12px 12px 11px !important;
  }

  .ktc-site-footer__content h2 {
    font-size: 17px !important;
  }

  .ktc-site-footer__contact p {
    font-size: 11.8px !important;
    line-height: 1.28 !important;
  }
}

/* KTC221: move homepage featured news title from blue excerpt box to image foot */
.ktc-news-lead__media-link {
  position: relative;
}

.ktc-news-lead__image-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  height: 46%;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(4, 12, 28, 0) 0%, rgba(4, 12, 28, .54) 44%, rgba(3, 10, 24, .9) 100%);
}

.ktc-news-lead__image-title {
  position: absolute;
  left: clamp(22px, 2vw, 34px);
  right: clamp(22px, 2vw, 34px);
  bottom: clamp(20px, 2vw, 32px);
  z-index: 2;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #fff;
  font-family: "UTM Hanzel", var(--ktc-font-display);
  font-size: clamp(24px, 1.75vw, 36px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: .02em;
  text-transform: none;
  text-shadow: 0 10px 28px rgba(0, 0, 0, .42);
}

.ktc-news-lead__copy--excerpt-only {
  gap: 0;
}

.ktc-news-lead__copy--excerpt-only p {
  font-size: clamp(17px, 1.08vw, 21px);
  line-height: 1.58;
}

@media (max-width: 1279px) {
  .ktc-news-lead__image-title {
    font-size: clamp(22px, 2.9vw, 32px);
    -webkit-line-clamp: 2;
  }
}

@media (max-width: 767px) {
  .ktc-news-lead__image-title {
    left: 18px;
    right: 18px;
    bottom: 18px;
    font-size: 22px;
    line-height: 1.13;
    -webkit-line-clamp: 3;
  }

  .ktc-news-lead__copy--excerpt-only p {
    font-size: 15px;
    line-height: 1.5;
  }
}

/* KTC222/KTC223: keep homepage news/recruitment thumbnails inside the designed frame, with a taller desktop frame */
body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__media-link,
body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__content {
  height: clamp(460px, 56vh, 600px) !important;
  min-height: 0 !important;
  max-height: clamp(460px, 56vh, 600px) !important;
}

body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__media-link {
  position: relative !important;
  overflow: hidden !important;
}

body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__media-link img,
body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__placeholder {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.ktc-homepage-body .ktc-news-panel .ktc-news-side-list {
  height: clamp(460px, 56vh, 600px) !important;
  min-height: clamp(460px, 56vh, 600px) !important;
  max-height: clamp(460px, 56vh, 600px) !important;
}

body.ktc-homepage-body .ktc-news-panel .ktc-news-side-card,
body.ktc-homepage-body .ktc-news-panel .ktc-news-side-card__link {
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}

body.ktc-homepage-body .ktc-news-panel .ktc-news-side-card__media img,
body.ktc-homepage-body .ktc-news-panel .ktc-news-side-card__placeholder {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__media-link {
    height: 250px !important;
    min-height: 0 !important;
    max-height: 250px !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__content {
    height: auto !important;
    max-height: none !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-side-list {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-side-card__link {
    height: 210px !important;
    min-height: 0 !important;
    max-height: 210px !important;
  }
}

/* KTC224: reduce homepage news desktop block height slightly so the section breathes above the bottom divider */
@media (min-width: 992px) {
  body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__media-link,
  body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__content {
    height: clamp(440px, calc(56vh - 20px), 580px) !important;
    min-height: 0 !important;
    max-height: clamp(440px, calc(56vh - 20px), 580px) !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-side-list {
    height: clamp(440px, calc(56vh - 20px), 580px) !important;
    min-height: clamp(440px, calc(56vh - 20px), 580px) !important;
    max-height: clamp(440px, calc(56vh - 20px), 580px) !important;
  }
}

/* KTC229: sync mobile content-section headings with homepage section heading size; page h1 titles untouched */
@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-fields-home__heading h2,
  body.ktc-homepage-body .ktc-stats-home__title-fixed,
  body.ktc-homepage-body .ktc-news-home__heading h2,
  body.ktc-homepage-body .ktc-projects-home__header h2,
  body.ktc-member-page-body .ktc-member-tree__intro h2 {
    font-size: 25px !important;
    line-height: 1.14 !important;
  }

  body.ktc-homepage-body .ktc-stats-home__title-fixed > span,
  body.ktc-member-page-body .ktc-member-tree__intro h2 > span {
    font-size: inherit !important;
    line-height: inherit !important;
  }
}

/* KTC273: mobile homepage section vertical spacing, excluding first hero banner */
@media (max-width: 767px) {
  body.ktc-homepage-body .ktc-homepage-main > .ktc-snap-section:not(.ktc-hero-banner),
  body.ktc-homepage-body.ktc-snap-enabled .ktc-homepage-main > .ktc-snap-section:not(.ktc-hero-banner) {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  body.ktc-homepage-body .ktc-homepage-main > .ktc-about-home.ktc-snap-section,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-homepage-main > .ktc-about-home.ktc-snap-section,
  body.ktc-homepage-body .ktc-homepage-main > .ktc-fields-home.ktc-snap-section,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-homepage-main > .ktc-fields-home.ktc-snap-section,
  body.ktc-homepage-body .ktc-homepage-main > .ktc-stats-home.ktc-snap-section,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-homepage-main > .ktc-stats-home.ktc-snap-section,
  body.ktc-homepage-body .ktc-homepage-main > .ktc-news-home.ktc-snap-section,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-homepage-main > .ktc-news-home.ktc-snap-section,
  body.ktc-homepage-body .ktc-homepage-main > .ktc-projects-home.ktc-snap-section,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-homepage-main > .ktc-projects-home.ktc-snap-section,
  body.ktc-homepage-body .ktc-homepage-main > .ktc-philosophy-home.ktc-snap-section,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-homepage-main > .ktc-philosophy-home.ktc-snap-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* KTC333: polish tablet header menu button to match mobile look */
@media (min-width: 700px) and (max-width: 991px) {
  html body .ktc-site-header .ktc-mobile-toggle,
  html body .ktc-site-header button.ktc-mobile-toggle,
  html body .ktc-inner-site-header .ktc-mobile-toggle,
  html body .ktc-inner-site-header button.ktc-mobile-toggle {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.10) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), 0 10px 24px rgba(0, 29, 72, 0.16) !important;
    outline: 0 !important;
    transform: none !important;
    filter: none !important;
    overflow: hidden !important;
  }

  html body .ktc-site-header .ktc-mobile-toggle:hover,
  html body .ktc-site-header .ktc-mobile-toggle:focus-visible,
  html body .ktc-site-header .ktc-mobile-toggle.is-active,
  html body .ktc-inner-site-header .ktc-mobile-toggle:hover,
  html body .ktc-inner-site-header .ktc-mobile-toggle:focus-visible,
  html body .ktc-inner-site-header .ktc-mobile-toggle.is-active {
    border-color: rgba(255,255,255,.36) !important;
    background: rgba(255,255,255,.16) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 12px 26px rgba(0, 29, 72, .20) !important;
  }

  html body .ktc-site-header .ktc-mobile-toggle span,
  html body .ktc-inner-site-header .ktc-mobile-toggle span {
    display: block !important;
    width: 19px !important;
    height: 2px !important;
    min-height: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: none !important;
    opacity: 1 !important;
    position: static !important;
    inset: auto !important;
    transform-origin: center !important;
    transition: transform .24s ease, opacity .2s ease, width .24s ease !important;
  }

  html body .ktc-site-header .ktc-mobile-toggle.is-active span:nth-child(1),
  html body .ktc-inner-site-header .ktc-mobile-toggle.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  html body .ktc-site-header .ktc-mobile-toggle.is-active span:nth-child(2),
  html body .ktc-inner-site-header .ktc-mobile-toggle.is-active span:nth-child(2) {
    opacity: 0 !important;
    transform: scaleX(.3) !important;
  }

  html body .ktc-site-header .ktc-mobile-toggle.is-active span:nth-child(3),
  html body .ktc-inner-site-header .ktc-mobile-toggle.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }
}


/* KTC334: small hosting-capacity warning above footer on news/project listing and news detail pages */
.ktc-hosting-warning {
  position: relative;
  z-index: 3;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 16px 14px;
  margin: 0;
  background: #fff;
  color: #d20d0d;
  font-family: Inter, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 600;
  text-align: center;
  letter-spacing: .01em;
}

@media (max-width: 767px) {
  .ktc-hosting-warning {
    padding: 9px 14px 12px;
    font-size: 11px;
  }
}


/* KTC338: inline warning shown only after clicking pagination on news/project listings */
.ktc-pagination-inline-warning {
  display: none;
  width: min(100%, 980px);
  margin: 16px auto 0;
  padding: 0 16px;
  box-sizing: border-box;
  color: #d20d0d;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
  letter-spacing: .01em;
}

.ktc-pagination-inline-warning.is-visible {
  display: block;
}

.ktc-pagination-inline-warning[hidden] {
  display: none !important;
}

@media (max-width: 767px) {
  .ktc-pagination-inline-warning {
    margin-top: 12px;
    font-size: 12px;
  }
}

/* KTC340: tablet homepage news layout - attach lead blue excerpt under image and place two side cards in one row */
@media (min-width: 768px) and (max-width: 1024px) {
  body.ktc-homepage-body .ktc-news-home .ktc-news-layout,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-news-layout,
  body.ktc-homepage-body .ktc-news-panel .ktc-news-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
    align-items: stretch !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-lead--visual,
  body.ktc-homepage-body .ktc-news-panel .ktc-news-lead--content,
  body.ktc-homepage-body .ktc-news-panel .ktc-news-side-list {
    grid-column: 1 / -1 !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-lead--visual {
    position: relative !important;
    z-index: 2 !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-lead--content {
    position: relative !important;
    z-index: 1 !important;
    margin-bottom: 18px !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__media-link,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-news-lead__media-link {
    height: clamp(300px, 42vw, 390px) !important;
    min-height: 0 !important;
    max-height: clamp(300px, 42vw, 390px) !important;
    border-radius: 22px !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__content,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-news-lead__content {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-top: -24px !important;
    padding: 46px 32px 28px !important;
    border-radius: 0 0 22px 22px !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-lead__copy--excerpt-only p {
    font-size: clamp(17px, 2.15vw, 21px) !important;
    line-height: 1.58 !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-side-list,
  body.ktc-homepage-body.ktc-snap-enabled .ktc-news-home.ktc-snap-section .ktc-news-side-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: 1fr !important;
    grid-auto-rows: 1fr !important;
    gap: 18px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-left: 0 !important;
    align-self: stretch !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-side-card,
  body.ktc-homepage-body .ktc-news-panel .ktc-news-side-card__link {
    height: clamp(220px, 31vw, 280px) !important;
    min-height: 0 !important;
    max-height: clamp(220px, 31vw, 280px) !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-side-card__body {
    min-height: 96px !important;
    padding: 16px 18px 20px !important;
  }

  body.ktc-homepage-body .ktc-news-panel .ktc-news-side-card__body h4 {
    font-size: clamp(19px, 2.45vw, 24px) !important;
  }
}


/* KTC365: slow, smoother homepage content reveal effects */
html.ktc-enhanced [data-ktc-reveal] {
  transition-duration: 1700ms, 1700ms, 1700ms !important;
  transition-timing-function: cubic-bezier(.18, .72, .18, 1), cubic-bezier(.18, .72, .18, 1), cubic-bezier(.18, .72, .18, 1) !important;
}

html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-title"],
html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-line"],
html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-left"],
html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-center"],
html.ktc-enhanced .ktc-fields-home [data-ktc-reveal="fields-card-right"] {
  transition-duration: 1850ms, 1850ms, 1850ms !important;
  transition-timing-function: cubic-bezier(.16, .78, .18, 1), cubic-bezier(.16, .78, .18, 1), cubic-bezier(.16, .78, .18, 1) !important;
}

html.ktc-enhanced .ktc-stats-home [data-ktc-reveal] {
  transition-duration: 1800ms, 1800ms, 1800ms !important;
  transition-timing-function: cubic-bezier(.16, .78, .18, 1), cubic-bezier(.16, .78, .18, 1), cubic-bezier(.16, .78, .18, 1) !important;
}

html.ktc-enhanced .ktc-philosophy-home [data-ktc-reveal] {
  transition-duration: 1750ms, 1900ms, 1750ms !important;
  transition-timing-function: ease, cubic-bezier(.18, .76, .18, 1), ease !important;
}

html.ktc-enhanced .ktc-philosophy-home__skyline[data-ktc-reveal].is-visible {
  animation-duration: 6.8s !important;
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-title"],
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-line"],
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-ktc-reveal="news-tabs"],
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready [data-news-reveal] {
  transition-duration: 1550ms, 1550ms, 1550ms !important;
  transition-timing-function: cubic-bezier(.18, .76, .18, 1), cubic-bezier(.18, .76, .18, 1), cubic-bezier(.18, .76, .18, 1) !important;
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"] > .ktc-news-showcase__tab,
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"] > button.ktc-news-showcase__tab {
  transition-duration: 950ms, 950ms !important;
  transition-timing-function: cubic-bezier(.18, .76, .18, 1), cubic-bezier(.18, .76, .18, 1) !important;
}

html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > .ktc-news-showcase__tab:nth-child(1),
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > button.ktc-news-showcase__tab:nth-child(1) { transition-delay: 120ms !important; }
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > .ktc-news-showcase__tab:nth-child(2),
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > button.ktc-news-showcase__tab:nth-child(2) { transition-delay: 240ms !important; }
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > .ktc-news-showcase__tab:nth-child(3),
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > button.ktc-news-showcase__tab:nth-child(3) { transition-delay: 360ms !important; }
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > .ktc-news-showcase__tab:nth-child(4),
html.ktc-enhanced .ktc-news-home.ktc-news-animate-ready .ktc-news-showcase__tabs[data-ktc-reveal="news-tabs"].is-visible > button.ktc-news-showcase__tab:nth-child(4) { transition-delay: 480ms !important; }

.ktc-about-home__stage {
  --ktc-about-motion: 2600ms;
}

/* KTC366: slow down shared footer reveal and moving text for a smoother homepage finish */
.ktc-site-footer.ktc-footer-motion-ready .ktc-site-footer__content[data-footer-motion="card"] {
  transition:
    transform 2200ms cubic-bezier(.16, .78, .16, 1),
    opacity 1800ms cubic-bezier(.18, .76, .16, 1) !important;
}

.ktc-site-footer.ktc-footer-motion-ready [data-footer-motion="title"] {
  transition:
    transform 2300ms cubic-bezier(.16, .78, .16, 1),
    opacity 1850ms cubic-bezier(.18, .76, .16, 1) !important;
}

.ktc-site-footer.ktc-footer-motion-ready [data-footer-motion="item"] {
  transition:
    transform 2400ms cubic-bezier(.16, .78, .16, 1),
    opacity 1900ms cubic-bezier(.18, .76, .16, 1) !important;
}

.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible .ktc-site-footer__content[data-footer-motion="card"] {
  transition-delay: 120ms !important;
}

.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="title"] {
  transition-delay: 720ms !important;
}

.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="item"]:nth-of-type(1) {
  transition-delay: 1150ms !important;
}

.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="item"]:nth-of-type(2) {
  transition-delay: 1450ms !important;
}

.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="item"]:nth-of-type(3) {
  transition-delay: 1750ms !important;
}

.ktc-site-footer.ktc-footer-motion-ready.is-footer-motion-visible [data-footer-motion="item"]:nth-of-type(4) {
  transition-delay: 2050ms !important;
}

.ktc-site-footer .ktc-site-footer__slogan span {
  animation-duration: 14.5s !important;
}

.ktc-site-footer .ktc-site-footer__slogan::after {
  animation-duration: 14.5s !important;
}

.ktc-site-footer__content::before,
.ktc-site-footer__content::after {
  animation-duration: 12s !important;
}

.ktc-site-footer__fireworks,
.ktc-site-footer__fireworks::before,
.ktc-site-footer__fireworks .ktc-firework,
.ktc-site-footer__fireworks .ktc-firework::before,
.ktc-site-footer__fireworks .ktc-firework::after {
  animation-duration: 14s !important;
}
