/* TRUST-001 trust-page styling. Warm parchment brand, reuses design tokens. */

.trust-content {
  max-width: 860px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
  color: #1E1712;
}

.trust-hero {
  text-align: center;
  padding: 2.5rem 0 2rem;
  margin-bottom: 3rem;
}
.trust-hero__title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: clamp(2.25rem, 5vw, 3.5rem);
  line-height: 1.05;
  margin: 0 0 1.5rem;
}
.trust-hero__lede {
  font-size: 1.05rem;
  color: #3E3228;
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.55;
}

.trust-section { margin-bottom: 3rem; }
.trust-section__title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 1.75rem;
  margin: 0 0 1.25rem;
}
.trust-section__lede {
  font-size: 1.15rem;
  font-weight: 500;
  margin: 0 0 1rem;
}

.trust-letter__body p { line-height: 1.65; margin: 0 0 1rem; }
.trust-letter__body em { font-style: italic; color: #6B5A4A; }
.trust-letter__sign {
  margin-top: 1.5rem !important;
  font-family: 'Fraunces', Georgia, serif;
  color: #3E3228;
}

.trust-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
}
.trust-card {
  background: #FDF8EF;
  border: 1px solid #E8DCC8;
  border-left: 3px solid #F0A500;
  border-radius: 6px;
  padding: 1.25rem;
}
.trust-card h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0 0 0.5rem;
}
.trust-card p { margin: 0 0 0.5rem; line-height: 1.55; font-size: 0.95rem; }
.trust-card p:last-child { margin-bottom: 0; }
.trust-card__link { font-weight: 500; }

/* Four-card sections lock to 2x2 to avoid a three-column orphan on desktop. */
.trust-cards--verify,
.trust-grid {
  grid-template-columns: repeat(2, 1fr);
}

.trust-grid {
  display: grid;
  gap: 1rem;
}
.trust-grid__cell {
  background: #FDF8EF;
  border: 1px solid #E8DCC8;
  border-radius: 6px;
  padding: 1.25rem;
}
.trust-grid__cell h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  margin: 0 0 0.5rem;
  color: #6B5A4A;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 0.8rem;
}
.trust-grid__cell p { margin: 0; line-height: 1.55; font-size: 0.95rem; }

.trust-disclosure {
  background: #1E1712;
  color: #FDF8EF;
  padding: 1.5rem;
  border-radius: 6px;
}
.trust-disclosure p { margin: 0; line-height: 1.6; }
.trust-disclosure strong { color: #F0A500; }

.trust-stack__item {
  padding: 1.25rem 0;
}
.trust-stack__item h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0 0 0.5rem;
}
.trust-stack__item p { margin: 0; line-height: 1.6; }

.trust-cta {
  background: #1E1712;
  color: #FDF8EF;
  padding: 2.5rem 1.5rem;
  border-radius: 8px;
  text-align: center;
  margin-top: 3rem;
}
.marketing-page .trust-cta__title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 1.75rem;
  margin: 0 0 0.5rem;
  color: #FDF8EF;
}
.trust-cta__body { margin: 0 0 1rem; opacity: 0.85; }
.trust-cta__email a {
  color: #F0A500;
  font-weight: 500;
  font-size: 1.1rem;
  text-decoration: underline;
}

.trust-subprocessor-hero { margin-bottom: 2rem; }
.trust-breadcrumb {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  color: #6B5A4A;
}
.trust-breadcrumb a { color: #6B5A4A; }
.trust-subprocessor-table-wrap {
  overflow-x: auto;
  border: 1px solid #E8DCC8;
  border-radius: 6px;
  background: #FDF8EF;
}
.trust-subprocessor-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.trust-subprocessor-table th,
.trust-subprocessor-table td {
  padding: 0.9rem 1rem;
  text-align: left;
  border-bottom: 1px solid #E8DCC8;
  vertical-align: top;
}
.trust-subprocessor-table th {
  background: #F5EADC;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #3E3228;
}
.trust-subprocessor-table tr:last-child td { border-bottom: 0; }
.trust-subprocessor-table a { text-decoration: underline; }
.trust-subprocessor-note {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  background: #FDF8EF;
  border-radius: 4px;
}
.trust-subprocessor-note p { margin: 0 0 0.5rem; line-height: 1.55; font-size: 0.9rem; }
.trust-subprocessor-note p:last-child { margin-bottom: 0; }

@media (max-width: 640px) {
  .trust-content { padding: 2rem 1rem 3rem; }
  .trust-hero { padding: 1.5rem 0 1.5rem; margin-bottom: 2rem; }
  .trust-section { margin-bottom: 2rem; }
  .trust-cta { padding: 2rem 1rem; }
  .trust-cards--verify,
  .trust-grid { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------------------
   METH-001 methodology page extensions. Reuses .trust-* tokens and palette.
   Tables on /methodology/sources and /methodology/nutrients reuse the
   canonical .trust-subprocessor-table styling rather than introducing a
   parallel table component.
   --------------------------------------------------------------------------- */

.method-content { max-width: 920px; }

/* Body-text rhythm for methodology copy. The base trust.css scopes
   typography to specific child selectors (.trust-letter__body p, etc.)
   which leaves general .trust-section paragraphs and lists at browser
   defaults. Re-establish a comfortable reading rhythm. */
.method-content .trust-section p { margin: 0 0 1rem; line-height: 1.6; }
.method-content .trust-section p:last-child { margin-bottom: 0; }
.method-content .trust-section ul,
.method-content .trust-section ol {
  margin: 0 0 1rem;
  padding-left: 1.5rem;
}
.method-content .trust-section li { margin: 0 0 0.4rem; line-height: 1.6; }
.method-content .trust-section li:last-child { margin-bottom: 0; }

/* Cards and grid blocks need air before the next paragraph. Without this
   the prose collides with the bottom edge of the card group (visible on
   the "Staged but not yet promoted" line under Where the data comes from). */
.method-content .trust-section .trust-grid,
.method-content .trust-section .trust-cards { margin-bottom: 1.25rem; }
.method-content .trust-section .trust-grid + p,
.method-content .trust-section .trust-cards + p { margin-top: 0; }

/* Jump-nav table of contents */
.method-toc {
  background: #FDF8EF;
  border: 1px solid #E8DCC8;
  border-radius: 6px;
  padding: 1rem 1.25rem;
  margin: 0 0 3rem;
}
.method-toc__title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 0.9rem;
  color: #6B5A4A;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 0.5rem;
}
.method-toc__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.25rem 1rem;
  margin: 0;
  padding-left: 1.25rem;
  font-size: 0.95rem;
}
.method-toc__list a { color: #1E1712; }
.method-toc__list a:hover { color: #F0A500; }

/* Inline formula and citation blocks */
.method-formula,
.method-citebox {
  background: #FDF8EF;
  border: 1px solid #E8DCC8;
  border-left: 3px solid #F0A500;
  border-radius: 4px;
  padding: 0.75rem 1rem;
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: 0.92rem;
  margin: 0.5rem 0 1rem;
  overflow-x: auto;
}
.method-citebox { white-space: pre; line-height: 1.5; }

/* On methodology tables, all headers use DM Mono so the column labels
   (Source, Publisher, Foods, Last refreshed, etc.) read as a uniform
   strip — matching the FOODS / LAST REFRESHED look that the .is-numeric
   class would otherwise apply only to numeric columns. The trust
   sub-processor page keeps its Fraunces headers via the unscoped
   .trust-subprocessor-table th rule earlier in this file. */
.method-content .trust-subprocessor-table th {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.5px;
}

/* .is-numeric is body-cell-only: it gives numeric values DM Mono with
   tabular-nums for column alignment. Headers carry the class for
   right-alignment but pick up the same DM Mono treatment from the
   methodology header rule above. */
.trust-subprocessor-table td.is-numeric {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-variant-numeric: tabular-nums;
  font-size: 0.88rem;
  white-space: nowrap;
}
.trust-subprocessor-table code {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: 0.85rem;
  background: rgba(0, 0, 0, 0.04);
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
}
.method-table-note { font-size: 0.9rem; color: #6B5A4A; margin: 0.5rem 0 1rem; }

/* Source-presence inline indicator */
.method-presence { display: inline-flex; gap: 0.3rem; flex-wrap: wrap; }
.method-presence__badge {
  font-size: 0.7rem;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  border: 1px solid #E8DCC8;
}
.method-presence__badge.is-on { background: #F0A500; color: #1E1712; border-color: #F0A500; }
.method-presence__badge.is-off { background: transparent; color: #B8A998; }

/* Mobile */
@media (max-width: 640px) {
  .method-toc__list { grid-template-columns: 1fr; }
  .trust-subprocessor-table { font-size: 0.85rem; }
  .trust-subprocessor-table th,
  .trust-subprocessor-table td { padding: 0.6rem 0.6rem; }
  .method-presence { gap: 0.2rem; }
  .method-presence__badge { font-size: 0.65rem; }
}
