[data-team-building-page] {
  background: var(--color-ivory);
}

[data-team-building-page] .tb-section {
  padding-block: clamp(3rem, 7vw, 7rem);
}

[data-team-building-page] .tb-eyebrow {
  margin: 0;
}

[data-team-building-page] .tb-copy {
  color: var(--color-muted-ink);
  font-size: var(--text-lg);
}

[data-team-building-page] .tb-hero {
  padding-block: clamp(3rem, 7vw, 6rem) clamp(4rem, 8vw, 7rem);
}

[data-team-building-page] .tb-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: 8.333%;
  align-items: center;
}

[data-team-building-page] .tb-hero-copy,
[data-team-building-page] .tb-hero-media,
[data-team-building-page] .tb-intro-copy,
[data-team-building-page] .tb-intro-panel,
[data-team-building-page] .tb-poker-copy,
[data-team-building-page] .tb-poker-media,
[data-team-building-page] .tb-moment-media,
[data-team-building-page] .tb-moment-copy,
[data-team-building-page] .tb-contact-copy,
[data-team-building-page] .tb-form-panel,
[data-team-building-page] .tb-related-copy,
[data-team-building-page] .tb-related-links {
  min-width: 0;
}

[data-team-building-page] .tb-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

[data-team-building-page] .tb-hero-copy > * { margin: 0; }
[data-team-building-page] .tb-hero-copy h1 { max-inline-size: 11ch; }
[data-team-building-page] .tb-hero-copy .tb-copy { max-inline-size: 38ch; }

[data-team-building-page] .tb-highlight {
  width: 100%;
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius-md);
  background: var(--color-lemon);
  color: var(--color-ink);
  font-weight: var(--weight-semibold);
}

[data-team-building-page] .tb-actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
}

[data-team-building-page] .tb-text-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-ink);
  font-weight: var(--weight-bold);
}

[data-team-building-page] .tb-hero-media {
  position: relative;
  width: 100%;
  max-width: 620px;
  justify-self: end;
}

[data-team-building-page] .tb-hero-frame {
  aspect-ratio: 4 / 5;
  margin: 0;
  border-radius: var(--radius-lg);
}

[data-team-building-page] .tb-hero-frame img { object-position: center center; }

[data-team-building-page] .tb-media-note {
  position: absolute;
  bottom: var(--space-5);
  left: calc(var(--space-5) * -1);
  margin: 0;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--color-sky);
  color: var(--color-ink);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

[data-team-building-page] .tb-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: 8.333%;
  align-items: start;
}

[data-team-building-page] .tb-intro-copy {
  max-inline-size: 650px;
}

[data-team-building-page] .tb-intro-copy > p:first-of-type { max-inline-size: 40ch; }

[data-team-building-page] .tb-principles {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin: var(--space-8) 0;
}

[data-team-building-page] .tb-principle {
  display: grid;
  grid-template-columns: minmax(7rem, 9rem) minmax(0, 1fr);
  gap: var(--space-4);
  align-items: baseline;
}

[data-team-building-page] .tb-principle strong { color: var(--color-ink); }
[data-team-building-page] .tb-principle span { color: var(--color-muted-ink); }

[data-team-building-page] .tb-intro-close {
  margin: 0;
  padding-top: var(--space-5);
  border-top: var(--rule-wood);
  color: var(--color-ink);
  font-weight: var(--weight-semibold);
}

[data-team-building-page] .tb-intro-panel {
  align-self: center;
  max-inline-size: 340px;
  padding: var(--space-8);
  border-radius: var(--radius-lg);
  background: var(--color-mint);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.4vw, 2.15rem);
  font-weight: var(--weight-bold);
  line-height: 1.12;
}

[data-team-building-page] .tb-intro-panel p { margin: 0; }

[data-team-building-page] .tb-section-heading { max-inline-size: 680px; }
[data-team-building-page] .tb-section-heading > p:last-child { max-inline-size: 42ch; }

[data-team-building-page] .tb-format-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-10);
}

[data-team-building-page] .tb-format-card {
  display: flex;
  min-width: 0;
  min-height: 15rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  color: var(--color-ink);
  text-decoration: none;
}

[data-team-building-page] .tb-format-card > * { margin: 0; }
[data-team-building-page] .tb-format-card p { max-inline-size: 34ch; color: var(--color-ink); }
[data-team-building-page] .tb-format-card h3 { text-decoration: underline transparent; transition: text-decoration-color var(--transition-fast); }
[data-team-building-page] .tb-format-card:hover h3 { text-decoration-color: var(--color-ink); }
[data-team-building-page] .tb-format-card--sky { background: var(--color-sky); }
[data-team-building-page] .tb-format-card--mint { background: var(--color-mint); }
[data-team-building-page] .tb-format-card--lemon { background: var(--color-lemon); }
[data-team-building-page] .tb-format-card--coral { background: var(--color-coral); grid-column: span 2; }
[data-team-building-page] .tb-format-card--white { background: var(--color-white); grid-column: span 1; }
[data-team-building-page] .tb-card-kicker { font-size: var(--text-xs); font-weight: var(--weight-bold); letter-spacing: 0.08em; text-transform: uppercase; }
[data-team-building-page] .tb-card-arrow { margin-top: auto; font-weight: var(--weight-bold); }

[data-team-building-page] .tb-poker-section { background: var(--color-mint); }
[data-team-building-page] .tb-poker-grid {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: 8.333%;
  align-items: center;
}

[data-team-building-page] .tb-poker-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  max-inline-size: 620px;
}
[data-team-building-page] .tb-poker-copy > * { margin: 0; }
[data-team-building-page] .tb-poker-copy > p { max-inline-size: 40ch; }

[data-team-building-page] .tb-value-list {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--space-4);
}

[data-team-building-page] .tb-value-list > div {
  padding-bottom: var(--space-4);
  border-bottom: 1px solid rgba(38, 59, 54, 0.2);
}
[data-team-building-page] .tb-value-list p { margin: var(--space-1) 0 0; max-inline-size: 34ch; color: var(--color-muted-ink); }

[data-team-building-page] .tb-poker-callout {
  width: 100%;
  padding: var(--space-5);
  border-radius: var(--radius-md);
  background: var(--color-sky);
}
[data-team-building-page] .tb-poker-callout p { margin: 0 0 var(--space-4); max-inline-size: 38ch; }

[data-team-building-page] .tb-poker-media { width: 100%; max-width: 760px; justify-self: end; }
[data-team-building-page] .tb-poker-frame { aspect-ratio: 3 / 2; margin: 0; border-radius: var(--radius-lg); }
[data-team-building-page] .tb-poker-frame img { object-position: center center; }

[data-team-building-page] .tb-process-section { background: var(--color-mint); }
[data-team-building-page] .tb-process-heading { max-inline-size: 620px; }
[data-team-building-page] .tb-process-heading > p:last-child { max-inline-size: 40ch; }

[data-team-building-page] .tb-process-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-10);
}

[data-team-building-page] .tb-process-grid::before {
  position: absolute;
  top: 1.4rem;
  right: 12.5%;
  left: 12.5%;
  height: 2px;
  background: var(--color-wood);
  content: '';
}

[data-team-building-page] .tb-step {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-top: var(--space-2);
}
[data-team-building-page] .tb-step > * { margin: 0; }
[data-team-building-page] .tb-step p { max-inline-size: 32ch; color: var(--color-muted-ink); }

[data-team-building-page] .tb-step-number {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-ink);
  border-radius: var(--radius-sm);
  background: var(--color-lemon);
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: var(--weight-extrabold);
}
[data-team-building-page] .tb-step:nth-child(4) .tb-step-number { background: var(--color-coral); }
[data-team-building-page] .tb-step:nth-child(3) { border-top: var(--rule-wood); }

[data-team-building-page] .tb-example-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-10);
}

[data-team-building-page] .tb-example-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 16rem;
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
}
[data-team-building-page] .tb-example-card > * { margin: 0; }
[data-team-building-page] .tb-example-card p { max-inline-size: 34ch; color: var(--color-muted-ink); }
[data-team-building-page] .tb-example-card--white { background: var(--color-white); }
[data-team-building-page] .tb-example-card--lemon { background: var(--color-lemon); }
[data-team-building-page] .tb-example-card--coral { background: var(--color-coral); }

[data-team-building-page] .tb-moment-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: 8.333%;
  align-items: end;
}
[data-team-building-page] .tb-moment-media { width: 100%; }
[data-team-building-page] .tb-moment-frame { aspect-ratio: 16 / 10; margin: 0; border-radius: var(--radius-lg); }
[data-team-building-page] .tb-moment-frame img { object-position: center center; }
[data-team-building-page] .tb-moment-copy { max-inline-size: 430px; padding-bottom: var(--space-4); }
[data-team-building-page] .tb-moment-copy p { color: var(--color-muted-ink); }
[data-team-building-page] .tb-moment-copy strong { display: block; margin-bottom: var(--space-5); color: var(--color-ink); font-size: var(--text-lg); line-height: 1.35; }
[data-team-building-page] .tb-underlined-link { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: var(--weight-bold); text-decoration-color: var(--color-lemon); text-decoration-thickness: 0.25em; }

[data-team-building-page] .tb-contact-section { background: var(--color-coral); }
[data-team-building-page] .tb-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: 8.333%;
  align-items: start;
}
[data-team-building-page] .tb-contact-copy { max-inline-size: 500px; }
[data-team-building-page] .tb-contact-copy p { color: var(--color-ink); }

[data-team-building-page] .tb-form-panel {
  width: 100%;
  padding: var(--space-8);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: var(--shadow-panel);
}
[data-team-building-page] .tb-form-panel > h2 { margin-bottom: var(--space-5); }

[data-team-building-page] .tb-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5) var(--space-4);
}
[data-team-building-page] .tb-field { min-width: 0; }
[data-team-building-page] .tb-field--full { grid-column: 1 / -1; }
[data-team-building-page] .tb-field textarea { min-height: 8.75rem; }
[data-team-building-page] .tb-field-error { display: block; min-height: 1.2em; margin-top: var(--space-1); color: #9c3527; font-size: var(--text-sm); font-weight: var(--weight-semibold); }
[data-team-building-page] .tb-field [aria-invalid='true'] { border-color: #9c3527; }

[data-team-building-page] .tb-check-row {
  display: flex;
  grid-column: 1 / -1;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-2) 0;
}
[data-team-building-page] .tb-check-row input { width: 1.125rem; min-width: 1.125rem; margin-top: 0.15rem; }
[data-team-building-page] .tb-check-row label { min-height: 2.75rem; margin: 0; padding-top: 0.05rem; font-weight: var(--weight-semibold); }
[data-team-building-page] .tb-form-actions { display: flex; grid-column: 1 / -1; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
[data-team-building-page] .tb-form-actions .button { min-width: 11rem; }
[data-team-building-page] .tb-form-status { min-height: 1.5em; margin: 0; color: var(--color-ink); font-weight: var(--weight-semibold); }
[data-team-building-page] .tb-privacy-note { margin: 0; color: var(--color-muted-ink); font-size: var(--text-sm); }

[data-team-building-page] .tb-related-section { padding-top: clamp(3rem, 6vw, 5rem); }
[data-team-building-page] .tb-related-grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-8);
  padding-top: var(--space-8);
  border-top: var(--border-default);
  align-items: start;
}
[data-team-building-page] .tb-related-copy { max-inline-size: 680px; }
[data-team-building-page] .tb-related-copy p { max-inline-size: 42ch; color: var(--color-muted-ink); }
[data-team-building-page] .tb-related-links { display: flex; flex-direction: column; }
[data-team-building-page] .tb-related-links a { display: flex; min-height: 2.75rem; align-items: center; padding-block: var(--space-3); border-bottom: var(--border-default); color: var(--color-ink); font-weight: var(--weight-bold); text-decoration-color: var(--color-lemon); }

@media (max-width: 67.49rem) {
  [data-team-building-page] .tb-hero-grid,
  [data-team-building-page] .tb-intro-grid,
  [data-team-building-page] .tb-poker-grid,
  [data-team-building-page] .tb-moment-grid,
  [data-team-building-page] .tb-contact-grid,
  [data-team-building-page] .tb-related-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-8);
  }
  [data-team-building-page] .tb-hero-media,
  [data-team-building-page] .tb-poker-media { justify-self: start; }
  [data-team-building-page] .tb-intro-panel { max-inline-size: 700px; }
  [data-team-building-page] .tb-moment-copy { max-inline-size: 680px; padding-bottom: 0; }
  [data-team-building-page] .tb-contact-copy { max-inline-size: 640px; }
  [data-team-building-page] .tb-form-panel { max-inline-size: 760px; }
}

@media (max-width: 53.74rem) {
  [data-team-building-page] .tb-format-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-team-building-page] .tb-format-card--coral,
  [data-team-building-page] .tb-format-card--white { grid-column: auto; }
  [data-team-building-page] .tb-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-team-building-page] .tb-process-grid::before { display: none; }
  [data-team-building-page] .tb-example-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-team-building-page] .tb-example-card--coral { grid-column: 1 / -1; }
  [data-team-building-page] .tb-related-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-4); }
}

@media (max-width: 44.99rem) {
  [data-team-building-page] .tb-section { padding-block: clamp(3rem, 12vw, 4rem); }
  [data-team-building-page] .tb-hero { padding-top: var(--space-12); }
  [data-team-building-page] .tb-hero-grid { gap: var(--space-8); }
  [data-team-building-page] .tb-hero-copy { gap: var(--space-4); }
  [data-team-building-page] .tb-hero-copy h1 { max-inline-size: 10ch; line-height: 0.98; }
  [data-team-building-page] .tb-hero-copy .tb-copy { max-inline-size: 38ch; font-size: var(--text-base); }
  [data-team-building-page] .tb-actions { flex-direction: column; align-items: stretch; }
  [data-team-building-page] .tb-actions > * { width: 100%; }
  [data-team-building-page] .tb-text-link { justify-content: center; }
  [data-team-building-page] .tb-media-note { bottom: var(--space-4); left: var(--space-3); }
  [data-team-building-page] .tb-intro-grid,
  [data-team-building-page] .tb-poker-grid,
  [data-team-building-page] .tb-moment-grid,
  [data-team-building-page] .tb-contact-grid,
  [data-team-building-page] .tb-related-grid { gap: var(--space-6); }
  [data-team-building-page] .tb-principle { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  [data-team-building-page] .tb-intro-panel { padding: var(--space-6); }
  [data-team-building-page] .tb-format-grid,
  [data-team-building-page] .tb-example-grid,
  [data-team-building-page] .tb-process-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin-top: var(--space-8); }
  [data-team-building-page] .tb-format-card { min-height: 10rem; padding: var(--space-6); }
  [data-team-building-page] .tb-process-grid { gap: var(--space-6); }
  [data-team-building-page] .tb-step { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); column-gap: var(--space-4); row-gap: var(--space-2); padding: 0; border-top: 0; }
  [data-team-building-page] .tb-step-number { grid-row: 1 / span 2; }
  [data-team-building-page] .tb-step h3,
  [data-team-building-page] .tb-step p { grid-column: 2; }
  [data-team-building-page] .tb-example-card--coral { grid-column: auto; }
  [data-team-building-page] .tb-poker-copy { gap: var(--space-4); }
  [data-team-building-page] .tb-poker-callout { padding: var(--space-5); }
  [data-team-building-page] .tb-poker-callout .button-link { width: 100%; }
  [data-team-building-page] .tb-form-panel { padding: var(--space-6); }
  [data-team-building-page] .tb-form-fields { grid-template-columns: minmax(0, 1fr); }
  [data-team-building-page] .tb-field--full,
  [data-team-building-page] .tb-check-row,
  [data-team-building-page] .tb-form-actions { grid-column: auto; }
  [data-team-building-page] .tb-form-actions { align-items: stretch; }
  [data-team-building-page] .tb-form-actions .button { width: 100%; }
  [data-team-building-page] .tb-related-links { display: flex; }
}

@media (prefers-reduced-motion: no-preference) {
  [data-team-building-page] .tb-step { opacity: 0; transform: translateY(10px); transition: opacity var(--transition-base), transform var(--transition-base); }
  [data-team-building-page] .tb-step.is-visible { opacity: 1; transform: translateY(0); }
}
