/* ============================================================
   Shared styles for legal pages: terms, refunds, privacy
   ============================================================ */

.legal { padding: 70px 0 100px; }
.legal .wrap { max-width: 860px; }

.legal-head { padding-bottom: 30px; border-bottom: 1px solid var(--rule); }
.legal-head h1 {
  font-family: var(--serif); font-weight: 500;
  font-size: clamp(38px, 5.5vw, 64px); line-height: 1.04; letter-spacing: -.015em;
}
.legal-head .updated {
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase;
  color: rgba(33,30,24,.5); margin-top: 18px;
}

/* sibling policy links */
.legal-nav { display: flex; gap: 10px; flex-wrap: wrap; padding: 24px 0 8px; }
.legal-nav a {
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
  text-decoration: none; color: var(--ink); border: 1px solid var(--rule); border-radius: 999px;
  padding: 8px 17px; transition: all .2s;
}
.legal-nav a:hover { border-color: var(--ink); }
.legal-nav a[aria-current="page"] { background: var(--pine); border-color: var(--pine); color: var(--bone); }

.legal-body { padding-top: 26px; }
.legal-body h2 {
  font-family: var(--serif); font-weight: 500; font-size: 24px; letter-spacing: -.005em;
  margin: 46px 0 14px; padding-top: 22px; border-top: 1px solid var(--rule);
}
.legal-body h2:first-child { border-top: none; padding-top: 0; margin-top: 8px; }
.legal-body h3 {
  font-family: var(--mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--clay); margin: 30px 0 12px;
}
.legal-body p { font-size: 16px; line-height: 1.72; color: rgba(33,30,24,.86); margin-bottom: 16px; max-width: 68ch; }
.legal-body b { font-weight: 500; color: var(--ink); }
.legal-body a { color: var(--clay); }
.legal-body a:hover { text-decoration: none; }

.legal-body ul, .legal-body ol { list-style: none; margin: 0 0 20px; max-width: 68ch; }
.legal-body li {
  font-size: 15.5px; line-height: 1.68; color: rgba(33,30,24,.86);
  padding: 10px 0 10px 22px; position: relative; border-bottom: 1px dashed var(--rule);
}
.legal-body li::before { content: "–"; position: absolute; left: 0; color: var(--clay); }

/* window/deadline callout table */
.legal-table { width: 100%; border-collapse: collapse; margin: 8px 0 24px; }
.legal-table th, .legal-table td { text-align: left; padding: 14px 16px 14px 0; border-bottom: 1px dashed var(--rule); vertical-align: top; }
.legal-table th {
  font-family: var(--mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
  color: rgba(33,30,24,.5); font-weight: 400; border-bottom: 1px solid var(--rule);
}
.legal-table td { font-size: 15px; color: rgba(33,30,24,.86); }
.legal-table td:first-child { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; padding-right: 28px; color: var(--ink); }

/* highlighted contact block */
.legal-contact {
  background: var(--canvas); border: 1px solid var(--rule); padding: 26px 28px; margin-top: 40px;
  font-size: 15px; line-height: 1.8; color: rgba(33,30,24,.86);
}
.legal-contact b { font-family: var(--serif); font-weight: 500; font-size: 19px; display: block; margin-bottom: 6px; }

@media (max-width: 640px) {
  .legal-table td:first-child { white-space: normal; }
}
