.kt-about { position: relative; overflow: hidden; background: #000; color: #fff; font-family: Roboto, Arial, sans-serif; }
.kt-about__wrap { position: relative; width: min(1200px, calc(100% - 48px)); height: 100%; margin: 0 auto; }
.kt-about h1, .kt-about h2, .kt-about p { margin-top: 0; }
.kt-about--hero { height: 100vh; }
.kt-about__hero-media { position: absolute; z-index: 0; top: 0; left: 50%; width: 100vw; height: 100%; transform: translateX(-50%); background-image: linear-gradient(rgba(0,0,0,.8), rgba(0,0,0,.8)), var(--kt-about-image); background-position: center 42%; background-size: cover; }
.kt-about__hero-copy { position: relative; z-index: 1; display: flex; box-sizing: border-box; width: 1000px; max-width: 100%; height: 100%; margin: 0 auto; padding-top: 112px; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.admin-bar .kt-about__hero-copy { padding-top: 144px; }
.kt-about__hero-copy h1 { margin-bottom: 48px; color: #08f; font-size: 52px; font-weight: 700; line-height: 1.15; letter-spacing: .1em; }
.kt-about__hero-copy p { margin-bottom: 28px; color: #fff; font-size: 18px; font-weight: 300; line-height: 1.5; letter-spacing: 0; }
.kt-about__hero-copy .kt-about__copy { width: 100%; }
.kt-about__hero-copy .kt-about__copy p:last-child { margin-bottom: 0; }
.kt-about--contact { box-sizing: border-box; height: 100vh; padding: 100px 0; }
.kt-about__contact-copy { position: absolute; top: 50%; left: 44px; width: 570px; transform: translateY(-50%); }
.kt-about__contact-copy h2, .kt-about__section-header h2 { margin-bottom: 48px; font-size: 46px; font-weight: 700; line-height: 1.2; }
.kt-about__contact-copy h2 { font-size: 48px; }
.kt-about__contact-copy p { margin-bottom: 14px; color: #999; font-size: 18px; line-height: 1.72; }
.kt-about__contact-cta { display: inline-flex; margin-top: 32px; align-items: center; gap: 12px; color: #08f; font-size: 18px; line-height: 1.2; text-decoration: none; transition: color .25s ease, filter .25s ease; }
.kt-about__contact-cta-label { border-bottom: 2px solid currentColor; }
.kt-about__contact-cta .xhl-icon { display: inline-block; font-size: 18px; transform: rotate(45deg); }
.kt-about__contact-cta:hover, .kt-about__contact-cta:focus-visible { color: #fff; filter: drop-shadow(0 0 10px rgba(0,136,255,.75)); outline: none; }
.kt-about__contact-cta:active { color: #6db8ff; }
.kt-about__contact-image { position: absolute; top: 50%; right: 44px; width: 544px; height: 100%; max-height: 552px; transform: translateY(-50%); object-fit: contain; }
.kt-about--global { box-sizing: border-box; height: auto; min-height: 100vh; padding: 100px 0; background: #fff; color: #1a1a1a; }
.kt-about--global .kt-about__wrap { display: flex; flex-direction: column; }
.kt-about--global .kt-about__section-header { padding-left: 44px; }
.kt-about--global .kt-about__section-header h2 { margin-bottom: 48px; font-size: 48px; }
.kt-about__stat-prefix { margin-bottom: 26px; color: #1a1a1a; font-size: 18px; line-height: 1.3; }
.kt-about__stat { display: flex; align-items: baseline; gap: 20px; }
.kt-about__stat strong { color: #9C0003; font-size: 48px; font-weight: 400; }
.kt-about__stat span { font-size: 18px; }
.kt-about__global-map { position: relative; width: 1200px; max-width: 100%; margin: 70px auto 0; overflow: hidden; background: transparent; }
.kt-about__map { display: block; width: 100%; height: auto; margin: 0 auto; flex: none; }
.kt-about__map-surface { fill: #f4f6f8; }
.kt-about__map-grid { fill: none; stroke: #393939; stroke-width: 1; opacity: .48; }
.kt-about__map-land { fill: #4d5865; stroke: #dce2e8; stroke-width: .9; opacity: .96; }
.kt-about__world-map-asset { fill: #4d5865; stroke: #dce2e8; stroke-width: .9; vector-effect: non-scaling-stroke; }
.kt-about__map-routes { stroke: #084a9e; stroke-width: 1.8; stroke-linecap: round; stroke-dasharray: 5 10; opacity: 1; }
.kt-about__map-route { stroke-dashoffset: 0; transition: stroke .3s ease, opacity .3s ease, stroke-width .3s ease; }
.kt-about__map-route.is-muted { opacity: .08; }
.kt-about__map-route.is-active { stroke: #43a9ff; opacity: .9; stroke-width: 1.8; filter: drop-shadow(0 0 3px rgba(22,140,255,.5)); }
.kt-about__map-flows { pointer-events: none; }
.kt-about__map-flow { fill: #9bd3ff; stroke: #168cff; stroke-width: 1.1; filter: url(#kt-map-blue-glow); opacity: 0; }
.kt-about__map-node { cursor: pointer; outline: none; transform-box: fill-box; transform-origin: center; transition: transform .3s ease, filter .3s ease; }
.kt-about__map-node-glow { fill: url(#kt-map-glow); opacity: .42; pointer-events: none; }
.kt-about__map-node-pulse { fill: none; stroke: #168cff; stroke-width: 1.15; opacity: .62; pointer-events: none; }
.kt-about__map-node-wave { fill: none; stroke: #43a9ff; stroke-width: 1; opacity: 0; pointer-events: none; }
.kt-about__map-node-dot { fill: #168cff; stroke: #d8efff; stroke-width: 1; filter: drop-shadow(0 0 3px rgba(22,140,255,.72)); pointer-events: none; }
.kt-about__map-node:hover .kt-about__map-node-dot,
.kt-about__map-node:focus-visible .kt-about__map-node-dot,
.kt-about__map-node.is-active .kt-about__map-node-dot { fill: #fff; }
.kt-about__map-node:hover .kt-about__map-node-pulse,
.kt-about__map-node:focus-visible .kt-about__map-node-pulse,
.kt-about__map-node.is-active .kt-about__map-node-pulse { stroke: #fff; }
.kt-about__map-node:hover,
.kt-about__map-node:focus-visible,
.kt-about__map-node:hover,
.kt-about__map-node:focus-visible,
.kt-about__map-node.is-active { transform: scale(1.1); filter: drop-shadow(0 0 6px rgba(22,140,255,.72)); }
.kt-about__map-legend { fill: #168cff; font: 11px Roboto, Arial, sans-serif; letter-spacing: .16em; opacity: .78; }
.kt-about--history { box-sizing: border-box; height: 100vh; padding: 100px 0; }
.kt-about--history .kt-about__wrap { display: flex; flex-direction: column; }
.kt-about--history .kt-about__section-header { padding-left: 44px; }
.kt-about--history .kt-about__section-header h2 { margin-bottom: 48px; }
.kt-about--history .kt-about__section-header p { margin-bottom: 12px; color: #999; font-size: 18px; line-height: 1.72; }
.kt-about__history-stage { position: relative; min-height: 0; margin-top: 20px; flex: 1; }
.kt-about__history-card { position: absolute; z-index: 2; top: 0; left: 50%; width: 544px; height: 315px; overflow: hidden; transform: translateX(-50%); border: 1px solid #fff; background: #000; }
.kt-about__history-card strong { position: relative; z-index: 2; display: block; padding: 28px 32px; font-size: 52px; line-height: 1; }
.kt-about__history-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .48; transition: opacity .35s ease; }
.kt-about__history-card img.is-changing { opacity: 0; }
.kt-about__history-copy { position: absolute; z-index: 3; top: 360px; left: 50%; width: 820px; transform: translateX(-50%); color: #999; font-size: 18px; line-height: 1.8; text-align: center; transition: opacity .35s ease, transform .35s ease; }
.kt-about__history-copy.is-changing { transform: translate(-50%, 6px); opacity: 0; }
.kt-about__orbit { position: absolute; top: 122px; left: 50%; width: 1160px; height: 380px; transform: translateX(-50%); border: 1px solid #08f; border-radius: 50%; }
.kt-about__year { position: absolute; top: 67%; left: 50%; width: 106px; height: 64px; padding: 18px 0 0; transform: translate(-50%, calc(-50% - 38px)) translate(var(--history-x, 0), var(--history-y, 0)); border: 0; background: transparent; color: #08f; cursor: pointer; font: inherit; font-size: 35px; font-weight: 700; text-align: center; white-space: nowrap; transition: transform .75s cubic-bezier(.22,.61,.36,1), color .3s ease, filter .3s ease; }
.kt-about__year::before { position: absolute; top: 0; left: 50%; width: 12px; height: 12px; transform: translateX(-50%); border-radius: 50%; background: #08f; box-shadow: 0 0 12px #08f; content: ""; }
.kt-about__year:hover, .kt-about__year:focus-visible { color: #fff; outline: none; filter: drop-shadow(0 0 8px #08f); }
.kt-about__year.is-active,
.kt-about__year.is-active:hover,
.kt-about__year.is-active:focus-visible { color: #fff; filter: drop-shadow(0 0 8px #fff); }
.kt-about__year.is-active::before { background: #fff; box-shadow: 0 0 12px #fff; }
.kt-about--news { padding: 100px 0; background: #f4f4f4; color: #1a1a1a; }
.kt-about--news .kt-about__wrap { display: grid; height: auto; align-items: center; grid-template-columns: minmax(0, 1fr) minmax(420px, 520px); gap: 80px; }
.kt-about__news-copy { max-width: 650px; }
.kt-about__news-copy h2 { margin-bottom: 24px; font-size: 48px; line-height: 1.2; }
.kt-about__news-copy p { margin-bottom: 0; color: #666; font-size: 18px; line-height: 1.7; }
.kt-about__news-cta { display: inline-flex; margin-top: 32px; align-items: center; gap: 12px; color: #08f; font-size: 18px; line-height: 1.2; text-decoration: none; transition: color .25s ease, filter .25s ease; }
.kt-about__news-cta-label { border-bottom: 2px solid currentColor; }
.kt-about__news-cta .xhl-icon { display: inline-block; font-size: 18px; transform: rotate(45deg); }
.kt-about__news-cta:hover, .kt-about__news-cta:focus-visible { color: #1a1a1a; filter: drop-shadow(0 0 10px rgba(0,136,255,.4)); outline: none; }
.kt-about__news-cta:active { color: #6db8ff; }
.kt-about__news-card { display: grid; min-width: 0; grid-template-columns: 210px minmax(0, 1fr); background: #fff; }
.kt-about__news-card-media { display: block; min-height: 168px; overflow: hidden; background: #e5e5e5; }
.kt-about__news-card-media img { display: block; width: 100%; height: 100%; min-height: 168px; object-fit: cover; transition: transform .3s ease; }
.kt-about__news-card:hover .kt-about__news-card-media img { transform: scale(1.03); }
.kt-about__news-card-body { display: flex; min-width: 0; padding: 26px 28px; flex-direction: column; justify-content: center; }
.kt-about__news-card-body time { margin-bottom: 12px; color: #777; font-size: 14px; }
.kt-about__news-card-body h3 { margin: 0; font-size: 22px; line-height: 1.35; }
.kt-about__news-card-body a { color: #1a1a1a; text-decoration: none; }
.kt-about__news-card-body a:hover, .kt-about__news-card-body a:focus-visible { color: #9c0003; outline: none; }
@media (max-width: 1024px) { .kt-about__hero-copy h1 { font-size: 56px; } .kt-about__hero-copy p { font-size: 20px; } .kt-about__contact-copy { width: 46%; } .kt-about__contact-image { width: 48%; } .kt-about__orbit { width: 92vw; } }
@media (min-width: 1025px) and (max-width: 1440px) {
  .kt-about--history, .kt-about--history .kt-about__wrap { height: auto; }
  /* Include the absolute timeline and its lowest year in the content height. */
  .kt-about__history-stage { min-height: 560px; flex: none; }
  /* Each side reserves 53px for half a year button, 68px for the contact rail, and a 20px gap. */
  .kt-about__orbit { max-width: calc(100vw - 282px); }
  .kt-about__history-card { max-width: calc((100vw - 282px) * 544 / 1160); height: auto; aspect-ratio: 544 / 315; }
  .kt-about__history-copy { max-width: calc((100vw - 282px) * 820 / 1160); }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .kt-about { height: auto; min-height: 0; padding: 40px 0; }
  .kt-about__wrap { height: auto; }
  .kt-about--hero { padding: 0; }
  .kt-about--hero .kt-about__hero-copy { width: min(760px, 100%); height: auto; padding: 40px 0; }
  .kt-about__hero-copy h1 { margin-bottom: 24px; font-size: 40px; letter-spacing: .04em; }
  .kt-about :is(.kt-about__contact-copy, .kt-about__section-header, .kt-about__news-copy) h2 { margin-bottom: 24px; font-size: 36px; }
  .kt-about .kt-about__copy p { margin-bottom: 20px; font-size: 16px; line-height: 1.7; }
  .kt-about .kt-about__copy > :last-child { margin-bottom: 0; }
  .kt-about .kt-about__section-header { padding: 0; }
  .kt-about__contact-cta, .kt-about__news-cta { margin-top: 24px; font-size: 16px; }

  .kt-about--contact .kt-about__wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; align-items: center; }
  .kt-about__contact-copy { position: static; width: auto; transform: none; }
  .kt-about__contact-image { position: static; display: block; width: 100%; height: auto; max-height: 420px; transform: none; }

  .kt-about__stat-prefix, .kt-about__stat span { font-size: 16px; }
  .kt-about__stat-prefix { margin-bottom: 20px; }
  .kt-about__stat strong { font-size: 36px; }
  .kt-about__global-map { margin-top: 32px; }

  .kt-about__history-stage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: center; height: auto; margin-top: 24px; flex: none; }
  .kt-about__history-card { position: relative; top: auto; left: auto; width: 100%; height: auto; aspect-ratio: 544 / 315; transform: none; }
  .kt-about__history-card strong { padding: 24px; font-size: 32px; }
  .kt-about__history-stage .kt-about__history-copy { position: static; width: 100%; margin: 0; transform: none; font-size: 16px; line-height: 1.7; text-align: left; }
  .kt-about__orbit {
    position: static;
    display: grid;
    grid-column: 1 / -1;
    order: -1;
    grid-template-columns: repeat(auto-fit, minmax(76px, 1fr));
    gap: 12px;
    width: 100%;
    height: auto;
    transform: none;
    border: 0;
    border-radius: 0;
  }
  .kt-about__orbit .kt-about__year { position: static; width: 100%; height: auto; min-height: 44px; padding: 10px 6px; transform: none; border: 1px solid rgba(0,136,255,.55); border-radius: 6px; background: #0b111b; font-size: 16px; line-height: 1.2; filter: none; transition: background-color 160ms ease, color 160ms ease; }
  .kt-about__orbit .kt-about__year::before { display: none; }
  .kt-about__orbit .kt-about__year:is(:hover, :focus-visible, .is-active) { border-color: #168cff; background: #0668c9; color: #fff; filter: none; }
  .kt-about__orbit .kt-about__year:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

  .kt-about--news .kt-about__wrap { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 768px) {
  .kt-about__wrap { width: calc(100% - 40px); }
  .kt-about__hero-copy { width: 100%; }
  .kt-about--hero { height: auto; min-height: 720px; } .kt-about__hero-copy, .admin-bar .kt-about__hero-copy { display: block; height: auto; padding: 105px 0 72px; }
  .kt-about__hero-copy h1 { margin-bottom: 38px; font-size: clamp(28px, 8vw, 42px); letter-spacing: .06em; } .kt-about__hero-copy p { margin-bottom: 22px; font-size: 16px; letter-spacing: 0; }
  .kt-about--contact { height: auto; min-height: 740px; padding: 0; } .kt-about__contact-copy { position: relative; top: auto; left: auto; width: 100%; padding-top: 72px; transform: none; }
  .kt-about__contact-copy h2, .kt-about__section-header h2 { margin-bottom: 32px; font-size: 34px; } .kt-about__contact-copy p { font-size: 16px; } .kt-about--history .kt-about__section-header p { font-size: 18px; }
  .kt-about__contact-image { position: relative; top: auto; right: auto; width: 100%; height: auto; margin: 48px 0 56px; transform: none; }
  .kt-about--global { height: auto; min-height: 760px; padding: 0; } .kt-about--global .kt-about__section-header { padding: 72px 0 0; }
  .kt-about__stat-prefix, .kt-about__stat span { font-size: 18px; } .kt-about__stat { gap: 20px; } .kt-about__stat strong { font-size: 40px; }
  .kt-about__global-map { width: 100%; margin: 72px 0 0; }
  .kt-about--history { height: auto; min-height: 1100px; padding: 0; } .kt-about--history .kt-about__section-header { padding: 72px 0 0; }
  .kt-about__history-stage { height: 780px; margin-top: 54px; } .kt-about__history-card { width: 100%; height: 220px; } .kt-about__history-card strong { font-size: 42px; }
  .kt-about__history-copy { top: 258px; width: 100%; font-size: 18px; } .kt-about__orbit { top: 390px; width: 100%; max-width: 300px; height: 300px; }
  .kt-about__year { width: 68px; height: 46px; padding-top: 14px; transform: translate(-50%, calc(-50% - 27px)) translate(var(--history-x, 0), var(--history-y, 0)); font-size: 20px; } .kt-about__year::before { width: 8px; height: 8px; }

  .kt-about__year{
    top: 65%;
  }
  .kt-about--news { padding: 72px 0; }
  .kt-about--news .kt-about__wrap { display: grid; grid-template-columns: 1fr; gap: 36px; }
  .kt-about__news-copy h2 { font-size: 34px; }
  .kt-about__news-copy p { font-size: 16px; }
  .kt-about__news-card { grid-template-columns: 1fr; }
  .kt-about__news-card-media { aspect-ratio: 16 / 9; min-height: 0; }
  .kt-about__news-card-media img { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .kt-about__map-route,
  .kt-about__map-node-pulse,
  .kt-about__map-flow { animation: none; }
  .kt-about__map-node,
  .kt-about__map-route { transition: none; }
  .kt-about__year,
  .kt-about__history-card img,
  .kt-about__history-copy { transition: none; }
}
