/* ============================================================================
   .p-terms - /terms
   REGENERATED (cycle 6): hero, section heads and the closing CTA consume the
   shared component layer (components.css: c-hero/c-hero__title/__deck/__note,
   c-center-row, c-center + c-head__title/c-head__deck, c-body,
   c-cta/c-cta__title/c-cta__deck, c-btn-row). What remains here is:
     (a) genuine per-page deltas on those components, and
     (b) the numbered clause rail - the legal-page signature, deliberately
         page-scoped, NOT promoted to a component.
   The rail replaces four byte-identical clone families (tm-use__*,
   tm-services__*, tm-ip__*, tm-liab__*); band colour now comes from
   .section--blue descendant rules instead of a duplicated class set. The
   three identical link rules collapse to .tm-link.
   ========================================================================== */

/* ---------------------------------------------------------------------------
   HERO - deltas on c-hero*
--------------------------------------------------------------------------- */
/* the legal hero closes on a hairline before the first clause band; cycle 10 cuts
   its bottom padding ~40% so the acceptance band starts within a screen of the
   title instead of after a dead black run */
.p-terms .tm-hero{
  border-bottom:1px solid var(--ink-40);
  padding-bottom:clamp(38px,4.2vw,64px);
}

/* the legal headline runs long; tighter than the component default */
.p-terms .c-hero__title{ max-width:16ch; }

/* ONE meta line: date stamp + the incorporation-by-reference pointer, folded into
   a single centred row (cycle 10 - the two dates read identically and the note
   was paying for its own stacked block) */
.p-terms .tm-hero__meta{
  margin-top:var(--gap-body-cta);
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center;
  gap:var(--s-3);
  max-width:var(--measure); margin-inline:auto;
}
.p-terms .tm-hero__meta-item{
  font-size:var(--t-eyebrow);
  letter-spacing:var(--track-eyebrow);
  text-transform:uppercase;
  color:var(--lime);
}
.p-terms .tm-hero__meta-sep{ color:var(--ink-50); }
.p-terms .tm-hero__note{ font-size:var(--t-small); color:var(--ink-60); }

/* ---------------------------------------------------------------------------
   UNIQUE - the numbered clause rail (markers 01-15, unbroken across 4 bands)
--------------------------------------------------------------------------- */
.p-terms .tm-rail{
  margin-top:clamp(28px,3.6vw,44px);
  margin-inline:auto;
  max-width:min(60rem,100%);
  text-align:left;
}
.p-terms .tm-rail__row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:clamp(16px,2.4vw,28px);
  padding-block:clamp(20px,2.4vw,26px);
  border-top:1px solid var(--ink-40);
  transition:transform var(--dur-fast) var(--ease-smooth);
}
.p-terms .tm-rail__row:first-child{ border-top:none; }
.p-terms .tm-rail__row:hover{ transform:translateX(4px); }
.p-terms .section--blue .tm-rail__row{ border-top-color:rgba(255,255,255,.16); }

.p-terms .tm-rail__num{
  font-size:var(--t-small);
  color:var(--lime);
  opacity:.9;
  min-width:2ch;
  padding-top:2px;
}

.p-terms .tm-rail__body{ display:flex; flex-direction:column; gap:var(--s-2); min-width:0; }

/* base h3 already supplies the display face, lowercase and tracking */
.p-terms .tm-rail__name{ font-size:var(--t-h4); font-weight:650; }
.p-terms .section--blue .tm-rail__name{ color:var(--text-on-blue); }

/* the clause body wraps to the rail column, not to --measure inside it: the old
   inner cap stranded the right half of the rail at wide viewports */
.p-terms .tm-rail__line{
  font-size:var(--t-body);
  line-height:1.62;
  color:var(--paper);
}
.p-terms .section--blue .tm-rail__line{ color:var(--text-on-blue-muted); }

/* FOCAL ROW - one clause carries the band instead of four equal slabs */
.p-terms .tm-rail__row--focal{
  padding-inline-start:var(--s-4);
  border-inline-start:2px solid var(--lime);
}
.p-terms .tm-rail__row--focal .tm-rail__name{ font-size:var(--t-h3); font-weight:700; }
.p-terms .tm-rail__row--focal .tm-rail__line{ font-size:var(--t-body-lg); }

/* PACING - the back half of the page reads denser than the front half */
.p-terms #tm-ip .tm-rail__row,
.p-terms #tm-liab .tm-rail__row{ padding-block:clamp(15px,1.8vw,20px); }

/* ---------------------------------------------------------------------------
   GOVERNING LAW / CHANGES / CONTACT - prose block (c-body supplies the stack)
--------------------------------------------------------------------------- */
.p-terms .tm-close__body{
  margin-inline:auto;
  max-width:var(--measure);
  text-align:left;
}
.p-terms .tm-close__para{
  font-size:var(--t-body);
  line-height:1.62;
  color:var(--paper);
}

/* ---------------------------------------------------------------------------
   INLINE LEGAL LINKS (hero note, clause rail, closing prose)
--------------------------------------------------------------------------- */
.p-terms .tm-link{
  color:var(--lime);
  text-decoration:underline;
  text-underline-offset:3px;
  transition:opacity var(--dur-fast) var(--ease-smooth);
}
.p-terms .tm-link:hover{ opacity:.78; }

/* ---------------------------------------------------------------------------
   CLOSING CTA - deltas on c-cta*
--------------------------------------------------------------------------- */
/* the lime band sits closer to the black band it answers */
.p-terms #tm-cta{ padding-top:clamp(46px,4.4vw,72px); }
/* c-btn-row carries no top offset of its own */
.p-terms .c-cta .c-btn-row{ margin-top:var(--gap-body-cta); }
/* the focus ring is lime-on-lime on this band -> keep it visible */
.p-terms .c-cta :where(a,button):focus-visible{ outline-color:var(--lime-ink); }

/* ---------------------------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------------------------- */
@media (max-width:639px){
  .p-terms .c-hero__title{ max-width:13ch; }
  .p-terms .tm-rail__row{ grid-template-columns:1fr; }
}
