.tss { border-top: 1px solid var(--hair); }
.tss-row { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--hair); transition: opacity .35s var(--ease); align-items: start; }
.tss-hov .tss-row:not(.tss-on) { opacity: .25; }
.tss-lab { display: flex; flex-direction: column; gap: 6px; padding-top: 4px; }
.tss-spec { font-family: var(--font-body); font-size: 12px; line-height: 1.4; color: var(--grey-1); }
.tss-right { position: relative; padding-right: 64px; min-width: 0; }
.tss-sample { color: var(--ink); outline: none; margin: 0; overflow-wrap: anywhere; caret-color: var(--ink); }
.tss-sample:focus-visible { outline: 1px dotted var(--hair); outline-offset: 6px; }
.tss-m-xl { font-family: var(--font-marquee); font-size: 160px; line-height: .9; letter-spacing: .04em; }
.tss-m-l { font-family: var(--font-marquee); font-size: 64px; line-height: 1; letter-spacing: .06em; }
.tss-h { font-family: var(--font-display); font-weight: 500; font-size: 44px; line-height: 1.05; letter-spacing: -.025em; }
.tss-sh { font-family: var(--font-display); font-weight: 300; font-size: 26px; line-height: 1.2; letter-spacing: -.01em; }
.tss-b { font-family: var(--font-body); font-weight: 400; font-size: 17px; line-height: 1.55; max-width: 62ch; }
.tss-c { font-family: var(--font-body); font-weight: 500; font-size: 11px; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; }
.tss-cr { font-family: var(--font-marquee); font-size: 14px; line-height: 1.4; letter-spacing: .24em; }
.tss-br { position: absolute; right: 0; width: 56px; display: flex; align-items: center; opacity: 0; transition: opacity .3s var(--ease); pointer-events: none; }
.tss-on .tss-br { opacity: 1; }
.tss-br i { align-self: stretch; width: 6px; border: 1px solid var(--ink); border-left: 0; flex: none; }
.tss-br b { font: 500 10px/1 var(--font-body); letter-spacing: .08em; margin-left: 6px; white-space: nowrap; color: var(--ink); }
@media (max-width: 820px) {
  .tss-row { grid-template-columns: 1fr; gap: 12px; padding: 22px 0; }
  .tss-right { padding-right: 52px; }
  .tss-br { width: 48px; }
  .tss-m-xl { font-size: clamp(56px, 19vw, 110px); }
  .tss-m-l { font-size: clamp(34px, 11vw, 64px); }
  .tss-h { font-size: clamp(30px, 8.5vw, 44px); }
}
@media (prefers-reduced-motion: reduce) { .tss-row, .tss-br { transition: none; } }
