/* Terms of use (prefix tu-). Family template in fam-legal.css. */
.tu-hero { --lg-h1: clamp(2rem, 1rem + 2vw, 2.6rem); --lg-lead: .98rem; --lg-lead-w: 40rem; --lg-hx: 13.4vw; --lg-hero-pad: .45rem .7rem; --sc-right: 12%; --sc-h: 140%; --sc-top: -20%; --lg-pt: 10.4rem; }
.tu-hero .breadcrumb { font-size: .9rem; }
/* Desktop-only compact hero points (phones keep the readable family sizes) */
@media (min-width: 1101px) {
  .tu-hero .lg-points { max-width: 44rem; gap: .5rem .8rem; }
  .tu-hero .lg-points li { font-size: max(.62rem, 16px) /* rt-1019 */; }
  .tu-hero .lg-points strong { font-size: .66rem; }
  .tu-hero .lg-points .ib { --s: 31px; }
}
.tu-grid { --lg-w: min(84vw, 1420px); --lg-aside: 274px; --lg-gap: 1.1rem; --lg-pad: .55rem .9rem; }
.tu-card { padding: .55rem 1rem .45rem; }
.tu-secs { list-style: none; margin: 0; padding: 0; }
.tu-sec { padding: .32rem 0 .38rem; border-bottom: 1px solid var(--line); scroll-margin-top: 5rem; }
.tu-sec:last-child { border-bottom: 0; }
.tu-sec h2 { font-size: 1rem; margin: 0 0 .05rem; letter-spacing: -.01em; }
.tu-sec p { margin: 0; font-size: max(.72rem, 16px) /* rt-1019 */; line-height: 1.36; color: var(--text); }
/* Sidebar */
.tu-grid .lg-box { padding: .75rem .9rem; }
.tu-box__head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .8rem; align-items: start; }
.tu-box .lg-glyph { width: 30px; height: 32px; }
.tu-grid .lg-box h2 { font-size: .98rem; margin-bottom: .2rem; }
.tu-grid .lg-box p { font-size: max(.72rem, 16px) /* rt-1019 */; }
.tu-toc li { border: 0; }
.tu-toc a { padding: .02rem 0; font-size: .74rem; grid-template-columns: 1.35rem minmax(0, 1fr); }
.tu-date { font-weight: 600; color: var(--ink); margin-bottom: .3rem !important; font-size: .8rem !important; }
.tu-rel a { padding: .3rem 0; font-size: .78rem; }
.tu-rel a > .icon:first-child { color: var(--navy-800); }
.tu-rel li { border-bottom: 0; }
.tu-kit .form-inline { margin-top: .55rem; }
.tu-kit .form-inline input, .tu-kit .form-inline .btn { min-height: 38px; font-size: .78rem; }
.tu-kit .lg-ticks { font-size: .64rem; gap: .3rem .5rem; flex-wrap: nowrap; }
.tu-kit .lg-ticks .icon { width: .9rem; height: .9rem; }

/* Density pass: same text sizes, recovered height through width, spacing and paddings matched to the design */
.tu-grid { --lg-w: min(88vw, 1460px); --lg-pad: .4rem .7rem; }
.tu-card { padding: .4rem 1rem .3rem; }
.tu-card .lg-note { margin-bottom: .2rem; }
.tu-sec { padding: .18rem 0 .22rem; }
.tu-sec h2 { font-size: .94rem; line-height: 1.15; margin-bottom: 0; }
.tu-sec p { line-height: 1.3; }
.tu-grid .lg-aside { gap: .5rem; }
.tu-grid .lg-box { padding: .55rem .8rem; }
.tu-toc a { font-size: .7rem; line-height: 1.22; padding: 0; }
.tu-grid .lg-box h2 { margin-bottom: .1rem; }
.tu-rel a { padding: .14rem 0; }
@media (min-width: 1101px) {
  .tu-hero { --lg-hero-pad: .25rem .5rem; }
  .tu-hero .lg-points { margin-top: .5rem; max-width: none; }
  .tu-hero .lg-points li { flex: 0 0 auto; max-width: 12rem; }
  .tu-hero .lg-points strong { white-space: nowrap; }
}
.tu-hero { --sc-top: -11%; --sc-h: 138%; --sc-right: 10%; }
.tu-kit .lg-ticks { flex-wrap: wrap; gap: .25rem .6rem; }
.tu-kit .lg-ticks li { white-space: nowrap; }
