/* ══════════════════════════════════════════════════════════════════════════
   MINEERS 2.0 — ALL TREATMENTS (treatments.html)
   The entrance to the nine treatment pages. Loaded after treatment.css,
   whose tokens, chapter bar, hero, "in brief", final moment and booking
   drawer it reuses as they are. Only what this page adds lives here:
     · the hero title (two long lines instead of a treatment's name)
     · the index: nine rows beside a preview window
     · the five chapters, told once
     · the rating strip
   Everything is scoped to .tx; no other page loads this file.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Hero ────────────────────────────────────────────────────────────────── */
.tx .txh__title--index { font-size: clamp(52px, min(6.8vw, 12.5vh), 150px); }
.tx .txh__title--index .ln--in { padding-left: .5em; }
.tx .txh--index .txh__drift img { object-position: 49% 50%; }

/* ── In brief: the statement and one line, nothing else ──────────────────── */
.tx .txi--index { padding-bottom: clamp(96px, 11vw, 180px); }
.tx .txi--index .txi__statement { grid-column: 4 / 12; text-wrap: balance; }
.tx .txi--index .txi__answer { grid-column: 4 / 9; }

/* ══ THE INDEX ══════════════════════════════════════════════════════════════ */
.tx .txix { position: relative; background: var(--tx-cream); padding: clamp(100px, 12vw, 200px) var(--tx-g) clamp(90px, 10vw, 170px); }
.tx .txix__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: end; }
.tx .txix__head .tx-label { grid-column: 1 / -1; }
.tx .txix__head .tx-h2 { grid-column: 1 / 8; }
.tx .txix__intro { grid-column: 9 / 13; padding-bottom: .5em; font: italic 500 clamp(21px, 1.7vw, 28px)/1.3 var(--serif); color: var(--tx-soft); }

.tx .txix__body {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: start;
  margin-top: clamp(56px, 7vw, 110px);
}
.tx .txix__list { grid-column: 1 / 8; border-top: 1px solid var(--tx-line); }

/* a row: number · name, then the line and the facts */
.tx .txix__row { position: relative; border-bottom: 1px solid var(--tx-line); }
.tx .txix__row::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--tx-champ);
  transform: scaleX(0); transform-origin: left; transition: transform 1s var(--tx-ease); pointer-events: none;
}
.tx .txix__row.is-on::after { transform: scaleX(1); }
.tx .txix__row a {
  display: grid; grid-template-columns: clamp(40px, 4.4vw, 72px) minmax(0, .8fr) minmax(0, 1.4fr) 40px;
  grid-template-areas: "no name name go" ". desc facts go";
  column-gap: clamp(14px, 1.6vw, 26px); row-gap: 16px; align-items: start;
  padding: clamp(24px, 2.3vw, 34px) 0 clamp(26px, 2.5vw, 38px); color: var(--tx-ink);
  transition: opacity .6s var(--tx-ease);
}
.tx .txix__no { grid-area: no; padding-top: .5em; font: italic 500 clamp(20px, 1.5vw, 24px)/1 var(--serif); color: var(--tx-champ); }
.tx .txix__name {
  grid-area: name; font: 500 clamp(34px, 3.2vw, 56px)/1 var(--serif); letter-spacing: -.028em;
  transition: transform .8s var(--tx-ease), color .5s var(--tx-ease);
}
.tx .txix__row.is-on .txix__name { transform: translateX(14px); font-style: italic; color: var(--tx-champ); }
.tx .txix__desc { grid-area: desc; font-size: 14px; line-height: 1.65; color: var(--tx-soft); max-width: 300px; }
.tx .txix__facts { grid-area: facts; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));   /* two facts since the prices came off (2026-09-25) */ column-gap: 12px; margin: 0; padding-top: 3px; }
.tx .txix__facts div { padding-left: 12px; border-left: 1px solid var(--tx-line); }
.tx .txix__facts dt { font: 500 9px/1.3 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--tx-soft); }
.tx .txix__facts dd { margin: 8px 0 0; font: 500 clamp(15.5px, 1.18vw, 18px)/1.25 var(--serif); letter-spacing: -.005em; }
.tx .txix__facts small { display: inline-block; font: 400 9px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--tx-soft); white-space: nowrap; }
.tx .txix__go { grid-area: go; align-self: center; justify-self: end; position: relative; width: 34px; height: 11px; }
.tx .txix__go i { position: absolute; right: 1px; top: 5px; width: 100%; height: 1px; background: currentColor; transform: scaleX(.4); transform-origin: right; transition: transform .7s var(--tx-ease); }
.tx .txix__go::after { content: ""; position: absolute; right: 1px; top: 1px; width: 8px; height: 8px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.tx .txix__row.is-on .txix__go i { transform: none; }
/* while the pointer (or the keyboard) is in the list, the other rows step back */
.tx .txix__list.is-hover .txix__row:not(.is-on) a,
.tx .txix__list:focus-within .txix__row:not(.is-on) a { opacity: .42; }

/* the preview window: sticky beside the list */
.tx .txix__view { grid-column: 8 / 13; position: sticky; top: calc(var(--nav-h, 92px) + var(--tx-bar) + clamp(18px, 3vh, 36px)); }
.tx .txix__view > * { width: min(100%, calc((100vh - var(--nav-h, 92px) - var(--tx-bar) - 150px) * .8)); margin-left: auto; }
.tx .txix__frame { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #15110e; }
.tx .txix__shots { position: absolute; inset: 0; isolation: isolate; }
.tx .txix__frame::after { /* crop marks, as on the treatment pages' instrument windows */
  content: ""; position: absolute; inset: 14px; z-index: 1; pointer-events: none;
  --c: rgba(241, 233, 221, .6); --l: 16px;
  background:
    linear-gradient(var(--c), var(--c)) 0 0 / var(--l) 1px no-repeat, linear-gradient(var(--c), var(--c)) 0 0 / 1px var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) 100% 0 / var(--l) 1px no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / 1px var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) 0 100% / var(--l) 1px no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / 1px var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) 100% 100% / var(--l) 1px no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / 1px var(--l) no-repeat;
}
/* each picture opens over the last like a curtain; the one beneath is put away once covered */
.tx .txix__shot { position: absolute; inset: 0; margin: 0; overflow: hidden; clip-path: inset(0 0 0 100%); transition: clip-path 0s linear 1.2s; }
.tx .txix__shot.is-on { clip-path: inset(0 0 0 0); transition: clip-path 1.15s var(--tx-ease); }
.tx .txix__shot img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transform: scale(1.1); transition: transform 0s linear 1.2s; }
.tx .txix__shot.is-on img { transform: none; transition: transform 2.4s var(--tx-ease); }
.tx .txix__shot--wide img { object-position: 50% 50%; }
.tx .txix__shot--schem { display: grid; place-items: center; background: radial-gradient(110% 80% at 50% 45%, #2e241d 0%, #1a1410 70%); color: var(--tx-od); }
.tx .txix__shot--schem .txsch { width: 74%; --acc: var(--tx-champ-lt); --pinbg: #211a15; transform: scale(1.06); transition: transform 0s linear 1.2s; }
.tx .txix__shot--schem .txsch--arch { width: 86%; }
.tx .txix__shot--schem.is-on .txsch { transform: none; transition: transform 2.4s var(--tx-ease); }
.tx .txix__shot .s-pin, .tx .txix__shot .s-lead { display: none; }

.tx .txix__caps { position: relative; height: 46px; margin-top: 16px; }
.tx .txix__cap {
  position: absolute; left: 0; right: 0; top: 0; display: flex; align-items: baseline; gap: 12px;
  opacity: 0; transform: translate3d(0, 8px, 0); transition: opacity .3s var(--tx-ease), transform .3s var(--tx-ease);
}
.tx .txix__cap.is-on { opacity: 1; transform: none; transition: opacity .9s var(--tx-ease) .2s, transform 1.1s var(--tx-ease) .2s; }
.tx .txix__cap b { font: italic 500 30px/1 var(--serif); color: var(--tx-champ); }
.tx .txix__of { font: 500 10px/1 var(--mono); letter-spacing: .16em; color: var(--tx-soft); }
.tx .txix__captext { margin-left: auto; font: 400 10px/1.5 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--tx-soft); text-align: right; }

.tx .txix__more { margin-top: clamp(44px, 5vw, 76px); }

/* Without JavaScript the first picture stays, and hover still swaps it. */
html:not(.js) .tx .txix__body:has(.txix__row a:hover) .txix__cap { opacity: 0; }
html:not(.js) .tx .txix__body:has(.txix__row:nth-child(2) a:hover) :is(.txix__shot:nth-child(2), .txix__cap:nth-child(2)),
html:not(.js) .tx .txix__body:has(.txix__row:nth-child(3) a:hover) :is(.txix__shot:nth-child(3), .txix__cap:nth-child(3)),
html:not(.js) .tx .txix__body:has(.txix__row:nth-child(4) a:hover) :is(.txix__shot:nth-child(4), .txix__cap:nth-child(4)),
html:not(.js) .tx .txix__body:has(.txix__row:nth-child(5) a:hover) :is(.txix__shot:nth-child(5), .txix__cap:nth-child(5)),
html:not(.js) .tx .txix__body:has(.txix__row:nth-child(6) a:hover) :is(.txix__shot:nth-child(6), .txix__cap:nth-child(6)),
html:not(.js) .tx .txix__body:has(.txix__row:nth-child(7) a:hover) :is(.txix__shot:nth-child(7), .txix__cap:nth-child(7)),
html:not(.js) .tx .txix__body:has(.txix__row:nth-child(8) a:hover) :is(.txix__shot:nth-child(8), .txix__cap:nth-child(8)),
html:not(.js) .tx .txix__body:has(.txix__row:nth-child(9) a:hover) :is(.txix__shot:nth-child(9), .txix__cap:nth-child(9)),
html:not(.js) .tx .txix__body:has(.txix__row:nth-child(1) a:hover) :is(.txix__shot:nth-child(1), .txix__cap:nth-child(1)) {
  clip-path: inset(0 0 0 0); opacity: 1; transform: none; z-index: 2;
}

/* ══ FIVE CHAPTERS ══════════════════════════════════════════════════════════ */
.tx .txway { position: relative; background: var(--tx-esp); color: var(--tx-od); padding: clamp(100px, 12vw, 200px) var(--tx-g) clamp(90px, 10vw, 170px); overflow: hidden; }
.tx .txway__head { max-width: 1100px; }
.tx .txway__sub { margin-top: 26px; font: italic 500 clamp(22px, 2vw, 32px)/1.25 var(--serif); color: var(--tx-champ-lt); }
.tx .txway__flow { --noh: clamp(44px, 4.4vw, 76px); position: relative; margin-top: clamp(70px, 8vw, 130px); }
.tx .txway__flow::before, .tx .txway__rule {
  content: ""; position: absolute; left: 0; right: 0; top: calc(var(--noh) + 28px); height: 1px; pointer-events: none;
}
.tx .txway__flow::before { background: var(--tx-od-line); }
.tx .txway__rule { z-index: 1; background: var(--tx-champ-lt); transform-origin: left; }
.js .tx .txway__flow .txway__rule { transform: scaleX(0); transition: transform 2.8s var(--tx-ease) .3s; }
.js .tx .txway__flow.is-in .txway__rule { transform: scaleX(1); }
.tx .txway__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: clamp(20px, 2.4vw, 40px); }
.tx .txway__step { position: relative; }
.tx .txway__step::before { /* a station on the line; it fills as the line reaches it */
  content: ""; position: absolute; left: 0; top: calc(var(--noh) + 24px); z-index: 2;
  width: 9px; height: 9px; border-radius: 50%; box-sizing: border-box;
  border: 1px solid var(--tx-champ-lt); background: var(--tx-champ-lt);
}
.js .tx .txway__flow .txway__step::before { background: var(--tx-esp); transition: background-color .6s var(--tx-ease) calc(.5s + var(--i, 0) * .5s); }
.js .tx .txway__flow.is-in .txway__step::before { background: var(--tx-champ-lt); }
.tx .txway__no { display: block; height: var(--noh); font: italic 500 var(--noh)/1 var(--serif); letter-spacing: -.02em; color: var(--tx-champ-lt); }
.tx .txway__name { margin-top: 66px; font: 500 clamp(28px, 2.7vw, 46px)/1 var(--serif); letter-spacing: -.025em; }
.tx .txway__line { margin-top: 14px; font: 500 10px/1.5 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--tx-champ-lt); }
.tx .txway__text { margin-top: 14px; max-width: 270px; font-size: 14.5px; line-height: 1.7; color: var(--tx-od-soft); }
.tx .txway__more { margin-top: clamp(60px, 7vw, 110px); }

/* ══ RATING STRIP ═══════════════════════════════════════════════════════════ */
.tx .txrate { background: var(--tx-ivory); padding: clamp(80px, 9vw, 150px) var(--tx-g); }
.tx .txrate .tx-label { margin-bottom: 26px; }
.tx .txrate__in {
  position: relative; display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center;
  column-gap: clamp(22px, 3.4vw, 64px); padding: clamp(28px, 3vw, 44px) 0;
  border-top: 1px solid var(--tx-line); border-bottom: 1px solid var(--tx-line); color: var(--tx-ink);
}
.tx .txrate__in::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--tx-champ);
  transform: scaleX(0); transform-origin: left; transition: transform 1.1s var(--tx-ease);
}
.tx .txrate__in:hover::after { transform: scaleX(1); }
.tx .txrate__score { font: 500 clamp(72px, 8vw, 132px)/.8 var(--serif); letter-spacing: -.045em; transition: color .6s var(--tx-ease); }
.tx .txrate__in:hover .txrate__score { color: var(--tx-champ); }
.tx .txrate__stars { display: grid; gap: 12px; }
.tx .txrate__row { font-size: 17px; line-height: 1; letter-spacing: .3em; color: var(--tx-champ); }
.tx .txrate__src { font: 500 9.5px/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; color: var(--tx-soft); }
.tx .txrate__text { font: italic 400 clamp(26px, 2.6vw, 44px)/1.1 var(--serif); letter-spacing: -.015em; }
.tx .txrate__in:hover .txlink::before { transform: scaleX(.35); }
.tx .txrate__in:hover .txlink::after { transform: translateX(5px); }

/* ══ TABLET ═════════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) and (min-width: 801px) {
  .tx .txix__row a { grid-template-columns: 44px minmax(0, 1fr) 36px; grid-template-areas: "no name go" ". desc go" ". facts go"; row-gap: 12px; }
  .tx .txix__desc { max-width: none; }
  .tx .txix__facts { margin-top: 6px; }
}
@media (max-width: 1000px) and (min-width: 801px) {
  .tx .txway__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 70px; }
  .tx .txway__flow::before, .tx .txway__rule { display: none; }
  .tx .txway__step { padding-top: 0; }
  .tx .txway__step::before { display: none; }
  .tx .txway__name { margin-top: 26px; }
}

/* ══ MOBILE ═════════════════════════════════════════════════════════════════ */
@media (max-width: 800px) {
  .tx .txh__title--index { font-size: clamp(46px, 15.4vw, 78px); }
  .tx .txh__title--index .ln--in { padding-left: .42em; }

  .tx .txi--index { padding-bottom: 88px; }

  .tx .txix { padding: 90px var(--tx-g) 80px; }
  .tx .txix__head { display: block; }
  .tx .txix__intro { margin-top: 22px; padding: 0; font-size: 22px; }
  .tx .txix__body { display: flex; flex-direction: column; align-items: stretch; margin-top: 44px; }
  /* phones: the window becomes a band under the site header; rows pass beneath it */
  .tx .txix__view { order: -1; position: sticky; top: var(--nav-h, 76px); z-index: 3; margin: 0 calc(var(--tx-g) * -1); }
  .tx .txix__view > * { width: auto; margin: 0; }
  .tx .txix__frame { aspect-ratio: auto; height: max(200px, min(60vw, 36svh)); }
  .tx .txix__frame::after { inset: 12px; --l: 12px; }
  /* every picture is shown whole: a wide band cut the portraits to a strip
     from nose to chin, so they now stand as prints on the dark band */
  .tx .txix__shot img { object-fit: contain; object-position: 50% 50%; }
  .tx .txix__shot--schem { grid-template: 100% / 100%; } /* a definite track, so the drawing's 82% height resolves */
  .tx .txix__shot--schem .txsch, .tx .txix__shot--schem .txsch--arch { width: auto; height: 82%; max-width: 86%; }
  .tx .txix__caps { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 70px; margin: 0; pointer-events: none; background: linear-gradient(0deg, rgba(20, 15, 12, .74), rgba(20, 15, 12, 0)); }
  .tx .txix__cap { left: var(--tx-g); right: var(--tx-g); top: auto; bottom: 14px; gap: 10px; }
  .tx .txix__cap b { font-size: 24px; color: var(--tx-champ-lt); }
  .tx .txix__of, .tx .txix__captext { color: rgba(241, 233, 221, .84); }
  .tx .txix__captext { min-width: 0; overflow: hidden; font-size: 8.5px; letter-spacing: .08em; white-space: nowrap; text-overflow: ellipsis; }
  .tx .txix__list { border-top: 0; }
  .tx .txix__row a { grid-template-columns: 34px minmax(0, 1fr) 28px; grid-template-areas: "no name go" ". desc desc" ". facts facts"; column-gap: 10px; row-gap: 12px; padding: 26px 0 28px; }
  .tx .txix__no { font-size: 20px; padding-top: .4em; }
  .tx .txix__name { font-size: 34px; }
  .tx .txix__row.is-on .txix__name { transform: translateX(6px); }
  .tx .txix__desc { max-width: none; }
  .tx .txix__facts { column-gap: 10px; }
  .tx .txix__facts div { padding-left: 10px; }
  .tx .txix__facts dd { font-size: 16.5px; }

  .tx .txway { padding: 90px var(--tx-g) 84px; }
  .tx .txway__flow { --noh: 30px; margin-top: 56px; }
  .tx .txway__flow::before, .tx .txway__rule { left: 4px; right: auto; top: 12px; bottom: 12px; width: 1px; height: auto; }
  .tx .txway__rule { transform-origin: top; }
  .js .tx .txway__flow .txway__rule { transform: scaleY(0); }
  .js .tx .txway__flow.is-in .txway__rule { transform: scaleY(1); }
  .tx .txway__steps { grid-template-columns: 1fr; row-gap: 46px; }
  .tx .txway__step { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: baseline; padding-left: 30px; }
  .tx .txway__step::before { top: 11px; }
  .tx .txway__no { grid-row: 1; height: auto; }
  .tx .txway__name { grid-row: 1; grid-column: 2; margin: 0; font-size: 34px; }
  .tx .txway__line, .tx .txway__text { grid-column: 2; }
  .tx .txway__text { max-width: none; }

  .tx .txrate { padding: 80px var(--tx-g); }
  .tx .txrate__in { grid-template-columns: auto minmax(0, 1fr); row-gap: 22px; column-gap: 22px; padding: 30px 0 32px; }
  .tx .txrate__score { font-size: 84px; }
  .tx .txrate__text, .tx .txrate__in .txlink { grid-column: 1 / -1; justify-self: start; }
  .tx .txrate__text { font-size: 30px; }
}
@media (max-width: 800px) {
  /* without JavaScript a phone cannot follow the rows, so the band steps aside */
  html:not(.js) .tx .txix__view { display: none; }
}
/* without JavaScript nothing scrubs the final moment, so show it finished (line and buttons included) */
html:not(.js) .tx .txf { --p: 1; }

/* ══ REDUCED MOTION ═════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  .tx .txix__shot, .tx .txix__shot.is-on, .tx .txix__shot img, .tx .txix__shot.is-on img,
  .tx .txix__shot--schem .txsch, .tx .txix__shot--schem.is-on .txsch { transition: none !important; transform: none !important; }
  .tx .txix__cap, .tx .txix__cap.is-on { transition: none; transform: none; }
  .tx .txix__row::after, .tx .txix__name, .tx .txix__go i, .tx .txix__row a { transition: none; }
  .js .tx .txway__flow .txway__step::before { transition: none; background: var(--tx-champ-lt); }
}

/* The preview facts were almost all times (Visits · Time, Duration, Healing,
   Session): off at the user's request, 2026-09-25, with every other time
   and duration on the treatment pages. The markup stays. */
.tx .txix__facts { display: none; }

/* The hero's wide framed smile (txh--cmp) moved to treatment.css on 2026-09-26, for the veneers page too. */

/* ── What would you like to change? (#change, 2026-09-27) ──────────────────
   The homepage chooser's answers as an index: the concern in the patient's
   words, then the treatments that answer it. Two columns, one on phones. */
.tx .txcx { background: var(--tx-ivory); padding: clamp(90px, 10vw, 170px) var(--tx-g) clamp(80px, 9vw, 150px); }
.tx .txcx__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: end; }
.tx .txcx__head .tx-label { grid-column: 1 / -1; }
.tx .txcx__head .tx-h2 { grid-column: 1 / 8; }
.tx .txcx__intro { grid-column: 9 / 13; margin: 0; padding-bottom: .5em; font: italic 500 clamp(21px, 1.7vw, 28px)/1.3 var(--serif); color: var(--tx-soft); }
.tx .txcx__list { list-style: none; margin: clamp(48px, 6vw, 90px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(32px, 5vw, 96px); }
.tx .txcx__row { display: grid; gap: 14px; align-content: start; padding: clamp(22px, 2.2vw, 32px) 0 clamp(24px, 2.4vw, 34px); border-top: 1px solid var(--tx-line); }
.tx .txcx__row:nth-last-child(-n + 2) { border-bottom: 1px solid var(--tx-line); }
.tx .txcx__q { margin: 0; font: 500 clamp(24px, 2vw, 32px)/1.12 var(--serif); letter-spacing: -.01em; color: var(--tx-ink); }
.tx .txcx__a { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0; }
.tx .txcx__a a { font: 500 10px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--tx-ink); text-decoration: none; padding-bottom: 6px; border-bottom: 1px solid var(--tx-line); transition: color .4s var(--tx-ease), border-color .4s var(--tx-ease); }
.tx .txcx__a a::after { content: " \2192"; }
.tx .txcx__a a:hover, .tx .txcx__a a:focus-visible { color: var(--tx-champ); border-color: var(--tx-champ); }
@media (max-width: 800px) {
  .tx .txcx__head .tx-h2, .tx .txcx__intro { grid-column: 1 / -1; }
  .tx .txcx__intro { margin-top: 18px; }
  .tx .txcx__list { grid-template-columns: minmax(0, 1fr); }
  .tx .txcx__row:nth-last-child(-n + 2) { border-bottom: 0; }
  .tx .txcx__row:last-child { border-bottom: 1px solid var(--tx-line); }
}
