

html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 128px; }

.kd-container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--pad-desktop);
  padding-right: var(--pad-desktop);
}
.kd-section { padding-top: var(--section-y); padding-bottom: var(--section-y); }
.kd-band-soft { background: var(--surface-soft); }

@media (max-width: 640px) {
  .kd-container { padding-left: var(--pad-mobile); padding-right: var(--pad-mobile); }
  .kd-section { padding-top: var(--section-y-mobile); padding-bottom: var(--section-y-mobile); }
}

.kd-eyebrow {
  font-size: var(--fs-micro);
  font-weight: var(--fw-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kd-blue);
  margin-bottom: var(--sp-3);
}
.kd-eyebrow--on-navy { color: #7FB0DC; }
.kd-hero .kd-eyebrow { margin-bottom: var(--sp-2); }

.kd-h1 {
  font-size: var(--fs-h1);
  font-weight: var(--fw-black);
  letter-spacing: -0.01em;
  margin: 0;
}
.kd-lead {
  font-size: var(--fs-lead);
  color: var(--text-sub);
  line-height: var(--lh-body);
  margin: var(--sp-3) 0 0;
  max-width: 640px;
}

.kd-header {
  background: var(--kd-navy);
  border-bottom: 3px solid var(--kd-blue);
  position: sticky;
  top: 0;
  z-index: 40;
}
.kd-header__inner {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--pad-desktop);
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
}
.kd-brand { display: flex; align-items: baseline; gap: var(--sp-3); }
.kd-brand:hover { text-decoration: none; }
.kd-brand__mark {
  font-weight: var(--fw-black);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
  color: var(--text-invert);
  font-size: 1.3rem;
  line-height: 1;
}
.kd-brand__sub { color: #7FB0DC; font-size: 0.78rem; font-weight: var(--fw-medium); letter-spacing: 0.04em; }

.kd-nav { display: flex; align-items: center; gap: var(--sp-1); }
.kd-nav a {
  color: #C7D2E0;
  font-size: 0.95rem;
  font-weight: var(--fw-medium);
  padding: 10px 16px;
}
.kd-nav a:hover { color: var(--text-invert); text-decoration: none; }
.kd-nav a[aria-current="page"] { color: var(--text-invert); font-weight: var(--fw-semibold); }

.kd-nav__item { position: relative; display: flex; align-items: center; height: 76px; }
.kd-nav__item > a { display: flex; align-items: center; height: 100%; }

.kd-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  background: var(--surface);
  border: var(--card-border);
  border-top: 3px solid var(--kd-blue);
  box-shadow: var(--card-shadow-hover);
  padding: var(--sp-2) 0;
  z-index: 50;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity var(--t-fast), transform var(--t-fast), visibility var(--t-fast);
}
.kd-nav__item:hover .kd-dropdown,
.kd-nav__item:focus-within .kd-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.kd-dropdown--right { left: auto; right: 0; }

@media (max-width: 1200px) {
  .kd-dropdown { left: auto; right: 0; }
}
.kd-dropdown a {
  display: block;
  padding: 10px 24px;
  color: var(--text-body);
  font-size: var(--fs-cell);
  font-weight: var(--fw-regular);
}
.kd-dropdown a:hover { background: var(--kd-blue-lt); color: var(--kd-blue); text-decoration: none; }
.kd-dropdown__group {
  padding: var(--sp-3) 24px var(--sp-1);
  font-size: var(--fs-caption);
  font-weight: var(--fw-bold);
  color: var(--text-title);
}
.kd-dropdown__group + a,
.kd-dropdown__group ~ a { padding-left: 36px; }

.kd-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-weight: var(--fw-bold);
  border: 1px solid transparent;
  padding: 12px 24px;
  font-size: 1rem;
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast);
}
.kd-btn:hover { text-decoration: none; }
.kd-btn--primary { background: var(--kd-blue); border-color: var(--kd-blue); color: var(--text-invert); }
.kd-btn--primary:hover { background: var(--kd-blue-dk); border-color: var(--kd-blue-dk); color: var(--text-invert); }
.kd-btn--ghost { background: transparent; border-color: #5E7CA6; color: var(--text-invert); }
.kd-btn--ghost:hover { background: rgba(255, 255, 255, 0.08); color: var(--text-invert); }
.kd-btn--sm { padding: 9px 18px; font-size: 0.9rem; }

.kd-hero { position: relative; background: var(--kd-navy); overflow: hidden; }
.kd-hero__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #1E3354 0%, #24406B 55%, #2E5486 100%);
  overflow: hidden;
}
.kd-hero__grid-lines {
  position: absolute;
  inset: 0;
  opacity: 0.5;
  background-image: repeating-linear-gradient(45deg,
    rgba(255, 255, 255, 0.04) 0, rgba(255, 255, 255, 0.04) 1px,
    transparent 1px, transparent 22px);
}

.kd-hero__watermark {
  position: absolute;
  right: 16px;
  top: -28px;
  font-weight: var(--fw-black);
  font-size: 11rem;
  letter-spacing: 0.06em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.05);
  text-transform: uppercase;
  pointer-events: none;
  user-select: none;
}

.kd-hero__body {
  position: relative;
  z-index: 2;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 36px var(--pad-desktop) 28px;
}
.kd-hero h1 {
  color: var(--text-invert);
  
  font-size: var(--fs-h1);
  font-weight: var(--fw-black);
  line-height: var(--lh-hero);
  margin: 0 0 var(--sp-3);
  letter-spacing: -0.01em;
}
.kd-hero h1 em { font-style: normal; color: #7FB0DC; }

.kd-hero__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-8);
  flex-wrap: wrap;
}
.kd-hero__lead {
  color: #B8C5D8;
  font-size: var(--fs-body);
  line-height: 1.6;
  max-width: 620px;
  margin: 0;
  flex: 1 1 360px;
}
.kd-hero__actions { display: flex; gap: 10px; flex-wrap: wrap; }

.kd-proof { position: relative; z-index: 2; }

.kd-proof__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.kd-proof__item {
  display: flex;
  align-items: baseline;
  gap: var(--sp-3);
  padding: 13px 24px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}
.kd-proof__item:first-child { padding-left: 0; }
.kd-proof__item:last-child { border-right: none; }
.kd-proof__k { color: var(--text-invert); font-weight: var(--fw-bold); font-size: 1rem; white-space: nowrap; }
.kd-proof__v { color: #8FA3BF; font-size: 0.85rem; }

.kd-hero__stage { position: relative; z-index: 2; padding: 28px 0 32px; }

.kd-hero--videotop .kd-hero__stage { padding: 24px 0 26px; }
.kd-hero--videotop .kd-hero__body { padding: 6px var(--pad-desktop) 26px; }

.kd-hero--videotop .kd-hero__watermark { top: auto; bottom: -34px; right: 16px; }

.kd-hero--videotop .kd-hero__lead { max-width: 760px; }

.kd-videoband { background: var(--kd-navy); padding-bottom: var(--sp-16); }
.kd-videoband__frame {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--pad-desktop);
}
.kd-videoband video {
  display: block;
  width: 100%;
  aspect-ratio: 2556 / 596;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: #000;
}
.kd-videoband__cap {
  max-width: var(--container-max);
  margin: var(--sp-3) auto 0;
  padding: 0 var(--pad-desktop);
  color: #8FA3BF;
  font-size: var(--fs-caption);
}

.kd-stage {
  position: relative;
  height: 480px;
  overflow: hidden;
  border: var(--card-border);
  box-shadow: var(--card-shadow);
}
.kd-stage__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  animation: kd-kenburns 14s ease-out both;
}
.kd-stage__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(20, 32, 54, 0.92) 0%, rgba(20, 32, 54, 0.72) 46%, rgba(20, 32, 54, 0.30) 100%);
}
.kd-stage__content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 620px;
  padding: 56px;
  animation: kd-fadein 0.5s ease-out both;
}

.kd-stage__content[hidden] { display: none; }
.kd-stage__icon-row { display: inline-flex; align-items: center; gap: 9px; margin-bottom: var(--sp-4); }
.kd-stage__dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-round);
  background: rgba(46, 117, 182, 0.85);
}
.kd-stage__dot svg { width: 22px; height: 22px; stroke: #fff; }
.kd-stage__eyebrow {
  color: #7FB0DC;
  font-weight: var(--fw-bold);
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.kd-stage h3 {
  color: var(--text-invert);
  font-size: 2.1rem;
  font-weight: var(--fw-black);
  line-height: 1.22;
  margin: 0 0 var(--sp-4);
  white-space: pre-line;
}
.kd-stage p {
  color: #D3DCE8;
  font-size: var(--fs-lead);
  line-height: var(--lh-body);
  margin: 0 0 var(--sp-6);
}
.kd-tags { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.kd-tags span {
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #E4EAF2;
  font-size: 0.84rem;
  font-weight: var(--fw-medium);
  padding: 7px 14px;
}

.kd-stage--flat { height: auto; aspect-ratio: 2556 / 596; }
.kd-stage--flat .kd-stage__content { padding: 0 clamp(24px, 5%, 64px); max-width: 720px; }
.kd-stage--flat .kd-stage__content h3 {
  font-size: clamp(1.25rem, 3vw, 2.5rem);
  margin-bottom: clamp(4px, 1%, 12px);
}
.kd-stage--flat .kd-stage__content p {
  font-size: clamp(0.75rem, 1.15vw, 1.125rem);
  font-weight: var(--fw-bold);
  margin: 0;
  line-height: 1.5;
}
.kd-stage--flat .kd-stage__scrim {
  background: linear-gradient(to bottom right,
    rgba(20, 32, 54, 0.78) 0%, rgba(20, 32, 54, 0.42) 50%, rgba(20, 32, 54, 0.10) 100%);
}

.kd-stage__video {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 130%;
  transform: translateY(-50%);
  object-fit: cover;
  background: #000;
}

.kd-stage__still {
  position: absolute;
  left: 0;
  
  top: -15%;
  width: 100%;
  height: 130%;
  object-fit: cover;
  
  object-position: center 72%;
  background: #000;
  z-index: 1;
}
.kd-stage__still.is-playing {
  
  animation: kd-still-zoom var(--kd-still-hold, 3s) linear forwards;
}
@keyframes kd-still-zoom {
  from { transform: scale(1); }
  to   { transform: scale(1.07); }
}
@media (prefers-reduced-motion: reduce) {
  .kd-stage__still.is-playing { animation: none; }
}

.kd-stage__cap[hidden] { display: none; }
.kd-stage__cap {
  position: absolute;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  gap: 6px;
  color: var(--text-invert);
  
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.72), 0 0 3px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.kd-stage__cap span {
  font-size: var(--fs-lead);
  font-weight: var(--fw-bold);
  line-height: 1.45;
  word-break: keep-all;
}
.kd-stage__cap--right { right: var(--sp-12); text-align: left; }
.kd-stage__cap--right span::before { content: '· '; color: #9FC5E8; }
.kd-stage__cap--center { left: 50%; transform: translate(-50%, -50%); text-align: center; }
.kd-stage__cap--center span { font-size: var(--fs-h3); }

.kd-stage__cap--left { left: var(--sp-12); text-align: left; }
.kd-stage__cap--left span { font-size: var(--fs-h3); }

.kd-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: var(--card-border);
  border-top: none;
  background: var(--surface);
}

.kd-tabs--center {
  display: flex;
  justify-content: center;
  border: none;
  border-bottom: 1px solid var(--line-divider);
  background: var(--surface);
}
.kd-tabs--center .kd-tab {
  flex: 0 0 auto;
  align-items: center;
  padding: 14px 24px;
  border: none;
  border-bottom: 4px solid transparent;
  border-top: none;
  font-size: 1.0625rem;
  font-weight: var(--fw-semibold);
  color: var(--text-body);
}
.kd-tabs--center .kd-tab:hover { background: transparent; color: var(--kd-blue); }
.kd-tabs--center .kd-tab[aria-selected="true"] {
  background: transparent;
  color: var(--kd-blue);
  border-bottom-color: var(--kd-blue);
  font-weight: var(--fw-bold);
}

.kd-tabs--onnavy { background: transparent; border-bottom-color: rgba(255, 255, 255, 0.14); }
.kd-tabs--onnavy .kd-tab { color: #B8C5D8; background: transparent; }
.kd-tabs--onnavy .kd-tab:hover { color: var(--text-invert); }
.kd-tabs--onnavy .kd-tab[aria-selected="true"] { color: var(--text-invert); border-bottom-color: var(--kd-blue); }
.kd-hero__stage .kd-stage { border-color: rgba(255, 255, 255, 0.16); box-shadow: none; }
.kd-tab {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  text-align: left;
  padding: 20px 22px;
  cursor: pointer;
  font-family: var(--font-sans);
  background: var(--surface);
  color: var(--text-body);
  border: none;
  border-right: 1px solid var(--line-card);
  border-top: 3px solid transparent;
  transition: background var(--t-fast);
}
.kd-tab:last-child { border-right: none; }
.kd-tab:hover { background: var(--surface-tint); }
.kd-tab[aria-selected="true"] {
  background: var(--surface-soft);
  color: var(--text-title);
  border-top-color: var(--kd-blue);
}
.kd-tab__label { display: flex; align-items: center; gap: 9px; font-weight: var(--fw-bold); font-size: 1rem; }
.kd-tab__label svg { width: 18px; height: 18px; }
.kd-tab__sub { font-size: 0.82rem; color: var(--text-sub); font-weight: var(--fw-medium); }

.kd-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-6); }
.kd-card {
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: var(--card-border);
  box-shadow: var(--card-shadow);
  transition: box-shadow var(--t-fast), transform var(--t-fast);
}
.kd-card:hover { box-shadow: var(--card-shadow-hover); transform: translateY(-2px); text-decoration: none; }

.kd-card__accent { height: var(--card-accent-h); background: var(--kd-blue); }
.kd-card__accent--coral { background: var(--kd-coral); }
.kd-card__accent--blue  { background: var(--kd-blue); }
.kd-card__accent--teal  { background: var(--kd-teal); }
.kd-card__accent--none  { background: var(--line-card); }
.kd-card__thumb { height: 210px; overflow: hidden; background: var(--surface-tint2); }
.kd-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kd-card__body { padding: var(--card-padding); }
.kd-badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.06em;
  padding: 4px 8px;
  margin-bottom: var(--sp-3);
}
.kd-badge--coral { background: var(--kd-coral-lt); color: var(--kd-coral); }
.kd-badge--blue  { background: var(--kd-blue-lt);  color: var(--kd-blue); }
.kd-badge--teal  { background: var(--kd-teal-lt);  color: var(--kd-teal-dk); }
.kd-badge--gray  { background: var(--surface-tint3); color: var(--text-sub); }
.kd-card h4 {
  font-size: var(--fs-h4);
  font-weight: var(--fw-bold);
  margin: 0 0 var(--sp-2);
}
.kd-card p { font-size: var(--fs-cell); color: var(--text-sub); line-height: var(--lh-body); margin: 0; }

.kd-card__label {
  display: block;
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: var(--sp-1);
}

.kd-cta-simple { text-align: center; padding: var(--sp-16) var(--pad-desktop); }
.kd-cta-simple .kd-btn {
  font-size: 1.375rem;
  padding: 28px 64px;
  box-shadow: var(--card-shadow);
}

.kd-sectionhead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-5, 20px);
  margin-bottom: var(--sp-12);
}
.kd-textlink { display: inline-flex; align-items: center; gap: 6px; font-weight: var(--fw-bold); }
.kd-textlink svg { width: 17px; height: 17px; }

.kd-subnav {
  position: sticky;
  top: 76px;
  z-index: 30;
  background: var(--surface);
  border-bottom: 1px solid var(--line-divider);
  box-shadow: 0 2px 6px rgba(30, 51, 84, 0.06);
}
.kd-subnav__inner {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--pad-desktop);
  display: flex;
  justify-content: center;
  gap: var(--sp-2);
  overflow-x: auto;
  scrollbar-width: none;
}
.kd-subnav__inner::-webkit-scrollbar { display: none; }
.kd-subnav a {
  padding: 14px 20px;
  font-size: var(--fs-cell);
  font-weight: var(--fw-medium);
  color: var(--text-sub);
  white-space: nowrap;
  border-bottom: 3px solid transparent;
}
.kd-subnav a:hover { color: var(--kd-blue); text-decoration: none; }
.kd-subnav a.is-active { color: var(--kd-blue); font-weight: var(--fw-bold); border-bottom-color: var(--kd-blue); }

.kd-pagehead { background: var(--kd-navy); border-bottom: 3px solid var(--kd-blue); }
.kd-pagehead__inner {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 32px var(--pad-desktop);   
}
.kd-pagehead h1 { color: var(--text-invert); font-size: var(--fs-h1); font-weight: var(--fw-black); margin: 0; }
.kd-pagehead p { color: #B8C5D8; font-size: var(--fs-lead); margin: var(--sp-3) 0 0; }

.kd-sectiontitle { text-align: center; margin-bottom: var(--sp-16); }
.kd-sectiontitle h2 { font-size: var(--fs-h1); font-weight: var(--fw-black); margin: 0; }
.kd-sectiontitle p { font-size: var(--fs-lead); color: var(--text-sub); margin: var(--sp-3) 0 0; }

.kd-subhead {
  font-size: var(--fs-h3);
  font-weight: var(--fw-bold);
  border-left: 4px solid var(--kd-blue);
  padding-left: var(--sp-4);
  margin: 0 0 var(--sp-8);
}

.kd-overview {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--sp-8);
  padding: var(--sp-8);
  background: var(--surface-soft);
  border: var(--card-border);
  margin-bottom: var(--sp-16);
}
.kd-overview h3 { font-size: var(--fs-h3); color: var(--kd-blue); margin: 0 0 var(--sp-4); }
.kd-overview dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: var(--sp-2) var(--sp-4); }
.kd-overview dt { font-weight: var(--fw-bold); color: var(--text-title); }
.kd-overview dd { margin: 0; }
.kd-overview ul { margin: var(--sp-2) 0 0; padding-left: 18px; }
.kd-overview__pics { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
.kd-overview__pics img { width: 100%; height: 100%; object-fit: cover; border: var(--card-border); display: block; }

.kd-timeline { position: relative; }
.kd-timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--kd-blue-lt);
  transform: translateX(-50%);
}
.kd-timeline__row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-12);
  margin-bottom: var(--sp-12);
}
.kd-timeline__row:last-child { margin-bottom: 0; }
.kd-timeline__row--right > .kd-timeline__card { grid-column: 2; }
.kd-timeline__dot {
  position: absolute;
  left: 50%;
  top: 24px;
  width: 16px;
  height: 16px;
  background: var(--kd-blue);
  border: 4px solid var(--surface);
  border-radius: var(--radius-round);
  transform: translateX(-50%);
  box-shadow: 0 0 0 2px var(--kd-blue-lt);
}
.kd-timeline__card {
  background: var(--surface);
  border: var(--card-border);
  box-shadow: var(--card-shadow);
  padding: var(--sp-6);
}
.kd-timeline__card h3 { font-size: var(--fs-h4); color: var(--kd-blue); margin: 0 0 var(--sp-2); }
.kd-timeline__card ul { margin: 0; padding-left: 18px; }
.kd-timeline__card li { margin-bottom: var(--sp-1); }

.kd-certs { display: grid; gap: var(--sp-6); }
.kd-certs--6 { grid-template-columns: repeat(6, 1fr); }
.kd-certs--5 { grid-template-columns: repeat(5, 1fr); }
.kd-cert {
  border: var(--card-border);
  background: var(--surface);
  padding: var(--sp-4);
  text-align: center;
  transition: box-shadow var(--t-fast);
}
.kd-cert:hover { box-shadow: var(--card-shadow-hover); }
.kd-cert__frame {
  height: 160px;
  background: var(--surface-tint2);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--sp-3);
}
.kd-cert__frame img { max-width: 100%; max-height: 100%; object-fit: contain; padding: var(--sp-2); }
.kd-cert__name { font-weight: var(--fw-semibold); color: var(--text-title); font-size: var(--fs-cell); }
.kd-cert__date { font-size: var(--fs-caption); color: var(--text-sub); }

.kd-tablewrap { overflow-x: auto; border: var(--card-border); }
.kd-table { width: 100%; min-width: 700px; border-collapse: collapse; font-size: var(--fs-cell); }
.kd-table th {
  background: var(--kd-blue);
  color: var(--text-invert);
  font-weight: var(--fw-bold);
  text-align: left;
  padding: 12px 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.24);
}
.kd-table th:last-child { border-right: none; }
.kd-table td { padding: 10px 20px; border-right: 1px solid var(--line-divider); border-bottom: 1px solid var(--line-divider); }
.kd-table td:last-child { border-right: none; }
.kd-table tbody tr:nth-child(even) { background: var(--surface-tint); }
.kd-table td.is-name { font-weight: var(--fw-medium); color: var(--text-title); }

.kd-table td.is-nowrap, .kd-table th.is-nowrap { white-space: nowrap; }

.kd-logos {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--sp-3);
  padding: var(--sp-8);
  background: var(--surface-soft);
  border: var(--card-border);
}
.kd-logos div { display: flex; align-items: center; justify-content: center; height: 80px; padding: var(--sp-2); }
.kd-logos img { max-height: 48px; max-width: 100%; object-fit: contain; }

.kd-markets { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-6); }
.kd-market {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  padding: var(--sp-4) var(--sp-6);
  min-height: 96px;
  background: var(--surface);
  border: var(--card-border);
}
.kd-market img { width: 48px; height: 48px; object-fit: contain; flex-shrink: 0; }
.kd-market span { font-size: var(--fs-cell); }
.kd-market strong { color: var(--text-title); }

.kd-market__txt { position: relative; display: flex; flex-direction: column; gap: 2px; padding-left: 1.8em; color: var(--text-sub); }
.kd-market__txt strong { display: block; }
.kd-market__no { position: absolute; left: 0; top: 0; }   

.kd-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-12); }
.kd-step { position: relative; text-align: center; }
.kd-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 90px;
  right: -34px;
  width: 20px;
  height: 20px;
  border-top: 3px solid var(--kd-blue-lt);
  border-right: 3px solid var(--kd-blue-lt);
  transform: rotate(45deg);
}
.kd-step__pic {
  height: 250px;
  background: var(--surface-tint2);
  border: var(--card-border);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--sp-4);
  overflow: hidden;
}

.kd-step__pic img { width: 100%; height: 100%; object-fit: contain; }

.kd-step__pic--split { height: auto; display: flex; flex-direction: column; gap: 6px; background: none; border: 0; }
.kd-step__pic--split img { height: auto; aspect-ratio: 790 / 624; object-fit: cover; display: block; }
.kd-step h4 { font-size: var(--fs-h4); color: var(--kd-blue); margin: 0 0 var(--sp-2); }
.kd-step p { font-size: var(--fs-cell); color: var(--text-sub); margin: 0; }

.kd-callout {
  display: inline-block;
  background: var(--kd-blue-lt);
  color: var(--kd-navy);
  padding: var(--sp-3) var(--sp-6);
  font-size: var(--fs-h3);
  border-left: 4px solid var(--kd-blue);
}
.kd-callout strong { font-weight: var(--fw-bold); }

.kd-callout--sm {
  display: block;
  font-size: var(--fs-cell);
  color: var(--text-body);
  padding: var(--sp-4) var(--sp-6);
}
.kd-callout--sm strong {
  display: block;
  font-size: var(--fs-lead);
  color: var(--kd-navy);
  margin-bottom: 4px;
}

.kd-duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); align-items: center; }
.kd-duo > * { min-width: 0; }
.kd-duo img { width: 100%; display: block; border: var(--card-border); }
.kd-panel { padding: var(--sp-8); border: var(--card-border); background: var(--surface); }
.kd-panel > h4 { font-size: var(--fs-h4); margin: 0 0 var(--sp-4); }

.kd-panel .kd-duo img {
  max-height: 300px;
  object-fit: contain;
  background: var(--surface-tint2);
}

.kd-location + .kd-location { margin-top: var(--sp-16); }
.kd-location h3 { font-size: var(--fs-h3); color: var(--kd-blue); margin: 0 0 var(--sp-6); }
.kd-location__map { height: 380px; overflow: hidden; border: var(--card-border); }
.kd-location__map img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kd-location dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: var(--sp-3) var(--sp-6); }
.kd-location dt { font-weight: var(--fw-bold); color: var(--text-title); }
.kd-location dd { margin: 0; }

.kd-subnav--grouped .kd-subnav__inner { flex-direction: column; gap: 0; }
.kd-subnav__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-1);
  overflow-x: auto;
  scrollbar-width: none;
}
.kd-subnav__row::-webkit-scrollbar { display: none; }
.kd-subnav__row + .kd-subnav__row { border-top: 1px solid var(--line-divider); }
.kd-subnav__glabel {
  font-size: var(--fs-micro);
  font-weight: var(--fw-bold);
  letter-spacing: 0.06em;
  color: var(--text-muted);
  white-space: nowrap;
  padding-right: var(--sp-3);
}
.kd-subnav--grouped a { padding: 11px 14px; }

.kd-subnav--grouped { position: static; box-shadow: none; }
.kd-subnav--grouped .kd-subnav__row { justify-content: flex-start; }
.kd-subnav--grouped a.kd-subnav__glabel { flex: 0 0 128px; }

body.kd-solution section[id] { scroll-margin-top: 186px; }

.kd-slider__frame {
  position: relative;   
  display: grid;
  background: var(--surface);
  border: var(--card-border);
  overflow: hidden;
}

.kd-slider__frame--fixed { height: 460px; }
.kd-slide {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 260ms ease-out;
}
.kd-slide.is-active { opacity: 1; visibility: visible; }
.kd-slider__frame--fixed .kd-slide { display: flex; align-items: center; justify-content: center; }
.kd-slider__frame--fixed .kd-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: var(--sp-4);
  display: block;
}

.kd-slider__ctrl { display: flex; align-items: center; margin-top: var(--sp-4); }
.kd-slider__rule { flex: 1; height: 1px; background: var(--line-card); }

.kd-slider__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--kd-blue);
  transition: color var(--t-fast);
}
.kd-slider__btn:hover { color: var(--kd-blue-dk); }
.kd-slider__btn svg { width: 26px; height: 26px; }

.kd-slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding: 0;
  border: var(--card-border);
  border-radius: var(--radius-round);
  background: var(--surface);
  color: var(--kd-blue);
  box-shadow: var(--card-shadow);
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);
}
.kd-slider__arrow svg { width: 30px; height: 30px; }
.kd-slider__arrow:hover {
  background: var(--kd-blue);
  border-color: var(--kd-blue);
  color: #fff;
  box-shadow: var(--card-shadow-hover);
}
.kd-slider__arrow--prev { left: var(--sp-3); }
.kd-slider__arrow--next { right: var(--sp-3); }
.kd-slider__dots { display: flex; align-items: center; gap: 8px; padding: 0 var(--sp-3); }
.kd-slider__dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: none;
  border-radius: var(--radius-round);
  background: var(--line-card);
  cursor: pointer;
  transition: background var(--t-fast), width var(--t-fast);
}
.kd-slider__dots button[aria-current="true"] { background: var(--kd-blue); width: 22px; border-radius: 4px; }

.kd-slider__ctrl.is-thumbs { justify-content: center; }
.kd-slider__ctrl.is-thumbs .kd-slider__rule { display: none; }
.kd-slider__dots.is-thumbs { gap: 10px; padding: 0 var(--sp-2); flex-wrap: wrap; }
.kd-slider__dots.is-thumbs button {
  width: 76px;
  height: 76px;
  border: var(--card-border);
  border-radius: 0;
  background: var(--surface);
  overflow: hidden;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.kd-slider__dots.is-thumbs button img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
  display: block;
}
.kd-slider__dots.is-thumbs button:hover { border-color: var(--kd-blue); }

.kd-slider__dots.is-thumbs button[aria-current="true"] {
  width: 76px;
  border: 2px solid var(--kd-blue);
  border-radius: 0;
  background: var(--surface);
  box-shadow: var(--card-shadow);
}

.kd-feature { padding: var(--sp-8); text-align: center; }
.kd-feature__no {
  display: block;
  font-size: var(--fs-micro);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-caps);
  color: var(--kd-blue);
  margin-bottom: var(--sp-2);
}
.kd-feature h3 { font-size: var(--fs-h3); margin: 0 0 var(--sp-3); }

.kd-feature > p {
  color: var(--text-sub);
  max-width: 720px;
  margin: 0 auto var(--sp-6);
}
.kd-feature > img { max-width: 100%; max-height: 380px; object-fit: contain; display: block; margin: 0 auto; }

.kd-annotimg { padding: 40px 0 0 84px; }
.kd-annotimg__frame { position: relative; }
.kd-annotimg__frame > img { width: 100%; display: block; }
.kd-pin {
  position: absolute;
  width: clamp(38px, 13%, 60px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 3px solid var(--kd-blue);
  border-radius: var(--radius-round);
}

.kd-pin b {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  font-size: var(--fs-lead);
  font-weight: var(--fw-bold);
  color: var(--text-title);
}
.kd-pin--r b { left: calc(100% + 8px); }
.kd-pin--l b { right: calc(100% + 8px); }

.kd-pin--t b { left: 50%; top: auto; bottom: calc(100% + 6px); transform: translateX(-50%); }

.kd-fold {
  display: grid;
  grid-template-columns: 1.35fr auto 0.8fr;
  gap: var(--sp-6);
  align-items: center;
  max-width: 900px;
  margin: 0 auto;
}
.kd-fold__arrow {
  text-align: center;
  font-size: var(--fs-caption);
  font-weight: var(--fw-bold);
  color: var(--text-sub);
  white-space: nowrap;
}
.kd-fold__arrow svg {
  width: 34px;
  height: 34px;
  display: block;
  margin: 0 auto var(--sp-2);
  color: var(--kd-blue);
  fill: none;
  stroke: currentColor;
}
.kd-fold__folded img { width: 100%; display: block; }

.kd-annot { display: grid; grid-template-columns: 46% 1fr; gap: var(--sp-3); align-items: stretch; }
.kd-annot > img { width: 100%; display: block; align-self: start; }
.kd-annot ul { position: relative; list-style: none; margin: 0; padding: 0; }
.kd-annot li {
  position: absolute;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  color: var(--text-title);
  line-height: 1.35;
}
.kd-annot li b { color: var(--kd-blue); margin-right: 2px; }

.kd-vs {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--sp-6);
  align-items: stretch;
  max-width: 880px;
  margin: 0 auto;
  text-align: left;
}
.kd-vs__card {
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: var(--card-border);
  border-top: 3px solid var(--line-card);
  padding: var(--sp-6);
}
.kd-vs__card--bad { border-top-color: var(--kd-coral); }
.kd-vs__card--good { border-top-color: var(--kd-blue); }
.kd-vs__card h4 { font-size: var(--fs-h4); text-align: center; margin: 0 0 var(--sp-4); }
.kd-vs__card--bad h4 { color: var(--kd-coral); }
.kd-vs__card--good h4 { color: var(--kd-blue); }
.kd-vs__pic { height: 170px; display: flex; align-items: center; justify-content: center; margin-bottom: var(--sp-4); }
.kd-vs__pic img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.kd-vs__card ul { list-style: none; margin: 0 0 var(--sp-4); padding: 0; flex-grow: 1; }
.kd-vs__card li {
  position: relative;
  padding-left: 24px;
  font-size: var(--fs-cell);
  line-height: 1.6;
  margin-bottom: var(--sp-2);
}
.kd-vs__card li::before { position: absolute; left: 0; font-weight: var(--fw-bold); }
.kd-vs__card--bad li::before { content: "✕"; color: var(--kd-coral); }
.kd-vs__card--good li::before { content: "✓"; color: var(--kd-blue); }
.kd-vs__foot {
  text-align: center;
  font-size: var(--fs-caption);
  font-weight: var(--fw-bold);
  padding: var(--sp-3);
  margin-top: auto;
}
.kd-vs__card--bad .kd-vs__foot { background: var(--kd-coral-lt); color: var(--kd-coral); }
.kd-vs__card--good .kd-vs__foot { background: var(--kd-blue-lt); color: var(--kd-blue); }
.kd-vs__mark {
  align-self: center;
  font-size: var(--fs-h3);
  font-weight: var(--fw-black);
  color: var(--text-muted);
  letter-spacing: 0.04em;
}

.kd-product {
  background: var(--surface);
  border: var(--card-border);
  box-shadow: var(--card-shadow);
  padding: var(--sp-8);
}
.kd-product + .kd-product { margin-top: var(--sp-12); }
.kd-product__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-12);
  align-items: start;
}
.kd-product__grid > * { min-width: 0; }
.kd-product__name { font-size: var(--fs-h3); color: var(--kd-blue); margin: 0 0 var(--sp-2); }
.kd-product__name span { color: var(--text-muted); font-weight: var(--fw-medium); font-size: var(--fs-body); }
.kd-product__tag { color: var(--text-sub); font-size: var(--fs-lead); margin: 0 0 var(--sp-6); }

.kd-speclist {
  background: var(--surface-soft);
  border-left: 3px solid var(--kd-blue);
  padding: var(--sp-6);
  margin-bottom: var(--sp-6);
}
.kd-speclist h4 { font-size: var(--fs-h4); margin: 0 0 var(--sp-3); }
.kd-speclist ul { margin: 0; padding-left: 18px; }
.kd-speclist li { margin-bottom: var(--sp-1); }
.kd-speclist li strong { color: var(--text-title); }
.kd-speclist__note { font-size: var(--fs-caption); color: var(--text-sub); margin-top: var(--sp-4); }

.kd-figures { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
.kd-figures > * { min-width: 0; }
.kd-figure {
  margin: 0;
  border: var(--card-border);
  background: var(--surface);
  padding: var(--sp-3);
  display: flex;
  flex-direction: column;
}
.kd-figure img { width: 100%; max-width: 100%; height: 150px; object-fit: contain; display: block; }
.kd-figure figcaption {
  font-size: var(--fs-caption);
  font-weight: var(--fw-medium);
  color: var(--text-sub);
  text-align: center;
  line-height: 1.5;
  margin-top: var(--sp-3);
}

.kd-product__grid--even { align-items: stretch; }
.kd-product__grid--even > * { display: flex; flex-direction: column; }
.kd-product__grid--even .kd-photo {
  height: 360px;
  object-fit: contain;
  padding: var(--sp-3);
}

.kd-product__grid--even .kd-speclist { flex: 1; margin-bottom: 0; }

.kd-photo { width: 100%; display: block; border: var(--card-border); background: var(--surface); }

.kd-subhead--sm { font-size: var(--fs-h4); margin-bottom: var(--sp-4); }
.kd-subhead + .kd-tablewrap, .kd-subhead--sm + .kd-tablewrap { margin-top: 0; }

.kd-cards--3 { grid-template-columns: repeat(3, 1fr); }

.kd-card__thumb--contain { background: var(--surface); }
.kd-card__thumb--contain img { object-fit: contain; padding: var(--sp-3); }

.kd-card__thumb--product { height: 320px; }

.kd-certs--4 { grid-template-columns: repeat(4, 1fr); }
.kd-cert__frame--doc { height: 200px; }

.kd-carapps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-4); }
.kd-carapp {
  border: var(--card-border);
  background: var(--surface);
  padding: var(--sp-4);
  display: flex;
  flex-direction: column;
}
.kd-carapp h4 { font-size: var(--fs-body); text-align: center; margin: 0 0 var(--sp-3); }
.kd-carapp img { width: 100%; height: 108px; object-fit: contain; display: block; }
.kd-carapp img + img { margin-top: var(--sp-2); }
.kd-carapp__foot {
  margin-top: auto;
  padding-top: var(--sp-3);
  border-top: 1px solid var(--line-divider);
  text-align: center;
}
.kd-carapp__foot span { display: block; font-size: var(--fs-caption); color: var(--text-sub); }
.kd-carapp__foot strong { font-size: var(--fs-h4); color: var(--kd-blue); }

.kd-stack { display: grid; gap: var(--sp-6); }
.kd-panel__pic { width: 100%; height: 150px; object-fit: cover; display: block; margin-bottom: var(--sp-3); }

.kd-battery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-12);
  align-items: start;
  background: var(--surface);
  border: var(--card-border);
  box-shadow: var(--card-shadow);
  padding: var(--sp-8);
}
.kd-battery__head { text-align: center; margin-bottom: var(--sp-6); }
.kd-battery__head p { font-size: var(--fs-lead); font-weight: var(--fw-semibold); color: var(--text-title); }
.kd-battery__head strong {
  display: block;
  font-size: var(--fs-h3);
  font-weight: var(--fw-bold);
  color: var(--kd-coral);
  margin-top: var(--sp-1);
}
.kd-battery img { width: 100%; display: block; border: var(--card-border); background: var(--surface); }
.kd-battery__uses { margin: var(--sp-6) 0 0; padding-left: 20px; font-weight: var(--fw-bold); color: var(--text-title); }
.kd-battery__stack { display: flex; flex-direction: column; gap: var(--sp-6); }
.kd-battery h4 { font-size: var(--fs-h4); margin: 0 0 var(--sp-4); }

.kd-battery__stack + h4,
.kd-battery .kd-tablewrap + h4 { margin-top: var(--sp-8); }

.kd-table--center th, .kd-table--center td { text-align: center; }
.kd-table--center th { padding: 10px 12px; }
.kd-table--center td { padding: 9px 12px; }
.kd-table--center thead tr:first-child th { border-bottom: 1px solid rgba(255, 255, 255, 0.24); }
.kd-table--center td.is-model { font-weight: var(--fw-bold); color: var(--text-title); }

.kd-table--compact { min-width: 0; font-size: var(--fs-caption); }
.kd-table--compact th { padding: 9px 8px; }
.kd-table--compact td { padding: 8px; }
.kd-tablenote { font-size: var(--fs-caption); color: var(--text-sub); margin-top: var(--sp-3); }

@media (max-width: 1080px) {
  .kd-subnav__row { justify-content: flex-start; }
}
@media (max-width: 1024px) {
  .kd-product__grid { grid-template-columns: 1fr; gap: var(--sp-8); }
  
  .kd-carapps { grid-template-columns: repeat(2, 1fr); }
  .kd-certs--4 { grid-template-columns: repeat(3, 1fr); }
  .kd-battery { grid-template-columns: 1fr; gap: var(--sp-8); }
  .kd-slider__frame--fixed { height: 380px; }
}
@media (max-width: 860px) {
  .kd-stage__cap--right { right: var(--sp-4); }
  .kd-stage__cap span { font-size: var(--fs-cell); }
  .kd-stage__cap--center span,
  .kd-stage__cap--left span { font-size: var(--fs-h4); }
  .kd-stage__cap--left { left: var(--sp-4); }
}
@media (max-width: 640px) {
  .kd-product { padding: var(--sp-4); }
  .kd-cards--3 { grid-template-columns: 1fr; }
  .kd-carapps { grid-template-columns: 1fr; }
  .kd-certs--4 { grid-template-columns: repeat(2, 1fr); }
  .kd-battery { padding: var(--sp-4); }
  .kd-feature { padding: var(--sp-4); }
  .kd-figures { grid-template-columns: 1fr; }
  .kd-vs { grid-template-columns: 1fr; }
  .kd-vs__mark { justify-self: center; }
  
  .kd-fold { grid-template-columns: 1fr; }
  .kd-fold__arrow svg { transform: rotate(90deg); }
  .kd-annot { grid-template-columns: 1fr; }
  .kd-annot li { position: static; transform: none; margin-bottom: var(--sp-2); }
}

.kd-cta { background: var(--kd-navy); border-top: 3px solid var(--kd-blue); position: relative; overflow: hidden; }
.kd-cta__watermark {
  position: absolute;
  left: -30px;
  top: -60px;
  font-weight: var(--fw-black);
  font-size: 15rem;
  line-height: 1;
  color: rgba(255, 255, 255, 0.04);
  pointer-events: none;
  user-select: none;
}
.kd-cta__inner {
  position: relative;
  z-index: 2;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 80px var(--pad-desktop);
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: var(--sp-12);
  align-items: center;
}
.kd-cta h2 {
  color: var(--text-invert);
  font-size: 2.25rem;
  font-weight: var(--fw-black);
  line-height: 1.25;
  margin: 0 0 14px;
}
.kd-cta p { color: #B8C5D8; font-size: var(--fs-lead); line-height: var(--lh-body); margin: 0; max-width: 480px; }
.kd-cta__actions { display: flex; flex-direction: column; gap: 14px; }
.kd-cta__actions .kd-btn { justify-content: space-between; padding: 20px 26px; }
.kd-cta__tel { display: flex; align-items: center; gap: 10px; color: #8FA3BF; font-size: 0.92rem; padding-top: 4px; }
.kd-cta__tel svg { width: 16px; height: 16px; stroke: #7FB0DC; }

.kd-form { display: grid; gap: var(--sp-6); }
.kd-form__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-6); }
.kd-field { display: flex; flex-direction: column; }
.kd-field > label {
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
  color: var(--text-title);
  margin-bottom: var(--sp-2);
}
.kd-field > label .req { color: var(--kd-coral); margin-left: 3px; }
.kd-field input,
.kd-field textarea,
.kd-field select {
  font: inherit;
  color: var(--text-body);
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--line-card);
  border-radius: 0;
  padding: 9px 2px;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.kd-field textarea { resize: vertical; min-height: 128px; line-height: var(--lh-body); }
.kd-field input:focus,
.kd-field textarea:focus {
  outline: none;
  border-bottom-color: var(--kd-blue);
  box-shadow: 0 1px 0 0 var(--kd-blue);
}
.kd-field input::placeholder, .kd-field textarea::placeholder { color: var(--text-muted); }

.kd-field input.is-invalid,
.kd-field textarea.is-invalid {
  border-bottom-color: var(--kd-coral);
  border-bottom-width: 2px;
}
.kd-field input.is-invalid:focus,
.kd-field textarea.is-invalid:focus { box-shadow: 0 1px 0 0 var(--kd-coral); }
.kd-field__err {
  font-size: var(--fs-caption);
  color: var(--kd-coral);
  margin: var(--sp-2) 0 0;
}
.kd-field__hint { font-size: var(--fs-caption); color: var(--text-sub); margin: var(--sp-2) 0 0; }
.kd-field:has(.kd-field__err) .kd-field__hint { display: none; }   

.kd-form__row--qty { grid-template-columns: 1fr 240px; }
.kd-qty { display: flex; align-items: center; gap: var(--sp-2); }
.kd-qty input {
  flex: 1; min-width: 0;
  text-align: center;
  font-weight: var(--fw-semibold);
  -moz-appearance: textfield; appearance: textfield;
}
.kd-qty input::-webkit-outer-spin-button,
.kd-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.kd-qty__unit { color: var(--text-sub); font-size: var(--fs-caption); }
.kd-qty__btn {
  width: 36px; height: 36px; flex: none;
  border: 1px solid var(--line-card); border-radius: 0; background: transparent;
  color: var(--text-title); font: inherit; font-size: 1.15rem; line-height: 1;
  cursor: pointer; transition: border-color var(--t-fast), color var(--t-fast);
}
.kd-qty__btn:hover:not(:disabled) { border-color: var(--kd-blue); color: var(--kd-blue); }
.kd-qty__btn:disabled { color: var(--text-muted); cursor: not-allowed; opacity: .5; }

.kd-form__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  flex-wrap: wrap;
  margin-top: var(--sp-2);
}
.kd-form__note { font-size: var(--fs-caption); color: var(--text-sub); margin: 0; }

.kd-honeypot {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  z-index: -1;
}

.kd-files { display: grid; }
.kd-file {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--sp-4);
  padding: var(--sp-4) 0;
  border-bottom: 1px solid var(--line-divider);
}
.kd-file:first-child { border-top: 1px solid var(--line-divider); }
.kd-file__type {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  background: var(--kd-blue-lt);
  color: var(--kd-blue);
  font-size: var(--fs-micro);
  font-weight: var(--fw-bold);
  letter-spacing: 0.04em;
}
.kd-file__name { font-weight: var(--fw-semibold); color: var(--text-title); margin: 0; }
.kd-file__meta { font-size: var(--fs-caption); color: var(--text-sub); margin: 2px 0 0; }

.kd-notices { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-divider); }
.kd-notice { border-bottom: 1px solid var(--line-divider); }
.kd-notice__head {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto 24px;
  align-items: center;
  gap: var(--sp-4);
  width: 100%;
  padding: var(--sp-4) var(--sp-2);
  background: none;
  border: none;
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: background var(--t-fast);
}
.kd-notice__head:hover { background: var(--surface-tint); }
.kd-notice__head:focus-visible { outline: var(--focus-ring); outline-offset: -2px; }
.kd-notice__no { color: var(--text-muted); font-size: var(--fs-caption); text-align: center; }
.kd-notice__title { font-weight: var(--fw-semibold); color: var(--text-title); }
.kd-notice__date { color: var(--text-sub); font-size: var(--fs-caption); white-space: nowrap; }
.kd-notice__chev {
  width: 20px;
  height: 20px;
  color: var(--kd-blue);
  transform: rotate(90deg);
  transition: transform var(--t-fast);
}
.kd-notice__head[aria-expanded="true"] { background: var(--surface-tint); }
.kd-notice__head[aria-expanded="true"] .kd-notice__chev { transform: rotate(-90deg); }

.kd-notice__body {
  padding: var(--sp-2) var(--sp-2) var(--sp-8) 76px;
  color: var(--text-body);
  line-height: var(--lh-body);
}
.kd-notice__body p { margin: 0 0 var(--sp-4); }
.kd-notice__body p:last-child { margin-bottom: 0; }
.kd-notice__meta { margin: 0 0 var(--sp-4); display: grid; gap: 6px; }

.kd-notice__meta > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: var(--sp-4); }
.kd-notice__meta dt { color: var(--text-sub); font-size: var(--fs-cell); margin: 0; }
.kd-notice__meta dd { margin: 0; }

@media (max-width: 640px) {
  .kd-notice__head { grid-template-columns: minmax(0, 1fr) 24px; row-gap: 4px; }
  .kd-notice__no { display: none; }
  .kd-notice__date { grid-column: 1; font-size: var(--fs-micro); }
  .kd-notice__chev { grid-row: 1 / 3; grid-column: 2; }   
  .kd-notice__title { grid-column: 1; }
  .kd-notice__body { padding-left: var(--sp-2); }
  .kd-notice__meta > div { grid-template-columns: 1fr; gap: 0; }
}

.kd-empty {
  padding: var(--sp-16) var(--sp-6);
  text-align: center;
  color: var(--text-sub);
  border: 1px dashed var(--line-card);
}
.kd-empty strong { display: block; color: var(--text-title); font-size: var(--fs-h4); margin-bottom: var(--sp-2); }

@media (max-width: 860px) {
  .kd-form__row, .kd-form__row--qty { grid-template-columns: 1fr; }
  .kd-file { grid-template-columns: 36px minmax(0, 1fr); }
  .kd-file > .kd-btn { grid-column: 2; justify-self: start; }
}

.kd-footer { background: var(--kd-navy-dk); border-top: 1px solid #2A3D5C; color: #9FB0C6; }
.kd-footer__inner { max-width: var(--container-max); margin: 0 auto; padding: 56px var(--pad-desktop) 40px; }
.kd-footer__cols {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #2A3D5C;
}
.kd-footer__mark {
  font-weight: var(--fw-black);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
  color: var(--text-invert);
  font-size: 2rem;
  line-height: 1;
}
.kd-footer__name { font-weight: var(--fw-bold); color: var(--text-invert); font-size: 0.9rem; margin-top: var(--sp-3); }
.kd-footer__tag { margin: 14px 0 0; font-size: 0.85rem; color: #7E90A8; max-width: 320px; line-height: var(--lh-body); }
.kd-footer__col { font-size: 0.85rem; line-height: 1.9; }
.kd-footer__col strong { display: block; color: var(--text-invert); font-weight: var(--fw-bold); margin-bottom: 10px; }
.kd-footer__bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-3);
  padding-top: var(--sp-6);
  font-size: 0.8rem;
  color: #6E7F97;
}

@keyframes kd-kenburns {
  0%   { transform: scale(1) translate(0, 0); }
  100% { transform: scale(1.14) translate(-2%, -2%); }
}
@keyframes kd-fadein {
  0%   { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1024px) {
  .kd-cards { grid-template-columns: repeat(2, 1fr); }
  .kd-cta__inner { grid-template-columns: 1fr; }
  .kd-footer__cols { grid-template-columns: 1fr 1fr; }
  .kd-certs--6 { grid-template-columns: repeat(3, 1fr); }
  .kd-certs--5 { grid-template-columns: repeat(3, 1fr); }
  .kd-logos { grid-template-columns: repeat(4, 1fr); }
  .kd-markets { grid-template-columns: repeat(2, 1fr); }
  .kd-process { grid-template-columns: repeat(2, 1fr); gap: var(--sp-8); }
  .kd-step:not(:last-child)::after { display: none; }
  .kd-overview { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .kd-subnav { top: 76px; }
  .kd-subnav__inner { justify-content: flex-start; padding: 0 var(--pad-mobile); }
  .kd-timeline::before { left: 8px; }
  .kd-timeline__row { grid-template-columns: 1fr; gap: 0; padding-left: 36px; }
  .kd-timeline__row--right > .kd-timeline__card { grid-column: 1; }
  .kd-timeline__dot { left: 8px; }
  .kd-duo { grid-template-columns: 1fr; }
  .kd-certs--6, .kd-certs--5 { grid-template-columns: repeat(2, 1fr); }
  .kd-logos { grid-template-columns: repeat(3, 1fr); }
  .kd-markets { grid-template-columns: 1fr; }
  .kd-process { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .kd-nav { display: none; }
  .kd-hero__body { padding: 72px var(--pad-mobile) 56px; }
  .kd-hero__watermark { font-size: 11rem; }
  .kd-stage { height: 420px; }
  .kd-stage__content { padding: var(--sp-6); }
  .kd-tabs { grid-template-columns: repeat(2, 1fr); }
  .kd-tab:nth-child(2) { border-right: none; }
  .kd-tab:nth-child(-n+2) { border-bottom: 1px solid var(--line-card); }
  .kd-proof__grid { grid-template-columns: 1fr; }
  .kd-proof__item { border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.10); }
}
@media (max-width: 640px) {
  .kd-cards { grid-template-columns: 1fr; }
  .kd-footer__cols { grid-template-columns: 1fr; }
  .kd-header__inner { padding: 0 var(--pad-mobile); }
}

.kd-crumb { font-size: var(--fs-cell); color: #B8C5D8; margin: 0 0 var(--sp-3); }
.kd-crumb a { color: #B8C5D8; }
.kd-crumb a:hover { color: var(--text-invert); }
.kd-crumb span[aria-hidden] { margin: 0 6px; opacity: .6; }
.kd-crumb [aria-current] { color: var(--text-invert); }

a.kd-card { display: block; color: inherit; }
.kd-card__h { font-size: var(--fs-h4); font-weight: var(--fw-bold); color: var(--kd-navy); margin: 0 0 var(--sp-2); }
.kd-anchor { position: absolute; margin-top: -140px; }   

.kd-storebar { display: flex; align-items: center; gap: var(--sp-4); padding-top: var(--sp-6); flex-wrap: wrap; }
.kd-storebar span { font-size: var(--fs-cell); color: var(--text-sub); }

.kd-related { border-top: 1px solid var(--line-divider); }
.kd-related__title { font-size: var(--fs-h3); font-weight: var(--fw-bold); margin: 0 0 var(--sp-6); }
.kd-related__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-4); }
.kd-related__list a { display: block; padding: var(--sp-4) 20px; border: 1px solid var(--line-card); background: var(--surface); color: inherit; }
.kd-related__list a:hover { border-color: var(--kd-blue); text-decoration: none; }
.kd-related__list strong { display: block; color: var(--kd-navy); }
.kd-related__list span { display: block; font-size: var(--fs-cell); color: var(--text-sub); margin-top: 4px; }
@media (max-width: 900px) { .kd-related__list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .kd-related__list { grid-template-columns: 1fr; } }

.kd-dropdown a.kd-dropdown__group { padding: var(--sp-3) 24px var(--sp-1); font-size: var(--fs-caption); font-weight: var(--fw-bold); color: var(--text-title); }
.kd-subnav--grouped a.kd-subnav__glabel { padding: 11px var(--sp-3) 11px 0; color: var(--kd-navy); }
.kd-subnav--grouped a.kd-subnav__glabel:hover { color: var(--kd-blue); }
.kd-sectiontitle h2 a { color: inherit; }
.kd-draftmark { font-size: var(--fs-micro); font-weight: var(--fw-bold); color: var(--text-muted); margin-left: 4px; }
.kd-card--draft .kd-card__thumb { background: var(--line-divider); }
.kd-card--draft .kd-card__thumb img { visibility: hidden; }
.kd-draftkw { display: flex; flex-wrap: wrap; gap: var(--sp-2); list-style: none; padding: 0; margin: 0; }
.kd-draftkw li { padding: 6px 12px; border-bottom: 1px solid var(--line-card); font-size: var(--fs-cell); }
.kd-note { font-size: var(--fs-cell); color: var(--text-sub); margin: var(--sp-3) 0 0; }

.kd-faq { margin: 0; max-width: 860px; }
.kd-faq dt { font-weight: var(--fw-bold); color: var(--kd-navy); margin: var(--sp-6) 0 var(--sp-2); }
.kd-faq dt:first-child { margin-top: 0; }
.kd-faq dt::before { content: "Q. "; color: var(--kd-blue); }
.kd-faq dd { margin: 0; padding-left: 1.6em; color: var(--text-body); }

.kd-faq.is-fold dt {
  cursor: pointer;
  display: flex; align-items: baseline; gap: .4em;
  margin: 0; padding: var(--sp-3) 0;
  border-bottom: 1px solid var(--line-divider);
}
.kd-faq.is-fold dt:first-of-type { border-top: 1px solid var(--line-divider); }
.kd-faq.is-fold dt::before { content: "Q."; flex: 0 0 auto; }
.kd-faq.is-fold dt::after {
  content: ""; margin-left: auto; flex: 0 0 auto;
  width: 8px; height: 8px; border-right: 2px solid var(--kd-blue); border-bottom: 2px solid var(--kd-blue);
  transform: translateY(-2px) rotate(45deg); transition: transform .15s ease;
}
.kd-faq.is-fold dt.is-open::after { transform: translateY(2px) rotate(-135deg); }
.kd-faq.is-fold dt:hover { color: var(--kd-blue); }
.kd-faq.is-fold dt:focus-visible { outline: 2px solid var(--kd-blue); outline-offset: 2px; }
.kd-faq.is-fold dd { display: none; padding: var(--sp-3) 0 var(--sp-4) 1.6em; border-bottom: 1px solid var(--line-divider); }
.kd-faq.is-fold dd.is-open { display: block; }

.kd-pindex__grid { display:flex; flex-direction:column; gap:var(--sp-8); }
.kd-pindex__row {
  display:grid; grid-template-columns:120px 1fr; gap:var(--sp-6); align-items:start;
}
.kd-pindex__label { padding-top:2px; line-height:1.3; }
.kd-pindex__label a {
  font-weight:700; font-size:15px; color:var(--text-title); text-decoration:none;
}
.kd-pindex__label a:hover { color:var(--kd-blue); }
.kd-pindex__label span {
  display:block; margin-top:3px; font-size:12px; color:var(--text-muted); font-weight:400;
}
.kd-pindex__items { display:grid; grid-template-columns:repeat(5,1fr); gap:var(--sp-4); }
.kd-pindex__item { display:block; text-decoration:none; color:inherit; }
.kd-pindex__item img {
  display:block; width:100%; aspect-ratio:4/3; object-fit:contain;
  background:var(--surface-tint); border:1px solid var(--line-divider); border-radius:2px;
}
.kd-pindex__item span {
  display:block; margin-top:var(--sp-2); font-size:13.5px; font-weight:600;
  color:var(--text-title); line-height:1.35; word-break:keep-all;
}
.kd-pindex__item:hover img { border-color:var(--kd-blue); }
.kd-pindex__item:hover span { color:var(--kd-blue); }

@media (max-width:900px) {
  .kd-pindex__row { grid-template-columns:1fr; gap:var(--sp-3); }
  .kd-pindex__items { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:520px) {
  .kd-pindex__items { grid-template-columns:repeat(2,1fr); }
}

.kd-subnav--2tier { position: sticky; box-shadow: none; }
body:has(.kd-subnav--2tier) [id] { scroll-margin-top: 200px; }
.kd-subnav--2tier .kd-subnav__inner { flex-direction: column; gap: 0; padding-top: 6px; padding-bottom: 8px; }
.kd-subnav--2tier .kd-subnav__row {
  display: flex; align-items: center; justify-content: flex-start;
  gap: var(--sp-1); overflow-x: auto; scrollbar-width: none;
}
.kd-subnav--2tier .kd-subnav__row::-webkit-scrollbar { display: none; }
.kd-subnav--2tier a.kd-subnav__tab {
  padding: 12px 20px 9px;
  font-size: var(--fs-cell);
  font-weight: var(--fw-bold);
  color: var(--kd-navy);
  border-bottom: 3px solid transparent;
}
.kd-subnav--2tier a.kd-subnav__tab:first-child { padding-left: 0; }
.kd-subnav--2tier a.kd-subnav__tab:hover { color: var(--kd-blue); }
.kd-subnav--2tier a.kd-subnav__tab.is-active { color: var(--kd-blue); border-bottom-color: var(--kd-blue); }
.kd-subnav--2tier .kd-subnav__row--items a {
  padding: 7px 16px;
  font-size: var(--fs-caption);
  font-weight: var(--fw-medium);
  color: var(--text-sub);
  border-bottom: none;
}
.kd-subnav--2tier .kd-subnav__row--items a:first-child { padding-left: 0; }
.kd-subnav--2tier .kd-subnav__row--items a.is-active { color: var(--kd-blue); font-weight: var(--fw-bold); }

.kd-subnav--2tier .kd-subnav__row + .kd-subnav__row { border-top: none; padding-top: 5px; }

.kd-header__cta { display: none; }

.kd-pitch-intro { margin-top: var(--sp-24); text-align: center; }
.kd-pitch-intro p { margin: 0; font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-caps); color: var(--kd-blue); }
.kd-pitch-intro h3 { margin: var(--sp-2) 0 0; font-size: var(--fs-h1); font-weight: var(--fw-extrabold); line-height: var(--lh-title); color: var(--text-title); }

.kd-pitch { margin-top: var(--sp-16); padding-top: var(--sp-8); border-top: 1px solid var(--line-divider); }
.kd-pitch__no { margin: 0; font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-caps); color: var(--kd-blue); }
.kd-pitch__head { margin: var(--sp-2) 0 0; font-size: var(--fs-h2); font-weight: var(--fw-extrabold); line-height: var(--lh-title); color: var(--text-title); }
.kd-pitch__lead { margin: var(--sp-3) 0 0; max-width: 720px; font-size: var(--fs-lead); color: var(--text-sub); line-height: var(--lh-body); }
.kd-pitch__note { margin: var(--sp-6) 0 0; padding-left: var(--sp-4); border-left: 3px solid var(--kd-blue); font-size: var(--fs-body); color: var(--text-body); }
.kd-pitch__note b { color: var(--kd-navy); }
.kd-pitch__photo { display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; object-position: 50% 62%; margin-top: var(--sp-8); }

.kd-xsec { position: relative; margin-top: var(--sp-8); aspect-ratio: 1750 / 690; }
.kd-xsec > img { position: absolute; left: 0; top: 0; width: 64%; height: 100%; object-fit: cover; }
.kd-xsec > svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.kd-xsec > svg line, .kd-xsec > svg polyline { fill: none; stroke: var(--kd-navy); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.kd-xsec > svg circle { fill: var(--kd-navy); }
.kd-xsec > svg .is-kd polyline { stroke: var(--kd-blue); stroke-width: 3; }
.kd-xsec > svg .is-kd circle { fill: var(--kd-blue); }
.kd-xsec ol { margin: 0; padding: 0; list-style: none; }
.kd-xsec li { position: absolute; left: 69%; transform: translateY(-50%); font-size: var(--fs-body); color: var(--text-body); line-height: 1.35; }
.kd-xsec li span { display: block; font-size: var(--fs-caption); color: var(--text-muted); }
.kd-xsec li.is-kd { color: var(--kd-blue); font-weight: var(--fw-bold); font-size: var(--fs-lead); }
.kd-xsec li.is-kd span { color: var(--kd-blue); font-weight: var(--fw-regular); }

.kd-flow { list-style: none; margin: var(--sp-8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(var(--kd-flow-n, 4), 1fr); gap: var(--sp-8); }
.kd-flow li { position: relative; padding-top: var(--sp-4); border-top: 3px solid var(--kd-navy); }
.kd-flow li::after { content: ""; position: absolute; top: -9px; right: calc(-1 * var(--sp-8) + 4px); width: calc(var(--sp-8) - 8px); height: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 14'%3E%3Cpath d='M0 0l10 7-10 7z' fill='%231E3354'/%3E%3C/svg%3E") center / 10px 14px no-repeat; }
.kd-flow li:last-child::after { display: none; }
.kd-flow b { display: block; font-size: var(--fs-h4); color: var(--kd-navy); }
.kd-flow b em { font-style: normal; color: var(--kd-blue); }
.kd-flow p { margin: var(--sp-2) 0 0; font-size: var(--fs-cell); color: var(--text-sub); line-height: 1.55; }
.kd-flow li.is-ng { border-top-color: var(--kd-coral); }
.kd-flow li.is-ng b { color: var(--kd-coral); }

.kd-pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); margin-top: var(--sp-8); }
.kd-pair__item { margin: 0; }
.kd-pair__item img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.kd-pair__item figcaption { margin-top: var(--sp-4); padding-top: var(--sp-3); border-top: 3px solid var(--line-card); font-size: var(--fs-body); color: var(--text-body); }
.kd-pair__item.is-kd figcaption { border-top-color: var(--kd-blue); }
.kd-pair__item figcaption b { display: block; font-size: var(--fs-h4); margin-bottom: var(--sp-1); }
.kd-pair__item figcaption b a { color: var(--kd-navy); text-decoration: none; }
.kd-pair__item figcaption b a:hover { color: var(--kd-blue); }
.kd-pair__tag { display: inline-block; margin-left: var(--sp-2); padding: 1px 8px; font-size: var(--fs-micro); font-weight: var(--fw-bold);
  color: var(--kd-navy); background: var(--kd-blue-lt); }
.kd-pair__item.is-kd .kd-pair__tag { color: #fff; background: var(--kd-blue); }

.kd-points { list-style: none; margin: var(--sp-8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-8); }
.kd-points li { border-top: 3px solid var(--kd-navy); padding-top: var(--sp-4); }
.kd-points b { font-size: var(--fs-h3); color: var(--kd-navy); }
.kd-points p { margin: var(--sp-2) 0 0; font-size: var(--fs-body); color: var(--text-sub); }

.kd-names { margin: var(--sp-6) 0 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-2) var(--sp-4);
  font-size: var(--fs-h3); line-height: 1.4; word-break: keep-all; }
.kd-names b { color: var(--kd-navy); font-weight: var(--fw-extrabold); }
.kd-names b:first-child { color: var(--kd-blue); }
.kd-names i { font-style: normal; color: var(--text-muted); font-weight: var(--fw-regular); }
.kd-pair--fit .kd-pair__item img { aspect-ratio: 4 / 3; object-fit: contain; background: #fff; }
.kd-pair--3 { grid-template-columns: repeat(3, 1fr); }
.kd-pair--3 .kd-pair__item img { aspect-ratio: 4 / 3; }
.kd-pair--3 .kd-pair__item figcaption b { margin-bottom: 0; }

.kd-duo { display: grid; grid-template-columns: 1.25fr 1fr; gap: var(--sp-12); align-items: center; margin-top: var(--sp-12); }
.kd-duo > * { min-width: 0; }
.kd-duo > img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.kd-duo .kd-pitch__head { margin-top: 0; }
.kd-duo .kd-pitch__lead b { color: var(--kd-navy); }
.kd-duo--rev > img { order: 2; }
.kd-pair.kd-pair--5 { grid-template-columns: repeat(5, 1fr); gap: var(--sp-4); }
.kd-pair--5 .kd-pair__item img { aspect-ratio: 1 / 1; }
.kd-pair--5 .kd-pair__item figcaption { font-size: var(--fs-caption); color: var(--text-sub); }
.kd-pair--5 .kd-pair__item figcaption b { font-size: var(--fs-body); color: var(--kd-navy); }
.kd-pair--5 .kd-pair__item figcaption i { display: block; margin-top: var(--sp-1); font-style: normal; color: var(--text-muted); }

.kd-pair.kd-pair--4 { grid-template-columns: repeat(4, 1fr); gap: var(--sp-6); }
.kd-pair--4 .kd-pair__item img { aspect-ratio: 1 / 1; }
.kd-pair--4 .kd-pair__item figcaption { font-size: var(--fs-caption); color: var(--text-sub); }
.kd-pair--4 .kd-pair__item figcaption b { font-size: var(--fs-body); color: var(--kd-navy); }
.kd-pair--4 .kd-pair__item figcaption i { display: block; margin-top: var(--sp-1); font-style: normal; color: var(--text-muted); }
.kd-vs__label { margin: 0; font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-caps); color: var(--kd-blue); }
.kd-vs3__key { margin: var(--sp-6) 0 0; font-size: var(--fs-caption); color: var(--text-sub); }
.kd-vs3__key span { display: inline-block; margin-right: var(--sp-1); padding: 1px 8px; font-weight: var(--fw-bold); color: var(--kd-navy); background: var(--line-card); }
.kd-vs3__key span.is-kd { margin-left: var(--sp-4); color: #fff; background: var(--kd-blue); }
.kd-vs3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-8); margin-top: var(--sp-6); }
.kd-vs3 > * { min-width: 0; }
.kd-vs3__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: var(--sp-3); }
.kd-vs3__pair img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-bottom: 3px solid var(--line-card); }
.kd-vs3__pair img.is-kd { border-bottom-color: var(--kd-blue); }
.kd-vs3__say { margin: var(--sp-3) 0 0; font-size: var(--fs-body); color: var(--text-body); line-height: var(--lh-body); }
@media (max-width: 900px) {
  .kd-pair.kd-pair--5 { grid-template-columns: repeat(3, 1fr); }
  .kd-pair.kd-pair--4 { grid-template-columns: 1fr 1fr; }
  .kd-duo { grid-template-columns: 1fr; gap: var(--sp-6); }
  .kd-duo--rev > img { order: 0; }
  .kd-vs3 { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .kd-pair.kd-pair--5 { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
  .kd-flow { grid-template-columns: 1fr 1fr; }
  .kd-flow li::after { display: none; }
  .kd-pair, .kd-points { grid-template-columns: 1fr; gap: var(--sp-6); }
  .kd-pair--3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .kd-pitch__photo { aspect-ratio: 3 / 2; }
  
  .kd-xsec { aspect-ratio: auto; }
  .kd-xsec > img { position: static; width: 100%; height: auto; }
  .kd-xsec > svg { display: none; }
  .kd-xsec ol { margin-top: var(--sp-4); }
  .kd-xsec li { position: static; transform: none; padding: 8px 0; border-bottom: 1px solid var(--line-divider); }
  .kd-xsec li span { display: inline; margin-left: var(--sp-2); }
}
@media (max-width: 640px) {
  .kd-pitch-intro h3 { font-size: var(--fs-h2); }
  .kd-pitch__head { font-size: var(--fs-h3); }
  .kd-flow { grid-template-columns: 1fr; gap: var(--sp-6); }
}

.kd-qna__head { grid-template-columns: 56px minmax(0, 1fr) auto 76px 24px; }
.kd-qna__lock { width: 15px; height: 15px; margin-right: 6px; vertical-align: -2px; color: var(--text-muted); }
.kd-qna__name { margin-left: var(--sp-3); font-weight: var(--fw-regular, 400); font-size: var(--fs-caption); color: var(--text-sub); }
.kd-qna__status { margin: 0; text-align: center; letter-spacing: 0; }
.kd-qna__secret { color: var(--text-sub); font-size: var(--fs-cell); }
.kd-qna__answer strong { display: block; margin-bottom: 4px; color: var(--kd-navy); }
.kd-qna__state { padding: var(--sp-8) 0; text-align: center; color: var(--text-sub); border-bottom: 1px solid var(--line-divider); margin: 0; }
.kd-qna__state[hidden] { display: none; }
.kd-qna__pager { display: flex; justify-content: center; gap: var(--sp-2); margin-top: var(--sp-6); }
.kd-qna__pager[hidden] { display: none; }
.kd-qna__page { min-width: 36px; height: 36px; border: 1px solid var(--line-divider); background: none; font: inherit; color: var(--text-body); cursor: pointer; }
.kd-qna__page[aria-current="page"] { background: var(--kd-navy); border-color: var(--kd-navy); color: #fff; }
.kd-qna__write { margin-top: var(--sp-8); text-align: center; }
@media (max-width: 640px) {
  .kd-qna__head { grid-template-columns: minmax(0, 1fr) auto 24px; }
  .kd-qna__head .kd-notice__date { grid-column: 1; }
  .kd-qna__status { grid-row: 1 / 3; grid-column: 2; }
  .kd-qna__head .kd-notice__chev { grid-row: 1 / 3; grid-column: 3; }
}
