/* The Watchmaker's Atelier: legal pages (privacy/ and terms/). Loaded after atelier.css and pages.css.
   The page head is the shared .page-head; below it a numbered contents list sits beside the text
   and sticks under the nav on wide screens, and folds away above the text on phones. */

.legal__updated { margin-top: 26px; font: 500 11px/1.6 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ivory-muted); }

.sect--legal { padding: 8vh 0 14vh; }
.legal { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 46rem); gap: clamp(32px, 7vw, 110px); align-items: start; }

/* contents */
.legal__toc { position: sticky; top: 108px; }
.legal__toc .eyebrow { margin-bottom: 18px; }
.legal__toc ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; border-top: 1px solid var(--ivory-line); }
.legal__toc li { counter-increment: toc; border-bottom: 1px solid var(--ivory-line); }
.legal__toc a { display: flex; gap: 12px; padding: 10px 0; font-size: 13.5px; line-height: 1.45; color: var(--ivory-muted); transition: color .2s; }
.legal__toc a::before { content: counter(toc, decimal-leading-zero); flex: none; width: 1.6rem; padding-top: 2px; font: 500 10.5px/1.6 var(--sans); letter-spacing: .08em; color: var(--brown-2); opacity: .7; }
.legal__toc a:hover { color: var(--brown); }

/* text */
.legal__body { counter-reset: part; font-size: 16px; line-height: 1.75; }
.legal__body section { counter-increment: part; scroll-margin-top: 100px; padding-bottom: 38px; }
.legal__body section + section { padding-top: 38px; border-top: 1px solid var(--ivory-line); }
.legal__body h2 { display: flex; gap: 16px; align-items: baseline; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.15; margin: 0 0 18px; }
.legal__body h2::before { content: counter(part, decimal-leading-zero); flex: none; font: 500 12px/1 var(--sans); letter-spacing: .12em; color: var(--brown-2); }
.legal__body h3 { margin: 26px 0 8px; font: 600 12px/1.5 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--brown-2); }
.legal__body p + p, .legal__body p + ul, .legal__body ul + p { margin-top: 1em; }
.legal__body ul { margin: 0; padding-left: 1.15em; color: var(--ivory-muted); }
.legal__body li + li { margin-top: .45em; }
.legal__body li::marker { color: var(--brown-2); }
.legal__body strong { color: var(--ivory-ink); font-weight: 600; }
.legal__body a:not(.btn) { color: var(--brown); text-decoration: underline; text-decoration-color: rgba(80, 34, 0, .3); text-underline-offset: 3px; transition: text-decoration-color .2s; }
.legal__body a:not(.btn):hover { text-decoration-color: currentColor; }
.legal__card { margin-top: 18px; padding: 20px 22px; border: 1px solid var(--ivory-line); background: rgba(255, 255, 255, .5); }
.legal__card p { font-size: 15px; }

@media (max-width: 980px) {
  .legal { grid-template-columns: 1fr; gap: 40px; }
  .legal__toc { position: static; }
  .legal__toc ol { columns: 2; column-gap: 28px; border-top: 0; }
  .legal__toc li { break-inside: avoid; }
}
@media (max-width: 640px) {
  .legal__toc ol { columns: 1; border-top: 1px solid var(--ivory-line); }
  .legal__body { font-size: 15.5px; }
  .legal__body h2 { flex-direction: column; gap: 8px; }
}
