/* ================================================
   UNPERFORMED · SHARED TYPE SYSTEM
   ================================================
   Five roles. Same role, same look, everywhere.
   This file defines font metrics only — no colors.
   Each page's <style> block sets colors and layout.
   ================================================ */

/* SECTION LABEL — small ALL CAPS eyebrow / tracker */
.section-label {
  font-family: 'Open Sans', sans-serif;
  font-size: 0.62rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  opacity: 0.7;
}

/* SECTION HEADLINE — Playfair major section title */
.section-headline {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 3.5vw, 2.75rem);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin-bottom: 1.5rem;
}
.section-headline em { font-style: italic; }

/* BODY TEXT — all narrative paragraph copy */
.body-text {
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.85;
  margin-bottom: 1.25rem;
}
.body-text em     { font-style: italic; }
.body-text strong { font-weight: 600; }
@media (max-width: 768px) {
  .body-text { font-size: 17px; }
}

/* DECLARATION — Playfair bold headline anchoring an item, module, or card */
.t-declaration {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.45;
  margin-bottom: 0.5rem;
}
@media (max-width: 768px) {
  .t-declaration { font-size: 20px; }
}

/* SUB — supporting / example lines beneath a declaration */
.t-sub {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  opacity: 0.65;
  margin-bottom: 0.25rem;
}
.t-sub:last-child { margin-bottom: 0; }

/* PULL QUOTE — italic Playfair for testimonials */
.pull-quote {
  border-left: 2px solid var(--terra, #B63229);
  padding: 1.5rem 2rem;
  margin: 2.5rem 0;
  background: rgba(182, 50, 41, 0.08);
  border-radius: 0 2px 2px 0;
}
.pull-quote p {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.85;
}
.pull-quote cite {
  display: block;
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-size: 0.62rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 0.75rem;
  opacity: 0.55;
}
