/* About page editorial layout */
.tb-about-page {
  background: #fbf9f6;
  color: var(--tb-charcoal);
}

.tb-about-page .layout-shell {
  width: min(1120px, calc(100% - 48px));
}

.tb-about-hero {
  min-height: 300px;
  overflow: hidden;
  position: relative;
}

.tb-about-hero__media,
.tb-about-hero__media::after {
  inset: 0;
  position: absolute;
}

.tb-about-hero__media { background: #f7f4ee; }
.tb-about-hero__media::after { background: linear-gradient(90deg, rgba(251, 249, 246, .96) 0%, rgba(251, 249, 246, .93) 28%, rgba(251, 249, 246, .72) 42%, rgba(251, 249, 246, .24) 57%, rgba(251, 249, 246, .03) 70%, transparent 75%); content: ""; }
.tb-about-hero__media img { height: 100%; object-fit: cover; object-position: center; width: 100%; }
.tb-about-hero__inner { align-items: center; display: flex; min-height: 300px; position: relative; z-index: 1; }
.tb-about-hero__panel { max-width: 570px; padding: .9rem 0; }
.tb-about-hero h1 { color: #123326; font-size: clamp(2.2rem, 2.9vw, 3.15rem); line-height: .94; margin-bottom: .7rem; max-width: 540px; text-shadow: 0 1px 0 rgba(255,255,255,.35); }
.tb-about-hero__lead { color: #243b31; font-size: .92rem; line-height: 1.62; margin-bottom: 1rem; max-width: 450px; }

.tb-about-value-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1.25rem; max-width: 620px; }
.tb-about-value { border-right: 1px solid var(--tb-border); display: flex; flex-direction: column; gap: .3rem; min-height: 84px; padding: 0 1rem; text-align: center; }
.tb-about-value:first-child { padding-left: 0; }
.tb-about-value:last-child { border-right: 0; padding-right: 0; }
.tb-about-symbol { color: var(--tb-green-800); display: inline-flex; font-family: Georgia, serif; font-size: 2rem; height: 36px; justify-content: center; line-height: 1; }
.tb-about-line-icon svg { fill: none; height: 28px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.35; width: 28px; }
.tb-about-value .tb-about-line-icon { align-items: center; height: 36px; }
.tb-about-value strong { color: #19382b; font-size: .78rem; line-height: 1.2; }
.tb-about-value small { color: #52635a; font-size: .68rem; line-height: 1.35; margin: 0 auto; max-width: 125px; }

.tb-about-story-section { background: #fff; border-bottom: 1px solid var(--tb-border); padding: 3.35rem 0 3.6rem; }
.tb-about-two-column { display: grid; gap: 5rem; grid-template-columns: 1fr 1fr; }
.tb-about-two-column h2 { font-size: clamp(1.85rem, 2.6vw, 2.6rem); line-height: .98; margin-bottom: .85rem; max-width: 470px; }
.tb-about-two-column p:not(.eyebrow) { font-size: .88rem; line-height: 1.7; max-width: 500px; }
.tb-about-checklist { list-style: none; margin: .35rem 0 0; padding: 0; }
.tb-about-checklist li { border-bottom: 1px solid var(--tb-border); font-size: .82rem; line-height: 1.55; padding: .68rem 0 .68rem 1.35rem; position: relative; }
.tb-about-checklist li::before { color: var(--tb-gold-600); content: "✓"; font-size: .95rem; font-weight: 700; left: 0; position: absolute; top: .42rem; }

.tb-about-mission-section { background: #faf8f5; border-bottom: 1px solid var(--tb-border); padding: 2.15rem 0 2.35rem; }
.tb-about-section-heading { margin-bottom: .85rem; }
.tb-about-section-heading h2,
.tb-about-history-heading h2 { font-size: clamp(1.7rem, 2.5vw, 2.4rem); line-height: .98; margin-bottom: 0; }
.tb-about-mission-grid { display: grid; gap: 1.6rem; grid-template-columns: repeat(3, 1fr); }
.tb-about-mission-card { border-right: 1px solid var(--tb-border); padding-right: 1.5rem; }
.tb-about-mission-card:last-child { border-right: 0; }
.tb-about-mission-card .tb-about-symbol { justify-content: flex-start; }
.tb-about-mission-card h3 { font-family: "Manrope", Arial, sans-serif; font-size: .8rem; letter-spacing: 0; margin: .4rem 0 .35rem; }
.tb-about-mission-card p { font-size: .78rem; line-height: 1.6; margin-bottom: 0; max-width: 240px; }

.tb-about-history-section { background: #fff; border-bottom: 1px solid var(--tb-border); padding: 2.9rem 0 3.1rem; }
.tb-about-history-heading { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 1rem; }
.tb-about-history-heading > p { color: var(--tb-muted); font-size: .88rem; line-height: 1.6; margin: 0; max-width: 510px; }
.tb-about-history-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tb-about-history-card { background: linear-gradient(180deg, #fff 0%, #faf8f4 100%); border: 1px solid var(--tb-border); border-radius: var(--tb-radius-sm); border-top: 3px solid rgba(187, 133, 46, .65); min-height: 174px; padding: 1.15rem 1.1rem .95rem; }
.tb-about-history-mark { align-items: center; background: var(--tb-green-950); border: 4px solid rgba(187, 133, 46, .16); border-radius: 999px; box-shadow: 0 0 0 1px rgba(187, 133, 46, .35); color: var(--tb-gold-light); display: inline-flex; font-family: "Manrope", Arial, sans-serif; font-size: .72rem; font-weight: 800; height: 54px; justify-content: center; letter-spacing: .08em; margin-bottom: .65rem; padding: 0 .75rem; }
.tb-about-history-mark--wide { border-radius: var(--tb-radius-sm); font-size: .52rem; height: 54px; letter-spacing: .04em; max-width: 100%; white-space: nowrap; }
.tb-about-history-card h3 { font-family: "Manrope", Arial, sans-serif; font-size: .84rem; letter-spacing: 0; line-height: 1.25; margin-bottom: .28rem; }
.tb-about-history-card p { color: var(--tb-muted); font-size: .76rem; line-height: 1.5; margin: 0; max-width: 260px; }

.tb-about-process-section { background: #fff; border-bottom: 1px solid var(--tb-border); padding: 2.7rem 0 2.9rem; }
.tb-about-process { align-items: center; display: grid; gap: 3rem; grid-template-columns: 220px minmax(0, 1fr); }
.tb-about-process-intro h2 { font-size: 1.82rem; line-height: 1.02; margin-bottom: 0; }
.tb-about-process-list { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 0; padding: 0; }
.tb-about-process-list li { align-items: start; border-right: 1px solid var(--tb-border); display: grid; gap: .7rem; grid-template-columns: 40px minmax(0, 1fr); min-height: 142px; padding: .8rem 1rem 0; }
.tb-about-process-list li:last-child { border-right: 0; }
.tb-about-process-list li > span { align-items: center; background: var(--tb-green-950); border: 2px solid rgba(187, 133, 46, .35); border-radius: 50%; color: #fff; display: inline-flex; font-size: .78rem; height: 40px; justify-content: center; width: 40px; }
.tb-about-process-list h3 { font-family: "Manrope", Arial, sans-serif; font-size: .82rem; line-height: 1.25; letter-spacing: 0; margin-bottom: .3rem; }
.tb-about-process-list p { color: var(--tb-charcoal); font-size: .76rem; line-height: 1.5; margin: 0; }

.tb-about-cta-section { background: #faf8f5; padding: 1.45rem 0; }
.tb-about-cta { align-items: center; background: var(--tb-green-950); border-radius: var(--tb-radius); color: #fff; display: flex; gap: 2rem; justify-content: space-between; padding: 1.55rem 2rem; }
.tb-about-cta h2 { color: #fff; font-size: 2rem; line-height: .95; margin-bottom: .35rem; }
.tb-about-cta p:not(.eyebrow) { color: rgba(255, 255, 255, .78); font-size: .8rem; line-height: 1.5; margin: 0; }
.tb-about-cta .button { flex: 0 0 auto; }

@media (max-width: 900px) {
  .tb-about-hero { min-height: 330px; }
  .tb-about-hero__inner { min-height: 330px; }
  .tb-about-two-column { gap: 2.5rem; }
  .tb-about-process { gap: 1.25rem; grid-template-columns: 1fr; }
  .tb-about-process-list { grid-template-columns: repeat(2, 1fr); }
  .tb-about-process-list li:nth-child(2) { border-right: 0; }
  .tb-about-process-list li:nth-child(-n+2) { border-bottom: 1px solid var(--tb-border); padding-bottom: .8rem; }
}

@media (max-width: 680px) {
  .tb-about-page .layout-shell { width: min(100% - 32px, 1120px); }
  .tb-about-hero { min-height: 0; overflow: visible; }
  .tb-about-hero__media { height: 275px; position: relative; }
  .tb-about-hero__media::after { background: linear-gradient(180deg, rgba(11, 43, 34, .05) 35%, rgba(11, 43, 34, .35) 100%); }
  .tb-about-hero__inner { min-height: 0; }
  .tb-about-hero__panel { background: #fff; border: 1px solid var(--tb-border); border-radius: var(--tb-radius); box-shadow: 0 8px 24px rgba(11, 43, 34, .08); margin: -72px 0 0; max-width: none; padding: 1.3rem 1.15rem 1.05rem; position: relative; width: 100%; }
  .tb-about-hero h1 { font-size: 2.35rem; line-height: .92; }
  .tb-about-hero__lead { font-size: .88rem; line-height: 1.6; }
  .tb-about-value-row { margin-top: .9rem; max-width: none; }
  .tb-about-value { min-height: 78px; padding: 0 .45rem; }
  .tb-about-symbol { font-size: 1.65rem; }
  .tb-about-line-icon svg { height: 25px; width: 25px; }
  .tb-about-value strong { font-size: .64rem; }
  .tb-about-value small { font-size: .57rem; }
  .tb-about-story-section { padding: 2.7rem 0 3rem; }
  .tb-about-two-column { gap: 2.2rem; grid-template-columns: 1fr; }
  .tb-about-two-column h2 { font-size: 2rem; }
  .tb-about-two-column p:not(.eyebrow) { font-size: .9rem; line-height: 1.7; }
  .tb-about-mission-section,
  .tb-about-history-section,
  .tb-about-process-section { padding: 2.1rem 0; }
  .tb-about-mission-grid { gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tb-about-mission-card { border-bottom: 1px solid var(--tb-border); border-right: 0; padding: .45rem 0 .9rem; }
  .tb-about-mission-card:nth-child(odd) { border-right: 1px solid var(--tb-border); padding-right: .8rem; }
  .tb-about-mission-card:nth-last-child(-n+2) { border-bottom: 0; }
  .tb-about-history-heading { align-items: start; flex-direction: column; gap: .75rem; }
  .tb-about-history-grid { gap: .75rem; grid-template-columns: 1fr; }
  .tb-about-history-card { min-height: 0; padding: .95rem; }
  .tb-about-history-mark { margin-bottom: .45rem; }
  .tb-about-process-list { grid-template-columns: 1fr; }
  .tb-about-process-list li,
  .tb-about-process-list li:nth-child(2) { border-bottom: 1px solid var(--tb-border); border-right: 0; min-height: 0; padding: .8rem 0; }
  .tb-about-process-list li:last-child { border-bottom: 0; }
  .tb-about-process-list h3 { font-size: .8rem; }
  .tb-about-process-list p { font-size: .72rem; }
  .tb-about-cta { align-items: flex-start; flex-direction: column; gap: 1rem; padding: 1.35rem 1.2rem; }
  .tb-about-cta h2 { font-size: 1.8rem; }
  .tb-about-cta .button { width: 100%; }
}
