.tft-about {
  --tft-near-black: #14150F;
  --tft-olive-black: #1B1D14;
  --tft-surface: #1E2118;
  --tft-green: #6B7A4B;
  --tft-ink: #FFFFFF;
  --tft-muted: #C7C8BE;
  --tft-border: #2E3123;

  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: var(--tft-near-black);
  color: var(--tft-ink);
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

.tft-about h1, .tft-about h2, .tft-about h3, .tft-about p, .tft-about span {
  color: inherit; margin: 0; padding: 0;
}

.tft-eyebrow {
  font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--tft-green); margin-bottom: 14px;
}
.tft-section-label {
  font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;
  color: var(--tft-ink); opacity: 0.8; margin-bottom: 40px; text-align: center;
}

/* Hero */
.tft-about__hero { padding: 100px min(6vw, 88px) 60px; border-bottom: 1px solid var(--tft-border); }
.tft-about__hero-inner { max-width: 680px; }
.tft-about__title {
  font-family: 'Bahnschrift', 'Arial Narrow', 'Segoe UI Condensed', sans-serif;
  font-weight: 700; font-size: clamp(32px, 4.4vw, 52px); text-transform: uppercase;
  letter-spacing: 0.3px; line-height: 1.15; margin-bottom: 18px !important;
}
.tft-about__sub { font-size: 18px; line-height: 1.6; color: var(--tft-muted); max-width: 560px; }

/* Story */
.tft-about__story { padding: 60px min(6vw, 88px); background: var(--tft-surface); border-bottom: 1px solid var(--tft-border); }
.tft-about__story-inner { max-width: 780px; margin: 0 auto; display: flex; flex-direction: column; gap: 20px; }
.tft-about__story-inner p { font-size: 17px; line-height: 1.7; color: var(--tft-muted); }

/* Values */
.tft-about__values { padding: 80px min(6vw, 88px); }
.tft-about__values-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; max-width: 1100px; margin: 0 auto;
}
.tft-value-card { border: 1px solid var(--tft-border); padding: 28px; text-align: center; }
.tft-value-card h3 {
  font-family: 'Bahnschrift', 'Arial Narrow', 'Segoe UI Condensed', sans-serif;
  font-weight: 700; font-size: 19px; text-transform: uppercase; color: var(--tft-green);
  margin-bottom: 12px !important;
}
.tft-value-card p { font-size: 15px; line-height: 1.6; color: var(--tft-muted); }

/* Team */
.tft-about__team { padding: 80px min(6vw, 88px); background: var(--tft-surface); border-top: 1px solid var(--tft-border); border-bottom: 1px solid var(--tft-border); }
.tft-about__team-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; max-width: 720px; margin: 0 auto;
}
.tft-team-card { text-align: center; }
.tft-team-card__photo {
  aspect-ratio: 1 / 1;
  background: #2b2d22;
  background-image: repeating-linear-gradient(135deg, rgba(232,232,229,0.05) 0 2px, transparent 2px 14px);
  border: 1px solid var(--tft-border);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.tft-team-card__photo span {
  color: rgba(232, 232, 229, 0.4); font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
  border: 1px dashed rgba(232, 232, 229, 0.3); padding: 8px 14px;
}
.tft-team-card__name {
  font-family: 'Bahnschrift', 'Arial Narrow', 'Segoe UI Condensed', sans-serif;
  font-weight: 700; font-size: 18px; text-transform: uppercase; margin-bottom: 4px !important;
}
.tft-team-card__role { font-size: 14px; color: var(--tft-green); }

/* CTA */
.tft-about__cta { padding: 90px min(6vw, 88px); text-align: center; }
.tft-about__cta-inner { max-width: 560px; margin: 0 auto; }
.tft-about__cta-inner h2 {
  font-family: 'Bahnschrift', 'Arial Narrow', 'Segoe UI Condensed', sans-serif;
  font-weight: 700; font-size: clamp(26px, 3vw, 36px); text-transform: uppercase;
  margin-bottom: 14px !important;
}
.tft-about__cta-inner p { font-size: 16px; color: var(--tft-muted); margin-bottom: 28px !important; }
.tft-about__btn {
  display: inline-block; background: var(--tft-green); color: var(--tft-near-black);
  font-weight: 700; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase;
  text-decoration: none; padding: 15px 32px; transition: opacity 150ms ease, transform 150ms ease;
}
.tft-about__btn:hover { opacity: 0.85; transform: translateY(-1px); }

@media (max-width: 780px) {
  .tft-about__values-grid { grid-template-columns: 1fr; }
  .tft-about__team-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .tft-about__hero { padding: 70px 24px 40px; }
  .tft-about__story, .tft-about__values, .tft-about__team, .tft-about__cta { padding-left: 24px; padding-right: 24px; }
}
body.page-id-29 #primary,
body.page-id-29 .site-main,
body.page-id-29 article {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
body.page-id-29 {
  background: #14150F !important;
}
