/* Conduit legal pages: long-form reading layout on top of ../assets/site.css */
.lg-head { padding: 56px 0 8px; }
.lg-head .kicker a { color: inherit; text-decoration: none; }
.lg-head .kicker a:hover { text-decoration: underline; }
.lg-head h1 { font-size: clamp(40px, 6.4vw, 80px); line-height: 1; letter-spacing: -.05em; }
.lg-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 20px; font-size: 14px; color: var(--ink-2); }
.lg-meta .ic { width: 16px; height: 16px; color: var(--brand-ic); }
.lg-meta span { display: inline-flex; align-items: center; gap: 6px; }
.lg-draft { display: flex; gap: 12px; align-items: flex-start; margin-top: 24px; max-width: 760px; padding: 14px 16px; border-radius: 16px; background: var(--brand-soft); color: var(--brand-ink); font-size: 14.5px; line-height: 1.5; }
.lg-draft .ic { width: 20px; height: 20px; flex: none; margin-top: 1px; }
.lg-intro { margin-top: 24px; max-width: 760px; font-size: 19px; color: var(--ink-2); }

.lg-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 40px 0 80px; }
@media (min-width: 960px) { .lg-body { grid-template-columns: 260px minmax(0, 1fr); gap: 56px; align-items: start; } }

.toc { display: none; }
@media (min-width: 960px) {
  .toc { display: block; position: sticky; top: 100px; max-height: calc(100vh - 120px); overflow: auto; padding: 18px; border-radius: 20px; background: var(--panel); box-shadow: var(--shadow-card); }
}
.toc b, .toc-m summary { font-size: 13px; font-weight: 600; color: var(--ink-3); }
.toc ol { margin-top: 10px; display: grid; gap: 2px; counter-reset: t; }
.toc li { counter-increment: t; }
.toc a { display: flex; gap: 10px; padding: 7px 10px; border-radius: 10px; font-size: 14px; line-height: 1.35; color: var(--ink-2); text-decoration: none; transition: background-color .2s var(--ease), color .2s var(--ease); }
.toc a::before { content: counter(t); min-width: 16px; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.toc a:hover { background: var(--raised); color: var(--ink); }
.toc a.on { background: var(--sel); color: var(--ink); }
.toc a.on::before { color: var(--brand-ic); }
.toc-m { border-radius: 18px; background: var(--panel); box-shadow: var(--shadow-card); }
.toc-m summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; font-size: 15px; color: var(--ink); font-weight: 500; }
.toc-m summary::-webkit-details-marker { display: none; }
.toc-m summary .ic { width: 18px; height: 18px; transition: transform .3s var(--ease); }
.toc-m[open] summary .ic { transform: rotate(180deg); }
.toc-m .toc { display: block; padding: 0 8px 12px; box-shadow: none; background: none; position: static; max-height: none; }
.toc-m .toc ol { margin-top: 0; }
@media (min-width: 960px) { .toc-m { display: none; } }

.doc { counter-reset: s; max-width: 760px; }
.doc section { counter-increment: s; padding: 28px 0; border-top: 1px solid var(--line-2); scroll-margin-top: 96px; }
.doc section:first-child { border-top: 0; padding-top: 0; }
.doc h2 { display: flex; gap: 14px; align-items: baseline; font-size: clamp(24px, 2.6vw, 30px); line-height: 1.15; letter-spacing: -.03em; }
.doc h2::before { content: counter(s); flex: none; display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--ink); color: #fff; font-size: 15px; font-weight: 600; letter-spacing: 0; transform: translateY(-3px); }
.doc h3 { font-size: 18px; letter-spacing: -.02em; margin: 22px 0 6px; }
.doc p, .doc li { font-size: 17px; line-height: 1.65; color: #2b2b30; }
.doc p { margin-top: 14px; }
.doc ul { margin-top: 12px; display: grid; gap: 8px; }
.doc ul li { position: relative; padding-left: 22px; }
.doc ul li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--brand); }
.doc a { color: var(--brand-ink); text-underline-offset: 3px; }
.doc code { font: 500 .88em var(--mono); padding: 1px 6px; border-radius: 6px; background: var(--raised); word-break: break-word; }
.doc strong { font-weight: 600; }
.doc .note { margin-top: 16px; padding: 14px 16px; border-radius: 14px; background: var(--panel); box-shadow: var(--shadow-card); font-size: 15.5px; color: var(--ink-2); }
.doc [data-op] { font-weight: 600; color: var(--ink); background: var(--sel); border-radius: 6px; padding: 0 3px; }
.tbl { margin-top: 16px; overflow-x: auto; border-radius: 16px; background: var(--panel); box-shadow: var(--shadow-card); }
.tbl table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 520px; }
.tbl th { text-align: left; font-weight: 600; font-size: 13px; color: var(--ink-3); padding: 12px 14px; border-bottom: 1px solid var(--line-2); }
.tbl td { padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.5; color: #2b2b30; }
.tbl tr:last-child td { border-bottom: 0; }

.lg-others { padding: 8px 0 24px; }
.lg-others h2 { font-size: 22px; letter-spacing: -.03em; margin-bottom: 16px; }
.lg-cards { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .lg-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.lg-cards a { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 20px; background: var(--panel); box-shadow: var(--shadow-card); text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.lg-cards a:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.lg-cards b { display: flex; align-items: center; justify-content: space-between; font-size: 17px; font-weight: 500; letter-spacing: -.02em; }
.lg-cards b .ic { width: 16px; height: 16px; color: var(--brand-ic); }
.lg-cards small { font-size: 14px; color: var(--ink-2); }
.foot-cols a[aria-current] { color: var(--ink); font-weight: 500; }
@media print { .nav-wrap, .toc, .toc-m, .lg-others, .foot { display: none; } body { background: #fff; } }

/* tables become stacked cards on phones */
@media (max-width: 639.98px) {
  .tbl { overflow: visible; background: none; box-shadow: none; border-radius: 0; }
  .tbl table, .tbl tbody, .tbl tr, .tbl td { display: block; min-width: 0; }
  .tbl thead { display: none; }
  .tbl tr { background: var(--panel); border-radius: 16px; box-shadow: var(--shadow-card); padding: 14px 16px; margin-bottom: 10px; }
  .tbl td { padding: 4px 0; border: 0; }
  .tbl td:first-child { font-weight: 600; font-size: 16px; color: var(--ink); padding-bottom: 6px; }
  .tbl td:not(:first-child)[data-label]::before { content: attr(data-label); display: block; font-size: 12px; font-weight: 600; color: var(--ink-3); margin-top: 6px; }
  .tbl table td:nth-child(2):last-child::before { display: none; }
}
