/* TherapyBuilt Specialty / Services Directory frontend styles.
 * Moved out of class-tb-specialty.php in 0.4.0 so the large component stays maintainable.
 */

.tb-specialty-archive{
	padding:clamp(50px,7vw,88px) clamp(20px,5vw,64px);
	background:var(--tb-directory-background,linear-gradient(180deg,color-mix(in srgb,var(--tb-bg,#f6f0ec) 86%,var(--tb-white)) 0%,color-mix(in srgb,var(--tb-surface,#f6f2ee) 64%,var(--tb-white)) 100%));
}
.tb-specialty-archive__inner{max-width:1100px;margin:0 auto;}
.tb-specialty-archive__intro{
	max-width:940px;
	margin:0 auto clamp(30px,4vw,44px);
	padding:clamp(30px,4vw,46px) clamp(28px,5vw,54px);
	background:var(--tb-panel-background,var(--tb-white));
	border:var(--tb-card-border-width,1px) solid var(--tb-panel-border,color-mix(in srgb,var(--tb-primary,#5a7a5e) 15%,rgba(0,0,0,.08)));
	border-left:5px solid var(--tb-primary,#5a7a5e);
	border-radius:var(--tb-radius-panel,18px);
	box-shadow:var(--tb-card-shadow,0 16px 42px rgba(31,48,36,.08));
	text-align:left;
	display:flow-root;
	position:relative;
	z-index:1;
}
.tb-specialty-archive__intro-label,
.tb-specialty-archive__providers-label{
	display:block;
	margin:0 0 15px;
	font-size:.72rem;
	font-weight:800;
	line-height:1.2;
	letter-spacing:.13em;
	text-transform:uppercase;
	color:var(--tb-primary,#5a7a5e);
}
.tb-specialty-archive__body{font-size:clamp(.94rem,1.4vw,1.02rem);line-height:1.78;color:var(--tb-text-muted,#5a6a5e);margin:0 0 1.05em;}
.tb-specialty-archive__body--lead{font-size:clamp(1.04rem,1.7vw,1.16rem);line-height:1.68;font-weight:500;color:var(--tb-text,#2c3e35);}
.tb-specialty-archive__body:last-child{margin-bottom:0;}
.tb-specialty-archive__providers{position:relative;padding:clamp(28px,4vw,46px);border:var(--tb-card-border-width,1px) solid var(--tb-panel-border,rgba(34,55,41,.09));border-radius:var(--tb-radius-panel,22px);background:var(--tb-panel-background,color-mix(in srgb,var(--tb-primary,#5a7a5e) 3%,var(--tb-white)));box-shadow:var(--tb-card-shadow,0 14px 38px rgba(31,48,36,.065));}
.tb-specialty-archive__providers-heading{margin:0 0 clamp(22px,3vw,32px);}
.tb-specialty-archive__providers-label{margin-bottom:7px;}
.tb-specialty-archive__grid-heading{position:relative;z-index:2;clear:both;font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:700;line-height:1.2;color:var(--tb-text,#2c3e35);letter-spacing:-.025em;margin:0;}
.tb-specialty-archive__empty{text-align:center;padding:44px 20px;color:var(--tb-text-muted,#5a6a5e);font-size:1rem;line-height:1.6;}
.tb-specialty-archive__match{max-width:680px;margin:0 auto;text-align:center;padding:clamp(26px,4vw,40px);border:1px solid var(--tb-border,#e5e7eb);border-radius:var(--tb-radius-card,14px);background:var(--tb-card-background,var(--tb-white));}
.tb-specialty-archive__match h2{margin:0 0 10px;font-size:clamp(1.25rem,2.5vw,1.7rem);color:var(--tb-heading,#26332b);}
.tb-specialty-archive__match p{margin:0 auto 20px;max-width:560px;color:var(--tb-text-muted,#5a6a5e);line-height:1.65;}
.tb-specialty-archive__inline-cta{margin:1.4em 0 1.1em;}
.tb-specialty-archive__jump-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--tb-radius-button,99px);font-size:.875rem;font-weight:600;color:var(--tb-primary,#5a7a5e);border:2px solid var(--tb-primary,#5a7a5e);text-decoration:none;transition:all .15s ease;}
.tb-specialty-archive__jump-btn:hover{background:var(--tb-primary,#5a7a5e);color:var(--tb-bg,#faf9f6);}
.tb-specialty-archive__jump-btn svg{transition:transform .2s ease;}
.tb-specialty-archive__jump-btn:hover svg{transform:translateY(2px);}
@media(max-width:600px){.tb-specialty-archive{padding:38px 18px 48px;}.tb-specialty-archive__intro{padding:26px 22px;border-radius:var(--tb-radius-panel,15px);border-left-width:4px;}.tb-specialty-archive__providers{padding:24px 18px;border-radius:var(--tb-radius-panel,17px);}}

/* ================================================================
   Services / Directory Page
   ================================================================ */

/* ---- Location + telehealth signal strip ----------------------- */
.tb-dir-location-strip{
	background:var(--tb-primary-light,#d4e5d6);
	border-bottom:1px solid var(--tb-border,#e8e2db);
	padding:10px 0;
}
.tb-dir-location-strip__inner{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:20px;
}
.tb-dir-location-strip__item{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-size:.78rem;
	font-weight:600;
	color:var(--tb-on-primary-light,var(--tb-text,#3d4039));
	text-decoration:none;
}
.tb-dir-location-strip__item--telehealth{
	color:var(--tb-primary,#5a7a5e);
}
.tb-dir-location-strip__item--fees,
.tb-dir-location-strip__item--sliding{
	color:var(--tb-primary,#5a7a5e);
	text-decoration:underline;
	text-decoration-color:transparent;
	transition:text-decoration-color .15s ease;
}
.tb-dir-location-strip__item--fees:hover,
.tb-dir-location-strip__item--sliding:hover{
	text-decoration-color:var(--tb-primary,#5a7a5e);
}

/* ---- Filter bar ------------------------------------------------ */
.tb-dir-filter{
	background:var(--tb-surface,#f6f2ee);
	border-bottom:1px solid var(--tb-border,#e8e2db);
	padding:clamp(20px,3vw,28px) 0;
	position:sticky;
	top:0;
	z-index:10;
}
.tb-dir-filter__inner{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px;
}
.tb-dir-search-block{max-width:780px;margin:0 0 16px;}
.tb-dir-search__label{display:block;margin:0 0 7px;font-size:.78rem;font-weight:800;letter-spacing:.035em;color:var(--tb-heading,#2a2e2a);}
.tb-dir-search{position:relative;display:flex;align-items:center;width:100%;margin:0;background:var(--tb-card-bg,var(--tb-white));border:2px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 42%,var(--tb-border,#e8e2db));border-radius:13px;box-shadow:0 5px 16px rgba(30,51,38,.06);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;}
.tb-dir-search:focus-within{border-color:var(--tb-primary,#5a7a5e);box-shadow:0 0 0 4px color-mix(in srgb,var(--tb-primary,#5a7a5e) 13%,transparent),0 7px 20px rgba(30,51,38,.08);transform:translateY(-1px);}
.tb-dir-search__icon{position:absolute;left:16px;color:var(--tb-primary,#5a7a5e);pointer-events:none;}
.tb-dir-search .tb-dir-search__input{width:100%;min-height:56px;padding:12px 78px 12px 50px;border:0;background:transparent;color:var(--tb-text,#26332b);font:inherit;font-size:1rem;outline:0;box-shadow:none;}
.tb-dir-search .tb-dir-search__input:focus,.tb-dir-search .tb-dir-search__input:focus-visible{outline:0;box-shadow:none;}
.tb-dir-search__input::placeholder{color:var(--tb-text-muted,#737b75);}
.tb-dir-search__clear{position:absolute;right:11px;border:0;background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 9%,transparent);border-radius:99px;color:var(--tb-primary,#5a7a5e);font-size:.78rem;font-weight:750;cursor:pointer;padding:7px 10px;}
.tb-dir-search__status{min-height:1.2em;margin:7px 2px 0;font-size:.78rem;font-weight:650;color:var(--tb-text-muted,#6b7069);}
.tb-dir-filter__prompt{
	font-size:.8rem;
	font-weight:700;
	color:var(--tb-muted-on-surface,var(--tb-text-muted,#6b7069));
	margin:0;
	white-space:nowrap;
	flex-shrink:0;
}
.tb-dir-filter__pills{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
.tb-dir-filter__pill{
	display:inline-flex;
	align-items:center;
	padding:7px 16px;
	border-radius:99px;
	font-size:.82rem;
	font-weight:600;
	border:2px solid var(--tb-border,#e8e2db);
	background:var(--tb-card-bg,var(--tb-white));
	color:var(--tb-muted-on-card,var(--tb-text,#3d4039));
	cursor:pointer;
	transition:all .15s ease;
	white-space:nowrap;
	font-family:var(--tb-font-body,system-ui,sans-serif);
	text-decoration:none;
}
.tb-dir-filter__pill:hover{
	border-color:var(--tb-primary,#5a7a5e);
	color:var(--tb-primary,#5a7a5e);
}
.tb-dir-filter__pill--active{
	background:var(--tb-primary,#5a7a5e);
	border-color:var(--tb-primary,#5a7a5e);
	color:var(--tb-bg,#faf9f6);
}
.tb-dir-filter__pill--team{
	gap:6px;
	border-color:var(--tb-primary-light,#d4e5d6);
	color:var(--tb-primary,#5a7a5e);
	background:var(--tb-primary-light,#d4e5d6);
}
.tb-dir-filter__pill--team:hover{
	background:var(--tb-primary,#5a7a5e);
	border-color:var(--tb-primary,#5a7a5e);
	color:var(--tb-bg,#faf9f6);
}

/* ---- Directory sections --------------------------------------- */
.tb-dir-section{
	padding:clamp(48px,6vw,72px) 0;
}
.tb-dir-section--surface{
	background:var(--tb-surface,#f6f2ee);
}
.tb-dir-section__header{
	margin-bottom:clamp(24px,4vw,36px);
}
.tb-dir-section__title{
	font-size:clamp(1.1rem,2.5vw,1.5rem);
	font-weight:700;
	color:var(--tb-heading,#2a2e2a);
	letter-spacing:-.02em;
	margin:0 0 8px;
}
.tb-dir-section__sub{
	font-size:.9rem;
	line-height:1.65;
	color:var(--tb-muted-on-bg,var(--tb-text-muted,#6b7069));
	margin:0;
	max-width:600px;
}
.tb-dir-empty{
	text-align:center;
	color:var(--tb-muted-on-bg,var(--tb-text-muted,#6b7069));
	padding:40px 0;
	font-size:.9rem;
}

/* ---- Specialty groups ----------------------------------------- */
.tb-dir-group{
	margin-bottom:clamp(36px,5vw,56px);
}
.tb-dir-group:last-child{
	margin-bottom:0;
}
.tb-dir-group__header{
	display:flex;
	align-items:baseline;
	flex-wrap:wrap;
	gap:10px 16px;
	margin-bottom:16px;
	padding-bottom:12px;
	border-bottom:1px solid var(--tb-border,#e8e2db);
}
.tb-dir-group__title{
	font-size:clamp(1rem,2vw,1.2rem);
	font-weight:700;
	color:var(--tb-heading,#2a2e2a);
	margin:0;
	letter-spacing:-.01em;
}
.tb-dir-group__meta{
	display:flex;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
}
.tb-dir-group__count{
	font-size:.78rem;
	font-weight:600;
	color:var(--tb-muted-on-surface,var(--tb-text-muted,#6b7069));
	background:var(--tb-surface,#f6f2ee);
	padding:2px 10px;
	border-radius:99px;
	border:1px solid var(--tb-border,#e8e2db);
}
.tb-dir-group__telehealth{
	display:inline-flex;
	align-items:center;
	gap:5px;
	font-size:.75rem;
	font-weight:600;
	color:var(--tb-primary,#5a7a5e);
}
.tb-dir-group__prose{
	font-size:.875rem;
	line-height:1.65;
	color:var(--tb-muted-on-bg,var(--tb-text-muted,#6b7069));
	margin:8px 0 0;
	max-width:640px;
}
.tb-dir-group__pills{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}


/* ---- Specialty mini-cards ------------------------------------- */
.tb-dir-spec-cards{
	list-style:none;
	margin:20px 0 0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
	gap:12px;
}
.tb-dir-spec-card{
	display:flex;
	align-items:stretch;
	background:var(--tb-bg,var(--tb-white));
	border:1px solid var(--tb-border,#e8e2db);
	border-radius:var(--tb-radius-card,12px);
	overflow:hidden;
	transition:box-shadow .18s ease, border-color .18s ease;
}
.tb-dir-spec-card:hover{
	box-shadow:var(--tb-card-hover-shadow,0 4px 16px rgba(0,0,0,.07));
	border-color:var(--tb-primary-light,#8aab8e);
}
.tb-dir-spec-card__body{
	flex:1;
	padding:18px 16px 16px;
}
.tb-dir-spec-card__name{
	font-size:1rem;
	font-weight:700;
	margin:0 0 8px;
	line-height:1.3;
}
.tb-dir-spec-card__name-link{
	color:var(--tb-text,#3d4039);
	text-decoration:none;
}
.tb-dir-spec-card__name-link:hover{
	color:var(--tb-primary,#5a7a5e);
}
.tb-dir-spec-card__desc{
	font-size:.855rem;
	line-height:1.6;
	color:var(--tb-muted-on-card,var(--tb-text-muted,#6b7069));
	margin:0 0 12px;
}
.tb-dir-spec-card__meta{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
}
.tb-dir-spec-card__count{
	font-size:.75rem;
	font-weight:600;
	color:var(--tb-muted-on-surface,var(--tb-text-muted,#6b7069));
	background:var(--tb-surface,#f6f2ee);
	border:1px solid var(--tb-border,#e8e2db);
	padding:2px 9px;
	border-radius:99px;
	text-decoration:none;
}
.tb-dir-spec-card__count--link{
	transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.tb-dir-spec-card__count--link:hover{
	background:var(--tb-primary-light,#d4e5d6);
	border-color:var(--tb-primary,#5a7a5e);
	color:var(--tb-primary,#5a7a5e);
}
.tb-dir-spec-card__telehealth{
	display:inline-flex;
	align-items:center;
	gap:4px;
	font-size:.73rem;
	font-weight:600;
	color:var(--tb-primary,#5a7a5e);
}
.tb-dir-spec-card__arrow{
	display:flex;
	align-items:center;
	justify-content:center;
	width:40px;
	flex-shrink:0;
	color:var(--tb-muted-on-card,var(--tb-text-muted,#6b7069));
	border-left:1px solid var(--tb-border,#e8e2db);
	text-decoration:none;
	transition:background .15s ease, color .15s ease;
}
.tb-dir-spec-card:hover .tb-dir-spec-card__arrow{
	background:var(--tb-primary-light,#d4e5d6);
	color:var(--tb-primary,#5a7a5e);
}
@media(max-width:600px){
	.tb-dir-spec-cards{grid-template-columns:1fr;}
}
/* ---- Insurance card logo -------------------------------------- */
.tb-dir-spec-card--insurance .tb-dir-spec-card__body{gap:6px;}
.tb-dir-spec-card__insurance-logo{height:32px;display:flex;align-items:center;}
.tb-dir-spec-card__insurance-logo img{max-height:32px;width:auto;display:block;}

/* ---- Directory pills ------------------------------------------ */
.tb-dir-pill{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:9px 18px;
	border-radius:99px;
	font-size:.875rem;
	font-weight:600;
	text-decoration:none;
	color:var(--tb-primary,#5a7a5e);
	background:var(--tb-white);
	border:2px solid color-mix(in srgb,var(--tb-primary,#5a7a5e) 25%,transparent);
	transition:background .15s,border-color .15s,color .15s,transform .15s;
}
.tb-dir-pill:hover{
	background:var(--tb-primary,#5a7a5e);
	border-color:var(--tb-primary,#5a7a5e);
	color:var(--tb-white);
	transform:translateY(-1px);
	text-decoration:none;
}
.tb-dir-pill__name{font-weight:600;}
.tb-dir-pill__count{
	font-size:.72rem;
	font-weight:700;
	background:color-mix(in srgb,var(--tb-primary,#5a7a5e) 12%,transparent);
	color:var(--tb-primary,#5a7a5e);
	padding:1px 7px;
	border-radius:99px;
	transition:background .15s,color .15s;
}
.tb-dir-pill:hover .tb-dir-pill__count{
	background:rgba(255,255,255,.2);
	color:var(--tb-white);
}
.tb-dir-pill--modality{
	color:var(--tb-accent-dark,#8a5438);
	border-color:var(--tb-accent-light,#f0ddd3);
}
.tb-dir-pill--modality:hover{background:var(--tb-accent,#b0714e);border-color:var(--tb-accent,#b0714e);color:var(--tb-bg,#faf9f6);}
.tb-dir-pill--modality .tb-dir-pill__count{background:color-mix(in srgb,var(--tb-status-accent-dot) 12%,transparent);color:var(--tb-accent-dark,#8a5438);}
.tb-dir-pill--modality:hover .tb-dir-pill__count{background:rgba(255,255,255,.2);color:var(--tb-white);}

.tb-dir-pill--population{
	color:var(--tb-status-info-text);
	border-color:color-mix(in srgb,var(--tb-status-info-dot) 25%,transparent);
}
.tb-dir-pill--population:hover{background:var(--tb-status-info-text);border-color:var(--tb-status-info-text);color:var(--tb-white);}
.tb-dir-pill--population .tb-dir-pill__count{background:color-mix(in srgb,var(--tb-status-info-dot) 12%,transparent);color:var(--tb-status-info-text);}
.tb-dir-pill--population:hover .tb-dir-pill__count{background:rgba(255,255,255,.2);color:var(--tb-white);}

.tb-dir-pill--language{
	color:var(--tb-status-warning-text);
	border-color:color-mix(in srgb,var(--tb-status-warning-dot) 25%,transparent);
}
.tb-dir-pill--language:hover{background:var(--tb-status-warning-text);border-color:var(--tb-status-warning-text);color:var(--tb-white);}
.tb-dir-pill--language .tb-dir-pill__count{background:color-mix(in srgb,var(--tb-status-warning-dot) 12%,transparent);color:var(--tb-status-warning-text);}
.tb-dir-pill--language:hover .tb-dir-pill__count{background:rgba(255,255,255,.2);color:var(--tb-white);}

/* ---- Not sure block ------------------------------------------- */
.tb-services-notsure__body{
	font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.75;
	color:var(--tb-text,#3d4039);margin:0 0 16px;
	max-width:560px;margin-left:auto;margin-right:auto;
}
.tb-services-notsure__fees-note{
	font-size:.875rem;
	line-height:1.6;
	color:var(--tb-muted-on-surface,var(--tb-text-muted,#6b7069));
	margin:0 0 24px;
}
.tb-services-notsure__fees-link{
	color:var(--tb-primary,#5a7a5e);
	font-weight:600;
	text-decoration:none;
	white-space:nowrap;
}
.tb-services-notsure__fees-link:hover{
	text-decoration:underline;
}
.tb-services-notsure__avail{
	display:inline-flex;
	align-items:center;
	gap:7px;
	font-size:.8rem;
	font-weight:600;
	color:var(--tb-muted-on-surface,var(--tb-text-muted,#6b7069));
	margin:0 0 16px;
}
.tb-services-notsure__avail-dot{
	width:8px;
	height:8px;
	border-radius:50%;
	background:var(--tb-primary,#5a7a5e);
	flex-shrink:0;
	display:inline-block;
}

@media(max-width:640px){
	.tb-dir-filter{position:static;}
	.tb-dir-filter__prompt{width:100%;}
	.tb-dir-pill{font-size:.8rem;padding:7px 14px;}
}
@media(prefers-reduced-motion:reduce){
	.tb-dir-filter__pill,.tb-dir-pill{transition:none;}
}


.tb-dir-view-all{display:inline-flex;align-items:center;justify-content:center;margin:16px 0 0;padding:9px 16px;border:1px solid var(--tb-primary,#5a7a5e);border-radius:99px;background:transparent;color:var(--tb-primary,#5a7a5e);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease;}
.tb-dir-view-all:hover{background:var(--tb-primary,#5a7a5e);color:var(--tb-white);}
.tb-dir-spec-card[hidden],.tb-dir-group[hidden],.tb-dir-section[hidden],.tb-dir-view-all[hidden]{display:none!important;}
@media(max-width:600px){.tb-dir-filter{position:relative;}.tb-dir-search-block{max-width:none;}.tb-dir-search__input{font-size:16px;}.tb-dir-filter__pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;width:100%;}.tb-dir-filter__pill{flex:0 0 auto;}}

/* Accessible labels used by the service search and archive controls. */
.screen-reader-text{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	padding:0!important;
	margin:-1px!important;
	overflow:hidden!important;
	clip:rect(0,0,0,0)!important;
	white-space:nowrap!important;
	border:0!important;
}
.screen-reader-text:focus{
	position:fixed!important;
	top:12px!important;
	left:12px!important;
	z-index:100000!important;
	width:auto!important;
	height:auto!important;
	padding:10px 14px!important;
	margin:0!important;
	overflow:visible!important;
	clip:auto!important;
	white-space:normal!important;
	background:var(--tb-bg,var(--tb-white))!important;
	color:var(--tb-heading,#111)!important;
	box-shadow:0 2px 12px rgba(0,0,0,.2)!important;
}

/* ========================================================================
   RC55 — compact, client-first services directory
   ======================================================================== */
.tb-dir-section__eyebrow{
	margin:0 0 7px;
	font-size:.72rem;
	font-weight:750;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--tb-primary,#5a7a5e);
}
.tb-dir-section__header--split{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:24px;
}
.tb-dir-section__all-link{
	flex:0 0 auto;
	font-size:.82rem;
	font-weight:700;
	color:var(--tb-primary,#5a7a5e);
	text-decoration:none;
}
.tb-dir-section__all-link:hover{text-decoration:underline;}

.tb-dir-compact-list{
	list-style:none;
	margin:18px 0 0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:9px 12px;
}
.tb-dir-compact-item{
	margin:0;
	min-width:0;
	background:var(--tb-card-bg,var(--tb-bg,var(--tb-white)));
	border:1px solid var(--tb-border,#e8e2db);
	border-radius:10px;
	transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.tb-dir-compact-item:hover{
	border-color:color-mix(in srgb,var(--tb-primary,#5a7a5e) 52%,var(--tb-border,#e8e2db));
	box-shadow:0 3px 13px rgba(30,51,38,.06);
	transform:translateY(-1px);
}
.tb-dir-compact-item__link{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto 15px;
	align-items:center;
	gap:10px;
	min-height:50px;
	padding:10px 12px 10px 14px;
	color:var(--tb-text,#3d4039);
	text-decoration:none;
}
.tb-dir-compact-item__name{
	min-width:0;
	font-size:.9rem;
	font-weight:700;
	line-height:1.25;
}
.tb-dir-compact-item__meta{
	font-size:.68rem;
	font-weight:650;
	line-height:1.2;
	color:var(--tb-muted-on-card,var(--tb-text-muted,#6b7069));
	white-space:nowrap;
}
.tb-dir-compact-item__arrow{
	color:var(--tb-primary,#5a7a5e);
	transition:transform .15s ease;
}
.tb-dir-compact-item:hover .tb-dir-compact-item__arrow{transform:translateX(2px);}

.tb-dir-program-grid{
	list-style:none;
	margin:20px 0 0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px;
}
.tb-dir-program-card{
	margin:0;
	min-width:0;
}
.tb-dir-program-card__link{
	display:flex;
	flex-direction:column;
	height:100%;
	min-height:210px;
	padding:18px;
	border:1px solid var(--tb-border,#e8e2db);
	border-radius:var(--tb-radius-card,12px);
	background:var(--tb-card-bg,var(--tb-bg,var(--tb-white)));
	color:var(--tb-text,#3d4039);
	text-decoration:none;
	transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.tb-dir-program-card__link:hover{
	border-color:color-mix(in srgb,var(--tb-primary,#5a7a5e) 52%,var(--tb-border,#e8e2db));
	box-shadow:0 5px 18px rgba(30,51,38,.07);
	transform:translateY(-2px);
}
.tb-dir-program-card__topline{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:14px;
}
.tb-dir-program-card__type{
	font-size:.68rem;
	font-weight:750;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--tb-primary,#5a7a5e);
}
.tb-dir-program-card__status{
	display:inline-flex;
	align-items:center;
	padding:3px 8px;
	border-radius:99px;
	font-size:.65rem;
	font-weight:700;
	background:var(--tb-primary-light,#d4e5d6);
	color:var(--tb-primary,#5a7a5e);
}
.tb-dir-program-card__status--coming_soon{
	background:var(--tb-status-warning-bg);
	color:var(--tb-status-warning-text);
}
.tb-dir-program-card__title{
	margin:0 0 9px;
	font-size:1rem;
	line-height:1.3;
	color:var(--tb-heading,#2a2e2a);
}
.tb-dir-program-card__summary{
	margin:0 0 16px;
	font-size:.82rem;
	line-height:1.55;
	color:var(--tb-muted-on-card,var(--tb-text-muted,#6b7069));
}
.tb-dir-program-card__action{
	margin-top:auto;
	font-size:.78rem;
	font-weight:700;
	color:var(--tb-primary,#5a7a5e);
}

.tb-dir-insurance-grid{
	list-style:none;
	margin:20px 0 0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px;
	max-width:880px;
}
.tb-dir-insurance-card{margin:0;min-width:0;}
.tb-dir-insurance-card__link{
	display:grid;
	grid-template-rows:46px auto auto;
	align-items:center;
	gap:7px;
	height:100%;
	padding:15px;
	border:1px solid var(--tb-border,#e8e2db);
	border-radius:11px;
	background:var(--tb-card-bg,var(--tb-bg,var(--tb-white)));
	color:var(--tb-text,#3d4039);
	text-decoration:none;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.tb-dir-insurance-card__link:hover{
	border-color:var(--tb-primary,#5a7a5e);
	box-shadow:0 4px 15px rgba(30,51,38,.06);
}
.tb-dir-insurance-card__logo{display:flex;align-items:center;height:46px;}
.tb-dir-insurance-card__logo img{display:block;max-width:150px;max-height:42px;width:auto;height:auto;}
.tb-dir-insurance-card__name{font-size:.88rem;font-weight:700;}
.tb-dir-insurance-card__meta{font-size:.69rem;color:var(--tb-muted-on-card,var(--tb-text-muted,#6b7069));}
.tb-dir-insurance-note{margin:15px 0 0;font-size:.8rem;}
.tb-dir-insurance-note a{font-weight:700;color:var(--tb-primary,#5a7a5e);text-decoration:none;}
.tb-dir-insurance-note a:hover{text-decoration:underline;}

.tb-dir-search-results{
	padding:clamp(40px,5vw,62px) 0;
	background:var(--tb-bg,var(--tb-white));
}
.tb-dir-search-results__list{
	list-style:none;
	margin:18px 0 0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
}
.tb-dir-search-result{
	display:grid;
	gap:4px;
	height:100%;
	padding:15px 16px;
	border:1px solid var(--tb-border,#e8e2db);
	border-radius:10px;
	background:var(--tb-card-bg,var(--tb-bg,var(--tb-white)));
	color:var(--tb-text,#3d4039);
	text-decoration:none;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.tb-dir-search-result:hover{
	border-color:var(--tb-primary,#5a7a5e);
	box-shadow:0 4px 15px rgba(30,51,38,.06);
}
.tb-dir-search-result,
.tb-dir-search-result:visited,
.tb-dir-search-result:hover,
.tb-dir-search-result:focus,
.tb-dir-search-results .tb-dir-search-result, .tb-dir-search-results .tb-dir-search-result *{text-decoration:none;}
.tb-dir-search-results .tb-dir-search-result__title{border-bottom:0;}
.tb-dir-search-result__category{
	font-size:.65rem;
	font-weight:750;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--tb-primary,#5a7a5e);
}
.tb-dir-search-result__title{font-size:.94rem;font-weight:750;color:var(--tb-heading,#2a2e2a);}
.tb-dir-search-result__summary{
	font-size:.78rem;
	line-height:1.5;
	color:var(--tb-muted-on-card,var(--tb-text-muted,#6b7069));
}
.tb-dir-search-results__empty{
	max-width:650px;
	padding:24px;
	border:1px solid var(--tb-border,#e8e2db);
	border-radius:12px;
	background:var(--tb-surface,#f6f2ee);
}
.tb-dir-search-results__empty h3{margin:0 0 7px;color:var(--tb-heading,#2a2e2a);}
.tb-dir-search-results__empty p{margin:0;color:var(--tb-muted-on-surface,var(--tb-text-muted,#6b7069));}

.tb-dir-directory-section[hidden],
.tb-dir-search-results[hidden],
.tb-dir-compact-item[hidden],
#tb-dir-browse-nav[hidden]{display:none!important;}

@media(max-width:900px){
	.tb-dir-program-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
	.tb-dir-insurance-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
	.tb-dir-section__header--split{align-items:flex-start;flex-direction:column;gap:12px;}
}
@media(max-width:680px){
	.tb-dir-compact-list,
	.tb-dir-search-results__list,
	.tb-dir-program-grid,
	.tb-dir-insurance-grid{grid-template-columns:1fr;}
	.tb-dir-compact-item__link{grid-template-columns:minmax(0,1fr) 15px;}
	.tb-dir-compact-item__meta{grid-column:1;grid-row:2;white-space:normal;}
	.tb-dir-compact-item__arrow{grid-column:2;grid-row:1/3;}
	.tb-dir-program-card__link{min-height:0;}
}
@media(prefers-reduced-motion:reduce){
	.tb-dir-compact-item,
	.tb-dir-compact-item__arrow,
	.tb-dir-program-card__link,
	.tb-dir-insurance-card__link,
	.tb-dir-search-result{transition:none;}
}

/* ================================================================
   Service detail editorial rhythm — rc62
   One readable content width, consistent typography, and a cleaner
   boxed-site presentation across the complete specialty page.
   ================================================================ */
.tb-specialty-archive{
	--tb-service-content-width:940px;
	--tb-service-copy-size:clamp(1rem,1.15vw,1.075rem);
	--tb-service-section-gap:clamp(28px,3.7vw,42px);
}
.tb-specialty-archive__inner > :is(
	.tb-specialty-archive__intro,
	.tb-answer-ready,
	.tb-specialty-archive__providers,
	.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-specialty-archive__intro{
	margin-bottom:var(--tb-service-section-gap);
	padding:clamp(32px,4vw,46px) clamp(30px,5vw,54px);
}
.tb-specialty-archive__intro-eyebrow{
	display:block;
	margin:0 0 8px;
	font-size:.73rem;
	font-weight:800;
	line-height:1.2;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--tb-primary,#5a7a5e);
}
.tb-specialty-archive__intro-label{
	margin:0 0 20px;
	font-family:var(--tb-font-heading,inherit);
	font-size:clamp(1.45rem,2.5vw,1.9rem);
	font-weight:700;
	line-height:1.18;
	letter-spacing:-.025em;
	text-transform:none;
	color:var(--tb-heading,var(--tb-text,#26332b));
}
.tb-specialty-archive__body,
.tb-specialty-archive__body--lead{
	margin:0 0 1.1em;
	font-size:var(--tb-service-copy-size);
	font-weight:400;
	line-height:1.76;
	color:var(--tb-text,#2c3e35);
}
.tb-specialty-archive__body--lead{font-weight:450;}
.tb-specialty-archive__practice-heading{
	margin:1.45rem 0 .55rem;
	padding-top:1.35rem;
	border-top:1px solid color-mix(in srgb,var(--tb-panel-border,rgba(0,0,0,.08)) 78%,transparent);
	font-family:var(--tb-font-heading,inherit);
	font-size:clamp(1.08rem,1.8vw,1.25rem);
	font-weight:700;
	line-height:1.3;
	color:var(--tb-heading,var(--tb-text,#26332b));
}
.tb-specialty-archive__body--practice{
	margin-bottom:0;
	color:var(--tb-text-muted,#526157);
}
.tb-specialty-archive__providers{
	margin-top:0;
	margin-bottom:0;
}
.tb-specialty-archive__providers--matching{
	padding:0;
	border:0;
	background:transparent;
	box-shadow:none;
}
.tb-specialty-archive__providers--matching .tb-specialty-archive__match{
	width:100%;
	max-width:none;
	padding:clamp(30px,4vw,44px);
	border:1px solid var(--tb-panel-border,rgba(34,55,41,.1));
	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-specialty-archive__providers--matching .tb-specialty-archive__match > *{
	max-width:620px;
	margin-left:auto;
	margin-right:auto;
}
.tb-specialty-archive__providers--matching .tb-specialty-archive__match .tb-btn{
	width:max-content;
}
body.tb-site-canvas--framed .tb-specialty-archive{
	padding-inline:clamp(20px,4.5vw,56px);
}
@media(max-width:600px){
	.tb-specialty-archive__intro{padding:27px 22px;}
	.tb-specialty-archive__intro-label{font-size:1.42rem;}
	.tb-specialty-archive__body,
	.tb-specialty-archive__body--lead{font-size:1rem;line-height:1.7;}
	.tb-specialty-archive__providers--matching .tb-specialty-archive__match{padding:27px 21px;}
}
