/* Legal / policy pages — extends style.css (nav + footer from landing). */

main.legal-main {
  max-width: 780px;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 4rem;
  overflow-wrap: break-word;
}

.legal-eyebrow {
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mute-soft);
  margin: 0 0 0.5rem;
}

main.legal-main h1 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2rem, 4vw, 2.75rem);
  line-height: 1.15;
  margin: 0 0 0.75rem;
}

main.legal-main h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.55rem;
  line-height: 1.25;
  margin: 2.75rem 0 0.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--hairline);
}

main.legal-main h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 1.75rem 0 0.5rem;
}

main.legal-main p,
main.legal-main ul,
main.legal-main ol {
  margin: 0 0 1rem;
}

main.legal-main li {
  margin: 0.25rem 0;
}

main.legal-main blockquote {
  margin: 1.25rem 0;
  padding: 0.75rem 1rem;
  background: var(--amber-wash);
  border-left: 3px solid var(--clay);
  border-radius: 6px;
}

main.legal-main blockquote p {
  margin: 0;
}

main.legal-main .toc {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  margin: 1.5rem 0;
}

main.legal-main .toc h2 {
  border: 0;
  padding: 0;
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
}

main.legal-main .toc ol {
  columns: 2;
  column-gap: 2rem;
  margin: 0;
  padding-left: 1.25rem;
}

main.legal-main .toc a {
  color: var(--ink);
  text-decoration: none;
}

main.legal-main .toc a:hover {
  color: var(--clay);
  text-decoration: underline;
}

main.legal-main .table-wrap {
  max-width: 100%;
  overflow-x: auto;
  margin: 0 0 1.25rem;
  border: 1px solid var(--hairline);
  border-radius: 10px;
  background: var(--paper);
}

main.legal-main table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.95rem;
}

main.legal-main th,
main.legal-main td {
  text-align: left;
  vertical-align: top;
  padding: 0.6rem 0.75rem;
  border-bottom: 1px solid var(--hairline-soft);
}

main.legal-main th {
  background: var(--paper-inset);
  font-weight: 600;
}

main.legal-main tr:last-child td {
  border-bottom: 0;
}

main.legal-main hr {
  border: 0;
  border-top: 1px solid var(--hairline);
  margin: 2rem 0;
}

main.legal-main code {
  font-size: 0.9em;
  background: var(--paper-inset);
  padding: 0 0.25em;
  border-radius: 3px;
}

.footer-legal-name {
  color: var(--mute-soft);
  margin: 0.25rem 0;
  font-size: 0.95rem;
}

@media (max-width: 640px) {
  main.legal-main .toc ol {
    columns: 1;
  }
}

/* These pages cannot run the homepage menu script (their content
   security policy blocks all scripts). At the same width the homepage
   collapses its nav, stack the links so they stay on screen. */
@media (max-width: 859px) {
  .site-nav-inner {
    flex-wrap: wrap;
    border-radius: 24px;
    row-gap: 2px;
  }

  .site-nav-links {
    flex: 1 0 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .site-nav-links a {
    padding: 12px 14px;
  }

  .site-nav .btn-primary {
    width: 100%;
    margin: 4px 0 6px;
    min-height: 44px;
  }
}

/* About — founder story. Same paper, type, and clay accent as the legal pages. */

.about-hero {
  margin-bottom: 0.25rem;
}

.about-portrait {
  display: block;
  margin: 0 0 1.25rem;
}

.about-portrait img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  border: 1px solid var(--hairline);
  box-shadow: 0 12px 28px rgba(33, 28, 19, 0.08);
}

.about-hero h1 {
  margin-bottom: 0.65rem;
}

.about-byline {
  margin: 0;
  color: var(--mute);
  font-size: 0.98rem;
  font-weight: 500;
}

.about-promises {
  display: grid;
  gap: 0.75rem;
  margin: 0 0 0.5rem;
}

.about-promise {
  margin: 0;
  padding: 1rem 1rem 1.05rem;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-top: 3px solid var(--clay);
  border-radius: 10px;
}

main.legal-main .about-promise h3 {
  margin: 0 0 0.4rem;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.15rem;
  line-height: 1.25;
}

main.legal-main .about-promise p {
  margin: 0;
  font-size: 0.95rem;
}

.about-signoff {
  margin: 0.25rem 0 0.15rem;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 1.85rem;
  line-height: 1.15;
  color: var(--ink);
}

main.about-page a {
  color: var(--clay);
  text-underline-offset: 2px;
}

main.about-page a:hover {
  color: var(--ink);
}

.about-business {
  margin: 0;
  padding: 0.15rem 1rem 0.15rem;
  background: var(--paper-inset);
  border: 1px solid var(--hairline);
  border-radius: 10px;
}

@media (min-width: 720px) {
  .about-promises {
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
  }
}

@media print {
  .site-nav,
  .site-footer,
  main.legal-main .toc {
    display: none;
  }

  body {
    background: #fff;
  }

  main.legal-main {
    max-width: none;
  }
}
