/* AITerm: legal pages (legal notice, privacy, terms, refunds, cookies) */

.lmain { padding: 132px 0 40px; }
.lwrap { max-width: 800px; margin: 0 auto; }

.lcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-m);
  font-size: 12px;
  color: var(--txt-dim);
  margin-bottom: 26px;
}
.lcrumbs a { transition: color 0.15s; }
.lcrumbs a:hover { color: var(--txt); }

.lhead { padding-bottom: 34px; border-bottom: 1px solid var(--line); }
.lhead h1 { font-size: clamp(32px, 4.4vw, 50px); line-height: 1.05; }
.lhead .lsub {
  color: var(--txt-soft);
  font-size: clamp(16px, 1.9vw, 18.5px);
  line-height: 1.65;
  margin-top: 18px;
  max-width: 66ch;
}
.lmeta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 24px;
  font-family: var(--font-m);
  font-size: 12.5px;
  color: var(--txt-dim);
}

/* summary callout */
.lnote {
  margin-top: 34px;
  padding: 22px 24px;
  border: 1px solid var(--line-strong);
  border-left: 3px solid var(--lime);
  border-radius: 16px;
  background: var(--bg-soft);
}
.lnote h2 {
  font-family: var(--font-m);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lime);
  margin-bottom: 12px;
}
.lnote p { color: var(--txt-soft); font-size: 15px; line-height: 1.7; margin: 0 0 10px; }
.lnote p:last-child { margin-bottom: 0; }

/* table of contents */
.ltoc { margin-top: 34px; }
.ltoc h2 {
  font-family: var(--font-m);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--txt-dim);
  margin-bottom: 14px;
}
.ltoc ol {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 6px 26px;
  counter-reset: toc;
}
.ltoc li { counter-increment: toc; }
.ltoc a {
  display: block;
  padding: 5px 0;
  font-size: 14.5px;
  color: var(--txt-soft);
  transition: color 0.15s;
}
.ltoc a::before {
  content: counter(toc, decimal-leading-zero);
  font-family: var(--font-m);
  font-size: 11.5px;
  color: var(--txt-dim);
  margin-right: 10px;
}
.ltoc a:hover { color: var(--lime); }

/* body copy */
.ltext { margin-top: 20px; font-size: 16px; }
.ltext h2 {
  font-size: clamp(22px, 2.6vw, 27px);
  letter-spacing: -0.025em;
  margin: 56px 0 16px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
  scroll-margin-top: 100px;
}
/* page that opens straight on the body copy: the header rule is separator enough */
.lhead + .ltext > h2:first-child { margin-top: 44px; padding-top: 0; border-top: 0; }
.ltext h3 { font-size: 17.5px; margin: 32px 0 12px; scroll-margin-top: 100px; }
.ltext p { color: var(--txt-soft); line-height: 1.75; margin: 0 0 20px; max-width: 70ch; }
.ltext ul, .ltext ol { color: var(--txt-soft); margin: 0 0 20px; padding-left: 20px; max-width: 68ch; }
.ltext li { margin: 8px 0; line-height: 1.7; }
.ltext strong { color: var(--txt); font-weight: 600; }
.ltext a { color: var(--lime); }
.ltext a:hover { text-decoration: underline; }
.ltext code {
  font-family: var(--font-m);
  font-size: 0.88em;
  color: var(--txt);
  background: oklch(100% 0 0 / 0.06);
  padding: 0.14em 0.4em;
  border-radius: 5px;
}

/* identity block */
.lid {
  display: grid;
  grid-template-columns: minmax(150px, 200px) 1fr;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  margin: 0 0 24px;
}
.lid dt, .lid dd {
  padding: 13px 18px;
  border-top: 1px solid var(--line);
  font-size: 14.5px;
  line-height: 1.55;
}
.lid dt:first-of-type, .lid dt:first-of-type + dd { border-top: 0; }
.lid dt { font-family: var(--font-m); font-size: 12.5px; color: var(--txt-dim); background: var(--bg-soft); }
.lid dd { color: var(--txt-soft); }
.lid dd a { color: var(--lime); }

/* data tables */
.ltable-wrap { overflow-x: auto; margin: 0 0 24px; border: 1px solid var(--line); border-radius: 16px; }
.ltable { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 520px; }
.ltable th, .ltable td { padding: 13px 16px; text-align: left; vertical-align: top; line-height: 1.55; }
.ltable thead th {
  font-family: var(--font-m);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--txt-dim);
  background: var(--bg-soft);
  white-space: nowrap;
}
.ltable tbody tr { border-top: 1px solid var(--line); }
.ltable td { color: var(--txt-soft); }
.ltable td:first-child { color: var(--txt); font-weight: 550; }
.ltable a { color: var(--lime); }

/* cross links */
.lrelated { margin-top: 72px; border-top: 1px solid var(--line); padding-top: 34px; }
.lrelated h2 { font-size: 22px; margin-bottom: 20px; }
.lrelated-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.lrelated-grid a {
  display: block;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg-soft);
  transition: border-color 0.2s, transform 0.2s var(--ease);
}
.lrelated-grid a:hover { border-color: var(--line-strong); transform: translateY(-2px); }
.lrelated-grid b { display: block; font-size: 15px; margin-bottom: 4px; }
.lrelated-grid small { color: var(--txt-dim); font-size: 13px; line-height: 1.5; }

@media (max-width: 640px) {
  .lmain { padding-top: 108px; }
  .lid { grid-template-columns: 1fr; }
  .lid dt { border-top: 1px solid var(--line); padding-bottom: 4px; }
  .lid dt:first-of-type { border-top: 0; }
  .lid dd { border-top: 0; padding-top: 4px; background: var(--bg-soft); }
}
