/*
 * TherapyBuilt — components.css
 * All section component styles. Colors via var(--tb-*) only.
 */

/* =========================================================================
   ABOUT
   ========================================================================= */

.tb-about-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-12);
}

@media (min-width: 1024px) {
  .tb-about-layout {
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: var(--space-16);
  }
}

.tb-section-intro--left {
  text-align: left;
}

.tb-section-intro--left .tb-section-intro__body {
  margin-left: 0;
  margin-right: 0;
}

.tb-about-values {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.tb-value-card {
  display: flex;
  gap: var(--space-4);
  padding: var(--space-5);
  background: var(--tb-bg);
  border: 1px solid var(--tb-border);
  border-radius: var(--radius-lg);
}

.tb-value-card__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: var(--tb-primary-light);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tb-primary);
}

.tb-value-card__icon svg {
  width: 20px;
  height: 20px;
}

.tb-value-card__title {
  font-size: var(--text-base);
  font-weight: var(--font-weight-semibold);
  color: var(--tb-heading);
  margin-bottom: var(--space-1);
}

.tb-value-card__body {
  font-size: var(--text-sm);
  color: var(--tb-text-muted);
  line-height: var(--line-height-relaxed);
}

/* =========================================================================
   SERVICES
   ========================================================================= */

.tb-services-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

@media (min-width: 640px) {
  .tb-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .tb-services-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.tb-service-card {
  padding: var(--space-6);
  background: var(--tb-surface);
  border: 1px solid var(--tb-border);
  border-radius: var(--radius-xl);
  transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.tb-service-card:hover {
  border-color: var(--tb-brand-on-surface, var(--tb-primary-dark, #3f5941));
  box-shadow: var(--shadow-md);
}

.tb-service-card__icon {
  width: 44px;
  height: 44px;
  background: var(--tb-primary-light);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tb-primary);
  margin-bottom: var(--space-4);
}

.tb-service-card__icon svg {
  width: 22px;
  height: 22px;
}

.tb-service-card__title {
  font-size: var(--text-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--tb-heading);
  margin-bottom: var(--space-2);
}

.tb-service-card__body {
  font-size: var(--text-sm);
  color: var(--tb-text-muted);
  line-height: var(--line-height-relaxed);
}

.tb-section-cta {
  text-align: center;
  margin-top: var(--space-12);
}

.tb-section-cta__note {
  font-size: var(--text-sm);
  color: var(--tb-text-muted);
  margin-bottom: var(--space-4);
  max-width: 48ch;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================================
   WHAT TO EXPECT
   ========================================================================= */

.tb-wte-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}

@media (min-width: 768px) {
  .tb-wte-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.tb-wte-card {
  padding: var(--space-6) var(--space-6) var(--space-8);
  background: var(--tb-surface);
  border: 1px solid var(--tb-border);
  border-radius: var(--radius-xl);
  position: relative;
}

.tb-wte-card__num {
  font-size: var(--text-4xl);
  font-weight: var(--font-weight-bold);
  color: var(--tb-primary-light);
  line-height: 1;
  margin-bottom: var(--space-4);
}

.tb-wte-card__title {
  font-size: var(--text-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--tb-heading);
  margin-bottom: var(--space-3);
}

.tb-wte-card__body {
  font-size: var(--text-base);
  color: var(--tb-text-muted);
  line-height: var(--line-height-relaxed);
}

.tb-wte-card__body + .tb-wte-card__body {
  margin-top: var(--space-3);
}

/* =========================================================================
   LOCATION
   ========================================================================= */

.tb-location-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-10);
}

@media (min-width: 1024px) {
  .tb-location-layout {
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: var(--space-12);
  }
}

.tb-location-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.tb-location-block {
  display: flex;
  gap: var(--space-4);
}

.tb-location-block__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: var(--tb-primary-light);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tb-primary);
  margin-top: 2px;
}

.tb-location-block__icon svg {
  width: 18px;
  height: 18px;
}

.tb-location-block__title {
  font-size: var(--text-base);
  font-weight: var(--font-weight-semibold);
  color: var(--tb-heading);
  margin-bottom: var(--space-2);
}

.tb-location-block__body {
  font-size: var(--text-sm);
  color: var(--tb-text-muted);
  line-height: var(--line-height-relaxed);
  max-width: none;
}

.tb-location-block__note {
  font-size: var(--text-xs);
  color: var(--tb-text-muted);
  margin-top: var(--space-1);
}

.tb-hours-table {
  border-collapse: collapse;
  width: 100%;
  font-size: var(--text-sm);
  color: var(--tb-muted-on-bg, var(--tb-text-muted));
}

.tb-hours-table td {
  padding: var(--space-1) var(--space-4) var(--space-1) 0;
  vertical-align: top;
}

.tb-hours-table td:first-child {
  font-weight: var(--font-weight-medium);
  color: var(--tb-text);
  white-space: nowrap;
}

/* Map */
.tb-location-map {
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: var(--tb-surface);
  border: 1px solid var(--tb-border);
}

.tb-map-embed iframe {
  display: block;
  width: 100%;
  height: 400px;
  border: none;
}

.tb-map-placeholder {
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tb-map-placeholder__inner {
  text-align: center;
  color: var(--tb-text-muted);
}

.tb-map-placeholder__inner svg {
  width: 48px;
  height: 48px;
  margin: 0 auto var(--space-4);
  color: var(--tb-border-dark);
}

.tb-map-placeholder__inner p {
  font-size: var(--text-sm);
  margin-bottom: var(--space-4);
  max-width: none;
}

/* =========================================================================
   CONTACT / INTAKE FORM
   ========================================================================= */

.tb-contact-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-12);
}

@media (min-width: 1024px) {
  .tb-contact-layout {
    grid-template-columns: 1fr 1.4fr;
    align-items: start;
    gap: var(--space-16);
  }
}

.tb-contact-intro h2 {
  margin-bottom: var(--space-4);
}

.tb-contact-form-wrap {
  background: var(--tb-bg);
  border: 1px solid var(--tb-border);
  border-radius: var(--radius-2xl);
  padding: var(--space-8);
  box-shadow: var(--shadow-md);
}

/* Form elements */
.tb-intake-form,
.tb-contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.tb-form-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

@media (min-width: 640px) {
  .tb-form-row--split {
    flex-direction: row;
  }
  .tb-form-row--split .tb-form-field {
    flex: 1;
  }
}

.tb-form-field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.tb-form-label {
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  color: var(--tb-heading-on-bg, var(--tb-heading));
}

.tb-form-label__optional {
  font-weight: var(--font-weight-normal);
  color: var(--tb-text-muted);
}

.tb-form-input {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  background: var(--tb-bg);
  border: 1px solid var(--tb-border);
  border-radius: var(--radius-md);
  font-size: var(--text-base);
  color: var(--tb-text);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  appearance: none;
}

.tb-form-input:focus {
  outline: none;
  border-color: var(--tb-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tb-primary) 20%, transparent);
}

.tb-form-textarea {
  resize: vertical;
  min-height: 120px;
}

.tb-form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7069' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-3) center;
  padding-right: var(--space-10);
}

.tb-form-footer {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.tb-form-disclaimer {
  font-size: var(--text-xs);
  color: var(--tb-muted-on-bg, var(--tb-text-muted));
  line-height: var(--line-height-relaxed);
  max-width: none;
}

/* Success / error states */
.tb-form-success {
  text-align: center;
  padding: var(--space-10) var(--space-8);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  color: var(--tb-primary);
}

.tb-form-success h3 {
  color: var(--tb-heading);
  font-size: var(--text-xl);
}

.tb-form-success p {
  font-size: var(--text-base);
  color: var(--tb-text-muted);
  max-width: none;
}

.tb-form-error {
  padding: var(--space-4);
  background: var(--tb-status-danger-bg);
  border: 1px solid color-mix(in srgb,var(--tb-status-danger-dot) 35%,transparent);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  color: var(--tb-status-danger-text);
}

/* ========================================================================
   Client Resources
   ======================================================================== */


/* 0.7.23-rc187 — guided Client Resource Navigator. The existing full library
 * remains the source of truth and stays visible by default. */
.tb-resource-guide {
	padding-block: clamp(48px, 6vw, 72px);
	background: color-mix(in srgb, var(--tb-surface, #f6f0ec) 72%, var(--tb-bg, var(--tb-white)));
	border-bottom: 1px solid color-mix(in srgb, var(--tb-primary, #5a7a5e) 10%, var(--tb-border, #d8d4cc));
}
.tb-resource-guide__head { max-width: 760px; margin-bottom: 24px; }
.tb-resource-guide__head h2 {
	margin: 0;
	font-size: clamp(1.8rem, 3.5vw, 2.75rem);
	line-height: 1.12;
	color: var(--tb-heading, var(--tb-text, #26362d));
}
.tb-resource-guide__head > p:last-child {
	margin: 12px 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--tb-text-muted, #647168);
}
.tb-resource-guide__choices {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 22px;
}
.tb-resource-guide__choice {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-height: 86px;
	padding: 15px 16px;
	border: 1px solid var(--tb-card-border, var(--tb-border, #d8d4cc));
	border-radius: var(--tb-radius-card, 16px);
	background: var(--tb-card-surface-action, var(--tb-card-bg, var(--tb-white)));
	color: var(--tb-on-card-action, var(--tb-text, #26362d));
	text-decoration: none;
	box-shadow: 0 7px 22px rgba(36,55,43,.045);
	transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.tb-resource-guide__choice:hover,
.tb-resource-guide__choice:focus-visible,
.tb-resource-guide__choice.is-active {
	transform: translateY(-2px);
	border-color: var(--tb-card-border-strong, var(--tb-primary, #5a7a5e));
	box-shadow: 0 12px 28px rgba(36,55,43,.09);
}
.tb-resource-guide__choice:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--tb-focus-ring, var(--tb-primary, #5a7a5e)) 16%, transparent), 0 12px 28px rgba(36,55,43,.09);
}
.tb-resource-guide__choice-icon {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 11px;
	background: color-mix(in srgb, var(--tb-primary-light, #d4e5d6) 48%, var(--tb-card-surface-action, var(--tb-white)));
	color: var(--tb-primary-dark, #3f5941);
}
.tb-resource-guide__choice-icon svg { width: 20px; height: 20px; }
.tb-resource-guide__choice-copy { display: grid; gap: 3px; min-width: 0; }
.tb-resource-guide__choice-copy strong { color: inherit; font-size: .94rem; line-height: 1.25; }
.tb-resource-guide__choice-copy small { color: var(--tb-muted-on-card-action, var(--tb-text-muted, #647168)); font-size: .76rem; }
.tb-resource-guide__choice-arrow { color: var(--tb-primary-dark, #3f5941); font-weight: 750; transition: transform .16s ease; }
.tb-resource-guide__choice:hover .tb-resource-guide__choice-arrow { transform: translateX(3px); }
.tb-resource-guide__browse { margin: -4px 0 22px; }
.tb-resource-guide__browse-all {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	min-height: 44px;
	padding: 8px 12px;
	border-radius: 10px;
	color: var(--tb-primary-dark, #3f5941);
	text-decoration: none;
}
.tb-resource-guide__browse-all > span:first-child { display: grid; gap: 1px; }
.tb-resource-guide__browse-all strong { font-size: .88rem; }
.tb-resource-guide__browse-all small { color: var(--tb-text-muted, #647168); font-size: .76rem; font-weight: 500; }
.tb-resource-guide__browse-all > span:last-child { font-weight: 800; transition: transform .16s ease; }
.tb-resource-guide__browse-all:hover,
.tb-resource-guide__browse-all:focus-visible { background: color-mix(in srgb, var(--tb-primary-light, #d4e5d6) 28%, transparent); }
.tb-resource-guide__browse-all:hover > span:last-child { transform: translateY(2px); }
.tb-resource-guide__browse-all:focus-visible { outline: 2px solid var(--tb-focus-ring, var(--tb-primary, #5a7a5e)); outline-offset: 2px; }
.tb-resource-search { max-width: 820px; }
.tb-resource-search label { display: block; margin-bottom: 8px; font-size: .83rem; font-weight: 720; color: var(--tb-text, #26362d); }
.tb-resource-search__control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.tb-resource-search input[type="search"] {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid var(--tb-card-border, var(--tb-border, #d8d4cc));
	border-radius: var(--tb-radius-button, 10px);
	background: var(--tb-card-surface, var(--tb-white));
	color: var(--tb-on-card, var(--tb-text, #26362d));
	font: inherit;
}
.tb-resource-search input[type="search"]:focus {
	outline: none;
	border-color: var(--tb-primary, #5a7a5e);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--tb-focus-ring, var(--tb-primary, #5a7a5e)) 13%, transparent);
}
.tb-resource-current-state { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; }
.tb-resource-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 6px 10px;
	border: 1px solid var(--tb-card-border, var(--tb-border, #d8d4cc));
	border-radius: 999px;
	background: var(--tb-card-surface, var(--tb-white));
	color: var(--tb-text, #26362d);
	font-size: .8rem;
	text-decoration: none;
}
.tb-resource-filter-chip strong { font-weight: 740; }
.tb-resource-filter-chip:hover { border-color: var(--tb-primary, #5a7a5e); }
.tb-resource-start-over { margin-left: 4px; font-size: .82rem; font-weight: 700; color: var(--tb-primary-dark, #3f5941); }
#resource-results { scroll-margin-top: 92px; }
.tb-resource-empty--search { max-width: 680px; padding: 28px; border: 1px solid var(--tb-card-border, var(--tb-border, #d8d4cc)); background: var(--tb-card-surface, var(--tb-white)); }
.tb-resource-empty--search h3 { margin: 0 0 8px; color: var(--tb-heading, var(--tb-text, #26362d)); }
.tb-resource-empty--search p { margin: 0 0 18px; color: var(--tb-text-muted, #647168); }
@media (max-width: 900px) { .tb-resource-guide__choices { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 620px) {
	.tb-resource-guide { padding-block: 38px 44px; }
	.tb-resource-guide__choices { grid-template-columns: 1fr; gap: 9px; }
	.tb-resource-guide__choice { min-height: 70px; padding: 12px 14px; }
	.tb-resource-guide__choice-icon { width: 34px; height: 34px; border-radius: 10px; }
	.tb-resource-guide__browse { margin-bottom: 18px; }
	.tb-resource-guide__browse-all { width: 100%; justify-content: space-between; padding-inline: 4px; }
	.tb-resource-search__control { grid-template-columns: 1fr; }
	.tb-resource-search__control .tb-btn { width: 100%; justify-content: center; }
	.tb-resource-current-state { align-items: flex-start; }
	.tb-resource-start-over { width: 100%; margin: 3px 0 0; }
}

.tb-resource-crisis-wrap {
	padding: clamp(34px, 5vw, 64px) 0;
	background:
		radial-gradient(circle at 9% 20%, color-mix(in srgb, var(--tb-accent-light, #f2dfd3) 56%, transparent), transparent 38%),
		linear-gradient(135deg, color-mix(in srgb, var(--tb-primary-light, #d4e5d6) 46%, var(--tb-white)), var(--tb-white) 74%);
	border-bottom: 1px solid color-mix(in srgb, var(--tb-primary, #5a7a5e) 18%, transparent);
}

.tb-resource-crisis {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: clamp(18px, 3vw, 34px);
	align-items: center;
	padding: clamp(24px, 4vw, 40px);
	background: rgba(255,255,255,.9);
	border: 1px solid color-mix(in srgb, var(--tb-primary, #5a7a5e) 22%, var(--tb-white));
	border-left: 5px solid var(--tb-primary, #5a7a5e);
	border-radius: var(--tb-radius-lg, 20px);
	box-shadow: 0 18px 48px rgba(34, 54, 42, .1);
}

.tb-resource-crisis__icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 18px;
	background: color-mix(in srgb, var(--tb-primary, #5a7a5e) 12%, var(--tb-white));
	color: var(--tb-primary-dark, #3f5941);
}

.tb-resource-crisis__icon svg { width: 30px; height: 30px; }
.tb-resource-crisis__eyebrow,
.tb-resource-library__eyebrow,
.tb-home-resources__eyebrow {
	margin: 0 0 8px;
	font-size: .76rem;
	font-weight: 750;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--tb-primary, #5a7a5e);
}
.tb-resource-crisis h2 {
	margin: 0;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	color: var(--tb-text, #26362d);
}
.tb-resource-crisis__content > p:not(.tb-resource-crisis__eyebrow):not(.tb-resource-crisis__emergency) {
	max-width: 720px;
	margin: 10px 0 0;
	color: var(--tb-text-muted, #5f6d64);
}
.tb-resource-crisis__emergency {
	margin: 14px 0 0;
	font-size: .92rem;
	color: var(--tb-text, #26362d);
}
.tb-resource-crisis__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 9px;
	min-width: 170px;
}
.tb-resource-crisis__actions .tb-btn { justify-content: center; white-space: nowrap; }
.tb-resource-crisis__text-link {
	text-align: center;
	font-weight: 650;
	font-size: .9rem;
	color: var(--tb-primary-dark, #3f5941);
}
.tb-resource-local-crisis {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-top: 14px;
	padding: 14px 18px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--tb-primary-light, #d4e5d6) 34%, var(--tb-white));
	color: var(--tb-text, #26362d);
}
.tb-resource-local-crisis > div { display: flex; flex-wrap: wrap; gap: 14px; }
.tb-resource-local-crisis a { font-weight: 650; color: var(--tb-primary-dark, #3f5941); }

.tb-resource-library { padding-block: clamp(60px, 8vw, 105px); }
.tb-resource-library__intro {
	max-width: 760px;
	margin-bottom: 28px;
}
.tb-resource-library__intro h2 {
	margin: 0;
	font-size: clamp(2rem, 4vw, 3.25rem);
	color: var(--tb-text, #26362d);
}
.tb-resource-library__intro > p:last-child {
	margin: 14px 0 0;
	font-size: 1.05rem;
	color: var(--tb-text-muted, #647168);
}
.tb-resource-category-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 0 0 clamp(38px, 6vw, 62px);
}
.tb-resource-category-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 14px;
	border: 1px solid color-mix(in srgb, var(--tb-primary, #5a7a5e) 20%, var(--tb-border));
	border-radius: 999px;
	background: var(--tb-white);
	font-size: .88rem;
	font-weight: 650;
	color: var(--tb-primary-dark, #3f5941);
	transition: transform .18s, border-color .18s, background-color .18s;
}
.tb-resource-category-nav a:hover,
.tb-resource-category-nav a:focus-visible {
	transform: translateY(-1px);
	border-color: var(--tb-primary, #5a7a5e);
	background: color-mix(in srgb, var(--tb-primary-light, #d4e5d6) 28%, var(--tb-white));
}
.tb-resource-groups { display: grid; gap: clamp(28px, 4vw, 46px); }
.tb-resource-group { scroll-margin-top: 110px; }
.tb-resource-group__header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 18px;
	padding-bottom: 14px;
	margin-bottom: 20px;
	border-bottom: 1px solid color-mix(in srgb, var(--tb-primary, #5a7a5e) 18%, var(--tb-border));
}
.tb-resource-group__header h3 {
	margin: 0;
	font-size: clamp(1.35rem, 2.4vw, 1.8rem);
	color: var(--tb-text, #26362d);
}
.tb-resource-group__header span { font-size: .82rem; color: var(--tb-text-muted, #6a756e); }

/* 0.7.23-rc186 — shared semantic public-card hierarchy, adapted from
 * VeterinaryBuilt. These classes change surface/border/text roles only; each
 * TherapyBuilt component keeps its existing layout and interaction model. */
.tb-card--content {
  background: var(--tb-card-surface, var(--tb-card-bg, var(--tb-white)));
  border-color: var(--tb-card-border, var(--tb-border, #d8d4cc));
  color: var(--tb-on-card, var(--tb-text, #3d4039));
}
.tb-card--action {
  background: var(--tb-card-surface-action, var(--tb-card-bg, var(--tb-white)));
  border-color: var(--tb-card-border, var(--tb-border, #d8d4cc));
  color: var(--tb-on-card-action, var(--tb-text, #3d4039));
}
.tb-card--featured-action {
  background: var(--tb-card-surface-featured, var(--tb-card-bg, var(--tb-white)));
  border-color: var(--tb-card-border-strong, var(--tb-border-dark, #b8b4ac));
  color: var(--tb-on-card-featured, var(--tb-text, #3d4039));
}
:is(.tb-card--content,.tb-card--action,.tb-card--featured-action):focus-within {
  border-color: var(--tb-card-border-strong, var(--tb-border-dark, #b8b4ac));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tb-focus-ring, var(--tb-primary, #5a7a5e)) 13%, transparent), var(--tb-card-shadow, 0 10px 30px rgba(31,45,36,.07));
}
.tb-card--editorial .tb-blog-card__excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tb-resource-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
/* Resource cards use one shared identity + action hierarchy.  Single-result
   categories become compact full-width rows rather than a centered 760px tile. */
.tb-resource-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	padding: 22px;
	border: 1px solid var(--tb-card-border, var(--tb-border, #d8d4cc));
	border-radius: var(--tb-radius-card, var(--tb-radius-lg, 18px));
	background: var(--tb-card-surface, var(--tb-card-bg, var(--tb-white)));
	box-shadow: 0 10px 34px rgba(36, 55, 43, .06);
	transition: transform .2s, box-shadow .2s, border-color .2s;
}
.tb-resource-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 15px 36px rgba(36, 55, 43, .09);
	border-color: color-mix(in srgb, var(--tb-primary, #5a7a5e) 34%, var(--tb-border));
}
.tb-resource-card__identity {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}
.tb-resource-card__brand { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.tb-resource-card__icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--tb-primary-light, #d4e5d6) 55%, var(--tb-white));
	color: var(--tb-primary-dark, #3f5941);
}
.tb-resource-card__icon svg { width: 23px; height: 23px; }
.tb-resource-card__logo-wrap {
	display: grid;
	place-items: center;
	width: 116px;
	height: 64px;
	flex: 0 0 116px;
	border-radius: 8px;
	background: transparent;
	overflow: hidden;
}
.tb-resource-card__logo { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.tb-resource-card__heading { display: grid; align-content: center; gap: 5px; min-width: 0; }
.tb-resource-card__heading h4 {
	margin: 0;
	font-size: 1.14rem;
	line-height: 1.3;
	color: var(--tb-text, #26362d);
	overflow-wrap: anywhere;
}
.tb-resource-card__meta {
	font-size: .72rem;
	font-weight: 650;
	letter-spacing: .025em;
	color: var(--tb-text-muted, #6a756e);
	text-align: left;
}
.tb-resource-card__body { display: grid; align-content: start; gap: 10px; margin: 13px 0 18px; min-width: 0; }
.tb-resource-card__body > p {
	margin: 0;
	font-size: .92rem;
	line-height: 1.58;
	color: var(--tb-text-muted, #647168);
}
.tb-resource-card__details { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; }
.tb-resource-card__details span {
	padding: 5px 8px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tb-primary-light, #d4e5d6) 35%, var(--tb-white));
	font-size: .72rem;
	font-weight: 650;
	color: var(--tb-primary-dark, #3f5941);
}
.tb-resource-card__more {
	margin: 0;
	padding: 10px 12px;
	border: 1px solid color-mix(in srgb, var(--tb-primary, #5a7a5e) 13%, var(--tb-border));
	border-radius: 10px;
	background: var(--tb-surface);
	font-size: .82rem;
	color: var(--tb-text-muted, #647168);
}
.tb-resource-card__more summary { cursor: pointer; font-weight: 680; color: var(--tb-primary-dark, #3f5941); }
.tb-resource-card__more p { margin: 9px 0 0; line-height: 1.55; }
.tb-resource-card__more address { margin: 9px 0 0; font-style: normal; line-height: 1.55; }
.tb-resource-card__link {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	margin-top: auto;
	font-weight: 720;
	color: var(--tb-primary-dark, #3f5941);
}
.tb-resource-card__link span { transition: transform .18s; }
.tb-resource-card__link:hover span { transform: translateX(3px); }
/* Resource Center only: logo slots in multiple-resource categories have a
   definite width AND height. Constrain the image itself to that box (rather
   than only max-height:100% on an intrinsically sized grid child), so square
   logos cannot overflow into descriptions or be cropped. Solo resource rows,
   homepage resource cards, and shared card styles are intentionally untouched. */
.tb-resource-card-grid:not(.tb-smart-layout--single) .tb-resource-card__logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 112px;
    height: 100px;
    flex: 0 0 112px;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}
.tb-resource-card-grid:not(.tb-smart-layout--single) .tb-resource-card__logo-wrap .tb-resource-card__logo {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}
@media (max-width: 480px) {
    .tb-resource-card-grid:not(.tb-smart-layout--single) .tb-resource-card__logo-wrap {
        width: 84px;
        height: 80px;
        flex-basis: 84px;
    }
}
/* Resource Center only: a category with one resource uses a compact grid.
   The logo and title/description share one alignment rather than placing the
   description back under the logo. No common card or homepage rules change. */
.tb-resource-card-grid.tb-smart-layout--single { justify-content: stretch; }
.tb-resource-card-grid.tb-smart-layout--single > .tb-resource-card {
    flex: 1 1 100%;
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: clamp(15px, 2.2vw, 32px);
    row-gap: 5px;
    padding: 18px 22px;
}
/* Split the non-semantic identity wrapper visually only in the one-item layout. */
.tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__identity { display: contents; }
.tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__brand {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: center;
}
.tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__heading {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
}
.tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__body {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 0;
}
.tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__link {
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: center;
    white-space: nowrap;
    margin: 0;
}
@media (max-width: 900px) {
    .tb-resource-card-grid.tb-smart-layout--single > .tb-resource-card {
        grid-template-columns: 102px minmax(0, 1fr);
        column-gap: 14px;
        row-gap: 8px;
    }
    .tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__link {
        grid-column: 2;
        grid-row: 3;
        justify-self: start;
        white-space: normal;
        margin-top: 4px;
    }
}
@media (max-width: 480px) {
    .tb-resource-card { padding: 18px; }
    .tb-resource-card__identity { gap: 12px; align-items: flex-start; }
    .tb-resource-card__logo-wrap { width: 86px; height: 52px; flex-basis: 86px; }
    .tb-resource-card__heading h4 { font-size: 1.07rem; }
    .tb-resource-card-grid.tb-smart-layout--single > .tb-resource-card {
        grid-template-columns: 86px minmax(0, 1fr);
        padding: 17px;
        column-gap: 12px;
    }
    .tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__brand {
        grid-row: 1;
        align-self: center;
    }
    .tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__heading {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
    }
    .tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__body,
    .tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__link {
        grid-column: 1 / -1;
    }
    .tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__body { grid-row: 2; }
    .tb-resource-card-grid.tb-smart-layout--single .tb-resource-card__link { grid-row: 3; }
}
.tb-resource-disclaimer {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 12px;
	align-items: start;
	margin-top: clamp(46px, 7vw, 72px);
	padding: 18px 20px;
	border-radius: 13px;
	background: var(--tb-surface, #f6f0ec);
	color: var(--tb-text-muted, #647168);
}
.tb-resource-disclaimer svg { width: 22px; height: 22px; color: var(--tb-primary, #5a7a5e); }
.tb-resource-disclaimer p { margin: 0; font-size: .87rem; line-height: 1.65; }
.tb-resource-empty { padding: 30px; border-radius: 14px; background: var(--tb-surface, #f6f0ec); }

/* Homepage preview */
.tb-home-resources { padding-block: clamp(62px, 8vw, 102px); }
.tb-home-resources__layout {
	display: grid;
	grid-template-columns: minmax(260px, .75fr) minmax(0, 1.45fr);
	gap: clamp(34px, 7vw, 88px);
	align-items: center;
}
.tb-home-resources__intro h2 {
	margin: 0;
	font-size: clamp(2rem, 4vw, 3.35rem);
	line-height: 1.08;
	color: var(--tb-text, #26362d);
}
.tb-home-resources__intro > p:not(.tb-home-resources__eyebrow) {
	margin: 18px 0 26px;
	font-size: 1.03rem;
	line-height: 1.75;
	color: var(--tb-text-muted, #647168);
}
.tb-home-resources__intro .tb-btn { gap: 8px; }
.tb-home-resources__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
.tb-home-resource-card {
	display: flex;
	flex-direction: column;
	min-height: 205px;
	padding: 22px;
	border: 1px solid var(--tb-card-border, var(--tb-border, #d8d4cc));
	border-radius: var(--tb-radius-card, 17px);
	background: var(--tb-card-surface, var(--tb-card-bg, var(--tb-white)));
	box-shadow: 0 10px 28px rgba(36, 55, 43, .06);
}
.tb-home-resource-card--crisis {
	background: var(--tb-card-surface-featured, var(--tb-card-bg, var(--tb-white)));
	border-color: var(--tb-card-border-strong, var(--tb-border-dark, #b8b4ac));
}
.tb-home-resource-card__icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--tb-primary, #5a7a5e) 11%, var(--tb-white));
	color: var(--tb-primary-dark, #3f5941);
}
.tb-home-resource-card__icon svg { width: 21px; height: 21px; }
.tb-home-resource-card__logo-wrap { display: grid; place-items: center; width: 88px; height: 48px; flex: 0 0 88px; border: 1px solid var(--tb-card-border, var(--tb-border, #d8d4cc)); border-radius: 9px; background: var(--tb-card-surface, #fff); padding: 5px; }
.tb-home-resource-card__logo { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.tb-home-resource-card__meta {
	margin: 15px 0 4px;
	font-size: .7rem;
	font-weight: 750;
	letter-spacing: .075em;
	text-transform: uppercase;
	color: var(--tb-primary, #5a7a5e);
}
.tb-home-resource-card h3 {
	margin: 0;
	font-size: 1.04rem;
	line-height: 1.35;
	color: var(--tb-text, #26362d);
}
.tb-home-resource-card > a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: auto;
	padding-top: 18px;
	font-size: .88rem;
	font-weight: 720;
	color: var(--tb-primary-dark, #3f5941);
}

/* Keep card text readable inside a homepage emphasis surface. */
.tb-section--surface-emphasis .tb-home-resources__intro h2,
.tb-section--surface-emphasis .tb-home-resources__intro > p,
.tb-section--surface-emphasis .tb-home-resources__eyebrow { color: var(--tb-white); }
.tb-section--surface-emphasis .tb-home-resource-card h3 { color: var(--tb-text, #26362d); }
.tb-section--surface-emphasis .tb-home-resource-card__meta { color: var(--tb-primary, #5a7a5e); }
.tb-section--surface-emphasis .tb-home-resource-card > a { color: var(--tb-primary-dark, #3f5941); }

@media (max-width: 980px) {
	.tb-resource-crisis { grid-template-columns: auto 1fr; }
	.tb-resource-crisis__actions { grid-column: 2; flex-direction: row; flex-wrap: wrap; min-width: 0; }
	.tb-resource-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tb-home-resources__layout { grid-template-columns: 1fr; }
	.tb-home-resources__intro { max-width: 720px; }
}

@media (max-width: 680px) {
	.tb-resource-crisis { grid-template-columns: 1fr; padding: 22px; }
	.tb-resource-crisis__icon { width: 50px; height: 50px; }
	.tb-resource-crisis__actions { grid-column: auto; flex-direction: column; }
	.tb-resource-local-crisis { align-items: flex-start; flex-direction: column; }
	.tb-resource-group__header { align-items: flex-start; flex-direction: column; gap: 4px; }
	.tb-resource-card-grid,
	.tb-home-resources__cards { grid-template-columns: 1fr; }
	.tb-resource-card { min-height: 0; }
}


/* rc12 Resource Center only: readable headings, compact browse controls and cards.
   Scoped intentionally: no shared CTA, homepage, typography or smart-layout edits. */
.tb-resource-crisis__content { min-width: 0; }
.tb-resource-crisis__content h2 {
    line-height: 1.24;
    height: auto;
    overflow-wrap: break-word;
}
.tb-resource-crisis__content > p:not(.tb-resource-crisis__eyebrow) { line-height: 1.55; }
.tb-resource-cta-scope .tb-section-cta__heading {
    line-height: 1.24;
    height: auto;
    max-width: 26ch;
    margin: 0 auto 12px;
    overflow-wrap: break-word;
}
.tb-resource-cta-scope .tb-section-cta__message {
    line-height: 1.65;
    height: auto;
    margin: 0 auto 25px;
}
.tb-resource-guide__choices { gap: 10px; margin-bottom: 12px; }
.tb-resource-guide__choice { min-height: 70px; padding: 11px 14px; }
.tb-resource-guide__browse { margin: 0 0 17px; }
.tb-resource-guide__choice.is-active {
    background: color-mix(in srgb, var(--tb-primary-light, #d4e5d6) 44%, var(--tb-card-surface-action, #fff));
    border-color: var(--tb-primary, #5a7a5e);
}
.tb-resource-card__details { gap: 6px; }
.tb-resource-card__details span { max-width: 100%; overflow-wrap: anywhere; }
.tb-resource-card__more summary { line-height: 1.45; }
@media (max-width: 620px) {
    .tb-resource-crisis__content h2,
    .tb-resource-cta-scope .tb-section-cta__heading { line-height: 1.3; }
    .tb-resource-guide__choice { min-height: 64px; }
}

/* rc13 — Resource Center library only: accessible, quiet native disclosure.
   Keep original details HTML and focus semantics; suppress the panel treatment
   only inside the library, never on the homepage or other site components. */
.tb-resource-library .tb-resource-card__more {
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--tb-text-muted, #647168);
}
.tb-resource-library .tb-resource-card__more summary {
    width: fit-content;
    max-width: 100%;
    padding: 3px 0;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 3px;
    cursor: pointer;
}
.tb-resource-library .tb-resource-card__more summary:hover,
.tb-resource-library .tb-resource-card__more summary:focus-visible {
    text-decoration-color: currentColor;
}
.tb-resource-library .tb-resource-card__more summary:focus-visible {
    outline: 2px solid var(--tb-focus-ring, var(--tb-primary, #5a7a5e));
    outline-offset: 4px;
    border-radius: 2px;
}
.tb-resource-library .tb-resource-card__more[open] {
    padding-bottom: 2px;
}
.tb-resource-library .tb-resource-card__more p,
.tb-resource-library .tb-resource-card__more address {
    max-width: 60ch;
    margin: 6px 0 0;
}

/* =========================================================
   Content trust, references, and answer-ready service copy
   Loaded here because components.css is part of every public page.
   ========================================================= */
.tb-article-trust{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
	gap:12px;
	margin:0 0 28px;
	padding:16px 18px;
	border:1px solid var(--tb-card-border,var(--tb-border,#d8d4cc));
	border-radius:var(--tb-radius-card,14px);
	background:var(--tb-card-surface-action,var(--tb-card-bg,var(--tb-white)));
}
.tb-article-trust--compact{display:inline-grid;min-width:min(100%,320px);max-width:480px;padding:13px 16px;margin-bottom:24px;}
.tb-article-trust__item{display:flex;flex-direction:column;gap:3px;min-width:0;}
.tb-article-trust__item span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--tb-muted-on-card-action,var(--tb-on-card-action,var(--tb-text,#3d4039)));}
.tb-article-trust__item strong{font-size:.9rem;color:var(--tb-heading-on-card-action,var(--tb-on-card-action,var(--tb-text,#26332b)));line-height:1.4;}
.tb-article-trust__item a{color:inherit;text-decoration-thickness:1px;text-underline-offset:2px;}
.tb-article-sources{margin:32px 0 22px;padding-top:24px;border-top:1px solid var(--tb-border,#e5e7eb);}
.tb-article-sources h2{font-size:1.15rem;margin:0 0 12px;}
.tb-article-sources ol{margin:0;padding-left:1.3rem;display:grid;gap:8px;}
.tb-article-sources li{font-size:.9rem;line-height:1.55;color:var(--tb-text-muted,#5a6a5e);}
.tb-article-disclaimer{margin:24px 0;padding:15px 17px;border-left:4px solid var(--tb-primary,#5a7a5e);border-radius:0 10px 10px 0;background:var(--tb-surface,#f7f5f1);}
.tb-article-disclaimer strong{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;color:var(--tb-text,#26332b);}
.tb-article-disclaimer p{margin:0;font-size:.88rem;line-height:1.55;color:var(--tb-muted-on-surface,var(--tb-on-surface,var(--tb-text,#364039)));}
.tb-answer-ready{max-width:940px;margin:0 auto clamp(30px,4vw,46px);padding:clamp(24px,3.5vw,36px);border:1px solid var(--tb-card-border,var(--tb-panel-border,rgba(0,0,0,.08)));border-radius:var(--tb-radius-panel,18px);background:var(--tb-card-surface-action,var(--tb-card-bg,var(--tb-white)));color:var(--tb-on-card-action,var(--tb-text,#26332b));box-shadow:var(--tb-card-shadow,0 12px 34px rgba(31,48,36,.055));}
.tb-answer-ready__header{max-width:720px;margin:0 0 20px;}
.tb-answer-ready__eyebrow{display:block;margin:0 0 7px;font-size:.7rem;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--tb-primary,#5a7a5e);}
.tb-answer-ready__header h2{margin:0 0 7px;font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.2;color:var(--tb-heading-on-card-action,var(--tb-on-card-action,var(--tb-text,#26332b)));}
.tb-answer-ready__header p{margin:0;font-size:.92rem;line-height:1.55;color:var(--tb-muted-on-card-action,var(--tb-on-card-action,var(--tb-text,#3d4039)));}
.tb-answer-ready__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.tb-answer-ready__item{position:relative;padding:17px 18px 18px;border:1px solid var(--tb-card-border,var(--tb-panel-border,rgba(0,0,0,.08)));border-radius:var(--tb-radius-card,14px);background:var(--tb-card-surface,var(--tb-card-bg,var(--tb-white)));box-shadow:0 6px 18px rgba(31,48,36,.035);}
.tb-answer-ready__item:before{content:"";position:absolute;left:18px;top:0;width:38px;height:3px;border-radius:0 0 3px 3px;background:var(--tb-primary,#5a7a5e);opacity:.72;}
.tb-answer-ready__item h3{font-size:.94rem;line-height:1.32;margin:2px 0 8px;color:var(--tb-heading-on-card,var(--tb-on-card,var(--tb-text,#26332b)));}
.tb-answer-ready__item p{font-size:.88rem;line-height:1.62;margin:0;color:var(--tb-muted-on-card,var(--tb-on-card,var(--tb-text,#3d4039)));}
@media(max-width:760px){.tb-answer-ready{padding:22px 18px}.tb-answer-ready__grid{grid-template-columns:1fr}}

/* =========================================================
   Client-focused concern FAQs and richer service guidance
   ========================================================= */
.tb-term-faq{
	max-width:940px;
	margin:clamp(34px,5vw,56px) auto 0;
	padding:clamp(24px,3.5vw,36px);
	border:1px solid var(--tb-panel-border,rgba(0,0,0,.08));
	border-radius:var(--tb-radius-panel,18px);
	background:var(--tb-card-background,var(--tb-white));
	box-shadow:var(--tb-card-shadow,0 12px 34px rgba(31,48,36,.05));
}
.tb-term-faq__header{max-width:720px;margin:0 0 20px;}
.tb-term-faq__header>span{display:block;margin:0 0 7px;font-size:.7rem;font-weight:800;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--tb-primary,#5a7a5e);}
.tb-term-faq__header h2{margin:0 0 8px;font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.2;color:var(--tb-text,#26332b);}
.tb-term-faq__header p{margin:0;font-size:.94rem;line-height:1.6;color:var(--tb-text-muted,#5a6a5e);}
.tb-term-faq__list{display:grid;gap:10px;}
.tb-term-faq__item{overflow:hidden;border:1px solid var(--tb-panel-border,rgba(0,0,0,.08));border-radius:var(--tb-radius-card,13px);background:color-mix(in srgb,var(--tb-card-background,var(--tb-white)) 97%,var(--tb-primary,#5a7a5e) 3%);}
.tb-term-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;padding:16px 18px;font-size:.98rem;font-weight:750;line-height:1.4;color:var(--tb-text,#26332b);}
.tb-term-faq__item summary::-webkit-details-marker{display:none;}
.tb-term-faq__item summary span{position:relative;display:block;width:18px;height:18px;flex:0 0 18px;}
.tb-term-faq__item summary span:before,.tb-term-faq__item summary span:after{content:"";position:absolute;left:3px;right:3px;top:8px;height:2px;border-radius:2px;background:var(--tb-primary,#5a7a5e);transition:transform .18s ease;}
.tb-term-faq__item summary span:after{transform:rotate(90deg);}
.tb-term-faq__item[open] summary span:after{transform:rotate(0);}
.tb-term-faq__item>div{padding:0 18px 17px;border-top:1px solid color-mix(in srgb,var(--tb-panel-border,rgba(0,0,0,.08)) 72%,transparent);}
.tb-term-faq__item p{margin:14px 0 0;font-size:.92rem;line-height:1.68;color:var(--tb-text-muted,#5a6a5e);}
.tb-answer-ready--automatic .tb-answer-ready__item h3{font-size:1rem;}
.tb-answer-ready--automatic .tb-answer-ready__item p{font-size:.91rem;line-height:1.66;}
@media(max-width:760px){.tb-term-faq{padding:22px 18px}.tb-term-faq__item summary{padding:15px}.tb-term-faq__item>div{padding:0 15px 15px}}

/* =========================================================
   Consistent specialty-page modules and public source notes — rc62
   ========================================================= */
.tb-specialty-archive .tb-answer-ready,
.tb-specialty-archive .tb-term-faq,
.tb-specialty-archive .tb-term-sources{
	width:min(100%,var(--tb-service-content-width,940px));
	max-width:var(--tb-service-content-width,940px);
	margin-left:auto;
	margin-right:auto;
}
.tb-specialty-archive .tb-answer-ready{
	margin-bottom:var(--tb-service-section-gap,40px);
	padding:clamp(28px,3.6vw,38px);
	background:color-mix(in srgb,var(--tb-card-background,var(--tb-white)) 92%,var(--tb-primary-light,#d4e5d6) 8%);
}
.tb-specialty-archive .tb-answer-ready__eyebrow,
.tb-specialty-archive .tb-term-faq__header>span{
	font-size:.74rem;
	letter-spacing:.1em;
}
.tb-specialty-archive .tb-answer-ready__header{
	max-width:760px;
	margin-bottom:22px;
}
.tb-specialty-archive .tb-answer-ready__header h2,
.tb-specialty-archive .tb-term-faq__header h2{
	font-size:clamp(1.45rem,2.45vw,1.9rem);
	letter-spacing:-.02em;
}
.tb-specialty-archive .tb-answer-ready__header p,
.tb-specialty-archive .tb-term-faq__header p{
	font-size:.98rem;
	line-height:1.65;
}
.tb-specialty-archive .tb-answer-ready__grid{gap:15px;}
.tb-specialty-archive .tb-answer-ready__item{
	padding:20px 20px 21px;
	box-shadow:none;
}
.tb-specialty-archive .tb-answer-ready__item h3{
	font-size:1.02rem;
	line-height:1.35;
}
.tb-specialty-archive .tb-answer-ready__item p{
	font-size:.96rem;
	line-height:1.68;
}
.tb-specialty-archive .tb-term-faq{
	margin-top:var(--tb-service-section-gap,40px);
	padding:clamp(28px,3.6vw,38px);
}
.tb-specialty-archive .tb-term-faq__header{max-width:760px;}
.tb-specialty-archive .tb-term-faq__item summary{font-size:1rem;}
.tb-specialty-archive .tb-term-faq__item p{font-size:.96rem;line-height:1.7;}
.tb-term-sources{
	margin-top:20px;
	margin-bottom:0;
	border:1px solid color-mix(in srgb,var(--tb-panel-border,rgba(0,0,0,.08)) 85%,transparent);
	border-radius:var(--tb-radius-card,14px);
	background:color-mix(in srgb,var(--tb-card-background,var(--tb-white)) 97%,var(--tb-primary,#5a7a5e) 3%);
	color:var(--tb-text,#26332b);
}
.tb-term-sources summary{
	display:grid;
	grid-template-columns:auto 1fr 20px;
	align-items:center;
	gap:12px;
	padding:16px 18px;
	cursor:pointer;
	list-style:none;
}
.tb-term-sources summary::-webkit-details-marker{display:none;}
.tb-term-sources__title{
	font-size:.92rem;
	font-weight:760;
	color:var(--tb-text,#26332b);
}
.tb-term-sources__hint{
	font-size:.84rem;
	line-height:1.4;
	color:var(--tb-text-muted,#5a6a5e);
}
.tb-term-sources__icon{position:relative;width:18px;height:18px;}
.tb-term-sources__icon:before,
.tb-term-sources__icon:after{
	content:"";
	position:absolute;
	left:3px;
	right:3px;
	top:8px;
	height:2px;
	border-radius:2px;
	background:var(--tb-primary,#5a7a5e);
	transition:transform .18s ease;
}
.tb-term-sources__icon:after{transform:rotate(90deg);}
.tb-term-sources[open] .tb-term-sources__icon:after{transform:rotate(0);}
.tb-term-sources__body{
	padding:0 18px 18px;
	border-top:1px solid color-mix(in srgb,var(--tb-panel-border,rgba(0,0,0,.08)) 72%,transparent);
}
.tb-term-sources__body>p{
	max-width:780px;
	margin:16px 0 14px;
	font-size:.9rem;
	line-height:1.65;
	color:var(--tb-text-muted,#5a6a5e);
}
.tb-term-sources__body ul{
	display:grid;
	gap:8px;
	margin:0;
	padding:0;
	list-style:none;
}
.tb-term-sources__body li{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:14px;
	padding:10px 12px;
	border-radius:10px;
	background:var(--tb-card-background,var(--tb-white));
}
.tb-term-sources__body a{
	font-size:.91rem;
	font-weight:680;
	line-height:1.45;
	color:var(--tb-primary-dark,var(--tb-primary,#5a7a5e));
	text-decoration-thickness:1px;
	text-underline-offset:3px;
}
.tb-term-sources__body li span{
	font-size:.78rem;
	white-space:nowrap;
	color:var(--tb-text-muted,#5a6a5e);
}
@media(max-width:760px){
	.tb-specialty-archive .tb-answer-ready,
	.tb-specialty-archive .tb-term-faq{padding:24px 19px;}
	.tb-term-sources summary{grid-template-columns:1fr 20px;}
	.tb-term-sources__hint{grid-column:1/-1;grid-row:2;}
	.tb-term-sources__icon{grid-column:2;grid-row:1;}
	.tb-term-sources__body li{align-items:flex-start;flex-direction:column;gap:3px;}
	.tb-term-sources__body li span{white-space:normal;}
}

/* =========================================================
   Content-type-specific directory guidance — rc63
   Approaches, formats, populations, insurance, languages, and
   therapist preferences answer different visitor questions while
   sharing one consistent public-page rhythm.
   ========================================================= */
.tb-attr-archive{
	--tb-service-content-width:940px;
	--tb-service-section-gap:clamp(30px,4vw,46px);
}
.tb-attr-archive__inner > :is(.tb-attr-archive__intro,.tb-answer-ready,.tb-term-faq,.tb-term-sources){
	width:min(100%,var(--tb-service-content-width));
	max-width:var(--tb-service-content-width);
	margin-left:auto;
	margin-right:auto;
}
.tb-attr-archive .tb-answer-ready{
	margin-bottom:var(--tb-service-section-gap);
	padding:clamp(28px,3.6vw,38px);
	background:color-mix(in srgb,var(--tb-card-background,var(--tb-white)) 92%,var(--tb-primary-light,#d4e5d6) 8%);
}
.tb-attr-archive .tb-answer-ready__header{max-width:760px;margin-bottom:22px;}
.tb-attr-archive .tb-answer-ready__eyebrow,
.tb-attr-archive .tb-term-faq__header>span{font-size:.74rem;letter-spacing:.1em;}
.tb-attr-archive .tb-answer-ready__header h2,
.tb-attr-archive .tb-term-faq__header h2{font-size:clamp(1.45rem,2.45vw,1.9rem);letter-spacing:-.02em;}
.tb-attr-archive .tb-answer-ready__header p,
.tb-attr-archive .tb-term-faq__header p{font-size:.98rem;line-height:1.65;}
.tb-attr-archive .tb-answer-ready__grid{gap:15px;}
.tb-attr-archive .tb-answer-ready__item{padding:20px 20px 21px;box-shadow:none;}
.tb-attr-archive .tb-answer-ready__item h3{font-size:1.02rem;line-height:1.35;}
.tb-attr-archive .tb-answer-ready__item p{font-size:.96rem;line-height:1.68;}
.tb-attr-archive .tb-term-faq{margin-top:var(--tb-service-section-gap);padding:clamp(28px,3.6vw,38px);}
.tb-attr-archive .tb-term-faq__header{max-width:760px;}
.tb-attr-archive .tb-term-faq__item summary{font-size:1rem;}
.tb-attr-archive .tb-term-faq__item p{font-size:.96rem;line-height:1.7;}
.tb-attr-archive .tb-term-sources{margin-top:20px;}
.tb-directory-archive--single .tb-attr-archive__providers{max-width:var(--tb-service-content-width);margin-left:auto;margin-right:auto;}

/* Insurance and language pages are practical access pages, not treatment claims. */
.tb-answer-ready--insurance,
.tb-answer-ready--language{
	background:color-mix(in srgb,var(--tb-card-background,var(--tb-white)) 95%,var(--tb-primary-light,#d4e5d6) 5%)!important;
}
.tb-answer-ready--insurance .tb-answer-ready__item:before,
.tb-answer-ready--language .tb-answer-ready__item:before{opacity:.5;}

/* Therapist preference pages remain intentionally lighter and noindex by default. */
.tb-attr-archive--gender .tb-answer-ready,
.tb-attr-archive--gender .tb-term-faq{box-shadow:none;}

@media(max-width:760px){
	.tb-attr-archive .tb-answer-ready,
	.tb-attr-archive .tb-term-faq{padding:24px 19px;}
}

/* ================================================================
   Practice Highlights — structured practice differentiators
   ================================================================ */
.tb-practice-highlights{padding-block:clamp(3.5rem,7vw,6.5rem)}
.tb-practice-highlights__header{max-width:760px;margin:0 auto clamp(1.75rem,4vw,3rem);text-align:center}
.tb-practice-highlights__eyebrow{margin:0 0 .55rem;color:var(--tb-accent,#426e50);font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.tb-practice-highlights__header h2{margin:0;color:var(--tb-heading,#17201c);font-size:clamp(2rem,4vw,3.25rem);line-height:1.08}
.tb-practice-highlights__header>p:last-child{max-width:660px;margin:1rem auto 0;color:var(--tb-text-muted,#5f6f65);font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.7}
.tb-practice-highlights__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.2vw,1.5rem);max-width:1120px;margin-inline:auto}
.tb-practice-highlights__grid--1{grid-template-columns:minmax(0,760px);justify-content:center}
.tb-practice-highlights__grid--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.tb-practice-highlights__grid--4{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1180px}
.tb-practice-highlight-card{display:grid;grid-template-columns:50px minmax(0,1fr);gap:1rem;align-items:start;height:100%;padding:clamp(1.25rem,2.5vw,1.7rem);border:1px solid color-mix(in srgb,var(--tb-accent,#426e50) 19%,transparent);border-radius:var(--tb-radius-card,18px);background:color-mix(in srgb,var(--tb-surface,var(--tb-white)) 94%,var(--tb-accent-soft,#eef5f0));box-shadow:0 10px 30px rgba(25,48,34,.045)}
.tb-practice-highlight-card__icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:var(--tb-accent,#426e50);color:var(--tb-white)}
.tb-practice-highlight-card__icon svg{width:25px;height:25px}
.tb-practice-highlight-card h3{margin:.05rem 0 .55rem;color:var(--tb-heading,#17201c);font-size:1.12rem;line-height:1.28}
.tb-practice-highlight-card p{margin:0;color:var(--tb-text-muted,#5f6f65);font-size:.98rem;line-height:1.65}
.tb-practice-highlight-card__link{display:inline-flex;align-items:center;gap:.25rem;margin-top:.8rem;color:var(--tb-accent-dark,#31553d);font-weight:750;text-decoration:none}
.tb-practice-highlight-card__link:hover,.tb-practice-highlight-card__link:focus-visible{text-decoration:underline;text-underline-offset:3px}
.tb-practice-highlights--about{background:var(--tb-surface-soft,#f7f3ed)}
@media(max-width:980px){.tb-practice-highlights__grid,.tb-practice-highlights__grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tb-practice-highlights__grid,.tb-practice-highlights__grid--2,.tb-practice-highlights__grid--4{grid-template-columns:1fr}.tb-practice-highlight-card{grid-template-columns:44px minmax(0,1fr)}.tb-practice-highlight-card__icon{width:44px;height:44px;border-radius:13px}}

/* ================================================================
   Featured Programs — homepage intensives, groups, and workshops
   ================================================================ */
.tb-featured-programs{padding-block:clamp(3.75rem,7vw,6.75rem)}
.tb-featured-programs__header{max-width:760px;margin:0 auto clamp(1.75rem,4vw,3rem);text-align:center}
.tb-featured-programs__eyebrow{margin:0 0 .55rem;color:var(--tb-accent,#426e50);font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.tb-featured-programs__header h2{margin:0;color:var(--tb-heading,#17201c);font-size:clamp(2rem,4vw,3.2rem);line-height:1.1}
.tb-featured-programs__header>p:last-child{max-width:680px;margin:1rem auto 0;color:var(--tb-text-muted,#5f6f65);font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.7}
.tb-featured-programs__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.2vw,1.5rem)}
.tb-featured-programs__grid--1{grid-template-columns:minmax(0,760px);justify-content:center}
.tb-featured-programs__grid--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin-inline:auto}
.tb-featured-program-card{overflow:hidden;display:flex;flex-direction:column;min-height:100%;border:1px solid color-mix(in srgb,var(--tb-accent,#426e50) 18%,transparent);border-radius:var(--tb-radius-card,18px);background:var(--tb-surface,var(--tb-white));box-shadow:0 13px 34px rgba(25,48,34,.055)}
.tb-featured-program-card__image{display:block;aspect-ratio:16/9;overflow:hidden}
.tb-featured-program-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.tb-featured-program-card__image:hover img{transform:scale(1.025)}
.tb-featured-program-card__body{display:flex;flex:1;flex-direction:column;padding:clamp(1.25rem,2.6vw,1.7rem)}
.tb-featured-program-card__meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem;color:var(--tb-text-muted,#667085);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.tb-featured-program-card__status{padding:.35rem .55rem;border-radius:999px;background:var(--tb-status-success-bg);color:var(--tb-status-success-text);letter-spacing:.03em}
.tb-featured-program-card__status--waitlist{background:var(--tb-status-warning-bg);color:var(--tb-status-warning-text)}.tb-featured-program-card__status--coming_soon{background:var(--tb-status-info-bg);color:var(--tb-status-info-text)}.tb-featured-program-card__status--inquire{background:var(--tb-status-accent-bg);color:var(--tb-status-accent-text)}.tb-featured-program-card__status--no_registration{background:var(--tb-status-success-bg);color:var(--tb-status-success-text)}.tb-featured-program-card__status--closed{background:var(--tb-status-neutral-bg);color:var(--tb-status-neutral-text)}
.tb-featured-program-card h3{margin:0;color:var(--tb-heading,#17201c);font-size:1.35rem;line-height:1.25}
.tb-featured-program-card h3 a{color:inherit;text-decoration:none}.tb-featured-program-card h3 a:hover,.tb-featured-program-card h3 a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.tb-featured-program-card__body>p{margin:.75rem 0 0;color:var(--tb-text-muted,#5f6f65);line-height:1.65}
.tb-featured-program-card__details{display:grid;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none;color:var(--tb-text-muted,#5f6f65);font-size:.9rem}.tb-featured-program-card__details li{display:grid;grid-template-columns:auto 1fr;gap:.45rem}.tb-featured-program-card__details strong{color:var(--tb-heading,#17201c)}
.tb-featured-program-card__link{display:inline-flex;align-items:center;gap:.25rem;margin-top:auto;padding-top:1.2rem;color:var(--tb-accent-dark,#31553d);font-weight:800;text-decoration:none}.tb-featured-program-card__link:hover,.tb-featured-program-card__link:focus-visible{text-decoration:underline;text-underline-offset:3px}
.tb-featured-programs__footer{display:flex;justify-content:center;margin-top:clamp(1.5rem,3vw,2.4rem)}
@media(max-width:920px){.tb-featured-programs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tb-featured-programs__grid,.tb-featured-programs__grid--2{grid-template-columns:1fr}.tb-featured-program-card__meta{align-items:flex-start;flex-direction:column}}


/* rc75 cohesion audit: linked cards communicate through layout and focused actions,
   while ordinary prose links retain the global accessible underline. */
:is(.tb-program-card,.tb-location-program-card,.tb-resource-card,.tb-clinician-card,.tb-featured-program-card,.tb-practice-highlight-card,.tb-contact-page__location-card) :is(h2,h3,h4) a,
:is(.tb-program-card,.tb-location-program-card,.tb-resource-card,.tb-clinician-card,.tb-featured-program-card,.tb-practice-highlight-card,.tb-contact-page__location-card) p a {
  text-decoration:none;
}
:is(.tb-program-card,.tb-location-program-card,.tb-resource-card,.tb-clinician-card,.tb-featured-program-card,.tb-practice-highlight-card,.tb-contact-page__location-card) :is(h2,h3,h4) a:focus-visible {
  outline:2px solid currentColor; outline-offset:3px; border-radius:3px;
}


/* rc123 — clinician no-photo branding + optional public email */
.tb-clinician-card__brand-placeholder,
.tb-staff-card__brand-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: clamp(1.5rem, 8%, 3.5rem);
  background: color-mix(in srgb, var(--tb-primary, #5a7a5e) 7%, var(--tb-surface, var(--tb-white)));
}

.tb-clinician-card__brand-placeholder-logo,
.tb-staff-card__brand-placeholder-logo {
  display: block;
  max-width: 72%;
  max-height: 62%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.tb-clinician-card__brand-placeholder--empty,
.tb-staff-card__brand-placeholder--empty {
  color: var(--tb-text-muted, #667085);
  font-size: var(--text-sm, .875rem);
  font-weight: 600;
  text-align: center;
}

.tb-clinician-card__footer-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-3, .75rem);
  flex-wrap: wrap;
}

.tb-clinician-profile__brand-placeholder {
  width: 100%;
  height: 100%;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: clamp(2rem, 10%, 4.5rem);
  background: color-mix(in srgb, var(--tb-primary, #5a7a5e) 7%, var(--tb-surface, var(--tb-white)));
}

.tb-clinician-profile__brand-placeholder-logo {
  display: block;
  max-width: 74%;
  max-height: 68%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.tb-clinician-profile__brand-placeholder--empty {
  color: var(--tb-text-muted, #667085);
  font-size: var(--text-sm, .875rem);
  font-weight: 600;
  text-align: center;
}


/* rc182 — clinician collections use Smart Layout (wrapping flex).
 * Explicit height:100% prevents align-items:stretch from consistently owning
 * the flex-line height in browsers. Auto height restores equal rows, while the
 * flex body/footer rules keep actions on a shared baseline. */
.tb-clinicians__grid.tb-smart-layout > .tb-clinician-card {
  height: auto;
  align-self: stretch;
}

/* =========================================================================
   rc124 — HOMEPAGE CLINICIAN PREVIEW CARDS
   The homepage introduces the team. The directory retains full clinical detail.
   ========================================================================= */

.tb-clinicians--homepage .tb-clinicians__grid {
  align-items: stretch;
}

.tb-clinicians--homepage .tb-clinician-card--homepage {
  /* rc182: Smart Layout is a wrapping flex container. Let the flex line own
   * the cross-axis height instead of forcing each card to its natural 100%.
   * The homepage equal-height helper supplies a shared min-height variable. */
  height: auto;
  min-height: var(--tb-home-clinician-card-height, 0px);
  align-self: stretch;
  border-radius: clamp(14px, 1.5vw, 18px);
  box-shadow: 0 8px 24px rgba(31, 48, 36, 0.055);
  transition:
    transform var(--transition-base),
    box-shadow var(--transition-base),
    border-color var(--transition-base);
}

.tb-clinicians--homepage .tb-clinician-card--homepage:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 34px rgba(31, 48, 36, 0.105);
  border-color: color-mix(in srgb, var(--tb-primary) 24%, var(--tb-border));
}

.tb-clinicians--homepage .tb-clinician-card__photo-wrap {
  aspect-ratio: 1 / 1;
}

.tb-clinicians--homepage .tb-clinician-card__body {
  padding: clamp(1rem, 1.6vw, 1.25rem);
  gap: .7rem;
}

.tb-clinicians--homepage .tb-clinician-card__name-row {
  min-height: 0;
}

.tb-clinicians--homepage .tb-clinician-card__name {
  font-size: clamp(1.05rem, 1.2vw, 1.2rem);
  margin: 0;
}

.tb-clinicians--homepage .tb-clinician-card__credentials {
  display: inline-block;
  margin-top: .18rem;
  font-size: .78rem;
  font-weight: 700;
  color: var(--tb-primary-dark, var(--tb-primary));
}

.tb-clinicians--homepage .tb-clinician-card__title {
  min-height: 1.25rem;
  margin: 0;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.tb-clinicians--homepage .tb-clinician-card__locations {
  margin-top: -.05rem;
}

.tb-clinicians--homepage .tb-clinician-card__bio {
  flex: 0 0 auto;
  margin: .15rem 0 0;
  line-height: 1.52;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.tb-clinicians--homepage .tb-clinician-card__footer {
  margin-top: auto;
  padding-top: .9rem;
  border-top: 1px solid color-mix(in srgb, var(--tb-border) 78%, transparent);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
}

.tb-clinicians--homepage .tb-clinician-card__profile-link {
  white-space: nowrap;
}

.tb-clinicians--homepage .tb-clinician-card__footer-actions {
  margin-left: auto;
}

.tb-clinicians--homepage .tb-clinician-card__cta {
  white-space: nowrap;
}

@media (min-width: 900px) {
  .tb-clinicians--homepage .tb-clinicians__grid.tb-smart-layout--max-3:not(.tb-smart-layout--single) > .tb-clinician-card {
    max-width: none;
  }
}

@media (max-width: 720px) {
  .tb-clinicians--homepage .tb-clinician-card__footer {
    align-items: stretch;
  }

  .tb-clinicians--homepage .tb-clinician-card__footer-actions {
    margin-left: 0;
  }
}

/* ============================================================
   CONTEXTUAL CLIENT PAPERWORK PROMPTS — rc132
   Read-only Site Context placements used on What to Expect and
   post-contact confirmation. Intentionally quiet and compact.
   ============================================================ */
.tb-context-intake {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 16px;
  margin-top: clamp(22px,4vw,34px);
  padding: 18px 20px;
  border: 1px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 16%,var(--tb-border,#e8e2dc));
  border-radius: 16px;
  background: color-mix(in srgb,var(--tb-primary,#5a7a5e) 5%,var(--tb-white));
}
.tb-context-intake__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tb-primary,#5a7a5e);
  background: color-mix(in srgb,var(--tb-primary,#5a7a5e) 11%,var(--tb-white));
}
.tb-context-intake__icon svg { width:21px;height:21px; }
.tb-context-intake__copy { min-width:0; }
.tb-context-intake__eyebrow {
  margin:0 0 3px;
  color:var(--tb-primary,#5a7a5e);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.tb-context-intake h3 {
  margin:0;
  color:var(--tb-heading,#2c3e35);
  font-size:clamp(1rem,1.7vw,1.16rem);
  line-height:1.3;
}
.tb-context-intake__copy > p:last-child {
  margin:5px 0 0;
  color:var(--tb-muted-on-card-action,var(--tb-on-card-action,var(--tb-text,#364039)));
  font-size:.88rem;
  line-height:1.6;
}
.tb-context-intake__button { white-space:nowrap; }
.tb-context-intake--contact {
  grid-template-columns:auto minmax(0,1fr);
  margin-top:14px;
  padding:14px 16px;
  background:rgba(255,255,255,.64);
}
.tb-context-intake--contact .tb-context-intake__icon { width:36px;height:36px;border-radius:10px; }
.tb-context-intake--contact .tb-context-intake__icon svg { width:18px;height:18px; }
.tb-section--contextual-intake { padding-top:0; }
@media(max-width:680px){
  .tb-context-intake{grid-template-columns:auto minmax(0,1fr);align-items:start;}
  .tb-context-intake__button{grid-column:1/-1;width:100%;justify-content:center;}
}


/* rc149 — intentional clinician no-photo treatment. A clinician without a
 * headshot should still look complete, but never like the practice logo is a
 * substitute for a person. */
.tb-clinician-card__avatar--branded,
.tb-staff-card__avatar--branded,
.tb-clinician-profile__avatar--branded,
.tb-about-page__team-avatar {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  box-sizing:border-box;
  color:var(--tb-primary-dark,#35523b);
  background:
    radial-gradient(circle at 74% 24%, color-mix(in srgb,var(--tb-accent,#c17f4e) 16%,transparent), transparent 34%),
    linear-gradient(145deg,color-mix(in srgb,var(--tb-primary,#5a7a5e) 17%,var(--tb-bg,var(--tb-white))),color-mix(in srgb,var(--tb-primary-light,#d4e5d6) 58%,var(--tb-bg,var(--tb-white))));
}
.tb-clinician-card__avatar--branded span,
.tb-staff-card__avatar--branded span,
.tb-clinician-profile__avatar--branded span,
.tb-about-page__team-avatar {
  font-family:var(--tb-font-heading,var(--font-heading,serif));
  font-weight:800;
  letter-spacing:-.045em;
}
.tb-clinician-card__avatar--branded span{font-size:clamp(2.7rem,6vw,4.4rem)}
.tb-staff-card__avatar--branded span{font-size:clamp(2rem,4vw,3.2rem)}
.tb-clinician-profile__avatar--branded{min-height:320px}
.tb-clinician-profile__avatar--branded span{font-size:clamp(4rem,9vw,7rem)}
.tb-about-page__team-avatar{min-height:190px;font-size:clamp(2.3rem,5vw,3.5rem)}


/* rc151 — professional credentials & supervision */
.tb-clinician-card__professional{display:flex;flex-wrap:wrap;gap:5px 8px;margin:-2px 0 9px;font-size:.72rem;line-height:1.35;color:var(--tb-on-card-action,var(--tb-text,#3d4039))}
.tb-clinician-card__professional-pill{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:var(--tb-card-surface-action,color-mix(in srgb,var(--tb-primary,#31583d) 7%,var(--tb-white)));border:1px solid var(--tb-card-border,color-mix(in srgb,var(--tb-primary,#31583d) 15%,var(--tb-border,#e5e7eb)));color:var(--tb-on-card-action,var(--tb-text,#3d4039))}
.tb-clinician-profile__license-list{display:flex;flex-direction:column;gap:4px}
.tb-clinician-profile__license-item{display:block}

/* =========================================================================
   rc161 — VISITOR-FACING CARE TEAM FILTERS
   Full Meet the Team pages get a quiet, useful filter panel by default when
   the published team actually has meaningful differences to filter.
   ========================================================================= */
.tb-team-filter-panel {
  margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
  padding: clamp(1.15rem, 2.5vw, 1.6rem);
  border: 1px solid color-mix(in srgb, var(--tb-primary, #5a7a5e) 16%, var(--tb-border, #e2e6e2));
  border-radius: 16px;
  background: color-mix(in srgb, var(--tb-surface, #f6f2ee) 72%, var(--tb-white));
  box-shadow: 0 8px 24px rgba(31, 48, 36, .045);
}

.tb-team-filter-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.15rem;
}

.tb-team-filter-panel__eyebrow {
  display: block;
  margin-bottom: .28rem;
  color: var(--tb-primary, #5a7a5e);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.tb-team-filter-panel__header h3 {
  margin: 0 0 .35rem;
  color: var(--tb-heading, #263329);
  font-size: clamp(1.12rem, 2vw, 1.35rem);
  line-height: 1.2;
}

.tb-team-filter-panel__header p {
  max-width: 66ch;
  margin: 0;
  color: var(--tb-text-muted, #687169);
  font-size: .9rem;
  line-height: 1.55;
}

.tb-team-filter-panel__controls,
.tb-team-filter-panel__more-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .85rem;
}

.tb-team-filter-field {
  display: flex;
  flex-direction: column;
  gap: .38rem;
  min-width: 0;
}

.tb-team-filter-field > span {
  color: var(--tb-heading, #263329);
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .025em;
}

.tb-team-filter-field select {
  width: 100%;
  min-height: 44px;
  border: 1px solid color-mix(in srgb, var(--tb-primary, #5a7a5e) 18%, var(--tb-border, #dfe5df));
  border-radius: 10px;
  background: var(--tb-card, var(--tb-white));
  color: var(--tb-text, #38433a);
  padding: .62rem 2.1rem .62rem .75rem;
  font: inherit;
  font-size: .86rem;
  line-height: 1.25;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.tb-team-filter-field select:focus {
  outline: none;
  border-color: var(--tb-primary, #5a7a5e);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tb-primary, #5a7a5e) 13%, transparent);
}

.tb-team-filter-panel__more {
  margin-top: .9rem;
  border-top: 1px solid color-mix(in srgb, var(--tb-border, #dfe5df) 82%, transparent);
  padding-top: .75rem;
}

.tb-team-filter-panel__more summary {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  cursor: pointer;
  color: var(--tb-primary-dark, var(--tb-primary, #5a7a5e));
  font-size: .8rem;
  font-weight: 700;
}

.tb-team-filter-panel__more-controls {
  margin-top: .75rem;
}

.tb-team-filter-panel__status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: .85rem;
  color: var(--tb-text-muted, #687169);
  font-size: .78rem;
}

.tb-team-filter-panel__clear {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--tb-primary-dark, var(--tb-primary, #5a7a5e));
  padding: .35rem .1rem;
  font: inherit;
  font-size: .78rem;
  font-weight: 750;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tb-team-filter-panel__clear:hover,
.tb-team-filter-panel__clear:focus-visible {
  color: var(--tb-heading, #263329);
}

.tb-team-filter-empty {
  margin: 0 0 1.5rem;
  padding: 1.25rem;
  border: 1px dashed color-mix(in srgb, var(--tb-primary, #5a7a5e) 28%, var(--tb-border, #dfe5df));
  border-radius: 14px;
  background: color-mix(in srgb, var(--tb-surface, #f6f2ee) 68%, var(--tb-white));
  text-align: center;
}

.tb-team-filter-empty strong,
.tb-team-filter-empty span {
  display: block;
}

.tb-team-filter-empty strong {
  color: var(--tb-heading, #263329);
  margin-bottom: .3rem;
}

.tb-team-filter-empty span {
  color: var(--tb-text-muted, #687169);
  font-size: .88rem;
  line-height: 1.55;
  margin-bottom: .5rem;
}

@media (max-width: 680px) {
  .tb-team-filter-panel__header {
    display: block;
  }

  .tb-team-filter-panel__header .tb-team-filter-panel__clear {
    margin-top: .5rem;
  }

  .tb-team-filter-panel__controls,
  .tb-team-filter-panel__more-controls {
    grid-template-columns: 1fr;
  }
}

/* =========================================================================
   rc162 — COMPACT CARE-TEAM FILTER TOOLBAR
   Keep the directory focused on people. Filters stay one click away and all
   visual states inherit the active TherapyBuilt Style Controller tokens.
   ========================================================================= */
.tb-team-filter-shell {
  margin: 0 0 clamp(1.25rem, 2.5vw, 1.9rem);
}

.tb-team-filter-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem .85rem;
  border: 1px solid var(--tb-border);
  border-radius: var(--tb-radius-card, 14px);
  background: var(--tb-card);
  color: var(--tb-on-card, var(--tb-text));
  box-shadow: var(--tb-card-shadow, 0 6px 20px rgba(0,0,0,.035));
}

.tb-team-filter-toolbar__results {
  color: var(--tb-muted-on-card, var(--tb-text-muted));
  font-size: .82rem;
  font-weight: 700;
  white-space: nowrap;
}

.tb-team-filter-toolbar__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .55rem .75rem;
}

.tb-team-filter-toolbar__toggle {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 40px;
  padding: .55rem .8rem;
  border: 1px solid var(--tb-primary);
  border-radius: var(--tb-radius-button, 9px);
  background: var(--tb-primary);
  color: var(--tb-on-primary, var(--tb-white));
  font: inherit;
  font-size: .82rem;
  font-weight: 750;
  line-height: 1;
  cursor: pointer;
  box-shadow: var(--tb-button-shadow, none);
  transition: transform .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.tb-team-filter-toolbar__toggle:hover,
.tb-team-filter-toolbar__toggle:focus-visible,
.tb-team-filter-toolbar__toggle[aria-expanded="true"] {
  background: var(--tb-primary-dark, var(--tb-primary));
  border-color: var(--tb-primary-dark, var(--tb-primary));
  color: var(--tb-on-primary-dark, var(--tb-on-primary, var(--tb-white)));
}

.tb-team-filter-toolbar__toggle:focus-visible,
.tb-team-filter-toolbar__help:focus-visible,
.tb-team-filter-toolbar__clear:focus-visible {
  outline: 3px solid var(--tb-focus-ring, color-mix(in srgb, var(--tb-primary) 28%, transparent));
  outline-offset: 2px;
}

.tb-team-filter-toolbar__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 .35rem;
  border-radius: 999px;
  background: var(--tb-on-primary, var(--tb-white));
  color: var(--tb-primary-dark, var(--tb-primary));
  font-size: .68rem;
  font-weight: 850;
}

.tb-team-filter-toolbar__help {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  color: var(--tb-primary-dark, var(--tb-primary));
  font-size: .82rem;
  font-weight: 720;
  text-decoration: none;
  text-underline-offset: 3px;
}

.tb-team-filter-toolbar__help:hover {
  text-decoration: underline;
}

.tb-team-filter-toolbar__clear {
  min-height: 40px;
  padding-inline: .25rem;
}

.tb-team-filter-panel {
  margin: .7rem 0 0;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid color-mix(in srgb, var(--tb-primary) 16%, var(--tb-border));
  border-radius: var(--tb-radius-card, 14px);
  background: var(--tb-surface, var(--tb-card));
  color: var(--tb-on-surface, var(--tb-text));
  box-shadow: var(--tb-card-shadow, 0 8px 24px rgba(0,0,0,.04));
}

.tb-team-filter-panel[hidden] {
  display: none !important;
}

.tb-team-filter-panel .tb-team-filter-field > span {
  color: var(--tb-heading-on-surface, var(--tb-heading));
}

.tb-team-filter-panel .tb-team-filter-field select {
  border-color: var(--tb-border);
  background: var(--tb-card);
  color: var(--tb-on-card, var(--tb-text));
  border-radius: var(--tb-radius-control, 10px);
}

.tb-team-filter-panel .tb-team-filter-field select:focus {
  border-color: var(--tb-primary);
  box-shadow: 0 0 0 3px var(--tb-focus-ring, color-mix(in srgb, var(--tb-primary) 14%, transparent));
}

.tb-team-filter-panel__more {
  border-top-color: var(--tb-border);
}

.tb-team-filter-panel__more summary,
.tb-team-filter-panel__clear {
  color: var(--tb-primary-dark, var(--tb-primary));
}

.tb-scroll-anchor {
  position: relative;
  top: calc(-1 * (var(--tb-sticky-header-height, 0px) + 18px));
  width: 1px;
  height: 1px;
  pointer-events: none;
}

@media (max-width: 680px) {
  .tb-team-filter-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .tb-team-filter-toolbar__actions {
    width: 100%;
    justify-content: flex-start;
  }

  .tb-team-filter-toolbar__toggle {
    flex: 0 0 auto;
  }

  .tb-team-filter-panel {
    margin-top: .6rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tb-team-filter-toolbar__toggle { transition: none; }
}


/* rc166 — language access signal on care-team surfaces. Built from actual
 * published team assignments so practices can highlight bilingual care
 * without maintaining duplicate homepage copy. */
.tb-language-access{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 14px;
  margin:0 0 clamp(1.25rem,2.8vw,2rem);
  padding:12px 15px;
  border:1px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 16%,var(--tb-border,#e5e7eb));
  border-radius:14px;
  background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 5%,var(--tb-surface,var(--tb-white)));
  color:var(--tb-text,#2c2c2a);
}
.tb-language-access__icon{
  width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;color:var(--tb-primary,#5a7a5e);
  background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 11%,var(--tb-white));
  flex:0 0 auto;
}
.tb-language-access__copy{display:flex;flex-direction:column;gap:1px;min-width:145px;}
.tb-language-access__copy strong{font-size:.82rem;line-height:1.25;color:var(--tb-heading,var(--tb-text,#2c2c2a));}
.tb-language-access__copy span{font-size:.76rem;color:var(--tb-text-muted,#66736a);}
.tb-language-access__links{display:flex;flex-wrap:wrap;gap:7px;margin-left:auto;}
.tb-language-access__links a,.tb-language-access__links span{
  display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;
  font-size:.76rem;font-weight:750;text-decoration:none;
  color:var(--tb-primary-dark,var(--tb-primary,#5a7a5e));
  background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 8%,var(--tb-white));
  border:1px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 17%,var(--tb-border,#e5e7eb));
}
.tb-language-access__links a:hover{background:var(--tb-primary,#5a7a5e);color:var(--tb-on-primary,var(--tb-white));}
@media(max-width:620px){.tb-language-access__links{width:100%;margin-left:48px;}}

/* rc173 — language access belongs with care-team discovery, not as a competing full-width section. */
.tb-clinicians__directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.tb-clinicians__directory-heading-copy{min-width:0;}
.tb-language-access--compact{display:inline-flex;align-items:center;gap:8px;width:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none;}
.tb-language-access--compact .tb-language-access__label{font-size:.76rem;font-weight:700;color:var(--tb-text-muted,#66736a);white-space:nowrap;}
.tb-language-access--compact .tb-language-access__links{display:flex;gap:7px;margin:0;}
.tb-language-access--compact .tb-language-access__links a,.tb-language-access--compact .tb-language-access__links span{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 24%,var(--tb-border,#d7ddd8));border-radius:999px;background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 5%,var(--tb-surface,var(--tb-white)));color:var(--tb-primary-dark,var(--tb-primary,#5a7a5e));font-size:.76rem;font-weight:750;line-height:1;text-decoration:none;}
.tb-language-access--compact .tb-language-access__links a:hover,.tb-language-access--compact .tb-language-access__links a:focus-visible{background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 12%,var(--tb-surface,var(--tb-white)));color:var(--tb-primary-dark,var(--tb-primary,#5a7a5e));}
@media(max-width:680px){.tb-clinicians__directory-heading{align-items:flex-start}.tb-language-access--compact{width:100%}.tb-language-access--compact .tb-language-access__links{width:auto;margin:0}}


/* rc183 — separate the overflow action from the clinician-card grid. */
.tb-attr-archive__providers-more,
.tb-specialty-archive__providers-more {
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

/* ========================================================================== 
   Plain-language info helpers
   Accessible hover / focus / tap cards for credentials, roles and services.
   The card uses the browser Popover top layer when available so it is not
   clipped by rounded cards or overflow containers.
   ========================================================================== */
.tb-info-helper{position:relative;display:inline-flex;align-items:center;gap:.18em;max-width:100%;vertical-align:baseline;line-height:inherit}.tb-info-helper__term{display:inline}.tb-info-helper__trigger{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;min-width:24px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--tb-brand-on-bg,var(--tb-primary,#5a7a5e));cursor:help;vertical-align:middle;box-shadow:none;transition:color .16s ease,transform .16s ease}.tb-info-helper__trigger::before{content:"";position:absolute;width:16px;height:16px;border-radius:999px;background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 7%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tb-primary,#5a7a5e) 18%,transparent);transition:background .16s ease,box-shadow .16s ease}.tb-info-helper__trigger svg{position:relative;z-index:1;width:10px;height:10px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.tb-info-helper__trigger .tb-info-helper__dot{fill:currentColor;stroke:none}.tb-info-helper__trigger:hover,.tb-info-helper__trigger:focus-visible,.tb-info-helper.is-open .tb-info-helper__trigger{color:var(--tb-button-text,var(--tb-white));outline:0}.tb-info-helper__trigger:hover::before,.tb-info-helper__trigger:focus-visible::before,.tb-info-helper.is-open .tb-info-helper__trigger::before{background:var(--tb-primary,#5a7a5e);box-shadow:0 0 0 2px color-mix(in srgb,var(--tb-primary,#5a7a5e) 13%,transparent)}.tb-info-helper__trigger:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--tb-primary,#5a7a5e) 24%,transparent)}.tb-info-helper__trigger:active{transform:scale(.95)}.tb-info-helper--compact{gap:.12em}.tb-info-helper--compact .tb-info-helper__trigger{width:24px;height:24px;min-width:24px}.tb-info-helper--compact .tb-info-helper__trigger::before{width:15px;height:15px}.tb-info-helper--compact .tb-info-helper__trigger svg{width:9px;height:9px}.tb-info-helper--icon-only{margin-left:.18em}.tb-info-helper--icon-only .tb-info-helper__trigger{position:relative;top:.02em}.tb-info-helper__card{box-sizing:border-box;width:min(380px,calc(100vw - 32px));max-width:calc(100vw - 32px);margin:0;padding:17px 18px 16px;border:1px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 16%,var(--tb-border,#d9dfdb));border-radius:var(--tb-radius-card,var(--radius-xl,16px));background:color-mix(in srgb,var(--tb-card-background,var(--tb-surface,var(--tb-white))) 97%,var(--tb-primary,#5a7a5e) 3%);color:var(--tb-text,#2c3e35);box-shadow:var(--tb-card-shadow,0 18px 46px rgba(31,48,36,.16));font-family:var(--tb-body-font,inherit);font-size:.86rem;font-weight:400;line-height:1.52;text-align:left;letter-spacing:normal;text-transform:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,transform .14s ease;transform:translateY(4px);z-index:2147483000}.tb-info-helper__card[popover]{position:fixed;inset:auto}.tb-info-helper__card::backdrop{background:transparent}.tb-info-helper.is-open .tb-info-helper__card,.tb-info-helper__card:popover-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.tb-info-helper__eyebrow{display:block;margin:0 0 5px;color:var(--tb-primary,#5a7a5e);font-size:.68rem;font-weight:800;letter-spacing:.075em;line-height:1.25;text-transform:uppercase}.tb-info-helper__title{display:block;margin:0;color:var(--tb-heading-color,var(--tb-text,#243128));font-family:var(--tb-heading-font,inherit);font-size:1rem;font-weight:800;line-height:1.3;letter-spacing:-.01em}.tb-info-helper__summary{display:block;margin-top:7px;color:var(--tb-text-muted,#5f6f66);font-size:.84rem;line-height:1.55}.tb-info-helper__details-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:12px 0 0;padding:9px 0 0;border:0;border-top:1px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 14%,var(--tb-border,#d9dfdb));background:transparent;color:var(--tb-primary-dark,var(--tb-primary,#5a7a5e));font:inherit;font-size:.76rem;font-weight:800;line-height:1.35;text-align:left;cursor:pointer}.tb-info-helper__details-toggle span{display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 9%,transparent);font-size:1rem;font-weight:500;transition:transform .16s ease}.tb-info-helper__details-toggle[aria-expanded="true"] span{transform:rotate(45deg)}.tb-info-helper__details{display:grid;gap:9px;margin-top:10px;padding-top:1px}.tb-info-helper__details[hidden]{display:none!important}.tb-info-helper__detail{display:grid;gap:2px}.tb-info-helper__detail b{color:var(--tb-text,#2c3e35);font-size:.71rem;font-weight:800;letter-spacing:.015em}.tb-info-helper__detail>span{color:var(--tb-text-muted,#5f6f66);font-size:.78rem;line-height:1.48}.tb-info-helper__meta{display:block;margin-top:1px;padding:7px 9px;border-radius:var(--tb-radius-control,9px);background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 7%,transparent);color:var(--tb-text-muted,#5f6f66);font-size:.69rem;font-weight:700}.tb-info-helper__note{display:block;color:var(--tb-text-muted,#6a766f);font-size:.68rem;line-height:1.45}.tb-info-helper__source{display:inline-flex;margin-top:10px;color:var(--tb-primary-dark,var(--tb-primary,#5a7a5e));font-size:.71rem;font-weight:750;text-decoration:underline;text-underline-offset:2px}.tb-info-helper__source:hover{color:var(--tb-primary,#5a7a5e)}@media(max-width:600px){.tb-info-helper__trigger,.tb-info-helper--compact .tb-info-helper__trigger{width:28px;height:28px;min-width:28px}.tb-info-helper__card{width:min(360px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:16px}.tb-info-helper__summary{font-size:.82rem}}@media(prefers-reduced-motion:reduce){.tb-info-helper__trigger,.tb-info-helper__card,.tb-info-helper__details-toggle span{transition:none}}
.tb-term-with-helper{display:inline-flex;align-items:center;gap:.15rem;max-width:100%}
.tb-dir-compact-item:has(> .tb-info-helper--icon-only){display:grid}.tb-dir-compact-item:has(> .tb-info-helper--icon-only)>.tb-dir-compact-item__link,.tb-dir-compact-item:has(> .tb-info-helper--icon-only)>.tb-info-helper--icon-only{grid-area:1/1}.tb-dir-compact-item:has(> .tb-info-helper--icon-only)>.tb-info-helper--icon-only{align-self:center;justify-self:end;margin:0 48px 0 0;z-index:3}

/* Plain-language glossary: concise info cards + indexable education guides */
.tb-info-helper__learn{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 14%,var(--tb-border,#d9dfdb));color:var(--tb-primary-dark,var(--tb-primary,#5a7a5e));font-size:.76rem;font-weight:800;line-height:1.35;text-decoration:none}.tb-info-helper__learn:hover,.tb-info-helper__learn:focus-visible{color:var(--tb-primary,#5a7a5e);text-decoration:underline;text-underline-offset:3px}.tb-info-helper__learn span{font-size:1rem;line-height:1}.tb-glossary-guide__article{display:grid;gap:0}.tb-glossary-guide__definition{padding:clamp(22px,4vw,38px);border:1px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 14%,var(--tb-border,#d9dfdb));border-radius:var(--tb-radius-card,var(--radius-xl,16px));background:color-mix(in srgb,var(--tb-card-background,var(--tb-surface,var(--tb-white))) 96%,var(--tb-primary,#5a7a5e) 4%);box-shadow:var(--tb-card-shadow,0 16px 40px rgba(31,48,36,.08))}.tb-glossary-guide__definition>span,.tb-glossary-guide__practice-head .tb-section-intro__eyebrow,.tb-glossary-guide__cta .tb-section-intro__eyebrow{display:block;margin-bottom:7px;color:var(--tb-primary,#5a7a5e);font-size:.72rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.tb-glossary-guide__definition h2,.tb-glossary-guide__section h2,.tb-glossary-guide__practice-head h2,.tb-glossary-guide__cta h2{color:var(--tb-heading-color,var(--tb-text,#243128));font-family:var(--tb-heading-font,inherit)}.tb-glossary-guide__definition h2{margin:0 0 10px;font-size:clamp(1.45rem,3vw,2rem)}.tb-glossary-guide__definition p{margin:0;color:var(--tb-text,#2c3e35);font-size:clamp(1rem,2vw,1.12rem);line-height:1.75}.tb-glossary-guide__section{padding:30px 4px;border-bottom:1px solid var(--tb-border,#e1e6e3)}.tb-glossary-guide__section h2{margin:0 0 10px;font-size:clamp(1.25rem,2.5vw,1.55rem)}.tb-glossary-guide__section p{margin:0;color:var(--tb-text-muted,#5f6f66);font-size:1rem;line-height:1.75}.tb-glossary-guide__context{margin-top:12px!important;padding:10px 12px;border-radius:var(--tb-radius-control,10px);background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 7%,transparent);font-size:.88rem!important}.tb-glossary-guide__takeaway{margin-top:8px;padding:24px;border:0;border-radius:var(--tb-radius-card,var(--radius-xl,16px));background:color-mix(in srgb,var(--tb-secondary,var(--tb-primary,#5a7a5e)) 9%,var(--tb-surface,var(--tb-white)))}.tb-glossary-guide__source{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding-top:20px;color:var(--tb-text-muted,#66746c);font-size:.78rem}.tb-glossary-guide__source a{color:var(--tb-primary-dark,var(--tb-primary,#5a7a5e));font-weight:750}.tb-glossary-guide__practice-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}.tb-glossary-guide__practice-head h2,.tb-glossary-guide__cta h2{margin:0 0 8px;font-size:clamp(1.5rem,3vw,2.05rem)}.tb-glossary-guide__practice-head p,.tb-glossary-guide__cta p{max-width:700px;margin:0;color:var(--tb-text-muted,#5f6f66);line-height:1.65}.tb-glossary-guide__clinicians{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tb-glossary-guide__clinician{overflow:hidden;border:1px solid var(--tb-border,#dfe5e1);border-radius:var(--tb-radius-card,var(--radius-xl,16px));background:var(--tb-card-background,var(--tb-surface,var(--tb-white)));box-shadow:var(--tb-card-shadow,0 10px 28px rgba(31,48,36,.08))}.tb-glossary-guide__clinician-link{display:grid;grid-template-columns:88px minmax(0,1fr);min-height:88px;color:inherit;text-decoration:none}.tb-glossary-guide__clinician-photo{width:88px;height:100%;min-height:88px;object-fit:cover}.tb-glossary-guide__clinician-body{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:13px 14px}.tb-glossary-guide__clinician-body strong{color:var(--tb-heading-color,var(--tb-text,#243128));font-family:var(--tb-heading-font,inherit);font-size:1rem}.tb-glossary-guide__clinician-body span{color:var(--tb-text-muted,#66746c);font-size:.76rem}.tb-glossary-guide__clinician-link:hover strong{text-decoration:underline;text-underline-offset:3px}.tb-glossary-guide__cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(24px,5vw,42px);border-radius:var(--tb-radius-card,var(--radius-xl,16px));background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 9%,var(--tb-surface,var(--tb-white)));border:1px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 15%,var(--tb-border,#d9dfdb))}@media(max-width:850px){.tb-glossary-guide__clinicians{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-glossary-guide__practice-head,.tb-glossary-guide__cta{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.tb-glossary-guide__clinicians{grid-template-columns:1fr}.tb-glossary-guide__clinician-link{grid-template-columns:76px minmax(0,1fr)}.tb-glossary-guide__clinician-photo{width:76px;min-height:76px}.tb-glossary-guide__definition{padding:22px}.tb-glossary-guide__section{padding:24px 2px}}

/* TherapyBuilt 0.7.10 — richer plain-language educational guides. */
.tb-glossary-guide__definition p + p,.tb-glossary-guide__section p + p{margin-top:14px}.tb-glossary-guide__section--lead{padding:clamp(24px,4vw,40px)}.tb-glossary-guide__related-section{padding-top:0}.tb-glossary-guide__related-head{margin-bottom:20px}.tb-glossary-guide__related-head h2,.tb-glossary-guide__sources h2{margin:0 0 8px;color:var(--tb-heading-color,var(--tb-text,#243128));font-family:var(--tb-heading-font,inherit);font-size:clamp(1.45rem,3vw,1.95rem)}.tb-glossary-guide__related-head p,.tb-glossary-guide__sources-copy>p{max-width:720px;margin:0;color:var(--tb-text-muted,#5f6f66);line-height:1.7}.tb-glossary-guide__related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tb-glossary-guide__related-card{display:flex;min-height:142px;flex-direction:column;align-items:flex-start;padding:20px;border:1px solid var(--tb-border,#dfe5e1);border-radius:var(--tb-radius-card,var(--radius-xl,16px));background:var(--tb-card-background,var(--tb-surface,var(--tb-white)));box-shadow:var(--tb-card-shadow,0 10px 28px rgba(31,48,36,.06));color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tb-glossary-guide__related-card:hover,.tb-glossary-guide__related-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tb-primary,#5a7a5e) 35%,var(--tb-border,#dfe5e1));box-shadow:0 16px 32px rgba(31,48,36,.1)}.tb-glossary-guide__related-card>span{color:var(--tb-primary,#5a7a5e);font-size:.7rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase}.tb-glossary-guide__related-card strong{margin-top:8px;color:var(--tb-heading-color,var(--tb-text,#243128));font-family:var(--tb-heading-font,inherit);font-size:1.12rem}.tb-glossary-guide__related-card small{margin-top:3px;color:var(--tb-text-muted,#66746c);line-height:1.45}.tb-glossary-guide__related-card em{margin-top:auto;padding-top:16px;color:var(--tb-primary-dark,var(--tb-primary,#5a7a5e));font-size:.82rem;font-style:normal;font-weight:800}.tb-glossary-guide__sources-section{padding-top:0}.tb-glossary-guide__sources{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr);gap:30px;padding:clamp(24px,4vw,36px);border:1px solid var(--tb-border,#dfe5e1);border-radius:var(--tb-radius-card,var(--radius-xl,16px));background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 4%,var(--tb-surface,var(--tb-white)))}.tb-glossary-guide__source-links{display:flex;flex-direction:column;gap:9px}.tb-glossary-guide__source-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 14%,var(--tb-border,#dfe5e1));border-radius:var(--tb-radius-control,10px);background:var(--tb-card-background,var(--tb-surface,var(--tb-white)));color:var(--tb-primary-dark,var(--tb-primary,#5a7a5e));font-weight:750;text-decoration:none}.tb-glossary-guide__source-links a:hover,.tb-glossary-guide__source-links a:focus-visible{text-decoration:underline;text-underline-offset:3px}.tb-glossary-guide__reviewed{margin-top:14px;font-size:.82rem;color:var(--tb-text-muted,#66746c)}@media(max-width:720px){.tb-glossary-guide__related-grid{grid-template-columns:1fr}.tb-glossary-guide__sources{grid-template-columns:1fr}}
.tb-glossary-guide__article-reviewed{margin:18px 4px 0;color:var(--tb-text-muted,#66746c);font-size:.78rem}


/* TherapyBuilt 0.7.11 — glossary guides use shared public-site rhythm and CTA components. */
.tb-glossary-guide__article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;margin:18px 4px 0;color:var(--tb-text-muted,#66746c);font-size:.78rem;line-height:1.5}
.tb-glossary-guide__context{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 10%,var(--tb-border,#dfe5e1));border-radius:var(--tb-radius-control,10px);background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 6%,var(--tb-surface,var(--tb-white)));color:var(--tb-text-muted,#5f6f66);font-size:.9rem;line-height:1.6}
.tb-glossary-guide__related-head.tb-section-intro,.tb-glossary-guide__sources-copy.tb-section-intro,.tb-glossary-guide__practice-head .tb-section-intro{margin:0;text-align:left}
.tb-glossary-guide__related-head .tb-section-intro__heading,.tb-glossary-guide__sources-copy .tb-section-intro__heading,.tb-glossary-guide__practice-head .tb-section-intro__heading{margin-top:0}
.tb-glossary-guide__related-head .tb-section-intro__body,.tb-glossary-guide__sources-copy .tb-section-intro__body,.tb-glossary-guide__practice-head .tb-section-intro__body{margin-left:0;margin-right:0}
.tb-glossary-guide__sources{box-shadow:var(--tb-card-shadow,0 10px 28px rgba(31,48,36,.05))}

/* Secure clinical handoff — keep EHR transitions intentional and trustworthy. */
.tb-secure-handoff{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.45rem;
}
.tb-secure-handoff__external{
  display:inline-block;
  margin-left:.18em;
  font-size:.9em;
  line-height:1;
  transform:translateY(-.02em);
}
.tb-secure-handoff__note{
  margin:0;
  color:var(--tb-text-muted,#667085);
  font-size:var(--text-xs,.76rem);
  line-height:1.35;
  font-weight:550;
}
.tb-secure-handoff__note--hero{
  display:block;
  margin-top:.35rem;
  color:inherit;
  opacity:.82;
  font-size:.72rem;
  line-height:1.3;
}
.tb-secure-handoff--profile .tb-secure-handoff__note{
  max-width:34rem;
}

/* 0.7.30-rc200 — native contextual Forms & Documents links. Compact by
 * design: related paperwork should assist the page, not become another card
 * grid or compete with the primary appointment/client-portal action. */
.tb-related-forms {
  display:grid;
  gap:18px;
  padding:clamp(20px,3vw,28px);
  border:1px solid var(--tb-card-border,var(--tb-border,#d8d4cc));
  border-radius:var(--tb-radius-panel,var(--tb-radius-lg,18px));
  box-shadow:var(--tb-card-shadow,0 10px 30px rgba(31,45,36,.06));
}
.tb-related-forms__intro { display:flex;align-items:flex-start;gap:14px; }
.tb-related-forms__icon {
  display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;
  border-radius:12px;background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 10%,transparent);
  color:var(--tb-primary,#5a7a5e);
}
.tb-related-forms__icon svg { width:21px;height:21px; }
.tb-related-forms__eyebrow { margin:0 0 5px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--tb-primary,#5a7a5e); }
.tb-related-forms__title { margin:0 0 6px;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.25;color:var(--tb-heading-on-card-action,var(--tb-on-card-action,var(--tb-heading,#26362d))); }
.tb-related-forms__body { margin:0;line-height:1.6;color:var(--tb-muted-on-card-action,var(--tb-on-card-action,var(--tb-text,#3d4039))); }
.tb-related-forms__list { list-style:none;margin:0;padding:0;border-top:1px solid var(--tb-card-border,var(--tb-border,#d8d4cc)); }
.tb-related-forms__list li { margin:0;border-bottom:1px solid var(--tb-card-border,var(--tb-border,#d8d4cc)); }
.tb-related-forms__item { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;text-decoration:none;color:var(--tb-on-card-action,var(--tb-text,#26362d)); }
.tb-related-forms__item > span:first-child { display:grid;gap:3px;min-width:0; }
.tb-related-forms__item strong { color:var(--tb-heading-on-card-action,var(--tb-on-card-action,var(--tb-heading,#26362d)));font-size:.93rem;line-height:1.35; }
.tb-related-forms__item small { color:var(--tb-muted-on-card-action,var(--tb-on-card-action,var(--tb-text,#3d4039)));font-size:.8rem;line-height:1.45; }
.tb-related-forms__arrow { flex:0 0 auto;font-size:1.1rem;color:var(--tb-primary,#5a7a5e);transition:transform .15s ease; }
.tb-related-forms__item:hover .tb-related-forms__arrow,.tb-related-forms__item:focus-visible .tb-related-forms__arrow { transform:translateX(3px); }
.tb-related-forms__item:focus-visible { outline:3px solid color-mix(in srgb,var(--tb-focus-ring,var(--tb-primary,#5a7a5e)) 35%,transparent);outline-offset:3px;border-radius:6px; }
.tb-related-forms__footer { display:flex;align-items:center;justify-content:space-between;gap:18px; }
.tb-related-forms__footer p { margin:0;max-width:650px;font-size:.78rem;line-height:1.55;color:var(--tb-muted-on-card-action,var(--tb-on-card-action,var(--tb-text,#3d4039))); }
.tb-related-forms__footer p strong { color:var(--tb-on-card-action,var(--tb-text,#26362d)); }
@media (max-width:700px) {
  .tb-related-forms__footer { align-items:flex-start;flex-direction:column; }
  .tb-related-forms__footer .tb-btn { width:100%;justify-content:center; }
}

/* 0.7.30 — contextual packets take priority over duplicate component forms. */
.tb-related-forms__item--packet{border-color:color-mix(in srgb,var(--tb-primary,#5a7a5e) 30%,var(--tb-border,#e8e2dc));background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 6%,var(--tb-card-bg,var(--tb-white)))}.tb-related-forms__packet-badge{display:inline-flex;margin:0 7px 4px 0;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 12%,var(--tb-white));color:var(--tb-primary,#5a7a5e);font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.tb-related-forms__subheading{list-style:none;padding:8px 2px 2px;color:var(--tb-text-muted,#5a6a5e);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
/* Shared “Not sure where to start?” section frame used by Services and directory pages. */
.tb-services-notsure{padding:clamp(32px,5vw,56px) 0;}
.tb-services-notsure__inner{
  background:var(--tb-surface,#f6f2ee);
  border:1px solid var(--tb-border,#e8e2db);
  border-radius:16px;
  padding:clamp(28px,4vw,48px);
  text-align:center;
}
.tb-services-notsure__eyebrow{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--tb-primary,#5a7a5e);
  margin:0 0 10px;
}

