/* Kattokuntotarkastus-alasivu */
.kt-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); }
.kt-trio > div { padding: 32px 32px 0 0; display: flex; flex-direction: column; gap: 10px; }
.kt-trio > div + div { padding-left: 32px; border-left: 1px solid var(--line); }
.kt-label { font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--action-text); }
.kt-trio h3 { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: 26px; line-height: 1.15; }
.kt-trio p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink-muted); }

.kt-span2 { grid-column: span 2; }
@media (max-width: 900px) {
  .kt-hero-img { left: 0 !important; width: 100% !important; object-position: 45% 50% !important; }
  .kt-hero-copy { margin-left: 0 !important; }
  .kt-hero-shade { background: linear-gradient(0deg, rgba(28,26,26,0.92) 0%, rgba(28,26,26,0.72) 55%, rgba(28,26,26,0.25) 100%) !important; }
}

/* Kuntoluokka-asteikko */
.kt-scale { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.kt-kl { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 0; cursor: default; }
.kt-kl-bar { height: 14px; border-radius: 7px; background: var(--c); transform-origin: left center; transition: transform 0.35s var(--kk-ease); }
.kt-kl:hover .kt-kl-bar { transform: scaleY(1.5); }
.kt-kl-name { font-family: var(--font-display); font-weight: 800; font-size: 20px; line-height: 1.1; }
.kt-kl-years { font-size: 14px; color: var(--on-inverse-muted); }
.kt-kl-no { font-size: 13px; font-weight: 600; letter-spacing: 0.08em; color: var(--on-inverse-muted); }
@supports (animation-timeline: view()) {
  @keyframes kt-grow { from { transform: scaleX(0); } to { transform: none; } }
  .kt-kl-bar { animation: kt-grow linear both; animation-timeline: view(); animation-range: entry 10% entry 70%; }
}
.kt-urg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.kt-urg-item { display: flex; gap: 18px; align-items: flex-start; padding: 24px; border-radius: var(--radius-lg); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); }
.kt-urg-no { flex: none; width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 24px; color: #fff; background: var(--c); }

/* Apuvälineet */
.kt-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.kt-tool { padding: 28px; border-radius: var(--radius-lg); background: var(--surface); display: flex; flex-direction: column; gap: 10px; }
.kt-tool-name { font-family: var(--font-display); font-weight: 800; font-size: 22px; }
.kt-tool-model { font-size: 13px; font-weight: 600; color: var(--action-text); letter-spacing: 0.04em; }

/* Rakenneosat */
.kt-parts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; }
.kt-part { padding: 22px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 200px 1fr; gap: 20px; }
.kt-part-name { font-family: var(--font-display); font-weight: 800; font-size: 19px; line-height: 1.25; }
.kt-part-what { margin: 0; font-size: 15px; line-height: 1.55; }
.kt-part-seen { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--ink-muted); }

.kt-steps5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; counter-reset: s; }
.kt-step5 { position: relative; padding-top: 22px; border-top: 3px solid var(--surface-inverse); display: flex; flex-direction: column; gap: 8px; }
.kt-step5::before { counter-increment: s; content: counter(s); font-family: var(--font-display); font-weight: 800; font-size: 40px; line-height: 1; color: var(--brand-red); }
.kt-step5 strong { font-family: var(--font-display); font-weight: 800; font-size: 20px; }
.kt-step5 span { font-size: 15px; line-height: 1.5; color: var(--ink-muted); }

@media (max-width: 1000px) {
  .kt-span2 { grid-column: auto; }
  .kt-trio { grid-template-columns: minmax(0, 1fr); }
  .kt-trio > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); padding-top: 24px; margin-top: 24px; }
  .kt-trio > div { padding-right: 0; }
  .kt-scale { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .kt-urg, .kt-tools { grid-template-columns: minmax(0, 1fr); }
  .kt-parts { grid-template-columns: minmax(0, 1fr); }
  .kt-part { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .kt-steps5 { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .kt-kl-bar { animation: none !important; }
  .kt-kl-bar { transition: none !important; }
}
